查询工商登记开业信息

This commit is contained in:
ZZM 2025-08-12 10:32:12 +08:00
parent 999c1c533b
commit 83679f2da6
12 changed files with 626 additions and 12 deletions

View File

@ -17,6 +17,7 @@ public enum CrmTaxServiceIdEnum {
ENTERPRISE_INSURED_COUNT("JXSW.DZSWJ.CSXT.QYCBRSCX", "查询企业参保人数"),
ENTERPRISE_INCOME_TAX_ANNUAL("JXSW.DZSWJ.CSXT.QYSDSNDSBXXCX", "查询企业所得税年度申报信息"),
THREE_YEAR_INVOICE_SUMMARY("JXSW.DZSWJ.CSXT.CXFPHZXX", "查询近三年发票汇总"),
INDUSTRIAL_COMMERCIAL_REGISTRATION("JXSW.DZSWJ.CSXT.GSDJKYXXCX","查询工商登记信息"),
;
private final String id;

View File

@ -1,12 +1,15 @@
package com.kakarote.crm.controller;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.PO.CrmUserAnalyse;
import com.kakarote.crm.entity.VO.CrmV3SysRiskDataExposedVo;
import com.kakarote.crm.service.ICrmQyfxjcjgService;
import com.kakarote.crm.service.ICrmUserAnalyseService;
import com.kakarote.crm.service.ICrmQyfxjcjgZbmxService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
@RestController
@RequestMapping("/crmGetV3Data")
@ -35,5 +38,11 @@ public class CrmGetV3SysRiskDataController {
public Result getTaxPreCheckUsage() throws IOException {
return Result.ok(iCrmUserAnalyseService.addUserAnalyse());
}
@PostMapping("/syncTaxPreCheckUsageByMonth/{month}")
@ApiOperation("根据月份同步税务预检使用情况信息")
public Result<List<CrmUserAnalyse>> syncTaxPreCheckUsageByMonth(@PathVariable String month){
return Result.ok(iCrmUserAnalyseService.syncTaxPreCheckUsageByMonth(month));
}
}

View File

@ -0,0 +1,33 @@
package com.kakarote.crm.controller;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.DTO.CrmQueryGsdjxxDTO;
import com.kakarote.crm.entity.PO.CrmGsdjxx;
import com.kakarote.crm.entity.VO.CrmQueryGsdjxxVO;
import com.kakarote.crm.service.ICrmGsdjxxService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/crmGsdjxx")
public class CrmGsdjxxController {
@Autowired
private ICrmGsdjxxService iCrmGsdjxxService;
@PostMapping("/queryByMonthAndXzqhDm")
@ApiOperation("根据月份和行政区划代码查询工商登记信息")
public Result<List<CrmQueryGsdjxxVO>> queryByMonthAndXzqhDm(@RequestBody CrmQueryGsdjxxDTO crmQueryGsdjxxDTO) throws Exception {
List<CrmQueryGsdjxxVO> crmQueryGsdjxxVOList = iCrmGsdjxxService.queryByMonthAndXzqhDm(crmQueryGsdjxxDTO);
return R.ok(crmQueryGsdjxxVOList);
}
}

View File

@ -0,0 +1,29 @@
package com.kakarote.crm.entity.DTO;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Getter
@Setter
@Accessors(chain = true)
public class CrmQueryGsdjxxDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 登记序号
private String yf;
// 评价年度
private String xzqhDm;
@Override
public String toString() {
return "{" +
"yf:'" + yf + '\'' +
", xzqhDm:'" + xzqhDm + '\'' +
'}';
}
}

View File

