zhangqian
2023-10-17 b45b8ce8051e2ad9c80aafa42d1a5892f6a36bce
api/v1/client.go
@@ -1,11 +1,13 @@
package v1
import (
   "aps_crm/constvar"
   "aps_crm/model"
   "aps_crm/model/request"
   "aps_crm/model/response"
   "aps_crm/pkg/contextx"
   "aps_crm/pkg/ecode"
   "aps_crm/utils"
   "github.com/gin-gonic/gin"
)
@@ -26,16 +28,38 @@
      return
   }
   if params.MemberId == 0 {
      userInfo := utils.GetUserInfo(c)
      if userInfo.UserType == constvar.UserTypeSub {
         params.MemberId = userInfo.CrmUserId
      }
   }
   errCode, client := checkClientParams(params.Client)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   //CreatorId, b := c.Get("claims")
   //if !b {
   //   ctx.Fail(ecode.JWTParseErr)
   //   return
   //}
   //
   //client.CreatorId = CreatorId.(int)
   errCode = clientService.AddClient(client, params.SalesLeadsId)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   if params.CodeRule.Method == 1 {
      autoCode := model.GetAutoCode(client.Id, &params.CodeRule)
      m := map[string]interface{}{
         "number": autoCode,
      }
      _ = model.NewClientSearch(nil).SetId(client.Id).UpdateByMap(m)
   }
   ctx.Ok()
@@ -97,18 +121,24 @@
   client.Business.IndustryId = params.IndustryId
   client.Business.EnterpriseNatureId = params.EnterpriseNatureId
   client.Business.EnterpriseScaleId = params.EnterpriseScaleId
   client.MemberId = params.MemberId
   if params.Contact.Name != "" {
      // assign the client's member id to contact when adding
      params.Contact.MemberId = params.MemberId
      errCode, contact := checkContactParams(params.Contact)
      if errCode != ecode.OK {
         return errCode, nil
      }
      client.Contacts = []model.Contact{contact}
   //销售负责人为空时为公海客户
   if params.MemberId == 0 {
      client.MemberId = 1
   } else {
      client.MemberId = params.MemberId
   }
   client.CodeStandID = params.CodeStandID
   //if params.Contact.Name != "" {
   // assign the client's member id to contact when adding
   params.Contact.MemberId = params.MemberId
   errCode, contact := checkContactParams(params.Contact)
   if errCode != ecode.OK {
      return errCode, nil
   }
   client.Contacts = []model.Contact{contact}
   //}
   return ecode.OK, client
}
@@ -166,7 +196,7 @@
   client.Id = params.Id
   errCode = clientService.UpdateClient(client)
   errCode = clientService.UpdateClient(client, params.ContactId)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
@@ -190,6 +220,14 @@
      return
   }
   userInfo := utils.GetUserInfo(c)
   if userInfo.UserType == constvar.UserTypeSub {
      if params.SearchMap == nil {
         params.SearchMap = make(map[string]interface{}, 0)
      }
      params.SearchMap["member_id"] = userInfo.CrmUserId
   }
   clients, total, errCode := clientService.GetClientList(params.Page, params.PageSize, params.SearchMap)
   if errCode != ecode.OK {
      ctx.Fail(errCode)