|
|
@@ -62,14 +62,16 @@ class GroupBuyActivityClass extends BaseClass
|
|
|
* 保存团购配置:按时间重叠复用/新建活动批次,商品按关键字段变化新建版本
|
|
|
*
|
|
|
* @param int $mainId
|
|
|
+ * @param int $shopId
|
|
|
* @param array $base
|
|
|
* @param array $goods
|
|
|
* @param int $enabled
|
|
|
* @return bool
|
|
|
*/
|
|
|
- public static function saveGroupBuy($mainId, $base, $goods = [], $enabled = 0)
|
|
|
+ public static function saveGroupBuy($mainId, $shopId, $base, $goods = [], $enabled = 0)
|
|
|
{
|
|
|
$mainId = intval($mainId);
|
|
|
+ $shopId = intval($shopId);
|
|
|
if ($mainId <= 0) {
|
|
|
util::fail('无效门店');
|
|
|
}
|
|
|
@@ -78,7 +80,7 @@ class GroupBuyActivityClass extends BaseClass
|
|
|
}
|
|
|
|
|
|
$validatedGoods = self::validateGroupBuyGoods($mainId, is_array($goods) ? $goods : []);
|
|
|
- $activity = self::resolveOrCreateActivity($mainId, $base);
|
|
|
+ $activity = self::resolveOrCreateActivity($mainId, $shopId, $base);
|
|
|
$activityId = intval($activity['id'] ?? ($activity->id ?? 0));
|
|
|
if ($activityId <= 0) {
|
|
|
util::fail('活动保存失败');
|
|
|
@@ -97,7 +99,7 @@ class GroupBuyActivityClass extends BaseClass
|
|
|
'delStatus' => 0,
|
|
|
]);
|
|
|
|
|
|
- GroupBuyGoodsClass::syncActivityGoods($mainId, $activityId, $validatedGoods);
|
|
|
+ GroupBuyGoodsClass::syncActivityGoods($mainId, $shopId, $activityId, $validatedGoods);
|
|
|
HomePageConfigClass::updateModuleEnabled($mainId, 'groupBuy', $enabled);
|
|
|
|
|
|
// 同步写 Redis,保证旧读路径与预览链路仍可用
|
|
|
@@ -183,12 +185,14 @@ class GroupBuyActivityClass extends BaseClass
|
|
|
* 按起止时间重叠复用历史活动,否则新建批次
|
|
|
*
|
|
|
* @param int $mainId
|
|
|
+ * @param int $shopId
|
|
|
* @param array $base
|
|
|
* @return array|\yii\db\ActiveRecord
|
|
|
*/
|
|
|
- public static function resolveOrCreateActivity($mainId, $base)
|
|
|
+ public static function resolveOrCreateActivity($mainId, $shopId, $base)
|
|
|
{
|
|
|
$mainId = intval($mainId);
|
|
|
+ $shopId = intval($shopId);
|
|
|
$startTime = intval($base['startTime'] ?? 0);
|
|
|
$endTime = intval($base['endTime'] ?? 0);
|
|
|
if ($startTime <= 0 || $endTime <= $startTime) {
|
|
|
@@ -211,6 +215,7 @@ class GroupBuyActivityClass extends BaseClass
|
|
|
|
|
|
return self::add([
|
|
|
'mainId' => $mainId,
|
|
|
+ 'shopId' => $shopId,
|
|
|
'title' => strval($base['title'] ?? ''),
|
|
|
'subtitle' => strval($base['subtitle'] ?? ''),
|
|
|
'showCountdown' => !empty($base['showCountdown']) ? 1 : 0,
|