Authored by caoyan

确认收货优化

... ... @@ -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);
}
... ...
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
... ...
... ... @@ -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>
... ...
... ... @@ -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;
}
... ...