zhangqian
2023-11-15 6aceac83950d3f17a1137d984df4b1086bfbd016
api/v1/test/product.go
@@ -11,6 +11,7 @@
   "srm/model/common/response"
   "srm/model/test"
   testReq "srm/model/test/request"
   testResp "srm/model/test/response"
   "srm/proto/product"
   "srm/service"
)
@@ -38,7 +39,7 @@
   }
   for _, t := range p.List {
      var num int64
      db := global.GVA_DB.Model(&test.Product{})
      db := global.GVA_DB.Model(&test.SupplierMaterial{})
      err := db.Where("number = ?", t.Number).Where("supplier_id = ?", t.SupplierId).Count(&num).Error
      if err != nil {
         response.FailWithMessage(err.Error(), c)
@@ -63,17 +64,17 @@
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body test.Product true "删除Product"
// @Param data body request.GetById true "删除Product"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
// @Router /p/deleteProduct [delete]
func (pApi *ProductApi) DeleteProduct(c *gin.Context) {
   var p test.Product
   var p request.GetById
   err := c.ShouldBindJSON(&p)
   if err != nil {
      response.FailWithMessage(err.Error(), c)
      return
   }
   if err := pService.DeleteProduct(p); err != nil {
   if err := pService.DeleteProduct(p.ID); err != nil {
      global.GVA_LOG.Error("删除失败!", zap.Error(err))
      response.FailWithMessage("删除失败", c)
   } else {
@@ -111,11 +112,11 @@
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body test.Product true "更新Product"
// @Param data body test.SupplierMaterial true "更新Product"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
// @Router /p/updateProduct [put]
func (pApi *ProductApi) UpdateProduct(c *gin.Context) {
   var p test.Product
   var p test.SupplierMaterial
   err := c.ShouldBindJSON(&p)
   if err != nil {
      response.FailWithMessage(err.Error(), c)
@@ -135,11 +136,11 @@
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data query test.Product true "用id查询Product"
// @Param data query request.GetById true "用id查询Product"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
// @Router /p/findProduct [get]
func (pApi *ProductApi) FindProduct(c *gin.Context) {
   var p test.Product
   var p request.GetById
   err := c.ShouldBindQuery(&p)
   if err != nil {
      response.FailWithMessage(err.Error(), c)
@@ -169,21 +170,40 @@
      response.FailWithMessage(err.Error(), c)
      return
   }
   if list, total, err := pService.GetProductInfoList(pageInfo); err != nil {
   list, total, err := pService.GetProductInfoList(pageInfo)
   if err != nil {
      global.GVA_LOG.Error("获取失败!", zap.Error(err))
      response.FailWithMessage("获取失败", c)
   } else {
      //添加供应商名称
      for i := 0; i < len(list); i++ {
         list[i].SupplierName = list[i].Supplier.Name
      }
      response.OkWithDetailed(response.PageResult{
         List:     list,
         Total:    total,
         Page:     pageInfo.Page,
         PageSize: pageInfo.PageSize,
      }, "获取成功", c)
      return
   }
   productList := make([]testResp.Product, 0, len(list))
   for _, item := range list {
      productList = append(productList, testResp.Product{
         Name:             item.Name,
         Number:           item.Number,
         SupplierId:       item.SupplierId,
         Unit:             item.Unit,
         PurchasePrice:    item.PurchasePrice,
         DeliveryTime:     item.DeliveryTime,
         ShippingDuration: item.ShippingDuration,
         Specifications:   item.Specifications,
         ModelNumber:      item.ModelNumber,
         ProductType:      "",
         MinimumStock:     item.MinimumStock,
         MaximumStock:     item.MaximumStock,
         Remark:           "",
         SupplierName:     item.Supplier.Name,
      })
   }
   response.OkWithDetailed(response.PageResult{
      List:     list,
      Total:    total,
      Page:     pageInfo.Page,
      PageSize: pageInfo.PageSize,
   }, "获取成功", c)
}
var (
@@ -230,16 +250,16 @@
      ProductName:   pageInfo.Name,
   })
   rawProductList := getProductListResponse.List
   productList := make([]test.Product, len(rawProductList))
   productList := make([]testResp.Product, len(rawProductList))
   for k, v := range rawProductList {
      productList[k].Number = v.Number
      productList[k].Name = v.Name
      productList[k].Unit = v.Unit
      productList[k].PurchasePrice = v.SalePrice
      min := int(v.MinInventory)
      min := int64(v.MinInventory)
      productList[k].MinimumStock = min
      max := int(v.MaxInventory)
      max := int64(v.MaxInventory)
      productList[k].MaximumStock = max
      productList[k].Remark = v.Node
      productList[k].ProductType = v.MaterialMode