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" ) type OrderManageApi struct{} // Add // // @Tags OrderManage // @Summary 添加工单 // @Produce application/json // @Param object body request.AddOrderManage true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/orderManage/add [post] func (o *OrderManageApi) Add(c *gin.Context) { var params request.AddOrderManage ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } errCode, orderManage := checkOrderManageParams(params.OrderManage) if errCode != ecode.OK { ctx.Fail(errCode) return } errCode = orderManageService.AddOrderManage(&orderManage) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // Delete // // @Tags OrderManage // @Summary 删除工单 // @Produce application/json // @Param object body request.DeleteOrderManage true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/orderManage/delete [delete] func (o *OrderManageApi) Delete(c *gin.Context) { var params request.DeleteOrderManage ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } errCode := orderManageService.DeleteOrderManage(params.Ids) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // Update // // @Tags OrderManage // @Summary 更新工单 // @Produce application/json // @Param object body request.UpdateOrderManage true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/orderManage/update [put] func (o *OrderManageApi) Update(c *gin.Context) { var params request.UpdateOrderManage ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } errCode, orderManage := checkOrderManageParams(params.OrderManage) if errCode != ecode.OK { ctx.Fail(errCode) return } orderManage.Id = params.Id errCode = orderManageService.UpdateOrderManage(&orderManage) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // checkOrderManageParams func checkOrderManageParams(orderManage request.OrderManage) (int, model.OrderManage) { // check orderManage exist //if orderManage.ClientId == 0 { // return ecode.InvalidParams, model.OrderManage{} //} // //if orderManage.Number == "" { // return ecode.InvalidParams, model.OrderManage{} //} // //if orderManage.ProblemDescription == "" { // return ecode.InvalidParams, model.OrderManage{} //} // //if orderManage.OrderType == 0 { // return ecode.InvalidParams, model.OrderManage{} //} return ecode.OK, model.OrderManage{ Name: orderManage.Name, ClientId: orderManage.ClientId, Number: orderManage.Number, OrderType: orderManage.OrderType, ContactId: orderManage.ContactId, ReportSourceId: orderManage.ReportSourceId, SourceSheet: orderManage.SourceSheet, ProblemDescription: orderManage.ProblemDescription, File: orderManage.File, } } // List // // @Tags OrderManage // @Summary 工单管理列表 // @Produce application/json // @Param object body request.GetOrderManageList true "参数" // @Success 200 {object} contextx.Response{data=response.OrderManageResponse} // @Router /api/orderManage/list [post] func (con *OrderManageApi) List(c *gin.Context) { var params request.GetOrderManageList ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } orderManages, total, errCode := orderManageService.GetOrderManageList(params.Page, params.PageSize, params.Keyword) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.OkWithDetailed(response.OrderManageResponse{ List: orderManages, Count: int(total), }) }