From 1ca50a0b84bbbf1c4550fa0906cb8ae5c7652149 Mon Sep 17 00:00:00 2001
From: caoyan <yan.cao@YHNJDT74FRL82.yoho01.local>
Date: Wed, 26 Jun 2019 21:18:56 +0800
Subject: [PATCH] 确认收货优化

---
 dal/src/main/java/com/yoho/order/dal/AbnormalPackageMapper.java                |  2 +-
 dal/src/main/java/com/yoho/order/model/BuyerOrder.java                         |  6 ++----
 dal/src/main/resources/META-INF/mybatis/AbnormalPackageMapper.xml              |  5 ++++-
 order/src/main/java/com/yoho/ufo/order/service/impl/BuyerOrderServiceImpl.java | 32 ++++++++++++++++++++------------
 4 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/dal/src/main/java/com/yoho/order/dal/AbnormalPackageMapper.java b/dal/src/main/java/com/yoho/order/dal/AbnormalPackageMapper.java
index 855afcf..bc15c2d 100644
--- a/dal/src/main/java/com/yoho/order/dal/AbnormalPackageMapper.java
+++ b/dal/src/main/java/com/yoho/order/dal/AbnormalPackageMapper.java
@@ -18,7 +18,7 @@ public interface AbnormalPackageMapper {
 	
 	int update(@Param("operateUid") Integer operateUid, @Param("updateTime") Integer updateTime, @Param("sellerWaybillCode") String sellerWaybillCode);
 
-    int selectValidCnt();
+    int selectValidCnt(@Param("sellerWaybillCode") String sellerWaybillCode);
     
     List<String> selectValidSellerWaybillCodeList(@Param("buyerOrderReq") BuyerOrderReq buyerOrderReq);
 }
diff --git a/dal/src/main/java/com/yoho/order/model/BuyerOrder.java b/dal/src/main/java/com/yoho/order/model/BuyerOrder.java
index 185a94a..165a013 100644
--- a/dal/src/main/java/com/yoho/order/model/BuyerOrder.java
+++ b/dal/src/main/java/com/yoho/order/model/BuyerOrder.java
@@ -1,12 +1,10 @@
 package com.yoho.order.model;
 
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
 import java.io.Serializable;
 import java.math.BigDecimal;
 
