feat: 修改了商品管理的逻辑,优化了商品更新流程,增加了对商品分类的更新操作。

This commit is contained in:
mkm 2024-06-17 14:28:17 +08:00
parent 65ecfcdcde
commit 26f3117e89

View File

@ -49,8 +49,8 @@ class StoreProductLogic extends BaseLogic
'purchase' => $params['purchase'], 'purchase' => $params['purchase'],
'rose' => $params['rose'], 'rose' => $params['rose'],
'is_return' => $params['is_return'], 'is_return' => $params['is_return'],
'swap' => $params['swap']??0, 'swap' => $params['swap'] ?? 0,
'batch' => $params['batch']??0, 'batch' => $params['batch'] ?? 0,
]; ];
// if ($params['rose'] > 0) { // if ($params['rose'] > 0) {
// $rose_price = bcmul($params['cost'], $params['rose'], 2); // $rose_price = bcmul($params['cost'], $params['rose'], 2);
@ -106,10 +106,9 @@ class StoreProductLogic extends BaseLogic
StoreProductCate::where('id', $item['id'])->update(['delete_time' => time()]); StoreProductCate::where('id', $item['id'])->update(['delete_time' => time()]);
} }
if($item['pid'] == 0 && in_array($item['count'],[0,1])){ if ($item['pid'] == 0 && in_array($item['count'], [0, 1])) {
StoreProductCate::where('id', $item['id'])->update(['delete_time' => time()]); StoreProductCate::where('id', $item['id'])->update(['delete_time' => time()]);
} }
} }
} }
@ -151,38 +150,41 @@ class StoreProductLogic extends BaseLogic
'vip_price' => $params['vip_price'], 'vip_price' => $params['vip_price'],
'cost' => $params['cost'], 'cost' => $params['cost'],
'batch' => $params['batch'], 'batch' => $params['batch'],
'swap' => $params['swap']??0, 'swap' => $params['swap'] ?? 0,
]; ];
StoreProduct::where('id', $params['id'])->update($data); StoreProduct::where('id', $params['id'])->update($data);
$old_cate = StoreBranchProduct::where('product_id', $params['id'])->field('cate_id,store_id') $old_cate = StoreBranchProduct::where('product_id', $params['id'])->field('cate_id,store_id')
->select(); ->select();
StoreBranchProduct::where('product_id', $params['id'])
// 获取分类ID ->update([
foreach ($old_cate as $vv) { 'batch' => $params['batch'], 'price' => $params['price'], 'vip_price' => $params['vip_price'], 'cost' => $params['purchase'], 'store_name' => $params['store_name'], 'image' => $params['image'], 'bar_code' => $params['bar_code']
$related_data = Db::name('store_product_cate')->where('cate_id', $vv['cate_id'])->select(); ]);
//删除之前的分类 // 获取分类ID
foreach ($related_data as $value) { foreach ($old_cate as $vv) {
if ($value['count'] == 1) { $related_data = Db::name('store_product_cate')->where('cate_id', $vv['cate_id'])->select();
self::deleteRelatedData($value['cate_id']); //删除之前的分类
} elseif ($value['count'] > 1) { foreach ($related_data as $value) {
self::decreaseCount($value['cate_id']); if ($value['count'] == 1) {
self::deleteRelatedData($value['cate_id']);
} elseif ($value['count'] > 1) {
self::decreaseCount($value['cate_id']);
}
//新增对应的分类
self::updateGoodsclass($params['cate_id'], $value['store_id']);
} }
//新增对应的分类
self::updateGoodsclass($params['cate_id'], $value['store_id']);
} }
}
//修改 //修改
StoreBranchProduct::where('product_id', $params['id'])->update([ StoreBranchProduct::where('product_id', $params['id'])->update([
'price' => $params['price'], 'vip_price' => $params['vip_price'], 'price' => $params['price'], 'vip_price' => $params['vip_price'],
'cost' => $params['cost'], 'cate_id' => $params['cate_id'] 'cost' => $params['cost'], 'cate_id' => $params['cate_id']
]); ]);
Db::commit(); Db::commit();
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();
self::setError($e->getMessage()); self::setError($e->getMessage());