From 2030ec81f18f4ec9ea1800f13046acafff6d50f7 Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期四, 26 九月 2024 00:48:59 +0800 Subject: [PATCH] 添加grpc方法:客户信息维护 --- api/v1/client.go | 47 +++++++++++++++++++++++++++++++---------------- 1 files changed, 31 insertions(+), 16 deletions(-) diff --git a/api/v1/client.go b/api/v1/client.go index 839083a..6caa2bf 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" ) @@ -32,25 +34,20 @@ 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 { ctx.Fail(errCode) return - } - if params.CodeRule.Method == 1 { - autoCode := model.GetAutoCode(client.Id, ¶ms.CodeRule) - m := map[string]interface{}{ - "number": autoCode, - } - _ = model.NewClientSearch(nil).SetId(client.Id).UpdateByMap(m) } ctx.Ok() @@ -196,8 +193,10 @@ // @Tags Client // @Summary 瀹㈡埛鍒楄〃 // @Produce application/json -// @Param object body request.GetClientList true "鍙傛暟" -// @Success 200 {object} contextx.Response{data=response.ClientResponse} +// +// @Param object body request.GetClientList true "鍙傛暟" +// @Success 200 {object} contextx.Response{data=response.ClientResponse} +// // @Router /api/client/list [post] func (cli *ClientApi) List(c *gin.Context) { var params request.GetClientList @@ -206,6 +205,22 @@ return } + var isPublic bool + if params.SearchMap != nil && params.SearchMap["is_public"] != nil { + if v, ok := params.SearchMap["is_public"].(bool); ok { + isPublic = v + } + } + if !isPublic { + 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