Browse Source

fix:【数据逻辑】修改

master
zhangjing 1 month ago
parent
commit
57d7850444
10 changed files with 218 additions and 83 deletions
  1. +125
    -0
      src/main/java/com/fkzy/warn/common/util/CaseRoleMapping.java
  2. +3
    -3
      src/main/java/com/fkzy/warn/common/util/Demo.java
  3. +20
    -18
      src/main/java/com/fkzy/warn/common/util/LawResearchUtil.java
  4. +18
    -17
      src/main/java/com/fkzy/warn/common/util/ReportUtil.java
  5. +11
    -1
      src/main/java/com/fkzy/warn/model/EnterpriseAlarmInfo.java
  6. +1
    -0
      src/main/java/com/fkzy/warn/model/MonitorUsers.java
  7. +12
    -28
      src/main/java/com/fkzy/warn/service/impl/AlarmCaseServiceImpl.java
  8. +27
    -15
      src/main/java/com/fkzy/warn/service/impl/LawCaseServiceImpl.java
  9. +1
    -0
      丰县城市建设投资集团有限公司-司法.txt
  10. +0
    -1
      司法.txt

+ 125
- 0
src/main/java/com/fkzy/warn/common/util/CaseRoleMapping.java View File

@ -0,0 +1,125 @@
package com.fkzy.warn.common.util;
import java.util.HashMap;
import java.util.Map;
/**
* @author zhangjing
* @date 2026/03/10 18:04
* @description
*/
public enum CaseRoleMapping {
// 民事
CIVIL_PLAINTIFF("civil", "原告", "原告"),
CIVIL_DEFENDANT("civil", "被告", "被告"),
CIVIL_COUNTER_PLAINTIFF("civil", "反诉原告", "原告"),
CIVIL_COUNTER_DEFENDANT("civil", "反诉被告", "被告"),
CIVIL_THIRD_PARTY("civil", "第三人", "第三人"),
CIVIL_APPELLANT("civil", "上诉人", "原告"),
CIVIL_RESPONDENT("civil", "被上诉人", "被告"),
CIVIL_ORIGINAL_PLAINTIFF("civil", "原审原告", "原告"),
CIVIL_ORIGINAL_DEFENDANT("civil", "原审被告", "被告"),
CIVIL_ORIGINAL_THIRD_PARTY("civil", "原审第三人", "第三人"),
CIVIL_ORIGINAL_APPLICANT("civil", "原审申请人", "原告"),
CIVIL_ORIGINAL_RESPONDENT("civil", "原审被申请人", "被告"),
// 刑事
CRIMINAL_DEFENDANT("criminal", "被告人", "被告"),
CRIMINAL_PRIVATE_PROSECUTOR("criminal", "自诉人", "原告"),
CRIMINAL_COUNTER_PLAINTIFF("criminal", "反诉人", "原告"),
CRIMINAL_COUNTER_DEFENDANT("criminal", "反诉被告人", "被告"),
CRIMINAL_CIVIL_PLAINTIFF("criminal", "附带民事诉讼原告", "原告"),
CRIMINAL_CIVIL_DEFENDANT("criminal", "附带民事诉讼被告", "被告"),
CRIMINAL_CIVIL_COUNTER_PLAINTIFF("criminal", "附带民事诉讼反诉原告", "原告"),
CRIMINAL_CIVIL_COUNTER_DEFENDANT("criminal", "附带民事诉讼反诉被告", "被告"),
CRIMINAL_APPELLANT("criminal", "上诉人", "原告"),
CRIMINAL_ORIGINAL_DEFENDANT_2("criminal", "原审被告人", "被告"),
CRIMINAL_ORIGINAL_CIVIL_PLAINTIFF("criminal", "原审附带民事诉讼原告", "原告"),
CRIMINAL_ORIGINAL_CIVIL_DEFENDANT("criminal", "原审附带民事诉讼被告", "被告"),
CRIMINAL_REVIEW_APPLICANT("criminal", "申请复议人", "原告"),
CRIMINAL_ORIGINAL_RESPONDENT_2("criminal", "原审被申请人", "被告"),
CRIMINAL_INTERESTED_PARTY("criminal", "原审利害关系人", "第三人"),
CRIMINAL_SUSPECT("criminal", "犯罪嫌疑人", "被告"),
CRIMINAL_ORIGINAL_COUNTER_DEFENDANT("criminal", "原审反诉被告人", "被告"),
CRIMINAL_ORIGINAL_COUNTER_PLAINTIFF("criminal", "原审反诉人", "原告"),
// 行政
ADMINISTRATIVE_PLAINTIFF("administrative", "原告", "原告"),
ADMINISTRATIVE_DEFENDANT("administrative", "被告", "被告"),
ADMINISTRATIVE_THIRD_PARTY("administrative", "第三人", "第三人"),
ADMINISTRATIVE_APPELLANT("administrative", "上诉人", "原告"),
ADMINISTRATIVE_RESPONDENT("administrative", "被上诉人", "被告"),
ADMINISTRATIVE_ORIGINAL_PLAINTIFF("administrative", "原审原告", "原告"),
ADMINISTRATIVE_ORIGINAL_DEFENDANT("administrative", "原审被告", "被告"),
ADMINISTRATIVE_ORIGINAL_THIRD_PARTY("administrative", "原审第三人", "第三人"),
// 非诉保全审查
NON_LITIGATION_APPLICANT("preservation", "申请人", "原告"),
NON_LITIGATION_RESPONDENT("preservation", "被申请人", "被告"),
// 执行
ENFORCEMENT_APPLICANT("implement", "申请执行人", "原告"),
ENFORCEMENT_RESPONDENT("implement", "被执行人", "被告"),
ENFORCEMENT_OBJECTOR("implement", "异议人", "第三人"),
ENFORCEMENT_REVIEW_APPLICANT("implement", "申请复议人", "原告"),
ENFORCEMENT_INTERESTED_PARTY("implement", "利害关系人", "第三人"),
ENFORCEMENT_OUTSIDER("implement", "案外人", "第三人"),
ENFORCEMENT_APPLICANT_GENERIC("implement", "申请人", "原告"),
ENFORCEMENT_RESPONDENT_GENERIC("implement", "被申请人", "被告"),
ENFORCEMENT_THIRD_PARTY("implement", "第三人", "第三人"),
// 强制清算与破产
BANKRUPTCY_APPLICANT("bankrupt", "申请人", "原告"),
BANKRUPTCY_RESPONDENT("bankrupt", "被申请人", "被告"),
BANKRUPTCY_SUPERVISION_APPELLANT("bankrupt", "原审上诉人", "原告"),
BANKRUPTCY_SUPERVISION_RESPONDENT("bankrupt", "原审被上诉人", "被告"),
BANKRUPTCY_ORIGINAL_APPLICANT("bankrupt", "原审申请人", "原告"),
BANKRUPTCY_ORIGINAL_RESPONDENT("bankrupt", "原审被申请人", "被告"),
BANKRUPTCY_APPEAL_APPELLANT("bankrupt", "上诉人", "原告"),
BANKRUPTCY_APPEAL_RESPONDENT("bankrupt", "被上诉人", "被告"),
// 通用兜底
OTHER("所有类型", "其他", "第三人");
private static final Map<String, String> MAPPING = new HashMap<>();
static {
for (CaseRoleMapping mapping : values()) {
String key = buildKey(mapping.caseType, mapping.roleKey);
MAPPING.put(key, mapping.statCategory);
}
}
private final String caseType;
private final String roleKey;
private final String statCategory;
CaseRoleMapping(String caseType, String roleKey, String statCategory) {
this.caseType = caseType;
this.roleKey = roleKey;
this.statCategory = statCategory;
}
private static String buildKey(String caseType, String roleKey) {
return caseType + "|" + roleKey;
}
/**
* 根据案件类型和域值获取统计分类
*
* @param caseType 案件类型 "civil""criminal"
* @param roleKey 域值 "原告""上诉人"
* @return 对应的统计分类如未找到则返回 null
*/
public static String getStatCategory(String caseType, String roleKey) {
if (caseType == null || roleKey == null) {
return "第三人";
}
String result = MAPPING.get(buildKey(caseType, roleKey));
if (result==null){
return "第三人";
}
return result;
}
}

