产品CRM税务接口API接入标准规范1.0

This commit is contained in:
ZZM 2025-07-30 10:32:27 +08:00
parent 86966e75d9
commit 39229c50aa
50 changed files with 1195 additions and 26 deletions

View File

@ -4,6 +4,7 @@ package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.DTO.CrmSyncNsrzgDTO;
import com.kakarote.crm.entity.PO.CrmNsrzg;
import com.kakarote.crm.service.ICrmNsrzgService;
import io.swagger.annotations.Api;
@ -12,6 +13,8 @@ import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/crmNsrzg")
@Api(tags = "纳税人资格信息")
@ -42,6 +45,13 @@ public class CrmNsrzgController {
return R.ok(nsrzg);
}
@PostMapping("/syncDataByDjxh")
@ApiOperation("根据登记序号同步WebService数据至数据库")
public Result<List<CrmNsrzg>> syncDataByDjxh(@RequestBody CrmSyncNsrzgDTO crmSyncNsrzgDTO) throws Exception {
List<CrmNsrzg> crmNsrzgs = crmNsrzgService.syncDataByDjxh(crmSyncNsrzgDTO);
return R.ok(crmNsrzgs);
}
@PostMapping("/add")
@ApiOperation("保存数据")

View File

@ -4,6 +4,7 @@ package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.DTO.CrmSyncQycbrsDTO;
import com.kakarote.crm.entity.PO.CrmQycbrs;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
import com.kakarote.crm.service.ICrmQycbrsService;
@ -23,6 +24,14 @@ public class CrmQycbrsController {
@Autowired
private ICrmQycbrsService crmQycbrsService;
@PostMapping("/syncDataByDjxhAndYf")
@ApiOperation("根据登记序号和月份同步WebService数据至数据库")
@ParamAspect
public Result<List<CrmQycbrs>> syncDataByDjxhAndYf(@RequestBody CrmSyncQycbrsDTO crmSyncQycbrsDTO) throws Exception {
List<CrmQycbrs> crmQycbrs = crmQycbrsService.syncDataByDjxhAndYf(crmSyncQycbrsDTO);
return R.ok(crmQycbrs);
}
@PostMapping("/queryById/{qycbrsId}")
@ApiOperation("根据ID查询")
@ParamAspect

View File

@ -3,6 +3,7 @@ package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.DTO.CrmSyncQyfxmxDTO;
import com.kakarote.crm.entity.PO.CrmQyfxmx;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
import com.kakarote.crm.service.ICrmQyfxmxService;
@ -22,6 +23,13 @@ public class CrmQyfxmxController {
@Autowired
private ICrmQyfxmxService crmQyfxmxService;
@PostMapping("/syncDataByDjxhAndPjnd")
@ApiOperation("根据登记序号和评价年度同步WebService数据至数据库")
public Result<List<CrmQyfxmx>> syncDataByDjxhAndPjnd(@RequestBody CrmSyncQyfxmxDTO crmSyncQyfxmxDTO) throws Exception {
List<CrmQyfxmx> crmQyfxmxList = crmQyfxmxService.syncDataByDjxhAndPjnd(crmSyncQyfxmxDTO);
return R.ok(crmQyfxmxList);
}
@PostMapping("/queryById/{qyzbmxId}")
@ApiOperation("根据ID查询")
@ParamAspect

View File

@ -3,11 +3,8 @@ package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.core.common.SubModelType;
import com.kakarote.core.common.log.SysLog;
import com.kakarote.crm.common.CrmModel;
import com.kakarote.crm.common.log.CrmProductLog;
import com.kakarote.crm.entity.BO.QyjbxxBo;
import com.kakarote.crm.entity.DTO.CrmSyncQyjbxxDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.service.ICrmQyjbxxService;
import io.swagger.annotations.Api;
@ -16,13 +13,22 @@ import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/crmQyjbxx")
@Api(tags = "企业基本信息")
public class CrmQyjbxxController {
@Autowired
private ICrmQyjbxxService crmQyjbxxService;
@PostMapping("/syncDataBySwjgdmAndTime")
@ApiOperation("根据事务机关代码和起止时间同步WebService数据至数据库")
public Result<List<CrmQyjbxx>> syncDataBySwjgdmAndTime(@RequestBody CrmSyncQyjbxxDTO crmSyncQyjbxxDTO) throws Exception {
List<CrmQyjbxx> crmQyjbxxList = crmQyjbxxService.syncDataBySwjgdmAndTime(crmSyncQyjbxxDTO);
return R.ok(crmQyjbxxList);
}
@PostMapping("/queryById/{qyId}")
@ApiOperation("根据ID查询")

View File

@ -3,6 +3,7 @@ package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.DTO.CrmSyncQyjxfpAndQyxxfpDTO;
import com.kakarote.crm.entity.PO.CrmQyjxfp;
import com.kakarote.crm.entity.VO.CrmMergeListVO;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
@ -21,6 +22,14 @@ public class CrmQyjxfpController {
@Autowired
private ICrmQyjxfpService crmQyjxfpService;
@PostMapping("/syncDataByShxydm")
@ApiOperation("根据社会信用代码同步WebService数据至数据库")
public Result<CrmMergeListVO> syncDataByShxydm(@RequestBody CrmSyncQyjxfpAndQyxxfpDTO dto) throws Exception {
CrmMergeListVO crmMergeListVO = crmQyjxfpService.syncDataByShxydm(dto);
return R.ok(crmMergeListVO);
}
@PostMapping("/queryById/{qyjxfpId}")
@ApiOperation("根据ID查询")
@ParamAspect

View File

@ -4,6 +4,7 @@ package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.DTO.CrmSyncDataQynsrdjDTO;
import com.kakarote.crm.entity.PO.CrmQynsrdj;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
import com.kakarote.crm.service.ICrmQynsrdjService;
@ -23,6 +24,15 @@ public class CrmQynsrdjController {
@Autowired
private ICrmQynsrdjService crmQynsrdjService;
@PostMapping("/syncDataByDjxhAndPjnd")
@ApiOperation("根据登记序号和评价年度同步WebService数据至数据库")
public Result<CrmQynsrdj> syncDataByDjxhAndPjnd(@RequestBody CrmSyncDataQynsrdjDTO crmSyncDataQynsrdjDTO) throws Exception {
CrmQynsrdj qynsrdj = crmQynsrdjService.syncDataByDjxhAndPjnd(crmSyncDataQynsrdjDTO);
return R.ok(qynsrdj);
}
@PostMapping("/queryById/{qynsrdjId}")
@ApiOperation("根据ID查询")
@ParamAspect

View File

@ -3,6 +3,7 @@ package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.DTO.CrmSyncQysdsndsbDTO;
import com.kakarote.crm.entity.PO.CrmQysdsndsb;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
import com.kakarote.crm.service.ICrmQysdsndsbService;
@ -22,6 +23,15 @@ public class CrmQysdsndsbController {
@Autowired
private ICrmQysdsndsbService crmQysdsndsbService;
@PostMapping("/syncDataByDjxhAndNd")
@ApiOperation("根据登记序号以及年度同步WebService数据至数据库")
@ParamAspect
public Result<List<CrmQysdsndsb>> syncDataByDjxhAndNd(@RequestBody CrmSyncQysdsndsbDTO crmSyncQysdsndsbDTO) throws Exception {
List<CrmQysdsndsb> qysdsndsbList = crmQysdsndsbService.syncDataByDjxhAndNd(crmSyncQysdsndsbDTO);
return R.ok(qysdsndsbList);
}
@PostMapping("/queryById/{qysdsndsbId}")
@ApiOperation("根据ID查询")
@ParamAspect
@ -38,7 +48,7 @@ public class CrmQysdsndsbController {
}
@PostMapping("/queryByDjxhAndTime")
@ApiOperation("根据纳税人识别号和年度(选填)查询")
@ApiOperation("根据登记序号和年度(选填)查询")
public Result<List<CrmQysdsndsb>> queryByDjxhAndTime(@RequestBody CrmParamAndTimeVO vo) {
List<CrmQysdsndsb> qysdsndsbList = crmQysdsndsbService.getQysdsndsbListByDjxhAndTime(vo);
return R.ok(qysdsndsbList);

View File

@ -3,6 +3,7 @@ package com.kakarote.crm.controller;
import com.kakarote.core.common.ParamAspect;
import com.kakarote.core.common.R;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.DTO.CrmSyncSwjgDTO;
import com.kakarote.crm.entity.PO.CrmSwjg;
import com.kakarote.crm.service.ICrmSwjgService;
import io.swagger.annotations.Api;
@ -11,14 +12,24 @@ import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/swjg")
@RequestMapping("/crmSwjg")
@Api(tags = "税务机关信息")
public class CrmSwjgController {
@Autowired
private ICrmSwjgService crmSwjgService;
@PostMapping("/syncDataBySwjgDmAndSjswjgDm")
@ApiOperation("根据税务机构代码同步WebService数据至数据库")
public Result<List<CrmSwjg>> syncDataBySwjgDmAndSjswjgDm(@RequestBody CrmSyncSwjgDTO crmSyncSwjgDTO) throws Exception {
List<CrmSwjg> crmSwjgs = crmSwjgService.syncDataBySwjgDmAndSjswjgDm(crmSyncSwjgDTO);
return R.ok(crmSwjgs);
}
@PostMapping("/queryById/{swjgId}")
@ApiOperation("根据ID查询")
@ParamAspect

View File

@ -0,0 +1,21 @@
package com.kakarote.crm.entity.BO;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.kakarote.crm.entity.PO.CrmQyjxfp;
import com.kakarote.crm.entity.PO.CrmQyxxfp;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class CrmAddMergeListBO implements Serializable {
// 企业销项发票
@JsonProperty("xxhzList")
private List<CrmQyxxfp> xxhzList;
// 企业进项发票
@JsonProperty("jxhzList")
private List<CrmQyjxfp> jxhzList;
}

View File

@ -0,0 +1,31 @@
package com.kakarote.crm.entity.BO;
import cn.hutool.core.date.DateTime;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
public class CrmQueryQyfxmxBO {
// 登记序号
private String djxh;
// 开始时间
private String fxscsjq;
// 结束时间
private String fxscsjz;
@Override
public String toString() {
return "{" +
"djxh:'" + djxh + '\'' +
", fxscsjq:'" + fxscsjq + '\'' +
", fxscsjz:'" + fxscsjz + '\'' +
'}';
}
}

View File

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

View File

@ -0,0 +1,23 @@
package com.kakarote.crm.entity.DTO;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class CrmSyncNsrzgDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 登记序号
private String djxh;
@Override
public String toString() {
return "{" +
"djxh:'" + djxh + '\'' +
'}';
}
}

View File

@ -0,0 +1,27 @@
package com.kakarote.crm.entity.DTO;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class CrmSyncQycbrsDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 月份
private String yf;
// 登记序号
private String djxh;
@Override
public String toString() {
return "{" +
"yf:'" + yf + '\'' +
", djxh:'" + djxh + '\'' +
'}';
}
}

View File

@ -0,0 +1,17 @@
package com.kakarote.crm.entity.DTO;
import lombok.Data;
import java.io.Serializable;
@Data
public class CrmSyncQyfxmxDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 登记序号
private String djxh;
// 评价年度
private String pjnd;
}

View File

@ -0,0 +1,31 @@
package com.kakarote.crm.entity.DTO;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class CrmSyncQyjbxxDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 区县税务机关代码
private String swjgdm;
// 查询起始时间
private String cxrqq;
// 查询终止时间
private String cxrqz;
@Override
public String toString() {
return "{" +
"swjgdm:'" + swjgdm + '\'' +
", cxrqq:'" + cxrqq + '\'' +
", cxrqz:'" + cxrqz + '\'' +
'}';
}
}

View File

@ -0,0 +1,23 @@
package com.kakarote.crm.entity.DTO;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class CrmSyncQyjxfpAndQyxxfpDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 社会信用代码
private String shxydm;
@Override
public String toString() {
return "{" +
"shxydm:'" + shxydm + '\'' +
'}';
}
}

View File

@ -0,0 +1,26 @@
package com.kakarote.crm.entity.DTO;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class CrmSyncQysdsndsbDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 登记序号
private String djxh;
// 年度
private String nd;
@Override
public String toString() {
return "{" +
"djxh:'" + djxh + '\'' +
", nd:'" + nd + '\'' +
'}';
}
}

View File

@ -0,0 +1,28 @@
package com.kakarote.crm.entity.DTO;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class CrmSyncSwjgDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 税务机关代码(必填)
private String swjgdm;
// 上级税务机关代码(选填)
private String sjswjgdm;
@Override
public String toString() {
return "{" +
"swjgdm:'" + swjgdm + '\'' +
", sjswjgdm:'" + sjswjgdm + '\'' +
'}';
}
}

View File

@ -0,0 +1,12 @@
package com.kakarote.crm.entity.DTO;
import lombok.Data;
@Data
public class CrmWebServiceResponseDTO<T> {
private int code;
private String msg;
private T data;
}

View File

@ -1,12 +1,15 @@
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;
import java.util.Date;
@ -29,55 +32,72 @@ public class CrmNsrzg implements Serializable {
/**
* 认定凭证UUID
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String rdpzuuid;
/**
* 登记序号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djxh;
/**
* 流程实例ID
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String lcslid;
/**
* 纳税人资格类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrzglxDm;
/**
* 有效期起
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yxqq;
/**
* 有效期止
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yxqz;
/**
* 数据终止日期
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String sjzzrq;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createBy;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;
@TableField(exist = false)
private String zfbz1;
@TableField(exist = false)
private String qxbz;
}

View File

@ -1,12 +1,15 @@
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;
import java.util.Date;
@ -29,35 +32,42 @@ public class CrmQycbrs implements Serializable {
/**
* 月份
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yf;
/**
* 参保人数
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cbrs;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createUp;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;
/**
* 登记序号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djxh;
}

View File

@ -2,12 +2,15 @@ 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;
import java.util.Date;
@ -30,41 +33,61 @@ public class CrmQyfxmx implements Serializable {
/**
* 月份
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yf;
/**
* 风险指标代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fxzbDm;
/**
* 风险描述
*/
private String fxmx;
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fxms;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createBy;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;
/**
* 登记序号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djxh;
/**
* 纳税人名称
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrmc;
/**
* 纳税人识别号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrsbh;
}

View File

@ -1,12 +1,15 @@
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;
import java.util.Date;
@ -34,406 +37,487 @@ public class CrmQyjbxx implements Serializable {
/**
* 企业登记序号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djxh;
/**
* 纳税人识别号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrsbh;
/**
* 纳税人名称
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrmc;
/**
* 课征主体登记类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String kzztdjlxDm;
/**
* 登记注册类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djzclxDm;
/**
* 生产经营地址
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String scjydz;
/**
* 生产经营地址行政区划数字代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String scjydzxzqhszDm;
/**
* 纳税人状态代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nsrztDm;
/**
* 行业代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String hyDm;
/**
* 注册地址
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zcdz;
/**
* 注册地址行政区划数字代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zcdzxzqhszDm;
/**
* 街道乡镇代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jdxzDm;
/**
* 单位隶属关系代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String dwlsgxDm;
/**
* 登记日期
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djrq;
/**
* 跨区财产税主体登记标志
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String kqccsztdjbz;
/**
* 主管税务局代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zgswjDm;
/**
* 主管税务所分局代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zgswskfjDm;
/**
* shxydm
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String shxydm;
/**
* 税收管理员代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String ssglyDm;
/**
* 非居民企业标志
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fjmqybz;
/**
* 有效标志
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yxbz;
/**
* 工商注销日期
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String gszxrq;
/**
* 企业划型类别
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String qyhxlbDm;
/**
* 企业划型来源
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String qyhxly;
/**
* 经营范围
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jyfw;
/**
* 注册地联系电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zcdlxdh;
/**
* 注册地邮政编码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zcdyzbm;
/**
* 生产经营地联系电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String scjydlxdh;
/**
* 生产经营地邮政编码生产经营地邮政编码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String scjydyzbm;
/**
* 核算方式代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String hsfsDm;
/**
* 从业人数
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cyrs;
/**
* 外籍从业人数
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String wjcyrs;
/**
* 合伙人数
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String hhrs;
/**
* 雇工人数
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String ggrs;
/**
* 固定工人数
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String gdgrs;
/**
* 组织机构类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zzjglxDm;
/**
* 会计制度准则代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String kjzdzzDm;
/**
* 税务代理人联系电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String swdlrlxdh;
/**
* 税务代理人电子信箱
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String swdlrdzxx;
/**
* 注册资本
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zczb;
/**
* 投资总额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String tzze;
/**
* 自然人投资比例
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zrrtzbl;
/**
* 外资投资比例
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String wztzbl;
/**
* 国有投资比例
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String gytzbl;
/**
* 国有控股类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String gykglxDm;
/**
* 总分机构类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zfjglxDm;
/**
* 法定代表人姓名
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrxm;
/**
* 法定代表人身份证件类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrsfzjlxDm;
/**
* 法定代表人身份证号码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrsfzjhm;
/**
* 法定代表人固定电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrgddh;
/**
* 法定代表人移动电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbryddh;
/**
* 法定代表人电子信箱
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String fddbrdzxx;
/**
* 财务负责人姓名
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzrxm;
/**
* 财务负责人身份证件种类代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzrsfzjzlDm;
/**
* 财务负责人身份证件号码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzrsfzjhm;
/**
* 财务负责人固定电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzrgddh;
/**
* 财务负责人移动电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzryddh;
/**
* 财务负责人电子信箱
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfzrdzxx;
/**
* 办税人姓名
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bsrxm;
/**
* 办税人身份证件种类代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bsrsfzjzlDm;
/**
* 办税人身份证件号码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bsrsfzjhm;
/**
* 办税人固定电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bsrgddh;
/**
* 办税人移动电话
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bsryddh;
/**
* 办税人电子信箱
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bsrdzxx;
/**
* 临时税务登记有效期起
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String lsswdjyxqq;
/**
* 临时税务登记有效期止
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String lsswdjyxqz;
/**
* 税务代理人纳税人识别号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String swdlrnsrsbh;
/**
* 税务代理人名称
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String swdlrmc;
/**
* 文化事业建设费缴费信息登记标志
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String whsyjsfjfxxdjbz;
/**
* 增值税经营类别
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zzsjylb;
/**
* 印花税缴纳方式代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yhsjnfsDm;
/**
* 征收项目城乡标志代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zsxmcxbzDm;
/**
* 增值税企业类型代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zzsqylxDm;
/**
* 国家或地区数字代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String gjhdqszDm;
/**
* 企业管理层级编号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String qyglcjbh;
/**
* 企业所属集团代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String qyssjtDm;
/**
* 受托方社会信用代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String stfshxydm;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createBy;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;
}

View File

@ -0,0 +1,57 @@
package com.kakarote.crm.entity.PO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;
import java.io.Serializable;
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class CrmQyjbxxDjrqDetail extends CrmQyjbxx implements Serializable {
private static final long serialVersionUID = 1L;
@JsonProperty("djrq")
@TableField(exist = false)
private DjrqDetail djrqDetail;
@Data
public static class DjrqDetail implements Serializable {
private static final long serialVersionUID = 1L;
//
private String year;
//
private String month;
// 星期
private String day;
// 日期
private String date;
//
private String hours;
//
private String minutes;
//
private String seconds;
//
private String nanos;
// 时间戳
private String time;
// 时区
private String timezoneOffset;
}
}

View File

@ -1,12 +1,16 @@
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.fasterxml.jackson.annotation.JsonProperty;
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;
import java.util.Date;
@ -30,46 +34,58 @@ public class CrmQyjxfp implements Serializable {
/**
* 年度
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nd;
/**
* 不含税金额
*/
@JsonProperty("jxbhsje")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jxBhsje;
/**
* 进税金额
*/
@JsonProperty("jxse")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jxSe;
/**
* 进项价税合计
*/
@JsonProperty("jxjshj")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jxJshj;
/**
* 社会信用代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String shxydm;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createBy;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;

View File

@ -1,12 +1,15 @@
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;
import java.util.Date;
@ -29,35 +32,42 @@ public class CrmQynsrdj implements Serializable {
/**
* 登记序号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djxh;
/**
* 评价年度
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String pjnd;
/**
* 评价等级
*/
private String pjjb;
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String pjjg;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createBy;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;
}

View File

@ -1,19 +1,21 @@
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.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.ibatis.type.JdbcType;
import java.io.Serializable;
import java.util.Date;
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wk_crm_qysdsndsb")
@ -31,245 +33,294 @@ public class CrmQysdsndsb implements Serializable {
/**
* 登记序号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String djxh;
/**
* 年度
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nd;
/**
* UUID
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String uuid;
/**
* 申报UUID
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String sbuuid;
/**
* 税款所属期起
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String skssqq;
/**
* 税款所属期止
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String skssqz;
/**
* 凭证序号
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String pzxh;
/**
* 营业收入
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yysr;
/**
* 营业成本
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yycb;
/**
* 营业税金及附加
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yysjFj;
/**
* 销售费用
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String xsfy;
/**
* 管理费用
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String glfy;
/**
* 财务费用
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String cwfy;
/**
* 资产减值损失
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zcjzss;
/**
* 公允价值变动收益
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String gyjzbdsy;
/**
* 投资收益
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String tzsy;
/**
* 营业利润
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yylr;
/**
* 营业外收入
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yywsr;
/**
* 营业外支出
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yywzc;
/**
* 利润总额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String lrze;
/**
* 境外所得金额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jwsdje;
/**
* 纳税调整增加额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nstzzje;
/**
* 纳税调整减少额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nstzjse;
/**
* :免税减计收入以及加计扣除
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String msjjsrjjjkc;
/**
* :境外应税所得抵减境内亏损
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jwyssddjjnks;
/**
* 纳税调整后所得
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nstzhsd;
/**
* :所得减免
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String sdjm;
/**
* 抵扣应纳税所得额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String dkynssde;
/**
* 弥补以前年度亏损
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String mbyqndks;
/**
* 应纳税所得额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String ynssde;
/**
* 税率
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String sl1;
/**
* 应纳所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String ynsdse;
/**
* 免所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jmsdse;
/**
* 抵免所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String dmsdse;
/**
* 应纳税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String ynse;
/**
* 境外所得应纳所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jwsdynsdse;
/**
* :境外所得抵免所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jwsddmsdse;
/**
* 实际应纳所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String sjynsdse;
/**
* 本年累计实际已预缴的所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bnljsjyyjSdse;
/**
* 本年应补退的所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bnybtSdse;
/**
* 总机构分摊本年应补退所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zjgftbnybtsdse;
/**
* 财政集中分配本年应补退所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String czjzfpbnybtsdse;
/**
* 总机构主体生产经营部门分摊本年应补退所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String zjgztscjybmftbnybtsdse;
/**
* 以前年度多缴的所得税额在本年抵减额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yqnddjSdseBndje;
/**
* 以前年度应缴未缴在本年入库所得税额
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yqndYjwjzbnrksdse;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createBy;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;
}

View File

@ -1,12 +1,16 @@
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.fasterxml.jackson.annotation.JsonProperty;
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;
import java.util.Date;
@ -29,55 +33,71 @@ public class CrmQyxxfp implements Serializable {
/**
* 年度
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String nd;
/**
* 销项不含税金额
*/
@JsonProperty("xxbhsje")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String xxBhsje;
/**
* 销项税额
*/
@JsonProperty("xxse")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String xxSe;
/**
* 销项价税合计
*/
@JsonProperty("xxjshj")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String xxJshj;
/**
* 销项年开票数量
*/
@JsonProperty("xxkpsl")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String xxKpsl;
/**
* 销项年最大开票额
*/
@JsonProperty("xxzdkpe")
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String xxZdkpe;
/**
* 社会信用代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String shxydm;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createBy;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;
}

View File

@ -1,12 +1,15 @@
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;
import java.util.Date;
@ -29,70 +32,84 @@ public class CrmSwjg implements Serializable {
/**
* 税务机关名称
*/
private String wjgmc;
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String swjgmc;
/**
* 税务机关代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String swjgDm;
/**
* 税务机关简称
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String swjgjc;
/**
* 上级税务机关代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String sjswjgDm;
/**
* 机构级次代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String jgjcDm;
/**
* 行政区划数字代码
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String xzqhszDm;
/**
* 选用标志
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String xybz;
/**
* 有效标志
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String yxbz;
/**
* 办税服务厅标志
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String bsfwtbz;
/**
* 客户标志
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String ghbz;
/**
* 创建时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date createTime;
/**
* 创建人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String createBy;
/**
* 更新时间
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private Date updateTime;
/**
* 更新人
*/
@TableField(typeHandler = SensitiveDataConverter.class, jdbcType = JdbcType.VARCHAR)
private String updateBy;
}

View File

@ -1,5 +1,6 @@
package com.kakarote.crm.entity.VO;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.kakarote.crm.entity.PO.CrmQyjxfp;
import com.kakarote.crm.entity.PO.CrmQyxxfp;
import lombok.Data;
@ -10,8 +11,8 @@ import java.util.List;
public class CrmMergeListVO {
//企业进项发票集合
private List<CrmQyjxfp> qyjxfpList;
private List<CrmQyjxfp> jxfpList;
//企业销项发票集合
private List<CrmQyxxfp> qyxxfpList;
private List<CrmQyxxfp> xxfpList;
}

View File

@ -5,10 +5,13 @@
<result column="qyzbmx_id" jdbcType="INTEGER" property="qyzbmxId" />
<result column="yf" jdbcType="VARCHAR" property="yf" />
<result column="fxzb_dm" jdbcType="VARCHAR" property="fxzbDm" />
<result column="fxmx" jdbcType="VARCHAR" property="fxmx" />
<result column="fxms" jdbcType="VARCHAR" property="fxms" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="creat_by" jdbcType="VARCHAR" property="createBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="djxh" jdbcType="VARCHAR" property="djxh" />
<result column="nsrmc" jdbcType="VARCHAR" property="nsrmc" />
<result column="upnsrsbhdate_by" jdbcType="VARCHAR" property="nsrsbh" />
</resultMap>
</mapper>

View File

@ -5,7 +5,7 @@
<result column="qynsxydj_id" jdbcType="INTEGER" property="qynsxydjId" />
<result column="djxh" jdbcType="VARCHAR" property="djxh" />
<result column="pjnd" jdbcType="VARCHAR" property="pjnd" />
<result column="pjjb" jdbcType="VARCHAR" property="pjjb" />
<result column="pjjg" jdbcType="VARCHAR" property="pjjg" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="creat_by" jdbcType="VARCHAR" property="createBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />

View File

@ -3,7 +3,7 @@
<mapper namespace="com.kakarote.crm.mapper.CrmSwjgMapper">
<resultMap id="BaseResultMap" type="com.kakarote.crm.entity.PO.CrmSwjg">
<result column="swjg_id" jdbcType="INTEGER" property="swjgId" />
<result column="wjgmc" jdbcType="VARCHAR" property="wjgmc" />
<result column="swjgmc" jdbcType="VARCHAR" property="swjgmc" />
<result column="swjg_dm" jdbcType="VARCHAR" property="swjgDm" />
<result column="swjgjc" jdbcType="VARCHAR" property="swjgjc" />
<result column="sjswjg_dm" jdbcType="VARCHAR" property="sjswjgDm" />

View File

@ -1,5 +1,6 @@
package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.DTO.CrmSyncNsrzgDTO;
import com.kakarote.crm.entity.PO.CrmNsrzg;
import java.util.List;
@ -50,4 +51,11 @@ public interface ICrmNsrzgService extends BaseService<CrmNsrzg> {
* @return
*/
CrmNsrzg getNsrzgByDjxh(String djxh);
/**
* 根据登记序号查询纳税人资格信息(WebService)
* @param crmSyncNsrzgDTO
* @return
*/
List<CrmNsrzg> syncDataByDjxh(CrmSyncNsrzgDTO crmSyncNsrzgDTO) throws Exception;
}

View File

@ -1,6 +1,7 @@
package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.DTO.CrmSyncQycbrsDTO;
import com.kakarote.crm.entity.PO.CrmQycbrs;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
@ -53,4 +54,11 @@ public interface ICrmQycbrsService extends BaseService<CrmQycbrs> {
* @return
*/
List<CrmQycbrs> getQycbrsListByDjxhAndTime(CrmParamAndTimeVO vo);
/**
* 根据登记序号和月份(选填)查询企业参保人数信息列表(WebService)
* @param crmSyncQycbrsDTO
* @return
*/
List<CrmQycbrs> syncDataByDjxhAndYf(CrmSyncQycbrsDTO crmSyncQycbrsDTO) throws Exception;
}

View File

@ -1,6 +1,7 @@
package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.DTO.CrmSyncQyfxmxDTO;
import com.kakarote.crm.entity.PO.CrmQyfxmx;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
@ -54,4 +55,12 @@ public interface ICrmQyfxmxService extends BaseService<CrmQyfxmx> {
* @return
*/
List<CrmQyfxmx> getQyfxmxListByDjxhAndTime(CrmParamAndTimeVO vo);
/**
* 通过登记序号和评价年度查询企业风险明细信息列表
* @param crmSyncQyfxmxDTO
* @return
*/
List<CrmQyfxmx> syncDataByDjxhAndPjnd(CrmSyncQyfxmxDTO crmSyncQyfxmxDTO) throws Exception;
}

View File

@ -3,6 +3,7 @@ package com.kakarote.crm.service;
//借鉴
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.BO.QyjbxxBo;
import com.kakarote.crm.entity.DTO.CrmSyncQyjbxxDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import java.util.List;
@ -53,4 +54,12 @@ public interface ICrmQyjbxxService extends BaseService<CrmQyjbxx> {
* @return
*/
List<CrmQyjbxx> getQyjbxxList(CrmQyjbxx crmQyjbxx);
/**
* 根据税务机关代码和起止时间查询企业基本信息列表
* @param crmSyncQyjbxxDTO
* @return
*/
List<CrmQyjbxx> syncDataBySwjgdmAndTime(CrmSyncQyjbxxDTO crmSyncQyjbxxDTO) throws Exception;
}

View File

@ -1,6 +1,7 @@
package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.DTO.CrmSyncQyjxfpAndQyxxfpDTO;
import com.kakarote.crm.entity.PO.CrmQyjxfp;
import com.kakarote.crm.entity.VO.CrmMergeListVO;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
@ -55,4 +56,12 @@ public interface ICrmQyjxfpService extends BaseService<CrmQyjxfp> {
* @return
*/
CrmMergeListVO getMergeListByShxydmAndTime(CrmParamAndTimeVO vo);
/**
* 通过社会信用代码,查询企业进项发票和企业销项发票信息列表(WebService)
* @param dto
* @return
*/
CrmMergeListVO syncDataByShxydm(CrmSyncQyjxfpAndQyxxfpDTO dto) throws Exception;
}

View File

@ -1,6 +1,7 @@
package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.DTO.CrmSyncDataQynsrdjDTO;
import com.kakarote.crm.entity.PO.CrmQynsrdj;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
@ -54,4 +55,11 @@ public interface ICrmQynsrdjService extends BaseService<CrmQynsrdj> {
* @return
*/
List<CrmQynsrdj> getQynsrdjListByDjxhAndTime(CrmParamAndTimeVO vo);
/**
* 根据登记序号和评价年度查询
* @param crmSyncDataQynsrdjDTO
* @return
*/
CrmQynsrdj syncDataByDjxhAndPjnd(CrmSyncDataQynsrdjDTO crmSyncDataQynsrdjDTO) throws Exception;
}

View File

@ -2,6 +2,7 @@ package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.DTO.CrmSyncQysdsndsbDTO;
import com.kakarote.crm.entity.PO.CrmQysdsndsb;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
@ -56,4 +57,12 @@ public interface ICrmQysdsndsbService extends BaseService<CrmQysdsndsb> {
* @return
*/
List<CrmQysdsndsb> getQysdsndsbListByDjxhAndTime(CrmParamAndTimeVO vo);
/**
* 根据登记序号以及年度同步WebService数据至数据库
* @param crmSyncQysdsndsbDTO
* @return
*/
List<CrmQysdsndsb> syncDataByDjxhAndNd(CrmSyncQysdsndsbDTO crmSyncQysdsndsbDTO) throws Exception;
}

View File

@ -1,6 +1,7 @@
package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.DTO.CrmSyncSwjgDTO;
import com.kakarote.crm.entity.PO.CrmSwjg;
import java.util.List;
@ -47,4 +48,11 @@ public interface ICrmSwjgService extends BaseService<CrmSwjg> {
* @return
*/
CrmSwjg getSwjgBySwjgDm(String swjgDm);
/**
* 根据税务机构代码同步WebService数据至数据库
* @param crmSyncSwjgDTO
* @return 同步结果报告
*/
List<CrmSwjg> syncDataBySwjgDmAndSjswjgDm(CrmSyncSwjgDTO crmSyncSwjgDTO) throws Exception;
}

View File

@ -1,25 +1,39 @@
package com.kakarote.crm.service.impl;
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.entity.DTO.CrmSyncNsrzgDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmNsrzg;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.mapper.CrmNsrzgMapper;
import com.kakarote.crm.mapper.CrmQyjbxxMapper;
import com.kakarote.crm.service.ICrmNsrzgService;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CrmNsrzgServiceImpl extends BaseServiceImpl<CrmNsrzgMapper, CrmNsrzg> implements ICrmNsrzgService {
@Autowired
private CrmNsrzgMapper crmNsrzgMapper;
@Autowired
private CrmQyjbxxMapper crmQyjbxxMapper;
@Autowired
private TaxWebServiceConfig config;
@Override
public CrmNsrzg getNsrzg(Integer nsrdjzgId) {
return crmNsrzgMapper.selectById(nsrdjzgId);
@ -70,4 +84,39 @@ public class CrmNsrzgServiceImpl extends BaseServiceImpl<CrmNsrzgMapper, CrmNsrz
.eq("djxh", djxh)
);
}
@Override
public List<CrmNsrzg> syncDataByDjxh(CrmSyncNsrzgDTO crmSyncNsrzgDTO) throws Exception {
Body object = new Body();
object.setSid("JXSW.DZSWJ.CSXT.NSRZGRDXXCX");
object.setParams(crmSyncNsrzgDTO.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<List<CrmNsrzg>> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<List<CrmNsrzg>>>() {});
List<CrmNsrzg> crmNsrzgList = dto.getData();
crmNsrzgList.forEach(crmNsrzg -> {
crmNsrzgMapper.insert(crmNsrzg);
});
return crmNsrzgList;
}
}

