Browse Source

改动过的

huanglizhi 1 năm trước cách đây
mục cha
commit
3f0d1af59a

+ 14 - 7
module-erp/src/main/java/com/hys/app/controller/erp/use/KdnController.java

@@ -12,6 +12,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -43,7 +44,7 @@ public class KdnController {
     @PostMapping("/kdShip/{orderId}")
     @Log(client = LogClient.admin, detail = "订单[${orderId}]发货")
     public String kdShip(@PathVariable(value = "orderId") Long orderId
-            , @RequestBody @Valid PreOrderModel preOrderModel
+            , @RequestBody @Valid PreOrderModelDTO preOrderModel
             , @RequestBody AddressDTO addressDTO) {
         return kuaiDiNiaoService.kdShip(preOrderModel, orderId, addressDTO);
     }
@@ -79,19 +80,25 @@ public class KdnController {
 
 
     @ApiOperation(value = "queryLogistics")
-    @PostMapping("/queryLogistics/{logisticsType}{logistics}/{userPhone}")
+    @PostMapping("/queryLogistics")
     @Log(client = LogClient.admin, detail = "订阅物流查询")
-    public void queryLogistics(@PathVariable String logistics, @PathVariable String logisticsType, @PathVariable String userPhone) {
-        kuaiDiNiaoService.queryLogistics(logistics,logisticsType,userPhone);
+    public void queryLogistics(@RequestBody LogisyicsTopic logisyicsTopic ) {
+        kuaiDiNiaoService.queryLogistics(logisyicsTopic);
     }
 
     @PostMapping("/returnBack/logistics")
-    public void kdnReturnBackLogistics(ReturnBackLogistics returnBackBase) {
-        if (returnBackBase.getCount() > 1){
+    public ReturnBackLogisticsResponse kdnReturnBackLogistics( ReturnBackInstant returnBackInstant ) {
+        ReturnBackLogistics returnBackBase = JSON.parseObject(returnBackInstant.getRequestData(), ReturnBackLogistics.class);
+        ReturnBackLogisticsResponse response = new ReturnBackLogisticsResponse();
+        if (returnBackBase.getCount() >0){
             List<Map> maps = JSON.parseArray(returnBackBase.getData(), Map.class);
             for (Map map : maps) {
-                kuaiDiNiaoService.kdnReturnBackLogistics(map);
+                Boolean b = kuaiDiNiaoService.kdnReturnBackLogistics(map);
+                if (!b){
+                    response.setSuccess(false);
+                }
             }
         }
+        return response;
     }
 }

+ 2 - 1
module-erp/src/main/java/com/hys/app/converter/erp/OrderConverter.java

@@ -10,6 +10,7 @@ import com.hys.app.model.erp.vo.OrderExcelVO;
 import com.hys.app.model.erp.vo.OrderItemVO;
 import com.hys.app.model.erp.vo.OrderVO;
 import com.hys.app.service.kuaidiniao.entity.PreOrderModel;
+import com.hys.app.service.kuaidiniao.entity.PreOrderModelDTO;
 import com.hys.app.service.kuaidiniao.entity.ReceiverSender;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
@@ -61,7 +62,7 @@ public interface OrderConverter {
     @Mapping(target = "aDo.senderLatitude", source = "sender.latitude")
     @Mapping(target = "aDo.senderLongitude", source = "sender.longitude")
     @Mapping(target = "aDo.deleted", ignore = true)
-    void copyProperties(@MappingTarget OrderSendDO aDo, PreOrderModel preOrderModel, ReceiverSender receiver, ReceiverSender sender);
+    void copyProperties(@MappingTarget OrderSendDO aDo, PreOrderModelDTO preOrderModel, ReceiverSender receiver, ReceiverSender sender);
 
 
 

+ 1 - 0
module-erp/src/main/java/com/hys/app/model/erp/dos/OrderSendDO.java

@@ -261,4 +261,5 @@ public class OrderSendDO extends BaseDO {
 
     @ApiModelProperty("快递员电话后4位")
     private String logisticsPhone;
+
 }

+ 4 - 4
module-erp/src/main/java/com/hys/app/service/kuaidiniao/KuaiDiNiaoService.java

@@ -23,7 +23,7 @@ public interface KuaiDiNiaoService {
      *
      * @param preOrderModel
      */
-    String kdShip(PreOrderModel preOrderModel, Long orderId, AddressDTO addressDTO);
+    String kdShip(PreOrderModelDTO preOrderModel, Long orderId, AddressDTO addressDTO);
 
     /**
      * 快递鸟创建门店
@@ -48,11 +48,11 @@ public interface KuaiDiNiaoService {
     /**
      * 根据物流单号查询快递状态
      *
-     * @param logistics
+     * @param
      * @return
      */
-    void queryLogistics(String logistics,String logisticsType,String userPhone);
+    void queryLogistics(LogisyicsTopic logisyicsTopic);
 
-    void kdnReturnBackLogistics(Map map);
+    Boolean kdnReturnBackLogistics(Map map);
 
 }

+ 23 - 28
module-erp/src/main/java/com/hys/app/service/kuaidiniao/KuaiDiNiaoServiceImpl.java

@@ -97,7 +97,7 @@ public class KuaiDiNiaoServiceImpl implements KuaiDiNiaoService {
 
 
     @Override
-    public String kdShip(PreOrderModel preOrderModel, Long orderId, AddressDTO addressDTO) {
+    public String kdShip(PreOrderModelDTO preOrderModel, Long orderId, AddressDTO addressDTO) {
         fillParam(preOrderModel);
         String kdnCode = sendUrl(JSONUtil.toJsonStr(preOrderModel));
         if (StrUtil.isNotEmpty(kdnCode)) {
@@ -191,43 +191,38 @@ public class KuaiDiNiaoServiceImpl implements KuaiDiNiaoService {
 
     /**
      * 订阅就行了,订阅成功与否均不影响货物的正常派发
-     *
-     * @param logistics
-     * @param logisticsType
-     * @param userPhone
      */
     @Override
-    public void queryLogistics(String logistics, String logisticsType, String userPhone) {
-        Map<String, Object> map = new HashMap<>();
-        map.put("ShipperCode", logisticsType);
-        map.put("LogisticCode", logistics);
-        map.put("CustomerName", userPhone);
-        String design = null;
+    public void queryLogistics(LogisyicsTopic logisyicsTopic) {
         try {
-            design = URLEncoder.encode(Base64.encode(DigestUtil.md5Hex(JSONUtil.toJsonStr(map) + apiKey)), "UTF-8");
-
+            String design = URLEncoder.encode(Base64.encode(DigestUtil.md5Hex(JSONUtil.toJsonStr(logisyicsTopic) + kuaiDiKey)), "UTF-8");
+            Map<String, Object> paramMap = new HashMap<>();
+            paramMap.put("RequestData", JSONUtil.toJsonStr(logisyicsTopic));
+            paramMap.put("DataType", 2);
+            paramMap.put("EBusinessID", kuaiDiId);
+            paramMap.put("DataSign", design);
+            paramMap.put("RequestType", KdConstants.orderLogistics);
+            String res = HttpUtil.post(kuaiDiUrl, paramMap);
+            log.info(logisyicsTopic.getLogisticCode() + "快递鸟轨迹订阅" + res);
         } catch (Exception e) {
 
         }
-        Map<String, Object> paramMap = new HashMap<>();
-        paramMap.put("RequestData", map);
-        paramMap.put("DataType", 2);
-        paramMap.put("EBusinessID", kuaiDiId);
-        paramMap.put("DataSign", design);
-        paramMap.put("RequestType", KdConstants.orderLogistics);
-        //发请求
-        String res = HttpUtil.post(kuaiDiUrl, paramMap);
-        log.info(logistics + "快递鸟轨迹订阅" + res);
+
     }
 
     @Override
-    public void kdnReturnBackLogistics(Map map) {
-        OrderSendDO sendDO = orderSendManager.getOne(new LambdaQueryWrapper<OrderSendDO>().eq(OrderSendDO::getLogisticsCode, map.get("LogisticCode").toString()).last("limit 1"));
-        if (ObjectUtil.isNotNull(sendDO)) {
-            List<Map> maps = JSON.parseArray(JSON.toJSONString(map.get("Traces")), Map.class);
-            sendDO.setLogistics(maps);
+    public Boolean kdnReturnBackLogistics(Map map) {
+        try {
+            OrderSendDO sendDO = orderSendManager.getOne(new LambdaQueryWrapper<OrderSendDO>().eq(OrderSendDO::getLogisticsCode, map.get("LogisticCode").toString()).last("limit 1"));
+            if (ObjectUtil.isNotNull(sendDO)) {
+                List<Map> maps = JSON.parseArray(JSON.toJSONString(map.get("Traces")), Map.class);
+                sendDO.setLogistics(maps);
+            }
+            orderSendManager.updateById(sendDO);
+            return true;
+        }catch (Exception e){
+            return false;
         }
-        orderSendManager.updateById(sendDO);
     }
 
 

+ 20 - 0
module-erp/src/main/java/com/hys/app/service/kuaidiniao/entity/LogisyicsTopic.java

@@ -0,0 +1,20 @@
+package com.hys.app.service.kuaidiniao.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.Max;
+import java.util.List;
+
+/**
+ * 预下单参数
+ */
+@Data
+public class LogisyicsTopic {
+    private String ShipperCode;
+
+    private String LogisticCode;
+
+    private String CustomerName;
+}

+ 12 - 0
module-erp/src/main/java/com/hys/app/service/kuaidiniao/entity/PreOrderModelDTO.java

@@ -19,4 +19,16 @@ public class PreOrderModelDTO extends PreOrderModel{
 
     @ApiModelProperty(name = "kdn_order_code", value = "快递鸟单号")
     private String kdnOrderCode;
+
+    @ApiModelProperty("快递公司代码")
+    private String  logisticsType;
+
+    @ApiModelProperty("快递单号")
+    private String  logisticsCode;
+
+    @ApiModelProperty("寄件人手机号后四位")
+    private String  logisticsPhone;
+
+
+
 }

+ 5 - 0
module-erp/src/main/java/com/hys/app/service/kuaidiniao/entity/ReturnBackLogistics.java

@@ -8,6 +8,11 @@ import lombok.Data;
  */
 @Data
 public class ReturnBackLogistics {
+    //用户ID
+    private String  RequestData;
+    private String  DataSign;
+    private String  RequestType;
+
 
     //用户ID
     private String EBusinessID;

+ 25 - 0
module-erp/src/main/java/com/hys/app/service/kuaidiniao/entity/ReturnBackLogisticsResponse.java

@@ -0,0 +1,25 @@
+package com.hys.app.service.kuaidiniao.entity;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 快递鸟  预下单商品接收类
+ */
+@Data
+public class ReturnBackLogisticsResponse {
+
+    private String EBusinessID = "1852670";
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime UpdateTime = LocalDateTime.now();
+
+    private Boolean Success = true;
+
+    private String Reason = "";
+}

+ 2 - 2
server/src/main/resources/application.yml

@@ -55,8 +55,8 @@ kuaidianiao:
   key: 0b15b75c-94b4-482b-a462-fd21e45a50f5
   apiUrl: http://183.62.170.46:38092/tcpapi/orderdist
   kuaidi:
-    id: 1852670
-    key: 653b24a5-6dd8-40a8-8f69-2a51a71f49a1
+    id: 1844388
+    key: 9dc8ced0-8079-4b01-9c16-32a6e8b46677
     apiUrl: https://api.kdniao.com/api/dist