diff --git a/pom.xml b/pom.xml
index 6009ed6..6ebf149 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
com.xiang
xservice-schedule-starter
- 1.0-snapshot
+ 1.1-snapshot
diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/param/FwdOrderTaskParam.java b/script/src/main/java/com/xiang/xservice/fwd/entity/param/FwdOrderTaskParam.java
new file mode 100644
index 0000000..8975931
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/entity/param/FwdOrderTaskParam.java
@@ -0,0 +1,12 @@
+package com.xiang.xservice.fwd.entity.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FwdOrderTaskParam {
+ private Long projectId;
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/schedule/FwdImportantMsgJob.java b/script/src/main/java/com/xiang/xservice/fwd/schedule/FwdImportantMsgJob.java
index 70606ce..9fc56ef 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/schedule/FwdImportantMsgJob.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/schedule/FwdImportantMsgJob.java
@@ -1,9 +1,9 @@
package com.xiang.xservice.fwd.schedule;
import com.alibaba.fastjson2.JSONObject;
-import com.google.common.collect.Lists;
import com.xiang.xservice.basic.utils.DateUtils;
import com.xiang.xservice.basic.xservice.dingTalk.service.DingTalkService;
+import com.xiang.xservice.fwd.entity.param.FwdOrderTaskParam;
import com.xiang.xservice.fwd.entity.pojo.FPerformConfig;
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
import com.xiang.xservice.fwd.mapper.FwdAudienceConfigMapper;
@@ -11,6 +11,7 @@ import com.xiang.xservice.fwd.mapper.FwdPerformConfigMapper;
import com.xiang.xservice.fwd.mapper.FwdPerformProjectInfoMapper;
import com.xiang.xservice.fwd.mapper.FwdUserConfigMapper;
import com.xiang.xservice.fwd.service.IPerformService;
+import com.xiang.xservice.schedule.entity.TaskConfig;
import com.xiang.xservice.schedule.service.IDynamicTaskSchedulerService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -23,7 +24,6 @@ import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.util.List;
-import java.util.UUID;
import java.util.stream.Collectors;
/**
@@ -77,8 +77,9 @@ public class FwdImportantMsgJob {
StringBuilder msg = new StringBuilder("今日" + now + "演唱会门票预售信息:\n");
for (FPerformProjectInfo data : saleTodayData) {
msg.append("演唱会名称:").append(data.getProjectName()).append("预售时间:").append(DateUtils.getDateTimeStr(data.getPreSaleTime())).append("\n");
- String taskId = UUID.randomUUID().toString();
- dynamicTaskSchedulerService.schedule(taskId, data.getPreSaleTime(), new TicketGrabTask(fwdUserConfigMapper, fwdAudienceConfigMapper, performConfigMapper, iPerformService));
+ dynamicTaskSchedulerService.schedule(
+ new TaskConfig(System.currentTimeMillis(), data.getProjectName(), data.getPreSaleTime()),
+ new TicketGrabTask(fwdUserConfigMapper, fwdAudienceConfigMapper, iPerformService, new FwdOrderTaskParam(data.getProjectId())));
}
msg.append("请注意进行数据库配置的更改!");
dingTalkService.sendChatMessage(chatId, msg.toString());
diff --git a/script/src/main/java/com/xiang/xservice/fwd/schedule/TicketGrabTask.java b/script/src/main/java/com/xiang/xservice/fwd/schedule/TicketGrabTask.java
index da894f4..f478e7d 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/schedule/TicketGrabTask.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/schedule/TicketGrabTask.java
@@ -1,48 +1,46 @@
package com.xiang.xservice.fwd.schedule;
+import com.alibaba.fastjson.JSON;
+import com.xiang.xservice.fwd.entity.param.FwdOrderTaskParam;
import com.xiang.xservice.fwd.entity.pojo.FAudienceConfig;
-import com.xiang.xservice.fwd.entity.pojo.FPerformConfig;
-import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
import com.xiang.xservice.fwd.entity.pojo.FUserConfig;
import com.xiang.xservice.fwd.mapper.FwdAudienceConfigMapper;
-import com.xiang.xservice.fwd.mapper.FwdPerformConfigMapper;
import com.xiang.xservice.fwd.mapper.FwdUserConfigMapper;
import com.xiang.xservice.fwd.service.IPerformService;
-import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
-@Component
-@RequiredArgsConstructor
public class TicketGrabTask implements Runnable {
private final FwdUserConfigMapper userConfigMapper;
private final FwdAudienceConfigMapper audienceConfigMapper;
- private final FwdPerformConfigMapper performConfigMapper;
private final IPerformService performService;
+ private final FwdOrderTaskParam param;
+
+ public TicketGrabTask(FwdUserConfigMapper userConfigMapper, FwdAudienceConfigMapper audienceConfigMapper, IPerformService performService, FwdOrderTaskParam param) {
+ this.userConfigMapper = userConfigMapper;
+ this.audienceConfigMapper = audienceConfigMapper;
+ this.performService = performService;
+ this.param = param;
+ }
@Override
public void run() {
+ log.info("【TicketGrabTask】 run start. 获取到参数:{}", JSON.toJSONString(param));
List availableUser = userConfigMapper.getAvailableUser();
if (CollectionUtils.isEmpty(availableUser)) {
return;
}
for (FUserConfig userConfig : availableUser) {
List audiences = audienceConfigMapper.getAudienceByUserId(userConfig.getId());
- List availablePerform = performConfigMapper.getAvailablePerform();
- if (CollectionUtils.isNotEmpty(availablePerform)) {
- for (FPerformConfig performConfig : availablePerform) {
- try {
- performService.createProjectOrder(performConfig.getProjectId(), audiences.stream().map(FAudienceConfig::getFrequentId).collect(Collectors.toList()));
- } catch (Exception e) {
- log.error("创建订单失败", e);
- }
- }
+ try {
+ performService.createProjectOrder(param.getProjectId(), audiences.stream().map(FAudienceConfig::getFrequentId).collect(Collectors.toList()));
+ } catch (Exception e) {
+ log.error("创建订单失败", e);
}
}
}
diff --git a/script/src/main/resources/application-local.yml b/script/src/main/resources/application-local.yml
index f679f23..535cc9a 100644
--- a/script/src/main/resources/application-local.yml
+++ b/script/src/main/resources/application-local.yml
@@ -3,4 +3,16 @@ spring:
url: jdbc:mysql://120.27.153.87:3306/xservice-script-test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
username: root
password: 123456
- driver-class-name: com.mysql.cj.jdbc.Driver
\ No newline at end of file
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ redis:
+ host: r-bp1dqqbzlfw04fldp3pd.redis.rds.aliyuncs.com
+ port: 6379
+ password: Admin@123 # 如果无密码可以省略
+ database: 0
+ timeout: 5000
+ lettuce:
+ pool:
+ max-active: 8
+ max-idle: 8
+ min-idle: 0
+ max-wait: 1000
\ No newline at end of file