京东云邮箱交付接口对接

beta-prop-all^2
kk 2 years ago
parent 0dfc65ef43
commit a0821edd05
  1. 40
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
  2. 4
      jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java
  3. 28
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/InvoiceMailDeliveryDTO.java
  4. 3
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/IInvoiceApiService.java
  5. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java
  6. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiZhongQiServiceImpl.java
  7. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java
  8. 22
      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

@ -1857,4 +1857,44 @@ 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/mailDelivery/{identity}", "/api/invoice/v1/mailDelivery"})
public Object mailDelivery(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());
InvoiceMailDeliveryDTO mailDeliveryDTO = decryptResult.toJavaObject(InvoiceMailDeliveryDTO.class);
IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey);
HXResponse result = invoiceService.mailDelivery(mailDeliveryDTO, companyservice);
String responseAdapterKey = serviceManageService.getResponseAdapterKey("invoice", companyservice.getCompanyid());
IInvoiceResponseService invoiceResponseService = invoiceResponseFactory.getService(responseAdapterKey);
return invoiceResponseService.response(result, companyservice, "");
}
}

@ -94,6 +94,10 @@ public class ElephantConstantsV6 {
public static String GET_RPA_AUTH_STATUS_LOCALHOST = "/invoice/api/v6/GetRpaAuthStatus";
public static String GET_RPA_AUTH_STATUS_METHOD = "GetRpaAuthStatus";
// V6-邮箱交付接口,京东云
public static String MAIL_DELIVERY_LOCALHOST = "/invoice/api/v6/MailDelivery";
public static String MAIL_DELIVERY_METHOD = "MailDelivery";
// 数电-发票平台电子税局账号查询接口(数电专用接口)
public static String QUERY_RPA_TAX_ACCOUNT_LOCALHOST = "/invoice/api/v6/QueryRpaTaxAccount";
public static String QUERY_RPA_TAX_ACCOUNT_METHOD = "QueryRpaTaxAccount";

@ -0,0 +1,28 @@
package com.jianshui.invoice.domain.dto.api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
/**
* 短信交付
*/
@Data
public class InvoiceMailDeliveryDTO {
@ApiModelProperty(value = "邮件地址")
@NotEmpty
private String emailAddress;
@ApiModelProperty(value = "发票请求流水号")
@NotEmpty
private String fpqqlsh;
@ApiModelProperty(value = "税号")
@NotEmpty
private String taxNo;
}

@ -351,4 +351,7 @@ public interface IInvoiceApiService {
/** 回调方法*/
void callBackAisino(InvoiceBack invoiceBack, String callBackUrl, String identity,Long id);
/** 邮箱交付*/
HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, Companyservice companyservice);
}

@ -1044,6 +1044,11 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
}
@Override
public HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, Companyservice companyservice) {
return null;
}
@Override
public AjaxResult syncStockInfo(Companyservice companyservice) {

@ -533,6 +533,11 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
}
@Override
public HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, Companyservice companyservice) {
return null;
}
/**
* 发票打印

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

@ -28,6 +28,7 @@ import com.jianshui.common.exception.jianshui.JianshuiServiceException;
import com.jianshui.common.utils.DateUtils;
import com.jianshui.common.utils.StringUtils;
import com.jianshui.common.utils.TimeUtil;
import com.jianshui.common.utils.ValidateUtils;
import com.jianshui.common.utils.http.HttpHelper;
import com.jianshui.common.utils.uuid.IdUtils;
import com.jianshui.framework.manager.AsyncManager;
@ -890,6 +891,27 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService {
}
/** 邮箱交付 */
@Override
public HXResponse mailDelivery(InvoiceMailDeliveryDTO mailDeliveryDTO, Companyservice companyservice) {
ValidateUtils.validate(mailDeliveryDTO, "发票请求参数不能为空!");
DxhyInterfaceResponse dxhyInterfaceResponse = null;
try {
dxhyInterfaceResponse = ElephantUtils.sendRequestWithoutTokenV6(
ElephantConstantsV6.MAIL_DELIVERY_LOCALHOST, ElephantConstantsV6.MAIL_DELIVERY_METHOD, JSONUtil.parse(mailDeliveryDTO)
, companyservice);
} catch (UnsupportedEncodingException | InvalidKeyException | NoSuchAlgorithmException e) {
log.error("【销项发票】【大象接口】【数电】【邮箱交付接口】请求异常,请求报文{},销方信息{}", JSONUtil.parse(mailDeliveryDTO), JSONObject.toJSONString(companyservice));
e.printStackTrace();
return new HXResponse("009999", "系统异常!");
}
return parseResult(dxhyInterfaceResponse);
}
/**
* 红字确认单列表查询数电专用
*/

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