From ac84854a9c55caa20e11ff854c924243bd3e0b55 Mon Sep 17 00:00:00 2001 From: liao Date: Mon, 24 Apr 2023 11:02:55 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=BF=AB=E9=80=92100=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=AE=A2=E5=8D=95=E4=BF=A1=E6=81=AF-=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=9F=A5=E8=AF=A2=E5=8F=82=E6=95=B0-=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PostInfoServiceImpl.java | 39 ++++++++++++------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PostInfoServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PostInfoServiceImpl.java index 5f4e82e6..0f0d3b62 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PostInfoServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PostInfoServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.gson.Gson; import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; +import com.jero.common.util.PasswordUtil; import com.jero.mail.entity.PayMailBill; import com.jero.mail.entity.PayMailContracrList; import com.jero.mail.param.QueryInfoParam; @@ -21,6 +22,7 @@ import com.kuaidi100.sdk.request.QueryTrackReq; import com.kuaidi100.sdk.utils.PropertiesReader; import com.kuaidi100.sdk.utils.SignUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -49,26 +51,20 @@ public class PostInfoServiceImpl implements IPostInfoService { @Override public Result queryInfo(PostInfoQuery postInfoQuery) { // 1.判断是否是邮寄管理中的数据 - checkIsMySystem(postInfoQuery); + String phone = checkIsMySystem(postInfoQuery); // 2.调用api - HttpResult httpResult = sendReq(postInfoQuery); - // 2.1.对body做处理 - QueryInfoParam infoParam = new Gson().fromJson(httpResult.getBody(), QueryInfoParam.class); - // 3.返回 - Result result = new Result(); - result.setCode(httpResult.getStatus()); - result.setResult(infoParam); - result.setMessage(infoParam.getMessage()); + Result result = sendReq(postInfoQuery, phone); return result; } - private HttpResult sendReq(PostInfoQuery postInfoQuery) { + private Result sendReq(PostInfoQuery postInfoQuery, String phone) { QueryTrackReq queryTrackReq = new QueryTrackReq(); QueryTrackParam queryTrackParam = new QueryTrackParam(); setCom(postInfoQuery); queryTrackParam.setCom(postInfoQuery.getCom()); queryTrackParam.setNum(postInfoQuery.getNum()); + queryTrackParam.setPhone(phone); queryTrackParam.setResultv2("4"); String param = new Gson().toJson(queryTrackParam); @@ -79,8 +75,15 @@ public class PostInfoServiceImpl implements IPostInfoService { IBaseClient baseClient = new QueryTrack(); try { HttpResult httpResult = baseClient.execute(queryTrackReq); - log.info("快递100远程api调用返回结果:",httpResult); - return httpResult; + // 2.1.对body做处理 + QueryInfoParam infoParam = new Gson().fromJson(httpResult.getBody(), QueryInfoParam.class); + // 3.返回 + Result result = new Result(); + result.setCode(httpResult.getStatus()); + result.setResult(infoParam); + result.setMessage(infoParam.getMessage()); + log.info("快递100远程api调用: {}", result.getMessage()); + return result; } catch (Exception e) { throw new JeroBootException("快递信息查询失败!"); } @@ -101,7 +104,7 @@ public class PostInfoServiceImpl implements IPostInfoService { * @Date: 2023/4/23 15:18 * @Remarks: 判断是否是邮寄管理中的数据 */ - private void checkIsMySystem(PostInfoQuery postInfoQuery) { + private String checkIsMySystem(PostInfoQuery postInfoQuery) { Page page1 = new Page<>(1, 1); PayMailContracrList payMailContracrList = new PayMailContracrList(); payMailContracrList.setPostNo(postInfoQuery.getNum()); @@ -112,8 +115,18 @@ public class PostInfoServiceImpl implements IPostInfoService { Page page2 = new Page<>(1, 1); IPage pageList2 = payMailBillService.pageList(page2, queryWrapper); int size2 = pageList2.getRecords().size(); + String phone; if (size1 < 1 && size2 < 1) { throw new JeroBootException("只能查询“票据邮寄”和“合同邮寄”中的快递单号信息!"); + } else if (size2 < 1) { + phone = pageList1.getRecords().get(0).getPrincipalPhone(); + } else { + phone = pageList2.getRecords().get(0).getPrincipalPhone(); } + if (StringUtils.isBlank(phone)) { + throw new JeroBootException("该邮寄信息没有填写邮寄人电话!"); + } + phone = PasswordUtil.decrypt(phone); + return phone; } }