From fd97cde3d994a3aa6898ba862cd20d0c081012c3 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 18 六月 2024 18:44:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 49 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 3abea27..a681596 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,10 +1,24 @@ package com.ruoyi.order.service.impl; +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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.kuaidi100.sdk.api.QueryTrack; +import com.kuaidi100.sdk.core.IBaseClient; +import com.kuaidi100.sdk.pojo.HttpResult; +import com.kuaidi100.sdk.request.QueryTrackParam; +import com.kuaidi100.sdk.request.QueryTrackReq; +import com.kuaidi100.sdk.utils.SignUtils; +import com.ruoyi.common.core.domain.R; import com.ruoyi.order.mapper.LogisticsMapper; import com.ruoyi.order.service.ILogisticsService; 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.stereotype.Service; + +import javax.annotation.Resource; /** * <p> @@ -18,4 +32,39 @@ public class LogisticsServiceImpl extends ServiceImpl<LogisticsMapper, Logistics> implements ILogisticsService { + private String key="BltjQodT7186"; + private String customer="56DE8E9E3D58CE73C60755C8B7483043"; + + + + + @Override + public Express100VO getLogisticsList(LogisticsDTO logisticsDTO) { + QueryTrackReq queryTrackReq = new QueryTrackReq(); + QueryTrackParam queryTrackParam = new QueryTrackParam(); + queryTrackParam.setCom(logisticsDTO.getCompany()); + queryTrackParam.setNum(logisticsDTO.getPostid()); + String param = new Gson().toJson(queryTrackParam); + + queryTrackReq.setParam(param); + queryTrackReq.setCustomer(customer); + queryTrackReq.setSign(SignUtils.querySign(param ,key,customer)); + + IBaseClient baseClient = new QueryTrack(); + HttpResult execute = null; + try { + execute = baseClient.execute(queryTrackReq); + } catch (Exception e) { + throw new RuntimeException(e); + } + // 对返回的数据进行反序列化处理 + Gson gson = new Gson(); + String responseBody = execute.getBody(); + Express100VO response = gson.fromJson(responseBody, Express100VO.class); + LambdaQueryWrapper<Logistics> wrapper= Wrappers.lambdaQuery(); + wrapper.eq(Logistics::getLogisticsNum,logisticsDTO.getCompany()); + Logistics one = this.getOne(wrapper); + response.setLogisticsName(one.getLogisticsName()); + return response; + } } -- Gitblit v1.7.1