+import lombok.ToString;
+
 /**
  * @author caoyan
  * @date 2018/9/12
diff --git a/dal/src/main/resources/META-INF/mybatis/AbnormalPackageMapper.xml b/dal/src/main/resources/META-INF/mybatis/AbnormalPackageMapper.xml
index ce28602..c79c763 100644
--- a/dal/src/main/resources/META-INF/mybatis/AbnormalPackageMapper.xml
+++ b/dal/src/main/resources/META-INF/mybatis/AbnormalPackageMapper.xml
@@ -15,11 +15,14 @@
     </sql>
     
     <select id="selectValidCnt" resultType="java.lang.Integer">
-        select count(1) from abnormal_package where is_del = 0
+        select count(1) from abnormal_package where is_del = 0 and seller_waybillCode= #{sellerWaybillCode}
     </select>
     
     <select id="selectValidSellerWaybillCodeList" resultType="java.lang.String" parameterType="com.yoho.order.model.BuyerOrderReq">
         select seller_waybillCode from abnormal_package where is_del=0 
+        <if test="buyerOrderReq.sellerWaybillCode!=null and buyerOrderReq.sellerWaybillCode != ''">
+            seller_waybillCode = #{buyerOrderReq.sellerWaybillCode}
+        </if>
         <if test="buyerOrderReq.start!=null and buyerOrderReq.size != null">
          limit #{buyerOrderReq.start},#{buyerOrderReq.size}
         </if>
diff --git a/order/src/main/java/com/yoho/ufo/order/service/impl/BuyerOrderServiceImpl.java b/order/src/main/java/com/yoho/ufo/order/service/impl/BuyerOrderServiceImpl.java
index e3b3373..3086fa5 100644
--- a/order/src/main/java/com/yoho/ufo/order/service/impl/BuyerOrderServiceImpl.java
+++ b/order/src/main/java/com/yoho/ufo/order/service/impl/BuyerOrderServiceImpl.java
@@ -293,7 +293,8 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
     private static final Byte QC_STATUS_EXCEPTION = 4;
     
     //待处理
-	private static final List<Byte> receivedList = Lists.newArrayList(Constant.BUYER_ORDER_STATUS_PLATFORM_RECEIVE.getByteVal()); //平台质检中
+	private static final List<Byte> receivedList = Lists.newArrayList(Constant.BUYER_ORDER_STATUS_ALLOCATING.getByteVal(),//卖家已发货
+			Constant.BUYER_ORDER_STATUS_PLATFORM_RECEIVE.getByteVal()); //平台质检中
 			
 	//待发货
 	private static final List<Byte> processingList = Lists.newArrayList(Constant.CANCEL_QUALITY_CHECK_FAKE.getByteVal(),//已取消(商品质检不通过)
@@ -390,7 +391,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
     	resultMap.put("problemNum", problemNum);
     	
     	//查询异常包裹
-    	resultMap.put("exceptionNum", abnormalPackageMapper.selectValidCnt());
+    	resultMap.put("exceptionNum", abnormalPackageMapper.selectValidCnt(req.getQueryStr()));
     	
     	return resultMap;
     }
@@ -892,22 +893,20 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
 	
 	@Override
 	public void batchConfirmReceive(BuyerOrderReq req) {
-		String orderCodes = req.getOrderCode();
-		if(StringUtils.isEmpty(orderCodes)) {
-			return;
-		}
+		String sellerWaybillCode = req.getSellerWaybillCode();
+		
+		List<BuyerOrder> orderList = queryOrderByQueryStr(sellerWaybillCode, null, null);
+		List<String> orderCodes = orderList.stream().map(BuyerOrder::getOrderCode).collect(Collectors.toList());
 		
-		String[] orderCodeArr = orderCodes.split(",");
 		UserHelper userHelper =  new UserHelper();
 		int operateType =OperateTypeEnum.OPERATE_TYPE_CONFIRM_RECEIVE.getCode();
 
-		List<Long> orderCodeList = ListUtil.convertList(orderCodes, ",");
+		List<Long> orderCodeList = convertStringToLong(orderCodes);
 		List<BuyerOrder> buyerOrders = buyerOrderMapper.selectBatchByOrderCode(orderCodeList);
 		Map<String, BuyerOrder> orderMap = buyerOrders.stream().collect(Collectors.toMap(BuyerOrder::getOrderCode, item -> item));
 
-		for(int i=0; i<orderCodeArr.length; i++) {
-			String orderCode = orderCodeArr[i];
-			BuyerOrder buyerOrder = orderMap.get(orderCode);//buyerOrderMapper.selectByOrderCode(orderCode);
+		for(String orderCode : orderCodes) {
+			BuyerOrder buyerOrder = orderMap.get(orderCode);
 			if( Constant.BUYER_ORDER_STATUS_ALLOCATING.getByteVal()!=buyerOrder.getStatus().byteValue()){
 				throw new ServiceException(400,"错误:订单"+orderCode +"状态变化,不允许确认收货,请重新刷新列表");
 			}
@@ -923,6 +922,15 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
 		}
 	}
 	
+	private List<Long> convertStringToLong(List<String> orderCodeList){
+		List<Long> list = Lists.newArrayList();
+		for(String item : orderCodeList){
+			list.add(Long.parseLong(item));
+		}
+		
+		return list;
+	}
+	
 	@Override
 	public void updateSellerDeliveryDeal(BuyerOrderReq req,boolean againFlag){
 		String orderCode = req.getOrderCode();
@@ -2537,7 +2545,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
     
     @Override
     public PageResponseBO<String> queryAbnormalPackage(BuyerOrderReq req){
-    	int total = abnormalPackageMapper.selectValidCnt();
+    	int total = abnormalPackageMapper.selectValidCnt(req.getSellerWaybillCode());
     	if(total == 0){
     		return null;
     	}
--
libgit2 0.24.0