From fe6e307de8fd0a829be6bdd007fbaa994454f4f5 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期一, 16 十月 2023 14:10:50 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/crm

---
 api/v1/client.go          |    7 +++
 api/v1/subOrder.go        |    7 +++
 api/v1/masterOrder.go     |    7 +++
 model/saleChance.go       |    7 ++-
 api/v1/contact.go         |    7 +++
 api/v1/contract.go        |    7 +++
 api/v1/serviceOrder.go    |    6 +++
 api/v1/quotation.go       |    7 +++
 api/v1/salesReturn.go     |    7 +++
 api/v1/saleChance.go      |    7 +++
 api/v1/salesRefund.go     |    7 +++
 api/v1/salesLeads.go      |    7 +++
 api/v1/serviceContract.go |    7 +++
 api/v1/salesDetails.go    |    7 +++
 api/v1/followRecord.go    |    7 +++
 api/v1/serviceFollowup.go |    6 +++
 16 files changed, 108 insertions(+), 2 deletions(-)

diff --git a/api/v1/client.go b/api/v1/client.go
index 5154b05..37016eb 100644
--- a/api/v1/client.go
+++ b/api/v1/client.go
@@ -28,6 +28,13 @@
 		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)
diff --git a/api/v1/contact.go b/api/v1/contact.go
index 8b4c016..6c60e46 100644
--- a/api/v1/contact.go
+++ b/api/v1/contact.go
@@ -34,6 +34,13 @@
 		return
 	}
 
+	if params.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			params.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = contactService.AddContact(&contact)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/contract.go b/api/v1/contract.go
index f1702f7..8e05fa5 100644
--- a/api/v1/contract.go
+++ b/api/v1/contract.go
@@ -34,6 +34,13 @@
 		return
 	}
 
+	if contract.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			contract.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = contractService.AddContract(&contract)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/followRecord.go b/api/v1/followRecord.go
index 0fe3939..d64b85a 100644
--- a/api/v1/followRecord.go
+++ b/api/v1/followRecord.go
@@ -36,6 +36,13 @@
 		return
 	}
 
+	if followRecord.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			followRecord.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = followRecordService.AddFollowRecord(followRecord)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/masterOrder.go b/api/v1/masterOrder.go
index 246e9b8..373078f 100644
--- a/api/v1/masterOrder.go
+++ b/api/v1/masterOrder.go
@@ -34,6 +34,13 @@
 		return
 	}
 
+	if masterOrder.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			masterOrder.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = masterOrderService.AddMasterOrder(&masterOrder)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/quotation.go b/api/v1/quotation.go
index a6f8790..7beeb3b 100644
--- a/api/v1/quotation.go
+++ b/api/v1/quotation.go
@@ -34,6 +34,13 @@
 		return
 	}
 
+	if quotation.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			quotation.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = quotationService.AddQuotation(&quotation)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/saleChance.go b/api/v1/saleChance.go
index f5e57f2..791ce98 100644
--- a/api/v1/saleChance.go
+++ b/api/v1/saleChance.go
@@ -45,6 +45,13 @@
 		}
 	}
 
+	if saleChance.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			saleChance.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = saleChanceService.AddSaleChance(&saleChance)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/salesDetails.go b/api/v1/salesDetails.go
index 89831f6..350e9c2 100644
--- a/api/v1/salesDetails.go
+++ b/api/v1/salesDetails.go
@@ -35,6 +35,13 @@
 		return
 	}
 
+	if salesDetails.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			salesDetails.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = salesDetailsService.AddSalesDetails(&salesDetails)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/salesLeads.go b/api/v1/salesLeads.go
index 0812a5a..e35a85d 100644
--- a/api/v1/salesLeads.go
+++ b/api/v1/salesLeads.go
@@ -28,6 +28,13 @@
 		return
 	}
 
+	if params.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			params.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode, salesLeads := checkSalesLeadsParams(params.SalesLeads)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/salesRefund.go b/api/v1/salesRefund.go
index 1d630b3..cbce386 100644
--- a/api/v1/salesRefund.go
+++ b/api/v1/salesRefund.go
@@ -36,6 +36,13 @@
 		return
 	}
 
+	if salesRefund.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			salesRefund.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = salesRefundService.AddSalesRefund(&salesRefund)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/salesReturn.go b/api/v1/salesReturn.go
index f53260f..bf1fdbd 100644
--- a/api/v1/salesReturn.go
+++ b/api/v1/salesReturn.go
@@ -37,6 +37,13 @@
 		return
 	}
 
