feat : auto dispense coupon
This commit is contained in:
@@ -16,11 +16,14 @@ use App\Extend\DateUtil;
|
||||
use App\Model\CouponDispenseLog;
|
||||
use App\Model\UserCoupon;
|
||||
use App\Service\Api\BaseService;
|
||||
use App\Service\ServiceTrait\Api\CouponTrait;
|
||||
use Hyperf\DbConnection\Db;
|
||||
use Hyperf\Di\Annotation\Inject;
|
||||
|
||||
class ReceiveService extends BaseService
|
||||
{
|
||||
use CouponTrait;
|
||||
|
||||
/**
|
||||
* @var CouponDispenseLog
|
||||
*/
|
||||
@@ -71,22 +74,10 @@ class ReceiveService extends BaseService
|
||||
if (empty($couponArr)) return;
|
||||
|
||||
foreach ($couponArr as $item) {
|
||||
$validityTime = [];
|
||||
switch ($item['validity_time_type']) {
|
||||
case CouponCode::VALIDITY_TIME_TYPE_CYCLE:
|
||||
$validityValue = json_decode($item['validity_time_value'],true);
|
||||
$validityTime = [
|
||||
'start_time' => date('Y-m-d H:i:s'),
|
||||
'end_time' => date('Y-m-d H:i:s', time() + ($validityValue['day_num'] * DateUtil::DAY))
|
||||
];
|
||||
break;
|
||||
case CouponCode::VALIDITY_TIME_TYPE_FIX:
|
||||
$validityTime = json_decode($item['validity_time_value'],true);
|
||||
break;
|
||||
}
|
||||
$validityTime = $this->getValidityTime((int)$item['validity_time_type'], $item['validity_time_value']);
|
||||
|
||||
//有效期不存在或者到期销毁当前分发逻辑
|
||||
if (($validityTime['end_time'] ?? date('Y-m-d H:i:s')) < date('Y-m-d H:i:s')) {
|
||||
if (empty($validityTime) || ($validityTime['end_time'] ?? date('Y-m-d H:i:s')) < date('Y-m-d H:i:s')) {
|
||||
$this->destroyDispenseData[] = $item['id'];
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user