fix: 模板消息
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.starry.admin.modules.weichat.controller;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -302,7 +301,7 @@ public class WxCustomController {
|
||||
// 顾客减少余额
|
||||
customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(money), "1", "下单-指定单", money, BigDecimal.ZERO, orderId);
|
||||
// 发送通知给店员
|
||||
wxCustomMpService.sendCreateOrderMessage(clerkUserInfo.getTenantId(), clerkUserInfo.getOpenid(), clerkUserInfo.getNickname(), orderNo, orderId, DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"), money.toString(), commodityInfo.getCommodityName());
|
||||
wxCustomMpService.sendCreateOrderMessage(clerkUserInfo.getTenantId(), clerkUserInfo.getOpenid(), orderNo, money.toString(), commodityInfo.getCommodityName());
|
||||
return R.ok("成功");
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.starry.admin.modules.clerk.module.entity.PlayClerkUserReviewInfoEntit
|
||||
import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService;
|
||||
import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity;
|
||||
import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService;
|
||||
import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity;
|
||||
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
|
||||
import com.starry.admin.modules.personnel.module.entity.PlayPersonnelAdminInfoEntity;
|
||||
import com.starry.admin.modules.personnel.service.IPlayPersonnelAdminInfoService;
|
||||
@@ -28,7 +29,6 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -54,7 +54,6 @@ public class WxCustomMpService {
|
||||
private IPlayClerkUserInfoService clerkUserInfoService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 支付成功回调地址
|
||||
*/
|
||||
@@ -113,9 +112,9 @@ public class WxCustomMpService {
|
||||
public void sendBalanceMessage(PlayOrderInfoEntity order) {
|
||||
PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(order.getPurchaserBy());
|
||||
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(order.getTenantId());
|
||||
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getCzcgtzTemplateId(), customUserInfo.getOpenid(), "http://" + tenant.getTenantKey() + ".july.hucs.top/user/");
|
||||
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getChongzhichenggongTemplateId(), customUserInfo.getOpenid(), "http://" + tenant.getTenantKey() + ".july.hucs.top/user/");
|
||||
List<WxMpTemplateData> data = new ArrayList<>();
|
||||
data.add(new WxMpTemplateData("time4", LocalDate.now().toString()));
|
||||
data.add(new WxMpTemplateData("time4", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
|
||||
data.add(new WxMpTemplateData("amount2", order.getOrderMoney().toString()));
|
||||
data.add(new WxMpTemplateData("amount17", "0"));
|
||||
data.add(new WxMpTemplateData("thing10", tenant.getTenantName()));
|
||||
@@ -134,71 +133,58 @@ public class WxCustomMpService {
|
||||
*
|
||||
* @param tenantId 租户ID
|
||||
* @param openId 消息接收人openID
|
||||
* @param nickName 消息内容-消息接收人昵称
|
||||
* @param orderNo 消息内容-订单编号
|
||||
* @param orderId 消息内容-订单ID
|
||||
* @param orderTime 消息内容-下单时间
|
||||
* @param orderAmount 消息内容-订单金额
|
||||
* @param commodityName 消息内容-服务项目名称
|
||||
* @param money
|
||||
* @param commodityName
|
||||
*/
|
||||
public void sendCreateOrderMessage(String tenantId, String openId, String nickName, String orderNo, String orderId, String orderTime, String orderAmount, String commodityName) {
|
||||
public void sendCreateOrderMessage(String tenantId, String openId, String orderNo, String money, String commodityName) {
|
||||
|
||||
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(tenantId);
|
||||
String template_id = tenant.getSdxddtzTemplateId();
|
||||
String tenantKey = tenant.getTenantKey();
|
||||
String url = "http://" + tenantKey + ".july.hucs.top/clerk/#/orderDetail/" + orderId;
|
||||
WxMpTemplateMessage templateMessage = new WxMpTemplateMessage();
|
||||
templateMessage.setTemplateId(template_id);
|
||||
templateMessage.setToUser(openId);
|
||||
templateMessage.setUrl(url);
|
||||
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getXindingdanshoulitongzhiTemplateId(), openId, "http://" + tenant.getTenantKey() + ".july.hucs.top/clerk/#/orderDetail/");
|
||||
List<WxMpTemplateData> data = new ArrayList<>();
|
||||
data.add(new WxMpTemplateData("time5", orderTime));
|
||||
data.add(new WxMpTemplateData("thing6", commodityName));
|
||||
data.add(new WxMpTemplateData("amount8", orderAmount));
|
||||
data.add(new WxMpTemplateData("thing12", nickName));
|
||||
data.add(new WxMpTemplateData("character_string2", orderNo));
|
||||
data.add(new WxMpTemplateData("time7", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
|
||||
data.add(new WxMpTemplateData("time6", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
|
||||
data.add(new WxMpTemplateData("character_string9", orderNo));
|
||||
data.add(new WxMpTemplateData("short_thing5", "陪聊下单"));
|
||||
data.add(new WxMpTemplateData("thing11", commodityName));
|
||||
data.add(new WxMpTemplateData("amount8", money));
|
||||
templateMessage.setData(data);
|
||||
try {
|
||||
proxyWxMpService().getTemplateMsgService().sendTemplateMsg(templateMessage);
|
||||
} catch (WxErrorException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
|
||||
log.error("接单成功发送消息异常", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 店员接单后,通过微信公众号发送消息
|
||||
*
|
||||
* @param tenantId 租户ID
|
||||
* @param openId 消息接收人openID
|
||||
* @param userType 用户类型,0:顾客,1:店员
|
||||
* @param nickName 消息内容-消息接收人昵称
|
||||
* @param orderNo 消息内容-订单编号
|
||||
* @param orderId 消息内容-订单ID
|
||||
* @param orderAmount 消息内容-订单金额
|
||||
* @param orderInfo
|
||||
* @author admin
|
||||
* @since 2024/7/31 10:51
|
||||
**/
|
||||
public void sendOrderMessage(String tenantId, String openId, String userType, String nickName, String orderNo, String orderId, String orderAmount) {
|
||||
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(tenantId);
|
||||
String template_id = tenant.getXdcgtzTemplateId();
|
||||
String tenantKey = tenant.getTenantKey();
|
||||
String url = "http://" + tenantKey + ".july.hucs.top/" + ("0".equals(userType) ? "user/#/orderDetail/" : "clerk/#/orderDetail/") + orderId;
|
||||
WxMpTemplateMessage templateMessage = new WxMpTemplateMessage();
|
||||
templateMessage.setTemplateId(template_id);
|
||||
templateMessage.setToUser(openId);
|
||||
templateMessage.setUrl(url);
|
||||
public void sendOrderMessage(PlayOrderInfoEntity orderInfo) {
|
||||
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(orderInfo.getTenantId());
|
||||
PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(orderInfo.getAcceptBy());
|
||||
PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(orderInfo.getPurchaserBy());
|
||||
|
||||
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getJiedanchenggongtongzhiTemplateId(), clerkUserInfo.getOpenid(), "http://" + tenant.getTenantKey() + ".july.hucs.top/clerk/#/orderDetail/" + orderInfo.getId());
|
||||
List<WxMpTemplateData> data = new ArrayList<>();
|
||||
data.add(new WxMpTemplateData("amount2", orderAmount));
|
||||
data.add(new WxMpTemplateData("thing12", nickName));
|
||||
data.add(new WxMpTemplateData("character_string5", orderNo));
|
||||
data.add(new WxMpTemplateData("time4", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
|
||||
data.add(new WxMpTemplateData("character_string1", orderInfo.getOrderNo()));
|
||||
data.add(new WxMpTemplateData("time2", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
|
||||
templateMessage.setData(data);
|
||||
try {
|
||||
proxyWxMpService().getTemplateMsgService().sendTemplateMsg(templateMessage);
|
||||
} catch (WxErrorException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
templateMessage.setToUser(customUserInfo.getOpenid());
|
||||
templateMessage.setUrl("http://" + tenant.getTenantKey() + ".july.hucs.top/user/#/orderDetail/" + orderInfo.getId());
|
||||
try {
|
||||
proxyWxMpService().getTemplateMsgService().sendTemplateMsg(templateMessage);
|
||||
} catch (WxErrorException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -275,4 +261,75 @@ public class WxCustomMpService {
|
||||
templateMessage.setUrl(url);
|
||||
return templateMessage;
|
||||
}
|
||||
|
||||
public void sendComplaintMessage(PlayOrderComplaintInfoEntity info, PlayOrderInfoEntity orderInfo) {
|
||||
|
||||
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(info.getTenantId());
|
||||
List<PlayPersonnelAdminInfoEntity> adminInfoEntityList = playPersonnelAdminInfoService.list(Wrappers.lambdaQuery(PlayPersonnelAdminInfoEntity.class).select(PlayPersonnelAdminInfoEntity::getSysUserId));
|
||||
|
||||
for (PlayPersonnelAdminInfoEntity adminInfo : adminInfoEntityList) {
|
||||
PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.getOne(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).eq(PlayClerkUserInfoEntity::getSysUserId, adminInfo.getSysUserId()), false);
|
||||
if (Objects.isNull(clerkUserInfo)) {
|
||||
continue;
|
||||
}
|
||||
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getDingdantousuchuliTemplateId(), clerkUserInfo.getOpenid(), "http://" + tenant.getTenantKey() + ".july.hucs.top/clerk/#/admin/order/complain-list");
|
||||
List<WxMpTemplateData> data = new ArrayList<>();
|
||||
data.add(new WxMpTemplateData("character_string", orderInfo.getOrderNo()));
|
||||
data.add(new WxMpTemplateData("time2", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
|
||||
templateMessage.setData(data);
|
||||
try {
|
||||
proxyWxMpService().getTemplateMsgService().sendTemplateMsg(templateMessage);
|
||||
} catch (WxErrorException e) {
|
||||
log.error("发送投诉消息异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void sendOrderFinishMessage(PlayOrderInfoEntity order) {
|
||||
if (order.getPlaceType().equals("1") || order.getPlaceType().equals("2")) {
|
||||
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(order.getTenantId());
|
||||
PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(order.getPurchaserBy());
|
||||
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getDingdanwanchengtongzhiTemplateId(), customUserInfo.getOpenid(), "http://" + tenant.getTenantKey() + ".july.hucs.top/user/#/orderDetail/" + order.getId());
|
||||
List<WxMpTemplateData> data = new ArrayList<>();
|
||||
data.add(new WxMpTemplateData("time18", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
|
||||
data.add(new WxMpTemplateData("character_string8", order.getOrderNo()));
|
||||
data.add(new WxMpTemplateData("thing13", order.getCommodityName()));
|
||||
templateMessage.setData(data);
|
||||
try {
|
||||
proxyWxMpService().getTemplateMsgService().sendTemplateMsg(templateMessage);
|
||||
} catch (WxErrorException e) {
|
||||
log.error("订单完成发送消息异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void sendOrderCancelMessage(PlayOrderInfoEntity orderInfo, String refundReason) {
|
||||
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(orderInfo.getTenantId());
|
||||
PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(orderInfo.getAcceptBy());
|
||||
PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(orderInfo.getPurchaserBy());
|
||||
|
||||
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getQuxiaodingdantongzhiTemplateId(), clerkUserInfo.getOpenid(), "http://" + tenant.getTenantKey() + ".july.hucs.top/clerk/#/orderDetail/" + orderInfo.getId());
|
||||
List<WxMpTemplateData> data = new ArrayList<>();
|
||||
data.add(new WxMpTemplateData("character_string2", orderInfo.getOrderNo()));
|
||||
data.add(new WxMpTemplateData("thing5", StringUtils.isEmpty(refundReason) ? "已取消" : refundReason));
|
||||
data.add(new WxMpTemplateData("time18", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
|
||||
templateMessage.setData(data);
|
||||
try {
|
||||
proxyWxMpService().getTemplateMsgService().sendTemplateMsg(templateMessage);
|
||||
} catch (WxErrorException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
templateMessage.setToUser(customUserInfo.getOpenid());
|
||||
templateMessage.setUrl("http://" + tenant.getTenantKey() + ".july.hucs.top/user/#/orderDetail/" + orderInfo.getId());
|
||||
try {
|
||||
proxyWxMpService().getTemplateMsgService().sendTemplateMsg(templateMessage);
|
||||
} catch (WxErrorException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user