|
|
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.cyksj.common.constant.TemplateEnum;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.util.Jsons;
|
|
|
import com.cyksj.dto.RedisKey;
|
|
|
@@ -16,6 +17,7 @@ import com.cyksj.redis.RedisService;
|
|
|
import com.cyksj.service.order.OrderDonService;
|
|
|
import com.cyksj.service.register.RegisterOrderDonService;
|
|
|
import com.cyksj.service.register.SpotifyService;
|
|
|
+import com.cyksj.service.template.TemplateCommonService;
|
|
|
import com.cyksj.service.wechat.WeChatService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -27,8 +29,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-import static com.cyksj.common.constant.WeChatTemplateConst.EXPIRY_TEMPLATE;
|
|
|
-
|
|
|
@Component
|
|
|
@Slf4j
|
|
|
@RequiredArgsConstructor
|
|
|
@@ -68,6 +68,8 @@ public class Scheduler {
|
|
|
|
|
|
private final RealGoodsInterestUserMapper realGoodsInterestUserMapper;
|
|
|
|
|
|
+ private final TemplateCommonService templateCommonService;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 每5分钟清理过期账号
|
|
|
@@ -90,49 +92,53 @@ public class Scheduler {
|
|
|
List<GroupsRelation> groupsRelations = groupsRelationMapper.selectList(Wrappers.lambdaQuery(GroupsRelation.class).le(GroupsRelation::getExpiryTime, time));
|
|
|
for (GroupsRelation relation : groupsRelations) {
|
|
|
User user = userMapper.selectById(relation.getUserId());
|
|
|
- WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
|
|
|
- .setToUser(user.getOpenId())
|
|
|
- .setTemplateId(EXPIRY_TEMPLATE)
|
|
|
- .setUrl(" ");
|
|
|
-
|
|
|
- /**
|
|
|
- * 您的账号即将到期
|
|
|
- * 账号名称:Netflix账号
|
|
|
- * 平台:Netflix
|
|
|
- * 失效日期:5天后
|
|
|
- * 异常原因:账号即将到期
|
|
|
- * 请尽快续费,以免影响使用
|
|
|
- */
|
|
|
- GroupsTrips groupsTrips = groupsMapper.selectById(relation.getGroupsId());
|
|
|
- GoodsDonSku donSku = skuMapper.selectById(groupsTrips.getSkuId());
|
|
|
- GoodsDon goodsDon = donMapper.selectById(donSku.getGoodsId());
|
|
|
- WxMpTemplateMessage.TemplateData data = templateMessage.getData();
|
|
|
- data.setFirst(new WxMpTemplateData("您的账号即将到期"));
|
|
|
- data.setKeyword1(new WxMpTemplateData(goodsDon.getTitle()));
|
|
|
- data.setKeyword2(new WxMpTemplateData(goodsDon.getTitle()));
|
|
|
- data.setKeyword3(new WxMpTemplateData(DateUtil.format(relation.getExpiryTime(), "yyyy-MM-dd HH:mm:ss")));
|
|
|
- data.setKeyword4(new WxMpTemplateData("账号即将到期"));
|
|
|
- data.setRemark(new WxMpTemplateData("请尽快续费,以免影响使用"));
|
|
|
- log.info("发送账号即将到期消息至用户:{}", user.getId());
|
|
|
- weChatService.sendTemplateMessage(weChatService.getAccessToken(), Jsons.toJson(templateMessage));
|
|
|
-
|
|
|
- List<Account> accounts = accountMapper.selectList(Wrappers.lambdaQuery(Account.class).le(Account::getExpiryTime, time));
|
|
|
- List<CustomerService> customerServices = customerServiceMapper.selectList(null);
|
|
|
- if(!accounts.isEmpty()){
|
|
|
- for (CustomerService customerService : customerServices) {
|
|
|
- WxMpTemplateMessage manageMessage = new WxMpTemplateMessage()
|
|
|
- .setToUser(customerService.getOpenId())
|
|
|
- .setTemplateId(EXPIRY_TEMPLATE)
|
|
|
- .setUrl(" ");
|
|
|
- WxMpTemplateMessage.TemplateData data2 = manageMessage.getData();
|
|
|
- data2.setFirst(new WxMpTemplateData("您有" + accounts.size() + "个主账号即将到期"));
|
|
|
- data2.setKeyword1(new WxMpTemplateData("车队主账号"));
|
|
|
- data2.setKeyword2(new WxMpTemplateData("车队主账号"));
|
|
|
- data2.setKeyword3(new WxMpTemplateData("5天后"));
|
|
|
- data2.setKeyword4(new WxMpTemplateData("账号即将到期"));
|
|
|
- data2.setRemark(new WxMpTemplateData("请尽快登录后台-在账号管理中查看"));
|
|
|
- log.info("发送账号即将到期消息至客服:{}", customerService.getNickName());
|
|
|
- weChatService.sendTemplateMessage(weChatService.getAccessToken(),Jsons.toJson(manageMessage));
|
|
|
+ Long userId = user.getId();
|
|
|
+ WxAppTemplateView wxAppTemplateView = templateCommonService.getWxAppByUserId(userId, TemplateEnum.EXPIRY_TEMPLATE.getDesc());
|
|
|
+ if (wxAppTemplateView != null) {
|
|
|
+ WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
|
|
|
+ .setToUser(user.getOpenId())
|
|
|
+ .setTemplateId(wxAppTemplateView.getTemplateId())
|
|
|
+ .setUrl(" ");
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 您的账号即将到期
|
|
|
+ * 账号名称:Netflix账号
|
|
|
+ * 平台:Netflix
|
|
|
+ * 失效日期:5天后
|
|
|
+ * 异常原因:账号即将到期
|
|
|
+ * 请尽快续费,以免影响使用
|
|
|
+ */
|
|
|
+ GroupsTrips groupsTrips = groupsMapper.selectById(relation.getGroupsId());
|
|
|
+ GoodsDonSku donSku = skuMapper.selectById(groupsTrips.getSkuId());
|
|
|
+ GoodsDon goodsDon = donMapper.selectById(donSku.getGoodsId());
|
|
|
+ WxMpTemplateMessage.TemplateData data = templateMessage.getData();
|
|
|
+ data.setFirst(new WxMpTemplateData("您的账号即将到期"));
|
|
|
+ data.setKeyword1(new WxMpTemplateData(goodsDon.getTitle()));
|
|
|
+ data.setKeyword2(new WxMpTemplateData(goodsDon.getTitle()));
|
|
|
+ data.setKeyword3(new WxMpTemplateData(DateUtil.format(relation.getExpiryTime(), "yyyy-MM-dd HH:mm:ss")));
|
|
|
+ data.setKeyword4(new WxMpTemplateData("账号即将到期"));
|
|
|
+ data.setRemark(new WxMpTemplateData("请尽快续费,以免影响使用"));
|
|
|
+ log.info("发送账号即将到期消息至用户:{}", user.getId());
|
|
|
+ weChatService.sendTemplateMessage(weChatService.getAccessToken(wxAppTemplateView.getAppId()), Jsons.toJson(templateMessage));
|
|
|
+
|
|
|
+ List<Account> accounts = accountMapper.selectList(Wrappers.lambdaQuery(Account.class).le(Account::getExpiryTime, time));
|
|
|
+ List<CustomerService> customerServices = customerServiceMapper.selectList(null);
|
|
|
+ if(!accounts.isEmpty()){
|
|
|
+ for (CustomerService customerService : customerServices) {
|
|
|
+ WxMpTemplateMessage manageMessage = new WxMpTemplateMessage()
|
|
|
+ .setToUser(customerService.getOpenId())
|
|
|
+ .setTemplateId(wxAppTemplateView.getTemplateId())
|
|
|
+ .setUrl(" ");
|
|
|
+ WxMpTemplateMessage.TemplateData data2 = manageMessage.getData();
|
|
|
+ data2.setFirst(new WxMpTemplateData("您有" + accounts.size() + "个主账号即将到期"));
|
|
|
+ data2.setKeyword1(new WxMpTemplateData("车队主账号"));
|
|
|
+ data2.setKeyword2(new WxMpTemplateData("车队主账号"));
|
|
|
+ data2.setKeyword3(new WxMpTemplateData("5天后"));
|
|
|
+ data2.setKeyword4(new WxMpTemplateData("账号即将到期"));
|
|
|
+ data2.setRemark(new WxMpTemplateData("请尽快登录后台-在账号管理中查看"));
|
|
|
+ log.info("发送账号即将到期消息至客服:{}", customerService.getNickName());
|
|
|
+ weChatService.sendTemplateMessage(weChatService.getAccessToken(wxAppTemplateView.getAppId()),Jsons.toJson(manageMessage));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|