zhangqian
2023-11-01 530fed8ec225453572d57b15c200ab062c335457
api/v1/serviceOrder.go
@@ -1,12 +1,15 @@
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"
)
@@ -27,7 +30,27 @@
      return
   }
   if params.ServiceManId == 0 {
      userInfo := utils.GetUserInfo(c)
      if userInfo.UserType == constvar.UserTypeSub {
         params.ServiceManId = userInfo.CrmUserId
      }
   }
   serviceOrder := new(model.ServiceOrder)
   if err := structx.AssignTo(params, serviceOrder); err != nil {
      ctx.Fail(ecode.ParamsErr)
      return
   }
   count, err := model.NewServiceOrderSearch().SetNumber(serviceOrder.ServiceNumber).Count()
   if err != nil {
      ctx.FailWithMsg(ecode.UnknownErr, "编码验证失败")
      return
   }
   if count > 0 {
      ctx.FailWithMsg(ecode.UnknownErr, "编码已存在")
      return
   }
   errCode := service.NewServiceOrderService().AddServiceOrder(serviceOrder)
   if errCode != ecode.OK {
@@ -61,6 +84,29 @@
   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, &params)
   if !ok {
      return
   }
   errCode := service.NewServiceOrderService().BatchDeleteServiceOrder(params.Ids)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
}
// Update
// @Tags      服务单管理
// @Summary   更新服务单
@@ -75,7 +121,13 @@
      return
   }
   errCode := service.NewServiceOrderService().UpdateServiceOrder(&params.ServiceOrder)
   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
@@ -88,22 +140,30 @@
// @Tags      服务单管理
// @Summary   获取服务单列表
// @Produce   application/json
// @Param      object   body      request.GetServiceOrderList   true   "参数"
// @Success   200   {object}   response.ListResponse{data=[]model.ServiceOrder}
// @Router      /api/serviceOrder/list [get]
// @Router      /api/serviceOrder/list [post]
func (s *ServiceOrderApi) List(c *gin.Context) {
   ctx, ok := contextx.NewContext(c, nil)
   var params request.GetServiceOrderList
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   serviceOrder, total, errCode := service.NewServiceOrderService().GetServiceOrderList()
   var memberIds []int
   userInfo := utils.GetUserInfo(c)
   if userInfo.UserType == constvar.UserTypeSub {
      memberIds = userInfo.SubUserIds
   }
   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,
      Data:  serviceOrder,
      Count: total,
   })
}