Merge remote-tracking branch 'origin/beta' into beta

beta-enc
路明慧 2 years ago
commit 19e515c60a
  1. 79
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
  2. 19
      jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/AutonomousSqServiceImpl.java
  3. 10
      jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java
  4. 3
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/IInvoiceApiService.java
  5. 3
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/adapter/request/AisinoInvoiceRequestAdapterImpl.java
  6. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java
  7. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java
  8. 28
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java
  9. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java

@ -415,7 +415,17 @@ public class InvoiceController {
IInvoiceRequestService invoiceRequestService = invoiceRequestFactory.getService(requestAdapterKey);
JSONObject decryptResult = invoiceRequestService.decrypt(request, companyservice, "deprecate");
HXResponse result = preHandleDecryptResult(decryptResult, "deprecate", companyservice);
// HXResponse result = preHandleDecryptResult(decryptResult, "deprecate", companyservice);
// 调用预处理
if (decryptResult == null) {
throw new JianshuiParamErrorException(ErrorCode.ERROR_PARAMS, companyservice, "invoice");
}
// 获得请求实例,并且进行扣费
String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid());
serviceManageService.companyConsume("invoice", companyservice.getCompanyid());
IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey);
decryptResult.put("service_supplier_key", serviceKey);
HXResponse result = invoiceService.deprecateInvoice(decryptResult, companyservice);
String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid());
IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey);
@ -445,7 +455,17 @@ public class InvoiceController {
IInvoiceRequestService invoiceRequestService = invoiceRequestFactory.getService(requestAdapterKey);
JSONObject decryptResult = invoiceRequestService.decrypt(request, companyservice, "deprecate_query");
HXResponse result = preHandleDecryptResult(decryptResult, "deprecate_query", companyservice);
// HXResponse result = preHandleDecryptResult(decryptResult, "deprecate_query", companyservice);
if (decryptResult == null) {
throw new JianshuiParamErrorException(ErrorCode.ERROR_PARAMS, companyservice, "invoice");
}
DeprecateQueryInvoiceDTO deprecateQueryInvoiceDTO = decryptResult.toJavaObject(DeprecateQueryInvoiceDTO.class);
// 获得请求实例,并且进行扣费
String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid());
serviceManageService.companyConsume("invoice", companyservice.getCompanyid());
IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey);
HXResponse result = invoiceService.deprecateQueryInvoice(deprecateQueryInvoiceDTO, companyservice);
String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid());
IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey);
@ -562,7 +582,21 @@ public class InvoiceController {
IInvoiceRequestService invoiceRequestService = invoiceRequestFactory.getService(requestAdapterKey);
JSONObject decryptResult = invoiceRequestService.decrypt(request, companyservice, "push");
HXResponse result = preHandleDecryptResult(decryptResult, "push", companyservice);
// HXResponse result = preHandleDecryptResult(decryptResult, "push", companyservice);
// 接口预处理
BillInfo billInfo = decryptResult.toJavaObject(BillInfo.class);
if (billInfo == null) {
throw new JianshuiParamErrorException(ErrorCode.ERROR_PARAMS, companyservice, "invoice");
}
billInfo.setSource("2");
// 获得请求实例,并且进行扣费
String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid());
serviceManageService.companyConsume("invoice", companyservice.getCompanyid());
billInfo.setServiceSupplierKey(serviceKey);
IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey);
HXResponse result = invoiceService.pushData(billInfo, companyservice);
String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid());
IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey);
@ -1416,5 +1450,44 @@ public class InvoiceController {
}
/** 大象数电V6 */
/** 生成动态二维码接口 */
@ApiImplicitParams({
@ApiImplicitParam(name = "identity", value = "身份认证", dataType = "java.lang.Void", example = "1130", required = true),
@ApiImplicitParam(name = "order", value = "请求体", dataType = "java.lang.Void", required = true)})
@PostMapping({"/api/invoice/v1/generateDynamicCode/{identity}", "/api/invoice/v1/generateDynamicCode"})
public Object generateDynamicCode(HttpServletRequest request, String identity) throws Exception {
if (StringUtils.isEmpty(identity)) {
return AjaxResult.error(ErrorCode.EMPTY_IDENTITY);
}
Companyservice companyservice = iCompanyserviceService.selectCompanyserviceByIdentity(identity);
if (companyservice == null) {
return AjaxResult.error(ErrorCode.COMPANY_NOT_FOUND);
}
// 获得入口报文适配器
String requestAdapterKey = serviceManageService.getRequestAdapterKey("invoice", companyservice.getCompanyid());
IInvoiceRequestService invoiceRequestService = invoiceRequestFactory.getService(requestAdapterKey);
JSONObject decryptResult = invoiceRequestService.decrypt(request, companyservice, "");
// 获得请求实例,并且进行扣费
String serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", companyservice.getCompanyid());
serviceManageService.companyConsume("invoice", companyservice.getCompanyid());
IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey);
HXResponse result = invoiceService.generateDynamicCode(decryptResult, companyservice);
String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid());
IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey);
return invoiceResponseService.response(result, companyservice, "");
}
}

