新增修改商品
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user