View File

@ -1,13 +1,22 @@
package com.kakarote.crm.service.impl;
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.entity.DTO.CrmSyncQycbrsDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmQycbrs;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
import com.kakarote.crm.mapper.CrmQycbrsMapper;
import com.kakarote.crm.mapper.CrmQyjbxxMapper;
import com.kakarote.crm.service.ICrmQycbrsService;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -23,6 +32,9 @@ public class CrmQycbrsServiceImpl extends BaseServiceImpl<CrmQycbrsMapper, CrmQy
@Autowired
private CrmQyjbxxMapper crmQyjbxxMapper;
@Autowired
private TaxWebServiceConfig config;
@Override
public CrmQycbrs getQycbrs(Integer qycbrsId) {
return crmQycbrsMapper.selectById(qycbrsId);
@ -91,4 +103,40 @@ public class CrmQycbrsServiceImpl extends BaseServiceImpl<CrmQycbrsMapper, CrmQy
return crmQycbrsMapper.selectList(wrapper);
}
@Override
public List<CrmQycbrs> syncDataByDjxhAndYf(CrmSyncQycbrsDTO crmSyncQycbrsDTO) throws Exception {
Body object = new Body();
object.setSid("JXSW.DZSWJ.CSXT.QYCBRSCX");
object.setParams(crmSyncQycbrsDTO.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<List<CrmQycbrs>> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<List<CrmQycbrs>>>() {});
List<CrmQycbrs> qycbrsList = dto.getData();
qycbrsList.forEach(qycbrs -> {
crmQycbrsMapper.insert(qycbrs);
});
return qycbrsList;
}
}

