perf:fwd钉钉群消息发送
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -35,7 +35,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
<artifactId>xservice-message-starter</artifactId>
|
<artifactId>xservice-message-starter</artifactId>
|
||||||
<version>1.1</version>
|
<version>1.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<artifactId>script</artifactId>
|
<artifactId>script</artifactId>
|
||||||
|
|
||||||
|
|||||||
@@ -5,16 +5,20 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.xiang.xservice.basic.utils.DateUtils;
|
import com.xiang.xservice.basic.utils.DateUtils;
|
||||||
import com.xiang.xservice.basic.utils.PrimaryKeyUtils;
|
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.param.FwdOrderTaskParam;
|
||||||
import com.xiang.xservice.fwd.entity.pojo.FPerformConfig;
|
import com.xiang.xservice.fwd.entity.pojo.FPerformConfig;
|
||||||
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
|
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
|
||||||
import com.xiang.xservice.fwd.entity.pojo.FPerformSeatInfo;
|
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.FwdAudienceConfigMapper;
|
||||||
import com.xiang.xservice.fwd.mapper.FwdPerformConfigMapper;
|
import com.xiang.xservice.fwd.mapper.FwdPerformConfigMapper;
|
||||||
import com.xiang.xservice.fwd.mapper.FwdPerformProjectInfoMapper;
|
import com.xiang.xservice.fwd.mapper.FwdPerformProjectInfoMapper;
|
||||||
import com.xiang.xservice.fwd.mapper.FwdUserConfigMapper;
|
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.IPerformService;
|
||||||
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
|
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
|
||||||
import com.xiang.xservice.schedule.core.DynamicTaskScheduler;
|
import com.xiang.xservice.schedule.core.DynamicTaskScheduler;
|
||||||
@@ -58,7 +62,7 @@ public class FwdImportantMsgJob {
|
|||||||
private final FwdPerformProjectInfoMapper performProjectInfoMapper;
|
private final FwdPerformProjectInfoMapper performProjectInfoMapper;
|
||||||
private final FwdPerformConfigMapper performConfigMapper;
|
private final FwdPerformConfigMapper performConfigMapper;
|
||||||
private final DynamicTaskScheduler dynamicTaskScheduler;
|
private final DynamicTaskScheduler dynamicTaskScheduler;
|
||||||
private final DingTalkService dingTalkService;
|
private final DingTalkFWDMsgService dingTalkFWDMsgService;
|
||||||
private final FwdUserConfigMapper fwdUserConfigMapper;
|
private final FwdUserConfigMapper fwdUserConfigMapper;
|
||||||
private final FwdAudienceConfigMapper fwdAudienceConfigMapper;
|
private final FwdAudienceConfigMapper fwdAudienceConfigMapper;
|
||||||
private final IPerformService iPerformService;
|
private final IPerformService iPerformService;
|
||||||
@@ -128,7 +132,7 @@ public class FwdImportantMsgJob {
|
|||||||
savaTask(data, taskId, params);
|
savaTask(data, taskId, params);
|
||||||
}
|
}
|
||||||
msg.append("请注意进行数据库配置的更改!");
|
msg.append("请注意进行数据库配置的更改!");
|
||||||
dingTalkService.sendRobotMessage(msg.toString());
|
dingTalkFWDMsgService.sendFWDMsg(msg.toString());
|
||||||
log.info("【芬玩岛】演唱会预售定时任务结束!time:{}", System.currentTimeMillis());
|
log.info("【芬玩岛】演唱会预售定时任务结束!time:{}", System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,12 +229,7 @@ public class FwdImportantMsgJob {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
try {
|
dingTalkFWDMsgService.sendFWDMsg(msg.toString());
|
||||||
dingTalkService.sendRobotMessage(msg.toString());
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("信息发送异常, 信息:{}", msg, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void savaTask(FPerformProjectInfo data, long taskId, Map<String, Object> params) {
|
private void savaTask(FPerformProjectInfo data, long taskId, Map<String, Object> params) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,7 +2,6 @@ package com.xiang.xservice.fwd.service.impl;
|
|||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.xiang.xservice.basic.config.MyThreadFactory;
|
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.FPerformConfig;
|
||||||
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
|
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
|
||||||
import com.xiang.xservice.fwd.entity.pojo.FPerformSeatInfo;
|
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.FwdPerformProjectInfoMapper;
|
||||||
import com.xiang.xservice.fwd.mapper.FwdPerformSeatInfoMapper;
|
import com.xiang.xservice.fwd.mapper.FwdPerformSeatInfoMapper;
|
||||||
import com.xiang.xservice.fwd.mapper.FwdUserConfigMapper;
|
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.IPerformService;
|
||||||
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
|
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
|
||||||
import com.xiang.xservice.http.helper.HttpRequestHelper;
|
import com.xiang.xservice.http.helper.HttpRequestHelper;
|
||||||
@@ -45,7 +45,7 @@ public class PerformServiceImpl implements IPerformService {
|
|||||||
private final FwdPerformProjectInfoMapper fwdPerformProjectInfoMapper;
|
private final FwdPerformProjectInfoMapper fwdPerformProjectInfoMapper;
|
||||||
private final FwdPerformConfigMapper fwdPerformConfigMapper;
|
private final FwdPerformConfigMapper fwdPerformConfigMapper;
|
||||||
private final IPerformServiceHttp performServiceHttp;
|
private final IPerformServiceHttp performServiceHttp;
|
||||||
private final DingTalkService dingTalkService;
|
private final DingTalkFWDMsgService dingTalkService;
|
||||||
private final FwdUserConfigMapper fwdUserConfigMapper;
|
private final FwdUserConfigMapper fwdUserConfigMapper;
|
||||||
@Value("${DingTalk.chatId}")
|
@Value("${DingTalk.chatId}")
|
||||||
private String chatId;
|
private String chatId;
|
||||||
@@ -110,7 +110,7 @@ public class PerformServiceImpl implements IPerformService {
|
|||||||
if (Objects.nonNull(projectOrder)) {
|
if (Objects.nonNull(projectOrder)) {
|
||||||
log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder));
|
log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder));
|
||||||
String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在2分钟内完成付款!";
|
String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在2分钟内完成付款!";
|
||||||
dingTalkService.sendRobotMessage(msg);
|
dingTalkService.sendFWDMsg(msg);
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import java.time.LocalDate;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -136,6 +137,8 @@ public class FundMsgReportJob {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void buildMsg(List<FundList> funds, Map<String, XbFundList> fundMap, StringBuilder msg) {
|
private static void buildMsg(List<FundList> funds, Map<String, XbFundList> fundMap, StringBuilder msg) {
|
||||||
|
funds = funds.stream().sorted(Comparator.comparing(FundList::getChange).reversed())
|
||||||
|
.collect(Collectors.toList());
|
||||||
for (FundList fund : funds) {
|
for (FundList fund : funds) {
|
||||||
if (fundMap.containsKey(fund.getCode())) {
|
if (fundMap.containsKey(fund.getCode())) {
|
||||||
XbFundList fundList = fundMap.get(fund.getCode());
|
XbFundList fundList = fundMap.get(fund.getCode());
|
||||||
|
|||||||
@@ -21,3 +21,14 @@ aliyun:
|
|||||||
dns:
|
dns:
|
||||||
RR:
|
RR:
|
||||||
- local
|
- local
|
||||||
|
|
||||||
|
DingTalk:
|
||||||
|
# 钉钉消息用户,用逗号隔开
|
||||||
|
userList: "450841600726084717"
|
||||||
|
# 钉钉消息群ID,需要调用/chat/create api创建群返回
|
||||||
|
chatId: "chatd16d8daeea33b36b73588c676d508096"
|
||||||
|
robot:
|
||||||
|
token: ad21ead99f0fdc63aa00d6732b7b0888c17590f7612c68297edfcb71844d1437
|
||||||
|
secret: SECc09d8aad6635f1a4cbadb7c0ab365523c46299f138438cd885e445e0f5f4d730
|
||||||
|
userIds:
|
||||||
|
- 450841600726084717
|
||||||
@@ -21,4 +21,15 @@ aliyun:
|
|||||||
dns:
|
dns:
|
||||||
RR:
|
RR:
|
||||||
- client
|
- client
|
||||||
- file
|
- file
|
||||||
|
|
||||||
|
DingTalk:
|
||||||
|
# 钉钉消息用户,用逗号隔开
|
||||||
|
userList: "450841600726084717"
|
||||||
|
# 钉钉消息群ID,需要调用/chat/create api创建群返回
|
||||||
|
chatId: "chatd16d8daeea33b36b73588c676d508096"
|
||||||
|
robot:
|
||||||
|
token: 340a9d39a5b0b6a52ba2262f9c27179cf50e3c8cfe6883ca082649d306038f41
|
||||||
|
secret: SECe10ade3058880b84df5c6f46ab072c11f4ac2a5ef9f134d684705c2a3b004de2
|
||||||
|
userIds:
|
||||||
|
- 450841600726084717
|
||||||
@@ -20,4 +20,15 @@ spring:
|
|||||||
aliyun:
|
aliyun:
|
||||||
dns:
|
dns:
|
||||||
RR:
|
RR:
|
||||||
- test
|
- test
|
||||||
|
|
||||||
|
DingTalk:
|
||||||
|
# 钉钉消息用户,用逗号隔开
|
||||||
|
userList: "450841600726084717"
|
||||||
|
# 钉钉消息群ID,需要调用/chat/create api创建群返回
|
||||||
|
chatId: "chatd16d8daeea33b36b73588c676d508096"
|
||||||
|
robot:
|
||||||
|
token: ad21ead99f0fdc63aa00d6732b7b0888c17590f7612c68297edfcb71844d1437
|
||||||
|
secret: SECc09d8aad6635f1a4cbadb7c0ab365523c46299f138438cd885e445e0f5f4d730
|
||||||
|
userIds:
|
||||||
|
- 450841600726084717
|
||||||
@@ -5,12 +5,6 @@ mybatis:
|
|||||||
configuration:
|
configuration:
|
||||||
map-underscore-to-camel-case: true
|
map-underscore-to-camel-case: true
|
||||||
|
|
||||||
DingTalk:
|
|
||||||
# 钉钉消息用户,用逗号隔开
|
|
||||||
userList: "450841600726084717"
|
|
||||||
# 钉钉消息群ID,需要调用/chat/create api创建群返回
|
|
||||||
chatId: "chatd16d8daeea33b36b73588c676d508096"
|
|
||||||
|
|
||||||
xiaobei:
|
xiaobei:
|
||||||
unionId: o896o5y8bJZYMh2gdKhDdmUKc0Wk
|
unionId: o896o5y8bJZYMh2gdKhDdmUKc0Wk
|
||||||
codeArr: "010364, 022150, 013224, 008960, 013841, 015528, 012414, 020412, 014662, 016814, 014422, 015596, 007844,
|
codeArr: "010364, 022150, 013224, 008960, 013841, 015528, 012414, 020412, 014662, 016814, 014422, 015596, 007844,
|
||||||
|
|||||||
Reference in New Issue
Block a user