From 13b9eb612f28bed4df5fc0241e27733f539bc2e3 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期一, 31 七月 2023 15:32:59 +0800
Subject: [PATCH] add

---
 service/assign.go     |   13 ++++++++++++-
 service/client.go     |    7 +------
 model/salesLeads.go   |    7 ++++++-
 service/salesLeads.go |   18 ++++++++++++++++++
 4 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/model/salesLeads.go b/model/salesLeads.go
index dfe8e2d..796e15e 100644
--- a/model/salesLeads.go
+++ b/model/salesLeads.go
@@ -157,4 +157,9 @@
 func (slf *SalesLeadsSearch) SetOrder(order string) *SalesLeadsSearch {
 	slf.OrderBy = order
 	return slf
-}
\ No newline at end of file
+}
+
+func (slf *SalesLeadsSearch) UpdateMap(data map[string]interface{}) error {
+	var db = slf.build()
+	return db.Updates(data).Error
+}
diff --git a/service/assign.go b/service/assign.go
index 28d7a05..e05f20a 100644
--- a/service/assign.go
+++ b/service/assign.go
@@ -1,6 +1,9 @@
 package service
 
-import "aps_crm/pkg/ecode"
+import (
+	"aps_crm/model"
+	"aps_crm/pkg/ecode"
+)
 
 type AssignService struct{}
 
@@ -9,10 +12,18 @@
 }
 
 func (AssignService) Assign(memberId, id 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(id, memberId)
+	case "salesLead":
+		errCode = SalesLeadsService{}.Assign(id, memberId)
 	default:
 		errCode = ecode.AssignWrongModelType
 	}
diff --git a/service/client.go b/service/client.go
index 86ab918..79f2c7e 100644
--- a/service/client.go
+++ b/service/client.go
@@ -66,11 +66,6 @@
 }
 
 func (ClientService) Assign(id, memberId int) int {
-	// check member exist
-	_, err := model.NewUserSearch(nil).SetUserId(memberId).First()
-	if err != nil {
-		return ecode.UserNotExist
-	}
 	// check client exist
 	errCode := CheckClientExist(id)
 	if errCode != ecode.OK {
@@ -78,7 +73,7 @@
 	}
 
 	// assign client
-	err = model.NewClientSearch(nil).SetId(id).UpdateByMap(map[string]interface{}{
+	err := model.NewClientSearch(nil).SetId(id).UpdateByMap(map[string]interface{}{
 		"member_id": memberId,
 	})
 	if err != nil {
diff --git a/service/salesLeads.go b/service/salesLeads.go
index 1345a07..f31fd9a 100644
--- a/service/salesLeads.go
+++ b/service/salesLeads.go
@@ -62,3 +62,21 @@
 	}
 	return contacts, total, ecode.OK
 }
+
+func (SalesLeadsService) Assign(id, memberId int) int {
+	// check salesLeads exist
+	errCode := CheckSalesLeadsExist(id)
+	if errCode != ecode.OK {
+		return errCode
+	}
+
+	// update salesLeads
+	err := model.NewSalesLeadsSearch().SetId(id).UpdateMap(map[string]interface{}{
+		"member_id": memberId,
+	})
+	if err != nil {
+		return ecode.SalesLeadsUpdateErr
+	}
+
+	return ecode.OK
+}

--
Gitblit v1.8.0