Browse Source

风险黑名单 企查查 6-21

master
fkf 2 years ago
parent
commit
e2fc0d17c6
  1. 29
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformation.java
  2. 44
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformationDto.java
  3. 22
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformationFeign.java
  4. 31
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformationQuery.java
  5. 48
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformationVo.java
  6. 33
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskblacklist/RiskBlacklist.java
  7. 21
      yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskblacklist/RiskBlacklistDto.java
  8. 2
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/RmsApplication.java
  9. 17
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskblacklist/RiskBlacklistMapper.java
  10. 7
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskblacklist/RiskBlacklistMapper.xml
  11. 45
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskblacklist/RiskBlacklistRest.java
  12. 44
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskblacklist/RiskBlacklistService.java
  13. 123
      yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/config/QichachaConfig.java

29
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformation.java

@ -0,0 +1,29 @@
package com.supervise.rms.api.Feign.projectinformation;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/4/25 9:27
*/
@Data
@ApiModel(value = "项目信息", description = "项目信息")
@TableName("project_information")
public class ProjectInformation extends BaseEntity {
private String entryName;
private String engaDate;
private String creditLimit;
private String signingDate;
private String endDate;
private String regulatoryLeader;
private String generalManager;
private String fillInDate;
private String bankSid;
private String managerSid;
private String enterpriseSid;
private String industrySid;
private String typeSid;
}

44
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformationDto.java

@ -0,0 +1,44 @@
package com.supervise.rms.api.Feign.projectinformation;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/4/25 9:28
*/
@ApiModel(value = "项目信息 数据传输对象", description = "项目信息 数据传输对象")
@Data
public class ProjectInformationDto implements Dto {
private String id;
private String sid;
//项目名称
private String entryName;
//接洽日期
private String engaDate;
//授信额度
private String creditLimit;
//签约日期
private String signingDate;
//结束日期
private String endDate;
//监管负责人
private String regulatoryLeader;
//事业部总经理
private String generalManager;
//填表日期
private String fillInDate;
//银行sid
private String bankSid;
//银行负责人sid
private String managerSid;
//企业sid
private String enterpriseSid;
//行业sid
private String industrySid;
//项目类型sid
private String typeSid;
//项目说明
private String remarks;
}

22
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformationFeign.java

@ -0,0 +1,22 @@
package com.supervise.rms.api.Feign.projectinformation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* @author feikefei
* @create 2023-06-19-17:25
*/
@Api("项目管理信息")
@FeignClient(path = "v1/projectinformation", value = "supervise-crm")
public interface ProjectInformationFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
ResultBean<PagerVo<ProjectInformationVo>> listPage(@RequestBody PagerQuery<ProjectInformationQuery> pq);
}

31
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformationQuery.java

@ -0,0 +1,31 @@
package com.supervise.rms.api.Feign.projectinformation;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/4/25 9:29
*/
@ApiModel(value = "项目信息 查询条件", description = "项目信息 查询条件")
@Data
public class ProjectInformationQuery implements Query {
private String id;
private String sid;
private String entryName;
private String engaDate;
private String creditLimit;
private String signingDate;
private String endDate;
private String regulatoryLeader;
private String generalManager;
private String fillInDate;
private String bankSid;
private String bManagerSid;
private String enterpriseSid;
private String industrySid;
private String typeSid;
private String remarks;
}

48
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/Feign/projectinformation/ProjectInformationVo.java

@ -0,0 +1,48 @@
package com.supervise.rms.api.Feign.projectinformation;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/4/25 9:29
*/
@ApiModel(value = "项目信息 视图数据对象", description = "项目信息 视图数据对象")
@Data
public class ProjectInformationVo implements Vo {
private String id ;
private String sid;
//项目名称
private String entryName;
//所属行业
private String industryName;
//项目类型
private String typeName;
//授信额度
private String creditLimit;
//贷款行
private String bankName;
//客户经理
private String bManagerName;
//签约日期
private String signingDate;
//结束日期
private String endDate;
//企业名称
private String enterpriseName;
//联系人
private String eContacts;
//监管负责人
private String regulatoryLeader;
private String generalManager;
private String fillInDate;
private String bankSid;
private String managerSid;
private String enterpriseSid;
private String industrySid;
private String typeSid;
private String remarks;
private String engaDate;
}

