diff --git a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
index b54a802..94f4106 100644
--- a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
+++ b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
@@ -7,10 +7,13 @@ import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.enums.ErrorCode;
import com.jianshui.common.exception.jianshui.JianshuiParamErrorException;
+import com.jianshui.common.exception.jianshui.JianshuiServiceException;
import com.jianshui.common.utils.StringUtils;
import com.jianshui.common.utils.http.HttpHelper;
+import com.jianshui.invoice.constant.elephant.ElephantConstants;
import com.jianshui.invoice.domain.BillInfo;
import com.jianshui.invoice.domain.FindRedInfo;
+import com.jianshui.invoice.utils.elephant.ElephantUtils;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO;
import com.jianshui.invoice.domain.Redinfo;
import com.jianshui.invoice.domain.dto.*;
@@ -32,6 +35,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
/**
* @Description
@@ -62,6 +68,23 @@ public class InvoiceController {
@Autowired
private InvoiceAddPService addService;
+ @GetMapping("/api/v1/test")
+ public Object test(){
+ Companyservice companyservice = new Companyservice();
+ FindRedInfo findRedInfo = new FindRedInfo();
+ findRedInfo.setSQBQQPCH("127021937706230911155203");
+ findRedInfo.setNSRSBH("91370921MACWQ1520M");
+ AjaxResult queryResult = null;
+ try {
+ queryResult = ElephantUtils.sendRequestWithoutTokenV6(ElephantConstants.REDINFO_FIND_LOCALHOST, ElephantConstants.REDINFO_FIND_METHOD, JSONUtil.parse(findRedInfo), companyservice);
+ } catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) {
+ log.error("【销项发票】【大象接口】【红字信息表查询】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(findRedInfo).toString(), JSONObject.toJSONString(companyservice));
+ e.printStackTrace();
+ throw new JianshuiServiceException("系统异常!");
+ }
+ return null;
+ }
+
/**
* 功能描述: 红字查询接口
* @param identity
diff --git a/jianshui-breaker/pom.xml b/jianshui-breaker/pom.xml
index 1d8a9cf..673fc87 100644
--- a/jianshui-breaker/pom.xml
+++ b/jianshui-breaker/pom.xml
@@ -18,8 +18,7 @@
cn.hutool
hutool-all
- 5.8.0.M1
- compile
+ 5.8.20
org.projectlombok
diff --git a/jianshui-common/pom.xml b/jianshui-common/pom.xml
index f116a0e..5f2202c 100644
--- a/jianshui-common/pom.xml
+++ b/jianshui-common/pom.xml
@@ -151,8 +151,8 @@
cn.hutool
hutool-all
- 5.8.0.M1
- compile
+ 5.8.20
+
io.swagger
diff --git a/jianshui-income/pom.xml b/jianshui-income/pom.xml
index cbf7ba6..56f3f0d 100644
--- a/jianshui-income/pom.xml
+++ b/jianshui-income/pom.xml
@@ -44,8 +44,7 @@
cn.hutool
hutool-all
- 5.8.0.M1
- compile
+ 5.8.20
io.swagger
diff --git a/jianshui-invoice-all/pom.xml b/jianshui-invoice-all/pom.xml
index f29426d..fd43c7d 100644
--- a/jianshui-invoice-all/pom.xml
+++ b/jianshui-invoice-all/pom.xml
@@ -45,8 +45,7 @@
cn.hutool
hutool-all
- 5.8.0.M1
- compile
+ 5.8.20
io.swagger
diff --git a/jianshui-invoice/pom.xml b/jianshui-invoice/pom.xml
index 32b99cd..b8023a4 100644
--- a/jianshui-invoice/pom.xml
+++ b/jianshui-invoice/pom.xml
@@ -16,6 +16,11 @@
+
+ com.dxhy.order
+ SIMS-order-sdk
+ 1.2.3-RELEASE
+
com.jianshui
@@ -34,7 +39,7 @@
cn.hutool
hutool-all
- 5.8.0.M1
+ 5.8.20
diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstants.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstants.java
index 6f4bd6c..4d59458 100644
--- a/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstants.java
+++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstants.java
@@ -54,7 +54,7 @@ public class ElephantConstants {
public static String REDINFO_DOWNLOAD = "order-api/order-api/v4/DownloadRedInvoiceApplicationResult";
public static String REDINFO_DOWNLOAD_LOCALHOST = "/invoice/api/v4/DownloadRedInvoiceApplicationResult";
public static String REDINFO_DOWNLOAD_METHOD = "DownloadRedInvoiceApplicationResult";
- public static String REDINFO_FIND_LOCALHOST = "/invoice/api/v4/GetRedInvoiceApplication";
+ public static String REDINFO_FIND_LOCALHOST = "/invoice/api/v6/GetRedInvoiceApplication";
public static String REDINFO_FIND_METHOD = "GetRedInvoiceApplication";
// 发票作废
diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java
index f1ec81a..2def76d 100644
--- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java
+++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.NumberUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -735,14 +736,14 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService {
*/
@Override
public HXResponse findRedInfo(FindRedInfo findRedInfo, Companyservice companyservice) {
- log.info("传入信息======》",JSONUtil.toJsonStr(findRedInfo));
+ log.info("传入信息",JSONUtil.toJsonStr(findRedInfo));
if (StringUtils.isEmpty(findRedInfo.getSQBQQPCH()) || StringUtils.isEmpty(findRedInfo.getNSRSBH())){
log.error("传入信息为空");
return new HXResponse("9999","传入信息为空");
}
AjaxResult queryResult = null;
try {
- queryResult = ElephantUtils.sendRequestWithoutToken(ElephantConstants.REDINFO_FIND_LOCALHOST, ElephantConstants.REDINFO_FIND_METHOD, JSONUtil.parse(findRedInfo), companyservice);
+ queryResult = ElephantUtils.sendRequestWithoutTokenV6(ElephantConstants.REDINFO_FIND_LOCALHOST, ElephantConstants.REDINFO_FIND_METHOD, JSONUtil.parse(findRedInfo), companyservice);
} catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) {
log.error("【销项发票】【大象接口】【红字信息表查询】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(findRedInfo).toString(), JSONObject.toJSONString(companyservice));
e.printStackTrace();
diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/elephant/ElephantUtils.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/elephant/ElephantUtils.java
index 9ca6624..d12b99d 100644
--- a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/elephant/ElephantUtils.java
+++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/elephant/ElephantUtils.java
@@ -12,6 +12,10 @@ import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.dxhy.order.InvokeDxhyApi;
+import com.dxhy.order.ReceiveDxhyApi;
+import com.dxhy.order.protocol.invoke.DxhyInterfaceRequest;
+import com.dxhy.order.protocol.invoke.DxhyInterfaceResponse;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.core.redis.RedisCache;
@@ -332,6 +336,56 @@ public class ElephantUtils {
}
+ /**
+ * 大象请求 大象部署版 v6 无token
+ *
+ * @param uri 请求uri
+ * @param methodName 文档里的"接口方法"
+ * @param data 请求体
+ * @param companyservice companyservice
+ * @return
+ */
+ public static AjaxResult sendRequestWithoutTokenV6(String uri, String methodName, JSON data, Companyservice companyservice) throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
+ ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class);
+ CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "elephant_secret_id");
+ if (secretIdProp == null) {
+ throw new JianshuiServiceException("企业未配置属性,请联系管理员!");
+ }
+ String secretId = secretIdProp.getValue();
+ CompanyserviceProp sercretKeyProp = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "elephant_secret_key");
+ if (sercretKeyProp == null) {
+ throw new JianshuiServiceException("企业未配置属性,请联系管理员!");
+ }
+ String sercretKey = sercretKeyProp.getValue();
+ BASE64Encoder encoder = new BASE64Encoder();
+ byte[] contentByte = JSONUtil.toJsonStr(data).getBytes();
+ // byte[] contentByte = "{\"DDPCXX\":{\"DDQQPCH\":\"5767e3e0907c4e3c848c3f459b68394b\",\"NSRSBH\":\"110101MYJ2GPQQ4\",\"FPLXDM\":\"004\"},\"DDZXX\":[{\"DDTXX\":{\"DDQQLSH\":\"4767e3e0907c4e3c848c3f459b68394b\",\"NSRSBH\":\"110101MYJ2GPQQ4\",\"NSRMC\":\"测试 localhost\",\"KPLX\":\"0\",\"XHFSBH\":\"110101MYJ2GPQQ4\",\"XHFMC\":\"测试 localhost\",\"XHFDZ\":\"山东省济南市济微路141号中铁物流园1楼\",\"XHFDH\":\"1\",\"XHFYH\":\"齐鲁银行济南王官庄支行 1170 8140 0000 0016 252\",\"XHFZH\":\"1170814000000016252\",\"GMFSBH\":\"91320700774687205M\",\"GMFMC\":\"连云港天邦科技开发有限公司\",\"GMFDZ\":\"江苏省连云港市海州开发区新浦工业园振兴路\",\"GMFDH\":\"0518-85287867\",\"GMFYH\":\"江苏银行连云港浦中支行 \",\"GMFZH\":\"70300101314068535\",\"GMFLX\":\"01\",\"KPR\":\"test1\",\"QDBZ\":\"0\",\"JSHJ\":\"7475.76\",\"HJJE\":\"6615.72\",\"HJSE\":\"860.04\",\"DDH\":\"4767e3e0907c4e3c848c3f459b68394b\",\"DDSJ\":\"2022-05-17 10:09:33\"},\"DDMXXX\":[{\"XH\":\"1\",\"FPHXZ\":\"0\",\"SPBM\":\"108020799\",\"YHZCBS\":\"0\",\"XMMC\":\"圆钢\",\"GGXH\":\"60\",\"DW\":\"吨\",\"SPSL\":1.014,\"DJ\":\"4991.15\",\"JE\":\"5061.03\",\"HSBZ\":\"0\",\"SL\":\"0.13\",\"SE\":\"657.93\",\"BYZD1\":\"\",\"BYZD2\":\"\",\"BYZD3\":\"\"},{\"XH\":\"2\",\"FPHXZ\":\"0\",\"SPBM\":\"108020799\",\"YHZCBS\":\"0\",\"XMMC\":\"圆钢\",\"GGXH\":\"55\",\"DW\":\"吨\",\"SPSL\":0.23,\"DJ\":\"4902.65\",\"JE\":\"1127.61\",\"HSBZ\":\"0\",\"SL\":\"0.13\",\"SE\":\"146.59\",\"BYZD1\":\"\",\"BYZD2\":\"\",\"BYZD3\":\"\"},{\"XH\":\"3\",\"FPHXZ\":\"0\",\"SPBM\":\"108020799\",\"YHZCBS\":\"0\",\"XMMC\":\"圆钢\",\"GGXH\":\"10\",\"DW\":\"吨\",\"SPSL\":0.076,\"DJ\":\"5619.47\",\"JE\":\"427.08\",\"HSBZ\":\"0\",\"SL\":\"0.13\",\"SE\":\"55.52\",\"BYZD1\":\"\",\"BYZD2\":\"\",\"BYZD3\":\"\"}]}]}".getBytes();
+ String byteContent = encoder.encode(contentByte);
+ boolean isDevMode = CommonUtils.isDevMode();
+ String host = ElephantConstants.PROD_HOST_LOCAL;
+ if (isDevMode) {
+ host = ElephantConstants.DEV_HOST_LOCAL;
+ }
+ //kk TODO : 2023/9/5 大象接口迁京东云
+ //https://js.ele12.com/
+ host = "https://js.ele12.com/order-api";
+ String url = host + uri;
+ DxhyInterfaceRequest dxhyInterfaceRequest = new DxhyInterfaceRequest();
+ dxhyInterfaceRequest.setRequestUrl(url);
+ dxhyInterfaceRequest.setRequestType("POST");
+ dxhyInterfaceRequest.setHttpTimeOut("100000");
+ dxhyInterfaceRequest.setDataExchangeId("1617954341800234234234552");
+ dxhyInterfaceRequest.setSecretId(secretId);
+ dxhyInterfaceRequest.setSecretKey(sercretKey);
+ dxhyInterfaceRequest.setContent(byteContent);
+ DxhyInterfaceResponse dxhyInterfaceResponse = InvokeDxhyApi.dxhyInterfaceInvoke(dxhyInterfaceRequest);
+ log.info("请求成功,结果{}",JSONUtil.toJsonStr(dxhyInterfaceResponse));
+ String code = dxhyInterfaceResponse.getCode();
+ return AjaxResult.error("请求失败");
+ }
+
+
+
/**
* 大象请求 大象部署版 1.2.4 无token
*
diff --git a/jianshui-platform/pom.xml b/jianshui-platform/pom.xml
index ecef9fa..5300725 100644
--- a/jianshui-platform/pom.xml
+++ b/jianshui-platform/pom.xml
@@ -45,8 +45,7 @@
cn.hutool
hutool-all
- 5.8.0.M1
- compile
+ 5.8.20
io.swagger