fix: 订æˆ 订单消息异常

This commit is contained in:
huchuansai
2025-09-04 10:16:28 +08:00
parent 203d17c0f3
commit b9b67dfe8b
3 changed files with 10 additions and 7 deletions

View File

@@ -125,7 +125,7 @@ public class PlayOrderInfoController {
PlayCommodityInfoVo commodityInfo = playCommodityInfoService.queryCommodityInfo(orderInfo.getCommodityId(),
clerkUserInfo.getLevelId());
wxCustomMpService.sendCreateOrderMessage(clerkUserInfo.getTenantId(), clerkUserInfo.getOpenid(),
orderInfo.getOrderNo(), orderInfo.getOrderMoney().toString(), commodityInfo.getCommodityName());
orderInfo.getOrderNo(), orderInfo.getOrderMoney().toString(), commodityInfo.getCommodityName(),vo.getOrderId() );
return R.ok("操作成功");
}

View File

@@ -333,7 +333,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(), orderNo, money.toString(), commodityInfo.getCommodityName());
wxCustomMpService.sendCreateOrderMessage(clerkUserInfo.getTenantId(), clerkUserInfo.getOpenid(), orderNo, money.toString(), commodityInfo.getCommodityName(),orderId );
return R.ok("成功");
}
@@ -362,7 +362,7 @@ public class WxCustomController {
customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(money), "1", "下单-随机单", money, BigDecimal.ZERO, orderId);
// 给全部店员发送通知
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getLevelId, vo.getLevelId()).eq(PlayClerkUserInfoEntity::getClerkState, "1").eq(PlayClerkUserInfoEntity::getSex, vo.getSex()));
wxCustomMpService.sendCreateOrderMessageBatch(clerkList, orderNo, money.toString(), commodityInfo.getCommodityName());
wxCustomMpService.sendCreateOrderMessageBatch(clerkList, orderNo, money.toString(), commodityInfo.getCommodityName(),orderId);
// 记录订单,指定指定未接单后,进行退款处理
overdueOrderHandlerTask.enqueue(orderId + "_" + SecurityUtils.getTenantId());
// 下单成功后,先根据用户条件进行随机分配

View File

@@ -20,11 +20,13 @@ import com.starry.admin.modules.personnel.service.IPlayPersonnelAdminInfoService
import com.starry.admin.modules.system.module.entity.SysTenantEntity;
import com.starry.admin.modules.system.service.impl.SysTenantServiceImpl;
import com.starry.admin.utils.SecurityUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
@@ -127,12 +129,12 @@ public class WxCustomMpService {
}
}
public void sendCreateOrderMessageBatch(List<PlayClerkUserInfoEntity> clerkList, String orderNo, String string, String commodityName) {
public void sendCreateOrderMessageBatch(List<PlayClerkUserInfoEntity> clerkList, String orderNo, String string, String commodityName, String orderId) {
if (CollectionUtils.isEmpty(clerkList)) return;
executor.execute(() -> {
clerkList.parallelStream().forEach(ca -> {
sendCreateOrderMessage(ca.getTenantId(), ca.getOpenid(), orderNo, string, commodityName);
sendCreateOrderMessage(ca.getTenantId(), ca.getOpenid(), orderNo, string, commodityName, orderId);
});
});
}
@@ -145,13 +147,14 @@ public class WxCustomMpService {
* @param orderNo 消息内容-订单编号
* @param money
* @param commodityName
* @param orderId
*/
public void sendCreateOrderMessage(String tenantId, String openId, String orderNo, String money,
String commodityName) {
String commodityName, String orderId) {
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(tenantId);
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getXindingdanshoulitongzhiTemplateId(),
openId, "https://" + tenant.getTenantKey() + ".julyharbor.com/clerk/#/orderDetail/");
openId, "https://" + tenant.getTenantKey() + ".julyharbor.com/clerk/#/orderDetail/" + orderId);
List<WxMpTemplateData> data = new ArrayList<>();
data.add(new WxMpTemplateData("time6", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
data.add(new WxMpTemplateData("character_string9", orderNo));