diff --git a/pom.xml b/pom.xml
index 47df84c..3214797 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,7 +35,7 @@
com.xiang
xservice-message-starter
- 1.1
+ 1.2
com.xiang
diff --git a/script/pom.xml b/script/pom.xml
index a67ab6b..88fb10f 100644
--- a/script/pom.xml
+++ b/script/pom.xml
@@ -11,7 +11,7 @@
com.xiang
- 1.0-SNAPSHOT
+ 1.0
jar
script
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 0b53927..e0014ed 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
@@ -5,16 +5,20 @@ import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
import com.xiang.xservice.basic.utils.DateUtils;
import com.xiang.xservice.basic.utils.PrimaryKeyUtils;
-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.entity.pojo.FPerformSeatInfo;
-import com.xiang.xservice.fwd.entity.resp.http.perform.*;
+import com.xiang.xservice.fwd.entity.resp.http.perform.Perform;
+import com.xiang.xservice.fwd.entity.resp.http.perform.PerformDetail;
+import com.xiang.xservice.fwd.entity.resp.http.perform.PerformInfo;
+import com.xiang.xservice.fwd.entity.resp.http.perform.SeatPlan;
+import com.xiang.xservice.fwd.entity.resp.http.perform.SeatPlanStatus;
import com.xiang.xservice.fwd.mapper.FwdAudienceConfigMapper;
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.DingTalkFWDMsgService;
import com.xiang.xservice.fwd.service.IPerformService;
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
import com.xiang.xservice.schedule.core.DynamicTaskScheduler;
@@ -58,7 +62,7 @@ public class FwdImportantMsgJob {
private final FwdPerformProjectInfoMapper performProjectInfoMapper;
private final FwdPerformConfigMapper performConfigMapper;
private final DynamicTaskScheduler dynamicTaskScheduler;
- private final DingTalkService dingTalkService;
+ private final DingTalkFWDMsgService dingTalkFWDMsgService;
private final FwdUserConfigMapper fwdUserConfigMapper;
private final FwdAudienceConfigMapper fwdAudienceConfigMapper;
private final IPerformService iPerformService;
@@ -128,7 +132,7 @@ public class FwdImportantMsgJob {
savaTask(data, taskId, params);
}
msg.append("请注意进行数据库配置的更改!");
- dingTalkService.sendRobotMessage(msg.toString());
+ dingTalkFWDMsgService.sendFWDMsg(msg.toString());
log.info("【芬玩岛】演唱会预售定时任务结束!time:{}", System.currentTimeMillis());
}
@@ -225,12 +229,7 @@ public class FwdImportantMsgJob {
}
}
});
- try {
- dingTalkService.sendRobotMessage(msg.toString());
- } catch (Exception e) {
- log.error("信息发送异常, 信息:{}", msg, e);
- }
-
+ dingTalkFWDMsgService.sendFWDMsg(msg.toString());
}
private void savaTask(FPerformProjectInfo data, long taskId, Map params) {
diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/DingTalkFWDMsgService.java b/script/src/main/java/com/xiang/xservice/fwd/service/DingTalkFWDMsgService.java
new file mode 100644
index 0000000..077771b
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/service/DingTalkFWDMsgService.java
@@ -0,0 +1,35 @@
+package com.xiang.xservice.fwd.service;
+
+import com.xiang.xservice.basic.xservice.dingTalk.service.DingTalkService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Author: xiang
+ * @Date: 2025-08-07 10:30
+ */
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class DingTalkFWDMsgService {
+
+ private final DingTalkService dingTalkService;
+ private static final String SECRET = "SEC768ed578c0fb31a9aec84b1c1db4f195f5aca203985bbb9d549e23e41c8874d1";
+ private static final String TOKEN = "4709b708d961846e0aee523c5abc3b67e8fa424ee292501d85efd4e504f15a8b";
+ private static final String USER_ID = "450841600726084717";
+
+ /**
+ * 发送芬玩岛消息
+ * @param msg 消息
+ */
+ public void sendFWDMsg(String msg) {
+ try {
+ dingTalkService.sendRobotMessage(SECRET, TOKEN, List.of(USER_ID), msg);
+ } catch (Exception e) {
+ log.error("信息发送异常, 信息:{}", msg, e);
+ }
+ }
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java
index 58977a5..be1f03b 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java
@@ -2,7 +2,6 @@ package com.xiang.xservice.fwd.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.xiang.xservice.basic.config.MyThreadFactory;
-import com.xiang.xservice.basic.xservice.dingTalk.service.DingTalkService;
import com.xiang.xservice.fwd.entity.pojo.FPerformConfig;
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
import com.xiang.xservice.fwd.entity.pojo.FPerformSeatInfo;
@@ -13,6 +12,7 @@ import com.xiang.xservice.fwd.mapper.FwdPerformConfigMapper;
import com.xiang.xservice.fwd.mapper.FwdPerformProjectInfoMapper;
import com.xiang.xservice.fwd.mapper.FwdPerformSeatInfoMapper;
import com.xiang.xservice.fwd.mapper.FwdUserConfigMapper;
+import com.xiang.xservice.fwd.service.DingTalkFWDMsgService;
import com.xiang.xservice.fwd.service.IPerformService;
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
import com.xiang.xservice.http.helper.HttpRequestHelper;
@@ -45,7 +45,7 @@ public class PerformServiceImpl implements IPerformService {
private final FwdPerformProjectInfoMapper fwdPerformProjectInfoMapper;
private final FwdPerformConfigMapper fwdPerformConfigMapper;
private final IPerformServiceHttp performServiceHttp;
- private final DingTalkService dingTalkService;
+ private final DingTalkFWDMsgService dingTalkService;
private final FwdUserConfigMapper fwdUserConfigMapper;
@Value("${DingTalk.chatId}")
private String chatId;
@@ -110,7 +110,7 @@ public class PerformServiceImpl implements IPerformService {
if (Objects.nonNull(projectOrder)) {
log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder));
String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在2分钟内完成付款!";
- dingTalkService.sendRobotMessage(msg);
+ dingTalkService.sendFWDMsg(msg);
return Boolean.TRUE;
}
}
diff --git a/script/src/main/java/com/xiang/xservice/xb/schedule/xb/FundMsgReportJob.java b/script/src/main/java/com/xiang/xservice/xb/schedule/xb/FundMsgReportJob.java
index 9ce3dc4..c434e32 100644
--- a/script/src/main/java/com/xiang/xservice/xb/schedule/xb/FundMsgReportJob.java
+++ b/script/src/main/java/com/xiang/xservice/xb/schedule/xb/FundMsgReportJob.java
@@ -19,6 +19,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -136,6 +137,8 @@ public class FundMsgReportJob {
}
private static void buildMsg(List funds, Map fundMap, StringBuilder msg) {
+ funds = funds.stream().sorted(Comparator.comparing(FundList::getChange).reversed())
+ .collect(Collectors.toList());
for (FundList fund : funds) {
if (fundMap.containsKey(fund.getCode())) {
XbFundList fundList = fundMap.get(fund.getCode());
diff --git a/script/src/main/resources/application-local.yml b/script/src/main/resources/application-local.yml
index 3790241..f62b645 100644
--- a/script/src/main/resources/application-local.yml
+++ b/script/src/main/resources/application-local.yml
@@ -21,3 +21,14 @@ aliyun:
dns:
RR:
- local
+
+DingTalk:
+ # 钉钉消息用户,用逗号隔开
+ userList: "450841600726084717"
+ # 钉钉消息群ID,需要调用/chat/create api创建群返回
+ chatId: "chatd16d8daeea33b36b73588c676d508096"
+ robot:
+ token: ad21ead99f0fdc63aa00d6732b7b0888c17590f7612c68297edfcb71844d1437
+ secret: SECc09d8aad6635f1a4cbadb7c0ab365523c46299f138438cd885e445e0f5f4d730
+ userIds:
+ - 450841600726084717
\ No newline at end of file
diff --git a/script/src/main/resources/application-prod.yml b/script/src/main/resources/application-prod.yml
index 30da4e8..3485cac 100644
--- a/script/src/main/resources/application-prod.yml
+++ b/script/src/main/resources/application-prod.yml
@@ -21,4 +21,15 @@ aliyun:
dns:
RR:
- client
- - file
\ No newline at end of file
+ - file
+
+DingTalk:
+ # 钉钉消息用户,用逗号隔开
+ userList: "450841600726084717"
+ # 钉钉消息群ID,需要调用/chat/create api创建群返回
+ chatId: "chatd16d8daeea33b36b73588c676d508096"
+ robot:
+ token: 340a9d39a5b0b6a52ba2262f9c27179cf50e3c8cfe6883ca082649d306038f41
+ secret: SECe10ade3058880b84df5c6f46ab072c11f4ac2a5ef9f134d684705c2a3b004de2
+ userIds:
+ - 450841600726084717
\ No newline at end of file
diff --git a/script/src/main/resources/application-test.yml b/script/src/main/resources/application-test.yml
index b5ae739..7aa136d 100644
--- a/script/src/main/resources/application-test.yml
+++ b/script/src/main/resources/application-test.yml
@@ -20,4 +20,15 @@ spring:
aliyun:
dns:
RR:
- - test
\ No newline at end of file
+ - test
+
+DingTalk:
+ # 钉钉消息用户,用逗号隔开
+ userList: "450841600726084717"
+ # 钉钉消息群ID,需要调用/chat/create api创建群返回
+ chatId: "chatd16d8daeea33b36b73588c676d508096"
+ robot:
+ token: ad21ead99f0fdc63aa00d6732b7b0888c17590f7612c68297edfcb71844d1437
+ secret: SECc09d8aad6635f1a4cbadb7c0ab365523c46299f138438cd885e445e0f5f4d730
+ userIds:
+ - 450841600726084717
\ No newline at end of file
diff --git a/script/src/main/resources/application.yml b/script/src/main/resources/application.yml
index a729076..9d81df6 100644
--- a/script/src/main/resources/application.yml
+++ b/script/src/main/resources/application.yml
@@ -5,12 +5,6 @@ mybatis:
configuration:
map-underscore-to-camel-case: true
-DingTalk:
- # 钉钉消息用户,用逗号隔开
- userList: "450841600726084717"
- # 钉钉消息群ID,需要调用/chat/create api创建群返回
- chatId: "chatd16d8daeea33b36b73588c676d508096"
-
xiaobei:
unionId: o896o5y8bJZYMh2gdKhDdmUKc0Wk
codeArr: "010364, 022150, 013224, 008960, 013841, 015528, 012414, 020412, 014662, 016814, 014422, 015596, 007844,