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,