Browse Source

活动商品限制

master
weigang 5 years ago
parent
commit
887f7fc845
  1. 4
      app/Constants/v3/ErrorCode.php
  2. 7
      app/Service/v3/Implementations/GoodsActivityService.php
  3. 7
      app/Service/v3/Implementations/OrderOnlineService.php

4
app/Constants/v3/ErrorCode.php

@ -262,7 +262,7 @@ class ErrorCode extends AbstractConstants
/** /**
* 当前特价商品已被购买过 * 当前特价商品已被购买过
* @Message("活动商品您已买过")
* @Message("活动商品您已买过")
*/ */
const GOODS_ACTIVITY_BUY = 1151; const GOODS_ACTIVITY_BUY = 1151;
@ -286,7 +286,7 @@ class ErrorCode extends AbstractConstants
/** /**
* 商品超过限购数量 * 商品超过限购数量
* @Message("活动商品超过限购数量")
* @Message("同类活动商品超过限购数量")
*/ */
const GOODS_ACTIVITY_RESTRICT_LIMIT = 1155; const GOODS_ACTIVITY_RESTRICT_LIMIT = 1155;

7
app/Service/v3/Implementations/GoodsActivityService.php

@ -140,8 +140,13 @@ class GoodsActivityService implements GoodsActivityServiceInterface
public function checkOrderActivityCount($orderGoods, $limitNum=1) public function checkOrderActivityCount($orderGoods, $limitNum=1)
{ {
$goodsIds = [];
foreach ($orderGoods as $key => &$storeGoods) {
$goodsIds = array_merge($goodsIds, array_column(array_values($storeGoods), 'goods_id'));
}
$sourceGoods = GoodsActivity::query() $sourceGoods = GoodsActivity::query()
->whereIn('id', array_values(array_column($orderGoods, 'goods_id')))
->whereIn('id', $goodsIds)
->get()->toArray(); ->get()->toArray();
$limitNums = [ $limitNums = [

7
app/Service/v3/Implementations/OrderOnlineService.php

@ -339,9 +339,10 @@ class OrderOnlineService implements OrderOnlineServiceInterface
// 订单成功,做一些处理 // 订单成功,做一些处理
// 活动商品购买记录 // 活动商品购买记录
foreach ($dataOrderGoods as $key => &$goods) { foreach ($dataOrderGoods as $key => &$goods) {
foreach ($goods as $k => &$goodsItem)
if ($goodsItem['activity_type'] == 2) {
$this->goodsActivityService->cacheRecord($goodsItem['goods_id'], $goodsItem['number'], $userId);
foreach ($goods as $k => &$goodsItem) {
if ($goodsItem['activity_type'] == 2) {
$this->goodsActivityService->cacheRecord($goodsItem['goods_id'], $goodsItem['number'], $userId);
}
} }
} }

Loading…
Cancel
Save