From 2848f96bff1036901311db5fe5f2617700a57cb9 Mon Sep 17 00:00:00 2001 From: kk <1910333201@qq.com> Date: Thu, 16 Nov 2023 11:41:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E5=8A=A8=E8=BD=A6=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=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 --- .../src/main/test/java/BackTest.java | 3 +- .../src/main/test/java/ExportVehicleTest.java | 31 +++++++++++ .../invoice/task/InvoiceBackTask.java | 51 ++++++++++++++++--- .../invoice/utils/BillDetailFormatUtil.java | 1 + .../mapper/CompanyservicePropMapper.java | 2 + .../service/ICompanyservicePropService.java | 2 + .../impl/CompanyservicePropServiceImpl.java | 1 + .../system/CompanyservicePropMapper.xml | 4 ++ 8 files changed, 86 insertions(+), 9 deletions(-) create mode 100644 jianshui-admin/src/main/test/java/ExportVehicleTest.java diff --git a/jianshui-admin/src/main/test/java/BackTest.java b/jianshui-admin/src/main/test/java/BackTest.java index 7b90bf7..e9ab10f 100644 --- a/jianshui-admin/src/main/test/java/BackTest.java +++ b/jianshui-admin/src/main/test/java/BackTest.java @@ -22,9 +22,10 @@ public class BackTest { @Autowired private InvoiceBackTask invoiceBackTask; + @Test public void test(){ - invoiceBackTask.bkParams("2"); + invoiceBackTask.exportVehicleInvoice(); } } diff --git a/jianshui-admin/src/main/test/java/ExportVehicleTest.java b/jianshui-admin/src/main/test/java/ExportVehicleTest.java new file mode 100644 index 0000000..1b8687a --- /dev/null +++ b/jianshui-admin/src/main/test/java/ExportVehicleTest.java @@ -0,0 +1,31 @@ +import com.jianshui.JianshuiApplication; +import com.jianshui.invoice.task.InvoiceBackTask; +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; + +/** + * @author kk + * @date 2023年10月28日 11:13 + * 重汽回调定时任务测试 + */ +@RunWith(SpringJUnit4ClassRunner.class) // SpringJUnit支持,由此引入Spring-Test框架支持! +@SpringBootTest(classes = JianshuiApplication.class) // 指定我们SpringBoot工程的Application启动类 +@WebAppConfiguration +@Slf4j +public class ExportVehicleTest { + + @Autowired + private InvoiceBackTask invoiceBackTask; + + + @Test + public void test(){ + invoiceBackTask.bkParams("2"); + } + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java index 96722c9..84beed5 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java @@ -1,25 +1,33 @@ package com.jianshui.invoice.task; +import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jianshui.common.core.domain.entity.Companyservice; import com.jianshui.common.utils.StringUtils; import com.jianshui.common.utils.spring.SpringUtils; +import com.jianshui.invoice.constant.aisino.console.AisinoConsoleConstants; import com.jianshui.invoice.domain.Invoice; import com.jianshui.invoice.domain.InvoiceBack; import com.jianshui.invoice.domain.Redinfo; +import com.jianshui.invoice.domain.dto.ExportVehicleDTO; +import com.jianshui.invoice.domain.dto.HXResponse; import com.jianshui.invoice.mapper.InvoiceBackMapper; import com.jianshui.invoice.mapper.InvoiceMapper; +import com.jianshui.invoice.service.IInvoiceApiService; +import com.jianshui.invoice.service.impl.api.AisinoConsoleInvoiceApiZhongQiServiceImpl; import com.jianshui.system.domain.CompanyserviceProp; import com.jianshui.system.service.ICompanyservicePropService; +import com.jianshui.system.service.ICompanyserviceService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.Date; -import java.util.List; +import java.util.*; /** * 定时任务-发票推送 @@ -37,6 +45,12 @@ public class InvoiceBackTask @Autowired private InvoiceMapper invoiceMapper; + @Autowired + private ICompanyserviceService iCompanyserviceService; + + @Autowired + private ICompanyservicePropService propService; + /** * @author kk @@ -159,19 +173,40 @@ public class InvoiceBackTask * @date 2023/11/14 9:03 * @param: [] * @return: - * 机动车加密导出 + * 机动车加密导出-定时任务 */ public void exportVehicleInvoice(){ + // 查询配置的nginx地址 + log.info("[重汽机动车加密导出定时任务开始]---"); + CompanyserviceProp companyservicePropQuery = new CompanyserviceProp(); + companyservicePropQuery.setKey("aisino_nginx_url"); + List companyservicePropList = propService.selectCompanyservicePropList(companyservicePropQuery); + log.info("[重汽机动车加密导出定时任务]获取到待发送identity集合,{}",JSONUtil.toJsonStr(companyservicePropList)); + for (CompanyserviceProp companyserviceProp : companyservicePropList) { + + // 参数组装 + Companyservice companyservice = iCompanyserviceService.selectCompanyserviceByCompanyid(companyserviceProp.getCompanyid()); + + ExportVehicleDTO exportVehicleDTO = new ExportVehicleDTO(); + exportVehicleDTO.setSavePath(AisinoConsoleConstants.SAVE_PATH); + exportVehicleDTO.setFPZL(""); + exportVehicleDTO.setKSRQ(DateUtil.today()); + exportVehicleDTO.setJSRQ(DateUtil.today()); + + try { + IInvoiceApiService iInvoiceApiService = new AisinoConsoleInvoiceApiZhongQiServiceImpl(); + HXResponse hxResponse = iInvoiceApiService.exportVehicleInvoice(JSON.parseObject(JSONUtil.toJsonStr(exportVehicleDTO)),companyservice); + log.info("[重汽机动车加密导出定时任务]返回结果,hxResponse={},identity={}",hxResponse,companyserviceProp.getCompanyid()); + } catch (Exception e) { + throw new RuntimeException(e); + } - + } + log.info("[重汽机动车加密导出定时任务结束]---"); } - - - - } diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java index 8000ea6..ea06f21 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java @@ -143,6 +143,7 @@ public class BillDetailFormatUtil { public static AjaxResult detailFormat(BillDetail billDetailRaw) { BillDetail billDetail = JSONObject.parseObject(JSONObject.toJSONString(billDetailRaw), BillDetail.class); Integer fphxz = billDetail.getFphxz(); + // TODO: 2023/11/16 这里被折扣行开票有问题,不进项计算的话 // 如果是被折扣行,直接返回 if (fphxz != null && fphxz == 1) { return AjaxResult.error(300, "明细行为被折扣行"); diff --git a/jianshui-system/src/main/java/com/jianshui/system/mapper/CompanyservicePropMapper.java b/jianshui-system/src/main/java/com/jianshui/system/mapper/CompanyservicePropMapper.java index fab0030..58e9526 100644 --- a/jianshui-system/src/main/java/com/jianshui/system/mapper/CompanyservicePropMapper.java +++ b/jianshui-system/src/main/java/com/jianshui/system/mapper/CompanyservicePropMapper.java @@ -62,4 +62,6 @@ public interface CompanyservicePropMapper { public int deleteCompanyservicePropByCompanyids(Long[] companyids); public CompanyserviceProp selectPropByKey(@Param("companyId") Long companyId, @Param("key") String key); + + } diff --git a/jianshui-system/src/main/java/com/jianshui/system/service/ICompanyservicePropService.java b/jianshui-system/src/main/java/com/jianshui/system/service/ICompanyservicePropService.java index 418b7a2..036ccd9 100644 --- a/jianshui-system/src/main/java/com/jianshui/system/service/ICompanyservicePropService.java +++ b/jianshui-system/src/main/java/com/jianshui/system/service/ICompanyservicePropService.java @@ -76,4 +76,6 @@ public interface ICompanyservicePropService { * @return */ public CompanyserviceProp selectPropByKey(Long companyId, String key); + + } diff --git a/jianshui-system/src/main/java/com/jianshui/system/service/impl/CompanyservicePropServiceImpl.java b/jianshui-system/src/main/java/com/jianshui/system/service/impl/CompanyservicePropServiceImpl.java index 99320bb..4169e46 100644 --- a/jianshui-system/src/main/java/com/jianshui/system/service/impl/CompanyservicePropServiceImpl.java +++ b/jianshui-system/src/main/java/com/jianshui/system/service/impl/CompanyservicePropServiceImpl.java @@ -123,4 +123,5 @@ public class CompanyservicePropServiceImpl implements ICompanyservicePropService public CompanyserviceProp selectPropByKey(Long companyId, String key) { return companyservicePropMapper.selectPropByKey(companyId, key); } + } diff --git a/jianshui-system/src/main/resources/mapper/system/CompanyservicePropMapper.xml b/jianshui-system/src/main/resources/mapper/system/CompanyservicePropMapper.xml index 6596f61..cdf7bcf 100644 --- a/jianshui-system/src/main/resources/mapper/system/CompanyservicePropMapper.xml +++ b/jianshui-system/src/main/resources/mapper/system/CompanyservicePropMapper.xml @@ -72,4 +72,8 @@ where companyid = #{companyId} and `key` = #{key} + + + + \ No newline at end of file