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/saleChance.go | 119 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 88 insertions(+), 31 deletions(-) diff --git a/api/v1/saleChance.go b/api/v1/saleChance.go index 9b4b26d..addf56e 100644 --- a/api/v1/saleChance.go +++ b/api/v1/saleChance.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 SaleChanceApi struct{} @@ -34,6 +34,23 @@ return } + count, err := model.NewSaleChanceSearch().SetNumber(saleChance.Number).Count() + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜楠岃瘉澶辫触") + return + } + if count > 0 { + ctx.FailWithMsg(ecode.UnknownErr, "閿�鍞満浼氱紪鐮佸凡瀛樺湪") + return + } + + 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) @@ -48,17 +65,17 @@ // @Tags SaleChance // @Summary 鍒犻櫎閿�鍞満浼� // @Produce application/json -// @Param id path int true "鏌ヨ鍙傛暟" +// @Param object body request.DeleteSaleChance true "鏌ヨ鍙傛暟" // @Success 200 {object} contextx.Response{} -// @Router /api/saleChance/delete/{id} [delete] +// @Router /api/saleChance/delete [delete] func (s *SaleChanceApi) Delete(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) + var params request.DeleteSaleChance + ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } - id, _ := strconv.Atoi(c.Param("id")) - errCode := saleChanceService.DeleteSaleChance(id) + errCode := saleChanceService.DeleteSaleChance(params.Ids) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -103,30 +120,6 @@ } ctx.Ok() -} - -// List -// -// @Tags SaleChance -// @Summary 鑾峰彇閿�鍞満浼氬垪琛� -// @Produce application/json -// @Success 200 {object} contextx.Response{data=response.SaleChanceResponse} -// @Router /api/saleChance/list [get] -func (s *SaleChanceApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { - return - } - - errCode, list := saleChanceService.GetSaleChanceList() - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.SaleChanceResponse{ - List: list, - }) } // checkSaleChanceParams @@ -186,7 +179,7 @@ sc.PossibilitiesId = saleChance.Possibilities sc.Budget = saleChance.Budget sc.ProjectedAmount = saleChance.ProjectedAmount - sc.Currency = constvar.CurrencyType(saleChance.Currency) + sc.Currency = saleChance.Currency sc.StatusId = saleChance.StatusId sc.PainPoints = saleChance.PainPoints sc.WhetherEstablished = saleChance.WhetherEstablished @@ -205,6 +198,70 @@ sc.Address.CityId = saleChance.Address.CityId sc.Address.CountryId = saleChance.Address.CountryId sc.Address.ProvinceId = saleChance.Address.ProvinceId + sc.CodeStandID = saleChance.CodeStandID + sc.Products = saleChance.Products return ecode.OK, sc } + +// List +// +// @Tags SaleChance +// @Summary 閿�鍞満浼氬垪琛� +// @Produce application/json +// @Param object body request.GetSaleChanceList true "鍙傛暟" +// +// @Success 200 {object} contextx.Response{data=response.SaleChanceResponse} +// +// @Router /api/saleChance/list [post] +func (con *SaleChanceApi) List(c *gin.Context) { + var params request.GetSaleChanceList + 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 + } + + saleChances, total, errCode := saleChanceService.GetSaleChanceList(params.Page, params.PageSize, params.SearchMap) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.OkWithDetailed(response.SaleChanceResponse{ + List: saleChances, + Count: int(total), + }) +} + +// Push +// +// @Tags SaleChance +// @Summary 鎺ㄨ繘閿�鍞満浼� +// @Produce application/json +// @Param object body request.PushSaleChance true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/saleChance/push [put] +func (s *SaleChanceApi) Push(c *gin.Context) { + var params request.PushSaleChance + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + ctx.Fail(ecode.InvalidParams) + return + } + + errCode := saleChanceService.PushSaleChance(params.Id, params.Step) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} -- Gitblit v1.8.0