@ -0,0 +1,172 @@
package com.kakarote.crm.entity.PO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kakarote.core.security.converter.SensitiveDataConverter;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.ibatis.type.JdbcType;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wk_crm_gsdjxx")
@ApiModel(value="CrmGsdjxx对象", description="工商登记开业信息")
public class CrmGsdjxx implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 工商登记信息ID主键
*/
@TableId(value = "gxdjxx_id", type = IdType.AUTO)
private Integer gxdjxxId; // 对应SQL: gxdjxx_id
/**
* 行政区划代码
*/
private String xzqhDm; // 对应SQL: xzqh_dm
/**
* 月份格式yyyy-MM
*/
private String yf; // 对应SQL: yf
/**
* 统一社会信用代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String tyshxydm; // 对应SQL: tyshxydm
/**
* 企业名称
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrmc; // 对应SQL: nsrmc
/**
* 登记注册类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djzclxDm; // 对应SQL: djzclx_dm
/**
* 开业日期格式yyyy-MM-dd
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String kyrq; // 对应SQL: kyrq
/**
* 证照号码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zzhm; // 对应SQL: zzhm
/**
* 法人姓名
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrxm; // 对应SQL: fddbrxm
/**
* 法人证件类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrsfzjlxDm; // 对应SQL: fddbrsfzjlx_dm
/**
* 法人证件号码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrsfzjhm; // 对应SQL: fddbrsfzjhm
/**
* 法人固定电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrgddh; // 对应SQL: fddbrgddh
/**
* 法人移动电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbryddh; // 对应SQL: fddbryddh
/**
* 财务负责人姓名
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzrxm; // 对应SQL: cwfzrxm
/**
* 财务负责人证件号码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzrsfzjhm; // 对应SQL: cwfzrsfzjhm
/**
* 财务固定电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzrgddh; // 对应SQL: cwfzrgddh
/**
* 财务移动电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzryddh; // 对应SQL: cwfzryddh
/**
* 生产经营地址
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String scjydz; // 对应SQL: scjydz
/**
* 生产经营地区划代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String scjydzxzqhszDm; // 对应SQL: scjydzxzqhsz_dm
/**
* 生产经营地联系电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String scjydlxdh; // 对应SQL: scjydlxdh
/**
* 生产经营地邮政编码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String scjydyzbm; // 对应SQL: scjydyzbm
/**
* 国标行业代码GB/T 4754
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String hyDm; // 对应SQL: hy_dm
/**
* 从业人数
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cyrs; // 对应SQL: cyrs
/**
* 批准设立机构名称
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String pzsljgmc; // 对应SQL: pzsljgmc
/**
* 经营范围
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jyfw; // 对应SQL: jyfw
}

View File

@ -0,0 +1,121 @@
package com.kakarote.crm.entity.VO;
import lombok.Data;
import java.io.Serializable;
@Data
public class CrmQueryGsdjxxVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 统一社会信用代码
*/
private String tyshxydm; // 对应SQL: tyshxydm
/**
* 企业名称
*/
private String nsrmc; // 对应SQL: nsrmc
/**
* 登记注册类型代码
*/
private String djzclxDm; // 对应SQL: djzclx_dm
/**
* 开业日期格式yyyy-MM-dd
*/
private String kyrq; // 对应SQL: kyrq
/**
* 证照号码
*/
private String zzhm; // 对应SQL: zzhm
/**
* 法人姓名
*/
private String fddbrxm; // 对应SQL: fddbrxm
/**
* 法人证件类型代码
*/
private String fddbrsfzjlxDm; // 对应SQL: fddbrsfzjlx_dm
/**
* 法人证件号码
*/
private String fddbrsfzjhm; // 对应SQL: fddbrsfzjhm
/**
* 法人固定电话
*/
private String fddbrgddh; // 对应SQL: fddbrgddh
/**
* 法人移动电话
*/
private String fddbryddh; // 对应SQL: fddbryddh
/**
* 财务负责人姓名
*/
private String cwfzrxm; // 对应SQL: cwfzrxm
/**
* 财务负责人证件号码
*/
private String cwfzrsfzjhm; // 对应SQL: cwfzrsfzjhm
/**
* 财务固定电话
*/
private String cwfzrgddh; // 对应SQL: cwfzrgddh
/**
* 财务移动电话
*/
private String cwfzryddh; // 对应SQL: cwfzryddh
/**
* 生产经营地址
*/
private String scjydz; // 对应SQL: scjydz
/**
* 生产经营地区划代码
*/
private String scjydzxzqhszDm; // 对应SQL: scjydzxzqhsz_dm
/**
* 生产经营地联系电话
*/
private String scjydlxdh; // 对应SQL: scjydlxdh
/**
* 生产经营地邮政编码
*/
private String scjydyzbm; // 对应SQL: scjydyzbm
/**
* 国标行业代码GB/T 4754
*/
private String hyDm; // 对应SQL: hy_dm
/**
* 从业人数
*/
private String cyrs; // 对应SQL: cyrs
/**
* 批准设立机构名称
*/
private String pzsljgmc; // 对应SQL: pzsljgmc
/**
* 经营范围
*/
private String jyfw; // 对应SQL: jyfw
}

