parent
bee2bbd530
commit
cbf0f32055
@ -1,206 +1,205 @@ |
|||||||
package com.dxhy.order.consumer.handle;//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.module.base.model.InvoiceWarningInfo;
|
import com.dxhy.order.baseservice.config.BaseServiceConfig; |
||||||
//import com.dxhy.order.baseservice.module.base.service.YpWarningService;
|
import com.dxhy.order.baseservice.module.base.model.InvoiceWarningInfo; |
||||||
//import com.dxhy.order.baseservice.module.thirdservice.itaxmsg.service.ItaxMsgService;
|
import com.dxhy.order.baseservice.module.base.service.YpWarningService; |
||||||
//import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService;
|
import com.dxhy.order.baseservice.module.thirdservice.itaxmsg.service.ItaxMsgService; |
||||||
//import com.dxhy.order.constant.ConfigureConstant;
|
import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; |
||||||
//import com.dxhy.order.constant.OrderInfoEnum;
|
import com.dxhy.order.baseservice.utils.HttpInvoiceRequestUtil; |
||||||
//import com.dxhy.order.constant.RedisConstant;
|
import com.dxhy.order.constant.ConfigureConstant; |
||||||
//import com.dxhy.order.invoice.config.InvoiceConfig;
|
import com.dxhy.order.constant.OrderInfoEnum; |
||||||
//import com.dxhy.order.invoice.module.invoice.service.EmailService;
|
import com.dxhy.order.constant.RedisConstant; |
||||||
//import com.dxhy.order.invoice.utils.HttpInvoiceRequestUtil;
|
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; |
||||||
//
|
|
||||||
///**
|
/** |
||||||
// * todo 转为基础服务提供服务
|
* @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 InvoiceConfig invoiceConfig;
|
|
||||||
//
|
@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 = invoiceConfig.configQuerykcxxByFjh();
|
if (CommonUtils.judgeNewInterface(terminalCode)) { |
||||||
// if (CommonUtils.judgeNewInterface(terminalCode)) {
|
kcxxUrl = baseServiceConfig.configQueryTaxpayerStockInfo(); |
||||||
// kcxxUrl = invoiceConfig.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…
Reference in new issue