机动车加密导出定时任务

beta
kk 2 years ago
parent d66d0df690
commit 2848f96bff
  1. 3
      jianshui-admin/src/main/test/java/BackTest.java
  2. 31
      jianshui-admin/src/main/test/java/ExportVehicleTest.java
  3. 49
      jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java
  4. 1
      jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java
  5. 2
      jianshui-system/src/main/java/com/jianshui/system/mapper/CompanyservicePropMapper.java
  6. 2
      jianshui-system/src/main/java/com/jianshui/system/service/ICompanyservicePropService.java
  7. 1
      jianshui-system/src/main/java/com/jianshui/system/service/impl/CompanyservicePropServiceImpl.java
  8. 4
      jianshui-system/src/main/resources/mapper/system/CompanyservicePropMapper.xml

@ -22,9 +22,10 @@ public class BackTest {
@Autowired
private InvoiceBackTask invoiceBackTask;
@Test
public void test(){
invoiceBackTask.bkParams("2");
invoiceBackTask.exportVehicleInvoice();
}
}

@ -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");
}
}

@ -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,17 +173,38 @@ 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<CompanyserviceProp> 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("[重汽机动车加密导出定时任务结束]---");
}

@ -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, "明细行为被折扣行");

@ -62,4 +62,6 @@ public interface CompanyservicePropMapper {
public int deleteCompanyservicePropByCompanyids(Long[] companyids);
public CompanyserviceProp selectPropByKey(@Param("companyId") Long companyId, @Param("key") String key);
}

@ -76,4 +76,6 @@ public interface ICompanyservicePropService {
* @return
*/
public CompanyserviceProp selectPropByKey(Long companyId, String key);
}

@ -123,4 +123,5 @@ public class CompanyservicePropServiceImpl implements ICompanyservicePropService
public CompanyserviceProp selectPropByKey(Long companyId, String key) {
return companyservicePropMapper.selectPropByKey(companyId, key);
}
}

@ -72,4 +72,8 @@
<include refid="selectCompanyservicePropVo"/>
where companyid = #{companyId} and `key` = #{key}
</select>
</mapper>
Loading…
Cancel
Save