Przeglądaj źródła

fix bug:重推订单创建接口未更新小票码状态

lhm 3 lat temu
rodzic
commit
863ded8ff1

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/PickUpCodeDao.java

@@ -38,4 +38,6 @@ public interface PickUpCodeDao extends BaseDao<PickUpCodeEntity> {
     void updatePickUpCodeStatusByOrderSn(@Param("orderSn") String orderSn, @Param("pickUpCodeStatus") String pickUpCodeStatus);
 
     void updatePickUpCode(Map<String, String> pickUpCodeMap);
+
+    void updateBatchPickUpCodeStatus(@Param("orderSnList") List<String> orderSnList, @Param("pickUpCodeStatus") String pickUpCodeStatus);
 }

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/service/PickUpCodeService.java

@@ -80,4 +80,6 @@ public interface PickUpCodeService {
     void updatePickUpCodeStatusByOrderSn(String orderSn, String pickUpCodeStatus);
 
     void updatePickUpCode(Map<String,String> pickUpCodeMap);
+
+    void updateBatchPickUpCodeStatus(List<String> orderSnList, String pickUpCodeStatus);
 }

+ 5 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/PickUpCodeServiceImpl.java

@@ -110,4 +110,9 @@ public class PickUpCodeServiceImpl implements PickUpCodeService {
     public void updatePickUpCode(Map<String, String> pickUpCodeMap) {
         pickUpCodeDao.updatePickUpCode(pickUpCodeMap);
     }
+
+    @Override
+    public void updateBatchPickUpCodeStatus(List<String> orderSnList, String pickUpCodeStatus) {
+        pickUpCodeDao.updateBatchPickUpCodeStatus(orderSnList, pickUpCodeStatus);
+    }
 }

+ 10 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/haikong/HaikongSendOrderInfoRecordServiceImpl.java

@@ -2,12 +2,16 @@ package com.kmall.admin.service.impl.haikong;
 
 import com.kmall.admin.dao.haikong.HaiKongSendOrderInfoRecordDao;
 import com.kmall.admin.entity.haikong.HaiKongSendOrderInfoRecordEntity;
+import com.kmall.admin.service.PickUpCodeService;
 import com.kmall.admin.service.haikong.HaiKongSendOrderInfoRecordService;
+import com.kmall.common.constant.Dict;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -22,6 +26,9 @@ public class HaikongSendOrderInfoRecordServiceImpl implements HaiKongSendOrderIn
     @Autowired
     private HaiKongSendOrderInfoRecordDao haikongSendOrderInfoRecordDao;
 
+    @Autowired
+    private PickUpCodeService pickUpCodeService;
+
     @Override
     public HaiKongSendOrderInfoRecordEntity queryObject(Integer id) {
         return haikongSendOrderInfoRecordDao.queryObject(id);
@@ -68,7 +75,10 @@ public class HaikongSendOrderInfoRecordServiceImpl implements HaiKongSendOrderIn
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void updateResendStatusBatch(List<HaiKongSendOrderInfoRecordEntity> entities) {
         haikongSendOrderInfoRecordDao.updateResendStatusBatch(entities);
+        List<String> orderSnList = entities.stream().map(HaiKongSendOrderInfoRecordEntity::getOuterOrderNo).collect(Collectors.toList());
+        pickUpCodeService.updateBatchPickUpCodeStatus(orderSnList, Dict.PickUpCodeStatusEnum.item_0.getStatus());
     }
 }

+ 8 - 0
kmall-admin/src/main/resources/mybatis/mapper/PickUpCodeDao.xml

@@ -217,4 +217,12 @@
 		where order_sn = #{orderSn}
 	</update>
 
+    <update id="updateBatchPickUpCodeStatus">
+		update mall_pick_up_code set pick_up_code_status = #{pickUpCodeStatus}
+		where order_sn in
+		<foreach collection="list" item="item" open="(" separator="," close=")">
+			#{item}
+		</foreach>
+	</update>
+
 </mapper>