大象数电开具接口、开具结果查询接口

beta-enc
kk 2 years ago
parent 0ecb5b4d7a
commit 4d3fc705ed
  1. 30
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
  2. 40
      jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java
  3. 128
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/aisino/console/vehicle/TaxEquipmentInfo.java
  4. 44
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/aisino/console/vehicle/VehicleInvoiceExpBo.java
  5. 14
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/IInvoiceApiService.java
  6. 2
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/adapter/request/AisinoInvoiceRequestAdapterImpl.java
  7. 345
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java
  8. 6
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java
  9. 7
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java
  10. 14
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java
  11. 58
      jianshui-invoice/src/main/java/com/jianshui/invoice/utils/elephant/ElephantUtils.java

@ -1664,7 +1664,37 @@ public class InvoiceController {
/** 导出机动车加密数据(重汽) */
@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/exportVehicleInvoice/{identity}", "/api/invoice/v1/exportVehicleInvoice"})
public Object exportVehicleInvoice(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.exportVehicleInvoice(decryptResult, companyservice);
String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid());
IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey);
return invoiceResponseService.response(result, companyservice, "");
}

@ -14,7 +14,7 @@ public class ElephantConstantsV6 {
public static String DEV_HOST = "https://sandbox.zncspt.com/api/"; public static String DEV_HOST = "https://sandbox.zncspt.com/api/";
public static String DEV_ELECLOUD_HOST = "https://sandbox.ele-cloud.com/api/"; public static String DEV_ELECLOUD_HOST = "https://sandbox.ele-cloud.com/api/";
public static String DEV_HOST_LOCAL = "http://140.143.226.17:8087/order-api"; public static String DEV_HOST_LOCAL = "http://140.143.226.17:8087/order-api";
public static String DEV_HOST_LOCAL_V6_JingDongYun = "https://js.ele12.com/order-api"; public static String DEV_HOST_LOCAL_v6_JingDongYun = "https://js.ele12.com/order-api";
// 生产的域名 // 生产的域名
public static String PROD_HOST = "https://openapi.zncspt.com/api/"; public static String PROD_HOST = "https://openapi.zncspt.com/api/";
@ -22,7 +22,7 @@ public class ElephantConstantsV6 {
public static String PROD_ELECLOUD_HOST = "https://openapi.ele-cloud.com/api/"; public static String PROD_ELECLOUD_HOST = "https://openapi.ele-cloud.com/api/";
public static String PROD_HOST_LOCAL = "http://140.143.226.17:8087/order-api"; public static String PROD_HOST_LOCAL = "http://140.143.226.17:8087/order-api";
public static String PROD_HOST_LOCAL_V6_JingDongYun = "https://js.ele12.com/order-api"; public static String PROD_HOST_LOCAL_v6_JingDongYun = "https://js.ele12.com/order-api";
// 测试的获取token的域名 // 测试的获取token的域名
public static String DEV_TOKEN_HOST = "https://sandbox.zncspt.com/api/authen/token"; public static String DEV_TOKEN_HOST = "https://sandbox.zncspt.com/api/authen/token";
@ -30,9 +30,9 @@ public class ElephantConstantsV6 {
public static String PROD_TOKEN_HOST = "https://openapi.zncspt.com/api/authen/token"; public static String PROD_TOKEN_HOST = "https://openapi.zncspt.com/api/authen/token";
// 发票开具冲红 // 发票开具冲红
public static String ADD_INVOICE = "order-api/order-api/V6/AllocateInvoices"; public static String ADD_INVOICE = "order-api/v6/GenerateQdInvoice";
public static String ADD_INVOICE_LOCALHOST = "/invoice/api/V6/AllocateInvoices"; public static String ADD_INVOICE_LOCALHOST = "/invoice/api/v6/GenerateQdInvoice";
public static String ADD_INVOICE_METHOD = "AllocateInvoices"; public static String ADD_INVOICE_METHOD = "GenerateQdInvoice";
public static String GENERATE_QD_HWYS_INVOICE = "GenerateQdHwysInvoice"; public static String GENERATE_QD_HWYS_INVOICE = "GenerateQdHwysInvoice";
public static String GENERATE_QD_BDCXS_INVOICE = "GenerateQdBdcxsInvoice"; public static String GENERATE_QD_BDCXS_INVOICE = "GenerateQdBdcxsInvoice";
@ -40,23 +40,23 @@ public class ElephantConstantsV6 {
public static String GENERATE_QD_BDXZL_INVOICE = "GenerateQdBdczlInvoice"; public static String GENERATE_QD_BDXZL_INVOICE = "GenerateQdBdczlInvoice";
// 发票开票结果拉取 // 发票开票结果拉取
public static String ADD_INVOICE_RESULT = "order-api/order-api/V6/GetAllocatedInvoices"; public static String ADD_INVOICE_RESULT = "order-api/order-api/v6/GetOrderInfoAndInvoiceInfo";
public static String ADD_INVOICE_RESULT_LOCALHOST = "/invoice/api/V6/GetAllocatedInvoices"; public static String ADD_INVOICE_RESULT_LOCALHOST = "/invoice/api/v6/GetOrderInfoAndInvoiceInfo";
public static String ADD_INVOICE_RESULT_METHOD = "GetAllocatedInvoices"; public static String ADD_INVOICE_RESULT_METHOD = "GetOrderInfoAndInvoiceInfo";
// 发票详情拉取 // 发票详情拉取
public static String QUERY_INVOICE = "order-api/order-api/V6/GetOrderInfoAndInvoiceInfo"; public static String QUERY_INVOICE = "order-api/order-api/v6/GetOrderInfoAndInvoiceInfo";
public static String QUERY_INVOICE_LOCALHOST = "/invoice/api/V6/GetOrderInfoAndInvoiceInfo"; public static String QUERY_INVOICE_LOCALHOST = "/invoice/api/v6/GetOrderInfoAndInvoiceInfo";
public static String QUERY_INVOICE_METHOD = "GetOrderInfoAndInvoiceInfo"; public static String QUERY_INVOICE_METHOD = "GetOrderInfoAndInvoiceInfo";
// 红字信息表上传 // 红字信息表上传
public static String REDINFO_UPLOAD = "order-api/order-api/V6/AllocateRedInvoiceApplication"; public static String REDINFO_UPLOAD = "order-api/order-api/v6/AllocateRedInvoiceApplication";
public static String REDINFO_UPLOAD_LOCALHOST = "/invoice/api/V6/AllocateRedInvoiceApplication"; public static String REDINFO_UPLOAD_LOCALHOST = "/invoice/api/v6/AllocateRedInvoiceApplication";
public static String REDINFO_UPLOAD_METHOD = "AllocateRedInvoiceApplication"; public static String REDINFO_UPLOAD_METHOD = "AllocateRedInvoiceApplication";
public static String REDINFO_DOWNLOAD = "order-api/order-api/V6/DownloadRedInvoiceApplicationResult"; public static String REDINFO_DOWNLOAD = "order-api/order-api/v6/DownloadRedInvoiceApplicationResult";
public static String REDINFO_DOWNLOAD_LOCALHOST = "/invoice/api/V6/DownloadRedInvoiceApplicationResult"; public static String REDINFO_DOWNLOAD_LOCALHOST = "/invoice/api/v6/DownloadRedInvoiceApplicationResult";
public static String REDINFO_DOWNLOAD_METHOD = "DownloadRedInvoiceApplicationResult"; public static String REDINFO_DOWNLOAD_METHOD = "DownloadRedInvoiceApplicationResult";
public static String REDINFO_FIND_LOCALHOST = "/invoice/api/v6/GetRedInvoiceApplication"; public static String REDINFO_FIND_LOCALHOST = "/invoice/api/v6/GetRedInvoiceApplication";
public static String REDINFO_FIND_METHOD = "GetRedInvoiceApplication"; public static String REDINFO_FIND_METHOD = "GetRedInvoiceApplication";
@ -108,23 +108,23 @@ public class ElephantConstantsV6 {
public static String DEPRECATE_INVOICE_METHOD = "DeprecateInvoices"; public static String DEPRECATE_INVOICE_METHOD = "DeprecateInvoices";
// 发票作废结果查询 // 发票作废结果查询
public static String DEPRECATE_INVOICE_RESULT = "order-api/order-api/V6//QueryInvalidInvoice"; public static String DEPRECATE_INVOICE_RESULT = "order-api/order-api/v6//QueryInvalidInvoice";
public static String DEPRECATE_INVOICE_RESULT_LOCALHOST = "/invoice/api/V6//QueryInvalidInvoice"; public static String DEPRECATE_INVOICE_RESULT_LOCALHOST = "/invoice/api/v6//QueryInvalidInvoice";
public static String DEPRECATE_INVOICE_RESULT_METHOD = "order-api/order-api/V6//QueryInvalidInvoice"; public static String DEPRECATE_INVOICE_RESULT_METHOD = "order-api/order-api/v6//QueryInvalidInvoice";
// 打印机查询 // 打印机查询
public static String QUERY_PRINTER = ""; public static String QUERY_PRINTER = "";
public static String QUERY_PRINTER_LOCALHOST = "/invoice/api/V6/QueryPrinter"; public static String QUERY_PRINTER_LOCALHOST = "/invoice/api/v6/QueryPrinter";
public static String QUERY_PRINTER_METHOD = "QueryPrinter"; public static String QUERY_PRINTER_METHOD = "QueryPrinter";
// 批量打印 // 批量打印
public static String BATCH_PRINT = ""; public static String BATCH_PRINT = "";
public static String BATCH_PRINT_LOCALHOST = "/invoice/api/V6/PrintInvoice"; public static String BATCH_PRINT_LOCALHOST = "/invoice/api/v6/PrintInvoice";
public static String BATCH_PRINT_METHOD = "PrintInvoice"; public static String BATCH_PRINT_METHOD = "PrintInvoice";
// 发票余量查询接口 // 发票余量查询接口
public static String QUERY_INVOICE_STORE = "order-api/order-api/V6/QueryInvoiceStore"; public static String QUERY_INVOICE_STORE = "order-api/order-api/v6/QueryInvoiceStore";
/** /**

@ -0,0 +1,128 @@
package com.jianshui.invoice.domain.dto.api.aisino.console.vehicle;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 税控设备类型
*/
@Getter
@Setter
public class TaxEquipmentInfo implements Serializable {
private String id;
private String xhfNsrsbh;
private String xhfMc;
/**
* 组织Id,6.1.4版本从enterpriseNumber改为该值
*/
private String qyId;
private String sksbCode;
private String sksbName;
private String sksbType;
private Date linkTime;
/**
* 渠道id
*/
private String distributorId;
/**
* 渠道名称
*/
private String distributorName;
/**
* 省份代码
*/
private String sfdm;
/**
* 省份名称
*/
private String sfmc;
private String bz;
/**
* 删除标志(0:未删除;1:已删除)
*/
private String deleted;
private Date createTime;
private Date updateTime;
private String pageSize;
private String currentPage;
/**
* 渠道ID
*/
private String qdId;
/**
* 渠道名称
*/
private String qdMc;
/**
* 类型不为空返回全部
*/
private String type;
/**
* 税号数组
*/
private List<String> shList;
/**
* 缓存时间,
*/
private Date cacheDate;
/**
* 开票开关 0开票 1不开票
*/
private String flag;
/**
* 开票控制后失败code
*/
private String flagCode;
/**
* 开票控制后失败msg
*/
private String flagBz;
/**
* 数电服务类型(1:乐企开票,2:RPA开票,:未设置)
*/
private String qdfwlx;
/**
* 数电授权码
*/
private String qdsqm;
/**
* 企业唯一标识,
*/
private String enterpriseNumbers;
}

@ -0,0 +1,44 @@
package com.jianshui.invoice.domain.dto.api.aisino.console.vehicle;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* 机动车专票加密数据导出
*/
@Data
public class VehicleInvoiceExpBo implements Serializable {
/**
* 纳税人识别号
*/
private String nsrsbh;
/**
* 数据权限Id
*/
private String entId;
/**
* 分机号
*/
private String fjh;
/**
* 起始时间 yyyy-MM-dd
*/
private String qqsj;
/**
* 终止时间 yyyy-MM-dd
*/
private String zzsj;
/**
* 每页显示条数
*/
private Integer pageSize;
/**
* 当前页数
*/
private Integer currPage;
}

@ -342,4 +342,18 @@ public interface IInvoiceApiService {
/** 生成动态二维码接口*/ /** 生成动态二维码接口*/
HXResponse generateDynamicCode(JSONObject decryptResult, Companyservice companyservice); HXResponse generateDynamicCode(JSONObject decryptResult, Companyservice companyservice);
/** 机动车加密接口 */
HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice);
} }

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

@ -1,6 +1,7 @@
package com.jianshui.invoice.service.impl.api; package com.jianshui.invoice.service.impl.api;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
@ -22,6 +23,8 @@ import com.jianshui.invoice.domain.*;
import com.jianshui.invoice.domain.dto.*; import com.jianshui.invoice.domain.dto.*;
import com.jianshui.invoice.domain.dto.api.*; import com.jianshui.invoice.domain.dto.api.*;
import com.jianshui.invoice.domain.dto.api.aisino.console.*; import com.jianshui.invoice.domain.dto.api.aisino.console.*;
import com.jianshui.invoice.domain.dto.api.aisino.console.vehicle.TaxEquipmentInfo;
import com.jianshui.invoice.domain.dto.api.aisino.console.vehicle.VehicleInvoiceExpBo;
import com.jianshui.invoice.domain.ele.EleNewMessage; import com.jianshui.invoice.domain.ele.EleNewMessage;
import com.jianshui.invoice.domain.vo.api.aisino.console.AisinoConsoleInvoiceAddVO; import com.jianshui.invoice.domain.vo.api.aisino.console.AisinoConsoleInvoiceAddVO;
import com.jianshui.invoice.mapper.BillInfoMapper; import com.jianshui.invoice.mapper.BillInfoMapper;
@ -77,12 +80,12 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
public HXResponse addInvoice(BillInfo billInfo, Companyservice companyservice) throws IllegalAccessException, InstantiationException { public HXResponse addInvoice(BillInfo billInfo, Companyservice companyservice) throws IllegalAccessException, InstantiationException {
// 订单号唯一校验 start // 订单号唯一校验 start
String outNO = billInfo.getOutTradeOrderno() != null ? billInfo.getOutTradeOrderno():""; String outNO = billInfo.getOutTradeOrderno() != null ? billInfo.getOutTradeOrderno() : "";
if(StrUtil.isEmpty(outNO)){ if (StrUtil.isEmpty(outNO)) {
return new HXResponse("订单号为空,请检查报文!"); return new HXResponse("订单号为空,请检查报文!");
} }
BillInfo billInfoValidate = billInfoMapper.selectByOutTradeOrderno(companyservice.getCompanyid(),outNO); BillInfo billInfoValidate = billInfoMapper.selectByOutTradeOrderno(companyservice.getCompanyid(), outNO);
if(BeanUtil.isNotEmpty(billInfoValidate)){ if (BeanUtil.isNotEmpty(billInfoValidate)) {
return new HXResponse("订单号不允许重复!!!"); return new HXResponse("订单号不允许重复!!!");
} }
// end // end
@ -116,13 +119,13 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
aisinoConsoleInvoiceAddDTO.setInvoiceType(invoceTypeTemp); aisinoConsoleInvoiceAddDTO.setInvoiceType(invoceTypeTemp);
//购方地址电话 //购方地址电话
String buyerAddress = billInfo.getBuyerAddress() != null ? billInfo.getBuyerAddress(): ""; String buyerAddress = billInfo.getBuyerAddress() != null ? billInfo.getBuyerAddress() : "";
String buyerTelPhone = billInfo.getBuyerTelephone() !=null ? billInfo.getBuyerTelephone(): ""; String buyerTelPhone = billInfo.getBuyerTelephone() != null ? billInfo.getBuyerTelephone() : "";
aisinoConsoleInvoiceAddDTO.setCustomerAddressTel(buyerAddress + buyerTelPhone); aisinoConsoleInvoiceAddDTO.setCustomerAddressTel(buyerAddress + buyerTelPhone);
//购方银行账户 //购方银行账户
String buyerBank = billInfo.getBuyerBank() != null ? billInfo.getBuyerBank():""; String buyerBank = billInfo.getBuyerBank() != null ? billInfo.getBuyerBank() : "";
String buyerAccount = billInfo.getBuyerAccount() !=null ? billInfo.getBuyerAccount():""; String buyerAccount = billInfo.getBuyerAccount() != null ? billInfo.getBuyerAccount() : "";
aisinoConsoleInvoiceAddDTO.setCustomerBankAccountNr(buyerBank + buyerAccount); aisinoConsoleInvoiceAddDTO.setCustomerBankAccountNr(buyerBank + buyerAccount);
//销方银行账户 //销方银行账户
@ -181,14 +184,14 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
} }
//处理备注 //处理备注
String kpType = billInfo.getKptype() == null ? "":billInfo.getKptype() ; String kpType = billInfo.getKptype() == null ? "" : billInfo.getKptype();
String redInvoiceCode = billInfo.getRedInvoiceInfoCode() == null ? "":billInfo.getRedInvoiceInfoCode(); String redInvoiceCode = billInfo.getRedInvoiceInfoCode() == null ? "" : billInfo.getRedInvoiceInfoCode();
if("2".equals(kpType) && invoceTypeTemp == 0){ if ("2".equals(kpType) && invoceTypeTemp == 0) {
//专票:红字信息表编号 开具红字发票:备注中注明“开具红字增值税专用发票信息表编号 XXXXXXXXXXXXXXXX” //专票:红字信息表编号 开具红字发票:备注中注明“开具红字增值税专用发票信息表编号 XXXXXXXXXXXXXXXX”
aisinoConsoleInvoiceAddDTO.setMemo("开具红字增值税专用发票信息表编号"+redInvoiceCode); aisinoConsoleInvoiceAddDTO.setMemo("开具红字增值税专用发票信息表编号" + redInvoiceCode);
}else if("2".equals(kpType) && invoceTypeTemp == 2){ } else if ("2".equals(kpType) && invoceTypeTemp == 2) {
//普票:开具负数发票(普通发票负数发票):备注中注明“对应正数发票代码 XXXXXXXXXX 号 码 YYYYYYYY”字样,其中“X”为发票左上角 10 或是 12 位代码数字,“Y”为发票右上角 8位号码数字 //普票:开具负数发票(普通发票负数发票):备注中注明“对应正数发票代码 XXXXXXXXXX 号 码 YYYYYYYY”字样,其中“X”为发票左上角 10 或是 12 位代码数字,“Y”为发票右上角 8位号码数字
aisinoConsoleInvoiceAddDTO.setMemo("对应正数发票代码"+billInfo.getOriginFpdm()+"号码"+billInfo.getOriginFphm()); aisinoConsoleInvoiceAddDTO.setMemo("对应正数发票代码" + billInfo.getOriginFpdm() + "号码" + billInfo.getOriginFphm());
} }
//明细处理前条件校验 //明细处理前条件校验
@ -196,7 +199,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
//发票明细处理 //发票明细处理
List<AisinoConsoleInvoiceAddDetailDTO> invoiceItems = new ArrayList<>(); List<AisinoConsoleInvoiceAddDetailDTO> invoiceItems = new ArrayList<>();
List<Map<String,Object>> listMap = new ArrayList<>(); List<Map<String, Object>> listMap = new ArrayList<>();
for (BillDetail billDetail : billDetailList) { for (BillDetail billDetail : billDetailList) {
AisinoConsoleInvoiceAddDetailDTO addDetailDTO = BeanUtil.copyProperties(billDetail, AisinoConsoleInvoiceAddDetailDTO.class); AisinoConsoleInvoiceAddDetailDTO addDetailDTO = BeanUtil.copyProperties(billDetail, AisinoConsoleInvoiceAddDetailDTO.class);
@ -225,10 +228,10 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
Integer yhzcbs = billDetail.getYhzcbs(); Integer yhzcbs = billDetail.getYhzcbs();
if (yhzcbs == null) { if (yhzcbs == null) {
return new HXResponse("优惠政策标识不存在!"); return new HXResponse("优惠政策标识不存在!");
}else if(yhzcbs == 1){ } else if (yhzcbs == 1) {
//享受优惠政策内容 //享受优惠政策内容
String zzstsgl = billDetail.getZzstsgl(); String zzstsgl = billDetail.getZzstsgl();
if(StrUtil.isEmpty(zzstsgl)){ if (StrUtil.isEmpty(zzstsgl)) {
return new HXResponse("优惠政策内容未填写!"); return new HXResponse("优惠政策内容未填写!");
} }
addDetailDTO.setTaxPreCon(billDetail.getZzstsgl()); addDetailDTO.setTaxPreCon(billDetail.getZzstsgl());
@ -239,7 +242,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
ValidateUtils.validate(addDetailDTO, companyservice, null); ValidateUtils.validate(addDetailDTO, companyservice, null);
invoiceItems.add(addDetailDTO); invoiceItems.add(addDetailDTO);
Map<String,Object> mapDetail = BeanToMapUtils.fastJsonBean2Map(addDetailDTO); Map<String, Object> mapDetail = BeanToMapUtils.fastJsonBean2Map(addDetailDTO);
listMap.add(mapDetail); listMap.add(mapDetail);
} }
aisinoConsoleInvoiceAddDTO.setInvoiceItems(invoiceItems); aisinoConsoleInvoiceAddDTO.setInvoiceItems(invoiceItems);
@ -248,8 +251,8 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
AjaxResult ajaxResult = null; AjaxResult ajaxResult = null;
try { try {
//hutool的beancopy别名会与JSONUTIl冲突 //hutool的beancopy别名会与JSONUTIl冲突
Map<String,Object> map = BeanToMapUtils.fastJsonBean2Map(aisinoConsoleInvoiceAddDTO); Map<String, Object> map = BeanToMapUtils.fastJsonBean2Map(aisinoConsoleInvoiceAddDTO);
map.put("invoiceItems",listMap); map.put("invoiceItems", listMap);
ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.INVOICE_ADD, JSONUtil.parse(map), companyservice); ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.INVOICE_ADD, JSONUtil.parse(map), companyservice);
} catch (Exception e) { } catch (Exception e) {
log.error("【销项发票】【总部控制台接口】【发票开具】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(aisinoConsoleInvoiceAddDTO).toString(), JSONObject.toJSONString(companyservice)); log.error("【销项发票】【总部控制台接口】【发票开具】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(aisinoConsoleInvoiceAddDTO).toString(), JSONObject.toJSONString(companyservice));
@ -268,11 +271,11 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : ""; String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : "";
if ("4011".equals(retcode)) { if ("4011".equals(retcode)) {
//回写发票代码、发票号码信息 //回写发票代码、发票号码信息
if(StrUtil.isEmpty(retmsg)){ if (StrUtil.isEmpty(retmsg)) {
return new HXResponse(retcode); return new HXResponse(retcode);
} }
AisinoConsoleInvoiceAddVO aisinoConsoleInvoiceAddVO = BeanUtil.copyProperties(resultJSON, AisinoConsoleInvoiceAddVO.class); AisinoConsoleInvoiceAddVO aisinoConsoleInvoiceAddVO = BeanUtil.copyProperties(resultJSON, AisinoConsoleInvoiceAddVO.class);
if(StrUtil.isEmpty(aisinoConsoleInvoiceAddVO.getInfoNumber())){ if (StrUtil.isEmpty(aisinoConsoleInvoiceAddVO.getInfoNumber())) {
throw new JianshuiServiceException("开具的发票号码不存在!"); throw new JianshuiServiceException("开具的发票号码不存在!");
} }
//更新发票状态 //更新发票状态
@ -280,8 +283,8 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
billInfoMapper.updateBillInfo(billInfo); billInfoMapper.updateBillInfo(billInfo);
//插入invoice //插入invoice
Invoice invoice = BeanUtil.copyProperties(billInfo,Invoice.class); Invoice invoice = BeanUtil.copyProperties(billInfo, Invoice.class);
List<InvoiceDetail> invoiceDetailList = BeanUtil.copyToList(billInfo.getBillDetailList(),InvoiceDetail.class); List<InvoiceDetail> invoiceDetailList = BeanUtil.copyToList(billInfo.getBillDetailList(), InvoiceDetail.class);
invoice.setInvoiceDetailList(invoiceDetailList); invoice.setInvoiceDetailList(invoiceDetailList);
//发票代码 //发票代码
@ -302,15 +305,15 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
long id = 0L; long id = 0L;
QueryWrapper<Invoice> invoiceQueryWrapper = new QueryWrapper<>(); QueryWrapper<Invoice> invoiceQueryWrapper = new QueryWrapper<>();
invoiceQueryWrapper.eq("fpdm",invoice.getFpdm()).eq("fphm",invoice.getFphm()); invoiceQueryWrapper.eq("fpdm", invoice.getFpdm()).eq("fphm", invoice.getFphm());
List<Invoice> invoices = invoiceMapper.selectList(invoiceQueryWrapper); List<Invoice> invoices = invoiceMapper.selectList(invoiceQueryWrapper);
if(CollectionUtils.isEmpty(invoices)){ if (CollectionUtils.isEmpty(invoices)) {
invoiceMapper.insertInvoice(invoice); invoiceMapper.insertInvoice(invoice);
invoices = invoiceMapper.selectList(invoiceQueryWrapper); invoices = invoiceMapper.selectList(invoiceQueryWrapper);
id = invoices.get(0).getId(); id = invoices.get(0).getId();
}else{ } else {
Invoice invoiceT = invoices.get(0); Invoice invoiceT = invoices.get(0);
invoiceT = BeanUtil.copyProperties(invoice,Invoice.class); invoiceT = BeanUtil.copyProperties(invoice, Invoice.class);
invoiceMapper.updateInvoice(invoiceT); invoiceMapper.updateInvoice(invoiceT);
id = invoiceT.getId(); id = invoiceT.getId();
} }
@ -321,9 +324,9 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
// TODO: 2023/9/26 增加主动回调方式,可配置 // TODO: 2023/9/26 增加主动回调方式,可配置
ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class); ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class);
CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "aisino_callback_url"); CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "aisino_callback_url");
if(BeanUtil.isNotEmpty(secretIdProp) && secretIdProp.getValue() != null && !"".equals(secretIdProp.getValue())){ if (BeanUtil.isNotEmpty(secretIdProp) && secretIdProp.getValue() != null && !"".equals(secretIdProp.getValue())) {
String callBackUrl = secretIdProp.getValue(); String callBackUrl = secretIdProp.getValue();
callBackAisino(callBackUrl,invoice.getId()); callBackAisino(callBackUrl, invoice.getId());
} }
HXResponse response = new HXResponse("0000", "同步成功"); HXResponse response = new HXResponse("0000", "同步成功");
@ -337,28 +340,29 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
/** /**
* 开票接口回调-重汽 * 开票接口回调-重汽
* 2023-09-26 * 2023-09-26
*
* @param callBackUrl * @param callBackUrl
* @param id * @param id
*/ */
private void callBackAisino(String callBackUrl, Long id) { private void callBackAisino(String callBackUrl, Long id) {
if(id == null){ if (id == null) {
log.info("【控制台】发票回调,id为空"); log.info("【控制台】发票回调,id为空");
return ; return;
} }
Invoice invoice = invoiceMapper.selectInvoiceById(id); Invoice invoice = invoiceMapper.selectInvoiceById(id);
if (invoice == null) { if (invoice == null) {
log.info("【控制台】发票信息未查询到,id={}",id); log.info("【控制台】发票信息未查询到,id={}", id);
return ; return;
} }
try { try {
log.info("【控制台】发票回调接口,发送数据开始,id={}",id); log.info("【控制台】发票回调接口,发送数据开始,id={}", id);
String result = HttpUtil.post(callBackUrl,JSONUtil.toJsonStr(invoice)); String result = HttpUtil.post(callBackUrl, JSONUtil.toJsonStr(invoice));
log.info("【控制台】发票回调接口,发送数据结束,id={},接口返回信息={}",id,JSONUtil.toJsonStr(invoice)); log.info("【控制台】发票回调接口,发送数据结束,id={},接口返回信息={}", id, JSONUtil.toJsonStr(invoice));
} catch (Exception e) { } catch (Exception e) {
log.info("【控制台】发票回调接口,发送数据异常,id={}",id); log.info("【控制台】发票回调接口,发送数据异常,id={}", id);
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -367,11 +371,12 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
/** /**
* 发票打印 * 发票打印
* @author dxk *
* @date 2022/6/29 13:48
* @param invoice * @param invoice
* @param companyservice * @param companyservice
* @return com.jianshui.common.core.domain.AjaxResult * @return com.jianshui.common.core.domain.AjaxResult
* @author dxk
* @date 2022/6/29 13:48
*/ */
@Override @Override
public AjaxResult printInvoice(Invoice invoice, Companyservice companyservice) { public AjaxResult printInvoice(Invoice invoice, Companyservice companyservice) {
@ -381,11 +386,12 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
/** /**
* 发票作废 * 发票作废
* @author dxk *
* @date 2022/6/30 9:43
* @param invoice * @param invoice
* @param companyservice * @param companyservice
* @return com.jianshui.invoice.domain.dto.HXResponse * @return com.jianshui.invoice.domain.dto.HXResponse
* @author dxk
* @date 2022/6/30 9:43
*/ */
@Override @Override
public HXResponse deprecateInvoice(JSONObject invoice, Companyservice companyservice) { public HXResponse deprecateInvoice(JSONObject invoice, Companyservice companyservice) {
@ -411,7 +417,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
throw new JianshuiParamErrorException(ErrorCode.INVOICE_NOT_EXISTS, companyservice, "invoice"); throw new JianshuiParamErrorException(ErrorCode.INVOICE_NOT_EXISTS, companyservice, "invoice");
} }
AisinoConsoleInvolidDTO consoleInvolidDTO = BeanUtil.copyProperties(invoiceTemp,AisinoConsoleInvolidDTO.class); AisinoConsoleInvolidDTO consoleInvolidDTO = BeanUtil.copyProperties(invoiceTemp, AisinoConsoleInvolidDTO.class);
//发票类型 //发票类型
Integer invoceTypeTemp = CovertInvoiceType(invoiceTemp.getInvoiceType()); Integer invoceTypeTemp = CovertInvoiceType(invoiceTemp.getInvoiceType());
@ -420,14 +426,14 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
} }
consoleInvolidDTO.setInfoKind(invoceTypeTemp); consoleInvolidDTO.setInfoKind(invoceTypeTemp);
ValidateUtils.validate(consoleInvolidDTO,companyservice,null); ValidateUtils.validate(consoleInvolidDTO, companyservice, null);
//发起请求 //发起请求
AjaxResult ajaxResult = null; AjaxResult ajaxResult = null;
try{ try {
Map<String,Object> map = BeanToMapUtils.fastJsonBean2Map(consoleInvolidDTO); Map<String, Object> map = BeanToMapUtils.fastJsonBean2Map(consoleInvolidDTO);
ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.INVOICE_INVOLID, JSONUtil.parse(map), companyservice); ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.INVOICE_INVOLID, JSONUtil.parse(map), companyservice);
}catch (Exception e){ } catch (Exception e) {
log.error("【销项发票】【总部控制台接口】【发票作废】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(consoleInvolidDTO).toString(), JSONObject.toJSONString(companyservice)); log.error("【销项发票】【总部控制台接口】【发票作废】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(consoleInvolidDTO).toString(), JSONObject.toJSONString(companyservice));
e.printStackTrace(); e.printStackTrace();
throw new JianshuiServiceException("系统异常!"); throw new JianshuiServiceException("系统异常!");
@ -441,7 +447,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data")); cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data"));
String retcode = resultJSON.get("retcode") != null ? resultJSON.get("retcode").toString() : ""; String retcode = resultJSON.get("retcode") != null ? resultJSON.get("retcode").toString() : "";
String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : ""; String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : "";
if("6011".equals(retcode)){ if ("6011".equals(retcode)) {
// 修改原有发票状态为已作废 // 修改原有发票状态为已作废
invoiceTemp.setState(3); invoiceTemp.setState(3);
invoiceMapper.updateInvoice(invoiceTemp); invoiceMapper.updateInvoice(invoiceTemp);
@ -455,7 +461,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
billInfoMapper.updateBillInfo(originBillInfo); billInfoMapper.updateBillInfo(originBillInfo);
} }
return new HXResponse("0000", "作废完成", null, false); return new HXResponse("0000", "作废完成", null, false);
}else{ } else {
return new HXResponse(retmsg); return new HXResponse(retmsg);
} }
@ -469,6 +475,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
/** /**
* 单个发票查询 * 单个发票查询
*
* @param billInfo * @param billInfo
* @param companyservice * @param companyservice
* @return * @return
@ -502,7 +509,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
} }
HXResponse response = new HXResponse("9998", "发票信息不存在", tempInvoice); HXResponse response = new HXResponse("9998", "发票信息不存在", tempInvoice);
return response; return response;
}else{ } else {
} }
@ -512,6 +519,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
/** /**
* 发票批量查询 * 发票批量查询
*
* @param billInfo * @param billInfo
* @param byWhat * @param byWhat
* @param companyservice * @param companyservice
@ -593,7 +601,6 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
} }
@Override @Override
public HXResponse getRpaAuthStatus(JSONObject decryptResult, Companyservice companyservice) { public HXResponse getRpaAuthStatus(JSONObject decryptResult, Companyservice companyservice) {
return null; return null;
@ -604,7 +611,9 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
return null; return null;
} }
/** 红字信息表上传*/ /**
* 红字信息表上传
*/
@Override @Override
public HXResponse uploadRedInfo(Redinfo redinfo, Companyservice companyservice) { public HXResponse uploadRedInfo(Redinfo redinfo, Companyservice companyservice) {
@ -650,7 +659,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
// TODO: 2023/3/9 设备号是 jspbh 并非billNO? 申请方税号reqnsrsbh // TODO: 2023/3/9 设备号是 jspbh 并非billNO? 申请方税号reqnsrsbh
// //
redinfo.setJspbh("661024643068230218103524".substring(0,12)); redinfo.setJspbh("661024643068230218103524".substring(0, 12));
redinfo.setReqnsrsbh("9113093067851155XY"); redinfo.setReqnsrsbh("9113093067851155XY");
redinfo.setFjh("123"); redinfo.setFjh("123");
redinfo.setMultTaxRate("0"); redinfo.setMultTaxRate("0");
@ -662,7 +671,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
redinfoMapper.batchRedinfodetail(redinfodetailList); redinfoMapper.batchRedinfodetail(redinfodetailList);
// 参数校验及参数处理 // 参数校验及参数处理
AisinoConsoleInvoiceRedUploadDTO redUploadDTO = BeanUtil.copyProperties(redinfo,AisinoConsoleInvoiceRedUploadDTO.class); AisinoConsoleInvoiceRedUploadDTO redUploadDTO = BeanUtil.copyProperties(redinfo, AisinoConsoleInvoiceRedUploadDTO.class);
// 填开日期 // 填开日期
redUploadDTO.setDate(redinfo.getBillInputTime()); redUploadDTO.setDate(redinfo.getBillInputTime());
// 信息表类型 // 信息表类型
@ -677,18 +686,17 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
ValidateUtils.validate(redUploadDTO); ValidateUtils.validate(redUploadDTO);
if (redinfo.getRedinfodetailList() == null || redinfo.getRedinfodetailList().size() == 0) {
if(redinfo.getRedinfodetailList() == null || redinfo.getRedinfodetailList().size() == 0){
return new HXResponse("格式校验失败,请上传明细信息!"); return new HXResponse("格式校验失败,请上传明细信息!");
} }
String paramChild = ""; String paramChild = "";
List<AisinoConsoleInvoiceRedUploadChildDTO> redUploadChildDTO = BeanUtil.copyToList(redinfo.getRedinfodetailList(),AisinoConsoleInvoiceRedUploadChildDTO.class); List<AisinoConsoleInvoiceRedUploadChildDTO> redUploadChildDTO = BeanUtil.copyToList(redinfo.getRedinfodetailList(), AisinoConsoleInvoiceRedUploadChildDTO.class);
for (AisinoConsoleInvoiceRedUploadChildDTO childDTO : redUploadChildDTO) { for (AisinoConsoleInvoiceRedUploadChildDTO childDTO : redUploadChildDTO) {
// TODO-dxk: 2023/2/27 含税、不含税金额 // TODO-dxk: 2023/2/27 含税、不含税金额
childDTO.setHS_BZ(childDTO.getHS_BZ().equals("false")? "N":"Y"); childDTO.setHS_BZ(childDTO.getHS_BZ().equals("false") ? "N" : "Y");
paramChild = "<GoodsMx>" + JSONUtil.toXmlStr(JSONUtil.parse(childDTO)) + " </GoodsMx>"; paramChild = "<GoodsMx>" + JSONUtil.toXmlStr(JSONUtil.parse(childDTO)) + " </GoodsMx>";
@ -716,10 +724,10 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
//发起请求 //发起请求
AjaxResult ajaxResult = null; AjaxResult ajaxResult = null;
try{ try {
ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.RED_UPLOAD, param, companyservice); ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.RED_UPLOAD, param, companyservice);
}catch (Exception e){ } catch (Exception e) {
log.error("【销项发票】【总部控制台接口】【发票作废】发票请求异常,请求报文{},销方信息{}","", JSONObject.toJSONString(companyservice)); log.error("【销项发票】【总部控制台接口】【发票作废】发票请求异常,请求报文{},销方信息{}", "", JSONObject.toJSONString(companyservice));
e.printStackTrace(); e.printStackTrace();
throw new JianshuiServiceException("系统异常!"); throw new JianshuiServiceException("系统异常!");
} }
@ -755,7 +763,9 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
return null; return null;
} }
/** 红字信息表下载 */ /**
* 红字信息表下载
*/
@Override @Override
public HXResponse downloadRedInfo(DownloadRedInfoDTO downloadRedInfoDTO, Companyservice companyservice) { public HXResponse downloadRedInfo(DownloadRedInfoDTO downloadRedInfoDTO, Companyservice companyservice) {
@ -794,7 +804,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
} }
// 组装报文 // 组装报文
AisinoConsoleInvoiceRedDownloadDTO downloadDTO = BeanUtil.copyProperties(redInfoResult,AisinoConsoleInvoiceRedDownloadDTO.class); AisinoConsoleInvoiceRedDownloadDTO downloadDTO = BeanUtil.copyProperties(redInfoResult, AisinoConsoleInvoiceRedDownloadDTO.class);
downloadDTO.setYQZT("N"); downloadDTO.setYQZT("N");
downloadDTO.setXXBFW("0"); downloadDTO.setXXBFW("0");
downloadDTO.setPAGENO("1"); downloadDTO.setPAGENO("1");
@ -808,10 +818,10 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
//发起请求 //发起请求
AjaxResult ajaxResult = null; AjaxResult ajaxResult = null;
try{ try {
ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.RED_DOWLOAD, param, companyservice); ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.RED_DOWLOAD, param, companyservice);
}catch (Exception e){ } catch (Exception e) {
log.error("【销项发票】【总部控制台接口】【发票作废】发票请求异常,请求报文{},销方信息{}","", JSONObject.toJSONString(companyservice)); log.error("【销项发票】【总部控制台接口】【发票作废】发票请求异常,请求报文{},销方信息{}", "", JSONObject.toJSONString(companyservice));
e.printStackTrace(); e.printStackTrace();
throw new JianshuiServiceException("系统异常!"); throw new JianshuiServiceException("系统异常!");
} }
@ -863,6 +873,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
/** /**
* 打印机查询 * 打印机查询
*
* @param queryPrinterDTO * @param queryPrinterDTO
* @param companyservice * @param companyservice
* @return * @return
@ -872,11 +883,11 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
List<SkDyj> skDyjList = new ArrayList<>(); List<SkDyj> skDyjList = new ArrayList<>();
try { try {
QueryWrapper<SkDyj> skDyjQueryWrapper = new QueryWrapper<>(); QueryWrapper<SkDyj> skDyjQueryWrapper = new QueryWrapper<>();
if(StrUtil.isNotEmpty(companyservice.getSellertax())){ if (StrUtil.isNotEmpty(companyservice.getSellertax())) {
skDyjQueryWrapper.eq("NSRSBH",companyservice.getSellertax()); skDyjQueryWrapper.eq("NSRSBH", companyservice.getSellertax());
} }
if(StrUtil.isNotEmpty(queryPrinterDTO.getPrinterName())){ if (StrUtil.isNotEmpty(queryPrinterDTO.getPrinterName())) {
skDyjQueryWrapper.eq("MC",queryPrinterDTO.getPrinterName()); skDyjQueryWrapper.eq("MC", queryPrinterDTO.getPrinterName());
} }
skDyjList = skDyjMapper.selectList(skDyjQueryWrapper); skDyjList = skDyjMapper.selectList(skDyjQueryWrapper);
} catch (Exception e) { } catch (Exception e) {
@ -885,7 +896,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
throw new JianshuiServiceException("系统异常!"); throw new JianshuiServiceException("系统异常!");
} }
log.info("【销项发票】【大象发票】打印机查询请求结果{}", skDyjList.toString()); log.info("【销项发票】【大象发票】打印机查询请求结果{}", skDyjList.toString());
List<SkDyjVO> skDyjVO = BeanUtil.copyToList(skDyjList,SkDyjVO.class); List<SkDyjVO> skDyjVO = BeanUtil.copyToList(skDyjList, SkDyjVO.class);
return new HXResponse("0000", "操作完成", skDyjList); return new HXResponse("0000", "操作完成", skDyjList);
} }
@ -896,6 +907,7 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
/** /**
* 发票打印 * 发票打印
*
* @param printDTO * @param printDTO
* @param companyservice * @param companyservice
* @return * @return
@ -903,43 +915,43 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
@Override @Override
public HXResponse batchPrint(PrintDTO printDTO, Companyservice companyservice) { public HXResponse batchPrint(PrintDTO printDTO, Companyservice companyservice) {
if(BeanUtil.isEmpty(printDTO) ||CollectionUtils.isEmpty(printDTO.getDetails())){ if (BeanUtil.isEmpty(printDTO) || CollectionUtils.isEmpty(printDTO.getDetails())) {
throw new JianshuiParamErrorException(ErrorCode.EMPTY_PARAMS, companyservice, "invoice"); throw new JianshuiParamErrorException(ErrorCode.EMPTY_PARAMS, companyservice, "invoice");
} }
if(StrUtil.isEmpty(printDTO.getFpbs())){ if (StrUtil.isEmpty(printDTO.getFpbs())) {
throw new JianshuiParamErrorException(ErrorCode.EMPTY_PARAMS,companyservice,"发票标识不存在!"); throw new JianshuiParamErrorException(ErrorCode.EMPTY_PARAMS, companyservice, "发票标识不存在!");
} }
List<PrintDetailDTO> details = printDTO.getDetails(); List<PrintDetailDTO> details = printDTO.getDetails();
//返回信息处理 //返回信息处理
for (PrintDetailDTO detail : details) { for (PrintDetailDTO detail : details) {
Map<String,String> result = new HashMap<>(); Map<String, String> result = new HashMap<>();
//报文组装 //报文组装
AisinoConsolePrintInvoiceDTO printInvoiceDTO = BeanUtil.copyProperties(detail,AisinoConsolePrintInvoiceDTO.class); AisinoConsolePrintInvoiceDTO printInvoiceDTO = BeanUtil.copyProperties(detail, AisinoConsolePrintInvoiceDTO.class);
if(!detail.getFpqh().equals(detail.getFpzh())){ if (!detail.getFpqh().equals(detail.getFpzh())) {
result.put("9999","发票打印失败,发票号码="+printInvoiceDTO.getInfoNumber()+",发票代码="+printInvoiceDTO.getInfoTypeCode()+",原因=发票号码传参错误"); result.put("9999", "发票打印失败,发票号码=" + printInvoiceDTO.getInfoNumber() + ",发票代码=" + printInvoiceDTO.getInfoTypeCode() + ",原因=发票号码传参错误");
continue; continue;
} }
//发票类型 //发票类型
Integer invoceTypeTemp = CovertInvoiceType(detail.getInvoiceType()); Integer invoceTypeTemp = CovertInvoiceType(detail.getInvoiceType());
if (invoceTypeTemp == -1) { if (invoceTypeTemp == -1) {
result.put("9999","发票打印失败,发票号码="+printInvoiceDTO.getInfoNumber()+",发票代码="+printInvoiceDTO.getInfoTypeCode()+",原因=发票类型未匹配"); result.put("9999", "发票打印失败,发票号码=" + printInvoiceDTO.getInfoNumber() + ",发票代码=" + printInvoiceDTO.getInfoTypeCode() + ",原因=发票类型未匹配");
continue; continue;
} }
printInvoiceDTO.setInfoKind(invoceTypeTemp); printInvoiceDTO.setInfoKind(invoceTypeTemp);
//必填参数校验 //必填参数校验
ValidateUtils.validate(printInvoiceDTO,companyservice,null); ValidateUtils.validate(printInvoiceDTO, companyservice, null);
// 处理打印标识 // 处理打印标识
String fpbs = printDTO.getFpbs(); String fpbs = printDTO.getFpbs();
if("0".equals(fpbs)){ if ("0".equals(fpbs)) {
fpbs = "1"; fpbs = "1";
}else if("1".equals(fpbs)){ } else if ("1".equals(fpbs)) {
fpbs = "0"; fpbs = "0";
}else { } else {
fpbs = "0"; fpbs = "0";
} }
@ -949,25 +961,26 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
//发起请求 //发起请求
AjaxResult ajaxResult = null; AjaxResult ajaxResult = null;
try { try {
Map<String,Object> map = BeanToMapUtils.fastJsonBean2Map(printInvoiceDTO); Map<String, Object> map = BeanToMapUtils.fastJsonBean2Map(printInvoiceDTO);
ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.INVOICE_PRINT, JSONUtil.parse(map), companyservice); ajaxResult = AisinoConsoleUtil.sendRequest(AisinoConsoleConstants.INVOICE_PRINT, JSONUtil.parse(map), companyservice);
} catch (Exception e) { } catch (Exception e) {
log.error("【销项发票】【总部控制台接口】【发票打印】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(printInvoiceDTO).toString(), JSONObject.toJSONString(companyservice)); log.error("【销项发票】【总部控制台接口】【发票打印】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(printInvoiceDTO).toString(), JSONObject.toJSONString(companyservice));
result.put("9999","发票打印失败,发票号码="+printInvoiceDTO.getInfoNumber()+",发票代码="+printInvoiceDTO.getInfoTypeCode()+",原因=系统原因"); result.put("9999", "发票打印失败,发票号码=" + printInvoiceDTO.getInfoNumber() + ",发票代码=" + printInvoiceDTO.getInfoTypeCode() + ",原因=系统原因");
} }
//返回报文解析 //返回报文解析
if (ajaxResult.isError()) { if (ajaxResult.isError()) {
result.put("9999","发票打印失败,发票号码="+printInvoiceDTO.getInfoNumber()+",发票代码="+printInvoiceDTO.getInfoTypeCode()+",原因="+ajaxResult.getMsg());; result.put("9999", "发票打印失败,发票号码=" + printInvoiceDTO.getInfoNumber() + ",发票代码=" + printInvoiceDTO.getInfoTypeCode() + ",原因=" + ajaxResult.getMsg());
;
} }
cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data")); cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data"));
String retcode = resultJSON.get("retcode") != null ? resultJSON.get("retcode").toString() : ""; String retcode = resultJSON.get("retcode") != null ? resultJSON.get("retcode").toString() : "";
String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : ""; String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : "";
if("5011".equals(retcode)){ if ("5011".equals(retcode)) {
return new HXResponse("0000","发票打印成功,发票号码="+printInvoiceDTO.getInfoNumber()+",发票代码="+printInvoiceDTO.getInfoTypeCode()); return new HXResponse("0000", "发票打印成功,发票号码=" + printInvoiceDTO.getInfoNumber() + ",发票代码=" + printInvoiceDTO.getInfoTypeCode());
}else{ } else {
return new HXResponse("发票打印失败,发票号码="+printInvoiceDTO.getInfoNumber()+",发票代码="+printInvoiceDTO.getInfoTypeCode()+",原因="+retmsg); return new HXResponse("发票打印失败,发票号码=" + printInvoiceDTO.getInfoNumber() + ",发票代码=" + printInvoiceDTO.getInfoTypeCode() + ",原因=" + retmsg);
} }
} }
@ -1034,16 +1047,17 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
/** /**
* 总部控制台转简税发票类型 * 总部控制台转简税发票类型
* @author dxk *
* @date 2022/6/29 17:12
* @param invoiceType * @param invoiceType
* @return java.lang.String * @return java.lang.String
* @author dxk
* @date 2022/6/29 17:12
*/ */
public static String CovertInvoiceTypeReverse(String invoiceType){ public static String CovertInvoiceTypeReverse(String invoiceType) {
if(invoiceType.equals("2")){ if (invoiceType.equals("2")) {
return "p"; return "p";
}else if(invoiceType.equals("0")){ } else if (invoiceType.equals("0")) {
return "s"; return "s";
} }
return ""; return "";
@ -1120,4 +1134,143 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
return null; return null;
} }
/**
* 机动车加密接口走的大象重汽用控制台
*/
@Override
public HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice) {
// 转换实体参数
VehicleInvoiceExpBo vehicleInvoiceExpBo = BeanUtil.copyProperties(decryptResult, VehicleInvoiceExpBo.class);
// TODO: 2023/10/8 迁移大象 迁移税控 找测试数据
if (Objects.isNull(vehicleInvoiceExpBo)) {
log.info("请求参数为空");
}
if (org.apache.commons.lang3.StringUtils.isBlank(vehicleInvoiceExpBo.getNsrsbh())) {
log.info("纳税人识别号为空");
}
if (org.apache.commons.lang3.StringUtils.isBlank(vehicleInvoiceExpBo.getFjh())) {
log.info("分机号为空");
}
if (org.apache.commons.lang3.StringUtils.isBlank(vehicleInvoiceExpBo.getQqsj())) {
log.info("起始时间为空");
}
if (org.apache.commons.lang3.StringUtils.isBlank(vehicleInvoiceExpBo.getZzsj())) {
log.info("终止时间为空");
}
String data = exportVehicleInvoice(vehicleInvoiceExpBo);
if (org.apache.commons.lang3.StringUtils.isBlank(data)) {
log.error("{}机动车加密数据导出,加密数据为空", "");
data = "";
}
String fileName = "机动车专用发票明细" + "_" + vehicleInvoiceExpBo.getFjh()
+ (vehicleInvoiceExpBo.getQqsj() + "-" + vehicleInvoiceExpBo.getZzsj()) + ".dat";
// TODO: 2023/10/8 输出到页面
// 浏览器处理乱码问题
/*String userAgent = request.getHeader(HttpHeaders.USER_AGENT);
try {
//IE浏览器
if (org.apache.commons.lang3.StringUtils.contains(userAgent, ConfigureConstant.REQUEST_HEAD_USER_AGENT_TYPE_MSIE)
|| org.apache.commons.lang3.StringUtils.contains(userAgent, ConfigureConstant.REQUEST_HEAD_USER_AGENT_TYPE_TRIDENT)) {
fileName = URLEncoder.encode(fileName, "UTF8");
log.debug("{}IE浏览器下载", LOGGER_MSG);
} else if (org.apache.commons.lang3.StringUtils.contains(userAgent, ConfigureConstant.REQUEST_HEAD_USER_AGENT_TYPE_MOZILLA)) {
//google,火狐浏览器
fileName = new String(fileName.getBytes(StandardCharsets.UTF_8), "ISO8859-1");
} else {
//其他浏览器
fileName = URLEncoder.encode(fileName, "UTF8");
}
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setHeader("fileName", fileName);
response.getOutputStream().write(Base64Encoding.decode(data));
} catch (IOException e) {
log.error("{}机动车导出加密数据异常:{}", LOGGER_MSG, e);
}*/
return null;
}
/**
* 1.调用税控获取信息
*
* @param vehicleInvoiceExpBo
* @return
*/
public String exportVehicleInvoice(VehicleInvoiceExpBo vehicleInvoiceExpBo) {
//1.调用税控获取终端代码
String terminalCode = getTerminalCode(vehicleInvoiceExpBo.getNsrsbh(), vehicleInvoiceExpBo.getEntId());
/* String requestUrl = invoiceConfig.configVehicleInvoiceExp();
VehicleInvoiceExpResponse response = HttpInvoiceRequestUtil.vehicleInvoiceExp(requestUrl, vehicleInvoiceExpBo, terminalCode);
log.info("机动车导出加密数据 税控底层返回结果:" + JSONUtil.toJsonStr(response));
if (Objects.isNull(response)) {
log.error("机动车加密数据导出税控返回结果为空!");
} else {
if (!response.getCode().equals(ConfigureConstant.STRING_0000)) {
log.error("机动车加密数据导出错误:" + response.getMsg());
}
}
return response.getVEHICLEINVOICEBUFF();*/
return null;
}
/**
* 调用税控获取终端代码
*
* @param nsrsbh
* @param entId
* @return
*/
public String getTerminalCode(String nsrsbh, String entId) {
TaxEquipmentInfo taxEquipmentInfo = queryTaxEquipment(nsrsbh, entId);
if (ObjectUtil.isNotNull(taxEquipmentInfo)) {
return taxEquipmentInfo.getSksbCode();
} else {
return "";
}
}
/**
* 调用基础服务获取税控设备
* @param nsrsbh
* @param entId
* @return
*/
public TaxEquipmentInfo queryTaxEquipment(String nsrsbh, String entId) {
TaxEquipmentInfo taxEquipmentInfo = null;
/*try {
//调用基础服务获取税控设备,基础服务封装了真实的entId
String configQueryTaxEquipmentUrl = baseServiceConfig.configQueryTaxEquipmentUrl();
PageQueryTaxEquipmentReq pageQueryTaxEquipmentReq = new PageQueryTaxEquipmentReq();
pageQueryTaxEquipmentReq.setNsrsbh(nsrsbh);
if (org.apache.commons.lang3.StringUtils.isNotBlank(entId)) {
pageQueryTaxEquipmentReq.setEntId(entId);
}
PageQueryTaxEquipmentRsp pageQueryTaxEquipmentRsp = HttpInvoiceRequestUtilBase.queryTaxEquipment(configQueryTaxEquipmentUrl, pageQueryTaxEquipmentReq);
if (ObjectUtil.isNotNull(pageQueryTaxEquipmentRsp) && ConfigureConstant.STRING_0000.equals(pageQueryTaxEquipmentRsp.getZTDM())) {
if (ObjectUtil.isNotNull(pageQueryTaxEquipmentRsp.getTaxEquipmentInfo())) {
taxEquipmentInfo = pageQueryTaxEquipmentRsp.getTaxEquipmentInfo();
}
}
} catch (Exception e) {
log.error("{}调用基础服务获取税控设备接口异常:{}", LOGGER_MSG, e);
}*/
return taxEquipmentInfo;
}
} }

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

