调整活动专区商品列表
This commit is contained in:
parent
715f84d2f2
commit
50d76b14b2
@ -5,6 +5,7 @@ namespace app\admin\logic;
|
|||||||
|
|
||||||
use app\common\model\ActivityZone;
|
use app\common\model\ActivityZone;
|
||||||
use app\common\logic\BaseLogic;
|
use app\common\logic\BaseLogic;
|
||||||
|
use app\common\model\ActivityZoneForm;
|
||||||
use support\exception\BusinessException;
|
use support\exception\BusinessException;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
|
||||||
@ -100,4 +101,40 @@ class ActivityZoneLogic extends BaseLogic
|
|||||||
return ActivityZone::findOrEmpty($params['id'])->toArray();
|
return ActivityZone::findOrEmpty($params['id'])->toArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function addProduct($product)
|
||||||
|
{
|
||||||
|
$activityFormId1 = ActivityZoneForm::whereRaw('FIND_IN_SET(:cate_id,cate_ids)', ['cate_id' => $product['two_cate_id']])->column('id');
|
||||||
|
$activityFormId2 = ActivityZoneForm::whereRaw('FIND_IN_SET(:cate_id,cate_ids)', ['cate_id' => $product['cate_id']])->column('id');
|
||||||
|
$activityFormIds = array_unique(array_merge($activityFormId1, $activityFormId2));
|
||||||
|
foreach ($activityFormIds as $activityFormId) {
|
||||||
|
$activityZone = new ActivityZone();
|
||||||
|
$activityZone->form_id = $activityFormId;
|
||||||
|
$activityZone->product_id = $product['id'];
|
||||||
|
$activityZone->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateProduct($productId, $product)
|
||||||
|
{
|
||||||
|
$product['id'] = $productId;
|
||||||
|
$formIds = ActivityZone::where('product_id', $productId)->column('form_id');
|
||||||
|
if (empty($formIds)) {
|
||||||
|
$this->addProduct($product);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$forms = ActivityZoneForm::whereIn('id', $formIds)->select()->toArray();
|
||||||
|
foreach ($forms as $form) {
|
||||||
|
$cateIds = explode(',', $form['cate_ids']);
|
||||||
|
if (!in_array($product['two_cate_id'], $cateIds) && !in_array($product['cate_id'], $cateIds)) {
|
||||||
|
ActivityZone::where('product_id', $productId)->where('form_id', $form['id'])->update(['delete_time' => time()]);
|
||||||
|
}
|
||||||
|
$this->addProduct($product);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteProduct($productId)
|
||||||
|
{
|
||||||
|
ActivityZone::where('product_id', $productId)->update(['delete_time' => time()]);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace app\admin\logic\store_product;
|
namespace app\admin\logic\store_product;
|
||||||
|
|
||||||
|
use app\admin\logic\ActivityZoneLogic;
|
||||||
use app\admin\logic\warehouse_product\WarehouseProductLogic;
|
use app\admin\logic\warehouse_product\WarehouseProductLogic;
|
||||||
use app\common\model\store_product\StoreProduct;
|
use app\common\model\store_product\StoreProduct;
|
||||||
use app\common\logic\BaseLogic;
|
use app\common\logic\BaseLogic;
|
||||||
@ -85,6 +86,8 @@ class StoreProductLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
$data['rose']=$rose;
|
$data['rose']=$rose;
|
||||||
$res = StoreProduct::create($data);
|
$res = StoreProduct::create($data);
|
||||||
|
// 添加商品到活动专区
|
||||||
|
(new ActivityZoneLogic())->addProduct($res);
|
||||||
StoreProductAttrValue::create([
|
StoreProductAttrValue::create([
|
||||||
"bar_code" => $params["bar_code"] ?? '',
|
"bar_code" => $params["bar_code"] ?? '',
|
||||||
"image" => $params["image"] ?? '',
|
"image" => $params["image"] ?? '',
|
||||||
@ -235,6 +238,8 @@ class StoreProductLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
$data['rose']=$rose;
|
$data['rose']=$rose;
|
||||||
StoreProduct::update($data, ['id' => $params['id']]);
|
StoreProduct::update($data, ['id' => $params['id']]);
|
||||||
|
// 修改活动专区商品
|
||||||
|
(new ActivityZoneLogic())->updateProduct($params['id'], $data);
|
||||||
|
|
||||||
// $dealCate = self::dealChangeCate($params['cate_id']);
|
// $dealCate = self::dealChangeCate($params['cate_id']);
|
||||||
//修改
|
//修改
|
||||||
@ -250,7 +255,6 @@ class StoreProductLogic extends BaseLogic
|
|||||||
'cate_id' => $params['cate_id'],
|
'cate_id' => $params['cate_id'],
|
||||||
'top_cate_id' => $top_cate_id,
|
'top_cate_id' => $top_cate_id,
|
||||||
'two_cate_id' => $two_cate_id,
|
'two_cate_id' => $two_cate_id,
|
||||||
'cate_id' => $params['cate_id'],
|
|
||||||
'bar_code' => $params['bar_code'],
|
'bar_code' => $params['bar_code'],
|
||||||
'purchase' => $params['purchase'],
|
'purchase' => $params['purchase'],
|
||||||
'rose' => $rose,
|
'rose' => $rose,
|
||||||
@ -279,6 +283,8 @@ class StoreProductLogic extends BaseLogic
|
|||||||
public static function delete(array $params): bool
|
public static function delete(array $params): bool
|
||||||
{
|
{
|
||||||
$res = StoreProduct::destroy($params['id']);
|
$res = StoreProduct::destroy($params['id']);
|
||||||
|
// 删除活动专区商品
|
||||||
|
(new ActivityZoneLogic())->deleteProduct($params['id']);
|
||||||
StoreBranchProduct::where('product_id', $params['id'])->update(['delete_time' => time()]);
|
StoreBranchProduct::where('product_id', $params['id'])->update(['delete_time' => time()]);
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user