From e22bc012c92d1a5b0ac921abf4148525ca0ab2d4 Mon Sep 17 00:00:00 2001 From: xiang Date: Fri, 30 Jan 2026 23:22:48 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E9=A1=B6=E9=A1=B6=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/DingTalkScriptDomainService.java | 33 --------- .../domain/service/IDomainServiceImpl.java | 7 +- .../fwd/schedule/FwdImportantMsgJob.java | 8 +- .../script/fwd/server/FwdUserController.java | 8 +- .../fwd/service/DingTalkScriptFWDService.java | 32 -------- .../fwd/service/impl/PerformServiceImpl.java | 8 +- .../service/DingTalkScriptGladosService.java | 33 --------- .../glados/service/GLaDOSServiceImpl.java | 19 ++--- .../script/xb/schedule/xb/FundCountJob.java | 8 +- .../xb/schedule/xb/FundInfoQueryJob.java | 46 ------------ .../xb/schedule/xb/FundMsgReportJob.java | 10 +-- .../xb/service/DingTalkRobotService.java | 31 -------- .../common/enums/DingTalkBizTypeEnum.java | 21 ++++++ .../service/dingTalk/JtDingTalkFactory.java | 23 ++++++ .../dingTalk/ScriptDingTalkFactory.java | 19 +++++ .../dingTalk/StockDingTalkFactory.java | 19 +++++ .../src/main/resources/application-local.yml | 74 +++++-------------- .../src/main/resources/application-prod.yml | 52 ++++++++----- .../src/main/resources/application-test.yml | 47 ++++++++---- script/src/main/resources/application.yml | 3 + 20 files changed, 205 insertions(+), 296 deletions(-) delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/domain/service/DingTalkScriptDomainService.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/fwd/service/DingTalkScriptFWDService.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/glados/service/DingTalkScriptGladosService.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/xb/service/DingTalkRobotService.java create mode 100644 script/src/main/java/com/xiang/xservice/common/enums/DingTalkBizTypeEnum.java create mode 100644 script/src/main/java/com/xiang/xservice/common/service/dingTalk/JtDingTalkFactory.java create mode 100644 script/src/main/java/com/xiang/xservice/common/service/dingTalk/ScriptDingTalkFactory.java create mode 100644 script/src/main/java/com/xiang/xservice/common/service/dingTalk/StockDingTalkFactory.java diff --git a/script/src/main/java/com/xiang/xservice/application/script/domain/service/DingTalkScriptDomainService.java b/script/src/main/java/com/xiang/xservice/application/script/domain/service/DingTalkScriptDomainService.java deleted file mode 100644 index d01d7eb..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/domain/service/DingTalkScriptDomainService.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.xiang.xservice.application.script.domain.service; - -import com.xiang.xmc.service.message.dingTalk.service.DingTalkService; -import com.xiang.xservice.config.DingTalkRobotScriptConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * @Author: xiang - * @Date: 2025-08-07 10:30 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingTalkScriptDomainService { - - private final DingTalkService dingTalkService; - private final DingTalkRobotScriptConfig dingTalkRobotScriptConfig; - - /** - * 发送脚本消息 - * @param msg 消息 - */ - public void sendScriptMsg(String msg) { - try { - dingTalkService.sendRobotMessage(dingTalkRobotScriptConfig.getSecret(), dingTalkRobotScriptConfig.getToken(), - dingTalkRobotScriptConfig.getUsers(), msg); - } catch (Exception e) { - log.error("信息发送异常, 信息:{}", msg, e); - } - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/domain/service/IDomainServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/domain/service/IDomainServiceImpl.java index 04778b5..f42fb19 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/domain/service/IDomainServiceImpl.java +++ b/script/src/main/java/com/xiang/xservice/application/script/domain/service/IDomainServiceImpl.java @@ -9,6 +9,7 @@ import com.aliyun.alidns20150109.models.DescribeSubDomainRecordsResponseBody; import com.aliyun.alidns20150109.models.UpdateDomainRecordRequest; import com.aliyun.teaopenapi.models.Config; import com.xiang.xservice.application.script.domain.config.AliyunDnsPropertyConfig; +import com.xiang.xservice.common.service.dingTalk.ScriptDingTalkFactory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -36,7 +37,7 @@ public class IDomainServiceImpl implements IDomainService { private final AliyunDnsPropertyConfig aliyunDnsPropertyConfig; private static final String TYPE = "A"; - private final DingTalkScriptDomainService dingTalkService; + private final ScriptDingTalkFactory dingTalkService; @Override public void dynamicDomainAnalysis(String publicIp) throws Exception { Client client = createClient(); @@ -53,14 +54,14 @@ public class IDomainServiceImpl implements IDomainService { if (records.isEmpty()) { log.info("未找到记录,添加记录..., ip:{}", publicIp); addDnsRecord(client, publicIp, rr); - dingTalkService.sendScriptMsg("动态解析公网ip成功,域名:" + rr + "." + DOMAIN_NAME + ", 新ip:" + publicIp); + dingTalkService.sendMsg("动态解析公网ip成功,域名:" + rr + "." + DOMAIN_NAME + ", 新ip:" + publicIp); } else { String recordId = records.get(0).getRecordId(); String currentValue = records.get(0).getValue(); if (!publicIp.equals(currentValue)) { log.info("IP变更,更新记录...,ip:{}", publicIp); updateDnsRecord(client, recordId, publicIp, rr); - dingTalkService.sendScriptMsg("动态解析公网ip成功,域名:" + rr + "." + DOMAIN_NAME + ", 新ip:" + publicIp); + dingTalkService.sendMsg("动态解析公网ip成功,域名:" + rr + "." + DOMAIN_NAME + ", 新ip:" + publicIp); } else { log.info("ip未变更,无需修改,ip:{}", publicIp); } diff --git a/script/src/main/java/com/xiang/xservice/application/script/fwd/schedule/FwdImportantMsgJob.java b/script/src/main/java/com/xiang/xservice/application/script/fwd/schedule/FwdImportantMsgJob.java index a765d67..600397b 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/fwd/schedule/FwdImportantMsgJob.java +++ b/script/src/main/java/com/xiang/xservice/application/script/fwd/schedule/FwdImportantMsgJob.java @@ -23,7 +23,6 @@ import com.xiang.xservice.application.script.fwd.mapper.FwdAudienceConfigMapper; import com.xiang.xservice.application.script.fwd.mapper.FwdPerformConfigMapper; import com.xiang.xservice.application.script.fwd.mapper.FwdPerformProjectInfoMapper; import com.xiang.xservice.application.script.fwd.mapper.FwdUserConfigMapper; -import com.xiang.xservice.application.script.fwd.service.DingTalkScriptFWDService; import com.xiang.xservice.application.script.fwd.service.IPerformService; import com.xiang.xservice.application.script.fwd.service.IPerformServiceHttp; import com.xiang.xservice.application.script.fwd.utils.TimeSyncUtils; @@ -31,6 +30,7 @@ import com.xiang.xservice.basic.utils.DateUtils; import com.xiang.xservice.basic.utils.PrimaryKeyUtils; import com.xiang.xservice.common.entity.SysConfigDO; import com.xiang.xservice.common.mapper.SysConfigMapper; +import com.xiang.xservice.common.service.dingTalk.ScriptDingTalkFactory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -66,7 +66,7 @@ public class FwdImportantMsgJob { private final FwdPerformProjectInfoMapper performProjectInfoMapper; private final FwdPerformConfigMapper performConfigMapper; private final DynamicTaskScheduler dynamicTaskScheduler; - private final DingTalkScriptFWDService dingTalkScriptFWDService; + private final ScriptDingTalkFactory dingTalkScriptFWDService; private final FwdUserConfigMapper fwdUserConfigMapper; private final FwdAudienceConfigMapper fwdAudienceConfigMapper; private final IPerformService iPerformService; @@ -149,7 +149,7 @@ public class FwdImportantMsgJob { } } msg.append("请注意进行数据库配置的更改!"); - dingTalkScriptFWDService.sendScriptMsg(msg.toString()); + dingTalkScriptFWDService.sendMsg(msg.toString()); log.info("【芬玩岛】演唱会预售定时任务结束!time:{}", System.currentTimeMillis()); } @@ -249,7 +249,7 @@ public class FwdImportantMsgJob { } } }); - dingTalkScriptFWDService.sendScriptMsg(msg.toString()); + dingTalkScriptFWDService.sendMsg(msg.toString()); } private void savaTask(FPerformProjectInfo data, long taskId, Map params) { diff --git a/script/src/main/java/com/xiang/xservice/application/script/fwd/server/FwdUserController.java b/script/src/main/java/com/xiang/xservice/application/script/fwd/server/FwdUserController.java index cd65a97..a1c3344 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/fwd/server/FwdUserController.java +++ b/script/src/main/java/com/xiang/xservice/application/script/fwd/server/FwdUserController.java @@ -1,9 +1,9 @@ package com.xiang.xservice.application.script.fwd.server; import com.alibaba.fastjson.JSON; -import com.xiang.xservice.basic.common.resp.Result; -import com.xiang.xservice.application.script.fwd.service.DingTalkScriptFWDService; import com.xiang.xservice.application.script.fwd.service.IPerformService; +import com.xiang.xservice.basic.common.resp.Result; +import com.xiang.xservice.common.service.dingTalk.ScriptDingTalkFactory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -24,7 +24,7 @@ import java.util.Map; public class FwdUserController { private final IPerformService performService; - private final DingTalkScriptFWDService dingTalkService; + private final ScriptDingTalkFactory dingTalkService; @GetMapping("/token") public Result updateUserTokenFromHttpProxy(@RequestParam Map params) { @@ -35,7 +35,7 @@ public class FwdUserController { if (b) { String msg = "用户:" + name + "的token更新成功!"; try { - dingTalkService.sendScriptMsg(msg); + dingTalkService.sendMsg(msg); } catch (Exception e) { log.error("消息发送失败", e); return Result.error("消息发送失败"); diff --git a/script/src/main/java/com/xiang/xservice/application/script/fwd/service/DingTalkScriptFWDService.java b/script/src/main/java/com/xiang/xservice/application/script/fwd/service/DingTalkScriptFWDService.java deleted file mode 100644 index 664c9eb..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/fwd/service/DingTalkScriptFWDService.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.xiang.xservice.application.script.fwd.service; - -import com.xiang.xmc.service.message.dingTalk.service.DingTalkService; -import com.xiang.xservice.config.DingTalkRobotScriptConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * @Author: xiang - * @Date: 2025-08-07 10:30 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingTalkScriptFWDService { - - private final DingTalkService dingTalkService; - private final DingTalkRobotScriptConfig dingTalkRobotConfig; - - /** - * 发送脚本消息 - * @param msg 消息 - */ - public void sendScriptMsg(String msg) { - try { - dingTalkService.sendRobotMessage(dingTalkRobotConfig.getSecret(), dingTalkRobotConfig.getToken(), dingTalkRobotConfig.getUsers(), msg); - } catch (Exception e) { - log.error("信息发送异常, 信息:{}", msg, e); - } - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/fwd/service/impl/PerformServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/fwd/service/impl/PerformServiceImpl.java index 51c06ec..ad3f478 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/fwd/service/impl/PerformServiceImpl.java +++ b/script/src/main/java/com/xiang/xservice/application/script/fwd/service/impl/PerformServiceImpl.java @@ -13,10 +13,10 @@ import com.xiang.xservice.application.script.fwd.mapper.FwdPerformConfigMapper; import com.xiang.xservice.application.script.fwd.mapper.FwdPerformProjectInfoMapper; import com.xiang.xservice.application.script.fwd.mapper.FwdPerformSeatInfoMapper; import com.xiang.xservice.application.script.fwd.mapper.FwdUserConfigMapper; -import com.xiang.xservice.application.script.fwd.service.DingTalkScriptFWDService; import com.xiang.xservice.application.script.fwd.service.IPerformService; import com.xiang.xservice.application.script.fwd.service.IPerformServiceHttp; import com.xiang.xservice.basic.config.MyThreadFactory; +import com.xiang.xservice.common.service.dingTalk.ScriptDingTalkFactory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -51,7 +51,7 @@ public class PerformServiceImpl implements IPerformService { private final FwdPerformProjectInfoMapper fwdPerformProjectInfoMapper; private final FwdPerformConfigMapper fwdPerformConfigMapper; private final IPerformServiceHttp performServiceHttp; - private final DingTalkScriptFWDService dingTalkService; + private final ScriptDingTalkFactory dingTalkService; private final FwdUserConfigMapper fwdUserConfigMapper; private final HttpRequestHelper httpRequestHelper; private final ExecutorService es = @@ -121,12 +121,12 @@ public class PerformServiceImpl implements IPerformService { if (Objects.nonNull(projectOrder)) { log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder)); String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在5分钟内完成付款!订单号:" + projectOrder.getOrderNo(); - dingTalkService.sendScriptMsg(msg); + dingTalkService.sendMsg(msg); return Boolean.TRUE; } } } - dingTalkService.sendScriptMsg("【芬玩岛】下单失败❌❌❌,演出名称:" + performByProjectId.getProjectName()); + dingTalkService.sendMsg("【芬玩岛】下单失败❌❌❌,演出名称:" + performByProjectId.getProjectName()); return Boolean.FALSE; } diff --git a/script/src/main/java/com/xiang/xservice/application/script/glados/service/DingTalkScriptGladosService.java b/script/src/main/java/com/xiang/xservice/application/script/glados/service/DingTalkScriptGladosService.java deleted file mode 100644 index 86bd752..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/glados/service/DingTalkScriptGladosService.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.xiang.xservice.application.script.glados.service; - -import com.xiang.xmc.service.message.dingTalk.service.DingTalkService; -import com.xiang.xservice.config.DingTalkRobotScriptConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * @Author: xiang - * @Date: 2025-08-07 10:30 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingTalkScriptGladosService { - - private final DingTalkService dingTalkService; - private final DingTalkRobotScriptConfig dingTalkRobotScriptConfig; - - /** - * 发送脚本消息 - * @param msg 消息 - */ - public void sendScriptMsg(String msg) { - try { - dingTalkService.sendRobotMessage(dingTalkRobotScriptConfig.getSecret(), dingTalkRobotScriptConfig.getToken(), - dingTalkRobotScriptConfig.getUsers(), msg); - } catch (Exception e) { - log.error("信息发送异常, 信息:{}", msg, e); - } - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSServiceImpl.java index 9c59c0c..a3a8346 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSServiceImpl.java +++ b/script/src/main/java/com/xiang/xservice/application/script/glados/service/GLaDOSServiceImpl.java @@ -13,6 +13,7 @@ import com.xiang.xservice.application.script.glados.entity.resp.GLaDOSResponse; import com.xiang.xservice.application.script.glados.repository.GladosMapper; import com.xiang.xservice.application.script.xb.entity.pojo.User; import com.xiang.xservice.basic.utils.HttpUtils; +import com.xiang.xservice.common.service.dingTalk.ScriptDingTalkFactory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -35,7 +36,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ private final GladosMapper gladosMapper; - private final DingTalkScriptGladosService dingTalkService; + private final ScriptDingTalkFactory dingTalkService; private final BaseHttpHelp httpHelp = HttpHelperFactory.createSimpleHttp(); @@ -119,7 +120,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ // 成功请求 if (Objects.nonNull(gLaDOSResponse.getPoints()) && 0 != gLaDOSResponse.getPoints()) { // 签到成功 - dingTalkService.sendScriptMsg("[时间:" + LocalDateTime.now() + "] 用户: " + + dingTalkService.sendMsg("[时间:" + LocalDateTime.now() + "] 用户: " + user.getEmail() + "签到成功,获得积分:" + gLaDOSResponse.getPoints()); GladosRunLog build = GladosRunLog.builder().time(LocalDateTime.now()).status(1).code(Integer.valueOf(gLaDOSResponse.getCode().toString())).response(response).user(user.getEmail()).userId(user.getId()).build(); gladosMapper.insertScriptRunLog(build); @@ -129,7 +130,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ if (gLaDOSResponse.getMessage().contains("Repeats")) { if (!CollectionUtils.isEmpty(gLaDOSResponse.getList())) { - dingTalkService.sendScriptMsg("用户:" + user.getEmail() + "当前已签到。结果:" + gLaDOSResponse.getList().get(0)); + dingTalkService.sendMsg("用户:" + user.getEmail() + "当前已签到。结果:" + gLaDOSResponse.getList().get(0)); GladosRunLog build = GladosRunLog.builder().time(LocalDateTime.now()).status(1).code(Integer.valueOf(gLaDOSResponse.getCode().toString())).response(response).user(user.getEmail()).userId(user.getId()).build(); gladosMapper.insertScriptRunLog(build); return true; @@ -140,7 +141,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ log.warn("签到失败,用户:{}, cookie过期:{}", user.getEmail(), gLaDOSResponse.getMessage()); String message = "[时间:" + LocalDateTime.now() + "] 用户: " + user.getEmail() + ",签到消息: " + gLaDOSResponse.getMessage() + "手动请求:http://general.xiangtech.xyz:30026/system/glados/checkIn"; try { - dingTalkService.sendScriptMsg(message); + dingTalkService.sendMsg(message); return true; } catch (Exception e) { log.error("发送钉钉消息失败", e); @@ -148,7 +149,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ } // 请求异常 - dingTalkService.sendScriptMsg("用户:" + user.getEmail() + "请求异常,响应结果:" + gLaDOSResponse.getMessage()); + dingTalkService.sendMsg("用户:" + user.getEmail() + "请求异常,响应结果:" + gLaDOSResponse.getMessage()); GladosRunLog build = GladosRunLog.builder().time(LocalDateTime.now()).status(0).code(Integer.valueOf(gLaDOSResponse.getCode().toString())).response(response).user(user.getEmail()).userId(user.getId()).build(); gladosMapper.insertScriptRunLog(build); return false; @@ -179,7 +180,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ log.info("签到成功, 签到积分:{}, 签到消息:{}", gLaDOSResponse.getPoints(), gLaDOSResponse.getMessage()); sb.append(user.getEmail()).append("签到成功,获得积分:").append(gLaDOSResponse.getPoints()).append("\n"); try { - dingTalkService.sendScriptMsg("[时间:" + LocalDateTime.now() + "] 用户: " + + dingTalkService.sendMsg("[时间:" + LocalDateTime.now() + "] 用户: " + user.getEmail() + "签到成功,获得积分:" + gLaDOSResponse.getPoints()); } catch (Exception e) { log.error("发送钉钉消息失败", e); @@ -201,7 +202,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ log.warn("签到失败,重复签到,用户:{}, 签到消息:{}", user.getEmail(), gLaDOSResponse.getMessage()); sb.append(user).append("签到失败,重复签到,用户:").append(user).append(",签到消息:").append(gLaDOSResponse.getMessage()); try { - dingTalkService.sendScriptMsg("[时间:" + LocalDateTime.now() + "] 用户: " + + dingTalkService.sendMsg("[时间:" + LocalDateTime.now() + "] 用户: " + user.getEmail() + "当天已经签到成功!获得积分" + gLaDOSResponse.getList().get(0)); } catch (Exception e) { log.error("发送钉钉消息失败", e); @@ -216,7 +217,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ log.warn("签到失败,用户:{}, cookie过期:{}", user.getEmail(), gLaDOSResponse.getMessage()); String message = "[时间:" + LocalDateTime.now() + "] 用户: " + user.getEmail() + ",签到消息: " + gLaDOSResponse.getMessage(); try { - dingTalkService.sendScriptMsg(message); + dingTalkService.sendMsg(message); } catch (Exception e) { log.error("发送钉钉消息失败", e); } @@ -233,7 +234,7 @@ public class GLaDOSServiceImpl implements GLaDOSService{ } else { try { String mes = "[时间:" + LocalDateTime.now() + "] 用户: " + user.getEmail() + ",签到异常,请求结果为空。"; - dingTalkService.sendScriptMsg(mes); + dingTalkService.sendMsg(mes); } catch (Exception e) { log.error("发送钉钉消息失败", e); } diff --git a/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundCountJob.java b/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundCountJob.java index a9d20b3..f72220b 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundCountJob.java +++ b/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundCountJob.java @@ -2,12 +2,12 @@ package com.xiang.xservice.application.script.xb.schedule.xb; import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Lists; -import com.xiang.xservice.basic.utils.DateUtils; import com.xiang.xservice.application.script.xb.entity.pojo.xb.XbFundCount; import com.xiang.xservice.application.script.xb.entity.pojo.xb.XbFundList; import com.xiang.xservice.application.script.xb.entity.response.xbyj.fund.FundList; -import com.xiang.xservice.application.script.xb.service.DingTalkRobotService; import com.xiang.xservice.application.script.xb.service.FundService; +import com.xiang.xservice.basic.utils.DateUtils; +import com.xiang.xservice.common.service.dingTalk.StockDingTalkFactory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -39,7 +39,7 @@ import java.util.stream.Collectors; public class FundCountJob { private final FundService fundService; - private final DingTalkRobotService dingTalkService; + private final StockDingTalkFactory dingTalkService; @Scheduled(cron = "0 0 22 * * ?") public void countFundJob() { // 周六周日过滤 @@ -97,7 +97,7 @@ public class FundCountJob { sb.append("【").append(fundCounts.get(0).getName()).append("】本周平均涨跌幅为:").append(avg).append("\n"); }); if (StringUtils.isNotBlank(sb)) { - dingTalkService.sendXbMsg(sb.toString()); + dingTalkService.sendMsg(sb.toString()); } log.info("==========================[基金统计] 基金本周涨跌幅消息发送定时任务结束!=========================="); } diff --git a/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundInfoQueryJob.java b/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundInfoQueryJob.java index 9504210..8f6fa89 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundInfoQueryJob.java +++ b/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundInfoQueryJob.java @@ -1,10 +1,7 @@ package com.xiang.xservice.application.script.xb.schedule.xb; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Lists; -import com.xiang.xmc.service.cache.service.IRedisService; -import com.xiang.xmc.service.message.dingTalk.service.DingTalkService; import com.xiang.xservice.application.script.xb.entity.pojo.xb.FundMessage; import com.xiang.xservice.application.script.xb.entity.pojo.xb.XbFundList; import com.xiang.xservice.application.script.xb.entity.response.xbyj.fund.FundInfo; @@ -12,13 +9,9 @@ import com.xiang.xservice.application.script.xb.entity.response.xbyj.fund.FundLi import com.xiang.xservice.application.script.xb.repository.XBFundMapper; import com.xiang.xservice.application.script.xb.service.FundService; import com.xiang.xservice.basic.config.MyThreadFactory; -import com.xiang.xservice.basic.utils.DateUtils; -import com.xiang.xservice.common.entity.DayResult; -import com.xiang.xservice.common.enums.RedisConstant; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -31,7 +24,6 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.List; -import java.util.Map; import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; @@ -50,9 +42,7 @@ import java.util.stream.Collectors; public class FundInfoQueryJob { private final FundService fundService; - private final DingTalkService dingTalkService; private final XBFundMapper xbFundMapper; - private final IRedisService redisService; private final ExecutorService es = new ThreadPoolExecutor( 10, @@ -64,43 +54,7 @@ public class FundInfoQueryJob { new ThreadPoolExecutor.AbortPolicy()); @Value("${xiaobei.codeArr}") private String codeArr; - @Value("${dingtalk.chatId}") - private String chatId; - /** - * 基金涨跌幅5分钟超过2%重点通知 - */ - @Scheduled(cron = "0 0/5 9,10,11,13,14,15 * * ? ") - public void queryFundEmergencyJob() throws Exception { - // 周六周日过滤 - if (DateUtils.validWeekTime()) return; - LocalDate now = LocalDate.now(); - com.alibaba.fastjson.JSONObject dayResult = (com.alibaba.fastjson.JSONObject) redisService.hGet(RedisConstant.DAY_INFO_PREFIX_KEY + RedisConstant.getDate4Key(), DateUtils.getDateFromDate(now)); - com.xiang.xservice.common.utils.DateUtils dateUtils = new com.xiang.xservice.common.utils.DateUtils(redisService); - if (dateUtils.validHoliday(JSON.toJavaObject(dayResult, DayResult.class))) return; - - List fundInfos = xbFundMapper.queryListIn2Min(); - if (CollectionUtils.isEmpty(fundInfos)) { - return; - } - Map> map = fundInfos.stream().collect(Collectors.groupingBy(com.xiang.xservice.application.script.xb.entity.pojo.xb.FundInfo::getCode)); - StringBuffer sb = new StringBuffer(); - map.entrySet().parallelStream().forEach(entry -> { - List infos = entry.getValue(); - BigDecimal sum = new BigDecimal("0"); - for (int i = 0; i < infos.size() - 1; i++) { - BigDecimal subtract = new BigDecimal(infos.get(i + 1).getChange()).subtract(new BigDecimal(infos.get(i).getChange())); - sum = sum.add(subtract); - } - BigDecimal avg = sum.divide(new BigDecimal(String.valueOf(infos.size())), 2, RoundingMode.HALF_UP); - if (avg.abs().compareTo(new BigDecimal("2")) > 0) { - sb.append("基金").append(entry.getValue().get(0).getName()).append("5分钟的平均涨跌幅超过2%,涨跌幅达到").append(avg).append("\n"); - } - }); - if (StringUtils.isNotBlank(sb)) { - dingTalkService.sendChatMessage(chatId, sb.toString()); - } - } /** * 基金每分钟涨幅记录 diff --git a/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundMsgReportJob.java b/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundMsgReportJob.java index 34dabc0..65139cd 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundMsgReportJob.java +++ b/script/src/main/java/com/xiang/xservice/application/script/xb/schedule/xb/FundMsgReportJob.java @@ -3,8 +3,8 @@ package com.xiang.xservice.application.script.xb.schedule.xb; import com.alibaba.fastjson.JSON; import com.xiang.xservice.application.script.xb.entity.pojo.xb.XbFundList; import com.xiang.xservice.application.script.xb.entity.response.xbyj.fund.FundList; -import com.xiang.xservice.application.script.xb.service.DingTalkRobotService; import com.xiang.xservice.application.script.xb.service.FundService; +import com.xiang.xservice.common.service.dingTalk.StockDingTalkFactory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -38,7 +38,7 @@ import java.util.stream.Collectors; public class FundMsgReportJob { private final FundService fundService; - private final DingTalkRobotService dingTalkService; + private final StockDingTalkFactory dingTalkService; private static final Integer TYPE_A = 1; private static final Integer TYPE_M = 3; private static final Integer TYPE_G = 2; @@ -68,7 +68,7 @@ public class FundMsgReportJob { log.info("http查询基金信息:{}", JSON.toJSONString(funds)); StringBuilder msg = new StringBuilder(date).append("===》A股基金变化通知:\n"); buildMsg(funds, fundMap, msg); - dingTalkService.sendXbMsg(msg.toString()); + dingTalkService.sendMsg(msg.toString()); } @Scheduled(cron = "0 1,31 9,10,11,13,14,15 * * ?") @@ -95,7 +95,7 @@ public class FundMsgReportJob { log.info("http查询港股基金信息:{}", JSON.toJSONString(funds)); StringBuilder msg = new StringBuilder(date).append("===》港股基金变化通知:\n"); buildMsg(funds, fundMap, msg); - dingTalkService.sendXbMsg(msg.toString()); + dingTalkService.sendMsg(msg.toString()); } @Scheduled(cron = "0 0 9 * * ?") @@ -122,7 +122,7 @@ public class FundMsgReportJob { log.info("http查询美股基金信息:{}", JSON.toJSONString(funds)); StringBuilder msg = new StringBuilder(date).append("===》美股基金变化通知:\n"); buildMsg(funds, fundMap, msg); - dingTalkService.sendXbMsg(msg.toString()); + dingTalkService.sendMsg(msg.toString()); } private static void buildMsg(List funds, Map fundMap, StringBuilder msg) { diff --git a/script/src/main/java/com/xiang/xservice/application/script/xb/service/DingTalkRobotService.java b/script/src/main/java/com/xiang/xservice/application/script/xb/service/DingTalkRobotService.java deleted file mode 100644 index 2b8594c..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/xb/service/DingTalkRobotService.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.xiang.xservice.application.script.xb.service; - -import com.xiang.xmc.service.message.dingTalk.service.DingTalkService; -import com.xiang.xservice.config.DingTalkRobotXbConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * @Author: xiang - * @Date: 2025-08-07 11:02 - */ -@Service -@RequiredArgsConstructor -@Slf4j -public class DingTalkRobotService { - private final DingTalkService dingTalkService; - private final DingTalkRobotXbConfig dingTalkRobotConfig; - - /** - * 发送脚本消息 - * @param msg 消息 - */ - public void sendXbMsg(String msg) { - try { - dingTalkService.sendRobotMessage(dingTalkRobotConfig.getSecret(), dingTalkRobotConfig.getToken(), dingTalkRobotConfig.getUsers(), msg); - } catch (Exception e) { - log.error("信息发送异常, 信息:{}", msg, e); - } - } -} diff --git a/script/src/main/java/com/xiang/xservice/common/enums/DingTalkBizTypeEnum.java b/script/src/main/java/com/xiang/xservice/common/enums/DingTalkBizTypeEnum.java new file mode 100644 index 0000000..4d0b945 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/common/enums/DingTalkBizTypeEnum.java @@ -0,0 +1,21 @@ +package com.xiang.xservice.common.enums; + +import com.xiang.xmc.service.message.dingTalk.enums.BaseDingTalkBizType; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +/** + * @Author: xiang + * @Date: 2026-01-04 16:13 + */ +@Getter +@RequiredArgsConstructor +public enum DingTalkBizTypeEnum implements BaseDingTalkBizType { + + JT("venue", "江南体育中心"), + XB("xb", "股票基金变化通知"), + SCRIPT("script", "脚本运行通知群") + ; + private final String bizName; + private final String desc; +} diff --git a/script/src/main/java/com/xiang/xservice/common/service/dingTalk/JtDingTalkFactory.java b/script/src/main/java/com/xiang/xservice/common/service/dingTalk/JtDingTalkFactory.java new file mode 100644 index 0000000..ea10591 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/common/service/dingTalk/JtDingTalkFactory.java @@ -0,0 +1,23 @@ +package com.xiang.xservice.common.service.dingTalk; + +import com.xiang.xmc.service.message.dingTalk.config.DingTalkRobotProperties; +import com.xiang.xmc.service.message.dingTalk.service.AbstractDingTalkFactory; +import com.xiang.xmc.service.message.dingTalk.service.DingTalkSender; +import com.xiang.xservice.common.enums.DingTalkBizTypeEnum; +import org.springframework.stereotype.Service; + +/** + * @Author: xiang + * @Date: 2026-01-04 16:19 + */ +@Service +public class JtDingTalkFactory extends AbstractDingTalkFactory { + public JtDingTalkFactory(DingTalkRobotProperties dingTalkRobotProperties, DingTalkSender dingTalkSender) { + super(dingTalkRobotProperties, dingTalkSender); + } + + @Override + public void sendMsg(String msg) { + getClient(DingTalkBizTypeEnum.JT).sendDingTalkMsg(msg); + } +} diff --git a/script/src/main/java/com/xiang/xservice/common/service/dingTalk/ScriptDingTalkFactory.java b/script/src/main/java/com/xiang/xservice/common/service/dingTalk/ScriptDingTalkFactory.java new file mode 100644 index 0000000..aa72396 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/common/service/dingTalk/ScriptDingTalkFactory.java @@ -0,0 +1,19 @@ +package com.xiang.xservice.common.service.dingTalk; + +import com.xiang.xmc.service.message.dingTalk.config.DingTalkRobotProperties; +import com.xiang.xmc.service.message.dingTalk.service.AbstractDingTalkFactory; +import com.xiang.xmc.service.message.dingTalk.service.DingTalkSender; +import com.xiang.xservice.common.enums.DingTalkBizTypeEnum; +import org.springframework.stereotype.Service; + +@Service +public class ScriptDingTalkFactory extends AbstractDingTalkFactory { + public ScriptDingTalkFactory(DingTalkRobotProperties dingTalkRobotProperties, DingTalkSender dingTalkSender) { + super(dingTalkRobotProperties, dingTalkSender); + } + + @Override + public void sendMsg(String msg) { + getClient(DingTalkBizTypeEnum.SCRIPT).sendDingTalkMsg(msg); + } +} diff --git a/script/src/main/java/com/xiang/xservice/common/service/dingTalk/StockDingTalkFactory.java b/script/src/main/java/com/xiang/xservice/common/service/dingTalk/StockDingTalkFactory.java new file mode 100644 index 0000000..eda56e3 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/common/service/dingTalk/StockDingTalkFactory.java @@ -0,0 +1,19 @@ +package com.xiang.xservice.common.service.dingTalk; + +import com.xiang.xmc.service.message.dingTalk.config.DingTalkRobotProperties; +import com.xiang.xmc.service.message.dingTalk.service.AbstractDingTalkFactory; +import com.xiang.xmc.service.message.dingTalk.service.DingTalkSender; +import com.xiang.xservice.common.enums.DingTalkBizTypeEnum; +import org.springframework.stereotype.Service; + +@Service +public class StockDingTalkFactory extends AbstractDingTalkFactory { + public StockDingTalkFactory(DingTalkRobotProperties dingTalkRobotProperties, DingTalkSender dingTalkSender) { + super(dingTalkRobotProperties, dingTalkSender); + } + + @Override + public void sendMsg(String msg) { + getClient(DingTalkBizTypeEnum.XB).sendDingTalkMsg(msg); + } +} diff --git a/script/src/main/resources/application-local.yml b/script/src/main/resources/application-local.yml index f2a414b..90691ff 100644 --- a/script/src/main/resources/application-local.yml +++ b/script/src/main/resources/application-local.yml @@ -43,43 +43,7 @@ spring: settings: number_format: 0.## default_encoding: UTF-8 - autoconfigure: - exclude: - - com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration -server: - #tomcat: - # remote-ip-header: x-forward-for - # uri-encoding: UTF-8 - # max-threads: 10 - # background-processor-delay: 30 - # basedir: ${user.home}/tomcat/ - undertow: - # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 - # 不要设置过大,如果过大,启动项目会报错:打开文件数过多 - io-threads: 4 - # 阻塞任务线程池, 当执行类似servlet请求阻塞IO操作, undertow会从这个线程池中取得线程 - # 它的值设置取决于系统线程执行任务的阻塞系数,默认值是IO线程数*8 - worker-threads: 64 - # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 - # 每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可 - buffer-size: 1024 - # 是否分配的直接内存(NIO直接分配的堆外内存) - direct-buffers: true -OEM: - version: 2025 September - header: SQL转Java JPA、MYBATIS实现类代码生成平台 - keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现 - title: 大狼狗代码生成器 - slogan: 👐 Free your hands from boring CRUD—let the code write itself! ⚡ - description:

💻 SpringBootCodeGenerator,又名 `大狼狗代码生成器`🐺🐶,支持 SQL 一键转 JAVA/JPA/Mybatis/MybatisPlus 等多种模板,轻松搞定 CRUD,彻底解放双手 ✋!只需提供 DDL、SELECT SQL 或简单 JSON 👉 即可生成 生成JPA/JdbcTemplate/Mybatis/MybatisPlus/BeetlSQL/CommonMapper 等代码模板。

🔥🔥🔥 全新 JSqlParser 引擎上线,强力支持 DDL CREATE SQL与 SELECT SQL 解析!欢迎体验 & 反馈 💬!

👨‍💻 面向开发者的高效利器,已服务数万工程师,欢迎 Star ⭐、Fork 🍴、提 Issue 💬,一起打造更强大的代码生成平台!

- author: zhengkai.blog.csdn.net - packageName: com.software.system - copyright: ✨ Powered by Moshow郑锴 — may the holy light guide your code, your coffee, and your commits! ⚡🧙‍♂️💻 - returnUtilSuccess: ResponseUtil.success - returnUtilFailure: ResponseUtil.error - outputStr: http://zhengkai.blog.csdn.net - mode: local aliyun: dns: @@ -87,23 +51,23 @@ aliyun: - local dingtalk: - # 钉钉消息用户,用逗号隔开 - userList: "450841600726084717" - # 钉钉消息群ID,需要调用/chat/create api创建群返回 - chatId: "chatd16d8daeea33b36b73588c676d508096" robot: - script: - token: 797be7f32062e31dec1d567f8b490a5649a5366083618e236c7a1263df1f4af3 - secret: SEC9aca642c0c29c9da261462869c464d34623247583d98fc82343a0a4464abbe91 - users: - - 450841600726084717 - xb: - token: ad21ead99f0fdc63aa00d6732b7b0888c17590f7612c68297edfcb71844d1437 - secret: SECc09d8aad6635f1a4cbadb7c0ab365523c46299f138438cd885e445e0f5f4d730 - users: - - 450841600726084717 - venue: - token: 6a218646972c684c75832b0229ea93a234778af537d7469ce96bef290faf530e - secret: SEC9018755ba86d3e5c1ed2fbfa1d6953d84bb2a6c8ebe7ed4e318457bfed5e0465 - users: - - 450841600726084717 \ No newline at end of file + properties: + venue: + name: 江南体育中心通知群 + token: 6a218646972c684c75832b0229ea93a234778af537d7469ce96bef290faf530e + secret: SEC9018755ba86d3e5c1ed2fbfa1d6953d84bb2a6c8ebe7ed4e318457bfed5e0465 + users: + - 450841600726084717 + script: + name: 脚本运行通知群 + token: 797be7f32062e31dec1d567f8b490a5649a5366083618e236c7a1263df1f4af3 + secret: SEC9aca642c0c29c9da261462869c464d34623247583d98fc82343a0a4464abbe91 + users: + - 450841600726084717 + xb: + name: 股票基金变化通知群 + token: ad21ead99f0fdc63aa00d6732b7b0888c17590f7612c68297edfcb71844d1437 + secret: SECc09d8aad6635f1a4cbadb7c0ab365523c46299f138438cd885e445e0f5f4d730 + users: + - 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 161c9d7..60e00c6 100644 --- a/script/src/main/resources/application-prod.yml +++ b/script/src/main/resources/application-prod.yml @@ -29,6 +29,20 @@ spring: max-idle: 8 min-idle: 0 max-wait: 1000 + freemarker: + request-context-attribute: request + suffix: .html + content-type: text/html + enabled: true + cache: false + charset: UTF-8 + allow-request-override: false + expose-request-attributes: true + expose-session-attributes: true + expose-spring-macro-helpers: true + settings: + number_format: 0.## + default_encoding: UTF-8 aliyun: dns: @@ -38,23 +52,23 @@ aliyun: - nexus dingtalk: - # 钉钉消息用户,用逗号隔开 - userList: "450841600726084717" - # 钉钉消息群ID,需要调用/chat/create api创建群返回 - chatId: "chatd16d8daeea33b36b73588c676d508096" robot: - script: - token: 4709b708d961846e0aee523c5abc3b67e8fa424ee292501d85efd4e504f15a8b - secret: SEC768ed578c0fb31a9aec84b1c1db4f195f5aca203985bbb9d549e23e41c8874d1 - users: - - 450841600726084717 - xb: - token: 340a9d39a5b0b6a52ba2262f9c27179cf50e3c8cfe6883ca082649d306038f41 - secret: SECe10ade3058880b84df5c6f46ab072c11f4ac2a5ef9f134d684705c2a3b004de2 - users: - - 450841600726084717 - venue: - token: 6a218646972c684c75832b0229ea93a234778af537d7469ce96bef290faf530e - secret: SEC9018755ba86d3e5c1ed2fbfa1d6953d84bb2a6c8ebe7ed4e318457bfed5e0465 - users: - - 450841600726084717 \ No newline at end of file + properties: + venue: + name: 江南体育中心通知群 + token: 6a218646972c684c75832b0229ea93a234778af537d7469ce96bef290faf530e + secret: SEC9018755ba86d3e5c1ed2fbfa1d6953d84bb2a6c8ebe7ed4e318457bfed5e0465 + users: + - 450841600726084717 + script: + name: 脚本运行通知群 + token: 4709b708d961846e0aee523c5abc3b67e8fa424ee292501d85efd4e504f15a8b + secret: SEC768ed578c0fb31a9aec84b1c1db4f195f5aca203985bbb9d549e23e41c8874d1 + users: + - 450841600726084717 + xb: + name: 股票基金变化通知群 + token: 340a9d39a5b0b6a52ba2262f9c27179cf50e3c8cfe6883ca082649d306038f41 + secret: SECe10ade3058880b84df5c6f46ab072c11f4ac2a5ef9f134d684705c2a3b004de2 + users: + - 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 9fae8fc..64b6609 100644 --- a/script/src/main/resources/application-test.yml +++ b/script/src/main/resources/application-test.yml @@ -29,6 +29,20 @@ spring: max-idle: 8 min-idle: 0 max-wait: 1000 + freemarker: + request-context-attribute: request + suffix: .html + content-type: text/html + enabled: true + cache: false + charset: UTF-8 + allow-request-override: false + expose-request-attributes: true + expose-session-attributes: true + expose-spring-macro-helpers: true + settings: + number_format: 0.## + default_encoding: UTF-8 aliyun: dns: @@ -36,18 +50,23 @@ aliyun: - test dingtalk: - # 钉钉消息用户,用逗号隔开 - userList: "450841600726084717" - # 钉钉消息群ID,需要调用/chat/create api创建群返回 - chatId: "chatd16d8daeea33b36b73588c676d508096" robot: - script: - token: 797be7f32062e31dec1d567f8b490a5649a5366083618e236c7a1263df1f4af3 - secret: SEC9aca642c0c29c9da261462869c464d34623247583d98fc82343a0a4464abbe91 - users: - - 450841600726084717 - xb: - token: ad21ead99f0fdc63aa00d6732b7b0888c17590f7612c68297edfcb71844d1437 - secret: SECc09d8aad6635f1a4cbadb7c0ab365523c46299f138438cd885e445e0f5f4d730 - users: - - 450841600726084717 \ No newline at end of file + properties: + venue: + name: 江南体育中心通知群 + token: 6a218646972c684c75832b0229ea93a234778af537d7469ce96bef290faf530e + secret: SEC9018755ba86d3e5c1ed2fbfa1d6953d84bb2a6c8ebe7ed4e318457bfed5e0465 + users: + - 450841600726084717 + script: + name: 脚本运行通知群 + token: 797be7f32062e31dec1d567f8b490a5649a5366083618e236c7a1263df1f4af3 + secret: SEC9aca642c0c29c9da261462869c464d34623247583d98fc82343a0a4464abbe91 + users: + - 450841600726084717 + xb: + name: 股票基金变化通知群 + token: ad21ead99f0fdc63aa00d6732b7b0888c17590f7612c68297edfcb71844d1437 + secret: SECc09d8aad6635f1a4cbadb7c0ab365523c46299f138438cd885e445e0f5f4d730 + users: + - 450841600726084717 \ No newline at end of file diff --git a/script/src/main/resources/application.yml b/script/src/main/resources/application.yml index 29f3da7..b4199ee 100644 --- a/script/src/main/resources/application.yml +++ b/script/src/main/resources/application.yml @@ -21,6 +21,9 @@ spring: name: xservice-script-center main: allow-bean-definition-overriding: true + autoconfigure: + exclude: + - com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration http: maxAttempts: 10