Explorar el Código

bugfix查询物流

chao hace 3 años
padre
commit
4dde63ec46

+ 8 - 4
src/main/java/com/caimei365/order/controller/ShipApi.java

@@ -227,16 +227,20 @@ public class ShipApi {
 
     /**
      * 扫码添加物流
-     * @param number 快递单号
+     * @param number      快递单号
+     * @param mobile      收/寄件人的电话号码(顺丰必填)
      */
     @ApiOperation("扫码添加物流(旧:/supplier/scanLogistics)")
-    @ApiImplicitParam(required = true, name = "number", value = "快递单号")
+    @ApiImplicitParams({
+            @ApiImplicitParam(required = true, name = "number", value = "快递单号"),
+            @ApiImplicitParam(required = true, name = "mobile", value = "收/寄件人的电话号码(顺丰必填)")
+    })
     @PostMapping("/ship/logistics/scan")
-    public ResponseJson<CompanyVo> scanGetLogisticsInfo(String number) {
+    public ResponseJson<CompanyVo> scanGetLogisticsInfo(String number, String mobile) {
         if (StringUtils.isEmpty(number)) {
             return ResponseJson.error("快递单号不能为空!", null);
         }
-        return shipService.scanGetLogisticsInfo(number);
+        return shipService.scanGetLogisticsInfo(number, mobile);
     }
 
     /**

+ 3 - 2
src/main/java/com/caimei365/order/service/ShipService.java

@@ -108,9 +108,10 @@ public interface ShipService {
     ResponseJson<Void> addLogisticsInfo(LogisticsBatchDto logisticsBatchDto);
     /**
      * 扫码添加物流
-     * @param number 快递单号
+     * @param number      快递单号
+     * @param mobile      收/寄件人的电话号码(顺丰必填)
      */
-    ResponseJson<CompanyVo> scanGetLogisticsInfo(String number);
+    ResponseJson<CompanyVo> scanGetLogisticsInfo(String number, String mobile);
     /**
      * 供应商查看物流
      * @param shopOrderId       子订单Id

+ 4 - 0
src/main/java/com/caimei365/order/service/impl/RemoteCallServiceImpl.java

@@ -135,10 +135,14 @@ public class RemoteCallServiceImpl implements RemoteCallService {
         try {
             // 调用 ToolsFeign 获取物流
             String jsonStr = toolsFeign.getLogisticsByNumber(number, companyCode, mobile);
+            log.info("智能获取物流信息:"+jsonStr);
             JSONObject parseObject = JSONObject.parseObject(jsonStr);
             if (0 == parseObject.getInteger("code")){
                 // 获取物流信息成功
                 resultData.set(parseObject.getString("data"));
+            } else {
+                // 获取物流失败,返回错误信息
+                resultData.set(jsonStr);
             }
         } catch (Exception e) {
             log.error("获取物流信息失败:", e);

+ 18 - 5
src/main/java/com/caimei365/order/service/impl/ShipServiceImpl.java

@@ -272,6 +272,7 @@ public class ShipServiceImpl implements ShipService {
         logisticsBatch.setRemark(note);
         // 保存物流批次
         shipMapper.insertLogisticsBatch(logisticsBatch);
+        log.info("【供应商发货】>>>>>>>>>>>>>>>>>>>>>>>>>>新增物流批次(insert[cm_logistics_batch])shopOrderId:" + shopOrder.getShopOrderId() + ",logisticsBatchId:"+logisticsBatch.getId());
 
         /* products:[   // 发货商品信息
          *      {orderProductId:订单商品id,num:此次发货数量},
@@ -290,6 +291,7 @@ public class ShipServiceImpl implements ShipService {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return ResponseJson.error("订单商品异常,orderProductId:" + orderProductId, null);
             }
+            shipmentsNum += num;
             LogisticsRecordPo logisticsRecord = new LogisticsRecordPo();
             logisticsRecord.setLogisticsBatchId(logisticsBatch.getId());
             logisticsRecord.setShopOrderId(orderProduct.getShopOrderId());
@@ -302,6 +304,8 @@ public class ShipServiceImpl implements ShipService {
             logisticsRecord.setImage(orderProduct.getImage());
             // 保存 发货物流记录
             shipMapper.insertLogisticsRecord(logisticsRecord);
+            log.info("【供应商发货】>>>>>>>>>>>>>>>>>>>>>>>>>>新增物流记录(insert[cm_logistics_record])shopOrderId:" + shopOrder.getShopOrderId() + ",logisticsRecordId:"+logisticsRecord.getId());
+
             // 保存订单商品未出库数量
             int notOutStore = orderProduct.getNotOutStore() - num;
             shipMapper.updateNotOutStore(orderProductId, notOutStore);
@@ -494,6 +498,7 @@ public class ShipServiceImpl implements ShipService {
      *
      * @param logisticsBatchId 发货物流批次Id
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public ResponseJson<Void> cancelDelivery(Integer logisticsBatchId) {
         // 发货物流批次
@@ -566,6 +571,7 @@ public class ShipServiceImpl implements ShipService {
      *                          ]
      *                          }
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public ResponseJson<Void> addLogisticsInfo(LogisticsBatchDto logisticsBatchDto) {
         // 发货物流批次
@@ -621,12 +627,13 @@ public class ShipServiceImpl implements ShipService {
 
     /**
      * 扫码添加物流
-     *
-     * @param number 快递单号
+     * @param number      快递单号
+     * @param mobile      收/寄件人的电话号码(顺丰必填)
      */
     @Override
-    public ResponseJson<CompanyVo> scanGetLogisticsInfo(String number) {
-        String result = remoteCallService.getLogisticsByNumber(number, null, null);
+    public ResponseJson<CompanyVo> scanGetLogisticsInfo(String number, String mobile) {
+        String result = remoteCallService.getLogisticsByNumber(number, null, mobile);
+        String errorMsg = "查询失败!";
         if (StringUtils.isNotEmpty(result)){
             JSONObject resultJson = JSONObject.parseObject(result);
             String comCode = resultJson.getString("com");
@@ -634,8 +641,13 @@ public class ShipServiceImpl implements ShipService {
                 List<CompanyVo> companyList = shipMapper.getLogisticsCompany(comCode);
                 return ResponseJson.success(companyList.get(0));
             }
+            // 查询失败,返回错误信息
+            String msg = resultJson.getString("msg");
+            if (StringUtils.isNotEmpty(msg)) {
+                errorMsg = msg;
+            }
         }
-        return ResponseJson.error("查询失败!", null);
+        return ResponseJson.error(errorMsg, null);
     }
 
     /**
@@ -865,6 +877,7 @@ public class ShipServiceImpl implements ShipService {
      *                         images:   ["图片","图片",...]
      *                         }, {}]
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public ResponseJson<Void> saveProductQualification(JsonParamsDto jsonParamsDto) {
         try {