View File

@ -1,13 +1,25 @@
package com.kakarote.crm.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
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.entity.BO.CrmQueryQyfxmxBO;
import com.kakarote.crm.entity.DTO.CrmSyncQyfxmxDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmQyfxmx;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
import com.kakarote.crm.mapper.CrmQyfxmxMapper;
import com.kakarote.crm.mapper.CrmQyjbxxMapper;
import com.kakarote.crm.service.ICrmQyfxmxService;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -23,6 +35,9 @@ public class CrmQyfxmxServiceImpl extends BaseServiceImpl<CrmQyfxmxMapper, CrmQy
@Autowired
private CrmQyjbxxMapper crmQyjbxxMapper;
@Autowired
private TaxWebServiceConfig config;
/**
* 通过id查询企业指标明细
* @param qyfxmxId
@ -91,6 +106,53 @@ public class CrmQyfxmxServiceImpl extends BaseServiceImpl<CrmQyfxmxMapper, CrmQy
return crmQyfxmxMapper.selectList(wrapper);
}
@Override
public List<CrmQyfxmx> syncDataByDjxhAndPjnd(CrmSyncQyfxmxDTO crmSyncQyfxmxDTO) throws Exception {
Body object = new Body();
object.setSid("JXSW.DZSWJ.CSXT.QYTSFXMXCX");
String year = crmSyncQyfxmxDTO.getPjnd();
DateTime fxscsjq = DateUtil.beginOfYear(DateUtil.parse(year + "-01-01"));
String fxscsjqStr = fxscsjq.toString("yyyy-MM-dd");
DateTime fxscsjz = DateUtil.endOfYear(DateUtil.parse(year + "-01-01"));
String fxscsjzStr = fxscsjz.toString("yyyy-MM-dd");
String djxh = crmSyncQyfxmxDTO.getDjxh();
CrmQueryQyfxmxBO bo = new CrmQueryQyfxmxBO(djxh,fxscsjqStr,fxscsjzStr);
object.setParams(bo.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<List<CrmQyfxmx>> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<List<CrmQyfxmx>>>() {});
List<CrmQyfxmx> qyfxmxLsit = dto.getData();
qyfxmxLsit.forEach(qyfxmx -> {
crmQyfxmxMapper.insert(qyfxmx);
});
return qyfxmxLsit;
}
@Override
public List<CrmQyfxmx> getQyfxmxListByNsrsbhAndTime(CrmParamAndTimeVO vo) {

View File

@ -1,27 +1,33 @@
package com.kakarote.crm.service.impl;
import cn.hutool.core.util.StrUtil;
import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.kakarote.core.exception.CrmException;
import com.kakarote.core.feign.crm.service.CrmService;
import com.fasterxml.jackson.core.type.TypeReference;
import com.kakarote.core.redis.RedisImpl;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.common.CrmModel;
import com.kakarote.crm.entity.BO.QyjbxxBo;
import com.kakarote.crm.entity.DTO.CrmSyncQyjbxxDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.entity.PO.CrmQyjbxxDjrqDetail;
import com.kakarote.crm.mapper.CrmQyjbxxMapper;
import com.kakarote.crm.service.ICrmCustomerService;
import com.kakarote.crm.service.ICrmQyjbxxService;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import static com.kakarote.core.common.SystemCodeEnum.SYSTEM_NO_VALID;
@Slf4j
@Service
public class CrmQyjbxxServiceImpl extends BaseServiceImpl<CrmQyjbxxMapper, CrmQyjbxx> implements ICrmQyjbxxService {
@ -31,6 +37,9 @@ public class CrmQyjbxxServiceImpl extends BaseServiceImpl<CrmQyjbxxMapper, CrmQy
@Autowired
private ICrmCustomerService crmCustomerService;
@Autowired
private TaxWebServiceConfig config;
private RedisImpl redis;
@ -127,4 +136,67 @@ public class CrmQyjbxxServiceImpl extends BaseServiceImpl<CrmQyjbxxMapper, CrmQy
QueryWrapper<CrmQyjbxx> crmQyjbxxQueryWrapper = new QueryWrapper<>();
return crmQyjbxxMapper.selectList(crmQyjbxxQueryWrapper);
}
@Override
public List<CrmQyjbxx> syncDataBySwjgdmAndTime(CrmSyncQyjbxxDTO crmSyncQyjbxxDTO) throws Exception {
Body object = new Body();
object.setSid("JXSW.DZSWJ.CSXT.QYJBXXCX");
object.setParams(crmSyncQyjbxxDTO.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<List<CrmQyjbxxDjrqDetail>> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<List<CrmQyjbxxDjrqDetail>>>() {});
List<CrmQyjbxxDjrqDetail> crmQyjbxxDjrqDetailList = dto.getData();
List<CrmQyjbxx> crmQyjbxxList = new ArrayList<>();
crmQyjbxxDjrqDetailList.forEach(crmQyjbxxDjrqDetail -> {
// 1.将crmQyjbxxDjrqDetail中的djrqDetail转成字符串
String djrq = phraseDjrq(crmQyjbxxDjrqDetail);
// 2.设置父类djrq属性
crmQyjbxxDjrqDetail.setDjrq(djrq);
// 3.插入数据表
crmQyjbxxMapper.insert(crmQyjbxxDjrqDetail);
// 4.加入crmQyjbxxList集合
crmQyjbxxList.add(crmQyjbxxDjrqDetail);
});
return crmQyjbxxList;
}
// 将crmQyjbxxDjrqDetail中的djrqDetail转成字符串
private String phraseDjrq(CrmQyjbxxDjrqDetail crmQyjbxxDjrqDetail){
int year = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getYear()) + 1900;
int month = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getMonth()) + 1;
int date = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getDate());
int hours = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getHours());
int minutes = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getMinutes());
int seconds = Integer.parseInt(crmQyjbxxDjrqDetail.getDjrqDetail().getSeconds());
String formattedDate = String.format(
"%04d-%02d-%02d %02d:%02d:%02d",
year, month, date, hours, minutes, seconds
);
return formattedDate;
}
}

View File

@ -1,7 +1,11 @@
package com.kakarote.crm.service.impl;
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.entity.BO.CrmAddMergeListBO;
import com.kakarote.crm.entity.DTO.CrmSyncQyjxfpAndQyxxfpDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.entity.PO.CrmQyjxfp;
import com.kakarote.crm.entity.PO.CrmQyxxfp;
@ -11,6 +15,12 @@ import com.kakarote.crm.mapper.CrmQyjbxxMapper;
import com.kakarote.crm.mapper.CrmQyjxfpMapper;
import com.kakarote.crm.service.ICrmQyjxfpService;
import com.kakarote.crm.service.ICrmQyxxfpService;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
@ -28,6 +38,9 @@ public class CrmQyjxfpServiceImpl extends BaseServiceImpl<CrmQyjxfpMapper, CrmQy
@Autowired
private CrmQyjbxxMapper crmQyjbxxMapper;
@Autowired
private TaxWebServiceConfig config;
/**
* 通过id查询企业进项发票
*
@ -99,17 +112,17 @@ public class CrmQyjxfpServiceImpl extends BaseServiceImpl<CrmQyjxfpMapper, CrmQy
// 添加时间条件
wrapper.eq("nd", vo.getTime());
CrmQyjxfp qyjxfp = crmQyjxfpMapper.selectOne(wrapper);
mergeListVO.setQyjxfpList(qyjxfp != null ?
mergeListVO.setJxfpList(qyjxfp != null ?
Collections.singletonList(qyjxfp) :
Collections.emptyList());
} else {
// 无时间条件时直接查询列表
mergeListVO.setQyjxfpList(crmQyjxfpMapper.selectList(wrapper));
mergeListVO.setJxfpList(crmQyjxfpMapper.selectList(wrapper));
}
// 处理销项发票查询
List<CrmQyxxfp> qyxxfpList = crmQyxxfpService.getQyxxfpListByShxydmAndTime(vo);
mergeListVO.setQyxxfpList(qyxxfpList);
mergeListVO.setXxfpList(qyxxfpList);
return mergeListVO;
}
@ -145,17 +158,63 @@ public class CrmQyjxfpServiceImpl extends BaseServiceImpl<CrmQyjxfpMapper, CrmQy
// 添加时间条件
wrapper.eq("nd", vo.getTime());
CrmQyjxfp qyjxfp = crmQyjxfpMapper.selectOne(wrapper);
mergeListVO.setQyjxfpList(qyjxfp != null ?
mergeListVO.setJxfpList(qyjxfp != null ?
Collections.singletonList(qyjxfp) :
Collections.emptyList());
} else {
// 无时间条件时直接查询列表
mergeListVO.setQyjxfpList(crmQyjxfpMapper.selectList(wrapper));
mergeListVO.setJxfpList(crmQyjxfpMapper.selectList(wrapper));
}
// 处理销项发票查询
List<CrmQyxxfp> qyxxfpList = crmQyxxfpService.getQyxxfpListByNsrsbhAndTime(vo);
mergeListVO.setQyxxfpList(qyxxfpList);
mergeListVO.setXxfpList(qyxxfpList);
return mergeListVO;
}
@Override
public CrmMergeListVO syncDataByShxydm(CrmSyncQyjxfpAndQyxxfpDTO dto) throws Exception {
Body object = new Body();
object.setSid("JXSW.DZSWJ.CSXT.CXFPHZXX");
object.setParams(dto.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<CrmAddMergeListBO> responseDTO = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<CrmAddMergeListBO>>() {});
CrmAddMergeListBO mergeListBO = responseDTO.getData();
List<CrmQyjxfp> jxhzList = mergeListBO.getJxhzList();
List<CrmQyxxfp> xxhzList = mergeListBO.getXxhzList();
jxhzList.forEach(qyjxfp -> {
crmQyjxfpMapper.insert(qyjxfp);
});
xxhzList.forEach(qyxxfp -> {
crmQyxxfpService.insertQyxxfp(qyxxfp);
});
CrmMergeListVO mergeListVO = new CrmMergeListVO();
mergeListVO.setJxfpList(jxhzList);
mergeListVO.setXxfpList(xxhzList);
return mergeListVO;
}

View File

@ -1,13 +1,22 @@
package com.kakarote.crm.service.impl;
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.entity.DTO.CrmSyncDataQynsrdjDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.entity.PO.CrmQynsrdj;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.mapper.CrmQyjbxxMapper;
import com.kakarote.crm.mapper.CrmQynsrdjMapper;
import com.kakarote.crm.service.ICrmQynsrdjService;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -23,6 +32,9 @@ public class CrmQynsrdjServiceImpl extends BaseServiceImpl<CrmQynsrdjMapper, Crm
@Autowired
private CrmQyjbxxMapper crmQyjbxxMapper;
@Autowired
private TaxWebServiceConfig config;
@Override
public CrmQynsrdj getQynsrdj(Integer qynsxydjId) {
return crmQynsrdjMapper.selectById(qynsxydjId);
@ -78,6 +90,39 @@ public class CrmQynsrdjServiceImpl extends BaseServiceImpl<CrmQynsrdjMapper, Crm
return crmQynsrdjMapper.selectList(wrapper);
}
@Override
public CrmQynsrdj syncDataByDjxhAndPjnd(CrmSyncDataQynsrdjDTO crmSyncDataQynsrdjDTO) throws Exception {
Body object = new Body();
object.setSid("JXSW.DZSWJ.CSXT.QYXYDJCX");
object.setParams(crmSyncDataQynsrdjDTO.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<CrmQynsrdj> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<CrmQynsrdj>>() {});
CrmQynsrdj crmQynsrdj = dto.getData();
crmQynsrdjMapper.insert(crmQynsrdj);
return crmQynsrdj;
}
@Override
public List<CrmQynsrdj> getQynsrdjListByDjxhAndTime(CrmParamAndTimeVO vo) {

View File

@ -2,13 +2,22 @@ package com.kakarote.crm.service.impl;
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.entity.DTO.CrmSyncQysdsndsbDTO;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.entity.PO.CrmQyjbxx;
import com.kakarote.crm.entity.PO.CrmQysdsndsb;
import com.kakarote.crm.entity.VO.CrmParamAndTimeVO;
import com.kakarote.crm.mapper.CrmQyjbxxMapper;
import com.kakarote.crm.mapper.CrmQysdsndsbMapper;
import com.kakarote.crm.service.ICrmQysdsndsbService;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -24,6 +33,9 @@ public class CrmQysdsndsbServiceImpl extends BaseServiceImpl<CrmQysdsndsbMapper,
@Autowired
private CrmQyjbxxMapper crmQyjbxxMapper;
@Autowired
private TaxWebServiceConfig config;
@Override
public CrmQysdsndsb getQysdsndsb(Integer qysdsndsbId) {
return crmQysdsndsbMapper.selectById(qysdsndsbId);
@ -92,4 +104,40 @@ public class CrmQysdsndsbServiceImpl extends BaseServiceImpl<CrmQysdsndsbMapper,
return crmQysdsndsbMapper.selectList(wrapper);
}
@Override
public List<CrmQysdsndsb> syncDataByDjxhAndNd(CrmSyncQysdsndsbDTO crmSyncQysdsndsbDTO) throws Exception {
Body object = new Body();
object.setSid("JXSW.DZSWJ.CSXT.QYSDSNDSBXXCX");
object.setParams(crmSyncQysdsndsbDTO.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<List<CrmQysdsndsb>> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<List<CrmQysdsndsb>>>() {});
List<CrmQysdsndsb> crmQysdsndsbList = dto.getData();
crmQysdsndsbList.forEach(crmQysdsndsb -> {
crmQysdsndsbMapper.insert(crmQysdsndsb);
} );
return crmQysdsndsbList;
}
}

View File

@ -1,10 +1,19 @@
package com.kakarote.crm.service.impl;
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.entity.DTO.CrmSyncSwjgDTO;
import com.kakarote.crm.entity.PO.CrmSwjg;
import com.kakarote.crm.entity.DTO.CrmWebServiceResponseDTO;
import com.kakarote.crm.mapper.CrmSwjgMapper;
import com.kakarote.crm.service.ICrmSwjgService;
import com.kakarote.crm.util.AecUtils;
import com.kakarote.crm.util.JsonUtil;
import com.kakarote.crm.webService.config.TaxWebServiceConfig;
import com.kakarote.crm.webService.entity.Body;
import com.kakarote.crm.webService.util.WebServiceUtil;
import com.kakarote.crm.webService.util.XmlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@ -15,6 +24,9 @@ public class CrmSwjgServiceImpl extends BaseServiceImpl<CrmSwjgMapper, CrmSwjg>
@Autowired
private CrmSwjgMapper crmSwjgMapper;
@Autowired
private TaxWebServiceConfig config;
@Override
public CrmSwjg getSwjg(Integer swjgId) {
return crmSwjgMapper.selectById(swjgId);
@ -35,6 +47,41 @@ public class CrmSwjgServiceImpl extends BaseServiceImpl<CrmSwjgMapper, CrmSwjg>
return crmSwjgMapper.deleteById(swjgId);
}
@Override
public List<CrmSwjg> syncDataBySwjgDmAndSjswjgDm(CrmSyncSwjgDTO crmSyncSwjgDTO) throws Exception {
Body object = new Body();
object.setSid("JXSW.DZSWJ.CSXT.CXSWJG");
object.setParams(crmSyncSwjgDTO.toString());
String sid = object.getSid ();
System.out.println("config:"+config.getEtaxServiceUrl());
System.out.println("config:"+config.getAecEncryptKey());
String requestXml = WebServiceUtil.createRequestXml (sid, object.getParams (), config);
System.out.println ("requestXml = " + requestXml);
String response = WebServiceUtil.getEtaxService (config).doService (sid, requestXml);
System.out.println ("response = " + response);
XmlService service = WebServiceUtil.getResponse (response);
String respJson = AecUtils.decrypt (service.getBody (), config.getAecEncryptKey ());
System.out.println ("respJson = " + respJson);
CrmWebServiceResponseDTO<List<CrmSwjg>> dto = JsonUtil.toObject(respJson, new TypeReference<CrmWebServiceResponseDTO<List<CrmSwjg>>>() {});
List<CrmSwjg> crmSwjgList = dto.getData();
crmSwjgList.forEach(crmSwjg -> {
crmSwjgMapper.insert(crmSwjg);
});
return crmSwjgList;
}
@Override
public List<CrmSwjg> getSwjgList(CrmSwjg crmSwjg) {
QueryWrapper<CrmSwjg> crmSwjgQueryWrapper = new QueryWrapper<>();

View File

@ -0,0 +1,20 @@
package com.kakarote.crm.util;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Component;
@Component
public class JsonUtil {
private static final ObjectMapper mapper = new ObjectMapper();
// JSON 字符串转换为指定泛型类型的对象
public static <T> T toObject(String json, TypeReference<T> typeReference) {
try {
return mapper.readValue(json, typeReference);
} catch (Exception e) {
throw new RuntimeException("JSON转换失败", e);
}
}
}