fix: 订æ 订单消息异常
This commit is contained in:
@@ -125,7 +125,7 @@ public class PlayOrderInfoController {
|
|||||||
PlayCommodityInfoVo commodityInfo = playCommodityInfoService.queryCommodityInfo(orderInfo.getCommodityId(),
|
PlayCommodityInfoVo commodityInfo = playCommodityInfoService.queryCommodityInfo(orderInfo.getCommodityId(),
|
||||||
clerkUserInfo.getLevelId());
|
clerkUserInfo.getLevelId());
|
||||||
wxCustomMpService.sendCreateOrderMessage(clerkUserInfo.getTenantId(), clerkUserInfo.getOpenid(),
|
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("操作成功");
|
return R.ok("操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -333,7 +333,7 @@ public class WxCustomController {
|
|||||||
// 顾客减少余额
|
// 顾客减少余额
|
||||||
customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(money), "1", "下单-指定单", money, BigDecimal.ZERO, orderId);
|
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("成功");
|
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);
|
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()));
|
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());
|
overdueOrderHandlerTask.enqueue(orderId + "_" + SecurityUtils.getTenantId());
|
||||||
// 下单成功后,先根据用户条件进行随机分配
|
// 下单成功后,先根据用户条件进行随机分配
|
||||||
|
|||||||
@@ -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.module.entity.SysTenantEntity;
|
||||||
import com.starry.admin.modules.system.service.impl.SysTenantServiceImpl;
|
import com.starry.admin.modules.system.service.impl.SysTenantServiceImpl;
|
||||||
import com.starry.admin.utils.SecurityUtils;
|
import com.starry.admin.utils.SecurityUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import me.chanjar.weixin.common.error.WxErrorException;
|
import me.chanjar.weixin.common.error.WxErrorException;
|
||||||
import me.chanjar.weixin.mp.api.WxMpService;
|
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;
|
if (CollectionUtils.isEmpty(clerkList)) return;
|
||||||
|
|
||||||
executor.execute(() -> {
|
executor.execute(() -> {
|
||||||
clerkList.parallelStream().forEach(ca -> {
|
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 orderNo 消息内容-订单编号
|
||||||
* @param money
|
* @param money
|
||||||
* @param commodityName
|
* @param commodityName
|
||||||
|
* @param orderId
|
||||||
*/
|
*/
|
||||||
public void sendCreateOrderMessage(String tenantId, String openId, String orderNo, String money,
|
public void sendCreateOrderMessage(String tenantId, String openId, String orderNo, String money,
|
||||||
String commodityName) {
|
String commodityName, String orderId) {
|
||||||
|
|
||||||
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(tenantId);
|
SysTenantEntity tenant = tenantService.selectSysTenantByTenantId(tenantId);
|
||||||
WxMpTemplateMessage templateMessage = getWxMpTemplateMessage(tenant.getXindingdanshoulitongzhiTemplateId(),
|
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<>();
|
List<WxMpTemplateData> data = new ArrayList<>();
|
||||||
data.add(new WxMpTemplateData("time6", 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("character_string9", orderNo));
|
||||||
|
|||||||
Reference in New Issue
Block a user