修改优惠卷过期数据

This commit is contained in:
2024-04-25 14:11:08 +08:00
parent 35ad7ae43a
commit 5e9f7bed99
6 changed files with 216 additions and 70 deletions
+30 -40
View File
@@ -51,15 +51,15 @@ class CouponService extends BaseService
}
// 判断用户是否已有该优惠卷
$params = array();
$params['user_id'] = $user_id;
$params['coupon_id'] = $coupon['coupon_id'];
$user_coupon = UserCoupon::getOne($params);
if (!empty($user_coupon)){
if ($user_coupon['user_coupon_status'] == 0){
return true;
}
}
// $params = array();
// $params['user_id'] = $user_id;
// $params['coupon_id'] = $coupon['coupon_id'];
// $user_coupon = UserCoupon::getOne($params);
// if (!empty($user_coupon)){
// if ($user_coupon['user_coupon_status'] == 0){
// return true;
// }
// }
// 判断该优惠卷状态
if ($coupon['coupon_status'] != 1){
@@ -132,22 +132,24 @@ class CouponService extends BaseService
}
}
// 添加优惠卷过期队列
// 优惠卷过期时间
$valid_end_time = strtotime($user_coupon['valid_end_time']);
$data = array();
$data['user_coupon_id'] = $user_coupon['user_coupon_id'];
// 当天结束时间
$day_end_time = strtotime(date('Y-m-d 23:59:59',time()));
$time = $valid_end_time - time();
if ($time < 0){
return false;
}
$message = new UserCouponExpiredDelayDirectProducer($data);
$message->setDelayMs(1000 * $time);
$producer = $this->container->get(Producer::class);
$res = $producer->produce($message);
if (!$res) {
return false;
if ($valid_end_time <= $day_end_time){
$data = array();
$data['user_coupon_id'] = $user_coupon['user_coupon_id'];
$time = $valid_end_time - time();
$message = new UserCouponExpiredDelayDirectProducer($data);
$message->setDelayMs(1000 * $time);
$producer = $this->container->get(Producer::class);
$res = $producer->produce($message);
if (!$res) {
return false;
}
}
}catch (\Throwable $e){
Log::getInstance("CouponService-GrantUserCoupon")->error($e->getMessage());
@@ -155,20 +157,6 @@ class CouponService extends BaseService
}
try {
// 添加优惠卷即将过期提醒队列
$time = floor($time * 0.75);
// 时间低于5小时,不进行过期提醒
if ($time > 60 * 60 * 5){
$message = new UserCouponExpiredNoticeDelayDirectProducer($data);
$message->setDelayMs(1000 * $time);
$producer = $this->container->get(Producer::class);
$res = $producer->produce($message);
if (!$res) {
Log::getInstance("CouponService-GrantUserCoupon")->error("添加优惠卷即将过期提醒队列");
}
}
// 通知-患者-优惠卷发放
$MessagePush = new MessagePush($user_id);
$MessagePush->patientDistributeCoupon($coupon['coupon_name']);
@@ -212,14 +200,16 @@ class CouponService extends BaseService
public function GrantBuyOrderServicePackageCoupon(string $user_id): bool
{
// 获取购买服务包的用户可领取的优惠卷列表
$coupon = Coupon::getOrderServicePackageCouponList();
if (empty($coupon)) {
$coupons = Coupon::getOrderServicePackageCouponList();
if (empty($coupons)) {
return true;
}
foreach ($coupon as $value){
// dump($coupon->toArray());die;
foreach ($coupons as $coupon){
// 发放优惠卷
$res = $this->GrantUserCoupon($value['coupon_id'],$user_id);
$res = $this->GrantUserCoupon($coupon['coupon_id'],$user_id);
dump($res);die;
if (!$res){
// 发放失败
return false;