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 PlanApi struct{} // Add // // @Tags Plan // @Summary 添加计划 // @Produce application/json // @Param object body request.AddPlan true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/plan/add [post] func (s *PlanApi) Add(c *gin.Context) { var params request.AddPlan ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } errCode, plan := checkPlanParams(params.Plan) if errCode != ecode.OK { ctx.Fail(errCode) return } errCode = planService.AddPlan(&plan) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // Delete // // @Tags Plan // @Summary 删除计划 // @Produce application/json // @Param id path int true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/plan/delete/{id} [delete] func (s *PlanApi) Delete(c *gin.Context) { ctx, ok := contextx.NewContext(c, nil) if !ok { return } id, _ := strconv.Atoi(c.Param("id")) errCode := planService.DeletePlan(id) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // Update // // @Tags Plan // @Summary 更新计划 // @Produce application/json // @Param object body request.UpdatePlan true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/plan/update [put] func (s *PlanApi) Update(c *gin.Context) { var params request.UpdatePlan ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } errCode, plan := checkPlanParams(params.Plan) if errCode != ecode.OK { ctx.Fail(errCode) return } plan.Id = params.Id errCode = planService.UpdatePlan(&plan) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } func checkPlanParams(plan request.Plan) (errCode int, p model.Plan) { //if plan.Number == "" { // return ecode.InvalidParams, p //} // //if plan.MemberId == 0 { // return ecode.InvalidParams, p //} t, err := checkTimeFormat(plan.StartTime) if err != nil { return ecode.InvalidParams, p } p.StartTime = t t, err = checkTimeFormat(plan.EndTime) if err != nil { return ecode.InvalidParams, p } p.EndTime = t p.ClientId = plan.ClientId p.Number = plan.Number p.MemberId = plan.MemberId p.SubOrderId = plan.SubOrderId p.SalesDetailsId = plan.SalesDetailsId p.Content = plan.Content p.File = plan.File return ecode.OK, p } // List // // @Tags Plan // @Summary 生成计划列表 // @Produce application/json // @Param object body request.GetPlanList true "参数" // @Success 200 {object} contextx.Response{data=response.PlanResponse} // @Router /api/plan/list [post] func (con *PlanApi) List(c *gin.Context) { var params request.GetPlanList ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } plans, total, errCode := planService.GetPlanList(params.Page, params.PageSize, params.Keyword) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.OkWithDetailed(response.PlanResponse{ List: plans, Count: int(total), }) }