View File

@ -0,0 +1,15 @@
package com.kakarote.crm.mapper;
import com.kakarote.core.servlet.BaseMapper;
import com.kakarote.crm.entity.PO.CrmGsdjxx;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface CrmGsdjxxMapper extends BaseMapper<CrmGsdjxx> {
int insertBatch(@Param("list") List<CrmGsdjxx> list);
}

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kakarote.crm.mapper.CrmGsdjxxMapper">
<resultMap id="BaseResultMap" type="com.kakarote.crm.entity.PO.CrmGsdjxx">
<result column="gxdjxx_id" jdbcType="INTEGER" property="gxdjxxId" />
<result column="xzqh_dm" jdbcType="VARCHAR" property="xzqhDm" />
<result column="yf" jdbcType="VARCHAR" property="yf" />
<result column="tyshxydm" jdbcType="VARCHAR" property="tyshxydm" />
<result column="nsrmc" jdbcType="VARCHAR" property="nsrmc" />
<result column="djzclx_dm" jdbcType="VARCHAR" property="djzclxDm" />
<result column="kyrq" jdbcType="VARCHAR" property="kyrq" />
<result column="zzhm" jdbcType="VARCHAR" property="zzhm" />
<result column="fddbrxm" jdbcType="VARCHAR" property="fddbrxm" />
<result column="fddbrsfzjlx_dm" jdbcType="VARCHAR" property="fddbrsfzjlxDm" />
<result column="fddbrsfzjhm" jdbcType="VARCHAR" property="fddbrsfzjhm" />
<result column="fddbrgddh" jdbcType="VARCHAR" property="fddbrgddh" />
<result column="fddbryddh" jdbcType="VARCHAR" property="fddbryddh" />
<result column="cwfzrxm" jdbcType="VARCHAR" property="cwfzrxm" />
<result column="cwfzrsfzjhm" jdbcType="VARCHAR" property="cwfzrsfzjhm" />
<result column="cwfzrgddh" jdbcType="VARCHAR" property="cwfzrgddh" />
<result column="cwfzryddh" jdbcType="VARCHAR" property="cwfzryddh" />
<result column="scjydz" jdbcType="VARCHAR" property="scjydz" />
<result column="scjydzxzqhsz_dm" jdbcType="VARCHAR" property="scjydzxzqhszDm" />
<result column="scjydlxdh" jdbcType="VARCHAR" property="scjydlxdh" />
<result column="scjydyzbm" jdbcType="VARCHAR" property="scjydyzbm" />
<result column="hy_dm" jdbcType="VARCHAR" property="hyDm" />
<result column="cyrs" jdbcType="VARCHAR" property="cyrs" />
<result column="pzsljgmc" jdbcType="VARCHAR" property="pzsljgmc" />
<result column="jyfw" jdbcType="VARCHAR" property="jyfw" />
</resultMap>
<insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="gxdjxxId">
INSERT INTO wk_crm_gsdjxx (
xzqh_dm, yf, tyshxydm, nsrmc, djzclx_dm, kyrq, zzhm,
fddbrxm, fddbrsfzjlx_dm, fddbrsfzjhm, fddbrgddh, fddbryddh,
cwfzrxm, cwfzrsfzjhm, cwfzrgddh, cwfzryddh,
scjydz, scjydzxzqhsz_dm, scjydlxdh, scjydyzbm,
hy_dm, cyrs, pzsljgmc, jyfw
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.xzqhDm}, #{item.yf},
#{item.tyshxydm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.nsrmc, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.djzclxDm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.kyrq, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.zzhm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.fddbrxm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.fddbrsfzjlxDm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.fddbrsfzjhm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.fddbrgddh, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.fddbryddh, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.cwfzrxm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.cwfzrsfzjhm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.cwfzrgddh, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.cwfzryddh, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.scjydz, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.scjydzxzqhszDm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.scjydlxdh, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.scjydyzbm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.hyDm, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.cyrs, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.pzsljgmc, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter},
#{item.jyfw, typeHandler=com.kakarote.core.security.converter.SensitiveDataConverter}
)
</foreach>
</insert>
</mapper>

