机器人-支持钉钉群机器人
This commit is contained in:
@@ -2,24 +2,20 @@ package com.accompany.admin.service.api;
|
||||
|
||||
import com.accompany.admin.mapper.api.MyApiAdminMapper;
|
||||
import com.accompany.admin.model.GiftSendRecordMgr;
|
||||
import com.accompany.business.model.Gift;
|
||||
import com.accompany.business.model.Headwear;
|
||||
import com.accompany.business.mybatismapper.activity.LuckySeaActMapper;
|
||||
import com.accompany.business.param.UserBackpackParam;
|
||||
import com.accompany.business.param.neteasepush.NeteaseSendMsgBatchParam;
|
||||
import com.accompany.business.service.SendSysMsgService;
|
||||
import com.accompany.business.service.activities.ActNewYearFireworkService;
|
||||
import com.accompany.business.service.activities.valentineCp.ActValentineCpService;
|
||||
import com.accompany.business.service.clan.ClanGoldDayFlowService;
|
||||
import com.accompany.business.service.gift.GiftService;
|
||||
import com.accompany.business.service.headwear.HeadwearService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.region.RegionService;
|
||||
import com.accompany.business.service.room.RoomReciveRankingService;
|
||||
import com.accompany.business.service.room.RoomSendRankingService;
|
||||
import com.accompany.business.service.user.UserBackpackService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.config.SystemConfig;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
@@ -75,7 +71,7 @@ public class MyApiService {
|
||||
@Autowired
|
||||
private LuckySeaActMapper luckySeaActMapper;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
|
@@ -2,9 +2,11 @@ package com.accompany.admin.service.push;
|
||||
|
||||
import com.accompany.admin.model.AdminUser;
|
||||
import com.accompany.admin.service.system.AdminUserService;
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.common.utils.EnvComponent;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.core.model.Users;
|
||||
import org.apache.logging.log4j.util.Strings;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -14,16 +16,19 @@ import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class EnterpriseWeChatPushAdminService extends EnterpriseWechatPushService {
|
||||
public class EnterpriseWeChatPushAdminService extends MessageRobotPushService {
|
||||
|
||||
@Autowired
|
||||
private AdminUserService adminUserService;
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
private EnvComponent envComponent;
|
||||
|
||||
public void pushMessage(List<String> erbanNos, String title, int adminId, Long amount) {
|
||||
// 测试环境不推送
|
||||
String env = applicationContext.getEnvironment().getActiveProfiles()[0];
|
||||
logger.info("spring.profiles.active, {}", env);
|
||||
if (!env.equals("prod")) {
|
||||
if (envComponent.getDevOrNativeEnv()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -133,4 +133,17 @@ public class MyApiController {
|
||||
myApiService.send520Headwear(dateTime, headwearId, canUpdate);
|
||||
return new BusiResult<>(BusiStatus.SUCCESS);
|
||||
}
|
||||
|
||||
@RequestMapping("/a")
|
||||
@ResponseBody
|
||||
public BusiResult<Void> a(Long roomId, String dateTime, Integer headwearId, Boolean canUpdate) {
|
||||
if (null == roomId || !roomId.equals(603L)){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
if (!StringUtils.hasText(dateTime) || null == headwearId){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
//myApiService.send520Headwear(dateTime, headwearId, canUpdate);
|
||||
return new BusiResult<>(BusiStatus.SUCCESS);
|
||||
}
|
||||
}
|
||||
|
@@ -25,8 +25,8 @@ public class WebSecurityConfig {
|
||||
private String userRegisterSuccessNotifyUrl;
|
||||
private String userRegisterSuccessNotifyKey;
|
||||
|
||||
// 企业微信推送key
|
||||
private String enterpriseWechatPushKey;
|
||||
// 充值异常
|
||||
private String chargeNotifyWechatPushKey;
|
||||
// 后台赠送
|
||||
private String officialEnterpriseWechatPushKey;
|
||||
// 活动通知企业微信推送key
|
||||
@@ -37,6 +37,8 @@ public class WebSecurityConfig {
|
||||
private String specialEnterpriseWechatPushKey;
|
||||
private String seizeTreasureWechatPushKey;
|
||||
private String findLoveDrawWechatPushKey;
|
||||
// 常驻活动
|
||||
private String openBoxWechatPushKey;
|
||||
|
||||
|
||||
public void setJwtWebKey(String jwtWebKey) {
|
||||
|
@@ -6,12 +6,12 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class EnterpriseWechatPush {
|
||||
public class DingDingPush {
|
||||
|
||||
private static String URL_PREFIX = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=";
|
||||
private static String URL_PREFIX = "https://oapi.dingtalk.com/robot/send?access_token=";
|
||||
|
||||
// 根据key 推送到相关的企业微信群
|
||||
public void pushMessageByKey(String key,MarkdownMessage message) {
|
||||
public void pushMessageByKey(String key, MarkdownMessage message) {
|
||||
String url = URL_PREFIX + key;
|
||||
log.info("EnterpriseWeChatPushService url: {}", url);
|
||||
String content = message.toJsonString();
|
@@ -16,6 +16,14 @@ public class MarkdownMessage {
|
||||
|
||||
private List<String> items = new ArrayList<String>();
|
||||
|
||||
public List<String> getItems() {
|
||||
return items;
|
||||
}
|
||||
|
||||
public void setItems(List<String> items) {
|
||||
this.items = items;
|
||||
}
|
||||
|
||||
public void add(String text) {
|
||||
items.add(text);
|
||||
}
|
||||
|
@@ -0,0 +1,35 @@
|
||||
package com.accompany.core.service.message;
|
||||
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class DingDingRobot implements PlatformMessageRobot {
|
||||
|
||||
private static final String URL_PREFIX = "https://oapi.dingtalk.com/robot/send?access_token=";
|
||||
|
||||
@Override
|
||||
public String getWebhookUrl(String key) {
|
||||
return URL_PREFIX + key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getContent(MarkdownMessage message) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("msgtype", "markdown");
|
||||
|
||||
Map<String, Object> markdown = new HashMap<>();
|
||||
|
||||
StringBuilder markdownText = new StringBuilder();
|
||||
for (String item : message.getItems()) {
|
||||
markdownText.append(item).append("\n");
|
||||
}
|
||||
markdown.put("title", markdownText.toString());
|
||||
markdown.put("text", markdownText.toString());
|
||||
result.put("markdown", markdown);
|
||||
|
||||
return JSON.toJSONString(result);
|
||||
}
|
||||
}
|
@@ -0,0 +1,37 @@
|
||||
package com.accompany.core.service.message;
|
||||
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 企业微信通知
|
||||
*/
|
||||
public class EnterpriseWechatRobot implements PlatformMessageRobot {
|
||||
|
||||
private static final String URL_PREFIX = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=";
|
||||
|
||||
@Override
|
||||
public String getWebhookUrl(String key) {
|
||||
return URL_PREFIX + key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getContent(MarkdownMessage message) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("msgtype", "markdown");
|
||||
|
||||
Map<String, Object> markdown = new HashMap<>();
|
||||
|
||||
StringBuilder markdownText = new StringBuilder();
|
||||
for (String item : message.getItems()) {
|
||||
markdownText.append(item).append("\n");
|
||||
}
|
||||
markdown.put("content", markdownText.toString());
|
||||
result.put("markdown", markdown);
|
||||
|
||||
return JSON.toJSONString(result);
|
||||
}
|
||||
}
|
@@ -0,0 +1,45 @@
|
||||
package com.accompany.core.service.message;
|
||||
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.common.utils.HttpUtils;
|
||||
import com.accompany.core.service.base.BaseService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 企业微信通知
|
||||
*/
|
||||
@Service
|
||||
public class MessageRobotPushService extends BaseService {
|
||||
|
||||
// 根据key 推送到相关的企业微信群
|
||||
public void pushMessageByKey(String key,MarkdownMessage message) {
|
||||
pushMessageByKey(key, message, false);
|
||||
}
|
||||
|
||||
// 根据key 推送到相关的企业微信群
|
||||
public void pushMessageByKey(String key, MarkdownMessage message, boolean isDingDing) {
|
||||
if (StringUtils.isBlank(key)){
|
||||
return;
|
||||
}
|
||||
|
||||
PlatformMessageRobot robot = getRobot(isDingDing);
|
||||
String url = robot.getWebhookUrl(key);
|
||||
logger.info("EnterpriseWeChatPushService url: {}", url);
|
||||
String content = robot.getContent(message);
|
||||
logger.info("EnterpriseWeChatPushService content: {}", content);
|
||||
try {
|
||||
String response = HttpUtils.doPostForJson(url, content);
|
||||
logger.info("EnterpriseWeChatPushService response: {}", response);
|
||||
} catch (Exception e) {
|
||||
logger.error("EnterpriseWeChatPushService error, {}", e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
private PlatformMessageRobot getRobot(boolean isDingDing) {
|
||||
if (isDingDing) {
|
||||
return new DingDingRobot();
|
||||
}
|
||||
return new EnterpriseWechatRobot();
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
package com.accompany.core.service.message;
|
||||
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
|
||||
public interface PlatformMessageRobot {
|
||||
|
||||
String getWebhookUrl(String key);
|
||||
|
||||
String getContent(MarkdownMessage message);
|
||||
|
||||
}
|
@@ -1,11 +1,9 @@
|
||||
package com.accompany.payment.iospay;
|
||||
|
||||
import com.accompany.common.config.SystemConfig;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.AppEnum;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.device.DeviceInfo;
|
||||
import com.accompany.common.push.EnterpriseWechatPush;
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
@@ -16,13 +14,13 @@ import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.SysConfService;
|
||||
import com.accompany.core.service.base.BaseService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.core.service.user.UsersBaseService;
|
||||
import com.accompany.payment.model.ChargeProd;
|
||||
import com.accompany.payment.model.ChargeRecord;
|
||||
import com.accompany.payment.model.UserVipRecord;
|
||||
import com.accompany.payment.service.*;
|
||||
import com.accompany.payment.vo.VipOpenParams;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -50,7 +48,7 @@ public class IOSPayPlaService extends BaseService {
|
||||
@Autowired
|
||||
private UserVipRecordService userVipRecordService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPush enterpriseWechatPush;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
|
||||
|
||||
public BusiResult<RecordIdVo> placeOrder(Long uid, String chargeProdId, String clientIp, String deviceId, DeviceInfo deviceInfo) {
|
||||
@@ -231,6 +229,6 @@ public class IOSPayPlaService extends BaseService {
|
||||
msg.add(MarkdownMessage.getReferenceText("用户累计充值额:"+ userToatlAmount + " ,个人累计限额配置:" + userToatlLimit));
|
||||
msg.add(MarkdownMessage.getReferenceText("发起充值时间:" + DateTimeUtil.getCurrentDateTime()));
|
||||
String key = SystemConfig.ChargeNotify.iosPayUserToatlRobotKey;
|
||||
enterpriseWechatPush.pushMessageByKey(key, msg);
|
||||
messageRobotPushService.pushMessageByKey(key, msg);
|
||||
}
|
||||
}
|
||||
|
@@ -8,7 +8,7 @@ import com.accompany.business.param.neteasepush.NeteaseSendMsgBatchParam;
|
||||
import com.accompany.business.param.neteasepush.NeteaseSendMsgParam;
|
||||
import com.accompany.business.param.neteasepush.Payload;
|
||||
import com.accompany.business.service.SendSysMsgService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.common.config.SystemConfig;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.Attach;
|
||||
@@ -53,7 +53,7 @@ public class CustomerConversationListener implements ApplicationListener<Custome
|
||||
@Autowired
|
||||
private EnvComponent envComponent;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
|
||||
|
@@ -4,7 +4,7 @@ import com.accompany.business.dto.SendGiftWarningDto;
|
||||
import com.accompany.business.event.GiftMessageEvent;
|
||||
import com.accompany.business.message.GiftMessage;
|
||||
import com.accompany.business.mybatismapper.GiftSendRecordMapperExpand;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.Constant;
|
||||
@@ -30,7 +30,7 @@ public class GiftWarningListener implements ApplicationListener<GiftMessageEvent
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private SysConfService sysConfService;
|
||||
@Autowired
|
||||
@@ -81,7 +81,7 @@ public class GiftWarningListener implements ApplicationListener<GiftMessageEvent
|
||||
msg.add(MarkdownMessage.getReferenceText("近24小时内送礼总额(钻石):" + totalDiamondNum.toPlainString()));
|
||||
msg.add(MarkdownMessage.getReferenceText("请判断是否需要介入引导或重视"));
|
||||
String key = webSecurityConfig.getSpecialEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key,msg);
|
||||
messageRobotPushService.pushMessageByKey(key,msg);
|
||||
}
|
||||
|
||||
private SendGiftWarningDto getConfig() {
|
||||
|
@@ -2,7 +2,7 @@ package com.accompany.business.event.listener;
|
||||
|
||||
import com.accompany.business.dto.GoogleChargeWarningDto;
|
||||
import com.accompany.business.event.ChargeSuccessEvent;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.Constant;
|
||||
@@ -36,7 +36,7 @@ public class GoogleChargeWarningListener implements ApplicationListener<ChargeSu
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private SysConfService sysConfService;
|
||||
@Autowired
|
||||
@@ -89,7 +89,7 @@ public class GoogleChargeWarningListener implements ApplicationListener<ChargeSu
|
||||
msg.add(MarkdownMessage.getReferenceText("七日充值笔数" + sevenTimes));
|
||||
msg.add(MarkdownMessage.getReferenceText("请判断是否需要介入引导或重视"));
|
||||
String key = webSecurityConfig.getSpecialEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key,msg);
|
||||
messageRobotPushService.pushMessageByKey(key,msg);
|
||||
}
|
||||
|
||||
private GoogleChargeWarningDto getConfig() {
|
||||
|
@@ -2,7 +2,7 @@ package com.accompany.business.event.listener.charge;
|
||||
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.business.mybatismapper.ChargeNotifyMapper;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.util.ChargeNotifyUtil;
|
||||
import com.accompany.business.vo.ChargeNotifyVO;
|
||||
import com.accompany.common.config.SystemConfig;
|
||||
@@ -39,7 +39,7 @@ public class ChargeNotifyListener implements ApplicationListener<ChargeEvent> {
|
||||
@Autowired
|
||||
private RedissonClient redissonClient;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private ChargeNotifyMapper chargeNotifyMapper;
|
||||
@Autowired
|
||||
@@ -135,7 +135,7 @@ public class ChargeNotifyListener implements ApplicationListener<ChargeEvent> {
|
||||
msg.add(MarkdownMessage.getReferenceText(chargeNotifyUtil.getChannelName(vo.getChargeChannel())));
|
||||
String appName = chargeNotifyUtil.getAppName(vo.getChargeApp());
|
||||
msg.add(MarkdownMessage.getReferenceText("(" + appName + ")" + "前"+ allChannelNotify.getChargeNum() +"次支付失败率≧"+ allChannelNotify.getFailRate() * 100 +"%,请关注"));
|
||||
enterpriseWechatPushService.pushMessageByKey(SystemConfig.ChargeNotify.allChannelRobotKey, msg);
|
||||
messageRobotPushService.pushMessageByKey(SystemConfig.ChargeNotify.allChannelRobotKey, msg);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -12,7 +12,7 @@ package com.accompany.business.event.listener.charge;
|
||||
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.business.mybatismapper.ChargeNotifyMapper;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.util.ChargeNotifyUtil;
|
||||
import com.accompany.business.vo.ChargeNotifyVO;
|
||||
@@ -49,7 +49,7 @@ public class ChargeSinglePersonChannelNotifyListener implements ApplicationListe
|
||||
@Autowired
|
||||
private ChargeNotifyMapper chargeNotifyMapper;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
|
||||
@@ -93,6 +93,6 @@ public class ChargeSinglePersonChannelNotifyListener implements ApplicationListe
|
||||
String content = "用户:" + users.getNick() + "(" + users.getErbanNo() + ")在【" + chargeNotifyUtil.getChannelName(vo.getChargeChannel()) + "】前"
|
||||
+ singlePersonChannelNotify.getChargeNum() + "次发起充值中有" + vo.getFailNum() + "次未成功支付,清判断是否前往查看";
|
||||
msg.add(MarkdownMessage.getReferenceText(content));
|
||||
enterpriseWechatPushService.pushMessageByKey(SystemConfig.ChargeNotify.singlePersonChannelRobotKey,msg);
|
||||
messageRobotPushService.pushMessageByKey(SystemConfig.ChargeNotify.singlePersonChannelRobotKey,msg);
|
||||
}
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@
|
||||
package com.accompany.business.event.listener.gamemanage;
|
||||
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
@@ -52,7 +52,7 @@ public class GameQuotaNotifyListener implements ApplicationListener<QuotaSuccess
|
||||
@Autowired
|
||||
private GameManageInfoService gameManageInfoService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
@@ -130,7 +130,7 @@ public class GameQuotaNotifyListener implements ApplicationListener<QuotaSuccess
|
||||
msg.add(MarkdownMessage.getReferenceText("本场比赛开始进场时间:" + DateTimeUtil.convertDate(info.getEnterStartTime())));
|
||||
msg.add(MarkdownMessage.getReferenceText("本场比赛开始比赛时间:" + DateTimeUtil.convertDate(info.getMatchStartTime())));
|
||||
msg.add(MarkdownMessage.getReferenceText("请务必在【" + DateTimeUtil.convertDate(info.getEnterStartTime()) + "】之前完成上传房间链接操作"));
|
||||
enterpriseWechatPushService.pushMessage(msg, key);
|
||||
messageRobotPushService.pushMessageByKey(key, msg);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -147,6 +147,6 @@ public class GameQuotaNotifyListener implements ApplicationListener<QuotaSuccess
|
||||
msg.add(MarkdownMessage.getReferenceText("赛事类型: 快速赛"));
|
||||
msg.add(MarkdownMessage.getReferenceText("名称: " + info.getTitle()));
|
||||
msg.add(MarkdownMessage.getReferenceText("当前已报名: " + hasQuotaCount + "人(" + info.getMinQuota() + "人开赛),可以开始准备房间并上传房间链接"));
|
||||
enterpriseWechatPushService.pushMessage(msg, key);
|
||||
messageRobotPushService.pushMessageByKey(key, msg);
|
||||
}
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@
|
||||
package com.accompany.business.event.listener.gamemanage;
|
||||
|
||||
import com.accompany.business.service.gamemange.GameManageBizService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
@@ -55,7 +55,7 @@ public class QuickGameQuotaListener implements ApplicationListener<QuotaSuccessE
|
||||
@Autowired
|
||||
private GameManageBizService gameManageBizService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
|
@@ -7,7 +7,7 @@ import com.accompany.business.event.linearlypool.LinearlyPoolPrizeEvent;
|
||||
import com.accompany.business.message.BoxPrizeEntity;
|
||||
import com.accompany.business.message.linearlypool.LinearlyPoolPrizeMessage;
|
||||
import com.accompany.business.service.linearlypool.LinearlyPrizePoolService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.AppEnum;
|
||||
@@ -39,7 +39,7 @@ public class LinearlyPoolPrizeWxNotifyListener implements ApplicationListener<Li
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
|
||||
@@ -73,7 +73,7 @@ public class LinearlyPoolPrizeWxNotifyListener implements ApplicationListener<Li
|
||||
msg.add(MarkdownMessage.getReferenceText(new StringBuilder("奖品: ").append(prizes).toString()));
|
||||
msg.add(MarkdownMessage.getReferenceText(new StringBuilder("获得者: ").append(user.getNick()).append("(").append(user.getErbanNo()).append(")").toString()));
|
||||
msg.add(MarkdownMessage.getReferenceText(new StringBuilder("抽奖时间: ").append(DateTimeUtil.convertDate(new Date(drawTime))).toString()));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@ import com.accompany.business.model.activity.luckysea.LuckySeaActInfo;
|
||||
import com.accompany.business.model.activity.luckysea.LuckySeaDrawItem;
|
||||
import com.accompany.business.mybatismapper.activity.LuckySeaPreWarningMapper;
|
||||
import com.accompany.business.service.activities.luckySea.LuckySeaActInfoService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
@@ -61,7 +61,7 @@ public class LuckySeaPreWarningService {
|
||||
private LuckySeaActInfoService actInfoService;
|
||||
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
|
||||
private static final String START_TIME_KEY = "startTime";
|
||||
private static final String END_TIME_KEY = "endTime";
|
||||
@@ -125,7 +125,7 @@ public class LuckySeaPreWarningService {
|
||||
msg.add(MarkdownMessage.getReferenceText("当前库存数:" + stockStr));
|
||||
msg.add(MarkdownMessage.getReferenceText("请判断是否需要前往后台查看"));
|
||||
String key = webSecurityConfig.getLuckySeaEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key,msg);
|
||||
messageRobotPushService.pushMessageByKey(key,msg);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -211,7 +211,7 @@ public class LuckySeaPreWarningService {
|
||||
msg.add(MarkdownMessage.getReferenceText("游戏执行轮数:" + broadCastStat.getRoundNum()));
|
||||
msg.add(MarkdownMessage.getReferenceText("当前库存数:" + stockStr));
|
||||
String key = webSecurityConfig.getLuckySeaEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key,msg);
|
||||
messageRobotPushService.pushMessageByKey(key,msg);
|
||||
}
|
||||
|
||||
@Async
|
||||
@@ -261,6 +261,6 @@ public class LuckySeaPreWarningService {
|
||||
msg.add(MarkdownMessage.getReferenceText("用户产出总值:" + broadCastStat.getGoldOut()));
|
||||
msg.add(MarkdownMessage.getReferenceText("当前库存数:" + stockStr));
|
||||
String key = webSecurityConfig.getLuckySeaEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key,msg);
|
||||
messageRobotPushService.pushMessageByKey(key,msg);
|
||||
}
|
||||
}
|
||||
|
@@ -14,7 +14,7 @@ import com.accompany.business.service.gift.GiftService;
|
||||
import com.accompany.business.service.headwear.HeadwearService;
|
||||
import com.accompany.business.service.nameplate.UserNameplateService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.accompany.business.service.user.UserBackpackService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -91,7 +91,7 @@ public class ActNewYearFireworkService implements InitializingBean, ApplicationL
|
||||
@Autowired
|
||||
private UserInfoCardService userInfoCardService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
@@ -303,7 +303,7 @@ public class ActNewYearFireworkService implements InitializingBean, ApplicationL
|
||||
msg.add(MarkdownMessage.getHeaderText(3, "2023新年烟花活动产出每日产出预警"));
|
||||
msg.add(MarkdownMessage.getReferenceText(String.format(" %d %s 在第 %d 个池 抽出 %s 被触发的每日产出数量限制 %d 个, 目前已经产出 %s",
|
||||
users.getErbanNo(), users.getNick(), type, null != drawGift? drawGift.getGiftName(): cacheKey, dayLimit, todayOutputNumMap)));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -330,7 +330,7 @@ public class ActNewYearFireworkService implements InitializingBean, ApplicationL
|
||||
msg.add(MarkdownMessage.getHeaderText(3, "2023新年烟花活动产出每日产出预警"));
|
||||
msg.add(MarkdownMessage.getReferenceText(String.format(" %d %s 在第 %d 个池 抽出 %s 触发每日产出数量限制 %d 个的 百分之70, 目前已经产出 %s",
|
||||
users.getErbanNo(), users.getNick(), type, null != drawGift? drawGift.getGiftName(): cacheKey, dayLimit, todayOutputNumMap)));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
});
|
||||
}
|
||||
} else if (ratio >= 0.5d) {
|
||||
@@ -355,7 +355,7 @@ public class ActNewYearFireworkService implements InitializingBean, ApplicationL
|
||||
msg.add(MarkdownMessage.getHeaderText(3, "2023新年烟花活动产出每日产出预警"));
|
||||
msg.add(MarkdownMessage.getReferenceText(String.format(" %d %s 在第 %d 个池 抽出 %s 触发每日产出数量限制 %d 个的 百分之50, 目前已经产出 %s",
|
||||
users.getErbanNo(), users.getNick(), type, null != drawGift? drawGift.getGiftName(): cacheKey, dayLimit, todayOutputNumMap)));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@ import com.accompany.business.mybatismapper.activity.ActValentineCpMapper;
|
||||
import com.accompany.business.param.UserBackpackParam;
|
||||
import com.accompany.business.service.gift.GiftService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.accompany.business.service.user.UserBackpackService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -272,8 +272,8 @@ public class ActValentineCpBuyService {
|
||||
getConfig().getOutputLimit(), globalOutput, userOutput)));
|
||||
|
||||
WebSecurityConfig webSecurityConfig = SpringContextHolder.getBean(WebSecurityConfig.class);
|
||||
EnterpriseWechatPushService enterpriseWechatPushService = SpringContextHolder.getBean(EnterpriseWechatPushService.class);
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
MessageRobotPushService messageRobotPushService = SpringContextHolder.getBean(MessageRobotPushService.class);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
});
|
||||
}
|
||||
|
||||
|
@@ -5,10 +5,14 @@ import com.accompany.business.constant.PrizeLevelEnum;
|
||||
import com.accompany.business.event.box.BoxPrizeEvent;
|
||||
import com.accompany.business.message.BoxPrizeEntity;
|
||||
import com.accompany.business.message.BoxPrizeMessage;
|
||||
import com.accompany.business.model.Prize;
|
||||
import com.accompany.business.model.box.NormalBigPrizeConfig;
|
||||
import com.accompany.business.param.neteasepush.Payload;
|
||||
import com.accompany.business.service.ErBanNetEaseService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.business.util.SpringContextHolder;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.room.RoomQueryService;
|
||||
import com.accompany.business.service.room.RoomService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -34,6 +38,7 @@ import com.google.gson.Gson;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -73,7 +78,9 @@ public class BoxPrizeMessageService {
|
||||
@Autowired
|
||||
private NormalBigPrizeService normalBigPrizeService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
|
||||
/**
|
||||
* 一次性批量发送的房间数量
|
||||
@@ -138,7 +145,8 @@ public class BoxPrizeMessageService {
|
||||
if (normalBigPrizeConfig != null && normalBigPrizeConfig.getPrizeId().equals(entity.getPrizeId())) {
|
||||
// 重置特殊礼物次数
|
||||
normalBigPrizeService.resetNormalBigPrizeCount(normalBigPrizeConfig);
|
||||
enterpriseWechatPushService.pushBigBoxPrizeMessage(normalBigPrizeConfig, entity.getPrizeId(), uid);
|
||||
SpringContextHolder.getBean(BoxPrizeMessageService.class).pushBigBoxPrizeMessage(normalBigPrizeConfig, entity.getPrizeId(), uid);
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("failed to send prize msg, roomUid={}, uid={}, entity={}", roomUid, uid, JSONObject.toJSONString(entity), e);
|
||||
@@ -146,6 +154,35 @@ public class BoxPrizeMessageService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Async
|
||||
public void pushBigBoxPrizeMessage(NormalBigPrizeConfig normalBigPrizeConfig, Integer prizeId, Long uid) {
|
||||
String env = "";
|
||||
if (normalBigPrizeConfig.getNotify() == 0) {
|
||||
return;
|
||||
} else if (normalBigPrizeConfig.getNotify() == 1) {
|
||||
// 测试环境不推送
|
||||
env = applicationContext.getEnvironment().getActiveProfiles()[0];
|
||||
if (!env.equals("prod")) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
Prize prize = SpringContextHolder.getBean(PrizeService.class).getPrizeById(prizeId);
|
||||
String userInfo = "";
|
||||
Users users = usersService.getUsersByUid(uid);
|
||||
if (users != null) {
|
||||
userInfo = String.format("%s[%s]", users.getNick(), users.getErbanNo());
|
||||
}
|
||||
|
||||
MarkdownMessage msg = new MarkdownMessage();
|
||||
msg.add(MarkdownMessage.getHeaderText(3, "许愿池特殊礼物通知" + env));
|
||||
msg.add(MarkdownMessage.getReferenceText("APP应用: 平台"));
|
||||
msg.add(MarkdownMessage.getReferenceText("奖品: " + prize.getPrizeName()));
|
||||
msg.add(MarkdownMessage.getReferenceText("获得者: " + userInfo));
|
||||
msg.add(MarkdownMessage.getReferenceText("时间:" + DateTimeUtil.getCurrentDateTime()));
|
||||
// 发送消息
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getOpenBoxWechatPushKey(), msg);
|
||||
}
|
||||
|
||||
private long chooseMeg(boolean publicSend, final Long roomUid, final Long uid, final BoxPrizeEntity entity, final Byte boxType, final Boolean msgSwitch) throws Exception {
|
||||
long result = 0;
|
||||
BoxPrizePushMsg msg = buildPrizePushMsg(roomUid, uid, entity, boxType);
|
||||
|
@@ -16,7 +16,7 @@ import com.accompany.business.dto.callbattle.ActCallBattlePreWarningConfig;
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.business.mybatismapper.callbattle.ActCallBattlePreWarningMapper;
|
||||
import com.accompany.business.service.callbattle.impl.ActCallBattleBizServiceImpl;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
@@ -53,7 +53,7 @@ public class ActCallBattlePreWarningService {
|
||||
@Autowired
|
||||
private ActCallBattlePreWarningMapper actCallBattlePreWarningMapper;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
@@ -134,7 +134,7 @@ public class ActCallBattlePreWarningService {
|
||||
msg.add(MarkdownMessage.getReferenceText("前"+ roundNum + "轮产出:" + stat.getGoldOut()));
|
||||
msg.add(MarkdownMessage.getReferenceText("请判断是否需要前往后台查看"));
|
||||
String key = webSecurityConfig.getActivityEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key, msg);
|
||||
messageRobotPushService.pushMessageByKey(key, msg);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -220,7 +220,7 @@ public class ActCallBattlePreWarningService {
|
||||
String stockStr = new BigDecimal(stock).divide(new BigDecimal(ActCallBattleBizServiceImpl.HANDLE_STOCK_MULTIPLE), 2, RoundingMode.HALF_DOWN).toString();
|
||||
msg.add(MarkdownMessage.getReferenceText("当前库存数:" + stockStr));
|
||||
String key = webSecurityConfig.getActivityEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key, msg);
|
||||
messageRobotPushService.pushMessageByKey(key, msg);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@ import com.accompany.business.model.findlove.FindLoveDrawPoolItem;
|
||||
import com.accompany.business.model.findlove.FindLoveDrawRecord;
|
||||
import com.accompany.business.mybatismapper.findlove.FindLoveDrawRecordMapper;
|
||||
import com.accompany.business.service.ErBanNetEaseService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.room.RoomQueryService;
|
||||
import com.accompany.business.service.room.RoomService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -55,7 +55,7 @@ public class FindLoveMsgService {
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private ErBanNetEaseService erBanNetEaseService;
|
||||
@Resource(name = "bizExecutor")
|
||||
@@ -99,7 +99,7 @@ public class FindLoveMsgService {
|
||||
msg.add(MarkdownMessage.getReferenceText("新奖池个数: " + newPool.size()));
|
||||
msg.add(MarkdownMessage.getReferenceText("高级礼物分布: " + highIndexStr));
|
||||
msg.add(MarkdownMessage.getReferenceText("耗时(毫秒): " + ms));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getFindLoveDrawWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getFindLoveDrawWechatPushKey(), msg);
|
||||
}
|
||||
|
||||
public void sendGiftMessage(FindLoveDrawConfigDto configDto, Boolean needWindowMessage, Long roomUid, Long uid, List<FindLoveDrawRecord> recordList) {
|
||||
@@ -196,7 +196,7 @@ public class FindLoveMsgService {
|
||||
msg.add(MarkdownMessage.getReferenceText("总抽奖次数: " + broadCastStat.getNum()));
|
||||
msg.add(MarkdownMessage.getReferenceText("用户投入总价值: " + broadCastStat.getDiamondIn()));
|
||||
msg.add(MarkdownMessage.getReferenceText("用户产出总价值: " + broadCastStat.getDiamondOut()));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getFindLoveDrawWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getFindLoveDrawWechatPushKey(), msg);
|
||||
}
|
||||
|
||||
private FindLoveDrawWarningConfig getConfig() {
|
||||
@@ -217,7 +217,7 @@ public class FindLoveMsgService {
|
||||
msg.add(MarkdownMessage.getReferenceText("奖品价值: " + record.getDiamonds()));
|
||||
msg.add(MarkdownMessage.getReferenceText("产出数量: " + record.getNum()));
|
||||
msg.add(MarkdownMessage.getReferenceText("获得者: " + users.getNick() + "(" + users.getErbanNo() + ")"));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getFindLoveDrawWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getFindLoveDrawWechatPushKey(), msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -6,7 +6,7 @@ import com.accompany.business.model.UserPurse;
|
||||
import com.accompany.business.mybatismapper.iospay.IOSPayMapper;
|
||||
import com.accompany.business.param.neteasepush.NeteaseSendMsgParam;
|
||||
import com.accompany.business.service.SendSysMsgService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.common.config.SystemConfig;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.model.Users;
|
||||
@@ -39,7 +39,7 @@ public class IAPMessageService {
|
||||
@Autowired
|
||||
private IOSPayMapper iosPayMapper;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private SendSysMsgService sendSysMsgService;
|
||||
|
||||
@@ -82,7 +82,7 @@ public class IAPMessageService {
|
||||
purseInfo = String.format(purseInfo, userPurse.getDiamonds(), userPurse.getGolds(), userPurse.getCrystals());
|
||||
}
|
||||
msg.add(MarkdownMessage.getReferenceText(purseInfo));
|
||||
enterpriseWechatPushService.pushMessageByKey(SystemConfig.ChargeNotify.iapRefundRobotKey,msg);
|
||||
messageRobotPushService.pushMessageByKey(SystemConfig.ChargeNotify.iapRefundRobotKey,msg);
|
||||
}
|
||||
|
||||
@Async
|
||||
@@ -100,7 +100,7 @@ public class IAPMessageService {
|
||||
purseInfo = String.format(purseInfo, userPurse.getDiamonds(), userPurse.getGolds(), userPurse.getCrystals());
|
||||
}
|
||||
msg.add(MarkdownMessage.getReferenceText(purseInfo));
|
||||
enterpriseWechatPushService.pushMessageByKey(SystemConfig.ChargeNotify.iapConsumptionRequestRobotKey,msg);
|
||||
messageRobotPushService.pushMessageByKey(SystemConfig.ChargeNotify.iapConsumptionRequestRobotKey,msg);
|
||||
}
|
||||
|
||||
@Async
|
||||
|
@@ -21,7 +21,7 @@ import com.accompany.business.model.user.UserActPropertyInfoV2;
|
||||
import com.accompany.business.mybatismapper.PrizeMapper;
|
||||
import com.accompany.business.service.box.PrizeService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.user.UserActPropertyInfoV2Service;
|
||||
import com.accompany.business.util.ReplaceDomainUtil;
|
||||
import com.accompany.business.vo.PrizeWithRateVo;
|
||||
@@ -94,7 +94,7 @@ public class LinearlyPrizePoolService {
|
||||
@Autowired
|
||||
private LinearlyPrizePoolDrawLineItemDayService linearlyPrizePoolDrawLineItemDayService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
|
||||
@@ -582,7 +582,7 @@ public class LinearlyPrizePoolService {
|
||||
msg.add(MarkdownMessage.getReferenceText(new StringBuilder("用户参与总数: ").append(statisticsRes.getTotalPrice()).toString()));
|
||||
msg.add(MarkdownMessage.getReferenceText(new StringBuilder("用户产出总价值: ").append(statisticsRes.getTotalPlatformValue()).toString()));
|
||||
msg.add(MarkdownMessage.getReferenceText(new StringBuilder("游戏进行次数 ").append(statisticsRes.getDrawCounts()).toString()));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getActivityEnterpriseWechatPushKey(), msg);
|
||||
}
|
||||
|
||||
@Data
|
||||
|
@@ -1,109 +0,0 @@
|
||||
package com.accompany.business.service.push;
|
||||
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.business.model.Prize;
|
||||
import com.accompany.business.model.box.NormalBigPrizeConfig;
|
||||
import com.accompany.business.service.box.PrizeService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.common.utils.HttpUtils;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.base.BaseService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 企业微信通知
|
||||
*/
|
||||
@Service
|
||||
public class EnterpriseWechatPushService extends BaseService {
|
||||
|
||||
private static String URL_PREFIX = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=";
|
||||
|
||||
@Autowired
|
||||
protected WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
public ApplicationContext applicationContext;
|
||||
@Autowired
|
||||
private PrizeService prizeService;
|
||||
@Autowired
|
||||
protected UsersService usersService;
|
||||
|
||||
public void pushMessage(MarkdownMessage message) {
|
||||
String url = URL_PREFIX + webSecurityConfig.getEnterpriseWechatPushKey();
|
||||
logger.info("EnterpriseWeChatPushService url: {}", url);
|
||||
String content = message.toJsonString();
|
||||
logger.info("EnterpriseWeChatPushService content: {}", content);
|
||||
try {
|
||||
String response = HttpUtils.doPostForJson(url, content);
|
||||
logger.info("EnterpriseWeChatPushService response: {}", response);
|
||||
} catch (Exception e) {
|
||||
logger.error("EnterpriseWeChatPushService error, {}", e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
// 根据key 推送到相关的企业微信群
|
||||
public void pushMessageByKey(String key,MarkdownMessage message) {
|
||||
String url = URL_PREFIX + key;
|
||||
logger.info("EnterpriseWeChatPushService url: {}", url);
|
||||
String content = message.toJsonString();
|
||||
logger.info("EnterpriseWeChatPushService content: {}", content);
|
||||
try {
|
||||
String response = HttpUtils.doPostForJson(url, content);
|
||||
logger.info("EnterpriseWeChatPushService response: {}", response);
|
||||
} catch (Exception e) {
|
||||
logger.error("EnterpriseWeChatPushService error, {}", e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Async
|
||||
public void pushBigBoxPrizeMessage(NormalBigPrizeConfig normalBigPrizeConfig, Integer prizeId, Long uid) {
|
||||
String env = "";
|
||||
if (normalBigPrizeConfig.getNotify() == 0) {
|
||||
return;
|
||||
} else if (normalBigPrizeConfig.getNotify() == 1) {
|
||||
// 测试环境不推送
|
||||
env = applicationContext.getEnvironment().getActiveProfiles()[0];
|
||||
logger.info("spring.profiles.active, {}", env);
|
||||
if (!env.equals("prod")) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
Prize prize = prizeService.getPrizeById(prizeId);
|
||||
String userInfo = "";
|
||||
Users users = usersService.getUsersByUid(uid);
|
||||
if (users != null) {
|
||||
userInfo = String.format("%s[%s]", users.getNick(), users.getErbanNo());
|
||||
}
|
||||
|
||||
MarkdownMessage msg = new MarkdownMessage();
|
||||
msg.add(MarkdownMessage.getHeaderText(3, "许愿池特殊礼物通知" + env));
|
||||
msg.add(MarkdownMessage.getReferenceText("APP应用: 平台"));
|
||||
msg.add(MarkdownMessage.getReferenceText("奖品: " + prize.getPrizeName()));
|
||||
msg.add(MarkdownMessage.getReferenceText("获得者: " + userInfo));
|
||||
msg.add(MarkdownMessage.getReferenceText("时间:" + DateTimeUtil.getCurrentDateTime()));
|
||||
// 发送消息
|
||||
this.pushMessage(msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送企业微信通知
|
||||
* @param message 需要发送的消息
|
||||
* @param key 需要发送的推送群的机器人key
|
||||
*/
|
||||
public void pushMessage(MarkdownMessage message, String key) {
|
||||
String url = URL_PREFIX + key;
|
||||
logger.info("EnterpriseWeChatPushService url: {}", url);
|
||||
String content = message.toJsonString();
|
||||
logger.info("EnterpriseWeChatPushService content: {}", content);
|
||||
try {
|
||||
String response = HttpUtils.doPostForJson(url, content);
|
||||
logger.info("EnterpriseWeChatPushService response: {}", response);
|
||||
} catch (Exception e) {
|
||||
logger.error("EnterpriseWeChatPushService error, {}", e.toString());
|
||||
}
|
||||
}
|
||||
}
|
@@ -5,7 +5,7 @@ import com.accompany.business.dto.seekElfin.SeekElfinGoldPreWarningDTO;
|
||||
import com.accompany.business.dto.seekElfin.SeekElfinPreWarningConfig;
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.business.mybatismapper.seekelfin.SeekElfinPreWarningMapper;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.util.seekelfin.SeekElfinUtil;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.constant.Constant;
|
||||
@@ -41,7 +41,7 @@ public class SeekElfinPreWarningService {
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private SeekElfinUtil seekElfinUtil;
|
||||
|
||||
@@ -117,7 +117,7 @@ public class SeekElfinPreWarningService {
|
||||
msg.add(MarkdownMessage.getReferenceText("前"+ roundNum + "次产出:" + stat.getGoldOut()));
|
||||
msg.add(MarkdownMessage.getReferenceText("请判断是否需要前往后台查看"));
|
||||
String key = webSecurityConfig.getSeekElfinEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key, msg);
|
||||
messageRobotPushService.pushMessageByKey(key, msg);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -203,6 +203,6 @@ public class SeekElfinPreWarningService {
|
||||
String stockStr = new BigDecimal(stock).divide(new BigDecimal(SeekElfinUtil.HANDLE_STOCK_MULTIPLE), 2, RoundingMode.HALF_DOWN).toString();
|
||||
msg.add(MarkdownMessage.getReferenceText("当前库存数:" + stockStr));
|
||||
String key = webSecurityConfig.getSeekElfinEnterpriseWechatPushKey();
|
||||
enterpriseWechatPushService.pushMessageByKey(key, msg);
|
||||
messageRobotPushService.pushMessageByKey(key, msg);
|
||||
}
|
||||
}
|
||||
|
@@ -14,7 +14,7 @@ import com.accompany.business.service.headwear.HeadwearService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
import com.accompany.business.service.nameplate.UserNameplateService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.room.RoomService;
|
||||
import com.accompany.business.service.user.UserActPropertyInfoV2Service;
|
||||
import com.accompany.business.service.user.UserBackpackService;
|
||||
@@ -131,7 +131,7 @@ public class SeizeTreasureService {
|
||||
@Autowired
|
||||
private LevelService levelService;
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
private Gson gson = new GsonBuilder()
|
||||
@@ -1282,7 +1282,7 @@ public class SeizeTreasureService {
|
||||
msg.add(MarkdownMessage.getReferenceText("总抽奖次数: " + seizeTreasureStaticVo.getDrawCountNum()));
|
||||
msg.add(MarkdownMessage.getReferenceText("用户投入总价值: " + seizeTreasureStaticVo.getDrawInputValue()));
|
||||
msg.add(MarkdownMessage.getReferenceText("用户产出总价值: " + seizeTreasureStaticVo.getDrawOutputValue()));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getSeizeTreasureWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getSeizeTreasureWechatPushKey(), msg);
|
||||
}
|
||||
|
||||
public void giftOutputMsg(Long uid, SeizeTreasurePoolRewardVo rewardVo) {
|
||||
@@ -1296,6 +1296,6 @@ public class SeizeTreasureService {
|
||||
msg.add(MarkdownMessage.getReferenceText("奖品价值: " + rewardVo.getRewardShowValue()));
|
||||
msg.add(MarkdownMessage.getReferenceText("产出数量: " + rewardVo.getRewardNum()));
|
||||
msg.add(MarkdownMessage.getReferenceText("获得者: " + users.getNick() + "(" + users.getErbanNo() + ")"));
|
||||
enterpriseWechatPushService.pushMessageByKey(webSecurityConfig.getSeizeTreasureWechatPushKey(), msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getSeizeTreasureWechatPushKey(), msg);
|
||||
}
|
||||
}
|
||||
|
@@ -11,12 +11,12 @@
|
||||
package com.accompany.scheduler.task;
|
||||
|
||||
import com.accompany.business.util.ChargeNotifyUtil;
|
||||
import com.accompany.common.config.WebSecurityConfig;
|
||||
import com.accompany.common.push.MarkdownMessage;
|
||||
import com.accompany.business.mybatismapper.ChargeNotifyMapper;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.vo.ChargeNotifyVO;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.utils.StringUtils;
|
||||
import com.accompany.core.service.SysConfService;
|
||||
import com.accompany.scheduler.base.BaseTask;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@@ -39,7 +39,9 @@ import java.util.List;
|
||||
@Slf4j
|
||||
public class ChargeNotifyTask extends BaseTask {
|
||||
@Autowired
|
||||
private EnterpriseWechatPushService enterpriseWechatPushService;
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
@Autowired
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private ChargeNotifyMapper chargeNotifyMapper;
|
||||
@Autowired
|
||||
@@ -74,7 +76,7 @@ public class ChargeNotifyTask extends BaseTask {
|
||||
msg.add(MarkdownMessage.getReferenceText(chargeNotifyUtil.getAppName(vo.getChargeChannel())));
|
||||
String appName = chargeNotifyUtil.getAppName(vo.getChargeApp());
|
||||
msg.add(MarkdownMessage.getReferenceText("(" + appName + ")" + "前10分钟支付失败率过高,请关注"));
|
||||
enterpriseWechatPushService.pushMessage(msg);
|
||||
messageRobotPushService.pushMessageByKey(webSecurityConfig.getChargeNotifyWechatPushKey(), msg);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user