From b0c07ddee23e2d54d03636f08af19f0934857cf4 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 25 八月 2023 10:32:56 +0800
Subject: [PATCH] Merge branch 'hotfix'
---
api/v1/followRecord.go | 458 +++++++++++++++++++++++++++++----------------------------
1 files changed, 234 insertions(+), 224 deletions(-)
diff --git a/api/v1/followRecord.go b/api/v1/followRecord.go
index ca3ef2f..0960dcf 100644
--- a/api/v1/followRecord.go
+++ b/api/v1/followRecord.go
@@ -1,224 +1,234 @@
-package v1
-
-import (
- "aps_crm/model"
- "aps_crm/model/request"
- "aps_crm/model/response"
- "aps_crm/pkg/contextx"
- "aps_crm/pkg/ecode"
- "github.com/gin-gonic/gin"
- "strconv"
- "time"
-)
-
-type FollowRecordApi struct{}
-
-// Add
-//
-// @Tags FollowRecord
-// @Summary 娣诲姞璺熻繘璁板綍
-// @Produce application/json
-// @Param object body request.AddFollowRecord true "鏌ヨ鍙傛暟"
-// @Success 200 {object} contextx.Response{}
-// @Router /api/followRecord/add [post]
-func (fr *FollowRecordApi) Add(c *gin.Context) {
- var params request.AddFollowRecord
- ctx, ok := contextx.NewContext(c, ¶ms)
- if !ok {
- return
- }
-
- errCode, followRecord := checkFollowRecordParams(params.FollowRecord)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- errCode = followRecordService.AddFollowRecord(followRecord)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- ctx.Ok()
-}
-
-// Delete
-//
-// @Tags FollowRecord
-// @Summary 鍒犻櫎璺熻繘璁板綍
-// @Produce application/json
-// @Param id path string true "璺熻繘璁板綍id"
-// @Success 200 {object} contextx.Response{}
-// @Router /api/followRecord/delete/{id} [delete]
-func (fr *FollowRecordApi) Delete(c *gin.Context) {
- ctx, ok := contextx.NewContext(c, nil)
- if !ok {
- return
- }
-
- id, _ := strconv.Atoi(c.Param("id"))
- errCode := followRecordService.DeleteFollowRecord(id)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- ctx.Ok()
-}
-
-// Update
-//
-// @Tags FollowRecord
-// @Summary 鏇存柊璺熻繘璁板綍
-// @Produce application/json
-// @Param object body request.UpdateFollowRecord true "鏌ヨ鍙傛暟"
-// @Success 200 {object} contextx.Response{}
-// @Router /api/followRecord/update [put]
-func (fr *FollowRecordApi) Update(c *gin.Context) {
- var params request.UpdateFollowRecord
- ctx, ok := contextx.NewContext(c, ¶ms)
- if !ok {
- return
- }
-
- errCode, followRecord := checkFollowRecordParams(params.FollowRecord)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- followRecord.Id = params.Id
- errCode = followRecordService.UpdateFollowRecord(followRecord)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- ctx.Ok()
-}
-
-// checkFollowRecordParams
-// 妫�鏌ヨ窡杩涜褰曞弬鏁�
-func checkFollowRecordParams(followRecord request.FollowRecord) (int, *model.FollowRecord) {
- var followRecordModel model.FollowRecord
-
- //if followRecord.ClientId != 0 {
- // // check client exist
- // if service.CheckClientExist(followRecord.ClientId) != ecode.OK {
- // return ecode.ClientNotExist, &followRecordModel
- // }
- //}
- //
- //if followRecord.ContactId != 0 {
- // // check contact exist
- // if service.CheckContactExist(followRecord.ContactId) != ecode.OK {
- // return ecode.ContactNotExist, &followRecordModel
- // }
- //}
- //
- //if followRecord.SalesLeadsId != 0 {
- // // check sales leads exist
- // if service.CheckSalesLeadsExist(followRecord.SalesLeadsId) != ecode.OK {
- // return ecode.SalesLeadsNotExist, &followRecordModel
- // }
- //}
- //
- //// check member id
- //if followRecord.MemberId == 0 {
- // // todo check member exist
- // return ecode.InvalidParams, &followRecordModel
- //}
- //
- //// check number
- //if followRecord.Number == "" {
- // return ecode.InvalidParams, &followRecordModel
- //}
- //
- //// check follow content
- //if followRecord.Content == "" {
- // return ecode.InvalidParams, &followRecordModel
- //}
-
- // check follow time
- t, err := checkTimeFormat(followRecord.FollowTime)
- if err != nil {
- return ecode.InvalidParams, &followRecordModel
- }
-
- followRecordModel.FollowTime = t
-
- t, err = checkTimeFormat(followRecord.NextFollowTime)
- if err != nil {
- return ecode.InvalidParams, &followRecordModel
- }
- followRecordModel.NextFollowTime = t
-
- followRecordModel.ClientId = followRecord.ClientId
- followRecordModel.Content = followRecord.Content
- followRecordModel.MemberId = followRecord.MemberId
- followRecordModel.Number = followRecord.Number
- followRecordModel.ClientStatusId = followRecord.ClientStatusId
- followRecordModel.ContactId = followRecord.ContactId
- followRecordModel.Topic = followRecord.Topic
- followRecordModel.SalesLeadsId = followRecord.SalesLeadsId
- followRecordModel.SaleChanceId = followRecord.SaleChanceId
- followRecordModel.ContactInformationId = followRecord.ContactInformationId
- followRecordModel.Purpose = followRecord.Purpose
- followRecordModel.Content = followRecord.Content
- followRecordModel.Record = followRecord.Record
-
- return ecode.OK, &followRecordModel
-}
-
-// checkTimeFormat
-// 妫�鏌ユ椂闂存牸寮�
-func checkTimeFormat(t string) (time.Time, error) {
- if t == "" {
- t = "1900-01-01T00:00:00+08:00"
- }
-
- location, err := time.LoadLocation("Asia/Shanghai")
- if err != nil {
- return time.Time{}, err
- }
-
- tt, err := time.Parse("2006-01-02T15:04:05.000Z", t)
- if err == nil {
- return tt.In(location), nil
- }
-
- tt, err = time.Parse("2006-01-02T15:04:05-07:00", t)
- if err == nil {
- return tt.In(location), nil
- }
-
- return time.Time{}, err
-}
-
-// List
-//
-// @Tags FollowRecord
-// @Summary 鍥炶璁板綍鍒楄〃
-// @Produce application/json
-// @Param object body request.GetFollowRecordList true "鍙傛暟"
-// @Success 200 {object} contextx.Response{data=response.FollowRecordResponse}
-// @Router /api/followRecord/list [post]
-func (fr *FollowRecordApi) List(c *gin.Context) {
- var params request.GetFollowRecordList
- ctx, ok := contextx.NewContext(c, ¶ms)
- if !ok {
- return
- }
-
- followRecords, total, errCode := followRecordService.GetFollowRecordList(params.Page, params.PageSize, params.Keyword)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- ctx.OkWithDetailed(response.FollowRecordResponse{
- List: followRecords,
- Count: int(total),
- })
-}
\ No newline at end of file
+package v1
+
+import (
+ "aps_crm/model"
+ "aps_crm/model/request"
+ "aps_crm/model/response"
+ "aps_crm/pkg/contextx"
+ "aps_crm/pkg/ecode"
+ "errors"
+ "github.com/gin-gonic/gin"
+ "time"
+)
+
+type FollowRecordApi struct{}
+
+// Add
+//
+// @Tags FollowRecord
+// @Summary 娣诲姞璺熻繘璁板綍
+// @Produce application/json
+// @Param object body request.AddFollowRecord true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/followRecord/add [post]
+func (fr *FollowRecordApi) Add(c *gin.Context) {
+ var params request.AddFollowRecord
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode, followRecord := checkFollowRecordParams(params.FollowRecord)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ errCode = followRecordService.AddFollowRecord(followRecord)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Delete
+//
+// @Tags FollowRecord
+// @Summary 鍒犻櫎璺熻繘璁板綍
+// @Produce application/json
+// @Param object body request.DeleteFollowRecord true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/followRecord/delete [delete]
+func (fr *FollowRecordApi) Delete(c *gin.Context) {
+ var params request.DeleteFollowRecord
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode := followRecordService.DeleteFollowRecord(params.Ids)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Update
+//
+// @Tags FollowRecord
+// @Summary 鏇存柊璺熻繘璁板綍
+// @Produce application/json
+// @Param object body request.UpdateFollowRecord true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/followRecord/update [put]
+func (fr *FollowRecordApi) Update(c *gin.Context) {
+ var params request.UpdateFollowRecord
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode, followRecord := checkFollowRecordParams(params.FollowRecord)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ followRecord.Id = params.Id
+ errCode = followRecordService.UpdateFollowRecord(followRecord)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// checkFollowRecordParams
+// 妫�鏌ヨ窡杩涜褰曞弬鏁�
+func checkFollowRecordParams(followRecord request.FollowRecord) (int, *model.FollowRecord) {
+ var followRecordModel model.FollowRecord
+
+ //if followRecord.ClientId != 0 {
+ // // check client exist
+ // if service.CheckClientExist(followRecord.ClientId) != ecode.OK {
+ // return ecode.ClientNotExist, &followRecordModel
+ // }
+ //}
+ //
+ //if followRecord.ContactId != 0 {
+ // // check contact exist
+ // if service.CheckContactExist(followRecord.ContactId) != ecode.OK {
+ // return ecode.ContactNotExist, &followRecordModel
+ // }
+ //}
+ //
+ //if followRecord.SalesLeadsId != 0 {
+ // // check sales leads exist
+ // if service.CheckSalesLeadsExist(followRecord.SalesLeadsId) != ecode.OK {
+ // return ecode.SalesLeadsNotExist, &followRecordModel
+ // }
+ //}
+ //
+ //// check member id
+ //if followRecord.MemberId == 0 {
+ // // todo check member exist
+ // return ecode.InvalidParams, &followRecordModel
+ //}
+ //
+ //// check number
+ //if followRecord.Number == "" {
+ // return ecode.InvalidParams, &followRecordModel
+ //}
+ //
+ //// check follow content
+ //if followRecord.Content == "" {
+ // return ecode.InvalidParams, &followRecordModel
+ //}
+
+ // check follow time
+ t, err := checkTimeFormat(followRecord.FollowTime)
+ if err != nil {
+ return ecode.InvalidParams, &followRecordModel
+ }
+
+ followRecordModel.FollowTime = t
+
+ t, err = checkTimeFormat(followRecord.NextFollowTime)
+ if err != nil {
+ return ecode.InvalidParams, &followRecordModel
+ }
+ followRecordModel.NextFollowTime = t
+
+ followRecordModel.ClientId = followRecord.ClientId
+ followRecordModel.Content = followRecord.Content
+ followRecordModel.MemberId = followRecord.MemberId
+ followRecordModel.Number = followRecord.Number
+ followRecordModel.ClientStatusId = followRecord.ClientStatusId
+ followRecordModel.ContactId = followRecord.ContactId
+ followRecordModel.Topic = followRecord.Topic
+ followRecordModel.SalesLeadsId = followRecord.SalesLeadsId
+ followRecordModel.SaleChanceId = followRecord.SaleChanceId
+ followRecordModel.ContactInformationId = followRecord.ContactInformationId
+ followRecordModel.Purpose = followRecord.Purpose
+ followRecordModel.Content = followRecord.Content
+ followRecordModel.Record = followRecord.Record
+
+ return ecode.OK, &followRecordModel
+}
+
+// checkTimeFormat
+// 妫�鏌ユ椂闂存牸寮�
+func checkTimeFormat(t string) (*model.CustomTime, error) {
+ if t == "" {
+ return nil, nil
+ }
+
+ location, err := time.LoadLocation("Asia/Shanghai")
+ if err != nil {
+ return nil, err
+ }
+
+ tt, err := time.Parse("2006-01-02", t)
+ if err == nil {
+ ret := tt.In(location)
+ tmp := model.CustomTime(ret)
+ return &tmp, nil
+ }
+
+ tt, err = time.Parse("2006-01-02 15:04:05", t)
+ if err == nil {
+ ret := tt.In(location)
+ tmp := model.CustomTime(ret)
+ return &tmp, nil
+ }
+
+ //tt, err = time.Parse("2006-01-02T15:04:05-07:00", t)
+ //if err == nil {
+ // ret := tt.In(location)
+ // return &ret, nil
+ //}
+
+ return nil, errors.New("invalid time format")
+}
+
+// List
+//
+// @Tags FollowRecord
+// @Summary 鍥炶璁板綍鍒楄〃
+// @Produce application/json
+// @Param object body request.GetFollowRecordList true "鍙傛暟"
+// @Success 200 {object} contextx.Response{data=response.FollowRecordResponse}
+// @Router /api/followRecord/list [post]
+func (fr *FollowRecordApi) List(c *gin.Context) {
+ var params request.GetFollowRecordList
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ followRecords, total, errCode := followRecordService.GetFollowRecordList(params.Page, params.PageSize, params.SearchMap)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.OkWithDetailed(response.FollowRecordResponse{
+ List: followRecords,
+ Count: int(total),
+ })
+}
--
Gitblit v1.8.0