feat: 添加门店商品添加、编辑、删除及详情查询功能

This commit is contained in:
mkm 2024-06-12 10:33:54 +08:00
parent e46aa8d36e
commit a059048407

View File

@ -0,0 +1,117 @@
<?php
namespace app\admin\logic\store_branch_product;
use app\common\model\store_branch_product\StoreBranchProduct;
use app\common\logic\BaseLogic;
use think\facade\Db;
use Webman\RedisQueue\Redis;
/**
* 门店商品逻辑
* Class StoreBranchProductLogic
* @package app\admin\logic\store_branch_product
*/
class StoreBranchProductLogic extends BaseLogic
{
/**
* @notes 添加门店商品
* @param array $params
* @return bool
* @author admin
* @date 2024/06/07 13:56
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
StoreBranchProduct::create([
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑门店商品
* @param array $params
* @return bool
* @author admin
* @date 2024/06/07 13:56
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
$data=[
'store_name'=>$params['store_name'],
'image'=>$params['image'],
'price'=>$params['price'],
'bar_code'=>$params['bar_code'],
'unit'=>$params['unit'],
'status'=>$params['status'],
];
if(isset($params['cate_id'])){
$StoreProduct=StoreBranchProduct::where('id', $params['id'])->find();
if ($StoreProduct['cate_id'] != $params['cate_id']) {
$find=Db::name('store_product_cate')->where(['cate_id'=>$params['cate_id'],'store_id'=>$StoreProduct['store_id']])->find();
if($find['pid']>0){
$two=Db::name('store_product_cate')->where(['cate_id'=>$find['pid'],'store_id'=>$StoreProduct['store_id']])->find();
Db::name('store_product_cate')->where('id',$find['id'])->dec('count',1)->update();
Db::name('store_product_cate')->where('id',$two['id'])->dec('count',1)->update();
if($two['pid']>0){
Db::name('store_product_cate')->where('id',$two['pid'])->dec('count',1)->update();
}
}
Redis::send('store-storage', ['product_arr' => ['id' => $params['id'], 'stock' => 0], 'store_id' =>$StoreProduct['store_id'], 'admin_id' => Request()->adminId]);
}
$data['cate_id']=$params['cate_id'];
}
StoreBranchProduct::where('id', $params['id'])->update($data);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除门店商品
* @param array $params
* @return bool
* @author admin
* @date 2024/06/07 13:56
*/
public static function delete(array $params): bool
{
return StoreBranchProduct::destroy($params['id']);
}
/**
* @notes 获取门店商品详情
* @param $params
* @return array
* @author admin
* @date 2024/06/07 13:56
*/
public static function detail($params): array
{
return StoreBranchProduct::findOrEmpty($params['id'])->toArray();
}
}