View File

@ -0,0 +1,17 @@
package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.DTO.CrmQueryGsdjxxDTO;
import com.kakarote.crm.entity.PO.CrmGsdjxx;
import com.kakarote.crm.entity.PO.CrmQyxxfp;
import com.kakarote.crm.entity.VO.CrmQueryGsdjxxVO;
import java.util.List;
public interface ICrmGsdjxxService extends BaseService<CrmGsdjxx> {
/**
* 根据月份行政区划代码查询工商登记信息
*/
List<CrmQueryGsdjxxVO> queryByMonthAndXzqhDm(CrmQueryGsdjxxDTO crmQueryGsdjxxDTO) throws Exception;
}

View File

@ -1,22 +1,23 @@
package com.kakarote.crm.service;
import com.alibaba.fastjson.JSONObject;
import com.kakarote.core.feign.crm.entity.BiParams;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.PO.CrmUserAnalyse;
import java.io.IOException;
import java.util.Map;
import java.util.List;
public interface ICrmUserAnalyseService extends BaseService<CrmUserAnalyse> {
/**
* 添加CrmUserAnalyse
* @return
*/
int addUserAnalyse() throws IOException;
/**
* 根据月份同步税务预检使用情况信息
* @param month
* @return
*/
List<CrmUserAnalyse> syncTaxPreCheckUsageByMonth(String month);
}

View File

