| | |
| | | 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{} |
| | |
| | | |
| | | 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 { |
| | |
| | | |
| | | 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), |
| | | }) |
| | | } |