税务预检使用情况(定时任务)

This commit is contained in:
ZZM 2025-07-29 15:59:51 +08:00
parent c96663187e
commit b25ea618ee
3 changed files with 64 additions and 6 deletions

View File

@ -0,0 +1,13 @@
package com.kakarote.core.feign.crm.service;
import com.kakarote.core.common.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@FeignClient(name = "crm" , contextId = "UserAnalyse")
public interface CrmUserAnalyseService {
@PostMapping("/crmGetV3Data/getTaxPreCheckUsage")
Result getTaxPreCheckUsage();
}

View File

@ -3,6 +3,7 @@ package com.kakarote.crm.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.gson.Gson;
import com.google.gson.JsonParseException;
import com.kakarote.core.feign.crm.entity.BiParams;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.entity.DTO.CrmTaxPreCheckUsageDTO;
@ -33,26 +34,38 @@ public class CrmUserAnalyseServiceImpl extends BaseServiceImpl<CrmUserAnalyseMap
@Value("${app.base_url}")
private String BASE_URL;
private String getUrl() {
return BASE_URL;
}
@Override
public int addUserAnalyse() throws IOException {
//测试数据
//LocalDate today = LocalDate.of(2023, 9, 28);
// 每天凌晨一点把昨天的数据存入数据库中
//获取当天凌晨1点的日期
// 获取当天凌晨1点的日期
LocalDate today = LocalDate.now();
//再获取昨天的日期
// 再获取昨天的日期
LocalDate queryDate = today.minusDays(1);
CrmUserAnalyse userAnalyse = getCrmUserAnalyse(queryDate);
LocalDate date = LocalDate.of(2025, 6, 4);
CrmUserAnalyse userAnalyse = getCrmUserAnalyse(date);
return crmUserAnalyseMapper.insert(userAnalyse);
}
public CrmUserAnalyse getCrmUserAnalyse(LocalDate queryDate) throws IOException {
String json = OkHttpClientUtil.get(BASE_URL, queryDate);
String url = getUrl();
String json = OkHttpClientUtil.get(url, queryDate);
// 检查是否是有效的JSON对象
if (json == null || json.trim().isEmpty()) {
throw new JsonParseException("响应内容为空");
}
Gson gson = new Gson();
CrmTaxPreCheckUsageVO vo = gson.fromJson(json, CrmTaxPreCheckUsageVO.class);

View File

@ -0,0 +1,32 @@
package com.kakarote.job.crm;
import com.kakarote.core.common.Result;
import com.kakarote.core.feign.crm.service.CrmUserAnalyseService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class CrmTaxPreCheckUsageJob {
@Autowired
private CrmUserAnalyseService crmUserAnalyseService;
@XxlJob("CrmTaxPreCheckUsageJob")
ReturnT<String> crmTaxPreCheckUsageJobHandler(String param){
Result result = crmUserAnalyseService.getTaxPreCheckUsage();
if (!result.hasSuccess()) {
ReturnT<String> fail = ReturnT.FAIL;
fail.setMsg(result.getMsg());
return fail;
}
return ReturnT.SUCCESS;
}
}