+ 3
- 3
src/main/java/com/fkzy/warn/common/util/Demo.java View File

@ -23,12 +23,12 @@ import java.util.*;
public class Demo {
public static void main(String[] args) {
LawResearchUtil law = new LawResearchUtil();
law.querySxx(null, null);
// law.querySxx(null, null);
// law.queryDishonest(null, null,null,null);
// law.queryLimitConsumption(null, null,null,null);
law.queryLimitConsumption(null, null,null,null);
// law.monitorQuery(null, null);
// law.delcompany(null);
law.queryMonitorCases(null,null,null);
// law.queryMonitorCases(null,null,null);
// law.addpublic(null);
}

+ 20
- 18
src/main/java/com/fkzy/warn/common/util/LawResearchUtil.java View File

@ -57,7 +57,7 @@ public class LawResearchUtil {
);
}
//-------------------------------新接口--------------------
public String querySxx(String name, String creditCode) {
public static String querySxx(String name, String creditCode) {
//默认测试数据
if (name == null) {
@ -67,8 +67,10 @@ public class LawResearchUtil {
// creditCode = "91320301MA20TF8T84";
// name = "驻马店福强实业有限公司";
// creditCode = "91411728MA47Q0KJ5B";
name = "北京图灵高斯科技服务有限公司";
creditCode = "91110102MACPFACT41";
// name = "北京图灵高斯科技服务有限公司";
// creditCode = "91110102MACPFACT41";
name = "丰县城市建设投资集团有限公司";
creditCode = "91320321687806130M";
// name = "恒大集团有限公司";
// creditCode = "91440300087909371X";
}
@ -88,20 +90,24 @@ public class LawResearchUtil {
public String queryDishonest(String companyName, String fromDate, String legalPersionName, String creditcode) {
//默认测试数据
if (companyName == null) {
// companyName = "恒大集团有限公司";
// fromDate = "2022/01/01";
legalPersionName = "杨贵单";
// creditcode = "91440300087909371X";
}
JSONArray array = new JSONArray();
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", legalPersionName);
// jsonObject.put("creditCode", creditcode);
// if (companyName == null) {
// legalPersionName = "杨贵单";
// jsonObject.put("type","0");
// jsonObject.put("name", legalPersionName);
// jsonObject.put("id", "623021198104204013");
// }
if (companyName==null){
companyName = "恒大集团有限公司";
jsonObject.put("name", companyName);
}
jsonObject.put("authorize", 1);
jsonObject.put("id", "623021198104204013");
jsonObject.put("type","0");
array.add(jsonObject);
return getData(LawResearchUrlConstants.BASE_URL + LawResearchUrlConstants.QUERY_DISHONEST,
array, null, null
@ -114,15 +120,11 @@ public class LawResearchUtil {
//默认测试数据
if (companyName == null) {
companyName = "恒大集团有限公司";
// fromDate = "2022/01/01";
legalPersionName = "施新桃";
creditcode = "91440300087909371X";
}
JSONArray array = new JSONArray();
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", companyName);
jsonObject.put("creditCode", creditcode);
jsonObject.put("authorize", 1);
array.add(jsonObject);
return getData(LawResearchUrlConstants.BASE_URL + LawResearchUrlConstants.QUERY_LIMITCONSUMPTION,

+ 18
- 17
src/main/java/com/fkzy/warn/common/util/ReportUtil.java View File

@ -990,34 +990,34 @@ public class ReportUtil {
provinceMap.put(name,new EnterpriseProvince(data.getCreditCode(), name,0,BigDecimal.ZERO));
}
BigDecimal totalAmount = BigDecimal.ZERO;
slcxCaseCountMap.put("一审", 0);
slcxCaseCountMap.put("二审", 0);
slcxCaseCountMap.put("再审审查", 0);
slcxCaseCountMap.put("再审", 0);
slcxCaseCountMap.put("执行", 0);
slcxCaseAmountMap.put("一审", BigDecimal.ZERO);
slcxCaseAmountMap.put("二审", BigDecimal.ZERO);
slcxCaseAmountMap.put("再审审查", BigDecimal.ZERO);
slcxCaseAmountMap.put("再审", BigDecimal.ZERO);
slcxCaseAmountMap.put("执行", BigDecimal.ZERO);
roleCaseCountMap.put("原告", 0);
roleCaseCountMap.put("被告", 0);
roleCaseCountMap.put("第三人", 0);
roleCaseCountMap.put("其他", 0);
roleCaseAmountMap.put("原告", BigDecimal.ZERO);
roleCaseAmountMap.put("被告", BigDecimal.ZERO);
roleCaseAmountMap.put("第三人", BigDecimal.ZERO);
roleCaseAmountMap.put("其他", BigDecimal.ZERO);
if (!caseList.isEmpty()) {
for (LawCase lawCase : caseList) {
String slcx = lawCase.getNSlcx();
if (lawCase.getCaseType().equals("implement")){
slcx = "执行";
}
String companyName = lawCase.getCompanyName();
if (slcxCaseCountMap.containsKey(slcx)) {
slcxCaseCountMap.put(slcx, slcxCaseCountMap.get(slcx) + 1);
@ -1034,15 +1034,13 @@ public class ReportUtil {
provinceMap.put(lawCase.getCSsdy(), enterpriseProvince);
}
for (LitigantInfo litigantInfo : lawCase.getLitigantInfoList()) {
String role = litigantInfo.getNSsdw();
if (companyName.equals(litigantInfo.getCMc()) && roleCaseCountMap.containsKey(role)) {
String role =CaseRoleMapping.getStatCategory(lawCase.getCaseType(),lawCase.getNSsdw());
if (roleCaseCountMap.containsKey(role)) {
roleCaseCountMap.put(role, roleCaseCountMap.get(role) + 1);
if (lawCase.getNQsbdje() != null) {
roleCaseAmountMap.put(role, roleCaseAmountMap.get(role).add(lawCase.getNQsbdje()));
}
}
}
if (lawCase.getNQsbdje() != null) {
totalAmount = totalAmount.add(lawCase.getNQsbdje());
}
@ -1103,25 +1101,28 @@ public class ReportUtil {
//审理阶段
data.setYsCount(slcxCaseCountMap.get("一审"));
data.setEsCount(slcxCaseCountMap.get("二审"));
data.setZsCount(slcxCaseCountMap.get("再审审查"));
data.setZxCount(slcxCaseCountMap.get("再审"));
data.setZsscCount(slcxCaseCountMap.get("再审审查"));
data.setZsCount(slcxCaseCountMap.get("再审"));
data.setZxCount(slcxCaseCountMap.get("执行"));
data.setYsAmount(slcxCaseAmountMap.get("一审"));
data.setEsAmount(slcxCaseAmountMap.get("二审"));
data.setZsAmount(slcxCaseAmountMap.get("再审审查"));
data.setZxAmount(slcxCaseAmountMap.get("再审"));
data.setZsscAmount(slcxCaseAmountMap.get("再审审查"));
data.setZsAmount(slcxCaseAmountMap.get("再审"));
data.setZxAmount(slcxCaseAmountMap.get("执行"));
//诉讼地位
data.setYgCount(roleCaseCountMap.get("原告"));
data.setBgCount(roleCaseCountMap.get("被告"));
data.setDsrCount(roleCaseCountMap.get("第三人"));
data.setQtCount(roleCaseCountMap.get("其他"));
data.setYgAmount(roleCaseAmountMap.get("原告"));
data.setBgAmount(roleCaseAmountMap.get("被告"));
data.setDsrAmount(roleCaseAmountMap.get("第三人"));
data.setQtAmount(roleCaseAmountMap.get("其他"));
for(String k:provinceMap.keySet()) {
enterpriseProvinceList.add(provinceMap.get(k));
}
enterpriseProvinceList.sort((o1, o2) -> o2.getCount().compareTo(o1.getCount()));
enterpriseProvinceList.sort((o1, o2) -> o2.getAmount().compareTo(o1.getAmount()));
List<EnterpriseProvince> topThree = enterpriseProvinceList.subList(0, Math.min(3, enterpriseProvinceList.size()));
BigDecimal mapAmount = BigDecimal.ZERO;

+ 11
- 1
src/main/java/com/fkzy/warn/model/EnterpriseAlarmInfo.java View File

@ -114,7 +114,11 @@ public class EnterpriseAlarmInfo extends BaseField{
*/
@ApiModelProperty("二审数")
private Integer esCount;
/**
* 再审数
*/
@ApiModelProperty("再审审查数")
private Integer zsscCount;
/**
* 再审数
*/
@ -190,6 +194,12 @@ public class EnterpriseAlarmInfo extends BaseField{
private BigDecimal esAmount;
/**
* 再审审查金额
*/
@ApiModelProperty("再审审查金额")
private BigDecimal zsscAmount;
/**
* 再审金额
*/
@ApiModelProperty("再审金额")

+ 1
- 0
src/main/java/com/fkzy/warn/model/MonitorUsers.java View File

@ -52,4 +52,5 @@ public class MonitorUsers extends BaseField{
*/
@ApiModelProperty("绑定人")
private Integer bindUserId;
}

+ 12
- 28
src/main/java/com/fkzy/warn/service/impl/AlarmCaseServiceImpl.java View File

@ -1,19 +1,15 @@
package com.fkzy.warn.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fkzy.warn.common.constants.EntityConstants;
import com.fkzy.warn.common.util.LawResearchUtil;
import com.fkzy.warn.common.util.TimeUtil;
import com.fkzy.warn.mapper.AlarmCaseMapper;
import com.fkzy.warn.model.AlarmCase;
import com.fkzy.warn.model.LawCase;
import com.fkzy.warn.model.LitigantInfo;
import com.fkzy.warn.model.MonitorUsers;
import com.fkzy.warn.service.AlarmCaseService;
import com.fkzy.warn.service.LawCaseService;
@ -42,9 +38,10 @@ public class AlarmCaseServiceImpl extends ServiceImpl
@Resource
MonitorUsersService monitorUsersService;
@Override
public void saveModel(AlarmCase entity, String ticket) {
save(entity);
}
@Override
@ -72,6 +69,8 @@ public class AlarmCaseServiceImpl extends ServiceImpl
return;
}
JSONArray arr = jsonObject.getJSONArray("data");
List<MonitorUsers> monitorUsersList = new ArrayList<>();
if (arr!=null&& !arr.isEmpty()){
List<AlarmCase> alarmCaseList = arr.toJavaList(AlarmCase.class);
if (alarmCaseList!=null&&!alarmCaseList.isEmpty()){
@ -82,33 +81,18 @@ public class AlarmCaseServiceImpl extends ServiceImpl
item.setCompanyName(monitorUsers!=null?monitorUsers.getCompanyName():null);
item.setCreditCode(monitorUsers!=null?monitorUsers.getCreditCode():null);
item.setAlarmDate(new Date());
monitorUsersList.add(monitorUsers);
});
}
saveBatch(alarmCaseList);
this.saveBatch(alarmCaseList);
//如果有预警需要再查司法全量数据有待考虑,先存预警信息
List<LawCase> lawCaseList = arr.toJavaList(LawCase.class);
lawCaseService.saveOrUpdateBatch(lawCaseList);
//保存原告被告
for (int i = 0; i < arr.size(); i++) {
List<LitigantInfo> litigantInfoList = new ArrayList<>();
JSONObject object = arr.getJSONObject(i);
JSONArray cDsrxx = object.getJSONArray("c_dsrxx");
String ajbs = object.getString("n_ajbs");
String ah = object.getString("n_ah");
for (int j = 0; j < cDsrxx.size(); j++) {
JSONObject obj = cDsrxx.getJSONObject(j);
LitigantInfo litigantInfo = JSON.parseObject(obj.toString(), LitigantInfo.class);
litigantInfo.setNAjbs(ajbs);
litigantInfo.setCAh(ah);
litigantInfoList.add(litigantInfo);
}
litigantInfoService.remove(new LambdaQueryWrapper<LitigantInfo>()
.eq(StringUtils.isNotBlank(ajbs),LitigantInfo::getNAjbs,ajbs)
.eq(StringUtils.isNotBlank(ah),LitigantInfo::getCAh,ah)
);
litigantInfoService.saveBatch(litigantInfoList);
};
monitorUsersList.forEach(item ->{
String lawResult = LawResearchUtil.querySxx(item.getCompanyName(),item.getCreditCode());
JSONObject object = JSONObject.parseObject(lawResult);
lawCaseService.judicialModelSave(object);
});
}

+ 27
- 15
src/main/java/com/fkzy/warn/service/impl/LawCaseServiceImpl.java View File

@ -126,7 +126,18 @@ public class LawCaseServiceImpl extends ServiceImpl impl
}
return caseList;
}
public List<LawCase> allCase(String creditCode) {
QueryWrapper<LawCase> query = new QueryWrapper<>();
query.eq("credit_code", creditCode);
List<LawCase> caseList = this.list(query);
for (LawCase lawCase : caseList) {
QueryWrapper<LitigantInfo> infoQueryWrapper = new QueryWrapper<>();
infoQueryWrapper.eq("n_ajbs", lawCase.getNAjbs());
lawCase.setLitigantInfoList(litigantInfoService.list(infoQueryWrapper));
}
return caseList;
}
private ReportModel createReportData(String creditCode){
ReportModel reportModel = new ReportModel();
QueryWrapper<EnterpriseInfo> enterpriseInfoQueryWrapper = new QueryWrapper<>();
@ -165,8 +176,9 @@ public class LawCaseServiceImpl extends ServiceImpl impl
List<LawCase> threeMonths = threeMonthsCases(creditCode,false);
data.setThreeMonthsCount(threeMonths.size());
data.setThreeMonthsAmount(ReportUtil.getCaseAmount(threeMonths));
//近三年案件信息
List<LawCase> threeYears = threeYearsCases(creditCode);
//近三年案件信息 3-10 统计调整为全部
// List<LawCase> threeYears = threeYearsCases(creditCode);
List<LawCase> threeYears = allCase(creditCode);
List<EnterpriseProvince> enterpriseProvinceList = new ArrayList<>();
ReportUtil.setAlarmInfo(data, threeYears,enterpriseProvinceList);
QueryWrapper<EnterpriseProvince> enterpriseProvinceQueue = new QueryWrapper<>();
@ -183,16 +195,16 @@ public class LawCaseServiceImpl extends ServiceImpl impl
return;
}
// ReportModel reportModel = createReportData();
// ReportUtil.createReport(reportModel);
String filePath = "徐州-司法.txt";
// String filePath = "工商.txt";
String jsonOutput = convertTextToJson(filePath);
if (jsonOutput == null) {
logger.error("转换失败,JSON 字符串为空");
return;
}
jsonObject = new JSONObject().parseObject(jsonOutput);
//// ReportModel reportModel = createReportData();
//// ReportUtil.createReport(reportModel);
// String filePath = "丰县城市建设投资集团有限公司-司法.txt";
//// String filePath = "工商.txt";
// String jsonOutput = convertTextToJson(filePath);
// if (jsonOutput == null) {
// logger.error("转换失败,JSON 字符串为空");
// return;
// }
// jsonObject = new JSONObject().parseObject(jsonOutput);
// enterpriseInfoService.industryModelSave(jsonObject);
JSONArray arr = jsonObject.getJSONArray("data");
if (arr == null || arr.isEmpty()) {
@ -226,9 +238,9 @@ public class LawCaseServiceImpl extends ServiceImpl impl
// .collect(Collectors.toList());
// dishonestInfoService.saveOrUpdateBatch(dishonestInfoList);
// // 八类案件
// JSONObject detail = data.getJSONObject("detail");
// setCases(detail, companyName, creditCode);
// 八类案件
JSONObject detail = data.getJSONObject("detail");
setCases(detail, companyName, creditCode);
//
// // 限高
// JSONObject xg = data.getJSONObject("xg");

+ 1
- 0
丰县城市建设投资集团有限公司-司法.txt
File diff suppressed because it is too large
View File


+ 0
- 1
司法.txt
File diff suppressed because it is too large
View File


Loading…
Cancel
Save