zhangqian
2023-11-01 530fed8ec225453572d57b15c200ab062c335457
api/v1/salesDetails.go
@@ -1,11 +1,13 @@
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/utils"
   "github.com/gin-gonic/gin"
   "strconv"
)
@@ -18,7 +20,7 @@
//   @Summary   添加销售明细
//   @Produce   application/json
//   @Param      object   body      request.AddSalesDetails   true   "查询参数"
//   @Success   200      {object}   contextx.Response{}
//   @Success   200      {object}   contextx.Response{data=request.AddSalesDetails}
//   @Router      /api/salesDetails/add [post]
func (s *SalesDetailsApi) Add(c *gin.Context) {
   var params request.AddSalesDetails
@@ -33,13 +35,30 @@
      return
   }
   count, err := model.NewSalesDetailsSearch().SetNumber(params.Number).Count()
   if err != nil {
      ctx.FailWithMsg(ecode.UnknownErr, "编码验证失败")
      return
   }
   if count > 0 {
      ctx.FailWithMsg(ecode.UnknownErr, "编码已存在")
      return
   }
   if salesDetails.MemberId == 0 {
      userInfo := utils.GetUserInfo(c)
      if userInfo.UserType == constvar.UserTypeSub {
         salesDetails.MemberId = userInfo.CrmUserId
      }
   }
   errCode = salesDetailsService.AddSalesDetails(&salesDetails)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
   ctx.OkWithDetailed(salesDetails)
}
// Delete
@@ -58,6 +77,29 @@
   id, _ := strconv.Atoi(c.Param("id"))
   errCode := salesDetailsService.DeleteSalesDetails(id)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
}
// BatchDelete
// @Tags   SalesDetails 销售明细
// @Summary   批量删除销售明细
// @Produce   application/json
// @Param   object   body request.CommonIds   true "参数"
// @Success   200   {object}   contextx.Response{}
// @Router      /api/salesDetails/delete [delete]
func (s *SalesDetailsApi) BatchDelete(c *gin.Context) {
   var params request.CommonIds
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   errCode := salesDetailsService.BatchDeleteSalesDetails(params.Ids)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
@@ -97,65 +139,15 @@
   ctx.Ok()
}
// List
//
//   @Tags      SalesDetails
//   @Summary   获取销售明细列表
//   @Produce   application/json
//   @Success   200   {object}   contextx.Response{data=response.SalesDetailsResponse}
//   @Router      /api/salesDetails/list [get]
func (s *SalesDetailsApi) List(c *gin.Context) {
   ctx, ok := contextx.NewContext(c, nil)
   if !ok {
      return
   }
   list, errCode := salesDetailsService.GetSalesDetailsList()
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.OkWithDetailed(response.SalesDetailsResponse{
      List: list,
   })
}
func checkSalesDetailsParams(salesDetails request.SalesDetails) (errCode int, salesDetailsModel model.SalesDetails) {
   //if salesDetails.ClientId == 0 {
   //   return ecode.InvalidParams, salesDetailsModel
   //}
   //
   //if salesDetails.Number == "" {
   //   return ecode.InvalidParams, salesDetailsModel
   //}
   //
   //if salesDetails.MemberId == 0 {
   //   return ecode.InvalidParams, salesDetailsModel
   //}
   //
   //if salesDetails.SignTime == "" {
   //   return ecode.InvalidParams, salesDetailsModel
   //}
   t, err := checkTimeFormat(salesDetails.SignTime)
   if err != nil {
      return ecode.InvalidParams, salesDetailsModel
   }
   t, err = checkTimeFormat(salesDetails.DeliveryDate)
   if err != nil {
      return ecode.InvalidParams, salesDetailsModel
   }
   salesDetailsModel.ClientId = salesDetails.ClientId
   salesDetailsModel.Number = salesDetails.Number
   salesDetailsModel.SaleChanceId = salesDetails.SaleChanceId
   salesDetailsModel.SaleType = salesDetails.SaleType
   salesDetailsModel.SignTime = t
   salesDetailsModel.SignTime = salesDetails.SignTime
   salesDetailsModel.MemberId = salesDetails.MemberId
   salesDetailsModel.DeliveryDate = t
   salesDetailsModel.WechatOrderStatus = salesDetails.WechatOrderStatus
   salesDetailsModel.DeliveryDate = salesDetails.DeliveryDate
   salesDetailsModel.WechatOrderStatusId = salesDetails.WechatOrderStatusId
   salesDetailsModel.Address = salesDetails.Address
   salesDetailsModel.Phone = salesDetails.Phone
   salesDetailsModel.Remark = salesDetails.Remark
@@ -165,6 +157,42 @@
   salesDetailsModel.LogisticCompany = salesDetails.LogisticCompany
   salesDetailsModel.LogisticNumber = salesDetails.LogisticNumber
   salesDetailsModel.LogisticCost = salesDetails.LogisticCost
   salesDetailsModel.CodeStandID = salesDetails.CodeStandID
   salesDetailsModel.DeliverType = salesDetails.DeliverType
   salesDetailsModel.QuotationId = salesDetails.QuotationId
   return ecode.OK, salesDetailsModel
}
// List
//
//   @Tags      SalesDetails
//   @Summary   销售明细单列表
//   @Produce   application/json
//   @Param      object   body      request.GetSalesDetailsList   true   "参数"
//   @Success   200      {object}   contextx.Response{data=response.SalesDetailsResponse}
//   @Router      /api/salesDetails/list [post]
func (con *SalesDetailsApi) List(c *gin.Context) {
   var params request.GetSalesDetailsList
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   var memberIds []int
   userInfo := utils.GetUserInfo(c)
   if userInfo.UserType == constvar.UserTypeSub {
      memberIds = userInfo.SubUserIds
   }
   salesDetailss, total, errCode := salesDetailsService.GetSalesDetailsList(params, memberIds)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.OkWithDetailed(response.SalesDetailsResponse{
      List:  salesDetailss,
      Count: int(total),
   })
}