From d4f159d60acf6f263bfa4508a113c0feacd2f5b9 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 19 六月 2024 18:30:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java index a681596..c789080 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.order.service.impl; +import com.alibaba.fastjson.JSON; import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -13,12 +14,27 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.order.mapper.LogisticsMapper; import com.ruoyi.order.service.ILogisticsService; +import com.ruoyi.order.vo.KuaiDiCode; import com.ruoyi.system.api.domain.Logistics; import com.ruoyi.system.api.domain.dto.LogisticsDTO; import com.ruoyi.system.api.domain.vo.Express100VO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * <p> @@ -35,7 +51,10 @@ private String key="BltjQodT7186"; private String customer="56DE8E9E3D58CE73C60755C8B7483043"; + private static final String AUTONUMBER_AUTO_URL = "http://www.kuaidi100.com/autonumber/auto?num=NUM&key=KEY"; + @Autowired + private RestTemplate restTemplate; @Override @@ -67,4 +86,40 @@ response.setLogisticsName(one.getLogisticsName()); return response; } + + @Override + public Boolean isLogisticsOne(LogisticsDTO logisticsDTO) { + List<KuaiDiCode> m=findKuaiDiCode(logisticsDTO.getPostid()); + Boolean b=false; + if (m.size()>0){ + for (KuaiDiCode k:m){ + if (k.getComCode().equals(logisticsDTO.getCompany())){ + b=true; + } + } + + } + + return b; + } + + public List<KuaiDiCode> findKuaiDiCode(String orderId) { + String url = AUTONUMBER_AUTO_URL.replace("NUM", orderId).replace("KEY", key); + // 发送快递参数处理 + MultiValueMap<String, Object> sendBody = new LinkedMultiValueMap<>(); + sendBody.add("num", orderId); + sendBody.add("key", key); + //设置请求头参数 + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-type", "application/x-www-form-urlencoded"); + HttpEntity<MultiValueMap<String, Object>> formEntity = new HttpEntity<>(sendBody, headers); + ResponseEntity<String> result = restTemplate.postForEntity(url, formEntity, String.class); + List<KuaiDiCode> kuaiDiCode = new ArrayList<>(); + if (result.getBody() != null && result.getBody().length() > 0) { + ArrayList body = JSON.parseObject(result.getBody(), ArrayList.class); + body.forEach(i -> kuaiDiCode.add(JSON.parseObject(JSON.toJSONString(i), KuaiDiCode.class))); + } + return kuaiDiCode; + } + } -- Gitblit v1.7.1