ソースを参照

feat(hisStore): 发货导入接口支持 shipmentType 参数

- 控制器层新增 shipmentType 请求参数
- 服务层方法签名更新以接收 shipmentType
- 微信物流信息上传逻辑根据 shipmentType 设置不同物流类型
- 线上发货设置 logisticsType 为 1,用户自提设置为 4
xw 1 週間 前
コミット
4302b3ba3e

+ 2 - 2
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreHealthOrderScrmController.java

@@ -340,7 +340,7 @@ public class FsStoreHealthOrderScrmController extends BaseController {
     //订单发货批量导入
     @Log(title = "发货同步导入", businessType = BusinessType.IMPORT)
     @PostMapping("/importDeliveryNoteExpress")
-    public R importDeliveryNoteExpress(@RequestParam("file") MultipartFile file,@RequestParam("miniAppId") String miniAppId) {
+    public R importDeliveryNoteExpress(@RequestParam("file") MultipartFile file,@RequestParam("miniAppId") String miniAppId,@RequestParam("shipmentType") Integer shipmentType) {
         // 1. 检查文件是否为空
         if (file.isEmpty()) {
             return R.error("上传的文件不能为空");
@@ -362,7 +362,7 @@ public class FsStoreHealthOrderScrmController extends BaseController {
                 if(dtoList.size() > 200){
                     R.error("操作失败,导入数据不能大于200条!");
                 }
-               return fsStoreOrderService.importDeliveryNoteExpress(dtoList,miniAppId);
+               return fsStoreOrderService.importDeliveryNoteExpress(dtoList,miniAppId,shipmentType);
             }else {
                 R.error("操作失败,导入数据不能小于1条!");
             }

+ 1 - 1
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreOrderScrmService.java

@@ -292,7 +292,7 @@ public interface IFsStoreOrderScrmService
      * @param dtoList 订单数据
      * @param appId 小程序ID
      * **/
-    R importDeliveryNoteExpress(List<FsOrderDeliveryNoteDTO> dtoList,String appId);
+    R importDeliveryNoteExpress(List<FsOrderDeliveryNoteDTO> dtoList,String appId,Integer shipmentType);
 
     /**
      * 查询app商城订单金额统计信息

+ 9 - 4
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -3939,7 +3939,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R importDeliveryNoteExpress(List<FsOrderDeliveryNoteDTO> dtoList, String appId) {
+    public R importDeliveryNoteExpress(List<FsOrderDeliveryNoteDTO> dtoList, String appId,Integer shipmentType) {
         try {
             StringBuilder builder = new StringBuilder();
             //获取商城配置
@@ -4044,7 +4044,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                 if (config.getIsWeChatShipping() != null && config.getIsWeChatShipping()) {
                     // 上传物流信息到微信
                     List<FsStoreOrderCodeOpenIdVo> orderDetails = orderDetailsMap.get(orderNumber);
-                    if (uploadShippingInfoToWechat(wxService, orderInfo, orderDetails, dto, uploadTime)) {
+                    if (uploadShippingInfoToWechat(wxService, orderInfo, orderDetails, dto, uploadTime,shipmentType)) {
                         successList.add(dto);
                     } else {
                         builder.append("数据第").append(rowNum).append("行订单号为")
@@ -5101,7 +5101,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                                                OrderOpenIdTransDTO orderInfo,
                                                List<FsStoreOrderCodeOpenIdVo> orderDetails,
                                                FsOrderDeliveryNoteDTO dto,
-                                               String uploadTime) {
+                                               String uploadTime,Integer shipmentType) {
         try {
             WxMaOrderShippingInfoUploadRequest request = new WxMaOrderShippingInfoUploadRequest();
             OrderKeyBean orderKeyBean = new OrderKeyBean();
@@ -5109,7 +5109,12 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
             orderKeyBean.setTransactionId(orderInfo.getTransactionId());
             request.setOrderKey(orderKeyBean);
             request.setDeliveryMode(1);
-            request.setLogisticsType(1);
+            if(shipmentType == 1){//线上
+                request.setLogisticsType(1);
+            }else {//用户自提
+                request.setLogisticsType(4);
+            }
+
             List<ShippingListBean> shippingList = new ArrayList<>(orderDetails.size());
             ShippingListBean shippingListBean = null;
             for (FsStoreOrderCodeOpenIdVo detail : orderDetails) {