liujiandao
2023-09-22 dd07a07290bf66fde945dbbebc23ae048205775d
api/v1/purchase/purchase.go
@@ -1,8 +1,8 @@
package purchase
import (
   "fmt"
   "github.com/gin-gonic/gin"
   "github.com/mitchellh/mapstructure"
   "go.uber.org/zap"
   "gorm.io/gorm"
   "srm/global"
@@ -12,6 +12,7 @@
   purchaserequest "srm/model/purchase/request"
   "strconv"
   "strings"
   "time"
   //"srm/model/purchase"
@@ -36,12 +37,14 @@
   var params purchaserequest.AddPurchase
   err := c.ShouldBindJSON(&params)
   if err != nil {
      global.GVA_LOG.Error("Add Purchase failed", zap.Error(err))
      response.FailWithMessage(err.Error(), c)
      return
   }
   var purchaseRecord purchase.Purchase
   if err := mapstructure.Decode(params.Purchase, &purchaseRecord); err != nil {
   if err := utils.AssignTo(params.Purchase, &purchaseRecord); err != nil {
      global.GVA_LOG.Error("Add Purchase failed", zap.Error(err))
      response.FailWithMessage(err.Error(), c)
      return
   }
@@ -50,6 +53,19 @@
   purchaseRecord.Status = purchase.OrderStatusConfirmed
   purchaseRecord.HandledBy = "admin"
   purchaseRecord.Creator = "admin"
   purchaseRecord.Number = fmt.Sprintf("CG%v", time.Now().Unix())
   purchaseRecord.Principal = "admin"
   if !purchaseRecord.WholeDiscountType.IsValid(purchaseRecord.TotalPrice, purchaseRecord.WholeDiscount) {
      response.FailWithMessage("整单折扣数值不正确", c)
      return
   }
   if !purchaseRecord.PriceAdjustmentType.IsValid(purchaseRecord.TotalPrice, purchaseRecord.PriceAdjustment) {
      response.FailWithMessage("价格调整数值不正确", c)
      return
   }
   err = service.NewPurchaseService().CreatePurchase(&purchaseRecord, params.ProductList)
   if err != nil {
@@ -58,7 +74,7 @@
         return
      }
      global.GVA_LOG.Error("创建失败!", zap.Error(err))
      response.FailWithMessage("创建失败", c)
      response.FailWithMessage(err.Error(), c)
      return
   }
   response.OkWithMessage("创建成功", c)
@@ -106,7 +122,7 @@
   }
   var purchaseRecord purchase.Purchase
   if err := mapstructure.Decode(params.Purchase, &purchaseRecord); err != nil {
   if err := utils.AssignTo(params.Purchase, &purchaseRecord); err != nil {
      response.FailWithMessage(err.Error(), c)
      return
   }
@@ -150,7 +166,7 @@
      return
   }
   respProductList := make([]*purchaseRes.PurchaseProducts, len(productList))
   err = mapstructure.Decode(productList, &respProductList)
   err = utils.AssignTo(productList, &respProductList)
   if err != nil {
      global.GVA_LOG.Error("获取失败!", zap.Error(err))
      response.FailWithMessage("获取失败", c)
@@ -160,7 +176,7 @@
      respProductList[k].Amount = item.Amount
      respProductList[k].Price = item.Price
      respProductList[k].Total = item.Total
      err = mapstructure.Decode(item.Product, &respProductList[k])
      err = utils.AssignTo(item.Product, &respProductList[k])
      if err != nil {
         global.GVA_LOG.Error("获取失败!", zap.Error(err))
         response.FailWithMessage("获取失败", c)
@@ -248,7 +264,7 @@
   }
   purchaseTypeList := make([]*purchase.PurchaseType, 0, len(params))
   if err := mapstructure.Decode(params, &purchaseTypeList); err != nil {
   if err := utils.AssignTo(params, &purchaseTypeList); err != nil {
      response.FailWithMessage(err.Error(), c)
      return
   }