feat:controller_CRUD、调用第三方接口

This commit is contained in:
ZZM 2025-06-13 14:39:59 +08:00
parent 33aadb2cea
commit 2e4db533b6
20 changed files with 643 additions and 60 deletions

View File

@ -17,4 +17,9 @@ public class CrmConst extends Const {
*/
public static final String FIELD_SORT_CACHE_NAME = "CRM:FIELD:SORT:";
public static final String V3_QYFXXX = "/api/risk/fxFxzbJcjgZbmx/openApi/getFxBynsrsbh";
}

View File

@ -1,22 +1,12 @@
package com.kakarote.crm.controller;
import com.google.gson.Gson;
import com.kakarote.crm.entity.PO.CrmQyfxjcjg;
import com.kakarote.crm.entity.PO.CrmQyfxjcjgZbmx;
import com.kakarote.crm.entity.VO.CrmApiResponseVO;
import com.kakarote.crm.entity.VO.CrmV3SystemicRiskVO;
import com.kakarote.crm.entity.VO.CrmRiskCheckResultVO;
import com.kakarote.core.common.Result;
import com.kakarote.crm.entity.VO.CrmV3SysRiskDataExposedVo;
import com.kakarote.crm.service.ICrmQyfxjcjgService;
import com.kakarote.crm.service.ICrmQyfxjcjgZbmxService;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
@RestController
@RequestMapping("/crmGetData")
public class CrmGetV3SysRiskDataController {
@ -24,53 +14,9 @@ public class CrmGetV3SysRiskDataController {
@Autowired
private ICrmQyfxjcjgService iCrmQyfxjcjgService;
@Autowired
private ICrmQyfxjcjgZbmxService iCrmQyfxjcjgZbmxService;
@PostMapping(value = "/resp")
public void getV3SysRiskData(@RequestBody CrmV3SystemicRiskVO crmV3SystemicRiskVO) {
OkHttpClient client = new OkHttpClient();
MediaType JSON = MediaType.get("application/json; charset=utf-8");
Gson gson = new Gson();
String json = gson.toJson(crmV3SystemicRiskVO);
okhttp3.RequestBody body = okhttp3.RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url("https://v3-demo.lqyuns.com/api/risk/fxFxzbJcjgZbmx/openApi/getFxBynsrsbh")
.post(body)
.build();
try {
Response response = client.newCall(request).execute();
String respJson = response.body().string();
CrmApiResponseVO crmApiResponseVO = gson.fromJson(respJson, CrmApiResponseVO.class);
System.out.println(crmApiResponseVO);
System.out.println("响应消息:"+crmApiResponseVO.getMsg());
System.out.println("响应代码:"+crmApiResponseVO.getCode());
System.out.println("响应数据:"+crmApiResponseVO.getData());
for (CrmRiskCheckResultVO crmRiskCheckResultVO : crmApiResponseVO.getData()) {
CrmQyfxjcjg crmQyfxjcjg = crmRiskCheckResultVO.getCrmQyfxjcjg();
iCrmQyfxjcjgService.insertCrmQyfxjcjg(crmQyfxjcjg);
for (CrmQyfxjcjgZbmx item : crmRiskCheckResultVO.getCrmQyfxjcjgZbmxList()){
iCrmQyfxjcjgZbmxService.insertQyfxjcjgZbmx(item);
public Result getV3SysRiskData(@RequestBody CrmV3SysRiskDataExposedVo crmV3SysRiskDataExposedVo) throws IOException {
return Result.ok(iCrmQyfxjcjgService.getLocalRiskData(crmV3SysRiskDataExposedVo));
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}

View File

@ -0,0 +1,48 @@
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.PO.CrmNsrzg;
import com.kakarote.crm.service.ICrmNsrzgService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/nsrzg")
@Api(tags = "纳税人资格信息")
public class CrmNsrzgController {
@Autowired
private ICrmNsrzgService crmNsrzgService;
@PostMapping("/queryById/{nsrdjzgId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmNsrzg> queryById(@PathVariable("nsrdjzgId") @ApiParam(name = "id", value = "纳税人资格ID") Integer nsrdjzgId) {
CrmNsrzg nsrzg = crmNsrzgService.getNsrzg(nsrdjzgId);
return R.ok(nsrzg);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmNsrzg crmNsrzg) {
return R.ok(crmNsrzgService.insertNsrzg(crmNsrzg));
}
@PostMapping("/deleteById/{nsrdjzgId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("nsrdjzgId") String nsrdjzgId){
return R.ok(crmNsrzgService.deleteNsrzg(nsrdjzgId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmNsrzg crmNsrzg){
return R.ok(crmNsrzgService.updateNsrzg(crmNsrzg));
}
}

View File

@ -0,0 +1,48 @@
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.PO.CrmQycbrs;
import com.kakarote.crm.service.ICrmQycbrsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/qycbrs")
@Api(tags = "企业参保人数信息")
public class CrmQycbrsController {
@Autowired
private ICrmQycbrsService crmQycbrsService;
@PostMapping("/queryById/{qycbrsId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmQycbrs> queryById(@PathVariable("qycbrsId") @ApiParam(name = "id", value = "企业参保人数ID") Integer qycbrsId) {
CrmQycbrs qyjxfp = crmQycbrsService.getQycbrs(qycbrsId);
return R.ok(qyjxfp);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmQycbrs crmQycbrs) {
return R.ok(crmQycbrsService.insertQycbrs(crmQycbrs));
}
@PostMapping("/deleteById/{qycbrsId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("qycbrsId") String qycbrsId){
return R.ok(crmQycbrsService.deleteQycbrs(qycbrsId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmQycbrs crmQycbrs){
return R.ok(crmQycbrsService.updateQycbrs(crmQycbrs));
}
}

View File

@ -0,0 +1,47 @@
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.PO.CrmQyfxmx;
import com.kakarote.crm.service.ICrmQyfxmxService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/qyfxmx")
@Api(tags = "企业风险明细信息")
public class CrmQyfxmxController {
@Autowired
private ICrmQyfxmxService crmQyfxmxService;
@PostMapping("/queryById/{qyzbmxId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmQyfxmx> queryById(@PathVariable("qyzbmxId") @ApiParam(name = "id", value = "企业指标明细ID") Integer qyzbmxId) {
CrmQyfxmx qyfxmx = crmQyfxmxService.getQyfxmx(qyzbmxId);
return R.ok(qyfxmx);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmQyfxmx crmQyfxmx) {
return R.ok(crmQyfxmxService.insertQyfxmx(crmQyfxmx));
}
@PostMapping("/deleteById/{qyzbmxId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("qyzbmxId") String qyzbmxId){
return R.ok(crmQyfxmxService.deleteQyfxmx(qyzbmxId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmQyfxmx crmQyfxmx){
return R.ok(crmQyfxmxService.updateQyfxmx(crmQyfxmx));
}
}

View File

@ -0,0 +1,48 @@
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.PO.CrmQyjxfp;
import com.kakarote.crm.service.ICrmQyjxfpService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/qyjxfp")
@Api(tags = "企业进项发票信息")
public class CrmQyjxfpController {
@Autowired
private ICrmQyjxfpService crmQyjxfpService;
@PostMapping("/queryById/{qyjxfpId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmQyjxfp> queryById(@PathVariable("qyjxfpId") @ApiParam(name = "id", value = "企业进项发票ID") Integer qyjxfpId) {
CrmQyjxfp qyjxfp = crmQyjxfpService.getQyjxfp(qyjxfpId);
return R.ok(qyjxfp);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmQyjxfp crmQyjxfp) {
return R.ok(crmQyjxfpService.insertQyjxfp(crmQyjxfp));
}
@PostMapping("/deleteById/{qyjxfpId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("qyjxfpId") String qyjxfpId){
return R.ok(crmQyjxfpService.deleteQyjxfp(qyjxfpId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmQyjxfp crmQyjxfp){
return R.ok(crmQyjxfpService.updateQyjxfp(crmQyjxfp));
}
}

View File

@ -0,0 +1,48 @@
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.PO.CrmQynsrdj;
import com.kakarote.crm.service.ICrmQynsrdjService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/qynsrdj")
@Api(tags = "企业纳税信用登记信息")
public class CrmQynsrdjController {
@Autowired
private ICrmQynsrdjService crmQynsrdjService;
@PostMapping("/queryById/{qynsrdjId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmQynsrdj> queryById(@PathVariable("qynsrdjId") @ApiParam(name = "id", value = "企业纳税信用登记ID") Integer qynsrdjId) {
CrmQynsrdj qynsrdj = crmQynsrdjService.getQynsrdj(qynsrdjId);
return R.ok(qynsrdj);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmQynsrdj crmQynsrdj) {
return R.ok(crmQynsrdjService.insertQynsrdj(crmQynsrdj));
}
@PostMapping("/deleteById/{qynsrdjId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("qynsrdjId") String qynsrdjId){
return R.ok(crmQynsrdjService.deleteQynsrdj(qynsrdjId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmQynsrdj crmQynsrdj){
return R.ok(crmQynsrdjService.updateQynsrdj(crmQynsrdj));
}
}

View File

@ -0,0 +1,47 @@
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.PO.CrmQysdsndsb;
import com.kakarote.crm.service.ICrmQysdsndsbService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/qysdsndsb")
@Api(tags = "企业所得税年度申报信息")
public class CrmQysdsndsbController {
@Autowired
private ICrmQysdsndsbService crmQysdsndsbService;
@PostMapping("/queryById/{qysdsndsbId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmQysdsndsb> queryById(@PathVariable("qysdsndsbId") @ApiParam(name = "id", value = "企业所得税年度申报ID") Integer qysdsndsbId) {
CrmQysdsndsb qysdsndsb = crmQysdsndsbService.getQysdsndsb(qysdsndsbId);
return R.ok(qysdsndsb);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmQysdsndsb crmQysdsndsb) {
return R.ok(crmQysdsndsbService.insertQysdsndsb(crmQysdsndsb));
}
@PostMapping("/deleteById/{qysdsndsbId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("qysdsndsbId") String qysdsndsbId){
return R.ok(crmQysdsndsbService.deleteQysdsndsb(qysdsndsbId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmQysdsndsb crmQysdsndsb){
return R.ok(crmQysdsndsbService.updateQysdsndsb(crmQysdsndsb));
}
}

View File

@ -0,0 +1,49 @@
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.PO.CrmQyjxfp;
import com.kakarote.crm.entity.PO.CrmQysfl;
import com.kakarote.crm.service.ICrmQysflService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/qysfl")
@Api(tags = "企业税负率信息")
public class CrmQysflController {
@Autowired
private ICrmQysflService crmQysflService;
@PostMapping("/queryById/{qysflId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmQysfl> queryById(@PathVariable("qysflId") @ApiParam(name = "id", value = "企业税负率ID") Integer qysflId) {
CrmQysfl qysfl = crmQysflService.getQysfl(qysflId);
return R.ok(qysfl);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmQysfl crmQysfl) {
return R.ok(crmQysflService.insertQysfl(crmQysfl));
}
@PostMapping("/deleteById/{qysflId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("qysflId") String qysflId){
return R.ok(crmQysflService.deleteQysfl(qysflId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmQysfl crmQysfl){
return R.ok(crmQysflService.updateQysfl(crmQysfl));
}
}

View File

@ -0,0 +1,47 @@
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.PO.CrmQyxxfp;
import com.kakarote.crm.service.ICrmQyxxfpService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/qyxxfp")
@Api(tags = "企业销项发票信息")
public class CrmQyxxfpController {
@Autowired
private ICrmQyxxfpService crmQyxxfpService;
@PostMapping("/queryById/{qyxxfpId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmQyxxfp> queryById(@PathVariable("qyxxfpId") @ApiParam(name = "id", value = "企业进项发票ID") Integer qyxxfpId) {
CrmQyxxfp qyxxfp = crmQyxxfpService.getQyxxfp(qyxxfpId);
return R.ok(qyxxfp);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmQyxxfp crmQyxxfp) {
return R.ok(crmQyxxfpService.insertQyxxfp(crmQyxxfp));
}
@PostMapping("/deleteById/{qyxxfpId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("qyxxfpId") String qyxxfpId){
return R.ok(crmQyxxfpService.deleteQyxxfp(qyxxfpId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmQyxxfp crmQyxxfp){
return R.ok(crmQyxxfpService.updateQyxxfp(crmQyxxfp));
}
}

View File

@ -0,0 +1,47 @@
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.PO.CrmSwjg;
import com.kakarote.crm.service.ICrmSwjgService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/swjg")
@Api(tags = "税务机关信息")
public class CrmSwjgController {
@Autowired
private ICrmSwjgService crmSwjgService;
@PostMapping("/queryById/{swjgId}")
@ApiOperation("根据ID查询")
@ParamAspect
public Result<CrmSwjg> queryById(@PathVariable("swjgId") @ApiParam(name = "id", value = "税务机关ID") Integer swjgId) {
CrmSwjg swjg = crmSwjgService.getSwjg(swjgId);
return R.ok(swjg);
}
@PostMapping("/add")
@ApiOperation("保存数据")
public Result add(@RequestBody CrmSwjg crmSwjg) {
return R.ok(crmSwjgService.insertSwjg(crmSwjg));
}
@PostMapping("/deleteById/{swjgId}")
@ApiOperation("根据ID删除数据")
public Result deleteById(@PathVariable("swjgId") String swjgId){
return R.ok(crmSwjgService.deleteSwjg(swjgId));
}
@PostMapping("/update")
@ApiOperation("更新数据")
public Result update(@RequestBody CrmSwjg crmSwjg){
return R.ok(crmSwjgService.updateSwjg(crmSwjg));
}
}

View File

@ -2,6 +2,7 @@ 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 io.swagger.annotations.ApiModel;
@ -11,6 +12,7 @@ import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@Accessors(chain = true)
@ -86,4 +88,7 @@ public class CrmQyfxjcjg implements Serializable {
* 批量监测id
*/
private String pljcId;
@TableField(exist = false)
private List<CrmQyfxjcjgZbmx> crmQyfxjcjgZbmxList;
}

View File

@ -0,0 +1,16 @@
package com.kakarote.crm.entity.VO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class CrmV3SysRiskDataExposedVo {
private String nsrsbh;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date ssqQ;
}

View File

@ -1,8 +1,13 @@
package com.kakarote.crm.entity.VO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
@Data
@Accessors(chain = true)
public class CrmV3SystemicRiskVO {
private Integer appId;
@ -11,8 +16,12 @@ public class CrmV3SystemicRiskVO {
private String nsrsbh;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date ssqQ;
public CrmV3SystemicRiskVO() {
this.appId = 101011;
this.appSecret = "crmopenapi";
}
}

View File

@ -0,0 +1,19 @@
<?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.CrmQyfxjcjgMapper">
<resultMap id="BaseResultMap" type="com.kakarote.crm.entity.PO.CrmQyfxjcjg">
<result column="jcpc_uuid" jdbcType="VARCHAR" property="jcpcUuid" />
<result column="qyid" jdbcType="VARCHAR" property="qyid" />
<result column="qysbh" jdbcType="VARCHAR" property="qysbh" />
<result column="fxjc_pcjg" jdbcType="VARCHAR" property="fxjcPcjg" />
<result column="jcsj" jdbcType="TIMESTAMP" property="jcsj" />
<result column="jc_ssqQ" jdbcType="TIMESTAMP" property="jcSsqq" />
<result column="jc_ssqZ" jdbcType="TIMESTAMP" property="jcSsqz" />
<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="nsrmc" jdbcType="VARCHAR" property="nsrmc" />
<result column="pljcId" jdbcType="VARCHAR" property="pljcId" />
</resultMap>
</mapper>

View File

@ -0,0 +1,16 @@
<?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.CrmQyfxjcjgZbmxMapper">
<resultMap id="BaseResultMap" type="com.kakarote.crm.entity.PO.CrmQyfxjcjgZbmx">
<result column="zbmx_uuid" jdbcType="VARCHAR" property="zbmxUuid" />
<result column="jcpc_uuid" jdbcType="VARCHAR" property="jcpcUuid" />
<result column="fxzb_dm" jdbcType="VARCHAR" property="fxzbDm" />
<result column="fxzb_jcjg" jdbcType="VARCHAR" property="fxzbJcjg" />
<result column="jcsj" jdbcType="TIMESTAMP" property="jcsj" />
<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="code" jdbcType="INTEGER" property="code" />
</resultMap>
</mapper>

View File

@ -2,7 +2,11 @@ package com.kakarote.crm.service;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.crm.entity.PO.CrmQyfxjcjg;
import com.kakarote.crm.entity.PO.CrmQyfxjcjgZbmx;
import com.kakarote.crm.entity.VO.CrmV3SysRiskDataExposedVo;
import com.kakarote.crm.entity.VO.CrmV3SystemicRiskVO;
import java.io.IOException;
import java.util.List;
public interface ICrmQyfxjcjgService extends BaseService<CrmQyfxjcjg> {
@ -39,4 +43,8 @@ public interface ICrmQyfxjcjgService extends BaseService<CrmQyfxjcjg> {
* @return
*/
List<CrmQyfxjcjg> getQyfxjcjgList(CrmQyfxjcjg crmQyfxjcjg);
List<CrmQyfxjcjg> getLocalRiskData(CrmV3SysRiskDataExposedVo crmV3SysRiskDataExposedVo);
List<CrmQyfxjcjg> fetchAndSaveThirdPartyRiskData(CrmV3SysRiskDataExposedVo crmV3SysRiskDataExposedVo) throws IOException;
}

View File

@ -2,20 +2,41 @@ package com.kakarote.crm.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.kakarote.core.servlet.BaseServiceImpl;
import com.kakarote.crm.entity.PO.CrmQyfxjcjg;
import com.kakarote.crm.entity.PO.CrmQyfxjcjgZbmx;
import com.kakarote.crm.entity.VO.CrmApiResponseVO;
import com.kakarote.crm.entity.VO.CrmRiskCheckResultVO;
import com.kakarote.crm.entity.VO.CrmV3SysRiskDataExposedVo;
import com.kakarote.crm.entity.VO.CrmV3SystemicRiskVO;
import com.kakarote.crm.mapper.CrmQyfxjcjgMapper;
import com.kakarote.crm.service.ICrmQyfxjcjgService;
import com.kakarote.crm.service.ICrmQyfxjcjgZbmxService;
import com.kakarote.crm.util.OkHttpClientUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static com.kakarote.crm.constant.CrmConst.V3_QYFXXX;
@Service
public class CrmQyfxjcjgServiceImpl extends BaseServiceImpl<CrmQyfxjcjgMapper, CrmQyfxjcjg> implements ICrmQyfxjcjgService {
@Autowired
private CrmQyfxjcjgMapper crmQyfxjcjgMapper;
@Autowired
private ICrmQyfxjcjgZbmxService iCrmQyfxjcjgZbmxService;
@Value("${app.url}")
private String V3_Url;
@Override
public CrmQyfxjcjg getCrmQyfxjcjg(String jcpcUuid) {
return crmQyfxjcjgMapper.selectById(jcpcUuid);
@ -39,6 +60,77 @@ public class CrmQyfxjcjgServiceImpl extends BaseServiceImpl<CrmQyfxjcjgMapper, C
@Override
public List<CrmQyfxjcjg> getQyfxjcjgList(CrmQyfxjcjg crmQyfxjcjg) {
QueryWrapper<CrmQyfxjcjg> CrmQyfxjcjgQueryWrapper = new QueryWrapper<>();
CrmQyfxjcjgQueryWrapper.eq("jc_ssqQ",crmQyfxjcjg.getJcSsqq());
CrmQyfxjcjgQueryWrapper.eq("qysbh",crmQyfxjcjg.getQysbh());
return crmQyfxjcjgMapper.selectList(CrmQyfxjcjgQueryWrapper);
}
@Override
public List<CrmQyfxjcjg> getLocalRiskData(CrmV3SysRiskDataExposedVo vo){
CrmQyfxjcjg crmQyfxjcjg = new CrmQyfxjcjg()
.setJcSsqq(vo.getSsqQ())
.setQysbh(vo.getNsrsbh());
QueryWrapper<CrmQyfxjcjg> CrmQyfxjcjgQueryWrapper = new QueryWrapper<>();
CrmQyfxjcjgQueryWrapper.eq("jc_ssqQ",crmQyfxjcjg.getJcSsqq());
CrmQyfxjcjgQueryWrapper.eq("qysbh",crmQyfxjcjg.getQysbh());
List<CrmQyfxjcjg> qyfxjcjgList = crmQyfxjcjgMapper.selectList(CrmQyfxjcjgQueryWrapper);
for (CrmQyfxjcjg qyfxjcjg : qyfxjcjgList) {
CrmQyfxjcjgZbmx crmQyfxjcjgZbmx = new CrmQyfxjcjgZbmx().setJcpcUuid(qyfxjcjg.getJcpcUuid());
List<CrmQyfxjcjgZbmx> qyfxjcjgZbmxList = iCrmQyfxjcjgZbmxService.getQyfxjcjgZbmxList(crmQyfxjcjgZbmx);
if (!qyfxjcjgZbmxList.isEmpty()) {
qyfxjcjg.setCrmQyfxjcjgZbmxList(qyfxjcjgZbmxList);
}
}
if (qyfxjcjgList.isEmpty()) {
//3.如果该集合不存在则发送http请求调用第三方接口获得数据并将其全部插入数据表中
try {
qyfxjcjgList = fetchAndSaveThirdPartyRiskData(vo);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return qyfxjcjgList;
}
@Override
public List<CrmQyfxjcjg> fetchAndSaveThirdPartyRiskData(CrmV3SysRiskDataExposedVo vo) throws IOException {
List<CrmQyfxjcjg> qyfxjcjgList = new ArrayList<>();
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd") // 匹配 @JsonFormat
.create();
CrmV3SystemicRiskVO crmV3SystemicRiskVO = new CrmV3SystemicRiskVO().setSsqQ(vo.getSsqQ()).setNsrsbh(vo.getNsrsbh());
String json = gson.toJson(crmV3SystemicRiskVO);
String responseJson = OkHttpClientUtil.post(V3_Url+V3_QYFXXX, json);
CrmApiResponseVO crmApiResponseVO = gson.fromJson(responseJson, CrmApiResponseVO.class);
for (CrmRiskCheckResultVO crmRiskCheckResultVO : crmApiResponseVO.getData()) {
CrmQyfxjcjg qyfxjcjg = crmRiskCheckResultVO.getCrmQyfxjcjg();
crmQyfxjcjgMapper.insert(qyfxjcjg);
for (CrmQyfxjcjgZbmx item : crmRiskCheckResultVO.getCrmQyfxjcjgZbmxList()){
iCrmQyfxjcjgZbmxService.insertQyfxjcjgZbmx(item);
}
qyfxjcjg.setCrmQyfxjcjgZbmxList(crmRiskCheckResultVO.getCrmQyfxjcjgZbmxList());
qyfxjcjgList.add(qyfxjcjg);
}
return qyfxjcjgList;
}
}

View File

@ -38,6 +38,7 @@ public class CrmQyfxjcjgZbmxServiceImpl extends BaseServiceImpl<CrmQyfxjcjgZbmxM
@Override
public List<CrmQyfxjcjgZbmx> getQyfxjcjgZbmxList(CrmQyfxjcjgZbmx crmQyfxjcjgZbmx) {
QueryWrapper<CrmQyfxjcjgZbmx> CrmQyfxjcjgZbmxQueryWrapper = new QueryWrapper<>();
CrmQyfxjcjgZbmxQueryWrapper.eq("jcpc_uuid",crmQyfxjcjgZbmx.getJcpcUuid());
return crmQyfxjcjgZbmxMapper.selectList(CrmQyfxjcjgZbmxQueryWrapper);
}
}

View File

@ -0,0 +1,37 @@
package com.kakarote.crm.util;
import okhttp3.*;
import org.springframework.stereotype.Component;
import java.io.IOException;
@Component
public class OkHttpClientUtil {
private static final OkHttpClient client = new OkHttpClient();
/**
* 创建一个post请求并得到响应数据的json形式
*
* @param url 第三方接口地址
* @param json 传入请求体的参数转换成json字符串
* @return
*/
public static String post(String url, String json) throws IOException {
MediaType JSON = MediaType.get("application/json; charset=utf-8");
RequestBody requestBody = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(requestBody)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
}