|
|
@@ -2,10 +2,10 @@ package com.cyksj.service.template.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.EnvCommonService;
|
|
|
import com.cyksj.common.constant.TemplateEnum;
|
|
|
-import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.util.Jsons;
|
|
|
import com.cyksj.config.WeChatConfig;
|
|
|
import com.cyksj.mapper.GoodsDonMapper;
|
|
|
@@ -31,7 +31,6 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.List;
|
|
|
-import java.util.Optional;
|
|
|
|
|
|
/*
|
|
|
*项目名: netflix
|
|
|
@@ -61,19 +60,18 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
|
|
|
|
|
|
private final GoodsDonSkuMapper goodsDonSkuMapper;
|
|
|
|
|
|
- public void newOderSendMsgByType(OrderDon order, GoodsDon goodsDon, GoodsDonSku sku, User user, String toPeople, Boolean isCustomer) throws Exception {
|
|
|
+ public void newOderSendMsgByType(OrderDon order, GoodsDon goodsDon, User user, String toPeople, Boolean isCustomer) throws Exception {
|
|
|
if (!EnvCommonService.active.equals(envCommonService.getEnv())) {
|
|
|
- Long userId = order.getUserId();
|
|
|
String openId = toPeople;
|
|
|
WxAppTemplateView wxAppTemplateView = null;
|
|
|
if (isCustomer) {
|
|
|
wxAppTemplateView = this.getCustomerTemplateView(TemplateEnum.NEW_ORDER_TEMPLATE.getDesc());
|
|
|
} else {
|
|
|
- wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.NEW_ORDER_TEMPLATE.getDesc());
|
|
|
+ wxAppTemplateView = this.getWxAppByUserId(openId, TemplateEnum.NEW_ORDER_TEMPLATE.getDesc());
|
|
|
}
|
|
|
if (wxAppTemplateView != null) {
|
|
|
WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
|
|
|
- .setToUser(Optional.ofNullable(wxAppTemplateView.getOpenId()).orElse(openId))
|
|
|
+ .setToUser(openId)
|
|
|
.setTemplateId(wxAppTemplateView.getTemplateId())
|
|
|
//TODO
|
|
|
.setUrl(" ");
|
|
|
@@ -81,9 +79,7 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
|
|
|
data.setFirst(new WxMpTemplateData("新订单通知!"));
|
|
|
data.setKeyword1(new WxMpTemplateData(order.getOrderNo()));
|
|
|
data.setKeyword2(new WxMpTemplateData(String.format("%s服务", goodsDon.getTitle())));
|
|
|
- data.setKeyword3(new WxMpTemplateData(user == null ? "推广未登录用户" : user.getNickname()));
|
|
|
- data.setKeyword4(new WxMpTemplateData(order.getMoney().divide(BigDecimal.valueOf(100)).toString()));
|
|
|
- data.setKeyword5(new WxMpTemplateData(DateUtil.format(order.getCreatedTime(), "yyyy-MM-dd HH:mm:ss")));
|
|
|
+ data.setKeyword3(new WxMpTemplateData(order.getMoney().divide(BigDecimal.valueOf(100)).toString()));
|
|
|
data.setRemark(new WxMpTemplateData(goodsDon.getType() == 1 && goodsDon.getSecondType() == 1 ? "需要联系客服邀请才可使用,请联系客服" : "点击查看详情"));
|
|
|
weChatService.sendTemplateMessage(weChatService.getAccessToken(wxAppTemplateView.getAppId()), Jsons.toJson(templateMessage));
|
|
|
}
|
|
|
@@ -91,11 +87,11 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public WxAppTemplateView getWxAppByUserId(Long userId, String templateMark) {
|
|
|
+ public WxAppTemplateView getWxAppByUserId(String openId, String templateMark) {
|
|
|
UserGzhRelation userGzhRelation = null;
|
|
|
if (!TemplateEnum.WX_GZH_QR_CODE_LOGIN.getDesc().equals(templateMark)) {
|
|
|
userGzhRelation = userGzhRelationMapper.selectOne(Wrappers.lambdaQuery(UserGzhRelation.class)
|
|
|
- .eq(UserGzhRelation::getUserId, userId).orderByAsc(UserGzhRelation::getWxAppId).last("limit 1"));
|
|
|
+ .eq(UserGzhRelation::getOpenId, openId).last("limit 1"));
|
|
|
}
|
|
|
MapBuilder builder = MapUtils.builder()
|
|
|
.field(WxAppTemplateView::getRemark, templateMark);
|
|
|
@@ -112,10 +108,6 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
|
|
|
}
|
|
|
builder.field(WxAppTemplateView::getType, type);
|
|
|
WxAppTemplateView wxAppTemplateView = beanSearcher.searchFirst(WxAppTemplateView.class, builder.build());
|
|
|
- if (userGzhRelation != null) {
|
|
|
- final String openId = userGzhRelation.getOpenId();
|
|
|
- Optional.ofNullable(wxAppTemplateView).ifPresent((templateView) -> templateView.setOpenId(openId));
|
|
|
- }
|
|
|
return wxAppTemplateView;
|
|
|
}
|
|
|
|
|
|
@@ -130,21 +122,22 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
|
|
|
@Override
|
|
|
public void sendWxGzhQrCodeSuccessMsg(User user) throws Exception {
|
|
|
if (!EnvCommonService.active.equals(envCommonService.getEnv())) {
|
|
|
- Long userId = user.getId();
|
|
|
String openId = user.getOpenId();
|
|
|
- WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.WX_GZH_QR_CODE_LOGIN.getDesc());
|
|
|
- if (wxAppTemplateView != null) {
|
|
|
- String url = String.format("%sauth/weChat?url=%s", envCommonService.getHost(), envCommonService.getDomain() + "yinhe/web/");
|
|
|
- WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
|
|
|
- .setToUser(Optional.ofNullable(wxAppTemplateView.getOpenId()).orElse(openId))
|
|
|
- .setTemplateId(wxAppTemplateView.getTemplateId())
|
|
|
- .setUrl(url);
|
|
|
- WxMpTemplateMessage.TemplateData data = templateMessage.getData();
|
|
|
- data.setFirst(new WxMpTemplateData("您已登录成功"));
|
|
|
- data.setKeyword1(new WxMpTemplateData("银河录像局"));
|
|
|
- data.setKeyword2(new WxMpTemplateData(DateUtil.format(DateTime.now(), "yyyy-MM-dd HH:mm:ss")));
|
|
|
- data.setRemark(new WxMpTemplateData("欢迎使用银河录像局"));
|
|
|
- weChatService.sendTemplateMessage(weChatService.getAccessToken(), Jsons.toJson(templateMessage));
|
|
|
+ if (StrUtil.isNotBlank(openId)) {
|
|
|
+ WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(openId, TemplateEnum.WX_GZH_QR_CODE_LOGIN.getDesc());
|
|
|
+ if (wxAppTemplateView != null) {
|
|
|
+ String url = String.format("%sauth/weChat?url=%s", envCommonService.getHost(), envCommonService.getDomain() + "yinhe/web/");
|
|
|
+ WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
|
|
|
+ .setToUser(openId)
|
|
|
+ .setTemplateId(wxAppTemplateView.getTemplateId())
|
|
|
+ .setUrl(url);
|
|
|
+ WxMpTemplateMessage.TemplateData data = templateMessage.getData();
|
|
|
+ data.setFirst(new WxMpTemplateData("您已登录成功"));
|
|
|
+ data.setKeyword1(new WxMpTemplateData("银河录像局"));
|
|
|
+ data.setKeyword2(new WxMpTemplateData(DateUtil.format(DateTime.now(), "yyyy-MM-dd HH:mm:ss")));
|
|
|
+ data.setRemark(new WxMpTemplateData("欢迎使用银河录像局"));
|
|
|
+ weChatService.sendTemplateMessage(weChatService.getAccessToken(), Jsons.toJson(templateMessage));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -153,33 +146,29 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
|
|
|
public void sendTransportMsgNotify(OrderDon orderDon, ReqSetLogisticsPost reqSetLogisticsPost, Boolean isReceiveAll) throws Exception {
|
|
|
if (!EnvCommonService.active.equals(envCommonService.getEnv())) {
|
|
|
Long userId = orderDon.getUserId();
|
|
|
- WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.ORDER_TRANSPORT_TEMPLATE.getDesc());
|
|
|
- if (wxAppTemplateView != null) {
|
|
|
+ User user = userMapper.selectById(userId);
|
|
|
+ if (user != null && StrUtil.isNotBlank(user.getOpenId())) {
|
|
|
String openId = orderDon.getOpenId();
|
|
|
- if (openId == null) {
|
|
|
- User u = userMapper.selectById(orderDon.getUserId());
|
|
|
- if (u == null) {
|
|
|
- throw BusinessRuntimeException.getInstance("用户不存在");
|
|
|
- }
|
|
|
- openId = u.getOpenId();
|
|
|
+ WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(openId, TemplateEnum.ORDER_TRANSPORT_TEMPLATE.getDesc());
|
|
|
+ if (wxAppTemplateView != null) {
|
|
|
+ String url = String.format("%s%s", envCommonService.getDomain(), "order");
|
|
|
+ WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
|
|
|
+ .setToUser(openId)
|
|
|
+ .setTemplateId(wxAppTemplateView.getTemplateId())
|
|
|
+ .setUrl(url);
|
|
|
+ String msg = isReceiveAll ? "家庭套餐特权已生效,可在我的车票中查看" : "存在待领取权益,点击查看详情";
|
|
|
+ GoodsDon goodsDon = goodsDonMapper.selectById(orderDon.getGoodsId());
|
|
|
+ OrderDonTransport transport = transportMapper.selectOne(Wrappers.lambdaQuery(OrderDonTransport.class).eq(OrderDonTransport::getOrderId, reqSetLogisticsPost.getOrderId()).last("limit 1"));
|
|
|
+ WxMpTemplateMessage.TemplateData data = templateMessage.getData();
|
|
|
+ data.setFirst(new WxMpTemplateData("订单发货通知"));
|
|
|
+ data.setKeyword1(new WxMpTemplateData(orderDon.getOrderNo()));
|
|
|
+ data.setKeyword2(new WxMpTemplateData(goodsDon.getTitle()));
|
|
|
+ data.setKeyword3(new WxMpTemplateData(reqSetLogisticsPost.getCodeCn()));
|
|
|
+ data.setKeyword4(new WxMpTemplateData(reqSetLogisticsPost.getTrackingNumber()));
|
|
|
+ data.setKeyword5(new WxMpTemplateData(String.format("%s%s%s%s", transport.getProvince(), transport.getCity(), transport.getDistrict(), transport.getAddress())));
|
|
|
+ data.setRemark(new WxMpTemplateData(String.format("可复制运单编号查询物流信息\n%s", msg)));
|
|
|
+ weChatService.sendTemplateMessage(weChatService.getAccessToken(wxAppTemplateView.getAppId()), Jsons.toJson(templateMessage));
|
|
|
}
|
|
|
- String url = String.format("%s%s", envCommonService.getDomain(), "order");
|
|
|
- WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
|
|
|
- .setToUser(Optional.ofNullable(wxAppTemplateView.getOpenId()).orElse(openId))
|
|
|
- .setTemplateId(wxAppTemplateView.getTemplateId())
|
|
|
- .setUrl(url);
|
|
|
- String msg = isReceiveAll ? "家庭套餐特权已生效,可在我的车票中查看" : "存在待领取权益,点击查看详情";
|
|
|
- GoodsDon goodsDon = goodsDonMapper.selectById(orderDon.getGoodsId());
|
|
|
- OrderDonTransport transport = transportMapper.selectOne(Wrappers.lambdaQuery(OrderDonTransport.class).eq(OrderDonTransport::getOrderId, reqSetLogisticsPost.getOrderId()).last("limit 1"));
|
|
|
- WxMpTemplateMessage.TemplateData data = templateMessage.getData();
|
|
|
- data.setFirst(new WxMpTemplateData("订单发货通知"));
|
|
|
- data.setKeyword1(new WxMpTemplateData(orderDon.getOrderNo()));
|
|
|
- data.setKeyword2(new WxMpTemplateData(goodsDon.getTitle()));
|
|
|
- data.setKeyword3(new WxMpTemplateData(reqSetLogisticsPost.getCodeCn()));
|
|
|
- data.setKeyword4(new WxMpTemplateData(reqSetLogisticsPost.getTrackingNumber()));
|
|
|
- data.setKeyword5(new WxMpTemplateData(String.format("%s%s%s%s", transport.getProvince(), transport.getCity(), transport.getDistrict(), transport.getAddress())));
|
|
|
- data.setRemark(new WxMpTemplateData(String.format("可复制运单编号查询物流信息\n%s", msg)));
|
|
|
- weChatService.sendTemplateMessage(weChatService.getAccessToken(wxAppTemplateView.getAppId()), Jsons.toJson(templateMessage));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -234,19 +223,18 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
|
|
|
|
|
|
public void sendUpdateAccountMsg(GroupsRelationView relation) throws Exception {
|
|
|
String url = String.format("%sauth/weChat?url=%syinhe/web/ticket", envCommonService.getHost(), envCommonService.getDomain());
|
|
|
- Long userId = relation.getUserId();
|
|
|
- WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.PLAT_ACCOUNT_UPDATE_TEMPLATE.getDesc());
|
|
|
- if (wxAppTemplateView != null) {
|
|
|
- User user = userMapper.selectById(relation.getUserId());
|
|
|
- if (user != null) {
|
|
|
- String openId = user.getOpenId();
|
|
|
+ User user = userMapper.selectById(relation.getUserId());
|
|
|
+ if (user != null && StrUtil.isNotBlank(user.getOpenId())) {
|
|
|
+ String openId = user.getOpenId();
|
|
|
+ WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(openId, TemplateEnum.PLAT_ACCOUNT_UPDATE_TEMPLATE.getDesc());
|
|
|
+ if (wxAppTemplateView != null) {
|
|
|
WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
|
|
|
- .setToUser(Optional.ofNullable(wxAppTemplateView.getOpenId()).orElse(openId))
|
|
|
+ .setToUser(openId)
|
|
|
.setTemplateId(wxAppTemplateView.getTemplateId())
|
|
|
.setUrl(url);
|
|
|
WxMpTemplateMessage.TemplateData data = templateMessage.getData();
|
|
|
- data.setFirst(new WxMpTemplateData(String.format("%s账号密码更改提醒", relation.getTitle())));
|
|
|
- data.setKeyword1(new WxMpTemplateData(relation.getTripsAccount()));
|
|
|
+ data.setFirst(new WxMpTemplateData(String.format("%s账号%s密码更改提醒", relation.getTitle(), relation.getTripsAccount())));
|
|
|
+ data.setKeyword1(new WxMpTemplateData(relation.getTripsPassword()));
|
|
|
data.setKeyword2(new WxMpTemplateData(DateTime.now().toString("YYYY-MM-mm HH:mm:ss")));
|
|
|
data.setRemark(new WxMpTemplateData("您的账号密码已经更新,请到我的车票查看,长期用户请选择拼车/年付。\n" +
|
|
|
"如您不是在公众号购买,请在浏览器登录查看我的车票"));
|