+	if salesReturn.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			salesReturn.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = salesReturnService.AddSalesReturn(&salesReturn)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/serviceContract.go b/api/v1/serviceContract.go
index dd32f74..d6b13c1 100644
--- a/api/v1/serviceContract.go
+++ b/api/v1/serviceContract.go
@@ -35,6 +35,13 @@
 		return
 	}
 
+	if params.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			params.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode := serviceContractService.AddServiceContract(serviceContract)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/serviceFollowup.go b/api/v1/serviceFollowup.go
index 116acf7..39af767 100644
--- a/api/v1/serviceFollowup.go
+++ b/api/v1/serviceFollowup.go
@@ -28,6 +28,12 @@
 		return
 	}
 
+	if params.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			params.MemberId = userInfo.CrmUserId
+		}
+	}
 	errCode, serviceFollowup := checkServiceFollowupParams(params.ServiceFollowup)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/api/v1/serviceOrder.go b/api/v1/serviceOrder.go
index aef80c2..faef2d6 100644
--- a/api/v1/serviceOrder.go
+++ b/api/v1/serviceOrder.go
@@ -30,6 +30,12 @@
 		return
 	}
 
+	if params.ServiceManId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			params.ServiceManId = userInfo.CrmUserId
+		}
+	}
 	serviceOrder := new(model.ServiceOrder)
 	if err := structx.AssignTo(params, serviceOrder); err != nil {
 		ctx.Fail(ecode.ParamsErr)
diff --git a/api/v1/subOrder.go b/api/v1/subOrder.go
index 17372fc..b4595ee 100644
--- a/api/v1/subOrder.go
+++ b/api/v1/subOrder.go
@@ -34,6 +34,13 @@
 		return
 	}
 
+	if subOrder.MemberId == 0 {
+		userInfo := utils.GetUserInfo(c)
+		if userInfo.UserType == constvar.UserTypeSub {
+			subOrder.MemberId = userInfo.CrmUserId
+		}
+	}
+
 	errCode = subOrderService.AddSubOrder(&subOrder)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
diff --git a/model/saleChance.go b/model/saleChance.go
index a1ca0fd..86fcb5f 100644
--- a/model/saleChance.go
+++ b/model/saleChance.go
@@ -11,6 +11,7 @@
 		Name                  string                 `json:"name" gorm:"column:name;type:varchar(255);comment:鍏徃鍚嶇О"`
 		Number                string                 `json:"number" gorm:"column:number;type:varchar(255);comment:閿�鍞嚎绱㈢紪鍙�"`
 		ContactId             int                    `json:"contact_id" gorm:"column:contact_id;type:int(11);comment:鑱旂郴浜篒D"`
+		Contact               Contact                `json:"contact" gorm:"foreignKey:ContactId;references:Id"`
 		ClientId              int                    `json:"client_id" gorm:"column:client_id;type:int(11);comment:瀹㈡埛ID"`
 		SalesSourcesId        int                    `json:"sales_sources_id" gorm:"column:sales_sources_id;type:int(11);comment:鍟嗘満鏉ユ簮ID"`
 		SaleTypeId            int                    `json:"sale_type_id" gorm:"column:sale_type_id;type:int(11);comment:鍟嗘満绫诲瀷ID"`
@@ -42,7 +43,6 @@
 		Threats               string                 `json:"threats" gorm:"column:threats;type:text;comment:绔炰簤濞佽儊"`
 		DetailAddress         string                 `json:"detail_address" gorm:"column:detail_address;type:text;comment:璇︾粏鍦板潃"`
 		Remark                string                 `json:"remark" gorm:"column:remark;type:text;comment:澶囨敞"`
-		Contact               Contact                `json:"contact" gorm:"foreignKey:ContactId;references:Id"`
 		Client                Client                 `json:"client" gorm:"foreignKey:ClientId;references:Id"`
 		CollectionProjections []CollectionProjection `json:"collection_projections" gorm:"foreignKey:SaleChanceId"`
 		SalesSources          SalesSources           `json:"sales_sources"`
@@ -160,7 +160,10 @@
 		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
 	}
 
-	err := db.Preload("SaleType").Preload("RegularCustomers").Preload("SalesSources").Preload("Member").Preload("SaleStage").Preload("Possibility").Preload("CollectionProjections").Preload("Client").Preload("Province").Preload("City").Order("id desc").Find(&records).Error
+	err := db.Preload("SaleType").Preload("RegularCustomers").Preload("SalesSources").
+		Preload("Member").Preload("SaleStage").Preload("Possibility").
+		Preload("CollectionProjections").Preload("Client").
+		Preload("Province").Preload("City").Preload("Contact").Order("id desc").Find(&records).Error
 	return records, total, err
 }
 

--
Gitblit v1.8.0