|
|
|
@@ -1168,43 +1168,24 @@ public class WxOrderServiceImpl implements WxOrderService { |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) |
|
|
|
public int updateOrderStatus(WxOrder updateOrder, EnumOrderStatus enumOrderStatus) { |
|
|
|
Date currentDate = new Date(); |
|
|
|
switch (enumOrderStatus) { |
|
|
|
case ORDER_STATUS_OVERTIME_CANCEL: // 支付取消,库存退回 |
|
|
|
case ORDER_STATUS_REFUND_SUCCESS: { // 退款成功,库存退回 |
|
|
|
try { |
|
|
|
stockBack(updateOrder); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("库存+1失败, e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.REMAIN_BACK_FAIL); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
case ORDER_STATUS_COOPERATING_OVERTIME: { // 拼团超时,退库存 |
|
|
|
try { |
|
|
|
stockBack(updateOrder); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("库存+1失败, e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.REMAIN_BACK_FAIL); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
case ORDER_STATUS_COOPERATING_CANCEL: { // 拼团取消,退库存 |
|
|
|
try { |
|
|
|
stockBack(updateOrder); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("库存+1失败, e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.REMAIN_BACK_FAIL); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
case ORDER_STATUS_COOPERATING_COMPLETE: { // 拼团完成,退库存 |
|
|
|
try { |
|
|
|
stockBack(updateOrder); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("库存+1失败, e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.REMAIN_BACK_FAIL); |
|
|
|
WxOrder oldOrder = wxOrderMapper.selectById(updateOrder.getId()); |
|
|
|
if (!oldOrder.getOrderStatus().equals(enumOrderStatus.getCode())) { |
|
|
|
// 状态已更新,库存不退回, 保证不会多退 |
|
|
|
switch (enumOrderStatus) { |
|
|
|
case ORDER_STATUS_OVERTIME_CANCEL: // 支付取消,库存退回 |
|
|
|
case ORDER_STATUS_REFUND_SUCCESS: // 退款成功,库存退回 |
|
|
|
case ORDER_STATUS_COOPERATING_OVERTIME: // 拼团超时,退库存 |
|
|
|
case ORDER_STATUS_COOPERATING_CANCEL: // 拼团取消,退库存 |
|
|
|
case ORDER_STATUS_COOPERATING_COMPLETE: // 拼团完成,退库存 |
|
|
|
{ |
|
|
|
try { |
|
|
|
stockBack(updateOrder); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("库存+1失败, e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.REMAIN_BACK_FAIL); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
WxOrder refOrder = new WxOrder(); |
|
|
|
|