From 9a6b00c67df72d91efbf9b1795046579311272c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Wed, 7 Aug 2024 20:22:09 +0800 Subject: [PATCH] =?UTF-8?q?feature:=E9=82=AE=E4=BB=B6=E8=A1=A5=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderInvoiceInfoServiceImpl.java | 22 +++++----- .../controller/OrderHandleController.java | 26 +++++++++++ .../modules/bespoke/model/req/ReqParam.java | 3 ++ .../bespoke/service/OrderHandleService.java | 7 +++ .../service/impl/OrderHandleServiceImpl.java | 43 +++++++++++++++++++ 5 files changed, 89 insertions(+), 12 deletions(-) diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java index 01372e9..4f468d9 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java @@ -1729,18 +1729,16 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { OrderInfo orderInfo = orderInfoMapper.selectOrderInfoByDdqqlsh(fpqqlsh, shList); - if (StringUtils.isNotBlank(orderInfo.getGhfEmail())) { + //发票邮箱交付请求数据组装 + FpYxTsMqData fpYxTsMqData = new FpYxTsMqData(); + fpYxTsMqData.setShList(shList); + fpYxTsMqData.setFpqqlsh(fpqqlsh); + fpYxTsMqData.setPushType(OrderInfoEnum.EMAIL_PUSH_TYPE_1.getKey()); + fpYxTsMqData.setEmailAddress(orderInfo.getGhfEmail()); - //发票邮箱交付请求数据组装 - FpYxTsMqData fpYxTsMqData = new FpYxTsMqData(); - fpYxTsMqData.setShList(shList); - fpYxTsMqData.setFpqqlsh(fpqqlsh); - fpYxTsMqData.setPushType(OrderInfoEnum.EMAIL_PUSH_TYPE_1.getKey()); - fpYxTsMqData.setEmailAddress(orderInfo.getGhfEmail()); + log.info("电票开票完成后,发票版式文件邮箱推送,放入队列的参数:{}", JsonUtils.getInstance().toJsonString(fpYxTsMqData)); + rabbitMqSendMessageService.autoSendRabbitMqMessageForBusiness(NsrQueueEnum.YXTS_MESSAGE.getValue(), JsonUtils.getInstance().toJsonString(fpYxTsMqData)); - log.info("电票开票完成后,发票版式文件邮箱推送,放入队列的参数:{}", JsonUtils.getInstance().toJsonString(fpYxTsMqData)); - rabbitMqSendMessageService.autoSendRabbitMqMessageForBusiness(NsrQueueEnum.YXTS_MESSAGE.getValue(), JsonUtils.getInstance().toJsonString(fpYxTsMqData)); - } } } catch (Exception e) { @@ -1975,12 +1973,12 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { orderInvoiceInfoUpdate.setFpqqlsh(orderInvoiceInfo.getFpqqlsh()); //购方信息获取邮箱 - if (StringUtils.isBlank(emailAddress)){ + if (StringUtils.isBlank(emailAddress)) { PageGfxxReq pageGfxxReq = new PageGfxxReq(); pageGfxxReq.setGfmc(orderInvoiceInfo.getGhfMc()); pageGfxxReq.setXhfNsrsbh(orderInvoiceInfo.getXhfNsrsbh()); BuyerEntity buyerEntity = buyerService.queryBuyerInfo(pageGfxxReq); - if (ObjectUtil.isNotNull(buyerEntity)){ + if (ObjectUtil.isNotNull(buyerEntity)) { emailAddress = buyerEntity.getEmail(); } } diff --git a/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/controller/OrderHandleController.java b/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/controller/OrderHandleController.java index 5aaa859..399d7b5 100644 --- a/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/controller/OrderHandleController.java +++ b/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/controller/OrderHandleController.java @@ -233,4 +233,30 @@ public class OrderHandleController { } + @PostMapping("/emailSend") + @ApiOperation(value = "发票复制生成订单", notes = "订单发票管理-发票复制生成订单") + @SysLog(operation = "发票复制生成订单", operationDesc = "发票复制生成订单", key = "发票复制生成订单") + public R emailSend(@RequestBody ReqParam reqParam) { + try { + log.debug("邮件补发:{}", JsonUtils.getInstance().toJsonString(reqParam)); + + if (StringUtils.isBlank(reqParam.getNsrsbh())) { + log.error("请求税号为空!"); + return R.error(OrderValidateEnum.TAXCODE_ISNULL.getKey(), OrderValidateEnum.TAXCODE_ISNULL.getMessage()); + } + + if (CollectionUtils.isEmpty(reqParam.getFpqqlshList())) { + return R.error("发票请求流水号不能为空"); + } + int count = orderHandleService.emailSend(reqParam); + + return R.ok().put(ConfigureConstant.MSG, "邮箱补发成功"+count+"条"); + } catch (Exception e) { + log.error("发票复制订单异常", e); + return R.error(); + } + + } + + } diff --git a/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/req/ReqParam.java b/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/req/ReqParam.java index 5c86676..967b3dc 100644 --- a/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/req/ReqParam.java +++ b/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/req/ReqParam.java @@ -67,4 +67,7 @@ public class ReqParam { //订单号集合 public List ids; + + //订单号集合 + public List fpqqlshList; } diff --git a/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/OrderHandleService.java b/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/OrderHandleService.java index c8b47b5..38312e3 100644 --- a/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/OrderHandleService.java +++ b/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/OrderHandleService.java @@ -48,4 +48,11 @@ public interface OrderHandleService { String saveInvoiceFile(OrderInvoiceInfo orderInvoiceInfo); + + /** + * 发送邮件 + * @param reqParam + * @return + */ + int emailSend(ReqParam reqParam); } diff --git a/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/OrderHandleServiceImpl.java b/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/OrderHandleServiceImpl.java index 5f389d2..95d4d22 100644 --- a/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/OrderHandleServiceImpl.java +++ b/order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/OrderHandleServiceImpl.java @@ -11,12 +11,16 @@ import com.dxhy.base.common.model.OrderProcessInfo; import com.dxhy.base.common.model.R; import com.dxhy.base.common.model.qd.OrderInfoQd; import com.dxhy.base.common.utils.DistributedKeyMaker; +import com.dxhy.base.common.utils.JsonUtils; +import com.dxhy.base.common.utils.NsrsbhUtils; import com.dxhy.base.service.module.thirdservice.simsback.model.TaxEquipmentInfo; import com.dxhy.base.service.module.thirdservice.simsback.service.SimsBackService; import com.dxhy.base.thirdservice.module.base.service.BaseService; +import com.dxhy.order.baseservice.constant.NsrQueueEnum; import com.dxhy.order.baseservice.exception.OrderReceiveException; import com.dxhy.order.baseservice.model.OrderInvoiceInfo; import com.dxhy.order.baseservice.model.OrderOriginExtendInfo; +import com.dxhy.order.baseservice.model.queue.FpYxTsMqData; import com.dxhy.order.consumer.dao.OrderOriginExtendInfoMapper; import com.dxhy.order.consumer.dao.OrderProcessInfoMapper; import com.dxhy.order.consumer.modules.bespoke.config.FtpConfig; @@ -32,11 +36,13 @@ import com.dxhy.order.invoice.module.invoice.dao.OrderInvoiceInfoMapper; import com.dxhy.order.invoice.module.invoice.dao.OrderItemInfoMapper; import com.dxhy.order.invoice.module.invoice.model.FileDownLoad; import com.dxhy.order.invoice.module.invoice.service.OrderInvoiceInfoService; +import com.dxhy.order.invoice.module.rabbitmq.service.RabbitMqSendMessageService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.time.DateUtils; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -72,6 +78,7 @@ public class OrderHandleServiceImpl implements OrderHandleService { @Resource private BaseService baseService; + @Lazy @Resource private OrderInvoiceInfoService orderInvoiceInfoService; @@ -283,4 +290,40 @@ public class OrderHandleServiceImpl implements OrderHandleService { } return ""; } + + @Override + public int emailSend(ReqParam reqParam) { + List shList = NsrsbhUtils.transShListByXhfNsrsbh(reqParam.getNsrsbh()); + + int count = ConfigureConstant.INT_0; + for (String fpqqlsh : reqParam.getFpqqlshList()) { + try { + OrderInvoiceInfo updateInfo = new OrderInvoiceInfo(); + updateInfo.setFpqqlsh(fpqqlsh); + updateInfo.setEmailPushStatus(OrderInfoEnum.EMAIL_PUSH_STATUS_1.getKey()); + + int i = orderInvoiceInfoMapper.updateOrderInvoiceInfoByFpqqlsh(updateInfo, shList); + + OrderInfo orderInfo = orderInfoMapper.selectOrderInfoByDdqqlsh(fpqqlsh, shList); + + //发票邮箱交付请求数据组装 + FpYxTsMqData fpYxTsMqData = new FpYxTsMqData(); + fpYxTsMqData.setShList(shList); + fpYxTsMqData.setFpqqlsh(fpqqlsh); + fpYxTsMqData.setPushType(OrderInfoEnum.EMAIL_PUSH_TYPE_0.getKey()); + fpYxTsMqData.setEmailAddress(orderInfo.getGhfEmail()); + + log.info("补发邮箱推送的参数:{}", JsonUtils.getInstance().toJsonString(fpYxTsMqData)); + R r = orderInvoiceInfoService.pushWithEmail(JsonUtils.getInstance().toJsonString(fpYxTsMqData)); + if (r.get(ConfigureConstant.CODE).equals(ConfigureConstant.STRING_0000)){ + count++; + } + }catch (Exception e){ + log.error("发送邮件失败", e); + } + + } + + return count; + } }