@ -0,0 +1,119 @@
package com.kakarote.crm.service.impl;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.constant.CrmTaxServiceIdEnum;
import com.kakarote.crm.entity.DTO.CrmQueryGsdjxxDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmGsdjxx;
import com.kakarote.crm.entity.VO.CrmQueryGsdjxxVO;
import com.kakarote.crm.mapper.CrmGsdjxxMapper;
import com.kakarote.crm.service.ICrmGsdjxxService;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.util.WebServiceHandlerUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class CrmGsdjxxServiceImpl extends BaseServiceImpl<CrmGsdjxxMapper,CrmGsdjxx> implements ICrmGsdjxxService {
@Autowired
private CrmGsdjxxMapper crmGsdjxxMapper;
@Autowired
private TaxWebServiceConfig config;
private static final Log log = LogFactory.get();
@Override
public List<CrmQueryGsdjxxVO> queryByMonthAndXzqhDm(CrmQueryGsdjxxDTO crmQueryGsdjxxDTO) throws Exception {
QueryWrapper<CrmGsdjxx> wrapper = new QueryWrapper<CrmGsdjxx>().eq("yf", crmQueryGsdjxxDTO.getYf())
.eq("xzqh_dm", crmQueryGsdjxxDTO.getXzqhDm());
List<CrmGsdjxx> crmGsdjxxes = crmGsdjxxMapper.selectList(wrapper);
if (crmGsdjxxes != null && !crmGsdjxxes.isEmpty()) {
return convertListToVO(crmGsdjxxes);
}
String respJson = WebServiceHandlerUtil.connect(
CrmTaxServiceIdEnum.INDUSTRIAL_COMMERCIAL_REGISTRATION.getId(),
crmQueryGsdjxxDTO.toString(),
config
);
CrmWebServiceResponseDTO<List<CrmGsdjxx>> responseDTO = JsonUtil.toObject(
respJson,
new TypeReference<CrmWebServiceResponseDTO<List<CrmGsdjxx>>>() {}
);
List<CrmGsdjxx> crmGsdjxxList = responseDTO.getData();
return processAndSaveData(crmGsdjxxList, crmQueryGsdjxxDTO);
}
private CrmQueryGsdjxxVO convertToVO(CrmGsdjxx source) {
if (source == null) {
return null;
}
CrmQueryGsdjxxVO target = new CrmQueryGsdjxxVO();
// 同名字段直接赋值需严格匹配类型
target.setTyshxydm(source.getTyshxydm());
target.setNsrmc(source.getNsrmc());
target.setDjzclxDm(source.getDjzclxDm());
target.setKyrq(source.getKyrq());
target.setZzhm(source.getZzhm());
target.setFddbrxm(source.getFddbrxm());
target.setFddbrsfzjlxDm(source.getFddbrsfzjlxDm());
target.setFddbrsfzjhm(source.getFddbrsfzjhm());
target.setFddbrgddh(source.getFddbrgddh());
target.setFddbryddh(source.getFddbryddh());
target.setCwfzrxm(source.getCwfzrxm());
target.setCwfzrsfzjhm(source.getCwfzrsfzjhm());
target.setCwfzrgddh(source.getCwfzrgddh());
target.setCwfzryddh(source.getCwfzryddh());
target.setScjydz(source.getScjydz());
target.setScjydzxzqhszDm(source.getScjydzxzqhszDm());
target.setScjydlxdh(source.getScjydlxdh());
target.setScjydyzbm(source.getScjydyzbm());
target.setHyDm(source.getHyDm());
target.setCyrs(source.getCyrs());
target.setPzsljgmc(source.getPzsljgmc());
target.setJyfw(source.getJyfw());
return target;
}
private List<CrmQueryGsdjxxVO> convertListToVO(List<CrmGsdjxx> crmGsdjxxList) {
return crmGsdjxxList.stream()
.map(this::convertToVO)
.collect(Collectors.toList());
}
private List<CrmQueryGsdjxxVO> processAndSaveData(List<CrmGsdjxx> crmGsdjxxList,CrmQueryGsdjxxDTO crmQueryGsdjxxDTO) {
crmGsdjxxList.forEach(crmGsdjxx -> {
crmGsdjxx.setYf(crmQueryGsdjxxDTO.getYf());
crmGsdjxx.setXzqhDm(crmQueryGsdjxxDTO.getXzqhDm());
});
int inserted = crmGsdjxxMapper.insertBatch(crmGsdjxxList);
log.info("成功插入了" + inserted + "条数据");
return convertListToVO(crmGsdjxxList);
}
}

View File

@ -17,10 +17,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.ZoneId;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
@ -54,6 +51,37 @@ public class CrmUserAnalyseServiceImpl extends BaseServiceImpl<CrmUserAnalyseMap
return crmUserAnalyseMapper.insert(userAnalyse);
}
@Override
// yyyyMM
public List<CrmUserAnalyse> syncTaxPreCheckUsageByMonth(String month) {
DateTimeFormatter MONTH_FORMATTER = DateTimeFormatter.ofPattern("yyyyMM");
YearMonth yearMonth = YearMonth.parse(month, MONTH_FORMATTER);
List<LocalDate> dates = new ArrayList<>();
for (int day = 1; day <= yearMonth.lengthOfMonth(); day++) {
dates.add(yearMonth.atDay(day));
}
List<CrmUserAnalyse> crmUserAnalyses = new ArrayList<>();
dates.forEach(date->{
try {
CrmUserAnalyse analyse = getCrmUserAnalyse(date);
if (analyse != null) {
crmUserAnalyses.add(analyse);
crmUserAnalyseMapper.insert(analyse);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
});
return crmUserAnalyses;
}
public CrmUserAnalyse getCrmUserAnalyse(LocalDate queryDate) throws IOException {
String url = getUrl();
@ -70,7 +98,7 @@ public class CrmUserAnalyseServiceImpl extends BaseServiceImpl<CrmUserAnalyseMap
CrmTaxPreCheckUsageDTO dto = vo.getData();
//将Localdate转化为Date类型
//将LocalDate转化为Date类型
Date date = Date.from(queryDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
CrmUserAnalyse userAnalyse = new CrmUserAnalyse();