This commit is contained in:
Mrx
2026-06-10 17:47:36 +08:00
parent 9d4a3f584c
commit 66e8bb267d
10 changed files with 3055 additions and 45 deletions

View File

@@ -16,7 +16,7 @@
| 产品编码 | 产品名称 | 价格 | API接口名称 |
| 产品编码 | 产品名称 | 价格 ¥2.06 | API接口名称 |
| :--- | :--- | :--- | :--- |
|| YYSYE7V5 | 手机在网状态V即时版 | ¥0.03 / 次 | /v1/mobile_status/check |
|| YYSYP0T4 | 手机号码在网时长V即时版 | ¥0.15 / 次 | /v2/mobile_online/check |

View File

@@ -0,0 +1,876 @@
{
"behavior": {
"result": {
"black_list": "0",
"black_tag04": "0",
"black_tag05": "0",
"black_tag06": "0",
"black_tag07": "0",
"black_tag08": "0",
"black_tag09": "0",
"black_tag10": "0",
"black_tag11": "0",
"black_tag12": "0"
}
},
"complaint": {
"result": {
"dnc": 0,
"finance_times": {
"day_1": 0,
"day_14": 0,
"day_7": 0
},
"is_call": true,
"is_gp": false,
"is_lh": false,
"other_times": {
"day_1": 0,
"day_14": 8,
"day_7": 0
},
"score": 11
}
},
"duration": {
"channel": "cmcc",
"order_no": "101496411109944170",
"time": "[24,-1)"
},
"fraud": null,
"identity": {
"address": "广西壮族自治区玉林地区博白县",
"birthday": "19790713",
"desc": "一致",
"order_no": "fsxtvadtpcwky2qbkl",
"result": 0,
"sex": "男"
},
"intent": {
"Rule_final_decision": "Review",
"Rule_final_weight": "40",
"Rule_name_QJF040": "在非银机构多次申请-中度",
"Rule_weight_QJF040": "40",
"als_d15_cell_caoff_allnum": "2",
"als_d15_cell_caoff_orgnum": "1",
"als_d15_cell_coon_allnum": "3",
"als_d15_cell_coon_orgnum": "3",
"als_d15_cell_nbank_allnum": "4",
"als_d15_cell_nbank_ca_allnum": "2",
"als_d15_cell_nbank_ca_orgnum": "1",
"als_d15_cell_nbank_else_allnum": "2",
"als_d15_cell_nbank_else_orgnum": "2",
"als_d15_cell_nbank_finlea_allnum": "2",
"als_d15_cell_nbank_finlea_orgnum": "1",
"als_d15_cell_nbank_night_allnum": "0",
"als_d15_cell_nbank_night_orgnum": "0",
"als_d15_cell_nbank_orgnum": "3",
"als_d15_cell_nbank_oth_allnum": "2",
"als_d15_cell_nbank_oth_orgnum": "2",
"als_d15_cell_nbank_selfnum": "2",
"als_d15_cell_nbank_week_allnum": "0",
"als_d15_cell_nbank_week_orgnum": "0",
"als_d15_id_caoff_allnum": "2",
"als_d15_id_caoff_orgnum": "1",
"als_d15_id_coon_allnum": "3",
"als_d15_id_coon_orgnum": "3",
"als_d15_id_nbank_allnum": "4",
"als_d15_id_nbank_ca_allnum": "2",
"als_d15_id_nbank_ca_orgnum": "1",
"als_d15_id_nbank_else_allnum": "2",
"als_d15_id_nbank_else_orgnum": "2",
"als_d15_id_nbank_finlea_allnum": "2",
"als_d15_id_nbank_finlea_orgnum": "1",
"als_d15_id_nbank_night_allnum": "0",
"als_d15_id_nbank_night_orgnum": "0",
"als_d15_id_nbank_orgnum": "3",
"als_d15_id_nbank_oth_allnum": "2",
"als_d15_id_nbank_oth_orgnum": "2",
"als_d15_id_nbank_selfnum": "2",
"als_d15_id_nbank_week_allnum": "0",
"als_d15_id_nbank_week_orgnum": "0",
"als_d7_cell_caoff_allnum": "1",
"als_d7_cell_caoff_orgnum": "1",
"als_d7_cell_coon_allnum": "2",
"als_d7_cell_coon_orgnum": "2",
"als_d7_cell_nbank_allnum": "3",
"als_d7_cell_nbank_ca_allnum": "1",
"als_d7_cell_nbank_ca_orgnum": "1",
"als_d7_cell_nbank_else_allnum": "2",
"als_d7_cell_nbank_else_orgnum": "2",
"als_d7_cell_nbank_finlea_allnum": "1",
"als_d7_cell_nbank_finlea_orgnum": "1",
"als_d7_cell_nbank_night_allnum": "0",
"als_d7_cell_nbank_night_orgnum": "0",
"als_d7_cell_nbank_orgnum": "3",
"als_d7_cell_nbank_oth_allnum": "2",
"als_d7_cell_nbank_oth_orgnum": "2",
"als_d7_cell_nbank_selfnum": "1",
"als_d7_cell_nbank_week_allnum": "0",
"als_d7_cell_nbank_week_orgnum": "0",
"als_d7_id_caoff_allnum": "1",
"als_d7_id_caoff_orgnum": "1",
"als_d7_id_coon_allnum": "2",
"als_d7_id_coon_orgnum": "2",
"als_d7_id_nbank_allnum": "3",
"als_d7_id_nbank_ca_allnum": "1",
"als_d7_id_nbank_ca_orgnum": "1",
"als_d7_id_nbank_else_allnum": "2",
"als_d7_id_nbank_else_orgnum": "2",
"als_d7_id_nbank_finlea_allnum": "1",
"als_d7_id_nbank_finlea_orgnum": "1",
"als_d7_id_nbank_night_allnum": "0",
"als_d7_id_nbank_night_orgnum": "0",
"als_d7_id_nbank_orgnum": "3",
"als_d7_id_nbank_oth_allnum": "2",
"als_d7_id_nbank_oth_orgnum": "2",
"als_d7_id_nbank_selfnum": "1",
"als_d7_id_nbank_week_allnum": "0",
"als_d7_id_nbank_week_orgnum": "0",
"als_fst_cell_nbank_inteday": "210",
"als_fst_id_nbank_inteday": "210",
"als_lst_cell_nbank_consnum": "1",
"als_lst_cell_nbank_csinteday": "1",
"als_lst_cell_nbank_inteday": "5",
"als_lst_id_nbank_consnum": "1",
"als_lst_id_nbank_csinteday": "1",
"als_lst_id_nbank_inteday": "5",
"als_m12_cell_avg_monnum": "2.50",
"als_m12_cell_caoff_allnum": "2",
"als_m12_cell_caoff_orgnum": "1",
"als_m12_cell_caon_allnum": "1",
"als_m12_cell_caon_orgnum": "1",
"als_m12_cell_coon_allnum": "8",
"als_m12_cell_coon_orgnum": "3",
"als_m12_cell_max_inteday": "198",
"als_m12_cell_max_monnum": "4",
"als_m12_cell_min_inteday": "0",
"als_m12_cell_min_monnum": "0",
"als_m12_cell_nbank_allnum": "5",
"als_m12_cell_nbank_avg_monnum": "2.50",
"als_m12_cell_nbank_ca_allnum": "2",
"als_m12_cell_nbank_ca_orgnum": "1",
"als_m12_cell_nbank_else_allnum": "3",
"als_m12_cell_nbank_else_orgnum": "3",
"als_m12_cell_nbank_finlea_allnum": "2",
"als_m12_cell_nbank_finlea_orgnum": "1",
"als_m12_cell_nbank_max_inteday": "198",
"als_m12_cell_nbank_max_monnum": "4",
"als_m12_cell_nbank_min_inteday": "0",
"als_m12_cell_nbank_min_monnum": "0",
"als_m12_cell_nbank_night_allnum": "0",
"als_m12_cell_nbank_night_orgnum": "0",
"als_m12_cell_nbank_orgnum": "4",
"als_m12_cell_nbank_oth_allnum": "3",
"als_m12_cell_nbank_oth_orgnum": "3",
"als_m12_cell_nbank_selfnum": "2",
"als_m12_cell_nbank_tot_mons": "2",
"als_m12_cell_nbank_week_allnum": "0",
"als_m12_cell_nbank_week_orgnum": "0",
"als_m12_cell_tot_mons": "2",
"als_m12_id_avg_monnum": "2.50",
"als_m12_id_caoff_allnum": "2",
"als_m12_id_caoff_orgnum": "1",
"als_m12_id_caon_allnum": "1",
"als_m12_id_caon_orgnum": "1",
"als_m12_id_coon_allnum": "10",
"als_m12_id_coon_orgnum": "3",
"als_m12_id_max_inteday": "198",
"als_m12_id_max_monnum": "4",
"als_m12_id_min_inteday": "0",
"als_m12_id_min_monnum": "0",
"als_m12_id_nbank_allnum": "5",
"als_m12_id_nbank_avg_monnum": "2.50",
"als_m12_id_nbank_ca_allnum": "2",
"als_m12_id_nbank_ca_orgnum": "1",
"als_m12_id_nbank_else_allnum": "3",
"als_m12_id_nbank_else_orgnum": "3",
"als_m12_id_nbank_finlea_allnum": "2",
"als_m12_id_nbank_finlea_orgnum": "1",
"als_m12_id_nbank_max_inteday": "198",
"als_m12_id_nbank_max_monnum": "4",
"als_m12_id_nbank_min_inteday": "0",
"als_m12_id_nbank_min_monnum": "0",
"als_m12_id_nbank_night_allnum": "0",
"als_m12_id_nbank_night_orgnum": "0",
"als_m12_id_nbank_orgnum": "4",
"als_m12_id_nbank_oth_allnum": "3",
"als_m12_id_nbank_oth_orgnum": "3",
"als_m12_id_nbank_selfnum": "2",
"als_m12_id_nbank_tot_mons": "2",
"als_m12_id_nbank_week_allnum": "0",
"als_m12_id_nbank_week_orgnum": "0",
"als_m12_id_tot_mons": "2",
"als_m1_cell_caoff_allnum": "2",
"als_m1_cell_caoff_orgnum": "1",
"als_m1_cell_coon_allnum": "4",
"als_m1_cell_coon_orgnum": "3",
"als_m1_cell_nbank_allnum": "4",
"als_m1_cell_nbank_ca_allnum": "2",
"als_m1_cell_nbank_ca_orgnum": "1",
"als_m1_cell_nbank_else_allnum": "2",
"als_m1_cell_nbank_else_orgnum": "2",
"als_m1_cell_nbank_finlea_allnum": "2",
"als_m1_cell_nbank_finlea_orgnum": "1",
"als_m1_cell_nbank_night_allnum": "0",
"als_m1_cell_nbank_night_orgnum": "0",
"als_m1_cell_nbank_orgnum": "3",
"als_m1_cell_nbank_oth_allnum": "2",
"als_m1_cell_nbank_oth_orgnum": "2",
"als_m1_cell_nbank_selfnum": "2",
"als_m1_cell_nbank_week_allnum": "0",
"als_m1_cell_nbank_week_orgnum": "0",
"als_m1_id_caoff_allnum": "2",
"als_m1_id_caoff_orgnum": "1",
"als_m1_id_coon_allnum": "4",
"als_m1_id_coon_orgnum": "3",
"als_m1_id_nbank_allnum": "4",
"als_m1_id_nbank_ca_allnum": "2",
"als_m1_id_nbank_ca_orgnum": "1",
"als_m1_id_nbank_else_allnum": "2",
"als_m1_id_nbank_else_orgnum": "2",
"als_m1_id_nbank_finlea_allnum": "2",
"als_m1_id_nbank_finlea_orgnum": "1",
"als_m1_id_nbank_night_allnum": "0",
"als_m1_id_nbank_night_orgnum": "0",
"als_m1_id_nbank_orgnum": "3",
"als_m1_id_nbank_oth_allnum": "2",
"als_m1_id_nbank_oth_orgnum": "2",
"als_m1_id_nbank_selfnum": "2",
"als_m1_id_nbank_week_allnum": "0",
"als_m1_id_nbank_week_orgnum": "0",
"als_m3_cell_avg_monnum": "4.00",
"als_m3_cell_caoff_allnum": "2",
"als_m3_cell_caoff_orgnum": "1",
"als_m3_cell_coon_allnum": "6",
"als_m3_cell_coon_orgnum": "3",
"als_m3_cell_max_inteday": "7",
"als_m3_cell_max_monnum": "4",
"als_m3_cell_min_inteday": "0",
"als_m3_cell_min_monnum": "0",
"als_m3_cell_nbank_allnum": "4",
"als_m3_cell_nbank_avg_monnum": "4.00",
"als_m3_cell_nbank_ca_allnum": "2",
"als_m3_cell_nbank_ca_orgnum": "1",
"als_m3_cell_nbank_else_allnum": "2",
"als_m3_cell_nbank_else_orgnum": "2",
"als_m3_cell_nbank_finlea_allnum": "2",
"als_m3_cell_nbank_finlea_orgnum": "1",
"als_m3_cell_nbank_max_inteday": "7",
"als_m3_cell_nbank_max_monnum": "4",
"als_m3_cell_nbank_min_inteday": "0",
"als_m3_cell_nbank_min_monnum": "0",
"als_m3_cell_nbank_night_allnum": "0",
"als_m3_cell_nbank_night_orgnum": "0",
"als_m3_cell_nbank_orgnum": "3",
"als_m3_cell_nbank_oth_allnum": "2",
"als_m3_cell_nbank_oth_orgnum": "2",
"als_m3_cell_nbank_selfnum": "2",
"als_m3_cell_nbank_tot_mons": "1",
"als_m3_cell_nbank_week_allnum": "0",
"als_m3_cell_nbank_week_orgnum": "0",
"als_m3_cell_tot_mons": "1",
"als_m3_id_avg_monnum": "4.00",
"als_m3_id_caoff_allnum": "2",
"als_m3_id_caoff_orgnum": "1",
"als_m3_id_coon_allnum": "6",
"als_m3_id_coon_orgnum": "3",
"als_m3_id_max_inteday": "7",
"als_m3_id_max_monnum": "4",
"als_m3_id_min_inteday": "0",
"als_m3_id_min_monnum": "0",
"als_m3_id_nbank_allnum": "4",
"als_m3_id_nbank_avg_monnum": "4.00",
"als_m3_id_nbank_ca_allnum": "2",
"als_m3_id_nbank_ca_orgnum": "1",
"als_m3_id_nbank_else_allnum": "2",
"als_m3_id_nbank_else_orgnum": "2",
"als_m3_id_nbank_finlea_allnum": "2",
"als_m3_id_nbank_finlea_orgnum": "1",
"als_m3_id_nbank_max_inteday": "7",
"als_m3_id_nbank_max_monnum": "4",
"als_m3_id_nbank_min_inteday": "0",
"als_m3_id_nbank_min_monnum": "0",
"als_m3_id_nbank_night_allnum": "0",
"als_m3_id_nbank_night_orgnum": "0",
"als_m3_id_nbank_orgnum": "3",
"als_m3_id_nbank_oth_allnum": "2",
"als_m3_id_nbank_oth_orgnum": "2",
"als_m3_id_nbank_selfnum": "2",
"als_m3_id_nbank_tot_mons": "1",
"als_m3_id_nbank_week_allnum": "0",
"als_m3_id_nbank_week_orgnum": "0",
"als_m3_id_tot_mons": "1",
"als_m6_cell_avg_monnum": "4.00",
"als_m6_cell_caoff_allnum": "2",
"als_m6_cell_caoff_orgnum": "1",
"als_m6_cell_coon_allnum": "7",
"als_m6_cell_coon_orgnum": "3",
"als_m6_cell_max_inteday": "7",
"als_m6_cell_max_monnum": "4",
"als_m6_cell_min_inteday": "0",
"als_m6_cell_min_monnum": "0",
"als_m6_cell_nbank_allnum": "4",
"als_m6_cell_nbank_avg_monnum": "4.00",
"als_m6_cell_nbank_ca_allnum": "2",
"als_m6_cell_nbank_ca_orgnum": "1",
"als_m6_cell_nbank_else_allnum": "2",
"als_m6_cell_nbank_else_orgnum": "2",
"als_m6_cell_nbank_finlea_allnum": "2",
"als_m6_cell_nbank_finlea_orgnum": "1",
"als_m6_cell_nbank_max_inteday": "7",
"als_m6_cell_nbank_max_monnum": "4",
"als_m6_cell_nbank_min_inteday": "0",
"als_m6_cell_nbank_min_monnum": "0",
"als_m6_cell_nbank_night_allnum": "0",
"als_m6_cell_nbank_night_orgnum": "0",
"als_m6_cell_nbank_orgnum": "3",
"als_m6_cell_nbank_oth_allnum": "2",
"als_m6_cell_nbank_oth_orgnum": "2",
"als_m6_cell_nbank_selfnum": "2",
"als_m6_cell_nbank_tot_mons": "1",
"als_m6_cell_nbank_week_allnum": "0",
"als_m6_cell_nbank_week_orgnum": "0",
"als_m6_cell_tot_mons": "1",
"als_m6_id_avg_monnum": "4.00",
"als_m6_id_caoff_allnum": "2",
"als_m6_id_caoff_orgnum": "1",
"als_m6_id_coon_allnum": "8",
"als_m6_id_coon_orgnum": "3",
"als_m6_id_max_inteday": "7",
"als_m6_id_max_monnum": "4",
"als_m6_id_min_inteday": "0",
"als_m6_id_min_monnum": "0",
"als_m6_id_nbank_allnum": "4",
"als_m6_id_nbank_avg_monnum": "4.00",
"als_m6_id_nbank_ca_allnum": "2",
"als_m6_id_nbank_ca_orgnum": "1",
"als_m6_id_nbank_else_allnum": "2",
"als_m6_id_nbank_else_orgnum": "2",
"als_m6_id_nbank_finlea_allnum": "2",
"als_m6_id_nbank_finlea_orgnum": "1",
"als_m6_id_nbank_max_inteday": "7",
"als_m6_id_nbank_max_monnum": "4",
"als_m6_id_nbank_min_inteday": "0",
"als_m6_id_nbank_min_monnum": "0",
"als_m6_id_nbank_night_allnum": "0",
"als_m6_id_nbank_night_orgnum": "0",
"als_m6_id_nbank_orgnum": "3",
"als_m6_id_nbank_oth_allnum": "2",
"als_m6_id_nbank_oth_orgnum": "2",
"als_m6_id_nbank_selfnum": "2",
"als_m6_id_nbank_tot_mons": "1",
"als_m6_id_nbank_week_allnum": "0",
"als_m6_id_nbank_week_orgnum": "0",
"als_m6_id_tot_mons": "1"
},
"judicial": {
"judicial_data": {
"breachCaseList": [],
"consumptionRestrictionList": [],
"lawsuitStat": {
"administrative": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"bankrupt": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"cases_tree": {
"administrative": [],
"civil": [],
"criminal": [
{
"c_ah": "2016桂0923刑初90号",
"case_type": 200,
"n_ajbs": "b9a3062adcb707f23c7fe627642fe23c",
"stage_type": 1
},
{
"c_ah": "2016桂09刑终283号",
"case_type": 200,
"n_ajbs": "c511197ee4a8b29554c57adf0dd53f35",
"stage_type": 2
},
{
"c_ah": "2019桂0923刑初81号",
"case_type": 200,
"n_ajbs": "e90f9b13a9b0f102611e6b5a2ccf6a96",
"stage_type": 1
},
{
"c_ah": "2019桂09刑终146号",
"case_type": 200,
"n_ajbs": "80168c539c6ade4497706d0c32e4e229",
"stage_type": 2
}
]
},
"civil": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"count": {
"area_stat": "广西壮族自治区(4)",
"ay_stat": "妨害社会管理秩序罪(4)",
"count_beigao": 2,
"count_jie_beigao": 2,
"count_jie_other": 0,
"count_jie_total": 4,
"count_jie_yuangao": 2,
"count_other": 0,
"count_total": 4,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 2,
"jafs_stat": "判决(2),维持(1),改判(1)",
"larq_stat": "2016(2),2019(2)",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
},
"crc": 4070442485,
"criminal": {
"cases": [
{
"c_ah": "2016桂0923刑初90号",
"c_dsrxx": [
{
"c_mc": "何志勇",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "覃圣有",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "刘飞",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "陈波",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "覃小群",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "陈观海",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
}
],
"c_gkws_dsr": "公诉机关广西壮族自治区博白县人民检察院。被告人何志某,男,1979年7月13日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年9月13日被刑事拘留,同年10月20日被逮捕。被告人陈某波(曾用名:陈东东),男,1987年7月17日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年9月16日被刑事拘留,同年10月20日被逮捕。被告人覃小某,女,1979年4月15日出生于广西壮族自治区博白县,汉族,初中文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年11月4日被羁押,次日被刑事拘留,同月26日被逮捕。被告人覃某有,男,1972年9月21日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年9月17日被刑事拘留,同年10月20日被逮捕。被告人刘某飞,男,1991年4月3日出生于广西壮族自治区博白县,汉族,初中文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。被告人陈某观,男,1990年12月2日出生于广西壮族自治区博白县,汉族,初中文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。",
"c_gkws_id": "29130d17a43e448e84dc64e9cd203a99",
"c_gkws_pjjg": "一、被告人何志某犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月13日起至2017年3月12日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)二、被告人陈某波犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月16日起至2016年11月15日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)三、被告人覃小某犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年11月4日起至2017年1月3日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)四、被告人覃某有犯开设赌场罪,判处有期徒刑八个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月17日起至2016年5月16日止。罚金已缴纳。)五、被告人刘某飞犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年10月28日起至2016年4月27日止。罚金已缴纳。)六、被告人陈某观犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年10月28日起至2016年4月27日止。罚金已缴纳。)如不服本判决,可在收到判决书之次日起十日内,通过本院或直接向广西壮族自治区玉林市中级人民法院提出上诉。书面上诉的应提交上诉状正本一份,副本十三份。",
"c_id": "8917c0a3f0eab1ca1f294565be7f2dc5",
"c_slfsxx": "1,2016-01-25 09:00:00,第一审判庭,1",
"c_ssdy": "广西壮族自治区",
"d_jarq": "2016-04-01",
"d_larq": "2016-01-04",
"n_ajbs": "b9a3062adcb707f23c7fe627642fe23c",
"n_ajjzjd": "已结案",
"n_ajlx": "刑事一审",
"n_bqqpcje_level": 0,
"n_ccxzxje_level": 0,
"n_crc": 390530581,
"n_fzje_level": 0,
"n_jaay": "妨害社会管理秩序罪",
"n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_jafs": "判决",
"n_jbfy": "博白县人民法院",
"n_jbfy_cj": "基层法院",
"n_laay": "妨害社会管理秩序罪",
"n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_pcpcje_level": 0,
"n_slcx": "一审",
"n_ssdw": "被告人",
"n_ssdw_ys": "被告人"
},
{
"c_ah": "2016桂09刑终283号",
"c_dsrxx": [
{
"c_mc": "刘飞",
"n_dsrlx": "自然人",
"n_ssdw": "其他"
},
{
"c_mc": "覃圣有",
"n_dsrlx": "自然人",
"n_ssdw": "其他"
},
{
"c_mc": "陈观海",
"n_dsrlx": "自然人",
"n_ssdw": "其他"
},
{
"c_mc": "何志勇",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
},
{
"c_mc": "覃小群",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
},
{
"c_mc": "陈波",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
}
],
"c_gkws_dsr": "原公诉机关广西壮族自治区博白县人民检察院。上诉人(原审被告人)何志勇,农民。因涉嫌犯开设赌场罪于2015年9月13日被刑事拘留,同年10月20日被逮捕。现羁押于博白县看守所。上诉人(原审被告人)陈波(曾用名陈东东),农民。因涉嫌犯开设赌场罪于2015年9月16日被刑事拘留,同年10月20日被逮捕。现羁押于博白县看守所。上诉人(原审被告人)覃小群,农民。因涉嫌犯开设赌场罪于2015年11月4日被羁押,次日被刑事拘留,同月26日被逮捕。现羁押于博白县看守所。原审被告人覃圣有,农民。因涉嫌犯开设赌场罪于2015年9月17日被刑事拘留,同年10月20日被逮捕。现羁押于博白县看守所。原审被告人刘飞,农民。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。现羁押于博白县看守所。原审被告人陈观海,农民。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。现羁押于博白县看守所。",
"c_gkws_glah": "2016桂0923刑初90号",
"c_gkws_id": "bc9c1a6ba2c24065af1ba58267623a4a",
"c_gkws_pjjg": "一、维持广西壮族自治区博白县人民法院(2016)桂0923刑初90号刑事判决的第四、第五、第六项,即:被告人覃圣有犯开设赌场罪,判处有期徒刑八个月,并处罚金人民币二万元。被告人刘飞犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。被告人陈观海犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。二、撤销广西壮族自治区博白县人民法院(2016)桂0923刑初90号刑事判决的第一、第二、第三项,即:被告人何志勇犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币二万元。被告人陈波犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。被告人覃小群犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。三、上诉人(原审被告人)何志勇犯开设赌场罪,判处有期徒刑一年,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年9月13日起至2016年9月12日止。罚金已缴纳。)四、上诉人(原审被告人)陈波犯开设赌场罪,判处有期徒刑十个月,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年9月16日起至2016年7月15日止;已缴纳罚金一万元,罚金余款自判决生效之次日起一个月内缴纳,逾期不缴纳的,强制缴纳。)五、上诉人(原审被告人)覃小群犯开设赌场罪,判处有期徒刑十个月,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年11月4日起至2016年9月3日止;已缴纳罚金一万元,罚金余款自判决生效之次日起一个月内缴纳,逾期不缴纳的,强制缴纳。)本判决为终审判决。",
"c_id": "84362df70b3678297431c3f97130e930",
"c_ssdy": "广西壮族自治区",
"d_jarq": "2016-07-14",
"d_larq": "2016-05-16",
"n_ajbs": "c511197ee4a8b29554c57adf0dd53f35",
"n_ajjzjd": "已结案",
"n_ajlx": "刑事二审",
"n_bqqpcje_level": 0,
"n_ccxzxje_level": 0,
"n_crc": 2349048681,
"n_dzzm": "妨害社会管理秩序罪",
"n_dzzm_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_fzje_level": 0,
"n_jaay": "妨害社会管理秩序罪",
"n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_jafs": "改判",
"n_jbfy": "广西壮族自治区玉林市中级人民法院",
"n_jbfy_cj": "中级人民法院",
"n_laay": "妨害社会管理秩序罪",
"n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_pcjg": "给予刑事处罚",
"n_pcpcje_level": 0,
"n_slcx": "二审",
"n_ssdw": "上诉人"
},
{
"c_ah": "2019桂0923刑初81号",
"c_dsrxx": [
{
"c_mc": "何志勇",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "刘国富",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
}
],
"c_gkws_dsr": "公诉机关广西壮族自治区博白县人民检察院。被告人何志勇。被告人刘国富。",
"c_gkws_id": "1ee2c6cd15b544a78f68aae10033e5bc",
"c_gkws_pjjg": "一、被告人何志勇犯开设赌场罪,判处有期徒刑二年,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2018年10月16日起至2020年10月15日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)%1、被告人刘国富犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2018年10月30日起至2020年4月29日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)三、扣押在案的赌具扑克牌、龙虎珠、骨牌及人民币八百三十五元依法予以没收,其中人民币八百三十五元上缴国库。如不服本判决,可在收到判决书之次日起十日内,通过本院或直接向广西壮族自治区玉林市中级人民法院提出上诉。书面上诉的应当提交上诉状正本一份,副本九份。",
"c_id": "5f4d0aa69d456e5a4c1b025aec5d310d",
"c_slfsxx": "1,2019-03-01 09:20:00,KA6第一审判庭,1",
"c_ssdy": "广西壮族自治区",
"d_jarq": "2019-03-07",
"d_larq": "2019-02-20",
"n_ajbs": "e90f9b13a9b0f102611e6b5a2ccf6a96",
"n_ajjzjd": "已结案",
"n_ajlx": "刑事一审",
"n_bqqpcje_level": 0,
"n_ccxzxje_level": 0,
"n_crc": 107350759,
"n_dzzm": "妨害社会管理秩序罪",
"n_dzzm_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_fzje_level": 0,
"n_jaay": "妨害社会管理秩序罪",
"n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_jafs": "判决",
"n_jbfy": "博白县人民法院",
"n_jbfy_cj": "基层法院",
"n_laay": "妨害社会管理秩序罪",
"n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_pcjg": "给予刑事处罚",
"n_pcpcje_level": 0,
"n_slcx": "一审",
"n_ssdw": "被告人",
"n_ssdw_ys": "被告人"
},
{
"c_ah": "2019桂09刑终146号",
"c_dsrxx": [
{
"c_mc": "何志勇",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
},
{
"c_mc": "刘国富",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
}
],
"c_gkws_dsr": "原公诉机关广西壮族自治区博白县人民检察院。上诉人(原审被告人)何志勇,男,1979年7月13日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因本案于2018年10月16日被抓获,次日被行政拘留,因涉嫌犯开设赌场罪,于同月26日被刑事拘留,同年11月9日被逮捕。现羁押于博白县看守所。上诉人(原审被告人)刘国富(曾用名刘艺敏),男,1982年8月11日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪,于2018年10月30日被刑事拘留,同年11月15日被逮捕。现羁押于博白县看守所。",
"c_gkws_glah": "2019桂0923刑初81号",
"c_gkws_id": "ddba0d0c8c8f47d49c9faa6000321eb3",
"c_gkws_pjjg": "驳回上诉,维持原判。本裁定为终审裁定。",
"c_id": "695eeb122cdefc02173c5b0dbc10077c",
"c_slfsxx": "1,,,1",
"c_ssdy": "广西壮族自治区",
"d_jarq": "2019-05-10",
"d_larq": "2019-03-20",
"n_ajbs": "80168c539c6ade4497706d0c32e4e229",
"n_ajjzjd": "已结案",
"n_ajlx": "刑事二审",
"n_bqqpcje_level": 0,
"n_ccxzxje_level": 0,
"n_crc": 1376027123,
"n_dzzm": "妨害社会管理秩序罪",
"n_dzzm_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_fzje_level": 0,
"n_jaay": "妨害社会管理秩序罪",
"n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_jafs": "维持",
"n_jbfy": "广西壮族自治区玉林市中级人民法院",
"n_jbfy_cj": "中级人民法院",
"n_laay": "妨害社会管理秩序罪",
"n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_pcjg": "给予刑事处罚",
"n_pcpcje_level": 0,
"n_slcx": "二审",
"n_ssdw": "上诉人"
}
],
"count": {
"area_stat": "广西壮族自治区(4)",
"ay_stat": "妨害社会管理秩序罪(4)",
"count_beigao": 2,
"count_jie_beigao": 2,
"count_jie_other": 0,
"count_jie_total": 4,
"count_jie_yuangao": 2,
"count_other": 0,
"count_total": 4,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 2,
"jafs_stat": "判决(2),维持(1),改判(1)",
"larq_stat": "2016(2),2019(2)",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"has_case": "Y",
"implement": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"preservation": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
}
}
}
},
"presence": {
"channel": "移动",
"desc": "停机",
"order_no": "8givczqmonxzv8kube",
"status": 1
},
"probe": {
"acc_exc": "0",
"acc_sleep": "1",
"currently_overdue": "1",
"currently_performance": "0",
"latest_overdue_time": "2026-06",
"max_overdue_amt": "4000-6000",
"max_overdue_days": "1-15",
"result_code": "1"
},
"rating": null,
"special": {},
"triple": {
"state": "1"
}
}

View File

@@ -0,0 +1,876 @@
{
"behavior": {
"result": {
"black_list": "0",
"black_tag04": "0",
"black_tag05": "0",
"black_tag06": "0",
"black_tag07": "0",
"black_tag08": "0",
"black_tag09": "0",
"black_tag10": "0",
"black_tag11": "0",
"black_tag12": "0"
}
},
"complaint": {
"result": {
"dnc": 0,
"finance_times": {
"day_1": 0,
"day_14": 0,
"day_7": 0
},
"is_call": true,
"is_gp": false,
"is_lh": false,
"other_times": {
"day_1": 0,
"day_14": 8,
"day_7": 0
},
"score": 11
}
},
"duration": {
"channel": "cmcc",
"order_no": "101496411109944170",
"time": "[24,-1)"
},
"fraud": null,
"identity": {
"address": "广西壮族自治区玉林地区博白县",
"birthday": "19790713",
"desc": "一致",
"order_no": "fsxtvadtpcwky2qbkl",
"result": 0,
"sex": "男"
},
"intent": {
"Rule_final_decision": "Review",
"Rule_final_weight": "40",
"Rule_name_QJF040": "在非银机构多次申请-中度",
"Rule_weight_QJF040": "40",
"als_d15_cell_caoff_allnum": "2",
"als_d15_cell_caoff_orgnum": "1",
"als_d15_cell_coon_allnum": "3",
"als_d15_cell_coon_orgnum": "3",
"als_d15_cell_nbank_allnum": "4",
"als_d15_cell_nbank_ca_allnum": "2",
"als_d15_cell_nbank_ca_orgnum": "1",
"als_d15_cell_nbank_else_allnum": "2",
"als_d15_cell_nbank_else_orgnum": "2",
"als_d15_cell_nbank_finlea_allnum": "2",
"als_d15_cell_nbank_finlea_orgnum": "1",
"als_d15_cell_nbank_night_allnum": "0",
"als_d15_cell_nbank_night_orgnum": "0",
"als_d15_cell_nbank_orgnum": "3",
"als_d15_cell_nbank_oth_allnum": "2",
"als_d15_cell_nbank_oth_orgnum": "2",
"als_d15_cell_nbank_selfnum": "2",
"als_d15_cell_nbank_week_allnum": "0",
"als_d15_cell_nbank_week_orgnum": "0",
"als_d15_id_caoff_allnum": "2",
"als_d15_id_caoff_orgnum": "1",
"als_d15_id_coon_allnum": "3",
"als_d15_id_coon_orgnum": "3",
"als_d15_id_nbank_allnum": "4",
"als_d15_id_nbank_ca_allnum": "2",
"als_d15_id_nbank_ca_orgnum": "1",
"als_d15_id_nbank_else_allnum": "2",
"als_d15_id_nbank_else_orgnum": "2",
"als_d15_id_nbank_finlea_allnum": "2",
"als_d15_id_nbank_finlea_orgnum": "1",
"als_d15_id_nbank_night_allnum": "0",
"als_d15_id_nbank_night_orgnum": "0",
"als_d15_id_nbank_orgnum": "3",
"als_d15_id_nbank_oth_allnum": "2",
"als_d15_id_nbank_oth_orgnum": "2",
"als_d15_id_nbank_selfnum": "2",
"als_d15_id_nbank_week_allnum": "0",
"als_d15_id_nbank_week_orgnum": "0",
"als_d7_cell_caoff_allnum": "1",
"als_d7_cell_caoff_orgnum": "1",
"als_d7_cell_coon_allnum": "2",
"als_d7_cell_coon_orgnum": "2",
"als_d7_cell_nbank_allnum": "3",
"als_d7_cell_nbank_ca_allnum": "1",
"als_d7_cell_nbank_ca_orgnum": "1",
"als_d7_cell_nbank_else_allnum": "2",
"als_d7_cell_nbank_else_orgnum": "2",
"als_d7_cell_nbank_finlea_allnum": "1",
"als_d7_cell_nbank_finlea_orgnum": "1",
"als_d7_cell_nbank_night_allnum": "0",
"als_d7_cell_nbank_night_orgnum": "0",
"als_d7_cell_nbank_orgnum": "3",
"als_d7_cell_nbank_oth_allnum": "2",
"als_d7_cell_nbank_oth_orgnum": "2",
"als_d7_cell_nbank_selfnum": "1",
"als_d7_cell_nbank_week_allnum": "0",
"als_d7_cell_nbank_week_orgnum": "0",
"als_d7_id_caoff_allnum": "1",
"als_d7_id_caoff_orgnum": "1",
"als_d7_id_coon_allnum": "2",
"als_d7_id_coon_orgnum": "2",
"als_d7_id_nbank_allnum": "3",
"als_d7_id_nbank_ca_allnum": "1",
"als_d7_id_nbank_ca_orgnum": "1",
"als_d7_id_nbank_else_allnum": "2",
"als_d7_id_nbank_else_orgnum": "2",
"als_d7_id_nbank_finlea_allnum": "1",
"als_d7_id_nbank_finlea_orgnum": "1",
"als_d7_id_nbank_night_allnum": "0",
"als_d7_id_nbank_night_orgnum": "0",
"als_d7_id_nbank_orgnum": "3",
"als_d7_id_nbank_oth_allnum": "2",
"als_d7_id_nbank_oth_orgnum": "2",
"als_d7_id_nbank_selfnum": "1",
"als_d7_id_nbank_week_allnum": "0",
"als_d7_id_nbank_week_orgnum": "0",
"als_fst_cell_nbank_inteday": "210",
"als_fst_id_nbank_inteday": "210",
"als_lst_cell_nbank_consnum": "1",
"als_lst_cell_nbank_csinteday": "1",
"als_lst_cell_nbank_inteday": "5",
"als_lst_id_nbank_consnum": "1",
"als_lst_id_nbank_csinteday": "1",
"als_lst_id_nbank_inteday": "5",
"als_m12_cell_avg_monnum": "2.50",
"als_m12_cell_caoff_allnum": "2",
"als_m12_cell_caoff_orgnum": "1",
"als_m12_cell_caon_allnum": "1",
"als_m12_cell_caon_orgnum": "1",
"als_m12_cell_coon_allnum": "8",
"als_m12_cell_coon_orgnum": "3",
"als_m12_cell_max_inteday": "198",
"als_m12_cell_max_monnum": "4",
"als_m12_cell_min_inteday": "0",
"als_m12_cell_min_monnum": "0",
"als_m12_cell_nbank_allnum": "5",
"als_m12_cell_nbank_avg_monnum": "2.50",
"als_m12_cell_nbank_ca_allnum": "2",
"als_m12_cell_nbank_ca_orgnum": "1",
"als_m12_cell_nbank_else_allnum": "3",
"als_m12_cell_nbank_else_orgnum": "3",
"als_m12_cell_nbank_finlea_allnum": "2",
"als_m12_cell_nbank_finlea_orgnum": "1",
"als_m12_cell_nbank_max_inteday": "198",
"als_m12_cell_nbank_max_monnum": "4",
"als_m12_cell_nbank_min_inteday": "0",
"als_m12_cell_nbank_min_monnum": "0",
"als_m12_cell_nbank_night_allnum": "0",
"als_m12_cell_nbank_night_orgnum": "0",
"als_m12_cell_nbank_orgnum": "4",
"als_m12_cell_nbank_oth_allnum": "3",
"als_m12_cell_nbank_oth_orgnum": "3",
"als_m12_cell_nbank_selfnum": "2",
"als_m12_cell_nbank_tot_mons": "2",
"als_m12_cell_nbank_week_allnum": "0",
"als_m12_cell_nbank_week_orgnum": "0",
"als_m12_cell_tot_mons": "2",
"als_m12_id_avg_monnum": "2.50",
"als_m12_id_caoff_allnum": "2",
"als_m12_id_caoff_orgnum": "1",
"als_m12_id_caon_allnum": "1",
"als_m12_id_caon_orgnum": "1",
"als_m12_id_coon_allnum": "10",
"als_m12_id_coon_orgnum": "3",
"als_m12_id_max_inteday": "198",
"als_m12_id_max_monnum": "4",
"als_m12_id_min_inteday": "0",
"als_m12_id_min_monnum": "0",
"als_m12_id_nbank_allnum": "5",
"als_m12_id_nbank_avg_monnum": "2.50",
"als_m12_id_nbank_ca_allnum": "2",
"als_m12_id_nbank_ca_orgnum": "1",
"als_m12_id_nbank_else_allnum": "3",
"als_m12_id_nbank_else_orgnum": "3",
"als_m12_id_nbank_finlea_allnum": "2",
"als_m12_id_nbank_finlea_orgnum": "1",
"als_m12_id_nbank_max_inteday": "198",
"als_m12_id_nbank_max_monnum": "4",
"als_m12_id_nbank_min_inteday": "0",
"als_m12_id_nbank_min_monnum": "0",
"als_m12_id_nbank_night_allnum": "0",
"als_m12_id_nbank_night_orgnum": "0",
"als_m12_id_nbank_orgnum": "4",
"als_m12_id_nbank_oth_allnum": "3",
"als_m12_id_nbank_oth_orgnum": "3",
"als_m12_id_nbank_selfnum": "2",
"als_m12_id_nbank_tot_mons": "2",
"als_m12_id_nbank_week_allnum": "0",
"als_m12_id_nbank_week_orgnum": "0",
"als_m12_id_tot_mons": "2",
"als_m1_cell_caoff_allnum": "2",
"als_m1_cell_caoff_orgnum": "1",
"als_m1_cell_coon_allnum": "4",
"als_m1_cell_coon_orgnum": "3",
"als_m1_cell_nbank_allnum": "4",
"als_m1_cell_nbank_ca_allnum": "2",
"als_m1_cell_nbank_ca_orgnum": "1",
"als_m1_cell_nbank_else_allnum": "2",
"als_m1_cell_nbank_else_orgnum": "2",
"als_m1_cell_nbank_finlea_allnum": "2",
"als_m1_cell_nbank_finlea_orgnum": "1",
"als_m1_cell_nbank_night_allnum": "0",
"als_m1_cell_nbank_night_orgnum": "0",
"als_m1_cell_nbank_orgnum": "3",
"als_m1_cell_nbank_oth_allnum": "2",
"als_m1_cell_nbank_oth_orgnum": "2",
"als_m1_cell_nbank_selfnum": "2",
"als_m1_cell_nbank_week_allnum": "0",
"als_m1_cell_nbank_week_orgnum": "0",
"als_m1_id_caoff_allnum": "2",
"als_m1_id_caoff_orgnum": "1",
"als_m1_id_coon_allnum": "4",
"als_m1_id_coon_orgnum": "3",
"als_m1_id_nbank_allnum": "4",
"als_m1_id_nbank_ca_allnum": "2",
"als_m1_id_nbank_ca_orgnum": "1",
"als_m1_id_nbank_else_allnum": "2",
"als_m1_id_nbank_else_orgnum": "2",
"als_m1_id_nbank_finlea_allnum": "2",
"als_m1_id_nbank_finlea_orgnum": "1",
"als_m1_id_nbank_night_allnum": "0",
"als_m1_id_nbank_night_orgnum": "0",
"als_m1_id_nbank_orgnum": "3",
"als_m1_id_nbank_oth_allnum": "2",
"als_m1_id_nbank_oth_orgnum": "2",
"als_m1_id_nbank_selfnum": "2",
"als_m1_id_nbank_week_allnum": "0",
"als_m1_id_nbank_week_orgnum": "0",
"als_m3_cell_avg_monnum": "4.00",
"als_m3_cell_caoff_allnum": "2",
"als_m3_cell_caoff_orgnum": "1",
"als_m3_cell_coon_allnum": "6",
"als_m3_cell_coon_orgnum": "3",
"als_m3_cell_max_inteday": "7",
"als_m3_cell_max_monnum": "4",
"als_m3_cell_min_inteday": "0",
"als_m3_cell_min_monnum": "0",
"als_m3_cell_nbank_allnum": "4",
"als_m3_cell_nbank_avg_monnum": "4.00",
"als_m3_cell_nbank_ca_allnum": "2",
"als_m3_cell_nbank_ca_orgnum": "1",
"als_m3_cell_nbank_else_allnum": "2",
"als_m3_cell_nbank_else_orgnum": "2",
"als_m3_cell_nbank_finlea_allnum": "2",
"als_m3_cell_nbank_finlea_orgnum": "1",
"als_m3_cell_nbank_max_inteday": "7",
"als_m3_cell_nbank_max_monnum": "4",
"als_m3_cell_nbank_min_inteday": "0",
"als_m3_cell_nbank_min_monnum": "0",
"als_m3_cell_nbank_night_allnum": "0",
"als_m3_cell_nbank_night_orgnum": "0",
"als_m3_cell_nbank_orgnum": "3",
"als_m3_cell_nbank_oth_allnum": "2",
"als_m3_cell_nbank_oth_orgnum": "2",
"als_m3_cell_nbank_selfnum": "2",
"als_m3_cell_nbank_tot_mons": "1",
"als_m3_cell_nbank_week_allnum": "0",
"als_m3_cell_nbank_week_orgnum": "0",
"als_m3_cell_tot_mons": "1",
"als_m3_id_avg_monnum": "4.00",
"als_m3_id_caoff_allnum": "2",
"als_m3_id_caoff_orgnum": "1",
"als_m3_id_coon_allnum": "6",
"als_m3_id_coon_orgnum": "3",
"als_m3_id_max_inteday": "7",
"als_m3_id_max_monnum": "4",
"als_m3_id_min_inteday": "0",
"als_m3_id_min_monnum": "0",
"als_m3_id_nbank_allnum": "4",
"als_m3_id_nbank_avg_monnum": "4.00",
"als_m3_id_nbank_ca_allnum": "2",
"als_m3_id_nbank_ca_orgnum": "1",
"als_m3_id_nbank_else_allnum": "2",
"als_m3_id_nbank_else_orgnum": "2",
"als_m3_id_nbank_finlea_allnum": "2",
"als_m3_id_nbank_finlea_orgnum": "1",
"als_m3_id_nbank_max_inteday": "7",
"als_m3_id_nbank_max_monnum": "4",
"als_m3_id_nbank_min_inteday": "0",
"als_m3_id_nbank_min_monnum": "0",
"als_m3_id_nbank_night_allnum": "0",
"als_m3_id_nbank_night_orgnum": "0",
"als_m3_id_nbank_orgnum": "3",
"als_m3_id_nbank_oth_allnum": "2",
"als_m3_id_nbank_oth_orgnum": "2",
"als_m3_id_nbank_selfnum": "2",
"als_m3_id_nbank_tot_mons": "1",
"als_m3_id_nbank_week_allnum": "0",
"als_m3_id_nbank_week_orgnum": "0",
"als_m3_id_tot_mons": "1",
"als_m6_cell_avg_monnum": "4.00",
"als_m6_cell_caoff_allnum": "2",
"als_m6_cell_caoff_orgnum": "1",
"als_m6_cell_coon_allnum": "7",
"als_m6_cell_coon_orgnum": "3",
"als_m6_cell_max_inteday": "7",
"als_m6_cell_max_monnum": "4",
"als_m6_cell_min_inteday": "0",
"als_m6_cell_min_monnum": "0",
"als_m6_cell_nbank_allnum": "4",
"als_m6_cell_nbank_avg_monnum": "4.00",
"als_m6_cell_nbank_ca_allnum": "2",
"als_m6_cell_nbank_ca_orgnum": "1",
"als_m6_cell_nbank_else_allnum": "2",
"als_m6_cell_nbank_else_orgnum": "2",
"als_m6_cell_nbank_finlea_allnum": "2",
"als_m6_cell_nbank_finlea_orgnum": "1",
"als_m6_cell_nbank_max_inteday": "7",
"als_m6_cell_nbank_max_monnum": "4",
"als_m6_cell_nbank_min_inteday": "0",
"als_m6_cell_nbank_min_monnum": "0",
"als_m6_cell_nbank_night_allnum": "0",
"als_m6_cell_nbank_night_orgnum": "0",
"als_m6_cell_nbank_orgnum": "3",
"als_m6_cell_nbank_oth_allnum": "2",
"als_m6_cell_nbank_oth_orgnum": "2",
"als_m6_cell_nbank_selfnum": "2",
"als_m6_cell_nbank_tot_mons": "1",
"als_m6_cell_nbank_week_allnum": "0",
"als_m6_cell_nbank_week_orgnum": "0",
"als_m6_cell_tot_mons": "1",
"als_m6_id_avg_monnum": "4.00",
"als_m6_id_caoff_allnum": "2",
"als_m6_id_caoff_orgnum": "1",
"als_m6_id_coon_allnum": "8",
"als_m6_id_coon_orgnum": "3",
"als_m6_id_max_inteday": "7",
"als_m6_id_max_monnum": "4",
"als_m6_id_min_inteday": "0",
"als_m6_id_min_monnum": "0",
"als_m6_id_nbank_allnum": "4",
"als_m6_id_nbank_avg_monnum": "4.00",
"als_m6_id_nbank_ca_allnum": "2",
"als_m6_id_nbank_ca_orgnum": "1",
"als_m6_id_nbank_else_allnum": "2",
"als_m6_id_nbank_else_orgnum": "2",
"als_m6_id_nbank_finlea_allnum": "2",
"als_m6_id_nbank_finlea_orgnum": "1",
"als_m6_id_nbank_max_inteday": "7",
"als_m6_id_nbank_max_monnum": "4",
"als_m6_id_nbank_min_inteday": "0",
"als_m6_id_nbank_min_monnum": "0",
"als_m6_id_nbank_night_allnum": "0",
"als_m6_id_nbank_night_orgnum": "0",
"als_m6_id_nbank_orgnum": "3",
"als_m6_id_nbank_oth_allnum": "2",
"als_m6_id_nbank_oth_orgnum": "2",
"als_m6_id_nbank_selfnum": "2",
"als_m6_id_nbank_tot_mons": "1",
"als_m6_id_nbank_week_allnum": "0",
"als_m6_id_nbank_week_orgnum": "0",
"als_m6_id_tot_mons": "1"
},
"judicial": {
"judicial_data": {
"breachCaseList": [],
"consumptionRestrictionList": [],
"lawsuitStat": {
"administrative": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"bankrupt": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"cases_tree": {
"administrative": [],
"civil": [],
"criminal": [
{
"c_ah": "2016桂0923刑初90号",
"case_type": 200,
"n_ajbs": "b9a3062adcb707f23c7fe627642fe23c",
"stage_type": 1
},
{
"c_ah": "2016桂09刑终283号",
"case_type": 200,
"n_ajbs": "c511197ee4a8b29554c57adf0dd53f35",
"stage_type": 2
},
{
"c_ah": "2019桂0923刑初81号",
"case_type": 200,
"n_ajbs": "e90f9b13a9b0f102611e6b5a2ccf6a96",
"stage_type": 1
},
{
"c_ah": "2019桂09刑终146号",
"case_type": 200,
"n_ajbs": "80168c539c6ade4497706d0c32e4e229",
"stage_type": 2
}
]
},
"civil": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"count": {
"area_stat": "广西壮族自治区(4)",
"ay_stat": "妨害社会管理秩序罪(4)",
"count_beigao": 2,
"count_jie_beigao": 2,
"count_jie_other": 0,
"count_jie_total": 4,
"count_jie_yuangao": 2,
"count_other": 0,
"count_total": 4,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 2,
"jafs_stat": "判决(2),维持(1),改判(1)",
"larq_stat": "2016(2),2019(2)",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
},
"crc": 4070442485,
"criminal": {
"cases": [
{
"c_ah": "2016桂0923刑初90号",
"c_dsrxx": [
{
"c_mc": "何某某",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "覃某",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "刘某某",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "陈某某",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "覃某某",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "陈某某",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
}
],
"c_gkws_dsr": "公诉机关广西壮族自治区博白县人民检察院。被告人何某某,男,1979年7月13日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年9月13日被刑事拘留,同年10月20日被逮捕。被告人陈某某波(曾用名:陈东东),男,1987年7月17日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年9月16日被刑事拘留,同年10月20日被逮捕。被告人覃某某,女,1979年4月15日出生于广西壮族自治区博白县,汉族,初中文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年11月4日被羁押,次日被刑事拘留,同月26日被逮捕。被告人覃某有,男,1972年9月21日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年9月17日被刑事拘留,同年10月20日被逮捕。被告人刘某某飞,男,1991年4月3日出生于广西壮族自治区博白县,汉族,初中文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。被告人陈某某观,男,1990年12月2日出生于广西壮族自治区博白县,汉族,初中文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。",
"c_gkws_id": "29130d17a43e448e84dc64e9cd203a99",
"c_gkws_pjjg": "一、被告人何某某犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月13日起至2017年3月12日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)二、被告人陈某某波犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月16日起至2016年11月15日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)三、被告人覃某某犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年11月4日起至2017年1月3日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)四、被告人覃某有犯开设赌场罪,判处有期徒刑八个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月17日起至2016年5月16日止。罚金已缴纳。)五、被告人刘某某飞犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年10月28日起至2016年4月27日止。罚金已缴纳。)六、被告人陈某某观犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年10月28日起至2016年4月27日止。罚金已缴纳。)如不服本判决,可在收到判决书之次日起十日内,通过本院或直接向广西壮族自治区玉林市中级人民法院提出上诉。书面上诉的应提交上诉状正本一份,副本十三份。",
"c_id": "8917c0a3f0eab1ca1f294565be7f2dc5",
"c_slfsxx": "1,2016-01-25 09:00:00,第一审判庭,1",
"c_ssdy": "广西壮族自治区",
"d_jarq": "2016-04-01",
"d_larq": "2016-01-04",
"n_ajbs": "b9a3062adcb707f23c7fe627642fe23c",
"n_ajjzjd": "已结案",
"n_ajlx": "刑事一审",
"n_bqqpcje_level": 0,
"n_ccxzxje_level": 0,
"n_crc": 390530581,
"n_fzje_level": 0,
"n_jaay": "妨害社会管理秩序罪",
"n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_jafs": "判决",
"n_jbfy": "博白县人民法院",
"n_jbfy_cj": "基层法院",
"n_laay": "妨害社会管理秩序罪",
"n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_pcpcje_level": 0,
"n_slcx": "一审",
"n_ssdw": "被告人",
"n_ssdw_ys": "被告人"
},
{
"c_ah": "2016桂09刑终283号",
"c_dsrxx": [
{
"c_mc": "刘某某",
"n_dsrlx": "自然人",
"n_ssdw": "其他"
},
{
"c_mc": "覃某",
"n_dsrlx": "自然人",
"n_ssdw": "其他"
},
{
"c_mc": "陈某某",
"n_dsrlx": "自然人",
"n_ssdw": "其他"
},
{
"c_mc": "何某某",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
},
{
"c_mc": "覃某某",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
},
{
"c_mc": "陈某某",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
}
],
"c_gkws_dsr": "原公诉机关广西壮族自治区博白县人民检察院。上诉人(原审被告人)何某某,农民。因涉嫌犯开设赌场罪于2015年9月13日被刑事拘留,同年10月20日被逮捕。现羁押于博白县看守所。上诉人(原审被告人)陈某某某(曾用名陈东东),农民。因涉嫌犯开设赌场罪于2015年9月16日被刑事拘留,同年10月20日被逮捕。现羁押于博白县看守所。上诉人(原审被告人)覃某某,农民。因涉嫌犯开设赌场罪于2015年11月4日被羁押,次日被刑事拘留,同月26日被逮捕。现羁押于博白县看守所。原审被告人覃某,农民。因涉嫌犯开设赌场罪于2015年9月17日被刑事拘留,同年10月20日被逮捕。现羁押于博白县看守所。原审被告人刘某某某,农民。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。现羁押于博白县看守所。原审被告人陈某某,农民。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。现羁押于博白县看守所。",
"c_gkws_glah": "2016桂0923刑初90号",
"c_gkws_id": "bc9c1a6ba2c24065af1ba58267623a4a",
"c_gkws_pjjg": "一、维持广西壮族自治区博白县人民法院(2016)桂0923刑初90号刑事判决的第四、第五、第六项,即:被告人覃某犯开设赌场罪,判处有期徒刑八个月,并处罚金人民币二万元。被告人刘某某某犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。被告人陈某某犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。二、撤销广西壮族自治区博白县人民法院(2016)桂0923刑初90号刑事判决的第一、第二、第三项,即:被告人何某某犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币二万元。被告人陈某某某犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。被告人覃某某犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。三、上诉人(原审被告人)何某某犯开设赌场罪,判处有期徒刑一年,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年9月13日起至2016年9月12日止。罚金已缴纳。)四、上诉人(原审被告人)陈某某某犯开设赌场罪,判处有期徒刑十个月,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年9月16日起至2016年7月15日止;已缴纳罚金一万元,罚金余款自判决生效之次日起一个月内缴纳,逾期不缴纳的,强制缴纳。)五、上诉人(原审被告人)覃某某犯开设赌场罪,判处有期徒刑十个月,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年11月4日起至2016年9月3日止;已缴纳罚金一万元,罚金余款自判决生效之次日起一个月内缴纳,逾期不缴纳的,强制缴纳。)本判决为终审判决。",
"c_id": "84362df70b3678297431c3f97130e930",
"c_ssdy": "广西壮族自治区",
"d_jarq": "2016-07-14",
"d_larq": "2016-05-16",
"n_ajbs": "c511197ee4a8b29554c57adf0dd53f35",
"n_ajjzjd": "已结案",
"n_ajlx": "刑事二审",
"n_bqqpcje_level": 0,
"n_ccxzxje_level": 0,
"n_crc": 2349048681,
"n_dzzm": "妨害社会管理秩序罪",
"n_dzzm_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_fzje_level": 0,
"n_jaay": "妨害社会管理秩序罪",
"n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_jafs": "改判",
"n_jbfy": "广西壮族自治区玉林市中级人民法院",
"n_jbfy_cj": "中级人民法院",
"n_laay": "妨害社会管理秩序罪",
"n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_pcjg": "给予刑事处罚",
"n_pcpcje_level": 0,
"n_slcx": "二审",
"n_ssdw": "上诉人"
},
{
"c_ah": "2019桂0923刑初81号",
"c_dsrxx": [
{
"c_mc": "何某某",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
},
{
"c_mc": "刘某某",
"n_dsrlx": "自然人",
"n_ssdw": "被告人"
}
],
"c_gkws_dsr": "公诉机关广西壮族自治区博白县人民检察院。被告人何某某。被告人刘某某。",
"c_gkws_id": "1ee2c6cd15b544a78f68aae10033e5bc",
"c_gkws_pjjg": "一、被告人何某某犯开设赌场罪,判处有期徒刑二年,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2018年10月16日起至2020年10月15日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)%1、被告人刘某某犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2018年10月30日起至2020年4月29日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)三、扣押在案的赌具扑克牌、龙虎珠、骨牌及人民币八百三十五元依法予以没收,其中人民币八百三十五元上缴国库。如不服本判决,可在收到判决书之次日起十日内,通过本院或直接向广西壮族自治区玉林市中级人民法院提出上诉。书面上诉的应当提交上诉状正本一份,副本九份。",
"c_id": "5f4d0aa69d456e5a4c1b025aec5d310d",
"c_slfsxx": "1,2019-03-01 09:20:00,KA6第一审判庭,1",
"c_ssdy": "广西壮族自治区",
"d_jarq": "2019-03-07",
"d_larq": "2019-02-20",
"n_ajbs": "e90f9b13a9b0f102611e6b5a2ccf6a96",
"n_ajjzjd": "已结案",
"n_ajlx": "刑事一审",
"n_bqqpcje_level": 0,
"n_ccxzxje_level": 0,
"n_crc": 107350759,
"n_dzzm": "妨害社会管理秩序罪",
"n_dzzm_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_fzje_level": 0,
"n_jaay": "妨害社会管理秩序罪",
"n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_jafs": "判决",
"n_jbfy": "博白县人民法院",
"n_jbfy_cj": "基层法院",
"n_laay": "妨害社会管理秩序罪",
"n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_pcjg": "给予刑事处罚",
"n_pcpcje_level": 0,
"n_slcx": "一审",
"n_ssdw": "被告人",
"n_ssdw_ys": "被告人"
},
{
"c_ah": "2019桂09刑终146号",
"c_dsrxx": [
{
"c_mc": "何某某",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
},
{
"c_mc": "刘某某",
"n_dsrlx": "自然人",
"n_ssdw": "上诉人"
}
],
"c_gkws_dsr": "原公诉机关广西壮族自治区博白县人民检察院。上诉人(原审被告人)何某某,男,1979年7月13日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因本案于2018年10月16日被抓获,次日被行政拘留,因涉嫌犯开设赌场罪,于同月26日被刑事拘留,同年11月9日被逮捕。现羁押于博白县看守所。上诉人(原审被告人)刘某某(曾用名刘艺敏),男,1982年8月11日出生于广西壮族自治区博白县,汉族,小学文化,农民,住广西壮族自治区博白县。因涉嫌犯开设赌场罪,于2018年10月30日被刑事拘留,同年11月15日被逮捕。现羁押于博白县看守所。",
"c_gkws_glah": "2019桂0923刑初81号",
"c_gkws_id": "ddba0d0c8c8f47d49c9faa6000321eb3",
"c_gkws_pjjg": "驳回上诉,维持原判。本裁定为终审裁定。",
"c_id": "695eeb122cdefc02173c5b0dbc10077c",
"c_slfsxx": "1,,,1",
"c_ssdy": "广西壮族自治区",
"d_jarq": "2019-05-10",
"d_larq": "2019-03-20",
"n_ajbs": "80168c539c6ade4497706d0c32e4e229",
"n_ajjzjd": "已结案",
"n_ajlx": "刑事二审",
"n_bqqpcje_level": 0,
"n_ccxzxje_level": 0,
"n_crc": 1376027123,
"n_dzzm": "妨害社会管理秩序罪",
"n_dzzm_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_fzje_level": 0,
"n_jaay": "妨害社会管理秩序罪",
"n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_jafs": "维持",
"n_jbfy": "广西壮族自治区玉林市中级人民法院",
"n_jbfy_cj": "中级人民法院",
"n_laay": "妨害社会管理秩序罪",
"n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪",
"n_pcjg": "给予刑事处罚",
"n_pcpcje_level": 0,
"n_slcx": "二审",
"n_ssdw": "上诉人"
}
],
"count": {
"area_stat": "广西壮族自治区(4)",
"ay_stat": "妨害社会管理秩序罪(4)",
"count_beigao": 2,
"count_jie_beigao": 2,
"count_jie_other": 0,
"count_jie_total": 4,
"count_jie_yuangao": 2,
"count_other": 0,
"count_total": 4,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 2,
"jafs_stat": "判决(2),维持(1),改判(1)",
"larq_stat": "2016(2),2019(2)",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"has_case": "Y",
"implement": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
},
"preservation": {
"cases": [],
"count": {
"area_stat": "",
"ay_stat": "",
"count_beigao": 0,
"count_jie_beigao": 0,
"count_jie_other": 0,
"count_jie_total": 0,
"count_jie_yuangao": 0,
"count_other": 0,
"count_total": 0,
"count_wei_beigao": 0,
"count_wei_other": 0,
"count_wei_total": 0,
"count_wei_yuangao": 0,
"count_yuangao": 0,
"jafs_stat": "",
"larq_stat": "",
"money_beigao": 0,
"money_jie_beigao": 0,
"money_jie_other": 0,
"money_jie_total": 0,
"money_jie_yuangao": 0,
"money_other": 0,
"money_total": 0,
"money_wei_beigao": 0,
"money_wei_other": 0,
"money_wei_percent": 0,
"money_wei_total": 0,
"money_wei_yuangao": 0,
"money_yuangao": 0
}
}
}
}
},
"presence": {
"channel": "移动",
"desc": "停机",
"order_no": "8givczqmonxzv8kube",
"status": 1
},
"probe": {
"acc_exc": "0",
"acc_sleep": "1",
"currently_overdue": "1",
"currently_performance": "0",
"latest_overdue_time": "2026-06",
"max_overdue_amt": "4000-6000",
"max_overdue_days": "1-15",
"result_code": "1"
},
"rating": null,
"special": {},
"triple": {
"state": "1"
}
}

View File

@@ -0,0 +1,117 @@
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// 读取JSON文件
// 读取JSON文件
const inputFile = path.join(__dirname, 'DWBG9FB3.json');
const data = JSON.parse(fs.readFileSync(inputFile, 'utf8'));
// 姓名映射表(保持同一姓名脱敏后一致)
const nameMap = {
'何志勇': '何某某',
'覃圣有': '覃某',
'刘飞': '刘某某',
'陈波': '陈某某',
'覃小群': '覃某某',
'陈观海': '陈某某',
'刘国富': '刘某某'
};
// 脱敏函数
function desensitizeName(name) {
if (nameMap[name]) {
return nameMap[name];
}
// 对于未知的姓名,保留姓氏,名字用星号代替
if (name && name.length > 0) {
const surname = name[0];
return surname + '某某';
}
return name;
}
function desensitizeIdCard(idCard) {
if (!idCard || idCard.length !== 18) return idCard;
return idCard.substring(0, 6) + '********' + idCard.substring(14);
}
function desensitizeMobile(mobile) {
if (!mobile || mobile.length !== 11) return mobile;
return mobile.substring(0, 3) + '****' + mobile.substring(7);
}
function desensitizeText(text) {
if (!text || typeof text !== 'string') return text;
let result = text;
// 替换所有出现的人名
for (const [realName, maskedName] of Object.entries(nameMap)) {
// 替换姓名
const regex1 = new RegExp(realName, 'g');
result = result.replace(regex1, maskedName);
// 替换姓名+某的形式(如:何志某 -> 何某某某)
const regex2 = new RegExp(realName.substring(0, realName.length - 1) + '某', 'g');
result = result.replace(regex2, maskedName);
}
return result;
}
// 递归遍历对象进行脱敏
function desensitizeObject(obj) {
if (obj === null || typeof obj !== 'object') {
return obj;
}
if (Array.isArray(obj)) {
return obj.map(item => desensitizeObject(item));
}
const result = {};
for (const [key, value] of Object.entries(obj)) {
switch (key) {
case 'name':
result[key] = desensitizeName(value);
break;
case 'id_card':
result[key] = desensitizeIdCard(value);
break;
case 'mobile':
result[key] = desensitizeMobile(value);
break;
case 'c_mc':
// 当事人姓名
result[key] = desensitizeName(value);
break;
case 'c_gkws_dsr':
case 'c_gkws_pjjg':
// 判决书内容中的文本
result[key] = desensitizeText(value);
break;
default:
result[key] = desensitizeObject(value);
break;
}
}
return result;
}
// 执行脱敏
const desensitizedData = desensitizeObject(data);
// 保存脱敏后的文件
const outputFile = path.join(__dirname, 'DWBG9FB3_desensitized.json');
fs.writeFileSync(outputFile, JSON.stringify(desensitizedData, null, 2), 'utf8');
console.log('脱敏完成!');
console.log('原始文件:', inputFile);
console.log('脱敏后文件:', outputFile);
// 显示脱敏摘要
console.log('\n脱敏摘要');
console.log('- 姓名:已脱敏(保留姓氏)');
console.log('- 身份证号已脱敏保留前6位和后4位');
console.log('- 手机号已脱敏保留前3位和后4位');
console.log('- 判决书文本中的姓名:已批量替换');

View File

@@ -8,23 +8,38 @@
- 顶层 key 为简短**英文单词**字段名
- 每个大字段的 value 即为对应子处理器的原始返回对象
- 子产品调用失败时,该字段值为 `null`,不影响其他字段
- 汇总时递归剔除上游流水号字段:`order_no``orderNo`
## 字段映射表
## 最终扁平结构dwbg9FB3OutputSchema
| 产品编码 | 产品名称 | 英文字段名 | 子处理器 |
| :--- | :--- | :--- | :--- |
| YYSYE7V5 | 手机在网状态V即时版 | `presence` | `ProcessYYSYE7V5Request` |
| YYSYP0T4 | 手机号码在网时长V即时版 | `duration` | `ProcessYYSYP0T4Request` |
| YYSYK9R4 | 全网手机三要素验证 | `triple` | `ProcessYYSYK9R4Request` |
| IVYZN2P8 | 公安二要素政务版 | `identity` | `ProcessIVYZN2P8Request` |
| JRZQV3HM | 债务欺诈黑名单V3 | `fraud` | `ProcessJRZQV3HMRequest` |
| JRZQ4B6C | 探针C | `probe` | `ProcessJRZQ4B6CRequest` |
| JRZQ5E9F | 借选指数 | `rating` | `ProcessJRZQ5E9FRequest` |
| JRZQ3C7B | 借贷意向验证 | `intent` | `ProcessJRZQ3C7BRequest` |
| JRZQV7MD | 特殊名单 | `special` | `ProcessJRZQV7MDRequest` |
| JRZQVT43 | 投诉风险筛查V709 | `complaint` | `ProcessJRZQVT43Request` |
| JRZQV0MD | 行为黑名单 | `behavior` | `ProcessJRZQV0MDRequest` |
| FLXG7E8F | 个人司法数据查询 | `judicial` | `ProcessFLXG7E8FRequest` |
顶层共 **13 个 key**,由 `buildDWBG9FB3Response``dwbg9FB3OutputSchema` 构造:
| 序号 | 顶层 key | 产品编码 | 数据来源方法 | value 类型 |
| :--- | :--- | :--- | :--- | :--- |
| 1 | `RA` | — | `buildDWBG9FB3RA` | 对象6 个评分字段) |
| 2 | `presence` | YYSYE7V5 | `ProcessYYSYE7V5Request` | 对象 / null |
| 3 | `duration` | YYSYP0T4 | `ProcessYYSYP0T4Request` | 对象 / null |
| 4 | `triple` | YYSYK9R4 | `ProcessYYSYK9R4Request` | 对象 / null |
| 5 | `identity` | IVYZN2P8 | `ProcessIVYZN2P8Request` | 对象 / null |
| 6 | `fraud` | JRZQV3HM | `ProcessJRZQV3HMRequest` | 对象 / null |
| 7 | `probe` | JRZQ4B6C | `ProcessJRZQ4B6CRequest` | 对象 / null |
| 8 | `rating` | JRZQ5E9F | `ProcessJRZQ5E9FRequest` | 对象 / null |
| 9 | `intent` | JRZQ3C7B | `ProcessJRZQ3C7BRequest` | 对象 / null |
| 10 | `special` | JRZQV7MD | `ProcessJRZQV7MDRequest` | 对象 / null |
| 11 | `complaint` | JRZQVT43 | `ProcessJRZQVT43Request` | 对象 / null |
| 12 | `behavior` | JRZQV0MD | `ProcessJRZQV0MDRequest` | 对象 / null |
| 13 | `judicial` | FLXG7E8F | `ProcessFLXG7E8FRequest` | 对象 / null |
### RA 子结构
| key | 计算方法 | 说明 |
| :--- | :--- | :--- |
| `ra_score` | `buildDWBG9FB3RA` | 综合安全分(千分制) |
| `ra_level` | `raLevelFromScore` | A-F 等级(每档 100 分) |
| `ra_fraud_score` | `calcRAFraudScore` | 欺诈维度安全分 |
| `ra_credit_score` | `calcRACreditScore` | 借贷维度安全分 |
| `ra_judicial_score` | `calcRAJudicialScore` | 司法维度安全分 |
| `ra_verify_score` | `calcRAVerifyScore` | 核验维度安全分 |
## 请求参数
@@ -38,10 +53,18 @@
## 响应结构
顶层为一个扁平对象,12 个字段并列,每个字段 value 为子处理器原始返回的 JSON 对象
顶层为一个扁平对象,包含总体风险评估 `RA` 与 12 个子维度字段
```json
{
"RA": {
"ra_score": 495,
"ra_level": "F",
"ra_fraud_score": 890,
"ra_credit_score": 0,
"ra_judicial_score": 580,
"ra_verify_score": 850
},
"presence": { },
"duration": { },
"triple": { },
@@ -57,10 +80,37 @@
}
```
## RA 总体安全评估(千分制,越高越安全)
| 字段 | 计算方法 | 说明 |
| :--- | :--- | :--- |
| `ra_fraud_score` | `calcRAFraudScore` | 欺诈/黑名单维度安全分 |
| `ra_credit_score` | `calcRACreditScore` | 借贷/逾期维度安全分 |
| `ra_judicial_score` | `calcRAJudicialScore` | 司法涉诉维度安全分 |
| `ra_verify_score` | `calcRAVerifyScore` | 身份/在网核验维度安全分 |
| `ra_score` | `buildDWBG9FB3RA` | 四维安全分加权汇总 |
| `ra_level` | `raLevelFromScore` | A 最安全F 最不安全 |
综合分权重:`fraud 25% + credit 35% + judicial 25% + verify 15%`
等级划分A(900-1000)、B(800-899)、C(700-799)、D(600-699)、E(500-599)、F(0-499)
各维度统计方式:先由 `*RiskPoints` 方法累计风险扣分,再 `安全分 = 1000 - 扣分`
详细规则见 [dwbg9fb3_ra.md](./dwbg9fb3_ra.md)
## 响应示例
```json
{
"RA": {
"ra_score": 495,
"ra_level": "F",
"ra_fraud_score": 890,
"ra_credit_score": 0,
"ra_judicial_score": 580,
"ra_verify_score": 850
},
"presence": {
"status": "1",
"operator": "1"

View File

@@ -14,20 +14,96 @@ import (
"go.uber.org/zap"
)
// dwbg9FB3FieldNames 子产品编码 → 响应字段名(单词缩写)
var dwbg9FB3FieldNames = map[string]string{
"YYSYE7V5": "presence", // 在网状态
"YYSYP0T4": "duration", // 在网时长
"YYSYK9R4": "triple", // 三要素验证
"IVYZN2P8": "identity", // 二要素认证
"JRZQV3HM": "fraud", // 债务欺诈黑名单
"JRZQ4B6C": "probe", // 探针C
"JRZQ5E9F": "rating", // 借选指数
"JRZQ3C7B": "intent", // 借贷意向
"JRZQV7MD": "special", // 特殊名单
"JRZQVT43": "complaint", // 投诉风险
"JRZQV0MD": "behavior", // 行为黑名单
"FLXG7E8F": "judicial", // 司法数据
const dwbg9FB3FieldRA = "RA"
// dwbg9FB3OutputField 最终扁平结构中的单个顶层字段定义
type dwbg9FB3OutputField struct {
Key string // 顶层 JSON key
ApiCode string // 子产品编码RA 由聚合计算,无 ApiCode
Source string // 数据来源方法
}
// dwbg9FB3OutputSchema DWBG9FB3 最终返回扁平结构(顶层共 13 个 key
//
// {
// "RA": { ra_score, ra_level, ra_fraud_score, ra_credit_score, ra_judicial_score, ra_verify_score },
// "presence": { ... }, // YYSYE7V5
// "duration": { ... }, // YYSYP0T4
// "triple": { ... }, // YYSYK9R4
// "identity": { ... }, // IVYZN2P8
// "fraud": { ... }, // JRZQV3HM
// "probe": { ... }, // JRZQ4B6C
// "rating": { ... }, // JRZQ5E9F
// "intent": { ... }, // JRZQ3C7B
// "special": { ... }, // JRZQV7MD
// "complaint": { ... }, // JRZQVT43
// "behavior": { ... }, // JRZQV0MD
// "judicial": { ... }, // FLXG7E8F
// }
var dwbg9FB3OutputSchema = []dwbg9FB3OutputField{
{Key: dwbg9FB3FieldRA, Source: "buildDWBG9FB3RA"},
{Key: "presence", ApiCode: "YYSYE7V5", Source: "ProcessYYSYE7V5Request"},
{Key: "duration", ApiCode: "YYSYP0T4", Source: "ProcessYYSYP0T4Request"},
{Key: "triple", ApiCode: "YYSYK9R4", Source: "ProcessYYSYK9R4Request"},
{Key: "identity", ApiCode: "IVYZN2P8", Source: "ProcessIVYZN2P8Request"},
{Key: "fraud", ApiCode: "JRZQV3HM", Source: "ProcessJRZQV3HMRequest"},
{Key: "probe", ApiCode: "JRZQ4B6C", Source: "ProcessJRZQ4B6CRequest"},
{Key: "rating", ApiCode: "JRZQ5E9F", Source: "ProcessJRZQ5E9FRequest"},
{Key: "intent", ApiCode: "JRZQ3C7B", Source: "ProcessJRZQ3C7BRequest"},
{Key: "special", ApiCode: "JRZQV7MD", Source: "ProcessJRZQV7MDRequest"},
{Key: "complaint", ApiCode: "JRZQVT43", Source: "ProcessJRZQVT43Request"},
{Key: "behavior", ApiCode: "JRZQV0MD", Source: "ProcessJRZQV0MDRequest"},
{Key: "judicial", ApiCode: "FLXG7E8F", Source: "ProcessFLXG7E8FRequest"},
}
// dwbg9FB3OutputFieldOrder 最终 JSON 顶层字段顺序
var dwbg9FB3OutputFieldOrder = func() []string {
order := make([]string, len(dwbg9FB3OutputSchema))
for i, f := range dwbg9FB3OutputSchema {
order[i] = f.Key
}
return order
}()
// dwbg9FB3SubProductFieldNames 子产品编码 → 响应字段名
var dwbg9FB3SubProductFieldNames = func() map[string]string {
m := make(map[string]string, len(dwbg9FB3OutputSchema)-1)
for _, f := range dwbg9FB3OutputSchema {
if f.ApiCode == "" {
continue
}
m[f.ApiCode] = f.Key
}
return m
}()
// dwbg9FB3StripKeys 汇总报告中需剔除的上游流水号/追踪类字段
var dwbg9FB3StripKeys = map[string]struct{}{
"order_no": {},
"orderNo": {},
}
// stripDWBG9FB3MetaKeys 递归剔除子接口返回中的流水号等元数据字段
func stripDWBG9FB3MetaKeys(v interface{}) interface{} {
switch val := v.(type) {
case map[string]interface{}:
out := make(map[string]interface{}, len(val))
for k, item := range val {
if _, drop := dwbg9FB3StripKeys[k]; drop {
continue
}
out[k] = stripDWBG9FB3MetaKeys(item)
}
return out
case []interface{}:
out := make([]interface{}, len(val))
for i, item := range val {
out[i] = stripDWBG9FB3MetaKeys(item)
}
return out
default:
return v
}
}
// ProcessDWBG9FB3Request DWBG9FB3 API处理方法 - 个人风险档案
@@ -49,7 +125,8 @@ func ProcessDWBG9FB3Request(ctx context.Context, params []byte, deps *processors
zap.String("mobile_no", maskMobile(paramsDto.MobileNo)),
)
result := collectDWBG9FB3SubProducts(ctx, paramsDto, deps, log)
subProducts := collectDWBG9FB3SubProducts(ctx, paramsDto, deps, log)
result := buildDWBG9FB3Response(subProducts)
respBytes, err := json.Marshal(result)
if err != nil {
@@ -60,6 +137,23 @@ func ProcessDWBG9FB3Request(ctx context.Context, params []byte, deps *processors
return respBytes, nil
}
// buildDWBG9FB3Response 按 dwbg9FB3OutputSchema 构造最终扁平返回结构
func buildDWBG9FB3Response(subProducts map[string]interface{}) map[string]interface{} {
result := make(map[string]interface{}, len(dwbg9FB3OutputSchema))
for _, field := range dwbg9FB3OutputSchema {
if field.Key == dwbg9FB3FieldRA {
result[field.Key] = buildDWBG9FB3RA(subProducts)
continue
}
if v, ok := subProducts[field.Key]; ok {
result[field.Key] = v
} else {
result[field.Key] = nil
}
}
return result
}
type dwbg9fb3APICall struct {
apiCode string
fieldName string
@@ -73,11 +167,11 @@ func collectDWBG9FB3SubProducts(
log *zap.Logger,
) map[string]interface{} {
apiCalls := []dwbg9fb3APICall{
{apiCode: "YYSYE7V5", fieldName: dwbg9FB3FieldNames["YYSYE7V5"], params: map[string]interface{}{"mobile_no": params.MobileNo}},
{apiCode: "YYSYP0T4", fieldName: dwbg9FB3FieldNames["YYSYP0T4"], params: map[string]interface{}{"mobile_no": params.MobileNo}},
{apiCode: "YYSYE7V5", fieldName: dwbg9FB3SubProductFieldNames["YYSYE7V5"], params: map[string]interface{}{"mobile_no": params.MobileNo}},
{apiCode: "YYSYP0T4", fieldName: dwbg9FB3SubProductFieldNames["YYSYP0T4"], params: map[string]interface{}{"mobile_no": params.MobileNo}},
{
apiCode: "YYSYK9R4",
fieldName: dwbg9FB3FieldNames["YYSYK9R4"],
fieldName: dwbg9FB3SubProductFieldNames["YYSYK9R4"],
params: map[string]interface{}{
"mobile_no": params.MobileNo,
"id_card": params.IDCard,
@@ -86,7 +180,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "IVYZN2P8",
fieldName: dwbg9FB3FieldNames["IVYZN2P8"],
fieldName: dwbg9FB3SubProductFieldNames["IVYZN2P8"],
params: map[string]interface{}{
"id_card": params.IDCard,
"name": params.Name,
@@ -94,7 +188,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "JRZQV3HM",
fieldName: dwbg9FB3FieldNames["JRZQV3HM"],
fieldName: dwbg9FB3SubProductFieldNames["JRZQV3HM"],
params: map[string]interface{}{
"id_card": params.IDCard,
"name": params.Name,
@@ -103,7 +197,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "JRZQ4B6C",
fieldName: dwbg9FB3FieldNames["JRZQ4B6C"],
fieldName: dwbg9FB3SubProductFieldNames["JRZQ4B6C"],
params: map[string]interface{}{
"mobile_no": params.MobileNo,
"id_card": params.IDCard,
@@ -113,7 +207,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "JRZQ5E9F",
fieldName: dwbg9FB3FieldNames["JRZQ5E9F"],
fieldName: dwbg9FB3SubProductFieldNames["JRZQ5E9F"],
params: map[string]interface{}{
"mobile_no": params.MobileNo,
"id_card": params.IDCard,
@@ -123,7 +217,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "JRZQ3C7B",
fieldName: dwbg9FB3FieldNames["JRZQ3C7B"],
fieldName: dwbg9FB3SubProductFieldNames["JRZQ3C7B"],
params: map[string]interface{}{
"mobile_no": params.MobileNo,
"id_card": params.IDCard,
@@ -133,7 +227,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "JRZQV7MD",
fieldName: dwbg9FB3FieldNames["JRZQV7MD"],
fieldName: dwbg9FB3SubProductFieldNames["JRZQV7MD"],
params: map[string]interface{}{
"id_card": params.IDCard,
"name": params.Name,
@@ -142,7 +236,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "JRZQVT43",
fieldName: dwbg9FB3FieldNames["JRZQVT43"],
fieldName: dwbg9FB3SubProductFieldNames["JRZQVT43"],
params: map[string]interface{}{
"id_card": params.IDCard,
"name": params.Name,
@@ -151,7 +245,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "JRZQV0MD",
fieldName: dwbg9FB3FieldNames["JRZQV0MD"],
fieldName: dwbg9FB3SubProductFieldNames["JRZQV0MD"],
params: map[string]interface{}{
"id_card": params.IDCard,
"name": params.Name,
@@ -160,7 +254,7 @@ func collectDWBG9FB3SubProducts(
},
{
apiCode: "FLXG7E8F",
fieldName: dwbg9FB3FieldNames["FLXG7E8F"],
fieldName: dwbg9FB3SubProductFieldNames["FLXG7E8F"],
params: map[string]interface{}{
"name": params.Name,
"id_card": params.IDCard,
@@ -220,7 +314,7 @@ func collectDWBG9FB3SubProducts(
output[result.fieldName] = nil
continue
}
output[result.fieldName] = result.data
output[result.fieldName] = stripDWBG9FB3MetaKeys(result.data)
successCount++
}

View File

@@ -0,0 +1,356 @@
package dwbg
import (
"math"
"strconv"
"strings"
)
const raScoreMax = 1000
const (
raWeightVerify = 0.10
raWeightJudicialBase = 0.50
raWeightCreditBase = 0.40
raHighRiskThreshold = 400
)
// buildDWBG9FB3RA 构建顶层 RA 总体安全评估(千分制,分值越高越安全)
//
// 输出字段来源:
// - ra_fraud_score → calcRAFraudScore辅助输出不参与 ra_score 加权)
// - ra_credit_score → calcRACreditScore
// - ra_judicial_score → calcRAJudicialScore
// - ra_verify_score → calcRAVerifyScore
// - ra_score → 本方法,身份 10% 固定 + 司法/借贷动态加权
// - ra_level → raLevelFromScore(ra_score),司法+借贷双高时强制 F
func buildDWBG9FB3RA(data map[string]interface{}) map[string]interface{} {
fraudScore := calcRAFraudScore(data)
creditScore := calcRACreditScore(data)
judicialScore := calcRAJudicialScore(data)
verifyScore := calcRAVerifyScore(data)
total := 0
level := "F"
if isRAForcedFGrade(judicialScore, creditScore) {
total = 0
level = "F"
} else {
wJudicial, wCredit := calcRADynamicWeights(judicialScore, creditScore)
total = int(math.Round(
float64(verifyScore)*raWeightVerify +
float64(judicialScore)*wJudicial +
float64(creditScore)*wCredit,
))
total = clampRAInt(total, 0, raScoreMax)
level = raLevelFromScore(total)
}
return map[string]interface{}{
"ra_score": total,
"ra_level": level,
"ra_fraud_score": fraudScore,
"ra_credit_score": creditScore,
"ra_judicial_score": judicialScore,
"ra_verify_score": verifyScore,
}
}
// calcRADynamicWeights 按司法/借贷风险场景分配剩余 90% 权重(身份固定 10%
func calcRADynamicWeights(judicialScore, creditScore int) (wJudicial, wCredit float64) {
hasJudicialRisk := judicialScore < raScoreMax
hasCreditRisk := creditScore < raScoreMax
switch {
case hasJudicialRisk && hasCreditRisk:
return 0.70, 0.20
case hasJudicialRisk:
return 0.65, 0.25
case hasCreditRisk:
return 0.40, 0.50
default:
return raWeightJudicialBase, raWeightCreditBase
}
}
// isRAForcedFGrade 司法 + 借贷双重高风险时强制 F 级
func isRAForcedFGrade(judicialScore, creditScore int) bool {
return judicialScore <= raHighRiskThreshold && creditScore <= raHighRiskThreshold
}
// raLevelFromScore 由 ra_score 映射等级(千分制,越高越安全)
// A: 800-1000 B: 600-799 C: 400-599 D: 200-399 E: 0-199
func raLevelFromScore(score int) string {
switch {
case score >= 800:
return "A"
case score >= 600:
return "B"
case score >= 400:
return "C"
case score >= 200:
return "D"
default:
return "E"
}
}
// toRASafetyScore 将风险扣分转为安全分:安全分 = 1000 - 风险扣分
func toRASafetyScore(riskPoints int) int {
return clampRAInt(raScoreMax-riskPoints, 0, raScoreMax)
}
// calcRAFraudScore 欺诈/黑名单维度安全分来源calcRAFraudRiskPoints
// 统计方式:满分 1000根据 behavior/complaint/fraud/special 风险信号扣分后取补集
func calcRAFraudScore(data map[string]interface{}) int {
return toRASafetyScore(calcRAFraudRiskPoints(data))
}
// calcRAFraudRiskPoints 统计欺诈维度风险扣分(仅内部使用,分值越高代表越不安全)
func calcRAFraudRiskPoints(data map[string]interface{}) int {
risk := 0
// 来源子字段 behaviorJRZQV0MD 行为黑名单)
if behavior := raAsMap(data["behavior"]); behavior != nil {
if result := raAsMap(behavior["result"]); result != nil {
// behavior.result.black_list = "1" → 命中行为黑名单,扣 500
if raAsString(result["black_list"]) == "1" {
risk += 500
}
// behavior.result.black_tag04~12 任意为 "1" → 每个扣 80
for k, v := range result {
if strings.HasPrefix(k, "black_tag") && raAsString(v) == "1" {
risk += 80
}
}
}
}
// 来源子字段 complaintJRZQVT43 投诉风险筛查)
if complaint := raAsMap(data["complaint"]); complaint != nil {
if result := raAsMap(complaint["result"]); result != nil {
// complaint.result.score × 10上限扣 300
risk += clampRAInt(raAsInt(result["score"])*10, 0, 300)
}
}
// 来源子字段 fraudJRZQV3HM 债务欺诈黑名单)
if fraud := raAsMap(data["fraud"]); fraud != nil {
// fraud.hit = 1 → 命中欺诈黑名单,扣 400
if raAsInt(fraud["hit"]) == 1 || raAsString(fraud["hit"]) == "1" {
risk += 400
}
}
// 来源子字段 specialJRZQV7MD 特殊名单)
if special := raAsMap(data["special"]); special != nil && len(special) > 0 {
switch raAsString(special["Rule_final_decision"]) {
case "Reject":
risk += 350 // 特殊名单建议拒绝
case "Review":
risk += 200 // 特殊名单建议复议
}
}
return clampRAInt(risk, 0, raScoreMax)
}
// calcRACreditScore 借贷/逾期维度安全分来源calcRACreditRiskPoints
// 统计方式:满分 1000根据 probe/intent/rating 风险信号扣分后取补集
func calcRACreditScore(data map[string]interface{}) int {
return toRASafetyScore(calcRACreditRiskPoints(data))
}
// calcRACreditRiskPoints 统计借贷维度风险扣分
func calcRACreditRiskPoints(data map[string]interface{}) int {
risk := 0
// 来源子字段 probeJRZQ4B6C 探针C
if probe := raAsMap(data["probe"]); probe != nil {
if raAsString(probe["currently_overdue"]) == "1" {
risk += 300 // 当前逾期
}
if raAsString(probe["acc_sleep"]) == "1" {
risk += 150 // 睡眠账户
}
if raAsString(probe["currently_performance"]) == "0" {
risk += 100 // 当前未履约
}
if raAsString(probe["result_code"]) == "1" {
risk += 100 // 探针命中风险
}
}
// 来源子字段 intentJRZQ3C7B 借贷意向验证)
if intent := raAsMap(data["intent"]); intent != nil {
switch raAsString(intent["Rule_final_decision"]) {
case "Reject":
risk += 400
case "Review":
risk += 250
}
// intent.Rule_final_weight × 5上限扣 250
weight := raAsInt(intent["Rule_final_weight"])
if weight > 0 {
risk += clampRAInt(weight*5, 0, 250)
}
}
// 来源子字段 ratingJRZQ5E9F 借选指数)
if rating := raAsMap(data["rating"]); rating != nil {
// rating.score 越低风险越高:扣 (500 - score),上限 300
if ratingScore := raAsInt(rating["score"]); ratingScore > 0 && ratingScore < 500 {
risk += clampRAInt(500-ratingScore, 0, 300)
}
}
return clampRAInt(risk, 0, raScoreMax)
}
// calcRAJudicialScore 司法涉诉维度安全分来源calcRAJudicialRiskPoints
// 统计方式:满分 1000根据 judicial.judicial_data 涉诉统计扣分后取补集
func calcRAJudicialScore(data map[string]interface{}) int {
return toRASafetyScore(calcRAJudicialRiskPoints(data))
}
// calcRAJudicialRiskPoints 统计司法维度风险扣分
func calcRAJudicialRiskPoints(data map[string]interface{}) int {
risk := 0
// 来源子字段 judicialFLXG7E8F 个人司法数据查询)
judicial := raAsMap(data["judicial"])
if judicial == nil {
return 0
}
judicialData := raAsMap(judicial["judicial_data"])
if judicialData == nil {
return 0
}
// lawsuitStat 下 civil/criminal/administrative/preservation 等节点累加
if lawsuitStat := raAsMap(judicialData["lawsuitStat"]); lawsuitStat != nil {
for _, section := range lawsuitStat {
sectionMap := raAsMap(section)
if sectionMap == nil {
continue
}
count := raAsMap(sectionMap["count"])
if count == nil {
continue
}
risk += clampRAInt(raAsInt(count["count_total"])*80, 0, 400) // 涉诉总件数
risk += clampRAInt(raAsInt(count["count_wei_total"])*60, 0, 300) // 未结案数
risk += clampRAInt(raAsInt(count["count_beigao"])*50, 0, 250) // 被告件数
}
}
risk += clampRAInt(len(raAsSlice(judicialData["breachCaseList"]))*150, 0, 450) // 失信案件条数
risk += clampRAInt(len(raAsSlice(judicialData["consumptionRestrictionList"]))*200, 0, 400) // 限高条数
return clampRAInt(risk, 0, raScoreMax)
}
// calcRAVerifyScore 身份/在网核验维度安全分来源calcRAVerifyRiskPoints
// 统计方式:满分 1000根据 triple/identity/presence 核验异常扣分后取补集
func calcRAVerifyScore(data map[string]interface{}) int {
return toRASafetyScore(calcRAVerifyRiskPoints(data))
}
// calcRAVerifyRiskPoints 统计核验维度风险扣分
func calcRAVerifyRiskPoints(data map[string]interface{}) int {
risk := 0
// 来源子字段 tripleYYSYK9R4 三要素验证)
if triple := raAsMap(data["triple"]); triple != nil {
if state := raAsString(triple["state"]); state != "" && state != "1" {
risk += 400 // 三要素不一致
}
}
// 来源子字段 identityIVYZN2P8 二要素认证)
if identity := raAsMap(data["identity"]); identity != nil {
if result := raAsInt(identity["result"]); result != 0 {
risk += 400 // 二要素不一致或无记录
}
}
// 来源子字段 presenceYYSYE7V5 在网状态)
if presence := raAsMap(data["presence"]); presence != nil {
desc := raAsString(presence["desc"])
if strings.Contains(desc, "停机") || strings.Contains(desc, "销号") || strings.Contains(desc, "不在网") {
risk += 80 // 在网状态异常
}
if status := raAsInt(presence["status"]); status > 1 {
risk += 50 // 在网状态码异常
}
}
return clampRAInt(risk, 0, raScoreMax)
}
func raAsMap(v interface{}) map[string]interface{} {
m, ok := v.(map[string]interface{})
if !ok || m == nil {
return nil
}
return m
}
func raAsSlice(v interface{}) []interface{} {
s, ok := v.([]interface{})
if !ok {
return nil
}
return s
}
func raAsString(v interface{}) string {
switch val := v.(type) {
case string:
return strings.TrimSpace(val)
case float64:
return strconv.FormatInt(int64(val), 10)
case int:
return strconv.Itoa(val)
case int64:
return strconv.FormatInt(val, 10)
case bool:
if val {
return "1"
}
return "0"
default:
return ""
}
}
func raAsInt(v interface{}) int {
switch val := v.(type) {
case int:
return val
case int64:
return int(val)
case float64:
return int(val)
case string:
n, err := strconv.Atoi(strings.TrimSpace(val))
if err == nil {
return n
}
case bool:
if val {
return 1
}
}
return 0
}
func clampRAInt(v, min, max int) int {
if v < min {
return min
}
if v > max {
return max
}
return v
}

View File

@@ -0,0 +1,139 @@
# DWBG9FB3 RA 安全评估 — 千分制计算说明
## 核心原则
- 所有分值为**千分制0-1000**
- **分值越高越安全**(与风险扣分相反)
- 各维度先统计**风险扣分**,再换算:**安全分 = 1000 - 风险扣分**
## 字段与方法对应关系
| 输出字段 | 计算方法 | 统计逻辑 |
| :--- | :--- | :--- |
| `ra_fraud_score` | `calcRAFraudScore` | `1000 - calcRAFraudRiskPoints` |
| `ra_credit_score` | `calcRACreditScore` | `1000 - calcRACreditRiskPoints` |
| `ra_judicial_score` | `calcRAJudicialScore` | `1000 - calcRAJudicialRiskPoints` |
| `ra_verify_score` | `calcRAVerifyScore` | `1000 - calcRAVerifyRiskPoints` |
| `ra_score` | `buildDWBG9FB3RA` | 四维安全分加权汇总 |
| `ra_level` | `raLevelFromScore` | 由 `ra_score` 映射 A-F |
## 等级划分(越高越安全,每档间隔 100
| 等级 | 分数区间 | 含义 |
| :--- | :--- | :--- |
| A | 900 - 1000 | 最安全 |
| B | 800 - 899 | 较安全 |
| C | 700 - 799 | 一般 |
| D | 600 - 699 | 较不安全 |
| E | 500 - 599 | 不安全 |
| F | 0 - 499 | 最不安全 |
## 综合分公式ra_score
```
ra_score = round(
ra_fraud_score × 25% +
ra_credit_score × 35% +
ra_judicial_score × 25% +
ra_verify_score × 15%
)
```
---
## 一、ra_fraud_score
- **方法链:** `calcRAFraudScore``calcRAFraudRiskPoints``toRASafetyScore`
- **数据来源:** `behavior``complaint``fraud``special`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
| 行为黑名单 | `behavior.result.black_list` | `"1"` | 500 |
| 行为黑标签 | `behavior.result.black_tag**` | 任意 `"1"` | 每个 80 |
| 投诉风险 | `complaint.result.score` | 有值 | score×10上限 300 |
| 欺诈黑名单 | `fraud.hit` | `1` | 400 |
| 特殊名单 | `special.Rule_final_decision` | `Reject` / `Review` | 350 / 200 |
**安全分 = 1000 - 风险扣分(上限 1000**
### 样例DWBG9FB3.json
风险扣分 110 → **ra_fraud_score = 890**
---
## 二、ra_credit_score
- **方法链:** `calcRACreditScore``calcRACreditRiskPoints``toRASafetyScore`
- **数据来源:** `probe``intent``rating`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
| 当前逾期 | `probe.currently_overdue` | `"1"` | 300 |
| 睡眠账户 | `probe.acc_sleep` | `"1"` | 150 |
| 未履约 | `probe.currently_performance` | `"0"` | 100 |
| 探针命中 | `probe.result_code` | `"1"` | 100 |
| 借贷意向 | `intent.Rule_final_decision` | `Reject` / `Review` | 400 / 250 |
| 规则权重 | `intent.Rule_final_weight` | 有值 | weight×5上限 250 |
| 借选指数低 | `rating.score` | 0<score<500 | 500-score上限 300 |
### 样例DWBG9FB3.json
风险扣分 1100截断 1000)→ **ra_credit_score = 0**
---
## 三、ra_judicial_score
- **方法链** `calcRAJudicialScore` `calcRAJudicialRiskPoints` `toRASafetyScore`
- **数据来源** `judicial.judicial_data`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
| 涉诉总件数 | `lawsuitStat.*.count.count_total` | 各类型累加 | 每件 80单项上限 400 |
| 未结案数 | `lawsuitStat.*.count.count_wei_total` | 各类型累加 | 每件 60单项上限 300 |
| 被告件数 | `lawsuitStat.*.count.count_beigao` | 各类型累加 | 每件 50单项上限 250 |
| 失信案件 | `breachCaseList` 长度 | 每条 | 150上限 450 |
| 限高名单 | `consumptionRestrictionList` 长度 | 每条 | 200上限 400 |
### 样例DWBG9FB3.json
风险扣分 420 **ra_judicial_score = 580**
---
## 四、ra_verify_score
- **方法链** `calcRAVerifyScore` `calcRAVerifyRiskPoints` `toRASafetyScore`
- **数据来源** `triple``identity``presence`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
| 三要素不一致 | `triple.state` | 有值且不为 `"1"` | 400 |
| 二要素不一致 | `identity.result` | 不为 `0` | 400 |
| 在网异常 | `presence.desc` | 含停机/销号/不在网 | 150 |
| 状态码异常 | `presence.status` | 大于 `1` | 100 |
### 样例DWBG9FB3.json
风险扣分 150 **ra_verify_score = 850**
---
## 五、综合分与等级(样例)
```
ra_score = round(890×0.25 + 0×0.35 + 580×0.25 + 850×0.15)
= round(222.5 + 0 + 145 + 127.5)
= 495
ra_level = "F"
```
## 代码位置
| 方法 | 文件 |
| :--- | :--- |
| `buildDWBG9FB3RA` | `dwbg9fb3_ra.go` |
| `calcRA*Score` / `calcRA*RiskPoints` | `dwbg9fb3_ra.go` |
| `toRASafetyScore` | `dwbg9fb3_ra.go` |
| `raLevelFromScore` | `dwbg9fb3_ra.go` |

View File

@@ -0,0 +1,180 @@
package dwbg
import (
"encoding/json"
"math"
"os"
"path/filepath"
"testing"
)
func TestBuildDWBG9FB3RAFromSample(t *testing.T) {
raw, err := os.ReadFile(filepath.Join("DWBG9FB3.json"))
if err != nil {
t.Skip("DWBG9FB3.json not found")
}
var data map[string]interface{}
if err := json.Unmarshal(raw, &data); err != nil {
t.Fatalf("unmarshal sample: %v", err)
}
ra := buildDWBG9FB3RA(data)
required := []string{
"ra_score",
"ra_level",
"ra_fraud_score",
"ra_credit_score",
"ra_judicial_score",
"ra_verify_score",
}
for _, key := range required {
if _, ok := ra[key]; !ok {
t.Fatalf("RA missing key %s", key)
}
}
score := raAsInt(ra["ra_score"])
if score < 0 || score > raScoreMax {
t.Fatalf("ra_score out of range: %d", score)
}
level := raAsString(ra["ra_level"])
validLevels := map[string]bool{"A": true, "B": true, "C": true, "D": true, "E": true, "F": true}
if !validLevels[level] {
t.Fatalf("invalid ra_level: %s", level)
}
t.Logf("RA sample: score=%d level=%s fraud=%d credit=%d judicial=%d verify=%d",
raAsInt(ra["ra_score"]),
level,
raAsInt(ra["ra_fraud_score"]),
raAsInt(ra["ra_credit_score"]),
raAsInt(ra["ra_judicial_score"]),
raAsInt(ra["ra_verify_score"]),
)
}
func TestRALevelFromScore(t *testing.T) {
cases := map[int]string{
0: "E",
199: "E",
200: "D",
399: "D",
400: "C",
599: "C",
600: "B",
799: "B",
800: "A",
1000: "A",
}
for score, want := range cases {
if got := raLevelFromScore(score); got != want {
t.Fatalf("score %d: got %s want %s", score, got, want)
}
}
}
func TestSafetyScoreHigherIsSafer(t *testing.T) {
clean := map[string]interface{}{
"behavior": map[string]interface{}{"result": map[string]interface{}{"black_list": "0"}},
"complaint": nil,
"fraud": nil,
"special": nil,
"probe": nil,
"intent": nil,
"rating": nil,
"judicial": nil,
"triple": map[string]interface{}{"state": "1"},
"identity": map[string]interface{}{"result": 0},
"presence": map[string]interface{}{"desc": "正常", "status": 1},
}
ra := buildDWBG9FB3RA(clean)
if raAsInt(ra["ra_score"]) < 800 {
t.Fatalf("clean data should have safety score >= 800, got %d", raAsInt(ra["ra_score"]))
}
if raLevelFromScore(raAsInt(ra["ra_score"])) != "A" {
t.Fatalf("clean data should be level A, got %s", raLevelFromScore(raAsInt(ra["ra_score"])))
}
}
func TestCalcRADynamicWeights(t *testing.T) {
cases := []struct {
judicial, credit int
wantJudicial float64
wantCredit float64
}{
{1000, 1000, 0.50, 0.40},
{900, 1000, 0.65, 0.25},
{1000, 900, 0.40, 0.50},
{900, 900, 0.70, 0.20},
}
for _, tc := range cases {
gotJ, gotC := calcRADynamicWeights(tc.judicial, tc.credit)
if gotJ != tc.wantJudicial || gotC != tc.wantCredit {
t.Fatalf("judicial=%d credit=%d: got (%.2f, %.2f) want (%.2f, %.2f)",
tc.judicial, tc.credit, gotJ, gotC, tc.wantJudicial, tc.wantCredit)
}
}
}
func TestRAForcedFGrade(t *testing.T) {
data := map[string]interface{}{
"behavior": nil,
"complaint": nil,
"fraud": nil,
"special": nil,
"probe": map[string]interface{}{
"currently_overdue": "1",
"currently_performance": "0",
"result_code": "1",
},
"intent": map[string]interface{}{
"Rule_final_decision": "Reject",
},
"rating": nil,
"triple": map[string]interface{}{"state": "1"},
"identity": map[string]interface{}{"result": 0},
"presence": map[string]interface{}{"desc": "正常", "status": 1},
"judicial": map[string]interface{}{
"judicial_data": map[string]interface{}{
"breachCaseList": []interface{}{
map[string]interface{}{"caseNo": "1"},
map[string]interface{}{"caseNo": "2"},
map[string]interface{}{"caseNo": "3"},
},
"consumptionRestrictionList": []interface{}{
map[string]interface{}{"caseNo": "4"},
map[string]interface{}{"caseNo": "5"},
},
"lawsuitStat": map[string]interface{}{},
},
},
}
ra := buildDWBG9FB3RA(data)
if raAsInt(ra["ra_score"]) != 0 {
t.Fatalf("forced F should have ra_score=0, got %d", raAsInt(ra["ra_score"]))
}
if raAsString(ra["ra_level"]) != "F" {
t.Fatalf("forced F should have ra_level=F, got %s", raAsString(ra["ra_level"]))
}
}
func TestRAScoreWeightedSum(t *testing.T) {
verify, judicial, credit := 920, 980, 760
wJ, wC := calcRADynamicWeights(judicial, credit)
// 980/760 均 < 1000触发司法+借贷双风险 → 70%/20%
want := int(math.Round(float64(verify)*raWeightVerify + float64(judicial)*wJ + float64(credit)*wC))
if want != 930 {
t.Fatalf("dual-risk example want 930, got %d (wJ=%.2f wC=%.2f)", want, wJ, wC)
}
verify, judicial, credit = 920, 1000, 1000
wJ, wC = calcRADynamicWeights(judicial, credit)
want = int(math.Round(float64(verify)*raWeightVerify + float64(judicial)*wJ + float64(credit)*wC))
if want != 992 {
t.Fatalf("baseline example want 992, got %d", want)
}
}

View File

@@ -0,0 +1,322 @@
# DWBG9FB3 RA 安全评估 — 千分制计算说明(三维度动态权重版)
> **修订说明**
> 本版本采用 **「身份固定 10% + 司法 / 借贷动态 90%」** 的三维度加权模型,突出个人司法与信贷风险的主次关系;司法维度细分为 **涉诉统计、失信被执行人、限高被执行人** 三类独立计分。
---
## 一、核心原则
- 所有分值采用 **千分制01000**
- **分值越高表示越安全**
- 统一计算路径:
```text
安全分 = 1000 风险扣分(单维上限 1000
```
- **个人身份信息权重固定 10%,不参与动态调整**
- **个人司法信息与借贷信息合计 90%,根据风险场景动态分配**
- **司法 + 借贷同时高风险时,直接判定 F 级(不参与加权)**
---
## 二、综合分三维度结构
| 业务维度 | 输出字段 | 计算方法 | 基准权重 | 是否动态 |
| :--- | :--- | :--- | :--- | :--- |
| 个人身份信息 | `ra_verify_score` | `calcRAVerifyScore` | **10%(固定)** | 否 |
| 个人司法信息 | `ra_judicial_score` | `calcRAJudicialScore` | **50%(基准)** | 是 |
| 借贷信息 | `ra_credit_score` | `calcRACreditScore` | **40%(基准)** | 是 |
> 基准权重合计:`10% + 50% + 40% = 100%`
### 辅助输出字段(不参与综合分加权)
| 输出字段 | 计算方法 | 说明 |
| :--- | :--- | :--- |
| `ra_fraud_score` | `calcRAFraudScore` | 欺诈 / 黑名单维度,单独输出供业务参考 |
| `ra_score` | `buildDWBG9FB3RA` | 三维度动态加权汇总 |
| `ra_level` | `raLevelFromScore` | 由 `ra_score` 映射 AF |
---
## 三、等级划分(含 F 级)
| 等级 | 分数区间 | 含义 |
| :--- | :--- | :--- |
| A | 800 1000 | 最安全 |
| B | 600 799 | 较安全 |
| C | 400 599 | 一般 |
| D | 200 399 | 较不安全 |
| E | 0 199 | 高风险 |
| **F** | — | **司法 + 借贷双重高风险(强制)** |
---
## 四、动态权重机制
### 1⃣ 风险标志位
```text
HAS_JUDICIAL_RISK =
ra_judicial_score < 1000
HAS_CREDIT_RISK =
ra_credit_score < 1000
HAS_SEVERE_JUDICIAL =
ra_judicial_score ≤ 400
OR breachCaseList 非空
OR consumptionRestrictionList 非空
HAS_SEVERE_CREDIT =
ra_credit_score ≤ 400
```
---
### 2⃣ 权重分配表
**固定项:个人身份信息始终占 10%**
| 场景 | 个人身份 | 个人司法 | 借贷 | 说明 |
| :--- | :--- | :--- | :--- | :--- |
| **基准(无显著风险)** | **10%** | **50%** | **40%** | 默认比例 |
| **有司法风险** | **10%** | **65%** | **25%** | 司法权重上调,借贷权重下调 |
| **有借贷风险、无司法风险** | **10%** | **40%** | **50%** | 借贷权重上调,司法权重下调 |
| **司法 + 借贷均有风险** | **10%** | **70%** | **20%** | 司法优先于借贷 |
> 动态权重仅调整 **司法 / 借贷** 两个维度,三者之和恒为 100%。
---
### 3⃣ 综合分计算公式
```text
// 第一步:确定司法 / 借贷权重(身份固定 0.10
IF HAS_JUDICIAL_RISK AND HAS_CREDIT_RISK:
w_judicial = 0.70, w_credit = 0.20
ELSE IF HAS_JUDICIAL_RISK:
w_judicial = 0.65, w_credit = 0.25
ELSE IF HAS_CREDIT_RISK:
w_judicial = 0.40, w_credit = 0.50
ELSE:
w_judicial = 0.50, w_credit = 0.40
w_verify = 0.10 // 固定
// 第二步:加权汇总
ra_score = round(
ra_verify_score × w_verify +
ra_judicial_score × w_judicial +
ra_credit_score × w_credit
)
```
---
## 五、F 级强判规则(最高优先级)
同时满足以下条件时:
```text
ra_level = "F"
ra_score = 0
```
| 条件 | 判定标准 |
| :--- | :--- |
| 司法高风险 | `ra_judicial_score ≤ 400` |
| 借贷高风险 | `ra_credit_score ≤ 400` |
| 风险叠加 | 至少存在 2 项中高风险记录 |
> **F 级不参与任何加权计算,直接覆盖结果**
---
## 六、各维度风险扣分规则
### 1⃣ ra_verify_score个人身份信息权重 10% 固定)
- **方法链:** `calcRAVerifyScore → calcRAVerifyRiskPoints → toRASafetyScore`
- **数据来源:** `triple`、`identity`、`presence`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
| 三要素不一致 | `triple.state` | 有值且不为 `"1"` | 400 |
| 二要素不一致 | `identity.result` | 不为 `0` | 400 |
| 在网异常 | `presence.desc` | 含停机 / 销号 / 不在网 | 80 |
| 状态码异常 | `presence.status` | 大于 `1` | 50 |
> 身份核验为 **基础准入项**,权重低但不可忽略;不一致时单项扣分仍可达 400800 分。
---
### 2⃣ ra_judicial_score个人司法信息基准权重 50%,可动态上调)
- **方法链:** `calcRAJudicialScore → calcRAJudicialRiskPoints → toRASafetyScore`
- **数据来源:** `judicial.judicial_data`
- **子维度结构:** 涉诉统计 + 失信被执行人 + 限高被执行人(三类独立累加)
#### 2.1 涉诉统计lawsuitStat
遍历 `lawsuitStat` 下各类型节点(如 `civil`、`criminal`、`administrative`、`preservation`、`implement`、`bankrupt` 等),读取 `*.count` 累加:
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 |
| :--- | :--- | :--- | :--- | :--- |
| 涉诉总件数 | `lawsuitStat.*.count.count_total` | 各类型累加 | 80 / 件 | 400 |
| 未结案数 | `lawsuitStat.*.count.count_wei_total` | 各类型累加 | 60 / 件 | 300 |
| 被告件数 | `lawsuitStat.*.count.count_beigao` | 各类型累加 | 50 / 件 | 250 |
#### 2.2 失信被执行人breachCaseList
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 |
| :--- | :--- | :--- | :--- | :--- |
| 失信执行人记录 | `breachCaseList` 长度 | 每条记录 | **150 / 条** | **450** |
- 对应最高法 **失信被执行人名单**
- 命中即视为 **重度司法风险**,触发动态权重向司法倾斜(`HAS_JUDICIAL_RISK = true`
- 单条扣分高于普通涉诉件数,体现执行阶段信用惩戒的严重性
#### 2.3 限高被执行人consumptionRestrictionList
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 |
| :--- | :--- | :--- | :--- | :--- |
| 限高执行人记录 | `consumptionRestrictionList` 长度 | 每条记录 | **200 / 条** | **400** |
- 对应 **限制高消费被执行人名单**
- 单条扣分高于失信记录,体现对消费 / 出行能力的直接限制
- 与失信记录 **独立计分、互不替代**,可同时累加
#### 2.4 司法子维度扣分优先级(业务解释)
| 优先级 | 子维度 | 典型场景 | 相对严重度 |
| :--- | :--- | :--- | :--- |
| 1 | 限高被执行人 | 已被法院采取限高措施 | 最高 |
| 2 | 失信被执行人 | 已被列入失信名单 | 高 |
| 3 | 未结案涉诉 | 纠纷仍在审理 / 执行中 | 中 |
| 4 | 被告涉诉 | 作为被告被起诉 | 中 |
| 5 | 历史涉诉(已结案) | 仅 count_total 有值 | 相对较低 |
---
### 3⃣ ra_credit_score借贷信息基准权重 40%,可动态上调)
- **方法链:** `calcRACreditScore → calcRACreditRiskPoints → toRASafetyScore`
- **数据来源:** `probe`、`intent`、`rating`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
| 当前逾期 | `probe.currently_overdue` | `"1"` | 300 |
| 睡眠账户 | `probe.acc_sleep` | `"1"` | 150 |
| 未履约 | `probe.currently_performance` | `"0"` | 100 |
| 探针命中 | `probe.result_code` | `"1"` | 100 |
| 借贷意向 | `intent.Rule_final_decision` | `Reject` / `Review` | 400 / 250 |
| 规则权重 | `intent.Rule_final_weight` | 有值 | weight×5上限 250 |
| 借选指数低 | `rating.score` | 0 < score < 500 | 500score上限 300 |
---
### 4⃣ ra_fraud_score欺诈辅助输出不参与加权
- **方法链:** `calcRAFraudScore → calcRAFraudRiskPoints → toRASafetyScore`
- **数据来源:** `behavior`、`complaint`、`fraud`、`special`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
| 行为黑名单 | `behavior.result.black_list` | `"1"` | 500 |
| 行为黑标签 | `behavior.result.black_tag**` | 任意 `"1"` | 每个 80 |
| 投诉风险 | `complaint.result.score` | 有值 | score×10上限 300 |
| 欺诈黑名单 | `fraud.hit` | `1` | 400 |
| 特殊名单 | `special.Rule_final_decision` | `Reject` / `Review` | 350 / 200 |
> 欺诈信号仍单独计算并返回 `ra_fraud_score`,供风控人工复核;**不进入 `ra_score` 三维度加权**,避免与借贷维度重复计分。
---
## 七、综合分与等级计算样例
### ✅ 样例 1基准场景无显著风险 → A
| 维度 | 安全分 | 权重 |
| :--- | :--- | :--- |
| 个人身份 | 920 | 10% |
| 个人司法 | 980 | 50% |
| 借贷 | 760 | 40% |
```text
ra_score = 920×0.10 + 980×0.50 + 760×0.40
= 92 + 490 + 304
= 886 → A
```
---
### ⚠️ 样例 2命中失信 + 限高(司法权重上调 → C/D
| 维度 | 安全分 | 说明 |
| :--- | :--- | :--- |
| 个人身份 | 900 | 核验正常 |
| 个人司法 | 350 | 失信 1 条 + 限高 1 条,扣分 350 |
| 借贷 | 680 | 轻度借贷风险 |
动态权重:身份 10% + 司法 65% + 借贷 25%
```text
ra_score = 900×0.10 + 350×0.65 + 680×0.25
= 90 + 227.5 + 170
= 488 → D/E
```
---
### ⚠️ 样例 3仅借贷风险借贷权重上调 → B/C
| 维度 | 安全分 |
| :--- | :--- |
| 个人身份 | 880 |
| 个人司法 | 1000 |
| 借贷 | 520 |
动态权重:身份 10% + 司法 40% + 借贷 50%
```text
ra_score = 880×0.10 + 1000×0.40 + 520×0.50
= 88 + 400 + 260
= 748 → B
```
---
### ❌ 样例 4司法 + 借贷双高F 级)
- `ra_judicial_score ≤ 400`(含失信 / 限高 / 多笔涉诉)
- `ra_credit_score ≤ 400`(当前逾期 + 借贷意向 Reject
→ **直接判定F`ra_score = 0`**
---
## 八、代码位置
| 方法 | 文件 |
| :--- | :--- |
| `buildDWBG9FB3RA` | `dwbg9fb3_ra.go` |
| `calcRA*Score` / `calcRA*RiskPoints` | `dwbg9fb3_ra.go` |
| `toRASafetyScore` | `dwbg9fb3_ra.go` |
| `raLevelFromScore` | `dwbg9fb3_ra.go` |
---
## 九、变更总结
| 项目 | 原方案 | 新方案 |
| :--- | :--- | :--- |
| 加权维度 | 欺诈 + 借贷 + 司法 + 身份(四维) | **身份 + 司法 + 借贷(三维)** |
| 身份权重 | 15%20% 浮动 | **固定 10%** |
| 司法 / 借贷权重 | 各自独立浮动 | **基准 50% / 40%,动态互调** |
| 司法子维度 | 合并描述 | **涉诉统计 / 失信执行人 / 限高执行人 分项说明** |
| 限高 vs 失信 | 同表罗列 | **限高 200/条、失信 150/条,独立计分** |
| 欺诈维度 | 参与加权 | **单独输出,不参与 `ra_score`** |
| 双高风险 | 仍参与加权 | **直接 F 级** |