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 --- constvar/const.go | 7 - api/v1/assign.go | 93 +++++++++++------------ api/v1/client.go | 32 +++---- service/assign.go | 84 ++++++++++---------- model/client.go | 12 +- 5 files changed, 107 insertions(+), 121 deletions(-) diff --git a/api/v1/assign.go b/api/v1/assign.go index c4218df..f7618e5 100644 --- a/api/v1/assign.go +++ b/api/v1/assign.go @@ -1,49 +1,44 @@ -package v1 - -import ( - "aps_crm/model/request" - "aps_crm/pkg/contextx" - "aps_crm/pkg/ecode" - "github.com/gin-gonic/gin" -) - -type AssignApi struct{} - -// Assign -// -// @Tags Assign -// @Summary 鍒嗛厤 -// @Produce application/json -// @Param object body request.Assign true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/assign/assign [post] -func (au *AssignApi) Assign(c *gin.Context) { - var params request.Assign - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - if params.MemberId == 0 { - ctx.Fail(ecode.AssignWrongMemberId) - return - } - - if len(params.Ids) == 0 { - ctx.Fail(ecode.AssignWrongId) - return - } - - if params.Type == "" { - ctx.Fail(ecode.AssignWrongModelType) - return - } - - errCode := assignService.Assign(params.MemberId, params.Ids, params.Type) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.Ok() -} +package v1 + +import ( + "aps_crm/model/request" + "aps_crm/pkg/contextx" + "aps_crm/pkg/ecode" + "github.com/gin-gonic/gin" +) + +type AssignApi struct{} + +// Assign +// +// @Tags Assign +// @Summary 鍒嗛厤 +// @Produce application/json +// @Param object body request.Assign true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/assign/assign [post] +func (au *AssignApi) Assign(c *gin.Context) { + var params request.Assign + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + if len(params.Ids) == 0 { + ctx.Fail(ecode.AssignWrongId) + return + } + + if params.Type == "" { + ctx.Fail(ecode.AssignWrongModelType) + return + } + + errCode := assignService.Assign(params.MemberId, params.Ids, params.Type) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} diff --git a/api/v1/client.go b/api/v1/client.go index c149aea..ff33fad 100644 --- a/api/v1/client.go +++ b/api/v1/client.go @@ -28,13 +28,6 @@ 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) @@ -116,12 +109,7 @@ client.Business.IndustryId = params.IndustryId client.Business.EnterpriseNatureId = params.EnterpriseNatureId client.Business.EnterpriseScaleId = params.EnterpriseScaleId - //閿�鍞礋璐d汉涓虹┖鏃朵负鍏捣瀹㈡埛 - if params.MemberId == 0 { - client.MemberId = 1 - } else { - client.MemberId = params.MemberId - } + client.MemberId = params.MemberId client.CodeStandID = params.CodeStandID //if params.Contact.Name != "" { @@ -215,12 +203,20 @@ return } - userInfo := utils.GetUserInfo(c) - if userInfo.UserType == constvar.UserTypeSub { - if params.SearchMap == nil { - params.SearchMap = make(map[string]interface{}, 0) + var isPublic bool + if params.SearchMap != nil && params.SearchMap["is_public"] != nil { + if v, ok := params.SearchMap["is_public"].(bool); ok { + isPublic = v } - params.SearchMap["member_ids"] = userInfo.SubUserIds + } + 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) diff --git a/constvar/const.go b/constvar/const.go index cd33794..1107c6f 100644 --- a/constvar/const.go +++ b/constvar/const.go @@ -32,13 +32,6 @@ UserTypeSub // 瀛愯处鎴� ) -type NotAdmin int - -const ( - NotAdminAll NotAdmin = iota // 鍏捣 - NotAdminYes // 鎴戠殑瀹㈡埛 -) - type SalesStatus int const ( diff --git a/model/client.go b/model/client.go index cafe6cb..dea1044 100644 --- a/model/client.go +++ b/model/client.go @@ -117,16 +117,16 @@ db = db.Joins("Member").Where("Member.username LIKE ?", "%"+v+"%") } - case int, uint, int64, float64: + case int, uint, int64, float64, bool: if key == "id" || key == "client_type_id" || key == "client_status_id" || key == "member_id" { db = db.Where(key+" = ?", v) } - if key == "not_admin" { - if v == float64(constvar.NotAdminYes) { - db = db.Where("clients.member_id != ?", constvar.UserTypeSuper) - } else { - db = db.Where("clients.member_id = ?", constvar.UserTypeSuper) + if key == "is_public" { + if val, ok := v.(bool); ok { + if val { + db = db.Where("clients.member_id = ?", 0) + } } } case []int: diff --git a/service/assign.go b/service/assign.go index 4f6d526..88e789e 100644 --- a/service/assign.go +++ b/service/assign.go @@ -1,41 +1,43 @@ -package service - -import ( - "aps_crm/model" - "aps_crm/pkg/ecode" -) - -type AssignService struct{} - -type Assign interface { - Assign(id int) error -} - -func (AssignService) Assign(memberId int, ids []int, modelType string) int { - // check member exist - _, err := model.NewUserSearch(nil).SetUserId(memberId).First() - if err != nil { - return ecode.UserNotExist - } - - var errCode int - switch modelType { - case "client": - errCode = ClientService{}.Assign(ids, memberId) - case "salesLead": - errCode = SalesLeadsService{}.Assign(ids, memberId) - case "contact": - errCode = ContactService{}.Assign(ids, memberId) - case "followRecord": - errCode = FollowRecordService{}.Assign(ids, memberId) - - default: - errCode = ecode.AssignWrongModelType - } - - if errCode != ecode.OK { - return errCode - } - - return ecode.OK -} +package service + +import ( + "aps_crm/model" + "aps_crm/pkg/ecode" +) + +type AssignService struct{} + +type Assign interface { + Assign(id int) error +} + +func (AssignService) Assign(memberId int, ids []int, modelType string) int { + // check member exist + if memberId != 0 { + _, err := model.NewUserSearch(nil).SetUserId(memberId).First() + if err != nil { + return ecode.UserNotExist + } + } + + var errCode int + switch modelType { + case "client": + errCode = ClientService{}.Assign(ids, memberId) + case "salesLead": + errCode = SalesLeadsService{}.Assign(ids, memberId) + case "contact": + errCode = ContactService{}.Assign(ids, memberId) + case "followRecord": + errCode = FollowRecordService{}.Assign(ids, memberId) + + default: + errCode = ecode.AssignWrongModelType + } + + if errCode != ecode.OK { + return errCode + } + + return ecode.OK +} -- Gitblit v1.8.0