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 | 179 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 119 insertions(+), 60 deletions(-) diff --git a/api/v1/saleChance.go b/api/v1/saleChance.go index 7e91845..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 @@ -105,65 +122,41 @@ 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 // 妫�鏌ラ攢鍞満浼氬弬鏁� func checkSaleChanceParams(saleChance request.SaleChance) (int, model.SaleChance) { var errCode int var sc model.SaleChance - if saleChance.Name == "" { - errCode = ecode.InvalidParams - return errCode, sc - } - - if saleChance.Number == "" { - errCode = ecode.InvalidParams - return errCode, sc - } - - if saleChance.MemberId == 0 { - errCode = ecode.InvalidParams - return errCode, sc - } - - if saleChance.Currency == 0 { - errCode = ecode.InvalidParams - return errCode, sc - } - - if saleChance.ExpectedTime == "" { - errCode = ecode.InvalidParams - return errCode, sc - } - - if saleChance.ProjectedAmount == 0 { - errCode = ecode.InvalidParams - return errCode, sc - } + //if saleChance.Name == "" { + // errCode = ecode.InvalidParams + // return errCode, sc + //} + // + //if saleChance.Number == "" { + // errCode = ecode.InvalidParams + // return errCode, sc + //} + // + //if saleChance.MemberId == 0 { + // errCode = ecode.InvalidParams + // return errCode, sc + //} + // + //if saleChance.Currency == 0 { + // errCode = ecode.InvalidParams + // return errCode, sc + //} + // + //if saleChance.ExpectedTime == "" { + // errCode = ecode.InvalidParams + // return errCode, sc + //} + // + //if saleChance.ProjectedAmount == 0 { + // errCode = ecode.InvalidParams + // return errCode, sc + //} t, err := checkTimeFormat(saleChance.ExpectedTime) if err != nil { @@ -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 @@ -199,10 +192,76 @@ sc.Disadvantages = saleChance.Disadvantages sc.Opportunities = saleChance.Opportunities sc.Threats = saleChance.Threats + sc.Remark = saleChance.Remark + sc.DetailAddress = saleChance.DetailAddress sc.Address.RegionId = saleChance.Address.RegionId 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