数据库密码加密

beta-enc
kk 2 years ago
parent c7a6a98475
commit d9759da621
  1. 9
      jianshui-admin/src/main/resources/application-dev.yml
  2. 19
      jianshui-framework/src/main/java/com/jianshui/framework/config/properties/DruidProperties.java
  3. 56
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java

@ -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 # 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
# username: jianshui_dev_new # username: jianshui_dev_new
password: tHsWetXEjYFJsdAC # password: tHsWetXEjYFJsdAC
# password: WhpPBbmRpkfk7fBT password: kaMSddCzO54qtIg0I9N8iKA2iSFrm8YdBK55Zxdjxy8Zuo7+GoRcZHUOI9UmY1JtrMP6wA//Bftj8oq8zRbbPA==
# url: jdbc:mysql://101.42.102.111:3306/jianshui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # 从库数据源
# username: jianshui
# password: ScDsCb2xPMtb5eW6
# 从库数据源
slave: slave:
# 从数据源开关/默认关闭 # 从数据源开关/默认关闭
enabled: false enabled: false

@ -4,6 +4,9 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
import java.sql.SQLException;
import java.util.Properties;
/** /**
* druid 配置属性 * druid 配置属性
* *
@ -45,8 +48,9 @@ public class DruidProperties
@Value("${spring.datasource.druid.testOnReturn}") @Value("${spring.datasource.druid.testOnReturn}")
private boolean testOnReturn; private boolean testOnReturn;
public DruidDataSource dataSource(DruidDataSource datasource) @Value("${publicKey}")
{ private String publicKey;
public DruidDataSource dataSource(DruidDataSource datasource) {
/** 配置初始化大小、最小、最大 */ /** 配置初始化大小、最小、最大 */
datasource.setInitialSize(initialSize); datasource.setInitialSize(initialSize);
datasource.setMaxActive(maxActive); datasource.setMaxActive(maxActive);
@ -72,6 +76,17 @@ public class DruidProperties
datasource.setTestOnBorrow(testOnBorrow); datasource.setTestOnBorrow(testOnBorrow);
/** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */ /** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
datasource.setTestOnReturn(testOnReturn); 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; return datasource;
} }
} }

@ -8,15 +8,8 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice; import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.enums.ErrorCode; import com.jianshui.common.enums.ErrorCode;
@ -74,6 +67,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
private RedinfoMapper redinfoMapper; private RedinfoMapper redinfoMapper;
/** /**
* 1.发票开具 SID = 1 * 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<String, Object> 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 @Override
public AjaxResult syncStockInfo(Companyservice companyservice) { public AjaxResult syncStockInfo(Companyservice companyservice) {
return null; return null;
@ -1141,9 +1170,12 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
return null; return null;
} }
/** /**
* 机动车加密接口走的大象重汽用控制台 * 机动车加密接口走的大象重汽用控制台
*/ *//*
@Override @Override
public HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice) { public HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice) {
@ -1177,7 +1209,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
// TODO: 2023/10/8 输出到页面 // TODO: 2023/10/8 输出到页面
// 浏览器处理乱码问题 // 浏览器处理乱码问题
/*String userAgent = request.getHeader(HttpHeaders.USER_AGENT); *//*String userAgent = request.getHeader(HttpHeaders.USER_AGENT);
try { try {
//IE浏览器 //IE浏览器
if (org.apache.commons.lang3.StringUtils.contains(userAgent, ConfigureConstant.REQUEST_HEAD_USER_AGENT_TYPE_MSIE) 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)); response.getOutputStream().write(Base64Encoding.decode(data));
} catch (IOException e) { } catch (IOException e) {
log.error("{}机动车导出加密数据异常:{}", LOGGER_MSG, e); log.error("{}机动车导出加密数据异常:{}", LOGGER_MSG, e);
}*/ }*//*
return null; return null;
} }*/
/** /**
@ -1224,7 +1256,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
// )', // )',
String terminalCode = "007"; String terminalCode = "007";
// TODO: 2023/10/9 机动车加密大象这里代码是混淆的,带看一下他是怎么调用的,哪里有用到这个 // TODO: 2023/10/9 机动车加密大象
/*try { /*try {

Loading…
Cancel
Save