| | |
| | | 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; |
| | |
| | | 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> |
| | |
| | | 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 |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |