From ee048e3f7d7d4b62ce5c9ceb93512843e204ee6f Mon Sep 17 00:00:00 2001 From: liufeilong Date: Mon, 6 Mar 2023 11:26:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=BC=8F=E8=BF=81=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PushInvoiceServiceImpl.java | 62 +++++++++++++++++-- .../openapi/api/InvoiceRestApiV6.java | 11 +++- 2 files changed, 66 insertions(+), 7 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java index 67331277..01da05fd 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java @@ -25,8 +25,10 @@ import com.dxhy.order.consumer.modules.ticketpool.service.PushTicketPoolService; import com.dxhy.order.consumer.openapi.protocol.CommonRequestParam; import com.dxhy.order.consumer.openapi.protocol.Response; import com.dxhy.order.consumer.openapi.protocol.order.*; +import com.dxhy.order.consumer.openapi.protocol.po.EsOutput; import com.dxhy.order.consumer.openapi.protocol.po.IsInput; import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam; +import com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam; import com.dxhy.order.consumer.openapi.protocol.po.generateinvoicepush.sap.FpkjtsMxSap; import com.dxhy.order.consumer.openapi.protocol.po.generateinvoicepush.sap.FpkjtsReqSap; import com.dxhy.order.consumer.openapi.protocol.po.voidinvoicepush.sap.FpzftsReqSap; @@ -61,10 +63,7 @@ import com.dxhy.order.model.ofd.OfdToPdfResponse; import com.dxhy.order.model.qd.OrderInfoQd; import com.dxhy.order.model.queue.*; import com.dxhy.order.model.queue.jdwj.JdwjMqData; -import com.dxhy.order.utils.CommonUtils; -import com.dxhy.order.utils.HttpUtils; -import com.dxhy.order.utils.JsonUtils; -import com.dxhy.order.utils.NsrsbhUtils; +import com.dxhy.order.utils.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -389,7 +388,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { String result = ""; if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(pushInfo.getVersionIdent()) || ConfigurerInfo.INTERFACE_VERSION_V6.equals(pushInfo.getVersionIdent())) { - result = HttpUtils.doPost(pushInfo.getPushUrl(), JsonUtils.getInstance().toJsonString(requestMap)); + result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); } else { result = HttpUtils.doPost(pushInfo.getPushUrl(), requestMap); } @@ -400,6 +399,59 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(pushInfo.getVersionIdent()) || ConfigurerInfo.INTERFACE_VERSION_V6.equals(pushInfo.getVersionIdent())) { DxhyInterfaceResponse dxhyInterfaceResponse = JsonUtils.getInstance().parseObject(result, DxhyInterfaceResponse.class); + if (OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_1.getKey().equals(fpTsMqData.getPushType())) { + if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){ + PoCommonResponseParam poCommonResponseParam = JsonUtils.getInstance().parseObject(result, PoCommonResponseParam.class); + EsOutput es_output = poCommonResponseParam.getES_OUTPUT(); + String sapkey = es_output.getSAPKEY(); + String ztype = es_output.getZTYPE(); + String zmessage = es_output.getZMESSAGE(); + List resultList = new ArrayList<>(); + DdfptsV5 ddfptsV5 = new DdfptsV5(); + ddfptsV5.setDDQQLSH(fpTsMqData.getFpTsMqData().getFpqqlsh()); + ddfptsV5.setNSRSBH(""); + if(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_S.getKey().equals(ztype)){ + ddfptsV5.setZTDM(ConfigureConstant.STRING_000000); + }else { + ddfptsV5.setZTDM(ConfigureConstant.STRING_9999); + } + ddfptsV5.setZTXX(zmessage); + dxhyInterfaceResponse.setReturnCode(ConfigureConstant.STRING_000000); + dxhyInterfaceResponse.setReturnMessage("处理成功"); + dxhyInterfaceResponse.setEncryptCode(ConfigurerInfo.ENCRYPTCODE_0); + dxhyInterfaceResponse.setZipCode(ConfigurerInfo.ENCRYPTCODE_0); + resultList.add(ddfptsV5); + dxhyInterfaceResponse.setContent(Base64Encoding.encode(JsonUtils.getInstance().toJsonString(resultList))); + }else{ + dxhyInterfaceResponse = JsonUtils.getInstance().parseObject(result, DxhyInterfaceResponse.class); + } + }else if (OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_2.getKey().equals(fpTsMqData.getPushType())) { + if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){ + PoCommonResponseParam poCommonResponseParam = JsonUtils.getInstance().parseObject(result, PoCommonResponseParam.class); + EsOutput es_output = poCommonResponseParam.getES_OUTPUT(); + String sapkey = es_output.getSAPKEY(); + String ztype = es_output.getZTYPE(); + String zmessage = es_output.getZMESSAGE(); + ZffpxxV5 zffpxxV5 = new ZffpxxV5(); + zffpxxV5.setXHFSBH(fpTsMqData.getZfTsMqData().getNsrsbh()); + zffpxxV5.setFPDM(fpTsMqData.getZfTsMqData().getFpdm()); + zffpxxV5.setFPHM(fpTsMqData.getZfTsMqData().getFphm()); + if(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_S.getKey().equals(ztype)){ + zffpxxV5.setZTDM(ConfigureConstant.STRING_000000); + }else { + zffpxxV5.setZTDM(ConfigureConstant.STRING_9999); + } + zffpxxV5.setZTXX(zmessage); + dxhyInterfaceResponse.setReturnCode(ConfigureConstant.STRING_000000); + dxhyInterfaceResponse.setReturnMessage("处理成功"); + dxhyInterfaceResponse.setEncryptCode(ConfigurerInfo.ENCRYPTCODE_0); + dxhyInterfaceResponse.setZipCode(ConfigurerInfo.ENCRYPTCODE_0); + dxhyInterfaceResponse.setContent(Base64Encoding.encode(JsonUtils.getInstance().toJsonString(zffpxxV5))); + }else{ + dxhyInterfaceResponse = JsonUtils.getInstance().parseObject(result, DxhyInterfaceResponse.class); + } + } + if (ObjectUtil.isNotNull(dxhyInterfaceResponse)) { if (ConfigureConstant.STRING_000000.equals(dxhyInterfaceResponse.getReturnCode())) { CommonRequestParam commonRequestParam1 = new CommonRequestParam(); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java index de8d03c9..e5cd0a09 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java @@ -8,6 +8,7 @@ import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxcxRspBO; import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbReqBO; import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbRspBO; import com.dxhy.order.baseservice.module.commodity.model.protocol.SpxxcxReqBO; +import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity; import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService; import com.dxhy.order.baseservice.openapi.protocol.spxx.SpxxcxRspBO; import com.dxhy.order.baseservice.openapi.protocol.spxx.SpxxtbReqBO; @@ -36,6 +37,7 @@ import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.QdCommonRspV6; import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbMulticodeValuelistBO; import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbReqBO; import com.dxhy.order.consumer.openapi.service.*; +import com.dxhy.order.consumer.utils.BeanTransitionUtils; import com.dxhy.order.exception.OrderReceiveException; import com.dxhy.order.utils.JsonUtils; import io.swagger.annotations.Api; @@ -54,6 +56,7 @@ import javax.servlet.http.HttpServletResponse; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; +import java.util.Map; import static org.joda.time.DateTime.now; @@ -205,9 +208,13 @@ public class InvoiceRestApiV6 { if(ConfigurerInfo.GENERATE_QD_INVOICE.equals(interfaceName)){ //全电开票接口 - DdpcxxReqBO ddpcxxReq = JsonUtils.getInstance().parseObject(reqStr, DdpcxxReqBO.class); + PoCommonRequestParam poCommonRequestParam = JsonUtils.getInstance().parseObject(reqStr, PoCommonRequestParam.class); + Map zData = JsonUtils.getInstance().parseObject(poCommonRequestParam.getIS_INPUT().getZDATA(), Map.class); + DeptEntity deptEntity = userInfoService.querySysDeptEntityByEnterpriseNumbers(zData.get("BUKRS").toString()); + DdpcxxReqBO ddpcxxReq = BeanTransitionUtils.transitionPoKpReq(poCommonRequestParam,deptEntity); DdpcxxRspV5 ddpcxxRspV5 = interfaceServiceV6.generateQdInvoiceV6(ddpcxxReq, secretId, null); - returnJsonString = JsonUtils.getInstance().toJsonString(ddpcxxRspV5); + PoCommonResponseParam poCommonResponseParam = BeanTransitionUtils.transitionPoKpResp(ddpcxxRspV5); + returnJsonString = JsonUtils.getInstance().toJsonString(poCommonResponseParam); } else if (ConfigurerInfo.GETORDERINFOANDINVOICEINFO.equals(interfaceName)){ //订单和发票数据查询接口