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 CollectionProjectionApi struct{} // Add // // @Tags CollectionProjection // @Summary 添加收款预测 // @Produce application/json // @Param object body request.AddCollectionProjection true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/collectionProjection/add [post] func (cp *CollectionProjectionApi) Add(c *gin.Context) { var params request.AddCollectionProjection ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } tmp := new(model.CollectionProjection) tmp.EstimatedCollectionAmount = params.CollectionProjection.EstimatedCollectionAmount 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.Fail(errCode) return } 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), }) }