zhangqian
2023-11-01 530fed8ec225453572d57b15c200ab062c335457
api/v1/serviceContract.go
@@ -1,13 +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/utils"
   "github.com/gin-gonic/gin"
   "strconv"
)
type ServiceContractApi struct{}
@@ -26,13 +28,31 @@
   if !ok {
      return
   }
   errCode, serviceContract := checkServiceContractParams(params.ServiceContract)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
   serviceContract := new(model.ServiceContract)
   if err := structx.AssignTo(params, serviceContract); err != nil {
      ctx.Fail(ecode.ParamsErr)
      return
   }
   errCode = serviceContractService.AddServiceContract(&serviceContract)
   count, err := model.NewServiceContractSearch().SetNumber(params.Number).Count()
   if err != nil {
      ctx.FailWithMsg(ecode.UnknownErr, "编码验证失败")
      return
   }
   if count > 0 {
      ctx.FailWithMsg(ecode.UnknownErr, "编码已存在")
      return
   }
   if params.MemberId == 0 {
      userInfo := utils.GetUserInfo(c)
      if userInfo.UserType == constvar.UserTypeSub {
         params.MemberId = userInfo.CrmUserId
      }
   }
   errCode := serviceContractService.AddServiceContract(serviceContract)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
@@ -41,22 +61,21 @@
   ctx.Ok()
}
// Delete
//
//   @Tags      ServiceContract
//   @Summary   删除服务合同
//   @Produce   application/json
//   @Param      id   path      int   true   "查询参数"
//   @Success   200   {object}   contextx.Response{}
//   @Router      /api/serviceContract/delete/{id} [delete]
func (s *ServiceContractApi) Delete(c *gin.Context) {
   ctx, ok := contextx.NewContext(c, nil)
// BatchDelete
// @Tags   ServiceContract
// @Summary   批量删除服务合同
// @Produce   application/json
// @Param   object   body request.CommonIds   true "参数"
// @Success   200   {object}   contextx.Response{}
// @Router      /api/serviceContract/delete [delete]
func (s *ServiceContractApi) BatchDelete(c *gin.Context) {
   var params request.CommonIds
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   id, _ := strconv.Atoi(c.Param("id"))
   errCode := serviceContractService.DeleteServiceContract(id)
   errCode := serviceContractService.BatchDeleteServiceContract(params.Ids)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
@@ -80,15 +99,15 @@
      return
   }
   errCode, serviceContract := checkServiceContractParams(params.ServiceContract)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
   serviceContract := new(model.ServiceContract)
   if err := structx.AssignTo(params, serviceContract); err != nil {
      ctx.Fail(ecode.ParamsErr)
      return
   }
   serviceContract.Id = params.Id
   errCode = serviceContractService.UpdateServiceContract(&serviceContract)
   errCode := serviceContractService.UpdateServiceContract(serviceContract)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
@@ -97,61 +116,10 @@
   ctx.Ok()
}
// check params
func checkServiceContractParams(serviceContract request.ServiceContract) (errCode int, result model.ServiceContract) {
   //if serviceContract.SignTime == "" {
   //   return ecode.InvalidParams, result
   //}
   //
   //if serviceContract.Number == "" {
   //   return ecode.InvalidParams, result
   //}
   //
   //if serviceContract.MemberId <= 0 {
   //   return ecode.InvalidParams, result
   //}
   t, err := checkTimeFormat(serviceContract.SignTime)
   if err != nil {
      return ecode.InvalidParams, result
   }
   result.SignTime = t
   t, err = checkTimeFormat(serviceContract.StartTime)
   if err != nil {
      return ecode.InvalidParams, result
   }
   result.StartTime = t
   t, err = checkTimeFormat(serviceContract.EndTime)
   if err != nil {
      return ecode.InvalidParams, result
   }
   result.EndTime = t
   result.Number = serviceContract.Number
   result.MemberId = serviceContract.MemberId
   result.Remark = serviceContract.Remark
   result.ClientId = serviceContract.ClientId
   result.ContactId = serviceContract.ContactId
   result.SaleChanceId = serviceContract.SaleChanceId
   result.QuotationId = serviceContract.QuotationId
   result.ServiceContractTypeId = serviceContract.TypeId
   result.ServiceContractStatusId = serviceContract.StatusId
   result.ServiceTimes = serviceContract.ServiceTimes
   result.Terms = serviceContract.Terms
   result.Products = serviceContract.Products
   return ecode.OK, result
}
// List
//
// @Tags      ServiceContract
// @Summary   生成计划列表
// @Tags   ServiceContract
// @Summary   服务合同列表
// @Produce   application/json
// @Param      object   body      request.GetServiceContractList   true   "参数"
// @Success   200      {object}   contextx.Response{data=response.ServiceContractsResponse}
@@ -163,7 +131,13 @@
      return
   }
   serviceContracts, total, errCode := serviceContractService.GetServiceContractList(params.Page, params.PageSize, params.QueryClass, params.KeywordType, params.Keyword)
   var memberIds []int
   userInfo := utils.GetUserInfo(c)
   if userInfo.UserType == constvar.UserTypeSub {
      memberIds = userInfo.SubUserIds
   }
   serviceContracts, total, errCode := serviceContractService.GetServiceContractList(params, memberIds)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return