package v1 import ( "aps_crm/constvar" "aps_crm/model" "aps_crm/model/request" "aps_crm/model/response" "aps_crm/pkg/contextx" "aps_crm/pkg/ecode" "aps_crm/pkg/structx" "aps_crm/service" "aps_crm/utils" "github.com/gin-gonic/gin" "strconv" ) type ServiceOrderApi struct{} // Add // @Tags 服务单管理 // @Summary 添加服务单 // @Produce application/json // @Param object body request.AddServiceOrder true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/serviceOrder/add [post] func (s *ServiceOrderApi) Add(c *gin.Context) { var params request.AddServiceOrder ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } serviceOrder := new(model.ServiceOrder) if err := structx.AssignTo(params, serviceOrder); err != nil { ctx.Fail(ecode.ParamsErr) return } errCode := service.NewServiceOrderService().AddServiceOrder(serviceOrder) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // Delete // @Tags 服务单管理 // @Summary 删除服务单 // @Produce application/json // @Param id path int true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/serviceOrder/delete/{id} [delete] func (s *ServiceOrderApi) Delete(c *gin.Context) { ctx, ok := contextx.NewContext(c, nil) if !ok { return } id, _ := strconv.Atoi(c.Param("id")) errCode := service.NewServiceOrderService().DeleteServiceOrder(id) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // BatchDelete // @Tags 服务单 // @Summary 批量删除服务单 // @Produce application/json // @Param object body request.CommonIds true "参数" // @Success 200 {object} contextx.Response{} // @Router /api/serviceOrder/delete [delete] func (s *ServiceOrderApi) BatchDelete(c *gin.Context) { var params request.CommonIds ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } errCode := service.NewServiceOrderService().BatchDeleteServiceOrder(params.Ids) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // Update // @Tags 服务单管理 // @Summary 更新服务单 // @Produce application/json // @Param object body request.UpdateServiceOrder true "查询参数" // @Success 200 {object} contextx.Response{} // @Router /api/serviceOrder/update [put] func (s *ServiceOrderApi) Update(c *gin.Context) { var params request.UpdateServiceOrder ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } serviceOrder := new(model.ServiceOrder) if err := structx.AssignTo(params, serviceOrder); err != nil { ctx.Fail(ecode.ParamsErr) return } errCode := service.NewServiceOrderService().UpdateServiceOrder(serviceOrder) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.Ok() } // List // @Tags 服务单管理 // @Summary 获取服务单列表 // @Produce application/json // @Param object body request.GetServiceOrderList true "参数" // @Success 200 {object} response.ListResponse{data=[]model.ServiceOrder} // @Router /api/serviceOrder/list [post] func (s *ServiceOrderApi) List(c *gin.Context) { var params request.GetServiceOrderList ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } var memberIds []int userInfo := utils.GetUserInfo(c) if userInfo.UserType == constvar.UserTypeSub { memberIds = []int{userInfo.CrmUserId} } serviceOrder, total, errCode := service.NewServiceOrderService().GetServiceOrderList(params.Page, params.PageSize, params.QueryClass, params.KeywordType, params.Keyword, params.ServiceContractId, params.SalesDetailsId, memberIds) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.OkWithDetailed(response.ListResponse{ Data: serviceOrder, Count: total, }) }