From 90ebefc0ce4306bdc96f34ea9503ca986a59bbe7 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 31 一月 2024 14:12:00 +0800
Subject: [PATCH] 客户列表grpc接口
---
api/v1/salesLeads.go | 72 ++++++++++++++++++++++++++++++++---
1 files changed, 65 insertions(+), 7 deletions(-)
diff --git a/api/v1/salesLeads.go b/api/v1/salesLeads.go
index c0b3215..530a1bf 100644
--- a/api/v1/salesLeads.go
+++ b/api/v1/salesLeads.go
@@ -7,8 +7,8 @@
"aps_crm/model/response"
"aps_crm/pkg/contextx"
"aps_crm/pkg/ecode"
+ "aps_crm/utils"
"github.com/gin-gonic/gin"
- "strconv"
)
type SalesLeadsApi struct{}
@@ -28,9 +28,25 @@
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)
+ return
+ }
+ count, err := model.NewSalesLeadsSearch(nil).SetNumber(params.Number).Count()
+ if err != nil {
+ ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜楠岃瘉澶辫触")
+ return
+ }
+ if count > 0 {
+ ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜宸插瓨鍦�")
return
}
@@ -48,17 +64,17 @@
// @Tags SalesLeads
// @Summary 鍒犻櫎閿�鍞嚎绱�
// @Produce application/json
-// @Param id path int true "鏌ヨ鍙傛暟"
+// @Param object body request.DeleteSalesLeads true "鏌ヨ鍙傛暟"
// @Success 200 {object} contextx.Response{}
-// @Router /api/salesLeads/delete/{id} [delete]
+// @Router /api/salesLeads/delete [delete]
func (s *SalesLeadsApi) Delete(c *gin.Context) {
- ctx, ok := contextx.NewContext(c, nil)
+ var params request.DeleteSalesLeads
+ ctx, ok := contextx.NewContext(c, ¶ms)
if !ok {
return
}
- id, _ := strconv.Atoi(c.Param("id"))
- errCode := salesLeadsService.DeleteSalesLeads(id)
+ errCode := salesLeadsService.DeleteSalesLeads(params.Ids)
if errCode != ecode.OK {
ctx.Fail(errCode)
return
@@ -126,12 +142,14 @@
SalesSourcesId: params.SalesSourcesId,
MemberId: params.MemberId,
Desc: params.Desc,
+ CodeStandID: params.CodeStandID,
Address: model.Address{
ProvinceId: params.ProvinceId,
CityId: params.CityId,
RegionId: params.RegionId,
CountryId: params.CountryId,
},
+ DetailAddress: params.DetailAddress,
}
return ecode.OK, salesLeads
@@ -152,7 +170,15 @@
return
}
- salesLeadss, total, errCode := salesLeadsService.GetSalesLeadsList(params.Page, params.PageSize, params.Keyword)
+ 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
+ }
+
+ salesLeadss, total, errCode := salesLeadsService.GetSalesLeadsList(params.Page, params.PageSize, params.SearchMap)
if errCode != ecode.OK {
ctx.Fail(errCode)
return
@@ -163,3 +189,35 @@
Count: int(total),
})
}
+
+// Push
+//
+// @Tags SalesLeads
+// @Summary 鎺ㄨ繘閿�鍞嚎绱�
+// @Produce application/json
+// @Param object body request.PushSalesLeads true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/salesLeads/push [post]
+func (s *SalesLeadsApi) Push(c *gin.Context) {
+ var params request.PushSalesLeads
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ if params.Step == constvar.SalesStatusFail {
+ errCode := salesLeadsService.DeleteSalesLeads([]int{params.Id})
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+ } else {
+ errCode := salesLeadsService.PushSalesLeads(params.Id, params.Step, params.Reason)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+ }
+
+ ctx.Ok()
+}
--
Gitblit v1.8.0