Quellcode durchsuchen

物流查询多运单号

xdd vor 1 Monat
Ursprung
Commit
c865cd25e4

+ 14 - 0
fs-common/src/main/java/com/fs/common/utils/PhoneUtils.java

@@ -0,0 +1,14 @@
+package com.fs.common.utils;
+
+import cn.hutool.core.util.StrUtil;
+
+public class PhoneUtils {
+    public static String getLastFourNum(String phone) {
+
+            String lastFourNumber = phone;
+            if (lastFourNumber.length() == 11) {
+                lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
+            }
+            return lastFourNumber;
+    }
+}

+ 1 - 1
fs-company/src/main/java/com/fs/qw/config/SocketConfig.java

@@ -5,7 +5,7 @@ import org.springframework.context.annotation.Configuration;
 
 @Configuration
 public class SocketConfig {
-    @Value("${socket.url}")
+//    @Value("${socket.url}")
     private String socketUrl;
     public String getSocketUrl() {
         return socketUrl;

+ 3 - 1
fs-service-system/src/main/java/com/fs/store/mapper/FsStoreDeliversMapper.java

@@ -3,6 +3,8 @@ package com.fs.store.mapper;
 import com.fs.store.domain.FsStoreDelivers;
 import org.apache.ibatis.annotations.*;
 
+import java.util.List;
+
 /**
  * 发货信息Mapper接口
  *
@@ -56,5 +58,5 @@ public interface FsStoreDeliversMapper {
      * @return 发货信息
      */
     @Select("SELECT * FROM fs_store_delivers WHERE order_id = #{orderId}")
-    FsStoreDelivers findByOrderId(@Param("orderId") Integer orderId);
+    List<FsStoreDelivers> findByOrderId(@Param("orderId") Long orderId);
 }

+ 1 - 0
fs-service-system/src/main/java/com/fs/store/service/IFsStoreOrderService.java

@@ -105,6 +105,7 @@ public interface IFsStoreOrderService
     FsStoreOrder selectFsStoreOrderByOrderCode(String orderCode);
 
     R getExpress(FsStoreOrder order);
+    R getExpressMulti(FsStoreOrder order);
 
     R createUserOrder(FsStoreOrderCreateUserParam param);
 

+ 28 - 4
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java

@@ -32,6 +32,7 @@ import com.fs.common.event.TemplateEvent;
 import com.fs.common.event.TemplateListenEnum;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.DateUtils;
+import com.fs.common.utils.PhoneUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyDept;
@@ -68,6 +69,7 @@ import com.fs.tzBank.TzBankService;
 import com.fs.tzBank.utils.TzConfigUtils;
 import com.hc.openapi.tool.util.Ids;
 import lombok.Synchronized;
+import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -996,10 +998,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         //顺丰轨迹查询处理
         String lastFourNumber = "";
         if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
-            lastFourNumber = order.getUserPhone();
-            if (lastFourNumber.length() == 11) {
-                lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
-            }
+            lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
         }
         ExpressInfoDTO dto=expressService.getExpressInfo(order.getOrderCode(),order.getDeliverySn(),order.getDeliveryId(),lastFourNumber);
         dto.setShipperName(order.getDeliveryName());
@@ -1007,6 +1006,31 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         return R.ok().put("data", dto).put("express",express).put("deliveryId",order.getDeliveryId());
     }
 
+    @Override
+    public R getExpressMulti(FsStoreOrder order) {
+        //顺丰轨迹查询处理
+        String lastFourNumber = "";
+        if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+            lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
+        }
+        // 获取该订单关联的物流信息
+        List<FsStoreDelivers> fsStoreDelivers = fsStoreDeliversMapper.findByOrderId(order.getId());
+        if(CollectionUtils.isEmpty(fsStoreDelivers)){
+            return R.ok("当前订单号暂无物流信息");
+        }
+
+        List<ExpressInfoDTO> result = new ArrayList<>();
+        for (FsStoreDelivers fsStoreDeliver : fsStoreDelivers) {
+            ExpressInfoDTO dto=expressService.getExpressInfo(order.getOrderCode(),
+                    fsStoreDeliver.getDeliverSn(),
+                    fsStoreDeliver.getDeliverId(),
+                    lastFourNumber);
+            result.add(dto);
+        }
+
+        return R.ok().put("data",result);
+    }
+
     @Override
     @Transactional
     public R createUserOrder(FsStoreOrderCreateUserParam param) {

+ 14 - 0
fs-user-app/src/main/java/com/fs/app/controller/StoreOrderController.java

@@ -1324,6 +1324,20 @@ public class StoreOrderController extends  AppBaseController {
         return orderService.getExpress(order);
     }
 
+    @Login
+    @ApiOperation("物流查询多运单号")
+    @PostMapping("/getExpressMulti")
+    public R getExpressMulti( @Validated @RequestBody FsStoreOrderExpressParam param, HttpServletRequest request){
+        FsStoreOrder order=orderService.selectFsStoreOrderById(param.getOrderId());
+        if (ObjectUtil.isNull(order)) {
+            throw new CustomException("订单不存在");
+        }
+        if (order.getStatus() <2) {
+            throw new CustomException("未发货订单不能查询");
+        }
+        return orderService.getExpressMulti(order);
+    }
+
 
     @Login
     @ApiOperation("确认套餐订单")