소스 검색

经销商订单发货异常处理

chunping 2 년 전
부모
커밋
8b109dfc3b
1개의 변경된 파일26개의 추가작업 그리고 20개의 파일을 삭제
  1. 26 20
      mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelOrderServiceImpl.java

+ 26 - 20
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelOrderServiceImpl.java

@@ -326,26 +326,32 @@ public class ChannelOrderServiceImpl extends
 		}
 
 		boolean res = channelOrderDetailervice.saveBatch(detailList);
-		if(res) {
-			// 修改票包已销售状态
-			LambdaUpdateWrapper<TicketPackage> updateWrapper = new LambdaUpdateWrapper<TicketPackage>();
-			updateWrapper.set(TicketPackage::getStatus, TicketPkgStatusEnum.SOLD);
-			updateWrapper.in(TicketPackage::getPkgId, pkgIdList);
-			boolean rtn = ticketPackageService.update(updateWrapper);
-			if(rtn){
-				// 修改订单信息
-                String deliveryFlowId = channelOrder.getDeliveryFlowId();
-
-                // 物流单号为空则表示无需物流发货
-                if (StringUtils.isBlank(deliveryFlowId)) {
-                    channelOrder.setStatus(ChannelOrderStatusEnum.FINISHED);
-                } else {
-                    channelOrder.setStatus(ChannelOrderStatusEnum.NOT_CONFIRM);
-                }
-                return updateById(channelOrder);
-			}
-		}
-		return false;
+		if(!res) {
+      throw new ServiceException("保存订单票包发货明细失败");
+    }
+    // 修改票包已销售状态
+    LambdaUpdateWrapper<TicketPackage> updateWrapper = new LambdaUpdateWrapper<TicketPackage>();
+    updateWrapper.set(TicketPackage::getStatus, TicketPkgStatusEnum.SOLD);
+    updateWrapper.in(TicketPackage::getPkgId, pkgIdList);
+    updateWrapper.eq(TicketPackage::getStatus, TicketPkgStatusEnum.FOR_SALE);
+    boolean rtn = ticketPackageService.update(updateWrapper);
+    if(!rtn) {
+      throw new ServiceException("更新票包发货状态失败");
+    }
+    // 修改订单信息
+    String deliveryFlowId = channelOrder.getDeliveryFlowId();
+
+    // 物流单号为空则表示无需物流发货
+    if (StringUtils.isBlank(deliveryFlowId)) {
+        channelOrder.setStatus(ChannelOrderStatusEnum.FINISHED);
+    } else {
+        channelOrder.setStatus(ChannelOrderStatusEnum.NOT_CONFIRM);
+    }
+    boolean updateOrderRtn = updateById(channelOrder);
+    if (!updateOrderRtn) {
+      throw new ServiceException("更新订单状态失败");
+    }
+    return true;
 	}
 
 	@Override