From 2030ec81f18f4ec9ea1800f13046acafff6d50f7 Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期四, 26 九月 2024 00:48:59 +0800 Subject: [PATCH] 添加grpc方法:客户信息维护 --- api/v1/collectionProjection.go | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 100 insertions(+), 2 deletions(-) diff --git a/api/v1/collectionProjection.go b/api/v1/collectionProjection.go index 7556283..2caa97b 100644 --- a/api/v1/collectionProjection.go +++ b/api/v1/collectionProjection.go @@ -3,9 +3,11 @@ 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 CollectionProjectionApi struct{} @@ -27,8 +29,14 @@ tmp := new(model.CollectionProjection) tmp.EstimatedCollectionAmount = params.CollectionProjection.EstimatedCollectionAmount - tmp.EstimatedCollectionDate = params.CollectionProjection.EstimatedCollectionTime - tmp.SaleChanceId = params.CollectionProjection.SaleChanceId + + if params.EstimatedCollectionTime == "" { + tmp.EstimatedCollectionDate = nil + } else { + tmp.EstimatedCollectionDate = ¶ms.CollectionProjection.EstimatedCollectionTime + } + + tmp.SaleChanceId = params.SaleChanceId errCode := collectionProjectionService.AddCollectionProjection(tmp) if errCode != ecode.OK { @@ -38,3 +46,93 @@ ctx.Ok() } + +// Delete +// +// @Tags CollectionProjection +// @Summary 鍒犻櫎鏀舵棰勬祴 +// @Produce application/json +// @Param id path int true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/collectionProjection/delete/{id} [delete] +func (cp *CollectionProjectionApi) Delete(c *gin.Context) { + ctx, ok := contextx.NewContext(c, nil) + if !ok { + return + } + + id, err := strconv.Atoi(c.Param("id")) + if err != nil { + ctx.Fail(ecode.InvalidParams) + return + } + + errCode := collectionProjectionService.DeleteCollectionProjection(id) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// Update +// +// @Tags CollectionProjection +// @Summary 鏇存柊鏀舵棰勬祴 +// @Produce application/json +// @Param object body request.UpdateCollectionProjection true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/collectionProjection/update [put] +func (cp *CollectionProjectionApi) Update(c *gin.Context) { + var params request.UpdateCollectionProjection + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + tmp := new(model.CollectionProjection) + tmp.EstimatedCollectionAmount = params.CollectionProjection.EstimatedCollectionAmount + tmp.Id = params.Id + + if params.EstimatedCollectionTime == "" { + tmp.EstimatedCollectionDate = nil + } else { + tmp.EstimatedCollectionDate = ¶ms.CollectionProjection.EstimatedCollectionTime + } + + errCode := collectionProjectionService.UpdateCollectionProjection(tmp) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// List +// +// @Tags CollectionProjection +// @Summary 鑾峰彇鏀舵棰勬祴鍒楄〃 +// @Produce application/json +// @Param object query request.GetCollectionProjectionList true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/collectionProjection/list [post] +func (cp *CollectionProjectionApi) List(c *gin.Context) { + var params request.GetCollectionProjectionList + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + total, errCode, list := collectionProjectionService.GetCollectionProjectionList(params.Page, params.PageSize, params.SearchMap) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.OkWithDetailed(response.CollectionProjectionListResponse{ + List: list, + Count: int(total), + }) +} -- Gitblit v1.8.0