33
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskblacklist/RiskBlacklist.java

@ -0,0 +1,33 @@
package com.supervise.rms.api.riskblacklist;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.UUID;
/**
* @author feikefei
* @create 2023-06-19-9:43
*/
@Data
@ApiModel(value = "风险黑名单")
@TableName("risk_blacklist")
public class RiskBlacklist {
@ApiModelProperty("ID,唯一编号")
private Integer id;
@ApiModelProperty("字符型编号")
private String sid = UUID.randomUUID().toString();
@ApiModelProperty("记录创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date createTime = new Date();
@ApiModelProperty("备注信息")
private String remarks;
@ApiModelProperty("风险对象Sid")
private String objectSid;
@ApiModelProperty("风险对象类型1.供应商2.仓库3.门店")
private Integer objectType;
}

21
yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskblacklist/RiskBlacklistDto.java

@ -0,0 +1,21 @@
package com.supervise.rms.api.riskblacklist;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author feikefei
* @create 2023-06-19-9:46
*/
@Data
public class RiskBlacklistDto implements Dto {
private Integer id;
private String sid;
@ApiModelProperty("备注信息")
private String remarks;
@ApiModelProperty("风险对象Sid")
private String objectSid;
@ApiModelProperty("风险对象类型1.供应商2.仓库3.门店")
private Integer objectType;
}

2
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/RmsApplication.java

@ -4,6 +4,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication(scanBasePackages = {
"com.supervise.rms",
@ -11,6 +12,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
})
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {})
@EnableScheduling
public class RmsApplication {
public static void main(String[] args) {
SpringApplication.run(RmsApplication.class, args);

17
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskblacklist/RiskBlacklistMapper.java

@ -0,0 +1,17 @@
package com.supervise.rms.biz.riskblacklist;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervise.rms.api.riskblacklist.RiskBlacklist;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author feikefei
* @create 2023-06-20-13:50
*/
@Mapper
public interface RiskBlacklistMapper extends BaseMapper<RiskBlacklist> {
List<RiskBlacklist> selectRiskBlackList();
}

7
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskblacklist/RiskBlacklistMapper.xml

@ -0,0 +1,7 @@
<?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.supervise.rms.biz.riskblacklist.RiskBlacklistMapper">
<select id="selectRiskBlackList" resultType="com.supervise.rms.api.riskblacklist.RiskBlacklist">
select * from risk_blacklist
</select>
</mapper>

45
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskblacklist/RiskBlacklistRest.java

@ -0,0 +1,45 @@
package com.supervise.rms.biz.riskblacklist;
import com.supervise.rms.api.riskblacklist.RiskBlacklistDto;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author feikefei
* @create 2023-06-20-13:47
*/
@Api("风险黑名单")
@RestController("com.supervise.rmc.biz.riskblacklist.RiskBlackListRest")
@RequestMapping("v1/riskBlackList")
public class RiskBlacklistRest {
@Autowired
private RiskBlacklistService riskBlacklistService;
@ApiOperation("添加风险黑名单")
@PostMapping("/saveRiskBlackList")
public ResultBean saveRiskBlackList(@RequestBody RiskBlacklistDto dto){
return riskBlacklistService.saveRiskBlackList(dto);
}
@ApiOperation("删除风险黑名单中某一条数据")
@GetMapping("/del/{sid}")
public ResultBean del(@PathVariable String sid){
return riskBlacklistService.del(sid);
}
@ApiOperation("查询风险黑名单列表")
@GetMapping("/select")
public ResultBean select(){
return riskBlacklistService.select();
}
@ApiOperation("根据sid查询")
@GetMapping("/selectRiskBlackListBySid/{sid}")
public ResultBean selectRiskBlackListBySid(@PathVariable String sid){
return riskBlacklistService.selectRiskBlackListBySid(sid);
}
}

44
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskblacklist/RiskBlacklistService.java

@ -0,0 +1,44 @@
package com.supervise.rms.biz.riskblacklist;
import cn.hutool.core.bean.BeanUtil;
import com.supervise.rms.api.riskblacklist.RiskBlacklist;
import com.supervise.rms.api.riskblacklist.RiskBlacklistDto;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author feikefei
* @create 2023-06-20-13:49
*/
@Service
public class RiskBlacklistService extends MybatisBaseService<RiskBlacklistMapper, RiskBlacklist> {
public ResultBean saveRiskBlackList(RiskBlacklistDto dto){
ResultBean rb = ResultBean.fireFail();
RiskBlacklist riskBlacklist = new RiskBlacklist();
BeanUtil.copyProperties(dto,riskBlacklist);
baseMapper.insert(riskBlacklist);
return rb.success().setMsg("添加成功");
}
public ResultBean del(String sid){
ResultBean rb = ResultBean.fireFail();
deleteBySid(sid);
return rb.success().setMsg("删除成功");
}
public ResultBean select(){
ResultBean rb = ResultBean.fireFail();
List<RiskBlacklist> riskBlacklists = baseMapper.selectRiskBlackList();
return rb.success().setData(riskBlacklists);
}
public ResultBean selectRiskBlackListBySid(String sid){
ResultBean rb = ResultBean.fireFail();
RiskBlacklist riskBlacklist = fetchBySid(sid);
return rb.success().setData(riskBlacklist);
}
}

123
yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/config/QichachaConfig.java

@ -1,16 +1,16 @@
package com.supervise.rms.config;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONException;
import cn.hutool.json.JSONObject;
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.supervise.rms.api.businessriskdata.BusinessRiskDataDto;
import com.supervise.rms.api.Feign.projectinformation.ProjectInformationFeign;
import com.supervise.rms.api.Feign.projectinformation.ProjectInformationQuery;
import com.supervise.rms.api.Feign.projectinformation.ProjectInformationVo;
import com.supervise.rms.api.businessriskdate.BusinessRiskDateDto;
import com.supervise.rms.api.enterpriseinformation.EnterpriseInformation;
import com.supervise.rms.biz.businessriskdate.BusinessRiskDateService;
import com.supervise.rms.biz.enterpriseinformation.EnterpriseInformationService;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
@ -27,10 +27,10 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
@ -38,23 +38,19 @@ import java.io.IOException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @author feikefei
* @create 2023-06-07-9:37
*/
@Component
@EnableScheduling
public class QichachaConfig {
private static PoolingHttpClientConnectionManager httpClientConnectionManager;
@Autowired
private EnterpriseInformationService enterpriseInformationService;
@Autowired
private BusinessRiskDateService businessRiskDateService;
@Resource
private ProjectInformationFeign projectInformationFeign;
@Value("${qichacha.appKey}")
private String APPkey;
@ -63,20 +59,34 @@ public class QichachaConfig {
@Value("${qichacha.URL}")
private String URL;
//设置连接超时时间,单位毫秒。
public final static int CONNECT_TIMEOUT = 30000;
//设置从connect Manager获取Connection 超时时间,单位毫秒。这个属性是新加的属性,因为目前版本是可以共享连接池的。
public final static int CONNECT_REQUEST_TIMEOUT = 10000;
//请求获取数据的超时时间,单位毫秒。 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用。
public final static int SOCKET_TIMEOUT = 30000;
//每周日凌晨1点执行
//每周日凌晨1点执行 每两秒执行0/2 * * * * ?
// @Scheduled(cron = "0 0 1 ? * 1")
public void enterpriseRiskInquiry(){
String currDay = DateUtil.format(new Date(), "yyyy-MM-dd");
List<EnterpriseInformation> list = enterpriseInformationService.enterpriseInformationList();
for (EnterpriseInformation enterpriseInformation : list) {
String paramStr = "searchKey=" + enterpriseInformation.getEnterpriseName();
//创建对象设置参数
PagerQuery<ProjectInformationQuery> query = new PagerQuery<>();
query.setCurrent(1);
query.setSize(15);
query.setParams(new ProjectInformationQuery());
//调用项目管理 项目接口
ResultBean<PagerVo<ProjectInformationVo>> listPage = projectInformationFeign.listPage(query);
List<ProjectInformationVo> records = listPage.getData().getRecords();
//使用set进行去重
// HashSet<String> set = new HashSet<>();
// for (ProjectInformationVo record : records) {
// set.add(record.getEnterpriseName());
// }
// Iterator<String> iterator = set.iterator();
// while (iterator.hasNext()){
// iterator.next();
// }
String name = "";
for (ProjectInformationVo datum : records) {
if (name.equals(datum.getEnterpriseName())){
continue;
}
name = datum.getEnterpriseName();
String paramStr = "searchKey=" + datum.getEnterpriseName();
try {
HttpHead reqHeader = new HttpHead();
String[] autherHeader = RandomAuthentHeader();
@ -86,7 +96,7 @@ public class QichachaConfig {
String tokenJson = httpGet(reqUri, reqHeader.getAllHeaders());
System.out.println(String.format("==========================>this is response:{%s}", tokenJson));
BusinessRiskDateDto businessRiskDateDto = FormartJson(tokenJson);
businessRiskDateDto.setBusinessName(enterpriseInformation.getEnterpriseName());
businessRiskDateDto.setBusinessName(datum.getEnterpriseName());
businessRiskDateDto.setExecutionTime(currDay);
Map<String, Object> result = businessRiskDateDto.getResult();
if (result == null){
@ -102,67 +112,6 @@ public class QichachaConfig {
}
public static void main(String[] args) throws Exception {
// List<String> arrayList = new ArrayList();
// arrayList.add("石家庄瀚川商贸有限公司");
// arrayList.add("石家庄富荣食品有限公司");
// arrayList.add("河北昌特汽车贸易有限公司");
// arrayList.add("河北旭东能源科技有限公司");
// Map<String, Object> map = new HashMap();
// map.put("searchKey","searchKey=石家庄瀚川商贸有限公司");
// String uriBuilder = URL;
// // 2.设置请求参数
// if (map != null) {
// // 遍历请求参数
// for (Map.Entry<String, Object> entry : map.entrySet()) {
// // 封装请求参数
// uriBuilder = uriBuilder.concat("?key=").concat(APPKEY).concat("&").concat(entry.getValue().toString());
// }
// }
// System.out.println("输出"+uriBuilder);
// // 3.创建请求对象httpGet
// HttpGet httpGet = new HttpGet(uriBuilder);
// /*
// * 添加请求头信息
// */
// String[] autherHeader = RandomAuthentHeader();
// httpGet.setHeader("Token", autherHeader[0]);
// httpGet.setHeader("Timespan", autherHeader[1]);
//
// // 3. 使用Httpclient发起请求
// CloseableHttpClient httpclient = HttpClients.createDefault();
// RequestConfig requestConfig = RequestConfig.custom()
// .setConnectTimeout(CONNECT_TIMEOUT)//设置连接超时时间,单位毫秒。
// .setConnectionRequestTimeout(CONNECT_REQUEST_TIMEOUT)//设置从connect Manager获取Connection 超时时间,单位毫秒。这个属性是新加的属性,因为目前版本是可以共享连接池的。
// .setSocketTimeout(SOCKET_TIMEOUT)//请求获取数据的超时时间,单位毫秒。 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用。
// .build();
// httpGet.setConfig(requestConfig);
// CloseableHttpResponse response = httpclient.execute(httpGet);
//
// // 4. 解析返回数据,封装HttpResult
// // 4.1状态码
// int code = response.getStatusLine().getStatusCode();
// // 4.2 响应体内容
// String body = null;
// if (response.getEntity() != null) {
// body = EntityUtils.toString(response.getEntity(), "UTF-8");
// }
// System.out.println("************-----------****************");
// System.out.println(body);
// String paramStr = "searchKey=石家庄瀚川商贸有限公司";
try {
// HttpHead reqHeader = new HttpHead();
// String[] autherHeader = RandomAuthentHeader();
// reqHeader.setHeader("Token", autherHeader[0]);
// reqHeader.setHeader("Timespan", autherHeader[1]);
// final String reqUri = URL.concat("?key=").concat(APPkey).concat("&").concat(paramStr);
// String tokenJson = httpGet(reqUri, reqHeader.getAllHeaders());
// System.out.println(String.format("==========================>this is response:{%s}", tokenJson));
//
// BusinessRiskDateDto businessRiskDateDto = FormartJson(tokenJson);
}catch (Exception e){
e.printStackTrace();
}
}
// 获取Auth Code

Loading…
Cancel
Save