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 --- api/v1/salesLeads.go | 112 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 82 insertions(+), 30 deletions(-) diff --git a/api/v1/salesLeads.go b/api/v1/salesLeads.go index 137b398..f12b2a9 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 @@ -99,30 +115,6 @@ ctx.Ok() } -// List -// -// @Tags SalesLeads -// @Summary 鑾峰彇閿�鍞嚎绱㈠垪琛� -// @Produce application/json -// @Success 200 {object} contextx.Response{data=response.SalesLeadsResponse} -// @Router /api/salesLeads/list [get] -func (s *SalesLeadsApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { - return - } - - errCode, salesLeadsList := salesLeadsService.GetSalesLeadsList() - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.SalesLeadsResponse{ - List: salesLeadsList, - }) -} - func checkSalesLeadsParams(params request.SalesLeads) (errCode int, salesLeads model.SalesLeads) { //if params.Name == "" { // return ecode.InvalidParams, salesLeads @@ -150,13 +142,73 @@ 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 } + +// List +// +// @Tags SalesLeads +// @Summary 閿�鍞嚎绱㈠垪琛� +// @Produce application/json +// @Param object body request.GetSalesLeadsList true "鍙傛暟" +// @Success 200 {object} contextx.Response{data=response.SalesLeadsResponse} +// @Router /api/salesLeads/list [post] +func (s *SalesLeadsApi) List(c *gin.Context) { + var params request.GetSalesLeadsList + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + 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 + } + + ctx.OkWithDetailed(response.SalesLeadsResponse{ + List: salesLeadss, + 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 + } + + errCode := salesLeadsService.PushSalesLeads(params.Id, params.Step, params.Reason) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + ctx.Ok() +} -- Gitblit v1.8.0