|
|
@@ -113,6 +113,7 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
orderWrapper.orderByDesc(SysSubOrder::getId)
|
|
|
.eq(bo.getStatus() != null, SysSubOrder::getStatus, bo.getStatus())
|
|
|
.eq(bo.getService() != null, SysSubOrder::getService, bo.getService())
|
|
|
+ .eq(bo.getSite() != null, SysSubOrder::getStoreSite, bo.getSite())
|
|
|
);
|
|
|
|
|
|
List<Long> petIds = new ArrayList<>();
|
|
|
@@ -242,7 +243,15 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
public boolean cancel(SysSubOrderCancelBo bo) {
|
|
|
|
|
|
SysSubOrder subOrder = baseMapper.selectById(bo.getOrderId());
|
|
|
- subOrder.setStatus(OrderStatusEnum.CANCELLED.getValue());
|
|
|
+
|
|
|
+ LoginUser loginUser = LoginHelper.getLoginUser();
|
|
|
+ boolean isFulfillerCancel = loginUser.getUserType().equals(UserType.FULFILLER_USER.getUserType());
|
|
|
+ if (isFulfillerCancel) {
|
|
|
+ subOrder.setStatus(OrderStatusEnum.PENDING_DISPATCH.getValue());
|
|
|
+ subOrder.setFulfiller(null);
|
|
|
+ } else {
|
|
|
+ subOrder.setStatus(OrderStatusEnum.CANCELLED.getValue());
|
|
|
+ }
|
|
|
|
|
|
boolean orderFlag = baseMapper.updateById(subOrder) == 0;
|
|
|
if (orderFlag) {
|
|
|
@@ -251,9 +260,6 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
|
|
|
SysSubOrderLog log = new SysSubOrderLog();
|
|
|
|
|
|
- LoginUser loginUser = LoginHelper.getLoginUser();
|
|
|
- // 此代码由AI生成 - 判断是否为履约者取消
|
|
|
- boolean isFulfillerCancel = loginUser.getUserType().equals(UserType.FULFILLER_USER.getUserType());
|
|
|
if (isFulfillerCancel) {
|
|
|
log.setSubOrderId(subOrder.getId());
|
|
|
log.setActioner(LoginHelper.getUserId());
|
|
|
@@ -281,7 +287,6 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
throw new RuntimeException("日志追加失败");
|
|
|
}
|
|
|
|
|
|
- // 此代码由AI生成 - 履约者取消订单时发送消息通知
|
|
|
if (isFulfillerCancel) {
|
|
|
try {
|
|
|
SubOrderRejectMessage msg = new SubOrderRejectMessage();
|
|
|
@@ -291,12 +296,9 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
msg.setFulfillerId(LoginHelper.getUserId());
|
|
|
msg.setFulfillerName(loginUser.getNickname());
|
|
|
msg.setRejectReason(bo.getReason());
|
|
|
- // 获取门店名称
|
|
|
String storeName = remoteStoreService.getNameById(subOrder.getStore());
|
|
|
msg.setStoreName(storeName != null ? storeName : "未知门店");
|
|
|
- // 设置取消时间
|
|
|
msg.setCancelTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
|
|
- // 此代码由AI生成 - 标识为取消操作
|
|
|
msg.setActionType("CANCEL");
|
|
|
|
|
|
rabbitMqProducer.sendMessage(
|
|
|
@@ -305,7 +307,6 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
msg
|
|
|
);
|
|
|
} catch (Exception e) {
|
|
|
- // 消息发送失败不影响主流程
|
|
|
}
|
|
|
}
|
|
|
|