新增修改商品状态(上/下架)

This commit is contained in:
2023-12-22 16:22:01 +08:00
parent 2eb9a7bbe2
commit fc9f6588cc
5 changed files with 95 additions and 1 deletions
+40 -1
View File
@@ -97,6 +97,7 @@ func (r *ProductService) AddProduct(userId string, req requests.AddProduct) (boo
// 新增商品表
product := &model.Product{
ProductPlatformId: productPlatform.ProductPlatformId,
ProductStatus: *req.ProductStatus,
ProductName: req.ProductName,
CommonName: req.CommonName,
ProductPrice: req.ProductPrice,
@@ -159,7 +160,7 @@ func (r *ProductService) AddProduct(userId string, req requests.AddProduct) (boo
return true, nil
}
// PutProduct 修改医生
// PutProduct 修改商品
func (r *ProductService) PutProduct(productId int64, req requests.PutProduct) (bool, error) {
// 获取商品数据
productDao := dao.ProductDao{}
@@ -233,3 +234,41 @@ func (r *ProductService) PutProduct(productId int64, req requests.PutProduct) (b
tx.Commit()
return true, nil
}
// PutProductStatus 修改商品状态(上/下架)
func (r *ProductService) PutProductStatus(productId int64, req requests.PutProductStatus) (bool, error) {
// 获取商品数据
productDao := dao.ProductDao{}
product, err := productDao.GetProductById(productId)
if err != nil || product == nil {
return false, errors.New("商品数据错误")
}
if product.ProductStatus == *req.ProductStatus {
return true, nil
}
// 商品数据
productData := make(map[string]interface{}) // 医生数据
productData["product_status"] = req.ProductStatus
// 开始事务
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
}