From 035e0829ab21f1ff17f10e96cf4a0d0d3f537cd3 Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Tue, 15 Oct 2024 10:43:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=94=80=E5=94=AE=E9=80=80?= =?UTF-8?q?=E8=B4=A7=E6=8F=92=E4=BB=B6=E4=B8=AD=E7=9A=84=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=A0=A1=E9=AA=8C=E5=92=8C=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改了SoSaleReturnPluginInitializerToB和SoSaleReturnPluginInitializerToC类中的日期校验逻辑 - 优化了异常信息的表述,使其更加清晰和准确 - 新增了TestSfExpress类,用于测试顺丰云打印功能(注:实际代码中此测试类已删除,此处为占位内容) --- .../SoSaleReturnPluginInitializerToB.java | 8 +- .../SoSaleReturnPluginInitializerToC.java | 8 +- .../java/com/hzya/frame/TestSfExpress.java | 75 +++++++++++++++++++ 3 files changed, 83 insertions(+), 8 deletions(-) create mode 100644 buildpackage/src/test/java/com/hzya/frame/TestSfExpress.java diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java index f02137b1..e9d4ab28 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java @@ -875,8 +875,8 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { } return businessFormat; } else { - logger.error("生成出库日期失败,或者closedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto)); - Assert.state(false, "生成出库日期失败,或者closedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto)); + logger.error("OFS字段closedAt为空(作为U8C的业务日期)! json:{}", JSON.toJSON(orderOutTobHeaderDto)); + Assert.state(false, "OFS字段closedAt为空(作为U8C的业务日期)! json:{}", JSON.toJSON(orderOutTobHeaderDto)); return null; } } @@ -1899,8 +1899,8 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { } return businessFormat; } else { - logger.error("生成出库日期失败,或者refundedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto)); - Assert.state(false, "生成出库日期失败,或者refundedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto)); + logger.error("refundedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto)); + Assert.state(false, "refundedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto)); return null; } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java index 81980925..69583825 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java @@ -972,8 +972,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { } return businessFormat; } else { - logger.error("closedAt为空! json:{}", JSON.toJSON(header)); - Assert.state(false, "closedAt为空! json:{}", JSON.toJSON(header)); + logger.error("OFS字段closedAt为空(作为U8C的业务日期)! json:{}", JSON.toJSON(header)); + Assert.state(false, "OFS字段closedAt为空(作为U8C的业务日期)! json:{}", JSON.toJSON(header)); return null; } } @@ -998,8 +998,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { } return businessFormat; } else { - logger.error("生成出库日期失败,或者refundedAt为空! json:{}", JSON.toJSON(stockinH)); - Assert.state(false, "生成出库日期失败,或者refundedAt为空! json:{}", JSON.toJSON(stockinH)); + logger.error("refundedAt为空! json:{}", JSON.toJSON(stockinH)); + Assert.state(false, "refundedAt为空! json:{}", JSON.toJSON(stockinH)); return null; } } diff --git a/buildpackage/src/test/java/com/hzya/frame/TestSfExpress.java b/buildpackage/src/test/java/com/hzya/frame/TestSfExpress.java new file mode 100644 index 00000000..fffcc1b1 --- /dev/null +++ b/buildpackage/src/test/java/com/hzya/frame/TestSfExpress.java @@ -0,0 +1,75 @@ +//package com.hzya.frame; +// +//import com.aliyun.teautil.Common; +// +//import javax.servlet.http.HttpServletResponse; +//import java.io.InputStream; +//import java.io.UnsupportedEncodingException; +//import java.net.URL; +//import java.net.URLConnection; +// +///** +// * @Author:liuyang +// * @Package:com.hzya.frame +// * @Project:kangarooDataCenterV3 +// * @name:TestSfExpress +// * @Date:2024/10/12 09:26 +// * @Filename:TestSfExpress +// */ +//public class TestSfExpress { +// /** +// * 云面单打印 +// */ +// @SuppressWarnings("static-access") +// public Result cloudPrint(FhhzdHDto entity, HttpServletResponse resp) throws UnsupportedEncodingException { +// FhhzdH fhhzdH = mapper.selectByPrimaryKey(entity.getId); +// if (Common.isNull(fhhzdH)) { +// return new Result().setCode(BussErrorCode.ARGUMENT_NOT_VALID).setReason("单号为" + entity.getId + "数据不存在!"); +// } +// if (Common.isEmpty(fhhzdH.getKddh())) {//快递单号 +// return new Result().setCode(BussErrorCode.ARGUMENT_NOT_VALID).setReason("该单据还没有下单无法打印面单!"); +// } +// //读取顺丰配置文件 +// loadSfProperties(); +// String msgData = getData(fhhzdH, TEMPLATECODE);//顺丰面单请求参数 +// CallExpressServiceTools client = CallExpressServiceTools.getInstance(); +// Map params = new HashMap(); +// String timeStamp = String.valueOf(System.currentTimeMillis()); +// params.put("partnerID", CLIENT_CODE); // 顾客编码 ,对应丰桥上获取的clientCode +// params.put("requestID", UUID.randomUUID().toString().replace("-", "")); +// params.put("serviceCode", COM_RECE_CLOUD_PRINT_WAYBILLS);// 接口服务码 +// params.put("timestamp", timeStamp); +// params.put("msgData", msgData); +// params.put("msgDigest", client.getMsgDigest(msgData, timeStamp, CHECK_WORD));//数据签名 +// String result = HttpClientUtil.post(CALL_URL_BOX, params); +// ShunFengResponse res = new Gson().fromJson(result, ShunFengResponse.class); +// String apiResultData = res.getApiResultData(); +// NoodleSheetData data = new Gson().fromJson(apiResultData, NoodleSheetData.class); +// if (data.getSuccess() == false) { +// throw new RuntimeException(String.format("单据号为[%s]读取顺丰面单发生异常", fhhzdH.getDjh())); +// } +// /** +// * 注意:如果是异步方式请求接口时不需要关注以下此部分内容,我这写的是同步,以下代码是要把顺丰云面单 +// * 以流的形式输出打印出来,默认是异步,同步需要设置sync为true +// * 封装顺丰相应参数请严格按照顺丰接口要求,书写实体类 +// * +// */ +// String token = data.getObj().getFiles().get(0).getToken();//顺丰面单返回的token +// String url = data.getObj().getFiles().get(0).getUrl();//pdf文件的url下载地址 +// try { +// URL noodleUrl = new URL(url); +// URLConnection connection = noodleUrl.openConnection(); //创建连接 +// connection.setRequestProperty("X-Auth-token", token);//设置请求头(下载文件时需要的token,设置在请求头的 X-Auth-token 字段,有效期 24h) +// InputStream in = connection.getInputStream(); +// byte[] image = Util.toByteArray(in); +// OutputStream out = resp.getOutputStream(); +// out.write(image); +// out.flush(); +// out.close(); +// } catch (IOException e) { +// log.error("pdf文件转换发生异常!", e.getMessage()); +// throw new RuntimeException(e.getMessage()); +// } +// return null; +// } +//}