@ -96,12 +96,13 @@ public class AutonomousSqServiceImpl implements AutonomousSqService {
return AjaxResult.success("未查询到该流水号相关信息,请确认后输入");
}
if ("F000".equals(invoiceAllLoginResult.getCode())) {
String[] splitResult = invoiceAllLoginResult.getMsg().split(":");
if (StringUtils.isNotBlank(splitResult[1])){
return AjaxResult.error(splitResult[1]);
}else {
return AjaxResult.error(splitResult[0]);
}
// String[] splitResult = invoiceAllLoginResult.getMsg().split(":");
// if (StringUtils.isNotBlank(splitResult[1])){
// return AjaxResult.error(splitResult[1]);
// }else {
// return AjaxResult.error(splitResult[0]);
// }
return AjaxResult.error(invoiceAllLoginResult.getMsg());
} else if ("S000".equals(invoiceAllLoginResult.getCode())) {
return AjaxResult.success("10012");
} else if ("SMS".equals(invoiceAllLoginResult.getCode())){
@ -219,9 +220,9 @@ public class AutonomousSqServiceImpl implements AutonomousSqService {
// 回调地址
inoviceAllQdLoginDTO.setLoginType("1");
inoviceAllQdLoginDTO.setCallback("http://dev.goldentaxcloud.com:8081/api/invoice_all/v1/autonomousAuthorization");
log.info("全电登录接口,请求上游,地址:{},参数:{}", "http://221.222.184.98:8880/login/getLogin2", JSONUtil.toJsonStr(inoviceAllQdLoginDTO));
log.info("全电登录接口,请求上游,地址:{},参数:{}", "http://zzsq.jcsk100.com/login/getLogin2", JSONUtil.toJsonStr(inoviceAllQdLoginDTO));
Thread requestThread = new Thread(() -> {
HttpUtils.sendJsonPost("http://221.222.184.98:8880/login/getLogin2", inoviceAllQdLoginDTO);
HttpUtils.sendJsonPost("http://zzsq.jcsk100.com/login/getLogin2", inoviceAllQdLoginDTO);
});
requestThread.start();
// 用户信息封装
@ -239,7 +240,7 @@ public class AutonomousSqServiceImpl implements AutonomousSqService {
invoiceAllApiLog.setCreateTime(new Date());
invoiceAllApiLog.setCompany(companyservice.getSellertax());
invoiceAllApiLog.setIdentityId(companyservice.getIdentity());
invoiceAllApiLog.setUrl("http://221.222.184.98:8880/login/getLogin2");
invoiceAllApiLog.setUrl("http://zzsq.jcsk100.com/login/getLogin2");
invoiceAllApiLog.setSendMsg(JSONUtil.toJsonStr(inoviceAllQdLoginDTO));
invoiceAllApiLog.setRequestId(qqlsh);
allApiLogMapper.insert(invoiceAllApiLog);

@ -56,9 +56,15 @@ public class ElephantConstantsV6 {
public static String REDINFO_FIND_LOCALHOST = "/invoice/api/v6/GetRedInvoiceApplication";
public static String REDINFO_FIND_METHOD = "GetRedInvoiceApplication";
// 生成动态二维码
public static String GEN_DYNAMIC_CODE_LOCALHOST = "/invoice/api/v6/GenerateDynamicCode";
public static String GEN_DYNAMIC_CODE_METHOD = "GenerateDynamicCode";
// 发票作废
public static String DEPRECATE_INVOICE = "order-api/order-api/V6/DeprecateInvoices";
public static String DEPRECATE_INVOICE_LOCALHOST = "/invoice/api/V6/DeprecateInvoices";
public static String DEPRECATE_INVOICE = "order-api/order-api/V5/DeprecateInvoices";
public static String DEPRECATE_INVOICE_LOCALHOST = "/invoice/api/V5/DeprecateInvoices";
public static String DEPRECATE_INVOICE_METHOD = "DeprecateInvoices";
// 发票作废结果查询

@ -279,4 +279,7 @@ public interface IInvoiceApiService {
* @return : java.lang.Object
*/
EleNewMessage findRedInfo(FindRedInfo findRedInfo, Companyservice companyservice);
/** 生成动态二维码接口*/
HXResponse generateDynamicCode(JSONObject decryptResult, Companyservice companyservice);
}

@ -102,7 +102,8 @@ public class AisinoInvoiceRequestAdapterImpl implements IInvoiceRequestService {
// 平台解密
try {
order = AisinoInvoiceDecryptUtil.decrypt(order, JKey);
// TODO: 2023/9/20 开发暂时关掉
// order = AisinoInvoiceDecryptUtil.decrypt(order, JKey);
} catch (Exception e) {
e.printStackTrace();
throw new JianshuiParamErrorException(ErrorCode.DECRYPT_ERROR, companyservice, "invoice");

@ -1024,4 +1024,9 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
return null;
}
@Override
public HXResponse generateDynamicCode(JSONObject decryptResult, Companyservice companyservice) {
return null;
}
}

@ -812,6 +812,11 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService {
}
@Override
public HXResponse generateDynamicCode(JSONObject decryptResult, Companyservice companyservice) {
return null;
}
/**
* 申请/上传 红字发票

@ -2,6 +2,7 @@ package com.jianshui.invoice.service.impl.api;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@ -9,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dxhy.order.protocol.invoke.DxhyInterfaceResponse;
import com.google.gson.Gson;
import com.jianshui.common.constant.Constants;
import com.jianshui.common.constant.WebServiceConstant;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.enums.ErrorCode;
@ -19,6 +21,7 @@ import com.jianshui.common.utils.DateUtils;
import com.jianshui.common.utils.StringUtils;
import com.jianshui.common.utils.TimeUtil;
import com.jianshui.common.utils.http.HttpHelper;
import com.jianshui.common.utils.jcsk.ApiHttp;
import com.jianshui.common.utils.uuid.IdUtils;
import com.jianshui.framework.manager.AsyncManager;
import com.jianshui.invoice.constant.elephant.ElephantConstantsV6;
@ -43,6 +46,7 @@ import com.jianshui.queue.utils.RedisQueueUtil;
import com.jianshui.storage.domain.StorageUrlDTO;
import com.jianshui.storage.factory.StorageFactory;
import com.jianshui.storage.service.IStorageService;
import com.jianshui.system.domain.InvoiceAllApiLog;
import com.jianshui.system.mapper.CompanyserviceMapper;
import com.jianshui.system.service.ISysConfigService;
import lombok.extern.slf4j.Slf4j;
@ -806,6 +810,30 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService {
}
/**
* 生成动态二维码接口
* @param decryptResult
* @param companyservice
* @return
*/
@Override
public HXResponse generateDynamicCode(JSONObject decryptResult, Companyservice companyservice) {
DxhyInterfaceResponse dxhyInterfaceResponse = null;
try {
dxhyInterfaceResponse = ElephantUtils.sendRequestWithoutTokenV6(ElephantConstantsV6.GEN_DYNAMIC_CODE_LOCALHOST, ElephantConstantsV6.GEN_DYNAMIC_CODE_METHOD, JSONUtil.parse(decryptResult), companyservice);
} catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) {
log.error("【销项发票】【大象接口】【生成动态二维码】发票请求异常,请求报文{},销方信息{}", decryptResult, JSONObject.toJSONString(companyservice));
e.printStackTrace();
return new HXResponse("9999","系统异常!");
}
String data = dxhyInterfaceResponse.getData();
String code = dxhyInterfaceResponse.getCode();
return new HXResponse(code,data);
}

@ -1573,6 +1573,11 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService {
return null;
}
@Override
public HXResponse generateDynamicCode(JSONObject decryptResult, Companyservice companyservice) {
return null;
}
/**
* 简税和金财数科 发票类型互换
*

Loading…
Cancel
Save