@ -212,7 +212,7 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService {
queryBody.put("SFFHSBSJ", "0"); queryBody.put("SFFHSBSJ", "0");
// queryResult = ElephantUtils.sendRequest(ElephantConstantsV6.ADD_INVOICE_RESULT, JSONUtil.parse(queryBody)); // queryResult = ElephantUtils.sendRequest(ElephantConstantsV6.ADD_INVOICE_RESULT, JSONUtil.parse(queryBody));
try { try {
queryResult = ElephantUtils.sendRequestWithoutToken(ElephantConstantsV6.ADD_INVOICE_RESULT_LOCALHOST, ElephantConstantsV6.ADD_INVOICE_RESULT_METHOD, JSONUtil.parse(queryBody), companyservice); queryResult = ElephantUtils.sendRequestWithoutTokenV6New(ElephantConstantsV6.ADD_INVOICE_RESULT_LOCALHOST, ElephantConstantsV6.ADD_INVOICE_RESULT_METHOD, JSONUtil.parse(queryBody), companyservice);
} catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) { } catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) {
log.error("【销项发票】【大象接口】【发票开具】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(elephantInvoiceAddDTO).toString(), JSONObject.toJSONString(companyservice)); log.error("【销项发票】【大象接口】【发票开具】发票请求异常,请求报文{},销方信息{}", JSONUtil.parse(elephantInvoiceAddDTO).toString(), JSONObject.toJSONString(companyservice));
e.printStackTrace(); e.printStackTrace();
@ -786,6 +786,11 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService {
return parseResult(dxhyInterfaceResponse); return parseResult(dxhyInterfaceResponse);
} }
@Override
public HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice) {
return null;
}
/** /**
* 红字确认单列表查询数电专用 * 红字确认单列表查询数电专用
*/ */

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

