liujiandao
2024-04-17 216c9e49dafdb7a5bd025f6d6fa899a33befc38c
controllers/product_controller.go
@@ -12,9 +12,11 @@
   "wms/constvar"
   "wms/extend/code"
   "wms/extend/util"
   "wms/middleware"
   "wms/models"
   "wms/pkg/logx"
   "wms/pkg/mysqlx"
   "wms/pkg/structx"
   "wms/request"
)
@@ -746,3 +748,81 @@
   }
   util.ResponseFormat(c, code.Success, "操作成功")
}
// GetUserInfo
//
//   @Tags      产品
//   @Summary   获取登录用户信息
//   @Produce   application/json
//   @Success   200   {object}   util.ResponseList{data=map[string]interface{}}   "成功"
//   @Router      /api-wms/v1/product/getUserInfo [get]
func (slf ProductController) GetUserInfo(c *gin.Context) {
   userInfo := middleware.GetUserInfo(c)
   m := make(map[string]interface{})
   m["userName"] = userInfo.Username
   util.ResponseFormat(c, code.Success, m)
}
// GetUnitInfo
//
//   @Tags      产品
//   @Summary   获取单位信息
//   @Produce   application/json
//   @Success   200   {object}   util.ResponseList{data=[]models.UnitDict}   "成功"
//   @Router      /api-wms/v1/product/getUnitInfo [get]
func (slf ProductController) GetUnitInfo(c *gin.Context) {
   dicts, total, err := models.NewUnitDictSearch().Find()
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "查询出错")
      return
   }
   util.ResponseFormatList(c, code.Success, dicts, int(total))
}
// SaveUnitDict
//
//   @Tags      数据字典
//   @Summary   更新计量单位字典
//   @Produce   application/json
//   @Param      object   body      request.SaveUnitDict   true   "参数"
//   @Success   200      {object}   util.Response         "成功"
//   @Router      /api-wms/v1/product/saveUnitDict [post]
func (slf ProductController) SaveUnitDict(c *gin.Context) {
   var reqParams request.SaveUnitDict
   var params []*models.UnitDict
   if err := c.BindJSON(&reqParams); err != nil {
      util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
      return
   }
   if err := structx.AssignTo(reqParams.Data, &params); err != nil {
      util.ResponseFormat(c, code.RequestParamError, "数据转换错误")
      return
   }
   for i, v := range params {
      if len(v.Name) == 0 {
         util.ResponseFormat(c, code.RequestParamError, "名称为空")
         return
      }
      v.Sort = i + 1
   }
   err := models.WithTransaction(func(tx *gorm.DB) error {
      err := models.NewUnitDictSearch().SetOrm(tx).Delete()
      if err != nil {
         return err
      }
      err = models.NewUnitDictSearch().SetOrm(tx).CreateBatch(params)
      if err != nil {
         return err
      }
      return nil
   })
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "删除失败")
      return
   }
   util.ResponseFormat(c, code.Success, "添加成功")
}