|
|
@@ -13,7 +13,9 @@ import beilv.common.utils.DateUtils;
|
|
|
import beilv.common.utils.StringUtils;
|
|
|
import beilv.common.utils.uuid.IdUtils;
|
|
|
import beilv.competition.domain.Competition;
|
|
|
+import beilv.competition.domain.RedisTask;
|
|
|
import beilv.competition.service.ICompetitionService;
|
|
|
+import beilv.system.service.ISysConfigService;
|
|
|
import beilv.usermembershipcard.domain.UserMembershipCard;
|
|
|
import beilv.usermembershipcard.service.IUserMembershipCardService;
|
|
|
import beilv.vipCard.domain.VipCard;
|
|
|
@@ -21,6 +23,7 @@ import beilv.vipCard.service.IVipCardService;
|
|
|
import beilv.vipCardLog.domain.VipCardLog;
|
|
|
import beilv.vipCardLog.service.IVipCardLogService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
@@ -28,6 +31,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.ZoneId;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
+
|
|
|
+import static beilv.competition.domain.Constant.ORDER_QUEUE;
|
|
|
+import static beilv.competition.domain.Constant.TICKET_QUEUE;
|
|
|
|
|
|
/**
|
|
|
* 会员卡AppController
|
|
|
@@ -61,6 +70,12 @@ public class cardAppController extends BaseController {
|
|
|
@Autowired
|
|
|
private IAdmissionTicketService ticketService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysConfigService configService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private StringRedisTemplate redisTemplate;
|
|
|
+
|
|
|
/**
|
|
|
* 新增充值记录
|
|
|
* id 生成的数据标识(后续交互的关键信息)
|
|
|
@@ -88,6 +103,10 @@ public class cardAppController extends BaseController {
|
|
|
vipCardLog.setPaymentStatus("payment_status_to_be_paid");
|
|
|
vipCardLog.setCreateTime(DateUtils.getNowDate());
|
|
|
vipCardLog.setPaymentType("weChart");
|
|
|
+
|
|
|
+ //开启定时任务
|
|
|
+ createOrderTaskQueue(uuid,"chongzhi", "");
|
|
|
+
|
|
|
if (vipCardLogService.insertVipCardLog(vipCardLog) > 0) {
|
|
|
return AjaxResult.success("操作成功!", uuid);
|
|
|
} else {
|
|
|
@@ -190,6 +209,10 @@ public class cardAppController extends BaseController {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ //开启定时任务
|
|
|
+ createOrderTaskQueue(uuid, vipCardLog.getOrderType(), vipCardLog.getBusId());
|
|
|
+
|
|
|
if (vipCardLogService.insertVipCardLog(vipCardLog) > 0) {
|
|
|
return AjaxResult.success("操作成功!", uuid);
|
|
|
} else {
|
|
|
@@ -290,6 +313,21 @@ public class cardAppController extends BaseController {
|
|
|
return AjaxResult.success(getDataTable(vipCardLogService.selectCanSaiList(vipCardLog)));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 新增订单开启定时任务
|
|
|
+ * @param uuid
|
|
|
+ */
|
|
|
+ private void createOrderTaskQueue(String uuid, String orderType, String busId){
|
|
|
+ //超时分钟数
|
|
|
+ long timeOut = Long.parseLong(configService.selectConfigByKey("order.task.timeout"));
|
|
|
+
|
|
|
+ long timeoutTime = LocalDateTime.now().plus(timeOut, ChronoUnit.MINUTES).atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
|
|
|
+
|
|
|
+ //创建订单, 开启定时
|
|
|
+ RedisTask redisTaskApply = new RedisTask(uuid, "","payment_status_cancelled", orderType, busId);
|
|
|
+ redisTemplate.opsForZSet().add(ORDER_QUEUE + uuid, redisTaskApply.toString(), timeoutTime);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
|