|
@@ -6,6 +6,7 @@ import com.yonge.cooleshow.biz.dal.dao.MemberPriceSettingsDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.VipRecordSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.ActivityReward;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.MemberPriceSettings;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.Student;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.PeriodEnum;
|
|
@@ -25,6 +26,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.VipCardRecordSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.VipCardRecordDao;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
|
|
|
|
|
|
|
@Service
|
|
@@ -184,7 +186,9 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
|
|
|
}
|
|
|
temporaryFlagMap.put(record.getUserId(), record.getUserId());
|
|
|
//发送消息
|
|
|
- temporary3DaysSend(record.getUserId(), record.getPhone());
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ temporary3DaysSend(record.getUserId(), record.getPhone(),record.getClientType());
|
|
|
+ });
|
|
|
record.setMsgStatus(1);
|
|
|
record.setUpdateTime(new Date());
|
|
|
|
|
@@ -203,7 +207,10 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
|
|
|
}
|
|
|
expireFlagMap.put(record.getUserId(), record.getUserId());
|
|
|
//发送消息
|
|
|
- expireSend(record.getUserId(), record.getPhone(),record.getClientType());
|
|
|
+ //发送消息
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ expireSend(record.getUserId(), record.getPhone(), record.getClientType());
|
|
|
+ });
|
|
|
record.setMsgStatus(2);
|
|
|
record.setUpdateTime(new Date());
|
|
|
|
|
@@ -222,23 +229,27 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
|
|
|
}
|
|
|
|
|
|
// 发送会员到期3天消息推送
|
|
|
- private void temporary3DaysSend(Long userId, String phone) {
|
|
|
+ private void temporary3DaysSend(Long userId, String phone, ClientEnum clientType) {
|
|
|
Map<Long, String> receivers = new HashMap<>();
|
|
|
receivers.put(userId, phone);
|
|
|
- try {
|
|
|
- String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIP_EXPIRE_THIRTY_DAY.getCode());
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIP_EXPIRE_THIRTY_DAY,
|
|
|
- receivers, null, 0, url, ClientEnum.STUDENT.getCode());
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("会员到期3天极光消息推送异常,userId={}", userId);
|
|
|
- }
|
|
|
+ // 判断是否是机构学生 机构学生推送走另一个
|
|
|
+ if (clientType.equals(ClientEnum.STUDENT)) {
|
|
|
+ } else {
|
|
|
+ try {
|
|
|
+ String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIP_EXPIRE_THIRTY_DAY.getCode());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIP_EXPIRE_THIRTY_DAY,
|
|
|
+ receivers, null, 0, url, ClientEnum.STUDENT.getCode());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("会员到期3天极光消息推送异常,userId={}", userId);
|
|
|
+ }
|
|
|
|
|
|
- try {
|
|
|
- String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY.getCode());
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY,
|
|
|
- receivers, null, 0, null, ClientEnum.STUDENT.getCode(), url);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("会员到期3天短信消息推送异常,userId={}", userId);
|
|
|
+ try {
|
|
|
+ String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY.getCode());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY,
|
|
|
+ receivers, null, 0, null, ClientEnum.STUDENT.getCode(), url);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("会员到期3天短信消息推送异常,userId={}", userId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -246,20 +257,30 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
|
|
|
private void expireSend(Long userId, String phone,ClientEnum userType) {
|
|
|
Map<Long, String> receivers = new HashMap<>();
|
|
|
receivers.put(userId, phone);
|
|
|
- try {
|
|
|
- String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIP_EXPIRE.getCode());
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIP_EXPIRE,
|
|
|
- receivers, null, 0, url, userType.getCode());
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("会员到期3天极光消息推送异常,userId={}", userId);
|
|
|
- }
|
|
|
+ Student student = studentService.getById(userId);
|
|
|
+ if (userType.equals(ClientEnum.STUDENT) && student != null && student.getTenantId() != null && student.getTenantId() >0) {
|
|
|
+ try {
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TENANT_VIP_EXPIRE,
|
|
|
+ receivers, null, 0, null, ClientEnum.TENANT_STUDENT.getCode());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("会员到期极光消息推送异常,userId={}", userId);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ try {
|
|
|
+ String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIP_EXPIRE.getCode());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIP_EXPIRE,
|
|
|
+ receivers, null, 0, url, userType.getCode());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("会员到期3天极光消息推送异常,userId={}", userId);
|
|
|
+ }
|
|
|
|
|
|
- try {
|
|
|
- String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE.getCode());
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE,
|
|
|
- receivers, null, 0, null, userType.getCode(), url);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("会员到期3天短信消息推送异常,userId={}", userId);
|
|
|
+ try {
|
|
|
+ String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE.getCode());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE,
|
|
|
+ receivers, null, 0, null, userType.getCode(), url);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("会员到期3天短信消息推送异常,userId={}", userId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|