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