From 33ac1de0c83a47f37d48fb9b5d2b9f74dfbacad9 Mon Sep 17 00:00:00 2001 From: kane Date: Wed, 29 Nov 2023 10:09:19 +0800 Subject: [PATCH] =?UTF-8?q?feature:=E6=9B=BF=E6=8D=A2=E6=8A=A5=E8=B4=A6?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consumer/filter/OrderFilterConfig.java | 4 +- .../modules/order/model/ReplaceOdd.java | 9 +- .../modules/order/model/ReplaceOddParam.java | 17 ---- .../order/model/ReplaceOddResponse.java | 33 ------- .../order/model/ReplaceOddResponseParam.java | 15 ---- .../service/impl/OrderInfoServiceImpl.java | 89 +++++++++++++------ .../mybatis/mapper/OrderInvoiceInfoMapper.xml | 3 + 7 files changed, 72 insertions(+), 98 deletions(-) delete mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddParam.java delete mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddResponse.java delete mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddResponseParam.java diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/filter/OrderFilterConfig.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/filter/OrderFilterConfig.java index 6021408f..8fff05c0 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/filter/OrderFilterConfig.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/filter/OrderFilterConfig.java @@ -22,7 +22,7 @@ public class OrderFilterConfig { FilterRegistrationBean registration = new FilterRegistrationBean<>(); registration.setDispatcherTypes(DispatcherType.REQUEST); registration.setFilter(new XssFilter()); - registration.addUrlPatterns("/s/**"); + registration.addUrlPatterns("/*"); registration.setName("xssFilter"); registration.setOrder(Integer.MAX_VALUE); return registration; @@ -37,7 +37,7 @@ public class OrderFilterConfig { FilterRegistrationBean registration = new FilterRegistrationBean<>(); registration.setName("UserCenterAuthenticationFilter"); registration.setOrder(1); - registration.addUrlPatterns("/s/**"); + registration.addUrlPatterns("/*"); registration.setFilter(new UserCenterAuthenticationFilter()); return registration; } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOdd.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOdd.java index a5d24a47..e024fb2f 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOdd.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOdd.java @@ -2,14 +2,13 @@ package com.dxhy.order.consumer.modules.order.model; import lombok.Data; +import java.io.Serializable; + /** * @author xingze * @date 2023/11/28 */ @Data -public class ReplaceOdd { - // 集团cilent - private String MANDT; - // 报账单号 - private String ZBZDH; +public class ReplaceOdd implements Serializable { + private String ZBZDH; } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddParam.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddParam.java deleted file mode 100644 index 84399d09..00000000 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddParam.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.dxhy.order.consumer.modules.order.model; - -import com.alibaba.fastjson.annotation.JSONField; -import lombok.Data; - -/** - * @author xingze - * @date 2023/11/28 - */ -@Data -public class ReplaceOddParam { - /** - * IsInput - */ - @JSONField(name = "IS_INPUT") - private ReplaceOdd IS_INPUT; -} diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddResponse.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddResponse.java deleted file mode 100644 index 531037c1..00000000 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddResponse.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.dxhy.order.consumer.modules.order.model; - -import lombok.Data; - -/** - * @author xingze - * @date 2023/11/28 - */ -@Data -public class ReplaceOddResponse { - // 状态 - private String BZDZT; - /** - * 外围系统数据唯一标识 - */ - private String BSKEY; - /** - * SAP数据唯一标识 - */ - private String SAPKEY; - /** - * 数据处理标识(S:成功,E:失败) - */ - private String ZTYPE; - /** - * 数据处理描述 - */ - private String ZMESSAGE; - /** - * 业务报文 - */ - private Object ZDATA; -} diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddResponseParam.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddResponseParam.java deleted file mode 100644 index 291b3a37..00000000 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/ReplaceOddResponseParam.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.dxhy.order.consumer.modules.order.model; - -import lombok.Data; - -/** - * @author xingze - * @date 2023/11/28 - */ -@Data -public class ReplaceOddResponseParam { - /** - * ES_OUTPUT - */ - private ReplaceOddResponse ES_OUTPUT; -} diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java index 647de31a..2b354bc3 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java @@ -20,6 +20,7 @@ import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEnum; import com.dxhy.order.baseservice.module.groupmanagement.dao.GroupManagementMapper; import com.dxhy.order.baseservice.module.taxclass.dao.TaxClassCodeMapper; import com.dxhy.order.baseservice.module.taxclass.model.TaxClassCodeEntity; +import com.dxhy.order.baseservice.module.thirdservice.rabbitmq.service.RabbitMqSendMessageService; import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity; import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService; @@ -40,6 +41,7 @@ import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoVo; import com.dxhy.order.consumer.modules.order.service.*; import com.dxhy.order.consumer.modules.validate.service.ValidateOrderInfoService; 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.service.CommonInterfaceService; @@ -63,10 +65,11 @@ import com.dxhy.order.model.newsk.taxpayerinfo.TaxpayerInfoResponse; import com.dxhy.order.model.qd.OrderInfoQd; import com.dxhy.order.model.qdsk.taxpayerinfo.Kysl; import com.dxhy.order.model.qdsk.taxpayerinfo.Qdjcxx; +import com.dxhy.order.model.queue.CommonTsMqData; +import com.dxhy.order.model.queue.FpTsMqData; import com.dxhy.order.utils.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -194,6 +197,11 @@ public class OrderInfoServiceImpl implements OrderInfoService { @Resource private InvoiceDataService invoiceDataService; + @Resource + private RabbitMqSendMessageService rabbitMqSendMessageService; + + + DecimalFormat format = new DecimalFormat("#.###"); @Override @@ -2275,27 +2283,40 @@ public class OrderInfoServiceImpl implements OrderInfoService { } try { // 调用sap获取报账单号状态 + IsInput isInput = new IsInput(); + isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey()); + isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_GSCLIENT.getKey()); + isInput.setBSKEY(UUID.randomUUID().toString().replace("-", " ")); + isInput.setZORG(""); + isInput.setZFILED5(baseServiceConfig.getPoClient()); ReplaceOdd replaceOdd = new ReplaceOdd(); - replaceOdd.setMANDT(baseServiceConfig.getPoClient()); replaceOdd.setZBZDH(replaceOddDTO.getBzdh()); - ReplaceOddParam replaceOddParam = new ReplaceOddParam(); - replaceOddParam.setIS_INPUT(replaceOdd); - String param = JsonUtils.getInstance().toJsonString(replaceOddParam); - log.info("{}调用sap,获取报账单号状态入参:{}",LOGGER_MSG,param); - String result = HttpUtils.sendPo(baseServiceConfig.getPoUrl(), param,baseServiceConfig.getPoUserName(), - baseServiceConfig.getPoPassword()); - log.info("{}调用sap,获取报账单号状态出参:{}",LOGGER_MSG,result); - ReplaceOddResponseParam replaceOddResponseParam = JsonUtils.getInstance().parseObject(result, - ReplaceOddResponseParam.class); - ReplaceOddResponse es_output = replaceOddResponseParam.getES_OUTPUT(); + String zdata1 = JsonUtils.getInstance().toJsonString(replaceOdd); + isInput.setZDATA(zdata1); + PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam(); + poCommonRequestParam.setIS_INPUT(isInput); + String param = JsonUtils.getInstance().toJsonString(poCommonRequestParam); + log.info("{}获取公司client入参:{}",LOGGER_MSG,param); + String result = HttpUtils.sendPo(baseServiceConfig.getPoUrl(), param,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); + log.info("{}获取公司client出参:{}",LOGGER_MSG,result); + PoCommonResponseParam poCommonResponseParam = JsonUtils.getInstance().parseObject(result, PoCommonResponseParam.class); + EsOutput es_output = poCommonResponseParam.getES_OUTPUT(); String ztype = es_output.getZTYPE(); String zmessage = es_output.getZMESSAGE(); - String bzdzt = es_output.getBZDZT(); - log.info("{},替换报账单号,替换信息:{}",JsonUtils.getInstance().toJsonString(es_output)); - /*if(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_S.getKey().equals(ztype)){ - if ("50".equals(bzdzt)){ - log.error("{}sap报账单号状态不允许替换,报账单号状态:{}",LOGGER_MSG,bzdzt); - return R.error("该报账单号状态不允许替换"); + Object zdata = es_output.getZDATA(); + log.info("{},替换报账单号,替换信息:{}",JsonUtils.getInstance().toJsonString(poCommonResponseParam)); + List statusList = new ArrayList<>(); + if(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_S.getKey().equals(ztype)){ + List> gsClientList = JsonUtils.getInstance().parseObject(zdata.toString(), List.class); + gsClientList.stream().forEach(f -> { + String status = ObjectUtil.isNull(f.get("BZDZT"))?"":f.get("BZDZT").toString(); + statusList.add(status); + }); + for (String bzdzt : statusList) { + if ("50".equals(bzdzt)){ + log.error("{}sap报账单号状态不允许替换,报账单号状态:{}",LOGGER_MSG,bzdzt); + return R.error("该报账单号状态不允许替换"); + } } OrderInfo newOrderInfo = orderMapper.findByFpqqlish(replaceOddDTO.getBzdh()); if (newOrderInfo == null){ @@ -2324,12 +2345,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { orderInvoiceInfo.setOrderInfoId(newOrderInfo.getId()); orderInvoiceInfo.setOrderProcessInfoId(newOrderInfo.getProcessId()); orderInvoiceInfo.setFpqqlsh(newOrderInfo.getFpqqlsh()); - resultList.add(orderInvoiceInfo); - } - // 删除原报账单号 - deleteBzdh(replaceOddDTO.getOrderId()); - // 替换报账单号 - for (OrderInvoiceInfo orderInvoiceInfo : resultList) { + orderInvoiceInfo.setDdh(newOrderInfo.getDdh()); int count = orderInvoiceInfoMapper.updateOrderInvoiceInfoById(orderInvoiceInfo); if (count > 0){ log.info("{}替换报账单号接口,更新发票信息成功,发票信息:{}",LOGGER_MSG, @@ -2338,14 +2354,35 @@ public class OrderInfoServiceImpl implements OrderInfoService { log.error("{}替换报账单号接口,更新发票信息失败,发票信息:{}",LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderInvoiceInfo)); } + resultList.add(orderInvoiceInfo); + } + + // 删除原报账单号 + deleteBzdh(replaceOddDTO.getOrderId()); + // 回推sap系统 + for (OrderInvoiceInfo orderInvoiceInfo : resultList) { + FpTsMqData fpTsMqData = new FpTsMqData(); + fpTsMqData.setFpqqlsh(orderInvoiceInfo.getFpqqlsh()); + fpTsMqData.setFpdm(orderInvoiceInfo.getFpdm()); + fpTsMqData.setFphm(orderInvoiceInfo.getFphm()); + fpTsMqData.setNsrsbh(orderInvoiceInfo.getXhfNsrsbh()); + fpTsMqData.setForcePush(true); + CommonTsMqData commonTsMqData = new CommonTsMqData(); + commonTsMqData.setPushType(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_1.getKey()); + commonTsMqData.setNsrsbh(orderInvoiceInfo.getXhfNsrsbh()); + commonTsMqData.setEntId(orderInvoiceInfo.getEntId()); + commonTsMqData.setFpTsMqData(fpTsMqData); + rabbitMqSendMessageService.autoSendRabbitMqMessageForBusiness(NsrQueueEnum.PUSH_MESSAGE.getValue(), JsonUtils.getInstance().toJsonString(commonTsMqData)); } + return R.ok("替换成功"); }else { log.error("{}调用sap系统出错,结果不是S,返回错误信息:{}",LOGGER_MSG,zmessage); - }*/ + return R.error("替换失败,调用sap返回信息有误"); + } }catch (Exception e){ log.error("{},替换保证单号接口异常,异常信息:{}",LOGGER_MSG,e.getMessage()); + return R.error("替换失败"); } - return null; } // 删除原报账单信息 diff --git a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml index 3e866ff2..8ebdfe4b 100644 --- a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml +++ b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml @@ -2261,6 +2261,9 @@ fpqqlsh = #{orderInvoiceInfo.fpqqlsh,jdbcType=VARCHAR}, + + ddh = #{orderInvoiceInfo.ddh,jdbcType=VARCHAR}, + update_time = #{orderInvoiceInfo.updateTime,jdbcType=TIMESTAMP},