feature 1.删除多余定时任务

release
zhenghaiyang@ele-cloud.com 2 years ago
parent e14750a0ef
commit 3407badda0
  1. 410
      order-management-consumer/src/main/java/com/dxhy/order/consumer/handle/YpyjTask.java

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

Loading…
Cancel
Save