From d9759da621bac32baa1fe4ff61ed6ece0c465aac Mon Sep 17 00:00:00 2001 From: kk <1910333201@qq.com> Date: Tue, 10 Oct 2023 17:57:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 9 +-- .../config/properties/DruidProperties.java | 19 ++++++- .../AisinoConsoleInvoiceApiServiceImpl.java | 56 +++++++++++++++---- 3 files changed, 64 insertions(+), 20 deletions(-) diff --git a/jianshui-admin/src/main/resources/application-dev.yml b/jianshui-admin/src/main/resources/application-dev.yml index 1b427c9..e8401d0 100644 --- a/jianshui-admin/src/main/resources/application-dev.yml +++ b/jianshui-admin/src/main/resources/application-dev.yml @@ -13,12 +13,9 @@ spring: # url: jdbc:mysql://58.87.71.213:3306/jianshui_dev_new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: jianshui_dev # username: jianshui_dev_new - password: tHsWetXEjYFJsdAC -# password: WhpPBbmRpkfk7fBT -# url: jdbc:mysql://101.42.102.111:3306/jianshui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 -# username: jianshui -# password: ScDsCb2xPMtb5eW6 - # 从库数据源 +# password: tHsWetXEjYFJsdAC + password: kaMSddCzO54qtIg0I9N8iKA2iSFrm8YdBK55Zxdjxy8Zuo7+GoRcZHUOI9UmY1JtrMP6wA//Bftj8oq8zRbbPA== + # 从库数据源 slave: # 从数据源开关/默认关闭 enabled: false diff --git a/jianshui-framework/src/main/java/com/jianshui/framework/config/properties/DruidProperties.java b/jianshui-framework/src/main/java/com/jianshui/framework/config/properties/DruidProperties.java index d71e9bd..96eea21 100644 --- a/jianshui-framework/src/main/java/com/jianshui/framework/config/properties/DruidProperties.java +++ b/jianshui-framework/src/main/java/com/jianshui/framework/config/properties/DruidProperties.java @@ -4,6 +4,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import com.alibaba.druid.pool.DruidDataSource; +import java.sql.SQLException; +import java.util.Properties; + /** * druid 配置属性 * @@ -45,8 +48,9 @@ public class DruidProperties @Value("${spring.datasource.druid.testOnReturn}") private boolean testOnReturn; - public DruidDataSource dataSource(DruidDataSource datasource) - { + @Value("${publicKey}") + private String publicKey; + public DruidDataSource dataSource(DruidDataSource datasource) { /** 配置初始化大小、最小、最大 */ datasource.setInitialSize(initialSize); datasource.setMaxActive(maxActive); @@ -72,6 +76,17 @@ public class DruidProperties datasource.setTestOnBorrow(testOnBorrow); /** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */ datasource.setTestOnReturn(testOnReturn); + + Properties properties = new Properties(); + properties.setProperty("config.decrypt","true"); + properties.setProperty("config.decrypt.key",publicKey); + datasource.setConnectProperties(properties); + try { + datasource.setFilters("config"); + } catch (SQLException e) { + + } + return datasource; } } diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java index 2e6c96d..3b099c8 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java @@ -8,15 +8,8 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.dxyun.invoice.constant.StatusConstants; -import com.dxyun.invoice.exception.BadRequestException; -import com.dxyun.invoice.protocol.InterfaceData; -import com.dxyun.invoice.protocol.ProtocolUtil; -import com.dxyun.invoice.protocol.exception.ProtocolException; -import com.dxyun.invoice.util.InterfaceDataUtil; import com.jianshui.common.core.domain.AjaxResult; import com.jianshui.common.core.domain.entity.Companyservice; import com.jianshui.common.enums.ErrorCode; @@ -74,6 +67,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { private RedinfoMapper redinfoMapper; + /** * 1.发票开具 SID = 1 * @@ -996,6 +990,41 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { } + /** + * 机动车加密接口(控制台) + */ + @Override + public HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice) { + + // TODO: 2023/10/10 机动车 + + + /*// 发起请求 + AjaxResult ajaxResult = null; + try { + //hutool的beancopy别名会与JSONUTIl冲突 + Map map = BeanToMapUtils.fastJsonBean2Map(aisinoConsoleInvoiceAddDTO); + map.put("invoiceItems", listMap); + ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.INVOICE_ADD, JSONUtil.parse(map), companyservice); + } catch (Exception e) { + log.error("【销项发票】【总部控制台接口】【发票开具】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(aisinoConsoleInvoiceAddDTO).toString(), JSONObject.toJSONString(companyservice)); + e.printStackTrace(); + throw new JianshuiServiceException("系统异常!"); + } + log.info("【销项发票】【总部控制台发票】发票开具请求拉取结果{}", ajaxResult.toString()); + + //返回报文解析 + if (ajaxResult.isError()) { + throw new JianshuiServiceException(ajaxResult.getMsg()); + } + + cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data")); + String retcode = resultJSON.get("retcode") != null ? resultJSON.get("retcode").toString() : ""; + String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : "";*/ + + return null; + } + @Override public AjaxResult syncStockInfo(Companyservice companyservice) { return null; @@ -1141,9 +1170,12 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { return null; } + + + /** * 机动车加密接口(走的大象,重汽用控制台) - */ + *//* @Override public HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice) { @@ -1177,7 +1209,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { // TODO: 2023/10/8 输出到页面 // 浏览器处理乱码问题 - /*String userAgent = request.getHeader(HttpHeaders.USER_AGENT); + *//*String userAgent = request.getHeader(HttpHeaders.USER_AGENT); try { //IE浏览器 if (org.apache.commons.lang3.StringUtils.contains(userAgent, ConfigureConstant.REQUEST_HEAD_USER_AGENT_TYPE_MSIE) @@ -1199,10 +1231,10 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { response.getOutputStream().write(Base64Encoding.decode(data)); } catch (IOException e) { log.error("{}机动车导出加密数据异常:{}", LOGGER_MSG, e); - }*/ + }*//* return null; - } + }*/ /** @@ -1224,7 +1256,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { // )', String terminalCode = "007"; - // TODO: 2023/10/9 机动车加密大象这里代码是混淆的,带看一下他是怎么调用的,哪里有用到这个 + // TODO: 2023/10/9 机动车加密大象 /*try {