@ -290,7 +290,7 @@ public class ElephantUtils {
header.put("Content-Type", "application/json"); header.put("Content-Type", "application/json");
String info = HttpUtils.sendJsonPost(url, jsonObject, header); String info = HttpUtils.sendJsonPost(url, jsonObject, header);
JSONObject obj = JSONObject.parseObject(info); JSONObject obj = JSONObject.parseObject(info);
redisCache.setCacheObject(ElephantConstants.TOKEN_REDIS_KEY + "appkey:" + appkey, obj,(int) obj.get("expires_in") - 60, TimeUnit.SECONDS); redisCache.setCacheObject(ElephantConstants.TOKEN_REDIS_KEY + "appkey:" + appkey, obj, (int) obj.get("expires_in") - 60, TimeUnit.SECONDS);
return (String) obj.get("access_token"); return (String) obj.get("access_token");
} }
@ -327,7 +327,7 @@ public class ElephantUtils {
header.put("Content-Type", "application/json"); header.put("Content-Type", "application/json");
String info = HttpUtils.sendJsonPost(url, jsonObject, header); String info = HttpUtils.sendJsonPost(url, jsonObject, header);
JSONObject obj = JSONObject.parseObject(info); JSONObject obj = JSONObject.parseObject(info);
redisCache.setCacheObject(ElephantConstants.TOKEN_REDIS_KEY, obj,(int) obj.get("expires_in") - 60, TimeUnit.SECONDS); redisCache.setCacheObject(ElephantConstants.TOKEN_REDIS_KEY, obj, (int) obj.get("expires_in") - 60, TimeUnit.SECONDS);
return (String) obj.get("access_token"); return (String) obj.get("access_token");
} }
@ -369,7 +369,6 @@ public class ElephantUtils {
String url = host + uri; String url = host + uri;
// 封装大象v6调用类 // 封装大象v6调用类
DxhyInterfaceRequest dxhyInterfaceRequest = new DxhyInterfaceRequest(); DxhyInterfaceRequest dxhyInterfaceRequest = new DxhyInterfaceRequest();
// 地址 // 地址
@ -402,9 +401,9 @@ public class ElephantUtils {
try { try {
// 大象v6调用方法(获取结果处理) // 大象v6调用方法(获取结果处理)
log.info("【销项】【大象工具类】调用V6接口,入参{}",JSONUtil.toJsonStr(dxhyInterfaceRequest)); log.info("【销项】【大象工具类】调用V6接口,入参{}", JSONUtil.toJsonStr(dxhyInterfaceRequest));
dxhyInterfaceResponse = InvokeDxhyApi.dxhyInterfaceInvoke(dxhyInterfaceRequest); dxhyInterfaceResponse = InvokeDxhyApi.dxhyInterfaceInvoke(dxhyInterfaceRequest);
log.info("【销项】【大象工具类】请求成功,结果{}",JSONUtil.toJsonStr(dxhyInterfaceResponse)); log.info("【销项】【大象工具类】请求成功,结果{}", JSONUtil.toJsonStr(dxhyInterfaceResponse));
} catch (Exception e) { } catch (Exception e) {
@ -415,8 +414,6 @@ public class ElephantUtils {
} }
/** /**
* 大象请求 大象部署版 1.2.4 无token * 大象请求 大象部署版 1.2.4 无token
* *
@ -468,7 +465,6 @@ public class ElephantUtils {
System.out.println(result11); System.out.println(result11);
int randomInt = RandomUtil.randomInt(10, 100); int randomInt = RandomUtil.randomInt(10, 100);
requestBody.put("Nonce", Integer.toString(randomInt)); requestBody.put("Nonce", Integer.toString(randomInt));
requestBody.put("SecretId", secretId); requestBody.put("SecretId", secretId);
@ -597,7 +593,12 @@ public class ElephantUtils {
case "u": case "u":
// return "006"; // return "006";
throw new JianshuiParamErrorException("暂不支持的开票类型,请联系管理员!", null, "invoice"); throw new JianshuiParamErrorException("暂不支持的开票类型,请联系管理员!", null, "invoice");
case "r": //普票
case "82":
return "002";
case "81":
return "001";
case "":
default: default:
throw new JianshuiParamErrorException("暂不支持的开票类型,请联系管理员!", null, "invoice"); throw new JianshuiParamErrorException("暂不支持的开票类型,请联系管理员!", null, "invoice");
} }
@ -617,6 +618,10 @@ public class ElephantUtils {
return "j"; return "j";
case "006": case "006":
return "u"; return "u";
case "002":
return "82";
case "001":
return "81";
default: default:
throw new JianshuiParamErrorException("暂不支持的开票类型,请联系管理员!", null, "invoice"); throw new JianshuiParamErrorException("暂不支持的开票类型,请联系管理员!", null, "invoice");
} }
@ -625,11 +630,10 @@ public class ElephantUtils {
} }
/** /**
* @Author: kk * @Author: kk
* @Description: 大象接口V6调用工具类 对应销项-大象-V6实例 * @Description: 大象接口V6调用工具类 对应销项-大象-V6实例
*/ */
public static AjaxResult sendRequestWithoutTokenV6New(String uri, String methodName, JSON data, Companyservice companyservice) throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException { public static AjaxResult sendRequestWithoutTokenV6New(String uri, String methodName, JSON data, Companyservice companyservice) throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class); ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class);
@ -687,41 +691,27 @@ public class ElephantUtils {
DxhyInterfaceResponse dxhyInterfaceResponse = null; DxhyInterfaceResponse dxhyInterfaceResponse = null;
// 大象v6调用方法(获取结果处理) // 大象v6调用方法(获取结果处理)
log.info("【销项】【大象工具类】调用V6接口,入参{}",JSONUtil.toJsonStr(dxhyInterfaceRequest)); log.info("【销项】【大象工具类】调用V6接口,入参{}", JSONUtil.toJsonStr(dxhyInterfaceRequest));
dxhyInterfaceResponse = InvokeDxhyApi.dxhyInterfaceInvoke(dxhyInterfaceRequest); dxhyInterfaceResponse = InvokeDxhyApi.dxhyInterfaceInvoke(dxhyInterfaceRequest);
log.info("【销项】【大象工具类】请求成功,结果{}",JSONUtil.toJsonStr(dxhyInterfaceResponse)); log.info("【销项】【大象工具类】请求成功,结果{}", JSONUtil.toJsonStr(dxhyInterfaceResponse));
// 返回报文处理为简税报文 // 返回报文处理为简税报文
String dataDxhy = dxhyInterfaceResponse.getData(); String dataDxhy = dxhyInterfaceResponse.getData();
String codeDxhy = dxhyInterfaceResponse.getCode(); String codeDxhy = dxhyInterfaceResponse.getCode();
String messageDxhy = dxhyInterfaceResponse.getMessage(); String messageDxhy = dxhyInterfaceResponse.getMessage();
if("0000".equals(codeDxhy)){ if ("000000".equals(codeDxhy)) {
return AjaxResult.success("0000",dataDxhy); return AjaxResult.success("000000", dataDxhy);
}else{ } else {
return AjaxResult.error(codeDxhy,messageDxhy); return AjaxResult.error(codeDxhy, messageDxhy);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("【销项】【大象接口】调用HttpsUtilV6.Exception, url=" + url + ",request=" + JSONUtil.toJsonStr(dxhyInterfaceRequest), e); log.error("【销项】【大象接口】调用HttpsUtilV6.Exception, url=" + url + ",request=" + JSONUtil.toJsonStr(dxhyInterfaceRequest), e);
} }
return AjaxResult.error("9999","请求失败!"); return AjaxResult.error("9999", "请求失败!");
} }
} }

Loading…
Cancel
Save