Commit af8c0c3b authored by luhongguang's avatar luhongguang

update:活动关联自提点

parent 8c11f33f
...@@ -14,4 +14,20 @@ class MarketingTakePlace extends MysqlBase ...@@ -14,4 +14,20 @@ class MarketingTakePlace extends MysqlBase
const TABLE_NAME = 'marketing_take_place'; const TABLE_NAME = 'marketing_take_place';
const CONFIG_INDEX = 'marketing'; const CONFIG_INDEX = 'marketing';
const PRIMARY_KEY = 'marketing_take_place_id'; const PRIMARY_KEY = 'marketing_take_place_id';
public static function save($data, $where = [])
{
if (empty($where)) {
return self::insert($data);
}
return self::update($data, $where);
}
public static function getRecords($where, $columns = [])
{
if (empty($columns)) {
$columns = '*';
}
return self::select($columns, $where);
}
} }
...@@ -12,6 +12,7 @@ use Api\PhpServices\Idgen\Idgen; ...@@ -12,6 +12,7 @@ use Api\PhpServices\Idgen\Idgen;
use App\Exception\custom\MarketingException; use App\Exception\custom\MarketingException;
use Api\PhpServices\Sensitive\Sensitive; use Api\PhpServices\Sensitive\Sensitive;
use App\Models\marketing\mysql\MarketingPindan; use App\Models\marketing\mysql\MarketingPindan;
use App\Models\marketing\mysql\MarketingTakePlace;
use App\Services\common\CommonService; use App\Services\common\CommonService;
use App\Services\goods\GoodsService; use App\Services\goods\GoodsService;
use Daemon\Goods; use Daemon\Goods;
...@@ -485,6 +486,7 @@ class MarketingService ...@@ -485,6 +486,7 @@ class MarketingService
$endTime = !empty($params['end_time']) ? $params['end_time'] : ''; $endTime = !empty($params['end_time']) ? $params['end_time'] : '';
$type = Marketing::MARKETING_TYPE_PINDAN; $type = Marketing::MARKETING_TYPE_PINDAN;
$goodsSkuId = !empty($params['goods_sku_id']) ? explode(",", $params['goods_sku_id']) : []; $goodsSkuId = !empty($params['goods_sku_id']) ? explode(",", $params['goods_sku_id']) : [];
$takePlaceIds = !empty($params['take_place_ids']) ? explode(",", $params['take_place_ids']) : [];
$publicLifeAccountId = self::getPublicLifeAccountId(); $publicLifeAccountId = self::getPublicLifeAccountId();
if (empty($marketingName)) { if (empty($marketingName)) {
...@@ -564,6 +566,16 @@ class MarketingService ...@@ -564,6 +566,16 @@ class MarketingService
} }
MarketingGoods::save($marketingGoods); MarketingGoods::save($marketingGoods);
//自提点
if (!empty($takePlaceIds)) {
$marketingTakePlaces = [];
foreach ($takePlaceIds as $key => $takePlaceId) {
$marketingTakePlaces[$key]["take_place_id"] = $takePlaceId;
$marketingTakePlaces[$key]["marketing_id"] = $marketingId;
}
MarketingTakePlace::save($marketingTakePlaces);
}
if (!Marketing::commit()) { if (!Marketing::commit()) {
Marketing::rollback(); Marketing::rollback();
throw new MarketingException(["cus" => 5]); throw new MarketingException(["cus" => 5]);
...@@ -618,6 +630,7 @@ class MarketingService ...@@ -618,6 +630,7 @@ class MarketingService
$endTime = !empty($params['end_time']) ? $params['end_time'] : ''; $endTime = !empty($params['end_time']) ? $params['end_time'] : '';
$type = Marketing::MARKETING_TYPE_PINDAN; $type = Marketing::MARKETING_TYPE_PINDAN;
$goodsSkuId = !empty($params['goods_sku_id']) ? explode(",", $params['goods_sku_id']) : []; $goodsSkuId = !empty($params['goods_sku_id']) ? explode(",", $params['goods_sku_id']) : [];
$takePlaceIds = !empty($params['take_place_ids']) ? explode(",", $params['take_place_ids']) : [];
if (empty($goodsSkuId)) { if (empty($goodsSkuId)) {
throw new MarketingException(['cus' => 12]); throw new MarketingException(['cus' => 12]);
} }
...@@ -667,6 +680,7 @@ class MarketingService ...@@ -667,6 +680,7 @@ class MarketingService
]; ];
MarketingPindan::updateRecord($pindanParams, ["marketing_id" => $marketingId]); MarketingPindan::updateRecord($pindanParams, ["marketing_id" => $marketingId]);
//活动商品
$marketingGoods = MarketingGoods::getRecords(["marketing_id" => $marketingId]); $marketingGoods = MarketingGoods::getRecords(["marketing_id" => $marketingId]);
if (!empty($marketingGoods)) { if (!empty($marketingGoods)) {
$ids = array_column($marketingGoods, "id"); $ids = array_column($marketingGoods, "id");
...@@ -683,6 +697,25 @@ class MarketingService ...@@ -683,6 +697,25 @@ class MarketingService
} }
MarketingGoods::save($marketingGoods); MarketingGoods::save($marketingGoods);
//自提点
$marketingTakePlaces = MarketingTakePlace::getRecords(["marketing_id" => $marketingId]);
if (!empty($marketingTakePlaces)) {
$ids = array_column($marketingTakePlaces, "marketing_take_place_id");
$delRes = MarketingTakePlace::delete(["marketing_take_place_id"=>$ids]);
if ($delRes == 0) {
throw new MarketingException(['cus' => 7]);
}
}
if (!empty($takePlaceIds)) {
$marketingTakePlaces = [];
foreach ($takePlaceIds as $key => $takePlaceId) {
$marketingTakePlaces[$key]["take_place_id"] = $takePlaceId;
$marketingTakePlaces[$key]["marketing_id"] = $marketingId;
}
MarketingTakePlace::save($marketingTakePlaces);
}
if (!Marketing::commit()) { if (!Marketing::commit()) {
Marketing::rollback(); Marketing::rollback();
throw new MarketingException(["cus" => 5]); throw new MarketingException(["cus" => 5]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment