From ae6883ce426727efca4facab973d814ae66c69c2 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 11 八月 2023 16:50:08 +0800 Subject: [PATCH] Merge branch 'master' of ssh://192.168.5.5:29418/aps/crm --- api/v1/saleChance.go | 451 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 239 insertions(+), 212 deletions(-) diff --git a/api/v1/saleChance.go b/api/v1/saleChance.go index feb94a0..245d7f8 100644 --- a/api/v1/saleChance.go +++ b/api/v1/saleChance.go @@ -1,212 +1,239 @@ -package v1 - -import ( - "aps_crm/model" - "aps_crm/model/request" - "aps_crm/model/response" - "aps_crm/pkg/contextx" - "aps_crm/pkg/ecode" - "github.com/gin-gonic/gin" - "strconv" -) - -type SaleChanceApi struct{} - -// Add -// -// @Tags SaleChance -// @Summary 娣诲姞閿�鍞満浼� -// @Produce application/json -// @Param object body request.AddSaleChance true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/saleChance/add [post] -func (s *SaleChanceApi) Add(c *gin.Context) { - var params request.AddSaleChance - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - errCode, saleChance := checkSaleChanceParams(params.SaleChance) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - errCode = saleChanceService.AddSaleChance(&saleChance) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.Ok() -} - -// Delete -// -// @Tags SaleChance -// @Summary 鍒犻櫎閿�鍞満浼� -// @Produce application/json -// @Param id path int true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/saleChance/delete/{id} [delete] -func (s *SaleChanceApi) Delete(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { - return - } - - id, _ := strconv.Atoi(c.Param("id")) - errCode := saleChanceService.DeleteSaleChance(id) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.Ok() -} - -// Update -// -// @Tags SaleChance -// @Summary 鏇存柊閿�鍞満浼� -// @Produce application/json -// @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 - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - // check id - if params.Id == 0 { - ctx.Fail(ecode.InvalidParams) - return - } - - errCode, saleChance := checkSaleChanceParams(params.SaleChance) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - saleChance.Id = params.Id - - errCode = saleChanceService.UpdateSaleChance(&saleChance) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.Ok() -} - -// 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.PossibilitiesId = saleChance.Possibilities - sc.Budget = saleChance.Budget - sc.ProjectedAmount = saleChance.ProjectedAmount - sc.Currency = 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.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 - - 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 - } - - saleChances, total, errCode := saleChanceService.GetSaleChanceList(params.Page, params.PageSize, params.Keyword) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.SaleChanceResponse{ - List: saleChances, - Count: int(total), - }) -} \ No newline at end of file +package v1 + +import ( + "aps_crm/model" + "aps_crm/model/request" + "aps_crm/model/response" + "aps_crm/pkg/contextx" + "aps_crm/pkg/ecode" + "github.com/gin-gonic/gin" + "strconv" +) + +type SaleChanceApi struct{} + +// Add +// +// @Tags SaleChance +// @Summary 娣诲姞閿�鍞満浼� +// @Produce application/json +// @Param object body request.AddSaleChance true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/saleChance/add [post] +func (s *SaleChanceApi) Add(c *gin.Context) { + var params request.AddSaleChance + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + errCode, saleChance := checkSaleChanceParams(params.SaleChance) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + errCode = saleChanceService.AddSaleChance(&saleChance) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// Delete +// +// @Tags SaleChance +// @Summary 鍒犻櫎閿�鍞満浼� +// @Produce application/json +// @Param id path int true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/saleChance/delete/{id} [delete] +func (s *SaleChanceApi) Delete(c *gin.Context) { + ctx, ok := contextx.NewContext(c, nil) + if !ok { + return + } + + id, _ := strconv.Atoi(c.Param("id")) + errCode := saleChanceService.DeleteSaleChance(id) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// Update +// +// @Tags SaleChance +// @Summary 鏇存柊閿�鍞満浼� +// @Produce application/json +// @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 + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + // check id + if params.Id == 0 { + ctx.Fail(ecode.InvalidParams) + return + } + + errCode, saleChance := checkSaleChanceParams(params.SaleChance) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + saleChance.Id = params.Id + + errCode = saleChanceService.UpdateSaleChance(&saleChance) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// 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.PossibilitiesId = saleChance.Possibilities + sc.Budget = saleChance.Budget + sc.ProjectedAmount = saleChance.ProjectedAmount + sc.Currency = 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.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 + + 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 + } + + saleChances, total, errCode := saleChanceService.GetSaleChanceList(params.Page, params.PageSize, params.Keyword) + 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