Commit 261e4fdf authored by shangtx's avatar shangtx

fix: 支付成功短信和websocket通知修改

parent c73e8a92
......@@ -25,7 +25,7 @@ public class OrderListener {
private SocketHandler socketHandler;
private static final String USER_ID = "id";
// 1 用户已付款
// 1 已付款,未派单 2 已付款,已派单
private static final String TYPE = "type";
@RabbitHandler
......
......@@ -14,6 +14,6 @@ import java.io.Serializable;
public class PayNoticeVO implements Serializable {
// 用户id
private String id;
// 类型 1 支付成功
// 类型 1 支付成功,未派单 2 已派单,支付成功
private String type;
}
......@@ -38,6 +38,7 @@ import com.onsiteservice.miniapp.controller.order.vo.ServiceOrderDefDetailVO;
import com.onsiteservice.miniapp.mapper.order.ServiceOrderBizMapper;
import com.onsiteservice.miniapp.service.weixin.pay.WechatNativePay;
import com.onsiteservice.service.order.ServiceOrderService;
import com.onsiteservice.service.order.dto.PayNoticeVO;
import com.onsiteservice.util.AttrCopyUtils;
import com.onsiteservice.util.RandomUtils;
import lombok.extern.slf4j.Slf4j;
......@@ -239,7 +240,7 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
// 通知客服
var logCondition = new Condition(ServiceOrderLog.class);
logCondition.createCriteria().andEqualTo("orderId", order.getId())
.andEqualTo("processId", ServiceOrderStatusEnum.SEND.getStatus());
.andEqualTo("processId", ServiceOrderStatusEnum.SEND.getStatus());
logCondition.setOrderByClause("create_time desc limit 1");
var orderLogs = serviceOrderLogMapper.selectByCondition(logCondition);
if (!orderLogs.isEmpty()) {
......@@ -248,15 +249,17 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
var sysUser = sysUserMapper.selectByPrimaryKey(orderLog.getHostId());
if (StringUtils.isNotEmpty(sysUser.getPhone())) {
try {
commonSmsService.paid(sysUser.getPhone());
amqpTemplate.convertAndSend(SysConstants.Queue.ADMIN_ORDER, Pair.of(sysUser.getId(), 1));
if (order.getPayNum() == 1) { // 首次支付才发短信
commonSmsService.paid(sysUser.getPhone());
}
amqpTemplate.convertAndSend(SysConstants.Queue.ADMIN_ORDER, PayNoticeVO.builder().id(sysUser.getId().toString()).type(order.getSkipWork() ? "2" : "1").build());
} catch (Exception e) {
e.printStackTrace();
log.error("订单{} 支付成功短信发送失败", orderNo);
}
}
}
if (ServiceOrderOpSourceEnum.MINI_APP.getId().equals(orderLog.getSource())) {
if (ServiceOrderOpSourceEnum.MINI_APP.getId().equals(orderLog.getSource()) && order.getPayNum() == 1) {
var user = userMapper.selectByPrimaryKey(orderLog.getHostId());
try {
commonSmsService.paid(user.getPhone());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment