From 3407badda04e3507b0dd941b91cd8983b0fbae67 Mon Sep 17 00:00:00 2001 From: "zhenghaiyang@ele-cloud.com" Date: Sat, 15 Apr 2023 17:03:40 +0800 Subject: [PATCH] =?UTF-8?q?feature=201.=E5=88=A0=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dxhy/order/consumer/handle/YpyjTask.java | 410 +++++++++--------- 1 file changed, 205 insertions(+), 205 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/handle/YpyjTask.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/handle/YpyjTask.java index 0a207822..7d8dd11d 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/handle/YpyjTask.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/handle/YpyjTask.java @@ -1,205 +1,205 @@ -package com.dxhy.order.consumer.handle; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.RandomUtil; -import com.dxhy.order.baseservice.config.BaseServiceConfig; -import com.dxhy.order.baseservice.module.base.model.InvoiceWarningInfo; -import com.dxhy.order.baseservice.module.base.service.YpWarningService; -import com.dxhy.order.baseservice.module.thirdservice.itaxmsg.service.ItaxMsgService; -import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; -import com.dxhy.order.baseservice.utils.HttpInvoiceRequestUtil; -import com.dxhy.order.constant.ConfigureConstant; -import com.dxhy.order.constant.OrderInfoEnum; -import com.dxhy.order.constant.RedisConstant; -import com.dxhy.order.invoice.module.invoice.service.EmailService; -import com.dxhy.order.model.sk.sld.SldKcByFjhResponseExtend; -import com.dxhy.order.model.sk.sld.SldKcRequest; -import com.dxhy.order.model.sk.sld.SldKcmxByFjh; -import com.dxhy.order.utils.CommonUtils; -import com.dxhy.order.utils.JsonUtils; -import com.dxhy.order.utils.NsrsbhUtils; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.handler.IJobHandler; -import com.xxl.job.core.handler.annotation.JobHandler; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.MDC; -import org.slf4j.spi.MDCAdapter; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @Description 余票预警定时任务 - * @Author xieyuanqiang - * @Date 11:09 2018-09-19 - */ -@SuppressWarnings("AlibabaMethodTooLong") -@Slf4j -@Component -@JobHandler(value = "/ypyjTask") -public class YpyjTask extends IJobHandler { - private static final String LOGGER_MSG = "(余票预警)"; - @Resource - private YpWarningService ypWarningService; - @Resource - private ItaxMsgService itaxMsgService; - @Resource - private EmailService emailService; - @Resource - private SimsBackService simsBackService; - @Resource - private BaseServiceConfig baseServiceConfig; - - @Override - public ReturnT execute(String s) { - try { - - //添加日志id - MDCAdapter mdc = MDC.getMDCAdapter(); - mdc.put("X-B3-TraceId", RandomUtil.randomString(25)); - - log.info("ypyjTask 余票预警 定时任务开始执行"); - - // 获取开票信息 - InvoiceWarningInfo invoiceWarningInfo1 = new InvoiceWarningInfo(); - invoiceWarningInfo1.setSfyj(ConfigureConstant.STRING_1); - List data = ypWarningService.selectYpWarning(invoiceWarningInfo1, null, null); - - /** - * 列出所有税号,查询税号对应的库存信息 - */ - List requestList = new ArrayList<>(); - if (ObjectUtil.isNotEmpty(data)) { - for (InvoiceWarningInfo invoiceWarningInfo : data) { - requestList.add(invoiceWarningInfo.getXhfNsrsbh() + ConfigureConstant.STRING_UNDERLINE + invoiceWarningInfo.getSbbh() + ConfigureConstant.STRING_UNDERLINE + invoiceWarningInfo.getEntId()); - } - - } - requestList = requestList.stream().filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList()); - Map sldKcByFjhResponseExtendMap = new HashMap<>(5); - if (ObjectUtil.isNotEmpty(requestList)) { - - try { - //遍历所有税号的库存信息 - for (String request : requestList) { - SldKcRequest kccxRequest = new SldKcRequest(); - String terminalCode = simsBackService.getTerminalCode(request.split(ConfigureConstant.STRING_UNDERLINE)[0], request.split(ConfigureConstant.STRING_UNDERLINE)[2]); - if (StringUtils.isBlank(terminalCode)) { - log.warn("{}企业未配置税控设备,税号:{}", LOGGER_MSG, request.split(ConfigureConstant.STRING_UNDERLINE)[0]); - continue; - } - /** - * 方格相关去除 - */ - if (CommonUtils.judgeIsFgTerminalType(terminalCode)) { - continue; - } - kccxRequest.setNsrsbh(request.split(ConfigureConstant.STRING_UNDERLINE)[0]); - if (OrderInfoEnum.TAX_EQUIPMENT_NEWTAX.getKey().equals(terminalCode)) { - kccxRequest.setJqbh(request.split(ConfigureConstant.STRING_UNDERLINE)[1]); - } else { - kccxRequest.setFjh(request.split(ConfigureConstant.STRING_UNDERLINE)[1]); - } - - String kcxxUrl = baseServiceConfig.configQuerykcxxByFjh(); - if (CommonUtils.judgeNewInterface(terminalCode)) { - kcxxUrl = baseServiceConfig.configQueryTaxpayerStockInfo(); - } - SldKcByFjhResponseExtend sldKcByFjhResponseExtend = HttpInvoiceRequestUtil.queryKcxxByFjh(kcxxUrl, kccxRequest, terminalCode); - sldKcByFjhResponseExtendMap.put(request, sldKcByFjhResponseExtend); - } - } catch (Exception e) { - log.error("{}ypyjTask 余票预警 获取分机号异常 异常信息:{}", LOGGER_MSG, e); - } - - log.info("{}调用开票系统查询税盘库存接口结果为:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(sldKcByFjhResponseExtendMap)); - } - if (ObjectUtil.isNotEmpty(sldKcByFjhResponseExtendMap)) { - for (InvoiceWarningInfo invoiceWarningInfo : data) { - try { - - SldKcByFjhResponseExtend sldKcByFjhResponseExtend = sldKcByFjhResponseExtendMap.get(invoiceWarningInfo.getXhfNsrsbh() + ConfigureConstant.STRING_UNDERLINE + invoiceWarningInfo.getSbbh()); - - if (sldKcByFjhResponseExtend != null && ObjectUtil.isNotEmpty(sldKcByFjhResponseExtend.getKcmxes())) { - List kcmxs = sldKcByFjhResponseExtend.getKcmxes(); - Map map = new HashMap<>(10); - if (ObjectUtil.isNotEmpty(kcmxs)) { - for (SldKcmxByFjh k : kcmxs) { - if (!"41".equals(k.getFpzlDm())) { - if (map.containsKey(k.getFpzlDm())) { - int x = map.get(k.getFpzlDm()) + Integer.parseInt(k.getFpfs()); - map.put(k.getFpzlDm(), x); - } else { - map.put(k.getFpzlDm(), Integer.valueOf(k.getFpfs())); - } - } - } - log.info("{}调用库存接口返回结果为:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(map)); - map.forEach((fpzldm, fpfs) -> { - if (StringUtils.equals(fpzldm, invoiceWarningInfo.getFpzlDm())) { - int emailNum = Integer.parseInt(invoiceWarningInfo.getYjcs()); - if (new BigDecimal(fpfs.toString()).compareTo(new BigDecimal(invoiceWarningInfo.getYjfs())) < 0) { - - log.info("开始预警 税盘号{} 发票类型{} 发票份数{} 预警份数{}", invoiceWarningInfo.getSbbh(), invoiceWarningInfo.getFpzlDm(), - fpfs, invoiceWarningInfo.getYjfs()); - String mc = CommonUtils.getFpzlDmMc(fpzldm); - String message = ""; - - message = String.format(RedisConstant.ERROR_MESSAGE_INVOICE, invoiceWarningInfo.getXhfNsrsbh(), invoiceWarningInfo.getSbbh(), fpfs, mc, invoiceWarningInfo.getYjfs()) + "\n" + message; - - log.info("向i-tax系统推送消息开始了。。。"); - if (emailNum < 1) { - itaxMsgService.sessMessageToTax("余票预警", message, "2", - invoiceWarningInfo.getUserId(), invoiceWarningInfo.getEntId()); - } - if (OrderInfoEnum.ORDER_WARNING_OPEN.getKey().equals(invoiceWarningInfo.getSfyj())) { - - log.info("邮件预警次数{}", emailNum); - if (emailNum < 1) { - emailService.sendInvoiceWarningInfoEmail(invoiceWarningInfo.getSbMc(), invoiceWarningInfo.getSfyj(), invoiceWarningInfo.getSbbh(), invoiceWarningInfo.getEMail(), fpfs.toString(), mc); - emailNum = 1; - } - } - - } else { - if (ConfigureConstant.INT_1 == emailNum) { - emailNum = ConfigureConstant.INT_0; - } - } - - invoiceWarningInfo.setYjcs(String.valueOf(emailNum)); - log.info("更新发票预警信息。。。"); - int reslut = ypWarningService.updateYpWarnInfo(invoiceWarningInfo, NsrsbhUtils.transShListByNsrsbh(invoiceWarningInfo.getXhfNsrsbh())); - log.info("更新发票预警信息结果 {}", reslut > 0); - - } - }); - } - } else { - log.info("ypyjTask 余票预警 调用开票系统查询税盘库存接口 结果为空"); - } - } catch (Exception e) { - log.error("{}ypyjTask 余票预警 业务处理异常 异常信息:{}", LOGGER_MSG, e); - - } - } - } else { - log.info("ypyjTask 余票预警 查询税盘号 结果为空"); - } - } catch (Exception e) { - log.error("{}定时任务执行异常:{}", LOGGER_MSG, e); - return FAIL; - } - return ReturnT.SUCCESS; - - - } - -} +//package com.dxhy.order.consumer.handle; +// +//import cn.hutool.core.util.ObjectUtil; +//import cn.hutool.core.util.RandomUtil; +//import com.dxhy.order.baseservice.config.BaseServiceConfig; +//import com.dxhy.order.baseservice.module.base.model.InvoiceWarningInfo; +//import com.dxhy.order.baseservice.module.base.service.YpWarningService; +//import com.dxhy.order.baseservice.module.thirdservice.itaxmsg.service.ItaxMsgService; +//import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; +//import com.dxhy.order.baseservice.utils.HttpInvoiceRequestUtil; +//import com.dxhy.order.constant.ConfigureConstant; +//import com.dxhy.order.constant.OrderInfoEnum; +//import com.dxhy.order.constant.RedisConstant; +//import com.dxhy.order.invoice.module.invoice.service.EmailService; +//import com.dxhy.order.model.sk.sld.SldKcByFjhResponseExtend; +//import com.dxhy.order.model.sk.sld.SldKcRequest; +//import com.dxhy.order.model.sk.sld.SldKcmxByFjh; +//import com.dxhy.order.utils.CommonUtils; +//import com.dxhy.order.utils.JsonUtils; +//import com.dxhy.order.utils.NsrsbhUtils; +//import com.xxl.job.core.biz.model.ReturnT; +//import com.xxl.job.core.handler.IJobHandler; +//import com.xxl.job.core.handler.annotation.JobHandler; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang3.StringUtils; +//import org.slf4j.MDC; +//import org.slf4j.spi.MDCAdapter; +//import org.springframework.stereotype.Component; +// +//import javax.annotation.Resource; +//import java.math.BigDecimal; +//import java.util.ArrayList; +//import java.util.HashMap; +//import java.util.List; +//import java.util.Map; +//import java.util.stream.Collectors; +// +///** +// * @Description 余票预警定时任务 +// * @Author xieyuanqiang +// * @Date 11:09 2018-09-19 +// */ +//@SuppressWarnings("AlibabaMethodTooLong") +//@Slf4j +//@Component +//@JobHandler(value = "/ypyjTask") +//public class YpyjTask extends IJobHandler { +// private static final String LOGGER_MSG = "(余票预警)"; +// @Resource +// private YpWarningService ypWarningService; +// @Resource +// private ItaxMsgService itaxMsgService; +// @Resource +// private EmailService emailService; +// @Resource +// private SimsBackService simsBackService; +// @Resource +// private BaseServiceConfig baseServiceConfig; +// +// @Override +// public ReturnT execute(String s) { +// try { +// +// //添加日志id +// MDCAdapter mdc = MDC.getMDCAdapter(); +// mdc.put("X-B3-TraceId", RandomUtil.randomString(25)); +// +// log.info("ypyjTask 余票预警 定时任务开始执行"); +// +// // 获取开票信息 +// InvoiceWarningInfo invoiceWarningInfo1 = new InvoiceWarningInfo(); +// invoiceWarningInfo1.setSfyj(ConfigureConstant.STRING_1); +// List data = ypWarningService.selectYpWarning(invoiceWarningInfo1, null, null); +// +// /** +// * 列出所有税号,查询税号对应的库存信息 +// */ +// List requestList = new ArrayList<>(); +// if (ObjectUtil.isNotEmpty(data)) { +// for (InvoiceWarningInfo invoiceWarningInfo : data) { +// requestList.add(invoiceWarningInfo.getXhfNsrsbh() + ConfigureConstant.STRING_UNDERLINE + invoiceWarningInfo.getSbbh() + ConfigureConstant.STRING_UNDERLINE + invoiceWarningInfo.getEntId()); +// } +// +// } +// requestList = requestList.stream().filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList()); +// Map sldKcByFjhResponseExtendMap = new HashMap<>(5); +// if (ObjectUtil.isNotEmpty(requestList)) { +// +// try { +// //遍历所有税号的库存信息 +// for (String request : requestList) { +// SldKcRequest kccxRequest = new SldKcRequest(); +// String terminalCode = simsBackService.getTerminalCode(request.split(ConfigureConstant.STRING_UNDERLINE)[0], request.split(ConfigureConstant.STRING_UNDERLINE)[2]); +// if (StringUtils.isBlank(terminalCode)) { +// log.warn("{}企业未配置税控设备,税号:{}", LOGGER_MSG, request.split(ConfigureConstant.STRING_UNDERLINE)[0]); +// continue; +// } +// /** +// * 方格相关去除 +// */ +// if (CommonUtils.judgeIsFgTerminalType(terminalCode)) { +// continue; +// } +// kccxRequest.setNsrsbh(request.split(ConfigureConstant.STRING_UNDERLINE)[0]); +// if (OrderInfoEnum.TAX_EQUIPMENT_NEWTAX.getKey().equals(terminalCode)) { +// kccxRequest.setJqbh(request.split(ConfigureConstant.STRING_UNDERLINE)[1]); +// } else { +// kccxRequest.setFjh(request.split(ConfigureConstant.STRING_UNDERLINE)[1]); +// } +// +// String kcxxUrl = baseServiceConfig.configQuerykcxxByFjh(); +// if (CommonUtils.judgeNewInterface(terminalCode)) { +// kcxxUrl = baseServiceConfig.configQueryTaxpayerStockInfo(); +// } +// SldKcByFjhResponseExtend sldKcByFjhResponseExtend = HttpInvoiceRequestUtil.queryKcxxByFjh(kcxxUrl, kccxRequest, terminalCode); +// sldKcByFjhResponseExtendMap.put(request, sldKcByFjhResponseExtend); +// } +// } catch (Exception e) { +// log.error("{}ypyjTask 余票预警 获取分机号异常 异常信息:{}", LOGGER_MSG, e); +// } +// +// log.info("{}调用开票系统查询税盘库存接口结果为:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(sldKcByFjhResponseExtendMap)); +// } +// if (ObjectUtil.isNotEmpty(sldKcByFjhResponseExtendMap)) { +// for (InvoiceWarningInfo invoiceWarningInfo : data) { +// try { +// +// SldKcByFjhResponseExtend sldKcByFjhResponseExtend = sldKcByFjhResponseExtendMap.get(invoiceWarningInfo.getXhfNsrsbh() + ConfigureConstant.STRING_UNDERLINE + invoiceWarningInfo.getSbbh()); +// +// if (sldKcByFjhResponseExtend != null && ObjectUtil.isNotEmpty(sldKcByFjhResponseExtend.getKcmxes())) { +// List kcmxs = sldKcByFjhResponseExtend.getKcmxes(); +// Map map = new HashMap<>(10); +// if (ObjectUtil.isNotEmpty(kcmxs)) { +// for (SldKcmxByFjh k : kcmxs) { +// if (!"41".equals(k.getFpzlDm())) { +// if (map.containsKey(k.getFpzlDm())) { +// int x = map.get(k.getFpzlDm()) + Integer.parseInt(k.getFpfs()); +// map.put(k.getFpzlDm(), x); +// } else { +// map.put(k.getFpzlDm(), Integer.valueOf(k.getFpfs())); +// } +// } +// } +// log.info("{}调用库存接口返回结果为:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(map)); +// map.forEach((fpzldm, fpfs) -> { +// if (StringUtils.equals(fpzldm, invoiceWarningInfo.getFpzlDm())) { +// int emailNum = Integer.parseInt(invoiceWarningInfo.getYjcs()); +// if (new BigDecimal(fpfs.toString()).compareTo(new BigDecimal(invoiceWarningInfo.getYjfs())) < 0) { +// +// log.info("开始预警 税盘号{} 发票类型{} 发票份数{} 预警份数{}", invoiceWarningInfo.getSbbh(), invoiceWarningInfo.getFpzlDm(), +// fpfs, invoiceWarningInfo.getYjfs()); +// String mc = CommonUtils.getFpzlDmMc(fpzldm); +// String message = ""; +// +// message = String.format(RedisConstant.ERROR_MESSAGE_INVOICE, invoiceWarningInfo.getXhfNsrsbh(), invoiceWarningInfo.getSbbh(), fpfs, mc, invoiceWarningInfo.getYjfs()) + "\n" + message; +// +// log.info("向i-tax系统推送消息开始了。。。"); +// if (emailNum < 1) { +// itaxMsgService.sessMessageToTax("余票预警", message, "2", +// invoiceWarningInfo.getUserId(), invoiceWarningInfo.getEntId()); +// } +// if (OrderInfoEnum.ORDER_WARNING_OPEN.getKey().equals(invoiceWarningInfo.getSfyj())) { +// +// log.info("邮件预警次数{}", emailNum); +// if (emailNum < 1) { +// emailService.sendInvoiceWarningInfoEmail(invoiceWarningInfo.getSbMc(), invoiceWarningInfo.getSfyj(), invoiceWarningInfo.getSbbh(), invoiceWarningInfo.getEMail(), fpfs.toString(), mc); +// emailNum = 1; +// } +// } +// +// } else { +// if (ConfigureConstant.INT_1 == emailNum) { +// emailNum = ConfigureConstant.INT_0; +// } +// } +// +// invoiceWarningInfo.setYjcs(String.valueOf(emailNum)); +// log.info("更新发票预警信息。。。"); +// int reslut = ypWarningService.updateYpWarnInfo(invoiceWarningInfo, NsrsbhUtils.transShListByNsrsbh(invoiceWarningInfo.getXhfNsrsbh())); +// log.info("更新发票预警信息结果 {}", reslut > 0); +// +// } +// }); +// } +// } else { +// log.info("ypyjTask 余票预警 调用开票系统查询税盘库存接口 结果为空"); +// } +// } catch (Exception e) { +// log.error("{}ypyjTask 余票预警 业务处理异常 异常信息:{}", LOGGER_MSG, e); +// +// } +// } +// } else { +// log.info("ypyjTask 余票预警 查询税盘号 结果为空"); +// } +// } catch (Exception e) { +// log.error("{}定时任务执行异常:{}", LOGGER_MSG, e); +// return FAIL; +// } +// return ReturnT.SUCCESS; +// +// +// } +// +//}