From 06c89f1e726e84c67abba6893d62abdd025b8791 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 31 十月 2023 20:01:47 +0800 Subject: [PATCH] 支持职级降级的情况 --- api/v1/client.go | 41 +++++++++++++++++++++++++++++++++-------- 1 files changed, 33 insertions(+), 8 deletions(-) diff --git a/api/v1/client.go b/api/v1/client.go index e2c09de..c149aea 100644 --- a/api/v1/client.go +++ b/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,19 +28,28 @@ 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) + count, err := model.NewClientSearch(nil).SetNumber(client.Number).Count() + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜楠岃瘉澶辫触") + return + } + if count > 0 { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜宸插瓨鍦�") + return + } errCode = clientService.AddClient(client, params.SalesLeadsId) if errCode != ecode.OK { @@ -105,7 +116,13 @@ client.Business.IndustryId = params.IndustryId client.Business.EnterpriseNatureId = params.EnterpriseNatureId client.Business.EnterpriseScaleId = params.EnterpriseScaleId - client.MemberId = params.MemberId + //閿�鍞礋璐d汉涓虹┖鏃朵负鍏捣瀹㈡埛 + 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 @@ -198,6 +215,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_ids"] = userInfo.SubUserIds + } + clients, total, errCode := clientService.GetClientList(params.Page, params.PageSize, params.SearchMap) if errCode != ecode.OK { ctx.Fail(errCode) -- Gitblit v1.8.0