新增修改商品

This commit is contained in:
2023-12-22 15:59:49 +08:00
parent f7387bfd4d
commit 2eb9a7bbe2
4 changed files with 128 additions and 4 deletions
+75
View File
@@ -158,3 +158,78 @@ func (r *ProductService) AddProduct(userId string, req requests.AddProduct) (boo
tx.Commit()
return true, nil
}
// PutProduct 修改医生
func (r *ProductService) PutProduct(productId int64, req requests.PutProduct) (bool, error) {
// 获取商品数据
productDao := dao.ProductDao{}
product, err := productDao.GetProductById(productId)
if err != nil || product == nil {
return false, errors.New("商品数据错误")
}
productData := make(map[string]interface{}) // 医生数据
// 商品助记码
if product.MnemonicCode != req.MnemonicCode {
productData["mnemonic_code"] = req.MnemonicCode
}
// 单次剂量
if product.SingleUnit != req.SingleUnit {
productData["single_unit"] = req.SingleUnit
}
// 单次用法
if product.SingleUse != req.SingleUse {
productData["single_use"] = req.SingleUse
}
// 基本包装单位
if product.PackagingUnit != req.PackagingUnit {
productData["packaging_unit"] = req.PackagingUnit
}
// 使用频率
if product.FrequencyUse != req.FrequencyUse {
productData["frequency_use"] = req.FrequencyUse
}
// 可用天数
if product.AvailableDays != req.AvailableDays {
productData["available_days"] = req.AvailableDays
}
// 商品备注
if product.ProductRemarks != req.ProductRemarks {
productData["product_remarks"] = req.ProductRemarks
}
// 商品封面
if req.ProductCoverImg != "" {
productCoverImg := utils.RemoveOssDomain(req.ProductCoverImg)
if product.ProductCoverImg != productCoverImg {
productData["product_cover_img"] = productCoverImg
}
}
// 开始事务
tx := global.Db.Begin()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
}
}()
// 修改商品数据
if len(productData) != 0 {
err = productDao.EditProductByUserId(tx, productId, productData)
if err != nil {
tx.Rollback()
return false, errors.New("修改失败")
}
}
tx.Commit()
return true, nil
}