|
|
|
@ -9,6 +9,7 @@ import com.dxhy.order.model.OrderOriginExtendInfo; |
|
|
|
|
import com.dxhy.order.model.OrderProcessInfo; |
|
|
|
|
import com.dxhy.order.model.OrderProcessInfoExt; |
|
|
|
|
import com.dxhy.order.model.R; |
|
|
|
|
import com.dxhy.order.model.newsk.invoiceapply.Consignee; |
|
|
|
|
import com.dxhy.order.utils.CommonUtils; |
|
|
|
|
import com.dxhy.order.utils.JsonUtils; |
|
|
|
|
import com.dxhy.base.constant.OrderMergeErrorMessageEnum; |
|
|
|
@ -124,7 +125,7 @@ public class OrderRollbackServiceImpl implements OrderRollbackService { |
|
|
|
|
// 异常回退
|
|
|
|
|
if (OrderInfoEnum.ORDER_STATUS_6.getKey().equals(processInfo.getDdzt()) |
|
|
|
|
|| OrderInfoEnum.ORDER_STATUS_8.getKey().equals(processInfo.getDdzt())) { |
|
|
|
|
// 修改处理表状态为待开具ORDER_STATUS_3
|
|
|
|
|
/*// 修改处理表状态为待开具ORDER_STATUS_3
|
|
|
|
|
log.debug("{}要回退异常订单的orderId:{}", LOGGER_MSG, processInfo.getOrderInfoId()); |
|
|
|
|
OrderProcessInfo orderProcessInfo = new OrderProcessInfo(); |
|
|
|
|
orderProcessInfo.setId(processInfo.getId()); |
|
|
|
@ -133,14 +134,23 @@ public class OrderRollbackServiceImpl implements OrderRollbackService { |
|
|
|
|
if (updateResult <= 0) { |
|
|
|
|
log.error("{},异常订单回退失败,订单id:{}", LOGGER_MSG, processInfo.getOrderInfoId()); |
|
|
|
|
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_DATA_EXCEPTION_ERROR); |
|
|
|
|
} |
|
|
|
|
}*/ |
|
|
|
|
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_DATA_EXCEPTIONNOTBACK_ERROR); |
|
|
|
|
// 拆分后回退
|
|
|
|
|
} else if (OrderInfoEnum.ORDER_TYPE_0.getKey().equals(processInfo.getDdlx())) { |
|
|
|
|
if (OrderInfoEnum.ORDER_STATUS_0.getKey().equals(processInfo.getDdzt()) || OrderInfoEnum.ORDER_STATUS_1.getKey().equals(processInfo.getDdzt()) |
|
|
|
|
|| OrderInfoEnum.ORDER_STATUS_2.getKey().equals(processInfo.getDdzt()) || OrderInfoEnum.ORDER_STATUS_3.getKey().equals(processInfo.getDdzt())) { |
|
|
|
|
log.error("{},原始订单不需要回退,订单id:{}", LOGGER_MSG, processInfo.getOrderInfoId()); |
|
|
|
|
|
|
|
|
|
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_StATUS_ERROR); |
|
|
|
|
/*log.error("{},原始订单不需要回退,订单id:{}", LOGGER_MSG, processInfo.getOrderInfoId()); |
|
|
|
|
|
|
|
|
|
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_StATUS_ERROR);*/ |
|
|
|
|
OrderProcessInfo orderProcessInfo = new OrderProcessInfo(); |
|
|
|
|
orderProcessInfo.setId(processInfo.getId()); |
|
|
|
|
orderProcessInfo.setYzfp(ConfigureConstant.STRING_0); |
|
|
|
|
int updateResult = orderProcessInfoMapper.updateOrderProcessInfoByProcessId(orderProcessInfo, shList); |
|
|
|
|
if (updateResult <= 0) { |
|
|
|
|
log.error("{},原始订单回退失败,订单id:{}", LOGGER_MSG, processInfo.getOrderInfoId()); |
|
|
|
|
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_DATA_EXCEPTION_ERROR); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
@ -178,6 +188,7 @@ public class OrderRollbackServiceImpl implements OrderRollbackService { |
|
|
|
|
//如果根据当前id查询数据后存在数据,说明该数据是合并后数据,把当前是数据存放在无效状态数据中,把其他数据存放在有效状态数据中
|
|
|
|
|
if (orderProcessInfoExts1 != null && orderProcessInfoExts1.size() > 0) { |
|
|
|
|
if (orderProcessInfoExts1.size() > 1) { |
|
|
|
|
//山能没有订单合并,不会走此分支
|
|
|
|
|
validStatusData.add(processInfo.getId()); |
|
|
|
|
originValidStatusData.add(processInfo.getOrderInfoId()); |
|
|
|
|
for (OrderProcessInfoExt orderProcessInfoExt : orderProcessInfoExts1) { |
|
|
|
@ -187,6 +198,7 @@ public class OrderRollbackServiceImpl implements OrderRollbackService { |
|
|
|
|
//如果是合并后订单还原,则将订单处理记录扩展表的数据置为无效状态
|
|
|
|
|
selectExtByParentProcessId.addAll(orderProcessInfoExts1); |
|
|
|
|
} else { |
|
|
|
|
//山能只会拆分一次
|
|
|
|
|
//判断是否为拆分后数据,拆分后数据,需要获取父级数据,然后递归获取有效无效状态
|
|
|
|
|
List<OrderProcessInfoExt> parentOrderProcessInfoExts = orderProcessInfoExtMapper.selectExtByParentProcessId(orderProcessInfoExts1.get(0).getParentOrderProcessId(), shList); |
|
|
|
|
//如果根据父id查询数据后存在数据,说明该数据是拆分后数据,把父级数据改为有效状态,
|
|
|
|
@ -200,6 +212,10 @@ public class OrderRollbackServiceImpl implements OrderRollbackService { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// validStatusData:拆分后的订单,order_process_info表的id
|
|
|
|
|
// statusData:原订单,order_process_info表的id
|
|
|
|
|
// originValidStatusData:拆分后的订单,order_process_info表的order_info_id
|
|
|
|
|
// originStatusData:原订单,order_process_info表的order_info_id
|
|
|
|
|
updateByTranaction(selectExtByParentProcessId, validStatusData, statusData, originValidStatusData, originStatusData, shList); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|