From c394edd0b3c3fda6741d09c494cda96606d27501 Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期四, 06 七月 2023 14:34:46 +0800 Subject: [PATCH] add --- api/v1/saleChance.go | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 102 insertions(+), 13 deletions(-) diff --git a/api/v1/saleChance.go b/api/v1/saleChance.go index c3f4d6f..72438f3 100644 --- a/api/v1/saleChance.go +++ b/api/v1/saleChance.go @@ -1,7 +1,10 @@ package v1 import ( + "aps_crm/constvar" + "aps_crm/model" "aps_crm/model/request" + "aps_crm/model/response" "aps_crm/pkg/contextx" "aps_crm/pkg/ecode" "github.com/gin-gonic/gin" @@ -69,8 +72,8 @@ // @Tags SaleChance // @Summary 鏇存柊閿�鍞満浼� // @Produce application/json -// @Param object body request.UpdateSaleChance -// @Success 200 {object} contextx.Response{} +// @Param object body request.UpdateSaleChance true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} // @Router /api/saleChance/update [put] func (s *SaleChanceApi) Update(c *gin.Context) { var params request.UpdateSaleChance @@ -79,14 +82,21 @@ return } - id, _ := strconv.Atoi(c.Param("id")) + // check id + if params.Id == 0 { + ctx.Fail(ecode.InvalidParams) + return + } + errCode, saleChance := checkSaleChanceParams(params.SaleChance) if errCode != ecode.OK { ctx.Fail(errCode) return } - errCode = saleChanceService.UpdateSaleChance(id, &saleChance) + saleChance.Id = params.Id + + errCode = saleChanceService.UpdateSaleChance(&saleChance) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -97,23 +107,102 @@ // List // -// @Tags SaleChance -// @Summary 鑾峰彇閿�鍞満浼氬垪琛� -// @Produce application/json -// @Success 200 {object} contextx.Response{} -// @Router /api/saleChance/list [get] +// @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) { - var params request.ListSaleChance - ctx, ok := contextx.NewContext(c, ¶ms) + ctx, ok := contextx.NewContext(c, nil) if !ok { return } - errCode, list, total := saleChanceService.ListSaleChance(params.Page, params.Limit) + errCode, list := saleChanceService.GetSaleChanceList() if errCode != ecode.OK { ctx.Fail(errCode) return } - ctx.OkWithDetailed() + 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 + } + + t, err := checkTimeFormat(saleChance.ExpectedTime) + if err != nil { + errCode = ecode.InvalidParams + return errCode, sc + } + + sc.ExpectedTime = t + + sc.Name = saleChance.Name + sc.Number = saleChance.Number + sc.ContactId = saleChance.ContactId + sc.ClientId = saleChance.ClientId + sc.SalesSourcesId = saleChance.SalesSourcesId + sc.SaleTypeId = saleChance.SaleTypeId + sc.SaleStageId = saleChance.SaleStageId + sc.MemberId = saleChance.MemberId + sc.RegularCustomersId = saleChance.RegularCustomersId + sc.Competitors = saleChance.Competitors + sc.Possibilities = saleChance.Possibilities + sc.Budget = saleChance.Budget + sc.ProjectedAmount = saleChance.ProjectedAmount + sc.Currency = constvar.CurrencyType(saleChance.Currency) + sc.StatusId = saleChance.StatusId + sc.PainPoints = saleChance.PainPoints + sc.WhetherEstablished = saleChance.WhetherEstablished + sc.CapitalBudget = saleChance.CapitalBudget + sc.KeyMaker = saleChance.KeyMaker + sc.KeyFactors = saleChance.KeyFactors + sc.Process = saleChance.Process + sc.Solutions = saleChance.Solutions + sc.Advantages = saleChance.Advantages + sc.Disadvantages = saleChance.Disadvantages + sc.Opportunities = saleChance.Opportunities + sc.Threats = saleChance.Threats + sc.Address.RegionId = saleChance.Address.RegionId + sc.Address.CityId = saleChance.Address.CityId + sc.Address.CountryId = saleChance.Address.CountryId + sc.Address.ProvinceId = saleChance.Address.ProvinceId + + return ecode.OK, sc } -- Gitblit v1.8.0