From 530fed8ec225453572d57b15c200ab062c335457 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 01 十一月 2023 19:20:21 +0800 Subject: [PATCH] 公海member_id使用0 --- api/v1/client.go | 160 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 109 insertions(+), 51 deletions(-) diff --git a/api/v1/client.go b/api/v1/client.go index 8df8a21..ff33fad 100644 --- a/api/v1/client.go +++ b/api/v1/client.go @@ -1,13 +1,14 @@ 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" - "strconv" ) type ClientApi struct{} @@ -33,9 +34,17 @@ return } - // check member exist + 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) + errCode = clientService.AddClient(client, params.SalesLeadsId) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -44,45 +53,22 @@ ctx.Ok() } -// List -// -// @Tags Client -// @Summary 鑾峰彇瀹㈡埛鍒楄〃 -// @Produce application/json -// @Success 200 {object} contextx.Response{data=response.ClientResponse} -// @Router /api/client/list [get] -func (cli *ClientApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { - return - } - - errCode, clients := clientService.GetClientList() - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.ClientResponse{List: clients}) -} - func checkClientParams(params request.Client) (int, *model.Client) { client := new(model.Client) - if params.Name == "" { - return ecode.InvalidParams, nil - } + //if params.Name == "" { + // return ecode.InvalidParams, nil + //} client.Name = params.Name - if params.ClientStatusId == 0 { - return ecode.InvalidParams, nil - } - client.ClientStatusId = params.ClientStatusId - - if params.MemberId == 0 { - return ecode.InvalidParams, nil - } - client.MemberId = params.MemberId + //if params.ClientStatusId == 0 { + // return ecode.InvalidParams, nil + //} + //client.ClientStatusId = params.ClientStatusId + // + //if params.MemberId == 0 { + // return ecode.InvalidParams, nil + //} t, err := checkTimeFormat(params.NextVisitTime) if err != nil { @@ -109,6 +95,7 @@ client.ClientOriginId = params.ClientOriginId client.ClientLevelId = params.ClientLevelId client.DetailAddress = params.DetailAddress + client.ClientStatusId = params.ClientStatusId client.Remark = params.Remark client.Number = params.Number client.ServiceMemberId = params.ServiceMemberId @@ -122,17 +109,19 @@ client.Business.IndustryId = params.IndustryId client.Business.EnterpriseNatureId = params.EnterpriseNatureId client.Business.EnterpriseScaleId = params.EnterpriseScaleId + 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 + //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} + errCode, contact := checkContactParams(params.Contact) + if errCode != ecode.OK { + return errCode, nil } + client.Contacts = []model.Contact{contact} + //} return ecode.OK, client } @@ -142,17 +131,17 @@ // @Tags Client // @Summary 鍒犻櫎瀹㈡埛 // @Produce application/json -// @Param id path int true "瀹㈡埛ID" +// @Param object body request.DeleteClient true "鏌ヨ鍙傛暟" // @Success 200 {object} contextx.Response{} -// @Router /api/client/delete/{id} [delete] +// @Router /api/client/delete [delete] func (cli *ClientApi) Delete(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) + var params request.DeleteClient + ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } - id, _ := strconv.Atoi(c.Param("id")) - errCode := clientService.DeleteClient(id) + errCode := clientService.DeleteClient(params.Ids) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -188,7 +177,76 @@ return } - errCode = clientService.UpdateClient(client) + client.Id = params.Id + + errCode = clientService.UpdateClient(client, params.ContactId) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// List +// +// @Tags Client +// @Summary 瀹㈡埛鍒楄〃 +// @Produce application/json +// @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 + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + 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) + return + } + + ctx.OkWithDetailed(response.ClientResponse{ + List: clients, + Count: int(total), + }) +} + +// CheckName +// +// @Tags Client +// @Summary 妫�鏌ュ鎴峰悕绉版槸鍚﹂噸澶� +// @Produce application/json +// @Param object body request.CheckClientName true "鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/client/checkName [post] +func (cli *ClientApi) CheckName(c *gin.Context) { + var params request.CheckClientName + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + errCode := clientService.CheckName(params.Name) if errCode != ecode.OK { ctx.Fail(errCode) return -- Gitblit v1.8.0