This commit is contained in:
2025-12-16 12:27:12 +08:00
parent 89fd3c8bd9
commit d576d8e734
38 changed files with 6175 additions and 5168 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,270 +0,0 @@
# PDF 生成环境说明文档
## 📋 概述
本项目使用 Python 脚本将 JSON 数据转换为 PDF 报告。主要依赖 WeasyPrint 库进行 HTML 到 PDF 的转换。
## 🔧 环境要求
### Python 版本
- **Python 3.8+** (推荐 Python 3.9 或更高版本)
- 支持 Windows、Linux、macOS
### 系统依赖
#### Windows
- 需要安装 **GTK+ 运行时库**WeasyPrint 的必需依赖)
- 推荐使用 Conda 环境(自动处理依赖)
#### Linux
- 需要安装系统级字体库和 GTK+ 相关库
- Ubuntu/Debian: `sudo apt-get install python3-dev python3-pip python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info`
- CentOS/RHEL: `sudo yum install python3-devel python3-pip cairo pango gdk-pixbuf2 libffi`
#### macOS
- 需要安装 GTK+ 和相关库
- 推荐使用 Homebrew: `brew install cairo pango gdk-pixbuf libffi`
## 📦 Python 依赖包
项目依赖以下 Python 包(见 `requirements.txt`
| 包名 | 版本要求 | 说明 |
|------|---------|------|
| jinja2 | >=3.1.2 | HTML 模板引擎,用于渲染报告模板 |
| weasyprint | >=60.0 | PDF 生成库,将 HTML 转换为 PDF |
## 🚀 安装步骤
### 方法一:使用 Conda推荐Windows 用户首选)
Conda 会自动处理所有系统依赖,包括 GTK+ 运行时库。
```bash
# 1. 创建 Conda 环境(可选)
conda create -n pdf-generator python=3.9
conda activate pdf-generator
# 2. 安装 WeasyPrint自动安装所有依赖
conda install -c conda-forge weasyprint
# 3. 安装其他依赖
pip install jinja2
```
### 方法二:使用 pip + 手动安装系统依赖
#### Windows
1. **安装 GTK+ 运行时库**
- 下载地址https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
- 下载并安装最新的 `gtk3-runtime-*.exe`64位版本
- 安装到默认路径:`C:\Program Files\GTK3-Runtime Win64`
- 确保安装程序自动添加到 PATH或手动添加`C:\Program Files\GTK3-Runtime Win64\bin`
2. **安装 Python 依赖**
```bash
pip install -r requirements.txt
```
3. **重启终端**(重要!让 PATH 生效)
#### Linux
```bash
# 1. 安装系统依赖Ubuntu/Debian 示例)
sudo apt-get update
sudo apt-get install python3-dev python3-pip python3-cffi \
libcairo2 libpango-1.0-0 libpangocairo-1.0-0 \
libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
# 2. 安装 Python 依赖
pip install -r requirements.txt
```
#### macOS
```bash
# 1. 安装系统依赖(使用 Homebrew
brew install cairo pango gdk-pixbuf libffi
# 2. 安装 Python 依赖
pip install -r requirements.txt
```
### 方法三:使用虚拟环境(推荐用于生产环境)
```bash
# 1. 创建虚拟环境
python -m venv venv
# 2. 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate
# 3. 安装依赖
pip install -r requirements.txt
```
## ✅ 验证安装
运行以下命令验证环境是否正确配置:
```bash
python -c "from weasyprint import HTML; print('WeasyPrint 安装成功!')"
```
如果出现错误,请参考下面的"常见问题"部分。
## 📝 使用方法
### 基本用法
```bash
python generate_pdf.py <数据文件> [输出文件]
```
### 示例
```bash
# 使用示例数据生成 PDF
python generate_pdf.py public/example.json output.pdf
# 指定输出文件名(默认为 report.pdf
python generate_pdf.py public/example.json my_report.pdf
```
### 数据文件格式
- 支持 JSON 格式文件
- 文件应包含 `DWBG8B4D` 或 `CDWBG8B4D` 的谛听报告数据
- 可选包含 `FLXG7E8F` 或 `FLXG0V4B` 的司法涉诉数据
## 🐛 常见问题
### 问题 1: `OSError: cannot load library 'libgobject-2.0-0'`
**原因**Windows 系统缺少 GTK+ 运行时库。
**解决方案**
1. **推荐**:使用 Conda 安装 WeasyPrint
```bash
conda install -c conda-forge weasyprint
```
2. **或**:手动安装 GTK+ 运行时库
- 下载https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
- 安装后重启终端
### 问题 2: `ImportError: No module named 'weasyprint'`
**原因**WeasyPrint 未安装或不在当前 Python 环境中。
**解决方案**
```bash
pip install weasyprint
# 或使用 Conda
conda install -c conda-forge weasyprint
```
### 问题 3: `ImportError: No module named 'jinja2'`
**原因**Jinja2 模板引擎未安装。
**解决方案**
```bash
pip install jinja2
```
### 问题 4: 生成的 PDF 中文显示为方块
**原因**:系统缺少中文字体。
**解决方案**
- **Windows**:系统自带中文字体,通常无需额外配置
- **Linux**:安装中文字体
```bash
sudo apt-get install fonts-wqy-microhei fonts-wqy-zenhei
```
- **macOS**:系统自带中文字体
### 问题 5: Conda 安装 WeasyPrint 时卡住或报错
**原因**Conda 依赖解析时间过长或网络问题。
**解决方案**
1. 更新 Conda
```bash
conda update conda
```
2. 使用国内镜像源(如果在中国):
```bash
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels conda-forge
```
3. 或使用 pip + GTK+ 运行时库的方式
### 问题 6: 权限错误Linux/macOS
**原因**:没有权限安装系统依赖。
**解决方案**
```bash
# 使用 sudo 安装系统依赖
sudo apt-get install ... # Ubuntu/Debian
sudo yum install ... # CentOS/RHEL
```
## 🔍 环境检查清单
在开始使用前,请确认:
- [ ] Python 版本 >= 3.8
- [ ] WeasyPrint 已正确安装
- [ ] Jinja2 已正确安装
- [ ] WindowsGTK+ 运行时库已安装并添加到 PATH
- [ ] Linux/macOS系统依赖已安装
- [ ] 可以成功导入 WeasyPrint`python -c "from weasyprint import HTML"`
## 📚 相关资源
- **WeasyPrint 官方文档**https://weasyprint.org/
- **Jinja2 官方文档**https://jinja.palletsprojects.com/
- **GTK+ Windows 运行时**https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
- **Conda 文档**https://docs.conda.io/
## 💡 最佳实践
1. **使用虚拟环境**:避免污染系统 Python 环境
2. **Windows 用户优先使用 Conda**:自动处理所有依赖,最简单
3. **定期更新依赖**`pip install --upgrade weasyprint jinja2`
4. **测试环境**:在生成大量 PDF 前,先用示例数据测试
## 🔄 更新依赖
```bash
# 更新所有依赖
pip install --upgrade -r requirements.txt
# 或单独更新
pip install --upgrade weasyprint jinja2
```
## 📞 技术支持
如果遇到问题:
1. 检查 Python 版本:`python --version`
2. 检查已安装的包:`pip list | grep -E "weasyprint|jinja2"`
3. 查看错误信息:运行 `python generate_pdf.py` 查看详细错误
4. 验证环境:运行 `python -c "from weasyprint import HTML; print('OK')"`
---
**最后更新**2025-01-20

32
d.md Normal file
View File

@@ -0,0 +1,32 @@
## 请求参数
| 参数code | 参数名称 | 描述&备注 |
| --------- | -------- | --------- |
| name | 姓名 | **必填** |
| bank_card | 银行卡号 | **必填** |
| id_card | 身份证号 | **必填** |
| mobile_no | 手机号 | 选填 |
## 返回参数
| 参数code | 参数名称 | 描述&备注 |
| ------------ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name | 姓名 | - |
| cardNo | 身份证号 | - |
| cardId | 卡号 | - |
| phone | 手机号 | - |
| respCode | 验证结果代码 | 详见响应码说明 |
| respDesc | 验证结果信息 | 详见响应码说明 |
| respDetail | 验证结果详情 | 验证不通过时的详细说明<br>• 卡状态异常,请换卡重试或联系发卡行<br>• 无效卡号或卡状态异常,请换卡重试或联系发卡行 |
| cardType | 卡类型 | 可能值:<br>• 贷记卡<br>• 准贷记卡<br>• 预付卡<br>• 借记卡 |
| cardCategory | 卡等级 | 可能值:<br>• 银联支付标记<br>• 无限卡<br>• 准贷记卡<br>• 社保卡<br>• 电子现金卡<br>• 公务卡<br>• 预付卡<br>• 普卡<br>• 白金卡<br>• 钻石卡<br>• 借记卡<br>• 金卡<br>• 小额贷款卡<br>• 信用卡 |
| cardName | 银行名称 | - |
## 响应码说明 (respCode & respDesc)
| respCode | respDesc |
| -------- | ---------- |
| 2000 | 认证一致 |
| 2001 | 认证不一致 |

206
demo.html Normal file
View File

@@ -0,0 +1,206 @@
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<title>系统流 卡牌对战 Demo</title>
<style>
body {
background: #111;
color: #eee;
font-family: sans-serif;
padding: 20px;
}
#log {
background: #222;
padding: 10px;
height: 250px;
overflow-y: auto;
border: 1px solid #444;
margin-bottom: 10px;
white-space: pre-line;
}
.card {
display: inline-block;
background: #333;
border: 1px solid #666;
padding: 10px;
margin: 5px;
cursor: pointer;
width: 160px;
}
.card:hover {
background: #444;
}
</style>
</head>
<body>
<h2>《系统流:校园日常攻略》卡牌演示 Demo</h2>
<div id="stats"></div>
<div id="log"></div>
<h3>我的手牌</h3>
<div id="cards"></div>
<button onclick="nextTurn()" style="margin-top: 10px">重新抽卡</button>
<script>
/////////////////////////////////////////////////////
// 游戏初始配置
/////////////////////////////////////////////////////
let player = {
favor: 0, // 女生对玩家好感
energy: 100,
};
let npc = {
favor: 30, // 初始好感
};
let systemTask = {
desc: "让对方情绪波动 +10",
target: 10,
progress: 0,
};
// 卡牌池 —— 演示可後续扩展
const cardPool = [
{
name: "夸赞(行动卡)",
type: "action",
effect: () => changeFavor(3),
desc: "+3 好感",
},
{
name: "冷幽默(行动卡)",
type: "action",
effect: () => changeFavor(5),
desc: "+5 好感",
},
{
name: "装酷(行动卡)",
type: "action",
effect: () => changeFavor(1),
desc: "+1 好感",
},
{
name: "系统加持(系统卡)",
type: "system",
effect: () =>
changeFavor(Math.floor(Math.random() * 6) + 2),
desc: "随机 +2~7 好感",
},
{
name: "语言暴击(系统卡)",
type: "system",
effect: () => changeFavor(8),
desc: "+8 好感",
},
{
name: "冷场(情绪负面)",
type: "bad",
effect: () => changeFavor(-4),
desc: "-4 好感",
},
];
// 当前手牌
let hand = [];
/////////////////////////////////////////////////////
// 功能函数
/////////////////////////////////////////////////////
// 抽牌
function drawCards(num = 3) {
hand = [];
for (let i = 0; i < num; i++) {
let c =
cardPool[Math.floor(Math.random() * cardPool.length)];
hand.push(c);
}
render();
}
// 使用卡牌
function playCard(index) {
let card = hand[index];
writeLog(`你使用了【${card.name}】 → ${card.desc}`);
card.effect();
systemCheck();
npcAction();
drawCards();
}
// 修改好感 / 数值
function changeFavor(v) {
npc.favor += v;
systemTask.progress += v;
if (npc.favor < 0) npc.favor = 0;
render();
}
// 系统任务检测
function systemCheck() {
if (systemTask.progress >= systemTask.target) {
writeLog(`📢 系统任务达成:${systemTask.desc}`);
writeLog(`奖励:获得 500万软妹币精神上的`);
systemTask = {
desc: "让女生惊讶一次好感一次增长≥6",
target: 6,
progress: 0,
};
}
}
// NPC 回合逻辑(简单演示)
function npcAction() {
let r = Math.random();
if (r < 0.5) {
writeLog("女生回应:嗯……还不错。");
} else if (r < 0.8) {
writeLog("女生:你怎么突然这样?(情绪波动+3");
changeFavor(3);
} else {
writeLog("女生:无语……你是系统选中的人吗?(好感-2");
changeFavor(-2);
}
}
// 日志输出
function writeLog(t) {
let log = document.getElementById("log");
log.innerHTML += t + "\n";
log.scrollTop = log.scrollHeight;
}
// UI 渲染
function render() {
document.getElementById("stats").innerHTML =
`女生好感:${npc.favor} ` +
`任务:${systemTask.desc}(当前进度 ${systemTask.progress}/${systemTask.target}`;
let cardDiv = document.getElementById("cards");
cardDiv.innerHTML = "";
hand.forEach((c, i) => {
let div = document.createElement("div");
div.className = "card";
div.innerHTML = `<b>${c.name}</b><br>${c.desc}`;
div.onclick = () => playCard(i);
cardDiv.appendChild(div);
});
}
// 下一回合(抽新卡)
function nextTurn() {
drawCards();
}
/////////////////////////////////////////////////////
// 开始
/////////////////////////////////////////////////////
writeLog("系统启动:新手引导中……");
writeLog("任务:让对方情绪波动 +10");
drawCards();
</script>
</body>
</html>

695
demo2.html Normal file
View File

@@ -0,0 +1,695 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>天选打工人 - 系统对战Demo</title>
<style>
:root {
--primary: #00ff9d; /* 赛博绿 */
--danger: #ff0055; /* 故障红 */
--bg: #0a0a0a;
--card-bg: #1a1a1a;
--text: #e0e0e0;
}
body {
font-family: "Consolas", "Courier New", monospace;
background-color: var(--bg);
color: var(--text);
margin: 0;
padding: 0;
height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
}
/* --- 顶部:敌人区域 --- */
#enemy-area {
flex: 2;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border-bottom: 1px solid #333;
position: relative;
}
.avatar {
width: 100px;
height: 100px;
background: #333;
border: 2px solid var(--danger);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 40px;
margin-bottom: 10px;
transition: transform 0.1s;
}
.hp-bar-container {
width: 200px;
height: 20px;
background: #333;
border: 1px solid #555;
position: relative;
}
.hp-bar-fill {
height: 100%;
background: var(--danger);
width: 100%;
transition: width 0.3s ease-out;
}
.intent-bubble {
margin-top: 10px;
background: #222;
padding: 5px 10px;
border-radius: 10px;
border: 1px solid var(--danger);
color: var(--danger);
font-size: 12px;
}
/* --- 中间:战斗日志 (LLM文字流) --- */
#battle-log {
flex: 3;
overflow-y: auto;
padding: 20px;
background: rgba(0, 20, 10, 0.5);
border-bottom: 1px solid #333;
font-size: 14px;
line-height: 1.6;
}
.log-entry {
margin-bottom: 8px;
opacity: 0.8;
}
.log-system {
color: var(--primary);
font-weight: bold;
}
.log-player {
color: #fff;
}
.log-enemy {
color: var(--danger);
}
.log-desc {
color: #888;
font-style: italic;
font-size: 0.9em;
margin-left: 10px;
display: block;
}
/* --- 底部:玩家区域 --- */
#player-area {
flex: 3;
display: flex;
flex-direction: column;
background: #111;
padding: 10px;
}
#stats-bar {
display: flex;
justify-content: space-around;
padding: 10px;
background: #000;
border: 1px solid #333;
margin-bottom: 10px;
}
.stat-item {
display: flex;
align-items: center;
gap: 5px;
}
.icon {
font-size: 1.2em;
}
/* --- 卡牌区域 --- */
#hand-container {
display: flex;
justify-content: center;
gap: 10px;
flex-grow: 1;
align-items: center;
}
.card {
width: 120px;
height: 160px;
background: var(--card-bg);
border: 1px solid var(--primary);
border-radius: 8px;
padding: 10px;
display: flex;
flex-direction: column;
justify-content: space-between;
cursor: pointer;
transition: transform 0.2s, box-shadow 0.2s;
user-select: none;
position: relative;
}
.card:hover {
transform: translateY(-20px) scale(1.05);
box-shadow: 0 0 15px rgba(0, 255, 157, 0.3);
z-index: 10;
}
.card-cost {
background: var(--primary);
color: #000;
width: 25px;
height: 25px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
font-size: 14px;
}
.card-name {
font-weight: bold;
color: var(--primary);
font-size: 14px;
text-align: center;
margin-top: 5px;
}
.card-desc {
font-size: 11px;
color: #aaa;
text-align: center;
}
.card-type-attack {
border-color: #ff4444;
}
.card-type-skill {
border-color: #4488ff;
}
.card-type-money {
border-color: #ffd700;
box-shadow: 0 0 5px rgba(255, 215, 0, 0.2);
}
/* 按钮 */
#end-turn-btn {
position: absolute;
right: 20px;
bottom: 100px;
padding: 15px 30px;
background: #333;
color: white;
border: 1px solid #666;
cursor: pointer;
font-family: inherit;
font-weight: bold;
}
#end-turn-btn:hover {
background: #444;
}
/* 动画特效 */
@keyframes shake {
0% {
transform: translate(1px, 1px) rotate(0deg);
}
10% {
transform: translate(-1px, -2px) rotate(-1deg);
}
20% {
transform: translate(-3px, 0px) rotate(1deg);
}
30% {
transform: translate(3px, 2px) rotate(0deg);
}
40% {
transform: translate(1px, -1px) rotate(1deg);
}
50% {
transform: translate(-1px, 2px) rotate(-1deg);
}
60% {
transform: translate(-3px, 1px) rotate(0deg);
}
70% {
transform: translate(3px, 1px) rotate(-1deg);
}
80% {
transform: translate(-1px, -1px) rotate(1deg);
}
90% {
transform: translate(1px, 2px) rotate(0deg);
}
100% {
transform: translate(1px, -2px) rotate(-1deg);
}
}
.shake-anim {
animation: shake 0.5s;
}
.damage-text {
position: absolute;
color: red;
font-size: 30px;
font-weight: bold;
animation: floatUp 1s forwards;
}
@keyframes floatUp {
0% {
transform: translateY(0);
opacity: 1;
}
100% {
transform: translateY(-50px);
opacity: 0;
}
}
/* 状态提示 */
#game-over {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
display: none;
flex-direction: column;
align-items: center;
justify-content: center;
z-index: 100;
}
#game-over h1 {
color: var(--primary);
font-size: 40px;
}
</style>
</head>
<body>
<div id="enemy-area">
<div class="avatar" id="enemy-avatar">🤡</div>
<h3 id="enemy-name">势利眼班长</h3>
<div class="hp-bar-container">
<div class="hp-bar-fill" id="enemy-hp-bar"></div>
</div>
<div style="margin-top: 5px; font-size: 12px">
面子 (HP): <span id="enemy-hp-text">80</span>/80
</div>
<div class="intent-bubble" id="enemy-intent">
💬 正在酝酿一句很难听的话 (10点伤害)
</div>
</div>
<div id="battle-log">
<div class="log-entry log-system">> 系统初始化完成...</div>
<div class="log-entry log-system">> 目标锁定:[势利眼班长]</div>
<div class="log-entry log-system">> 任务:让他当众出丑。</div>
</div>
<div id="player-area">
<div id="stats-bar">
<div class="stat-item" style="color: #ff4444">
<span class="icon">❤️</span> 面子:
<span id="player-hp">100</span>
</div>
<div class="stat-item" style="color: #4488ff">
<span class="icon">🛡️</span> 厚脸皮:
<span id="player-block">0</span>
</div>
<div class="stat-item" style="color: #00ff9d">
<span class="icon"></span> 精力:
<span id="player-energy">3</span>/3
</div>
<div class="stat-item" style="color: #ffd700">
<span class="icon">💰</span> 余额: ¥<span id="player-money"
>5000</span
>
</div>
</div>
<div id="hand-container"></div>
</div>
<button id="end-turn-btn" onclick="endTurn()">结束回合</button>
<div id="game-over">
<h1 id="game-result">任务完成</h1>
<button
onclick="location.reload()"
style="padding: 10px 20px; cursor: pointer"
>
重新开始
</button>
</div>
<script>
/* --- 1. 游戏数据设定 (配置表) --- */
const GAME_STATE = {
player: {
hp: 100,
maxHp: 100,
block: 0,
energy: 3,
maxEnergy: 3,
money: 5000,
},
enemy: {
name: "势利眼班长",
hp: 80,
maxHp: 80,
nextDmg: 10,
avatar: "🤡",
},
hand: [],
deck: [],
turn: 1,
isGameOver: false,
};
// 模拟 LLM 的文案库 (实际开发中这里接 API)
const LLM_TEXTS = {
start: [
"班长看了看你的衣服,露出了鄙夷的眼神。",
"系统检测到装逼场力波动,请宿主做好准备。",
],
atk_normal: [
"你冷冷一笑:'这就是你的实力?'",
"你指出了他话里的逻辑漏洞,全场鸦雀无声。",
"你说:'去年你借我的五百块还没还呢。'",
],
atk_money: [
"你打开手机银行,语音播报:'到账一百万元'。",
"你随手掏出一把车钥匙扔在桌上:'挪下车。'",
"你用钱扇了扇风:'这屋里穷酸气太重。'",
],
defend: [
"你假装在回消息,完全无视了他的废话。",
"你使用了【左耳进右耳出】,他的嘲讽无效。",
"你微笑着看着他,就像看着一只猴子。",
],
enemy_atk: [
"班长嘲笑道:'听说你还在租房住?'",
"班长向大家展示他的劳力士绿水鬼。",
"班长说:'服务员,给这位加把椅子,别让他站着。'",
],
};
// 卡牌数据库 (原型)
const CARD_DATABASE = [
{
id: "atk_1",
name: "阴阳怪气",
type: "attack",
cost: 1,
val: 8,
desc: "造成 8 点面子伤害",
flavorType: "atk_normal",
},
{
id: "atk_2",
name: "揭露黑历史",
type: "attack",
cost: 2,
val: 18,
desc: "造成 18 点面子伤害",
flavorType: "atk_normal",
},
{
id: "def_1",
name: "装聋作哑",
type: "skill",
cost: 1,
val: 8,
desc: "获得 8 点厚脸皮(护盾)",
flavorType: "defend",
},
{
id: "money_1",
name: "钞能力打击",
type: "money",
cost: 1,
val: 25,
moneyCost: 500,
desc: "消耗¥500造成 25 点伤害",
flavorType: "atk_money",
},
{
id: "def_2",
name: "战术喝水",
type: "skill",
cost: 0,
val: 4,
desc: "获得 4 点厚脸皮(0费)",
flavorType: "defend",
},
];
/* --- 2. 核心逻辑函数 --- */
function initGame() {
updateUI();
startPlayerTurn();
log(getRandomText(LLM_TEXTS.start), "system");
}
function startPlayerTurn() {
GAME_STATE.player.energy = GAME_STATE.player.maxEnergy;
GAME_STATE.player.block = 0; // 回合开始护盾清零(简化规则)
// 简单的抽牌逻辑:随机抽 4 张
GAME_STATE.hand = [];
for (let i = 0; i < 4; i++) {
const randomCard =
CARD_DATABASE[
Math.floor(Math.random() * CARD_DATABASE.length)
];
// 深拷贝以防止修改原数据
GAME_STATE.hand.push({
...randomCard,
uid: Date.now() + i,
});
}
updateUI();
log(`=== 第 ${GAME_STATE.turn} 回合 ===`, "system");
}
function playCard(index) {
if (GAME_STATE.isGameOver) return;
const card = GAME_STATE.hand[index];
const player = GAME_STATE.player;
// 1. 检查资源
if (player.energy < card.cost) {
log("精力不足!", "system");
shakeScreen("stats-bar");
return;
}
if (card.type === "money" && player.money < card.moneyCost) {
log("余额不足!无法使用钞能力!", "system");
return;
}
// 2. 扣除资源
player.energy -= card.cost;
if (card.type === "money") player.money -= card.moneyCost;
// 3. 执行效果
let logMsg = "";
if (card.type === "attack" || card.type === "money") {
dealDamage(card.val);
logMsg = getRandomText(LLM_TEXTS[card.flavorType]);
} else if (card.type === "skill") {
player.block += card.val;
logMsg = getRandomText(LLM_TEXTS[card.flavorType]);
}
// 4. 移除手牌 & 更新UI
GAME_STATE.hand.splice(index, 1);
log(`你使用了【${card.name}`, "player");
log(logMsg, "desc");
updateUI();
checkWin();
}
function dealDamage(amount) {
GAME_STATE.enemy.hp -= amount;
if (GAME_STATE.enemy.hp < 0) GAME_STATE.enemy.hp = 0;
// 视觉特效
const enemyEl = document.getElementById("enemy-avatar");
enemyEl.classList.add("shake-anim");
setTimeout(() => enemyEl.classList.remove("shake-anim"), 500);
// 飘字
showFloatingText(`-${amount}`);
}
function endTurn() {
if (GAME_STATE.isGameOver) return;
// 敌人行动
setTimeout(() => {
enemyAction();
}, 500);
}
function enemyAction() {
const dmg = GAME_STATE.enemy.nextDmg;
const player = GAME_STATE.player;
// 扣除护盾逻辑
let actualDmg = dmg;
if (player.block >= actualDmg) {
player.block -= actualDmg;
actualDmg = 0;
} else {
actualDmg -= player.block;
player.block = 0;
}
player.hp -= actualDmg;
log(getRandomText(LLM_TEXTS.enemy_atk), "enemy");
if (actualDmg > 0) {
log(`> 受到 ${actualDmg} 点精神伤害!`, "enemy");
document.body.classList.add("shake-anim"); // 全屏震动
setTimeout(
() => document.body.classList.remove("shake-anim"),
500
);
} else {
log(`> 你的厚脸皮完全抵挡了伤害!`, "system");
}
// 随机生成下回合意图
GAME_STATE.enemy.nextDmg = Math.floor(Math.random() * 10) + 5;
GAME_STATE.turn++;
updateUI();
checkLoss();
if (!GAME_STATE.isGameOver) {
setTimeout(startPlayerTurn, 1000);
}
}
/* --- 3. 辅助函数 --- */
function checkWin() {
if (GAME_STATE.enemy.hp <= 0) {
GAME_STATE.isGameOver = true;
document.getElementById("game-result").innerText =
"打脸成功!奖励 ¥10000";
document.getElementById("game-result").style.color =
"#00ff9d";
document.getElementById("game-over").style.display = "flex";
}
}
function checkLoss() {
if (GAME_STATE.player.hp <= 0) {
GAME_STATE.isGameOver = true;
document.getElementById("game-result").innerText =
"任务失败:你社死了";
document.getElementById("game-result").style.color =
"#ff0055";
document.getElementById("game-over").style.display = "flex";
}
}
function updateUI() {
// 敌人 UI
const hpPercent =
(GAME_STATE.enemy.hp / GAME_STATE.enemy.maxHp) * 100;
document.getElementById(
"enemy-hp-bar"
).style.width = `${hpPercent}%`;
document.getElementById("enemy-hp-text").innerText =
GAME_STATE.enemy.hp;
document.getElementById(
"enemy-intent"
).innerText = `💬 准备造成 ${GAME_STATE.enemy.nextDmg} 点伤害`;
// 玩家 UI
document.getElementById("player-hp").innerText =
GAME_STATE.player.hp;
document.getElementById("player-block").innerText =
GAME_STATE.player.block;
document.getElementById("player-energy").innerText =
GAME_STATE.player.energy;
document.getElementById("player-money").innerText =
GAME_STATE.player.money;
// 渲染手牌
const handContainer = document.getElementById("hand-container");
handContainer.innerHTML = "";
GAME_STATE.hand.forEach((card, index) => {
const cardEl = document.createElement("div");
cardEl.className = `card card-type-${card.type}`;
cardEl.onclick = () => playCard(index);
cardEl.innerHTML = `
<div class="card-cost">${card.cost}</div>
<div class="card-name">${card.name}</div>
<div class="card-desc">${card.desc}</div>
`;
handContainer.appendChild(cardEl);
});
}
function log(text, type) {
const logArea = document.getElementById("battle-log");
const entry = document.createElement("div");
entry.className = `log-entry log-${type}`;
entry.innerText = text;
logArea.appendChild(entry);
logArea.scrollTop = logArea.scrollHeight;
}
function getRandomText(array) {
return array[Math.floor(Math.random() * array.length)];
}
function showFloatingText(text) {
const enemyArea = document.getElementById("enemy-area");
const el = document.createElement("div");
el.className = "damage-text";
el.innerText = text;
el.style.left = "50%";
el.style.top = "50%";
enemyArea.appendChild(el);
setTimeout(() => el.remove(), 1000);
}
function shakeScreen(elementId) {
const el = document.getElementById(elementId);
el.classList.add("shake-anim");
setTimeout(() => el.classList.remove("shake-anim"), 500);
}
// 启动游戏
initGame();
</script>
</body>
</html>

View File

@@ -1,764 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
谛听多维报告 PDF 生成器
使用 WeasyPrint 将 HTML 模板转换为 PDF
"""
import json
import re
from pathlib import Path
from typing import Dict, Any, Optional
from jinja2 import Environment, FileSystemLoader, select_autoescape
# 尝试导入 WeasyPrint提供友好的错误提示
try:
from weasyprint import HTML, CSS
from weasyprint.text.fonts import FontConfiguration
WEASYPRINT_AVAILABLE = True
except OSError as e:
if 'libgobject' in str(e) or 'gobject' in str(e).lower():
WEASYPRINT_AVAILABLE = False
WEASYPRINT_ERROR = "WeasyPrint 需要 GTK+ 运行时库。\n\n" \
"Windows 用户推荐使用 Conda 安装(最简单):\n" \
" conda install -c conda-forge weasyprint\n\n" \
"或参考 install_weasyprint_windows.md 文件中的详细安装指南。"
else:
WEASYPRINT_AVAILABLE = False
WEASYPRINT_ERROR = f"WeasyPrint 导入失败: {e}\n\n请参考 install_weasyprint_windows.md 文件。"
except ImportError as e:
WEASYPRINT_AVAILABLE = False
WEASYPRINT_ERROR = f"WeasyPrint 未安装: {e}\n\n请运行: pip install weasyprint"
class ReportDataProcessor:
"""报告数据处理器"""
@staticmethod
def mask_name(name: Optional[str]) -> str:
"""姓名脱敏"""
if not name:
return ''
if len(name) == 1:
return '*'
if len(name) == 2:
return name[0] + '*'
return name[0] + '*' * (len(name) - 2) + name[-1]
@staticmethod
def mask_phone(phone: Optional[str]) -> str:
"""手机号脱敏"""
if not phone:
return ''
if len(phone) == 11:
return phone[:3] + '****' + phone[7:]
return phone
@staticmethod
def mask_id_card(id_card: Optional[str]) -> str:
"""身份证号脱敏"""
if not id_card:
return ''
return re.sub(r'^(.{6})(?:\d+)(.{4})$', r'\1****\2', id_card)
@staticmethod
def format_interval(interval: Optional[str], unit: str = "") -> str:
"""格式化区间表达式"""
if not interval or interval == "-" or interval == "0":
return interval or "-"
try:
# 处理特殊格式,如 "3,6(个月)"
if "(" in interval and ")" in interval:
match = re.match(r'^(\d+(?:,\d+)*)\((.+)\)$', interval)
if match:
numbers = [n.strip() for n in match.group(1).split(",")]
time_unit = match.group(2)
if len(numbers) == 2:
return f"{numbers[0]}-{numbers[1]}{time_unit}"
return f"{', '.join(numbers)}{time_unit}"
# 处理区间表达式
pattern = r'^([\[\(])(\d+(?:\.\d+)?),(\d+(?:\.\d+)?|\+)([\]\)])$'
match = re.match(pattern, interval)
if not match:
return interval
left_bracket, left_value, right_value, right_bracket = match.groups()
is_left_inclusive = left_bracket == "["
is_right_inclusive = right_bracket == "]"
is_right_infinity = right_value == "+"
if is_right_infinity:
if is_left_inclusive:
return f"{left_value}{unit}"
else:
return f">{left_value}{unit}"
else:
left_num = float(left_value)
right_num = float(right_value)
if left_num == right_num:
return f"{int(left_num)}{unit}"
else:
if is_left_inclusive and is_right_inclusive:
return f"{int(left_num)}-{int(right_num)}{unit}"
elif is_left_inclusive and not is_right_inclusive:
return f"{int(left_num)}-{int(right_num) - 1}{unit}"
elif not is_left_inclusive and is_right_inclusive:
return f"{int(left_num) + 1}-{int(right_num)}{unit}"
else:
return f"{int(left_num) + 1}-{int(right_num) - 1}{unit}"
except Exception as e:
print(f"区间格式化失败: {e}, 原数据: {interval}")
return interval
@staticmethod
def format_amount_interval(interval: Optional[str]) -> str:
"""格式化金额区间"""
return ReportDataProcessor.format_interval(interval, "")
@staticmethod
def format_institution_interval(interval: Optional[str]) -> str:
"""格式化机构数量区间"""
return ReportDataProcessor.format_interval(interval, "")
@staticmethod
def get_check_suggest_class(check_suggest: Optional[str]) -> str:
"""获取审核建议样式类"""
suggest = check_suggest or '建议拒绝'
if '拒绝' in suggest:
return 'pdf-value-danger'
elif '通过' in suggest:
return 'pdf-value-success'
else:
return 'pdf-value-warning'
@staticmethod
def get_fraud_risk_level(score: int) -> str:
"""获取反欺诈风险等级"""
if score == -1:
return '未评估'
if score >= 80:
return '高风险'
if score >= 60:
return '中风险'
return '低风险'
@staticmethod
def get_credit_level(score: int) -> str:
"""获取信用等级"""
if score == -1:
return '未评估'
if score >= 800:
return '信用较好'
if score >= 500:
return '信用良好'
return '信用一般'
@staticmethod
def get_fraud_score_bg_class(score: int) -> str:
"""获取反欺诈评分背景样式类"""
if score == -1:
return 'pdf-score-default'
if score >= 80:
return 'pdf-score-high'
if score >= 60:
return 'pdf-score-medium'
return 'pdf-score-low'
@staticmethod
def get_credit_score_bg_class(score: int) -> str:
"""获取信用评分背景样式类"""
if score == -1:
return 'pdf-score-default'
if score >= 800:
return 'pdf-score-low'
if score >= 500:
return 'pdf-score-info'
return 'pdf-score-medium'
@staticmethod
def get_risk_tag_class(level: str) -> str:
"""获取风险标签样式类"""
if level == '高风险':
return 'pdf-tag-danger'
if level == '中风险':
return 'pdf-tag-warning'
if level == '低风险':
return 'pdf-tag-success'
if level == '信用较好':
return 'pdf-tag-success'
if level == '信用良好':
return 'pdf-tag-info'
if level == '信用一般':
return 'pdf-tag-warning'
return 'pdf-tag-default'
@staticmethod
def get_risk_level_class(level: str) -> str:
"""获取风险等级样式类"""
if level == '高风险':
return 'pdf-score-high'
if level == '中风险':
return 'pdf-score-medium'
if level == '低风险':
return 'pdf-score-low'
return 'pdf-score-default'
@staticmethod
def get_risk_flag_text(flag: int) -> str:
"""获取风险标识文本"""
if flag == 1:
return '高风险'
if flag == 2:
return '低风险'
return '未查得'
@staticmethod
def get_risk_flag_tag_class(flag: int) -> str:
"""获取风险标识标签样式类"""
if flag == 1:
return 'pdf-tag-danger'
if flag == 2:
return 'pdf-tag-success'
return 'pdf-tag-default'
@staticmethod
def get_result_text(result: Optional[str]) -> str:
"""获取验证结果文本"""
if result == '一致':
return '核验一致'
if result == '不一致':
return '核验不一致'
return result or '未查得'
@staticmethod
def get_verification_result_class(result: Optional[str]) -> str:
"""获取验证结果样式类"""
if result == '一致':
return 'pdf-result-success'
if result == '不一致':
return 'pdf-result-danger'
return 'pdf-result-default'
@staticmethod
def get_high_risk_count(risk_warning: Dict[str, Any]) -> int:
"""获取高风险数量"""
high_risk_fields = [
'idCardTwoElementMismatch', 'phoneThreeElementMismatch',
'shortPhoneDuration', 'noPhoneDuration',
'hasCriminalRecord', 'isEconomyFront', 'isDisrupSocial', 'isKeyPerson', 'isTrafficRelated',
'hitHighRiskBankLastTwoYears', 'hitHighRiskNonBankLastTwoYears',
'hitCivilCase', 'hitCriminalRisk', 'hitAdministrativeCase', 'hitPreservationReview',
'hitExecutionCase', 'hitBankruptcyAndLiquidation', 'hitDirectlyUnderCase', 'hitCompensationCase',
'frequentApplicationRecent', 'frequentNonBankApplications', 'highDebtPressure', 'frequentBankApplications',
'frequentRentalApplications', 'veryFrequentRentalApplications'
]
return sum(risk_warning.get(field, 0) for field in high_risk_fields)
@staticmethod
def get_middle_risk_count(risk_warning: Dict[str, Any]) -> int:
"""获取中风险数量"""
middle_risk_fields = [
'idCardPhoneProvinceMismatch', 'isAntiFraudInfo',
'hitCurrentOverdue',
'moreFrequentNonBankApplications', 'highFraudGangLevel', 'moreFrequentBankApplications'
]
return sum(risk_warning.get(field, 0) for field in middle_risk_fields)
@staticmethod
def get_all_risks(risk_warning: Dict[str, Any]) -> list:
"""获取所有风险列表"""
risks = []
risk_mapping = {
'idCardTwoElementMismatch': {
'description': '身份证二要素信息对比结果不一致',
'detail': '身份证号与姓名信息不匹配',
'level': '高风险'
},
'phoneThreeElementMismatch': {
'description': '手机三要素简版不一致',
'detail': '手机号与身份证号、姓名信息不匹配',
'level': '高风险'
},
'shortPhoneDuration': {
'description': '手机在网时长极短',
'detail': '手机号在网时间过短,存在风险',
'level': '高风险'
},
'idCardPhoneProvinceMismatch': {
'description': '身份证号手机号归属省不一致',
'detail': '身份证归属地与手机号归属地不匹配',
'level': '中风险'
},
'hasCriminalRecord': {
'description': '该用户有前科',
'detail': '用户存在犯罪前科记录',
'level': '高风险'
},
'isKeyPerson': {
'description': '该用户为重点人员',
'detail': '用户被列为重点监管人员',
'level': '高风险'
},
'hitHighRiskBankLastTwoYears': {
'description': '近两年命中银行高风险',
'detail': '近两年在银行机构存在高风险记录',
'level': '高风险'
},
'hitCurrentOverdue': {
'description': '该用户命中当前逾期',
'detail': '用户当前存在逾期记录',
'level': '中风险'
},
'frequentApplicationRecent': {
'description': '近期申请机构极为频繁',
'detail': '近期在多个机构频繁申请贷款',
'level': '高风险'
}
}
for key, info in risk_mapping.items():
if risk_warning.get(key, 0):
badge_class = 'pdf-tag-danger' if info['level'] == '高风险' else 'pdf-tag-warning'
risks.append({
'key': key,
'description': info['description'],
'detail': info['detail'],
'level': info['level'],
'badge_class': badge_class
})
return risks
@staticmethod
def get_overdue_status_text(status: Optional[str]) -> str:
"""获取逾期状态文本"""
if status == '逾期':
return '逾期'
if status == '未逾期':
return '未逾期'
return '未知'
@staticmethod
def get_overdue_status_tag_class(status: Optional[str]) -> str:
"""获取逾期状态标签样式类"""
if status == '逾期':
return 'pdf-tag-danger'
if status == '未逾期':
return 'pdf-tag-success'
return 'pdf-tag-default'
@staticmethod
def get_overdue_time_text(status: Optional[str]) -> str:
"""获取逾期时间文本"""
if status == '逾期':
return '逾期'
if status == '未逾期':
return '正常'
return '未知'
@staticmethod
def get_overdue_time_class(status: Optional[str]) -> str:
"""获取逾期时间样式类"""
if status == '逾期':
return 'pdf-time-danger'
if status == '未逾期':
return 'pdf-time-success'
return 'pdf-time-default'
def process_judicial_data(judicial_data: Dict[str, Any]) -> Dict[str, Any]:
"""处理司法涉诉数据"""
processor = ReportDataProcessor()
# 处理不同的数据结构
lawsuit_stat = None
breach_case_list = []
consumption_restriction_list = []
# 如果数据在 judicial_data 下
if 'lawsuitStat' in judicial_data:
lawsuit_stat = judicial_data.get('lawsuitStat', {})
breach_case_list = judicial_data.get('breachCaseList', [])
consumption_restriction_list = judicial_data.get('consumptionRestrictionList', [])
# 如果数据在 entout.data 下
elif 'entout' in judicial_data:
entout_data = judicial_data.get('entout', {}).get('data', {})
lawsuit_stat = entout_data
breach_case_list = judicial_data.get('breachCaseList', [])
consumption_restriction_list = judicial_data.get('consumptionRestrictionList', [])
# 如果直接就是 lawsuitStat 结构
elif 'count' in judicial_data or 'civil' in judicial_data:
lawsuit_stat = judicial_data
if not lawsuit_stat:
lawsuit_stat = {}
# 处理案件统计
count = lawsuit_stat.get('count', {})
# 处理各类案件
civil = lawsuit_stat.get('civil', {})
criminal = lawsuit_stat.get('criminal', {})
administrative = lawsuit_stat.get('administrative', {})
implement = lawsuit_stat.get('implement', {})
preservation = lawsuit_stat.get('preservation', {})
bankrupt = lawsuit_stat.get('bankrupt', {})
# 法院曝光台数据(用于替代谛听报告的法院曝光台)
# 从 multCourtInfo 或司法涉诉数据中提取
court_exposure = {
'legal_cases': [],
'execution_cases': [],
'disin_cases': breach_case_list,
'limit_cases': consumption_restriction_list
}
# 如果有执行案件,添加到法院曝光台
if implement and implement.get('cases'):
court_exposure['execution_cases'] = implement.get('cases', [])
# 如果有民事案件,添加到法院曝光台
if civil and civil.get('cases'):
court_exposure['legal_cases'].extend(civil.get('cases', []))
# 如果有刑事案件,添加到法院曝光台
if criminal and criminal.get('cases'):
court_exposure['legal_cases'].extend(criminal.get('cases', []))
return {
'has_data': bool(count or civil or criminal or administrative or implement or preservation or bankrupt or breach_case_list or consumption_restriction_list),
'count': count,
'civil': civil,
'criminal': criminal,
'administrative': administrative,
'implement': implement,
'preservation': preservation,
'bankrupt': bankrupt,
'breach_case_list': breach_case_list,
'consumption_restriction_list': consumption_restriction_list,
'court_exposure': court_exposure
}
def process_report_data(data: Dict[str, Any], judicial_data: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
"""处理报告数据,准备模板变量"""
processor = ReportDataProcessor()
base_info = data.get('baseInfo', {})
check_suggest = data.get('checkSuggest', '')
fraud_score = data.get('fraudScore', -1)
credit_score = data.get('creditScore', -1)
verify_rule = data.get('verifyRule', '')
fraud_rule = data.get('fraudRule', '')
element_verification_detail = data.get('elementVerificationDetail', {})
risk_warning = data.get('riskWarning', {})
overdue_risk_product = data.get('overdueRiskProduct', {})
loan_evaluation_verification_detail = data.get('loanEvaluationVerificationDetail', {})
leasing_risk_assessment = data.get('leasingRiskAssessment', {})
risk_supervision = data.get('riskSupervision', {})
# 处理基本信息
base_info_processed = {
'name_masked': processor.mask_name(base_info.get('name')),
'age': base_info.get('age', ''),
'sex': base_info.get('sex', ''),
'phone_masked': processor.mask_phone(base_info.get('phone')),
'id_card_masked': processor.mask_id_card(base_info.get('idCard')),
'location': base_info.get('location', ''),
'phone_area': base_info.get('phoneArea', '')
}
# 处理要素核查
element_verification = None
if element_verification_detail:
sfzeys_flag = element_verification_detail.get('sfzeysFlag', 0)
sjsys_flag = element_verification_detail.get('sjsysFlag', 0)
person_check_details = element_verification_detail.get('personCheckDetails', {})
phone_check_details = element_verification_detail.get('phoneCheckDetails', {})
if person_check_details or phone_check_details:
element_verification = {
'sfzeys_flag': sfzeys_flag,
'sfzeys_flag_text': processor.get_risk_flag_text(sfzeys_flag),
'sfzeys_flag_tag_class': processor.get_risk_flag_tag_class(sfzeys_flag),
'sjsys_flag': sjsys_flag,
'sjsys_flag_text': processor.get_risk_flag_text(sjsys_flag),
'sjsys_flag_tag_class': processor.get_risk_flag_tag_class(sjsys_flag),
'person_check_details': person_check_details,
'phone_check_details': phone_check_details,
'person_result_text': processor.get_result_text(person_check_details.get('result')),
'person_result_class': processor.get_verification_result_class(person_check_details.get('result')),
'phone_result_text': processor.get_result_text(phone_check_details.get('result')),
'phone_result_class': processor.get_verification_result_class(phone_check_details.get('result'))
}
# 处理风险预警
risk_warning_processed = None
if risk_warning:
risks = processor.get_all_risks(risk_warning)
if risks or risk_warning.get('totalRiskCounts'):
risk_warning_processed = {
'has_data': True,
'total_risk_counts': risk_warning.get('totalRiskCounts', 0),
'high_risk_count': processor.get_high_risk_count(risk_warning),
'middle_risk_count': processor.get_middle_risk_count(risk_warning),
'level': risk_warning.get('level', '-'),
'risks': risks
}
# 处理逾期风险
overdue_risk_processed = None
if overdue_risk_product:
has_unsettled_overdue = overdue_risk_product.get('hasUnsettledOverdue')
overdue_risk_processed = {
'has_data': True,
'status_text': processor.get_overdue_status_text(has_unsettled_overdue),
'status_tag_class': processor.get_overdue_status_tag_class(has_unsettled_overdue),
'current_overdue_institution_count': processor.format_institution_interval(
overdue_risk_product.get('currentOverdueInstitutionCount')
),
'current_overdue_amount': processor.format_amount_interval(
overdue_risk_product.get('currentOverdueAmount')
),
'settled_institution_count': processor.format_institution_interval(
overdue_risk_product.get('settledInstitutionCount')
),
'total_loan_institutions': processor.format_institution_interval(
overdue_risk_product.get('totalLoanInstitutions')
),
'time_1day_text': processor.get_overdue_time_text(overdue_risk_product.get('overdueLast1Day')),
'time_1day_class': processor.get_overdue_time_class(overdue_risk_product.get('overdueLast1Day')),
'time_7days_text': processor.get_overdue_time_text(overdue_risk_product.get('overdueLast7Days')),
'time_7days_class': processor.get_overdue_time_class(overdue_risk_product.get('overdueLast7Days')),
'time_14days_text': processor.get_overdue_time_text(overdue_risk_product.get('overdueLast14Days')),
'time_14days_class': processor.get_overdue_time_class(overdue_risk_product.get('overdueLast14Days')),
'time_30days_text': processor.get_overdue_time_text(overdue_risk_product.get('overdueLast30Days')),
'time_30days_class': processor.get_overdue_time_class(overdue_risk_product.get('overdueLast30Days'))
}
# 处理借贷评估
loan_evaluation_processed = None
if loan_evaluation_verification_detail:
risk_flag = loan_evaluation_verification_detail.get('riskFlag', 0)
organ_loan_performances = loan_evaluation_verification_detail.get('organLoanPerformances', [])
if organ_loan_performances:
processed_performances = []
for item in organ_loan_performances:
apply_count = item.get('applyCount', '')
type_name = '银行机构' if apply_count == '银行' else '非银机构'
processed_performances.append({
'type_name': type_name,
'last7Day': item.get('last7Day', '0/0'),
'last15Day': item.get('last15Day', '0/0'),
'last1Month': item.get('last1Month', '0/0')
})
loan_evaluation_processed = {
'has_data': True,
'risk_flag': risk_flag,
'risk_flag_text': processor.get_risk_flag_text(risk_flag),
'risk_flag_tag_class': processor.get_risk_flag_tag_class(risk_flag),
'organ_loan_performances': processed_performances
}
# 处理租赁风险评估
leasing_risk_processed = None
if leasing_risk_assessment:
risk_flag = leasing_risk_assessment.get('riskFlag', 0)
leasing_risk_processed = {
'has_data': True,
'risk_flag': risk_flag,
'risk_flag_text': processor.get_risk_flag_text(risk_flag),
'risk_flag_tag_class': processor.get_risk_flag_tag_class(risk_flag),
'institution_total': leasing_risk_assessment.get('threeCInstitutionApplicationCountLast3Days', '0/0'),
'institution_weekend': leasing_risk_assessment.get('threeCInstitutionApplicationCountLast3DaysWeekend', '0/0'),
'institution_night': leasing_risk_assessment.get('threeCInstitutionApplicationCountLast3DaysNight', '0/0'),
'platform_total': leasing_risk_assessment.get('threeCPlatformApplicationCountLast3Days', '0/0'),
'platform_weekend': leasing_risk_assessment.get('threeCPlatformApplicationCountLast3DaysWeekend', '0/0'),
'platform_night': leasing_risk_assessment.get('threeCPlatformApplicationCountLast3DaysNight', '0/0')
}
# 处理运营商核验
operator_verification = None
if element_verification_detail:
online_risk_flag = element_verification_detail.get('onlineRiskFlag', 0)
online_risk_list = element_verification_detail.get('onlineRiskList', {})
phone_vail_risk_flag = element_verification_detail.get('phoneVailRiskFlag', 0)
phone_vail_risks = element_verification_detail.get('phoneVailRisks', {})
belong_risk_flag = element_verification_detail.get('belongRiskFlag', 0)
belong_risks = element_verification_detail.get('belongRisks', {})
if online_risk_list or phone_vail_risks or belong_risks:
operator_verification = {
'has_data': True,
'online_risk_flag': online_risk_flag,
'online_risk_flag_text': processor.get_risk_flag_text(online_risk_flag),
'online_risk_flag_tag_class': processor.get_risk_flag_tag_class(online_risk_flag),
'online_risk_list': online_risk_list,
'phone_vail_risk_flag': phone_vail_risk_flag,
'phone_vail_risk_flag_text': processor.get_risk_flag_text(phone_vail_risk_flag),
'phone_vail_risk_flag_tag_class': processor.get_risk_flag_tag_class(phone_vail_risk_flag),
'phone_vail_risks': phone_vail_risks,
'belong_risk_flag': belong_risk_flag,
'belong_risk_flag_text': processor.get_risk_flag_text(belong_risk_flag),
'belong_risk_flag_tag_class': processor.get_risk_flag_tag_class(belong_risk_flag),
'belong_risks': belong_risks
}
# 处理公安重点人员核验
key_person_verification = None
if element_verification_detail:
high_risk_flag = element_verification_detail.get('highRiskFlag', 0)
key_person_check_list = element_verification_detail.get('keyPersonCheckList', {})
anti_fraud_info = element_verification_detail.get('antiFraudInfo', {})
if key_person_check_list or anti_fraud_info:
key_person_verification = {
'has_data': True,
'high_risk_flag': high_risk_flag,
'high_risk_flag_text': processor.get_risk_flag_text(high_risk_flag),
'high_risk_flag_tag_class': processor.get_risk_flag_tag_class(high_risk_flag),
'key_person_check_list': key_person_check_list,
'anti_fraud_info': anti_fraud_info
}
# 处理法院曝光台(使用司法涉诉数据)
court_exposure_processed = None
if judicial_data:
judicial_processed = process_judicial_data(judicial_data)
if judicial_processed.get('has_data'):
court_exposure_processed = judicial_processed.get('court_exposure', {})
# 处理司法涉诉数据
judicial_processed = None
if judicial_data:
judicial_processed = process_judicial_data(judicial_data)
# 计算风险评分相关
fraud_risk_level = processor.get_fraud_risk_level(fraud_score)
credit_level = processor.get_credit_level(credit_score)
return {
'base_info': base_info_processed,
'check_suggest': check_suggest,
'check_suggest_class': processor.get_check_suggest_class(check_suggest),
'fraud_score': fraud_score,
'fraud_score_display': '未命中' if fraud_score == -1 else str(fraud_score),
'fraud_risk_level': fraud_risk_level,
'fraud_score_bg_class': processor.get_fraud_score_bg_class(fraud_score),
'fraud_risk_tag_class': processor.get_risk_tag_class(fraud_risk_level),
'credit_score': credit_score,
'credit_score_display': '未命中' if credit_score == -1 else str(credit_score),
'credit_level': credit_level,
'credit_score_bg_class': processor.get_credit_score_bg_class(credit_score),
'credit_risk_tag_class': processor.get_risk_tag_class(credit_level),
'verify_rule': verify_rule,
'verify_rule_class': processor.get_risk_level_class(verify_rule),
'verify_rule_tag_class': processor.get_risk_tag_class(verify_rule),
'fraud_rule': fraud_rule,
'fraud_rule_class': processor.get_risk_level_class(fraud_rule),
'fraud_rule_tag_class': processor.get_risk_tag_class(fraud_rule),
'element_verification': element_verification,
'operator_verification': operator_verification,
'key_person_verification': key_person_verification,
'overdue_risk': overdue_risk_processed,
'court_exposure': court_exposure_processed,
'loan_evaluation': loan_evaluation_processed,
'judicial_data': judicial_processed
}
def generate_pdf(data_file: str, output_file: str, template_dir: str = 'templates'):
"""生成 PDF 文件"""
# 检查 WeasyPrint 是否可用
if not WEASYPRINT_AVAILABLE:
print("=" * 60)
print("错误WeasyPrint 不可用")
print("=" * 60)
print(WEASYPRINT_ERROR)
print("=" * 60)
raise RuntimeError("WeasyPrint 未正确安装,请参考错误信息进行安装")
# 读取数据文件
with open(data_file, 'r', encoding='utf-8') as f:
if data_file.endswith('.json'):
json_data = json.load(f)
else:
raise ValueError("不支持的文件格式,请使用 JSON 文件")
# 如果是数组,查找 DWBG8B4D 和司法涉诉数据
report_data = None
judicial_data = None
if isinstance(json_data, list):
for item in json_data:
api_id = item.get('data', {}).get('apiID', '')
if api_id in ['DWBG8B4D', 'CDWBG8B4D']:
report_data = item.get('data', {}).get('data', {})
elif api_id in ['FLXG7E8F', 'FLXG0V4B', 'CFLXG0V4B']:
# 司法涉诉数据可能在 data.data.judicial_data 或 data.data.entout
data_content = item.get('data', {}).get('data', {})
if 'judicial_data' in data_content:
judicial_data = data_content.get('judicial_data', {})
elif 'entout' in data_content:
judicial_data = data_content
else:
judicial_data = data_content
else:
report_data = json_data
if not report_data:
raise ValueError("未找到 DWBG8B4D 数据")
# 处理数据
template_vars = process_report_data(report_data, judicial_data)
# 加载模板
env = Environment(
loader=FileSystemLoader(template_dir),
autoescape=select_autoescape(['html', 'xml'])
)
template = env.get_template('report_template.html')
# 渲染 HTML
html_content = template.render(**template_vars)
# 生成 PDF
font_config = FontConfiguration()
html_doc = HTML(string=html_content)
html_doc.write_pdf(output_file, font_config=font_config)
print(f"PDF 已生成: {output_file}")
if __name__ == '__main__':
import sys
if len(sys.argv) < 2:
print("用法: python generate_pdf.py <数据文件> [输出文件]")
print("示例: python generate_pdf.py public/example.json output.pdf")
sys.exit(1)
data_file = sys.argv[1]
output_file = sys.argv[2] if len(sys.argv) > 2 else 'report.pdf'
# 确保模板目录存在
template_dir = Path('templates')
if not template_dir.exists():
template_dir.mkdir()
print(f"已创建模板目录: {template_dir}")
try:
generate_pdf(data_file, output_file)
except Exception as e:
print(f"生成 PDF 失败: {e}")
import traceback
traceback.print_exc()
sys.exit(1)

1254
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,305 @@
[
{
"feature": {
"featureName": "借贷意向验证",
"sort": 1
},
"data": {
"apiID": "JRZQ6F2A",
"data": {
"risk_screen_v2": {
"fulinHitFlag": 1,
"models": [
{
"score": "1.0",
"sceneCode": "GXCRF***012001"
}
],
"variables": [
{
"variableName": "bairong_applyloan_extend",
"variableValue": {
"als_d15_id_coon_allnum": "1",
"als_m12_id_max_monnum": "3",
"als_m6_id_coon_allnum": "2",
"als_d15_cell_nbank_week_allnum": "0",
"als_m1_cell_nbank_allnum": "1",
"als_d15_id_nbank_allnum": "3",
"als_d7_id_nbank_oth_orgnum": "1",
"als_m12_id_min_monnum": "0",
"als_d7_id_nbank_night_allnum": "0",
"als_m3_id_max_monnum": "3",
"als_m3_cell_nbank_oth_orgnum": "1",
"als_d7_cell_nbank_selfnum": "1",
"als_d15_cell_nbank_selfnum": "1",
"als_m3_id_nbank_orgnum": "2",
"als_d15_id_caon_orgnum": "1",
"als_m6_id_nbank_orgnum": "2",
"als_m1_id_nbank_week_orgnum": "0",
"als_m6_cell_nbank_else_allnum": "1",
"als_d15_id_nbank_else_orgnum": "2",
"als_d7_cell_nbank_allnum": "1",
"als_m3_cell_min_monnum": "0",
"als_m6_id_avg_monnum": "2.00",
"als_d7_id_nbank_else_orgnum": "1",
"als_m6_cell_nbank_orgnum": "1",
"als_m1_cell_nbank_oth_allnum": "1",
"als_m12_id_nbank_else_allnum": "4",
"als_m1_cell_nbank_oth_orgnum": "1",
"als_fst_id_nbank_inteday": "155",
"als_m12_cell_caon_allnum": "1",
"als_m1_cell_nbank_else_allnum": "1",
"als_m6_cell_nbank_max_monnum": "1",
"als_m1_id_nbank_allnum": "3",
"als_d15_id_nbank_oth_orgnum": "2",
"als_m6_cell_nbank_night_allnum": "0",
"als_m12_id_nbank_night_allnum": "0",
"als_m3_cell_caon_orgnum": "1",
"als_m12_id_nbank_avg_monnum": "2.00",
"als_d15_cell_nbank_orgnum": "1",
"als_d15_cell_caon_allnum": "1",
"als_d7_id_caon_orgnum": "1",
"als_m3_cell_nbank_orgnum": "1",
"als_m3_cell_nbank_oth_allnum": "1",
"als_m6_id_nbank_oth_allnum": "4",
"als_m6_cell_nbank_avg_monnum": "1.00",
"als_d15_id_coon_orgnum": "1",
"als_m12_id_nbank_max_monnum": "3",
"als_m3_id_min_inteday": "3",
"als_m3_cell_caon_allnum": "1",
"als_m1_cell_nbank_night_orgnum": "0",
"als_d15_id_caon_allnum": "2",
"als_d7_cell_nbank_oth_orgnum": "1",
"als_d15_cell_nbank_night_orgnum": "0",
"als_m6_cell_nbank_night_orgnum": "0",
"als_m12_id_nbank_night_orgnum": "0",
"als_m3_id_nbank_avg_monnum": "3.00",
"als_lst_cell_nbank_csinteday": "1",
"als_m3_id_min_monnum": "0",
"als_m6_cell_max_monnum": "1",
"als_d15_cell_nbank_night_allnum": "0",
"als_m12_cell_min_monnum": "0",
"als_m3_id_nbank_max_monnum": "3",
"als_m3_cell_max_monnum": "1",
"als_d7_id_nbank_allnum": "1",
"als_m1_id_coon_orgnum": "1",
"als_d7_id_nbank_night_orgnum": "0",
"als_m6_id_nbank_oth_orgnum": "2",
"als_m12_id_nbank_orgnum": "2",
"als_m3_cell_nbank_allnum": "1",
"als_m1_cell_nbank_night_allnum": "0",
"als_m3_id_nbank_night_allnum": "0",
"als_d7_cell_nbank_orgnum": "1",
"als_d15_id_nbank_else_allnum": "3",
"als_m6_cell_nbank_selfnum": "1",
"als_m1_id_coon_allnum": "1",
"als_m6_cell_nbank_oth_allnum": "1",
"als_d7_id_nbank_orgnum": "1",
"als_m6_cell_caon_orgnum": "1",
"als_m3_id_caon_allnum": "2",
"als_m12_cell_nbank_night_orgnum": "0",
"als_d7_cell_nbank_week_orgnum": "0",
"als_m12_id_min_inteday": "3",
"als_m3_id_nbank_oth_allnum": "3",
"als_d15_id_nbank_orgnum": "2",
"als_d15_cell_nbank_else_orgnum": "1",
"swift_number": "3011113_202507******800_5564050AA",
"als_m6_cell_nbank_tot_mons": "1",
"als_m12_id_tot_mons": "2",
"als_m12_id_avg_monnum": "2.00",
"als_m12_cell_nbank_else_allnum": "1",
"als_d7_id_nbank_oth_allnum": "1",
"als_m6_id_coon_orgnum": "1",
"als_m1_id_nbank_orgnum": "2",
"als_m1_cell_nbank_orgnum": "1",
"als_d15_cell_nbank_allnum": "1",
"als_m6_id_max_monnum": "3",
"als_m12_id_max_inteday": "144",
"als_m1_id_nbank_oth_allnum": "3",
"als_d15_cell_nbank_else_allnum": "1",
"als_m3_cell_nbank_selfnum": "1",
"als_Flag_applyloanstr": "1",
"als_m6_id_nbank_else_orgnum": "2",
"als_m1_cell_nbank_selfnum": "1",
"als_m3_id_nbank_oth_orgnum": "2",
"als_m6_id_nbank_night_allnum": "0",
"als_d7_id_nbank_else_allnum": "1",
"als_m3_id_nbank_max_inteday": "7",
"als_m1_cell_caon_orgnum": "1",
"als_m6_id_nbank_avg_monnum": "2.00",
"als_d15_id_nbank_selfnum": "2",
"als_m12_cell_nbank_max_monnum": "1",
"als_m6_cell_min_monnum": "0",
"als_m12_id_nbank_selfnum": "2",
"als_m6_cell_nbank_oth_orgnum": "1",
"als_m12_id_nbank_max_inteday": "144",
"als_m6_id_caon_allnum": "2",
"als_m6_id_nbank_night_orgnum": "0",
"als_lst_id_nbank_consnum": "1",
"als_m3_cell_nbank_max_monnum": "1",
"als_m1_id_nbank_oth_orgnum": "2",
"als_m12_id_nbank_oth_allnum": "4",
"als_m6_cell_tot_mons": "1",
"als_m6_id_caon_orgnum": "1",
"als_m6_id_nbank_else_allnum": "4",
"als_m3_id_max_inteday": "7",
"als_d7_id_nbank_selfnum": "1",
"als_m3_id_nbank_else_orgnum": "2",
"als_m1_cell_caon_allnum": "1",
"als_m12_id_caon_orgnum": "1",
"als_m1_id_nbank_night_orgnum": "0",
"als_m6_cell_nbank_week_orgnum": "0",
"als_m12_id_nbank_oth_orgnum": "2",
"als_m12_id_coon_allnum": "2",
"als_m12_cell_avg_monnum": "1.00",
"als_d15_cell_nbank_oth_allnum": "1",
"als_d7_id_nbank_week_orgnum": "0",
"als_d7_cell_nbank_week_allnum": "0",
"als_m1_id_nbank_else_allnum": "3",
"als_m12_id_nbank_week_orgnum": "0",
"als_m3_cell_nbank_tot_mons": "1",
"als_m6_id_nbank_min_inteday": "3",
"als_m3_id_coon_allnum": "1",
"als_m12_cell_nbank_week_allnum": "0",
"als_m3_id_caon_orgnum": "1",
"als_m1_id_caon_allnum": "2",
"als_m1_cell_nbank_week_allnum": "0",
"als_m12_cell_nbank_else_orgnum": "1",
"als_m12_id_nbank_week_allnum": "0",
"als_d7_cell_nbank_oth_allnum": "1",
"als_d7_cell_nbank_else_orgnum": "1",
"als_m12_id_nbank_allnum": "4",
"als_m3_cell_avg_monnum": "1.00",
"als_lst_cell_nbank_inteday": "1",
"als_m6_id_nbank_tot_mons": "2",
"als_m3_id_coon_orgnum": "1",
"als_m12_cell_nbank_oth_orgnum": "1",
"als_m6_cell_caon_allnum": "1",
"als_m6_id_max_inteday": "144",
"als_m12_id_nbank_tot_mons": "2",
"als_m12_cell_nbank_min_monnum": "0",
"als_m6_id_tot_mons": "2",
"als_m3_cell_tot_mons": "1",
"als_m12_id_nbank_min_inteday": "3",
"als_m3_id_nbank_night_orgnum": "0",
"als_m1_id_nbank_else_orgnum": "2",
"als_m6_cell_nbank_week_allnum": "0",
"als_m12_cell_nbank_selfnum": "1",
"als_m12_id_caon_allnum": "2",
"als_m3_id_nbank_min_inteday": "3",
"als_m12_cell_tot_mons": "1",
"als_m3_id_nbank_else_allnum": "3",
"als_m3_cell_nbank_else_orgnum": "1",
"als_m12_cell_nbank_oth_allnum": "1",
"als_m6_id_nbank_min_monnum": "0",
"als_d7_cell_caon_orgnum": "1",
"als_m6_cell_avg_monnum": "1.00",
"als_m12_cell_nbank_night_allnum": "0",
"als_m3_cell_nbank_else_allnum": "1",
"als_m6_id_nbank_week_allnum": "0",
"als_m3_id_nbank_tot_mons": "1",
"als_m3_cell_nbank_night_orgnum": "0",
"als_d7_cell_caon_allnum": "1",
"als_m1_id_nbank_selfnum": "2",
"als_m1_id_caon_orgnum": "1",
"als_m6_id_nbank_week_orgnum": "0",
"als_m3_cell_nbank_min_monnum": "0",
"als_m12_cell_nbank_allnum": "1",
"als_m12_cell_max_monnum": "1",
"als_d15_id_nbank_week_orgnum": "0",
"als_d7_id_caon_allnum": "1",
"als_m1_id_nbank_night_allnum": "0",
"als_d7_id_nbank_week_allnum": "0",
"als_m6_id_min_inteday": "3",
"als_m6_id_nbank_max_inteday": "144",
"als_m12_cell_caon_orgnum": "1",
"als_m12_id_nbank_else_orgnum": "2",
"als_d15_cell_nbank_week_orgnum": "0",
"als_m1_cell_nbank_else_orgnum": "1",
"als_m3_id_nbank_selfnum": "2",
"als_m1_cell_nbank_week_orgnum": "0",
"als_m6_id_nbank_max_monnum": "3",
"als_m6_cell_nbank_allnum": "1",
"als_d15_cell_nbank_oth_orgnum": "1",
"als_m1_id_nbank_week_allnum": "0",
"als_m12_cell_nbank_tot_mons": "1",
"als_m3_id_tot_mons": "1",
"als_d15_cell_caon_orgnum": "1",
"als_d15_id_nbank_oth_allnum": "3",
"als_d7_cell_nbank_else_allnum": "1",
"als_m12_cell_nbank_week_orgnum": "0",
"als_m12_id_coon_orgnum": "1",
"als_lst_id_nbank_inteday": "1",
"als_m6_id_min_monnum": "0",
"als_m6_id_nbank_selfnum": "2",
"code": "00",
"als_m3_id_nbank_week_orgnum": "0",
"als_m6_cell_nbank_else_orgnum": "1",
"als_d15_id_nbank_week_allnum": "0",
"als_m3_id_nbank_min_monnum": "0",
"als_m3_id_avg_monnum": "3.00",
"als_d15_id_nbank_night_orgnum": "0",
"als_m3_cell_nbank_night_allnum": "0",
"als_fst_cell_nbank_inteday": "1",
"als_m12_cell_nbank_orgnum": "1",
"als_d15_id_nbank_night_allnum": "0",
"als_m3_id_nbank_week_allnum": "0",
"als_d7_cell_nbank_night_allnum": "0",
"als_m12_id_nbank_min_monnum": "0",
"als_lst_id_nbank_csinteday": "1",
"als_lst_cell_nbank_consnum": "1",
"als_m3_cell_nbank_week_orgnum": "0",
"als_m12_cell_nbank_avg_monnum": "1.00",
"als_m3_id_nbank_allnum": "3",
"als_m6_id_nbank_allnum": "4",
"als_m3_cell_nbank_avg_monnum": "1.00",
"als_m6_cell_nbank_min_monnum": "0",
"als_m3_cell_nbank_week_allnum": "0",
"als_d7_cell_nbank_night_orgnum": "0"
}
}
],
"code": "OK",
"decision": "accept",
"propertyValidations": [],
"strategies": [],
"scenes": [
{
"decision": "accept",
"sceneCode": "GXCR****12001"
}
],
"validateInfo": {
"productCodes": []
},
"id": "4d3cbafb-f795-4d***1477e259",
"message": "业务处理成功!",
"knowledge": {
"traceId": "583d66df****a858-23652756c1df",
"code": "EC_AFS_V2",
"identification": {},
"event": {
"certNo": "6cf4976571***eda8259be3371",
"code": "EC_AFS_V2",
"mobile": "9ed719a709****b0011cc8679"
}
}
}
}
}
},
{
"feature": {
"featureName": "个人消费能力等级",
"sort": 1
},
"data": {
"apiID": "JRZQ8B3C",
"data": {
"personincome_index_2.0": "200"
}
}
},
{
"feature": {
"featureName": "手机在网时长",

View File

@@ -1,2 +0,0 @@
jinja2>=3.1.2
weasyprint>=60.0

View File

@@ -244,6 +244,13 @@ const featureMap = {
remark: '基于全国社会保险信息系统的缴费基数数据进行收入水平评估。评级反映相对收入水平,实际收入可能因地区差异而有所不同,建议结合其他收入证明材料进行综合评估。'
},
// 个人消费能力等级
JRZQ8B3C: {
name: "个人消费能力等级",
component: defineAsyncComponent(() => import("@/ui/JRZQ8B3C/index.vue")),
remark: '基于个人收入指数进行消费能力等级评估,展示用户的月消费能力范围。消费能力等级反映用户的消费水平,等级越高对应的月消费能力越强。数据来源于个人收入指数评分,实际消费能力可能因个人消费习惯、地区差异等因素而有所不同,建议结合其他消费行为数据进行综合评估。'
},
// 名下车辆
QCXG9P1C: {
name: "名下车辆",
@@ -278,6 +285,13 @@ const featureMap = {
remark: '全景雷达提供全面的信用评估,包括申请行为详情、放款还款详情和信用详情。通过多维度的数据分析,全面展示申请人的信用状况和借贷行为。'
},
// 借贷意向验证A
JRZQ6F2A: {
name: "借贷意向验证",
component: defineAsyncComponent(() => import("@/ui/JRZQ6F2A/index.vue")),
remark: '借贷意向验证提供全面的借贷申请行为分析,包括申请次数、申请总次数(银行+非银)和申请机构总数(银行+非银)等多维度数据。通过不同时间段的统计分析,全面展示申请人的借贷申请行为。'
},
// 手机携号转网
YYSY7D3E: {
name: "手机携号转网",
@@ -414,6 +428,7 @@ const featureRiskLevels = {
'IVYZ8I9J': 7, // 网络社交异常
'JRZQ8A2D': 9, // 特殊名单验证
'JRZQ7F1A': 8, // 全景雷达
'JRZQ6F2A': 7, // 借贷意向验证A
'YYSY7D3E': 5, // 手机携号转网
'YYSY8B1C': 5, // 手机在网时长
@@ -421,6 +436,7 @@ const featureRiskLevels = {
'QYGL3F8E': 5, // 人企关系加强版
'QCXG9P1C': 5, // 名下车辆
'JRZQ09J8': 5, // 收入评估
'JRZQ8B3C': 5, // 个人消费能力等级
// 📊 复合报告类 - 按子模块动态计算
'DWBG8B4D': 0, // 谛听多维报告(由子模块计算)
@@ -679,6 +695,7 @@ watch([reportData, componentRiskScores], () => {
@apply p-3;
box-shadow: 0px 0px 24px 0px #3F3F3F0F;
}
/* 梯形背景图片样式 */
.trapezoid-bg-image {
background-size: contain;

BIN
src/ui/CFLXG0V4B.zip Normal file

Binary file not shown.

View File

@@ -1,303 +1,337 @@
// 案件类型映射表
export const lawsuitTypeMap = {
breachCase: {
text: '失信被执行',
color: 'text-red-600 bg-red-50',
darkColor: 'bg-red-500',
riskLevel: 'high', // 高风险
},
consumptionRestriction: {
text: '限高被执行',
color: 'text-orange-600 bg-orange-50',
darkColor: 'bg-orange-500',
riskLevel: 'high', // 高风险
},
criminal: {
text: '刑事案件',
color: 'text-red-600 bg-red-50',
darkColor: 'bg-red-500',
riskLevel: 'high', // 高风险
},
civil: {
text: '民事案件',
color: 'text-blue-600 bg-blue-50',
darkColor: 'bg-blue-500',
riskLevel: 'medium', // 中风险
},
administrative: {
text: '行政案件',
color: 'text-purple-600 bg-purple-50',
darkColor: 'bg-purple-500',
riskLevel: 'medium', // 中风险
},
implement: {
text: '执行案件',
color: 'text-orange-600 bg-orange-50',
darkColor: 'bg-orange-500',
riskLevel: 'medium', // 中风险
},
bankrupt: {
text: '强制清算与破产案件',
color: 'text-rose-600 bg-rose-50',
darkColor: 'bg-rose-500',
riskLevel: 'high', // 高风险
},
preservation: {
text: '非诉保全审查',
color: 'text-amber-600 bg-amber-50',
darkColor: 'bg-amber-500',
riskLevel: 'low', // 低风险
},
}
breachCase: {
text: "失信被执行",
color: "text-red-600 bg-red-50",
darkColor: "bg-red-500",
riskLevel: "high", // 高风险
},
consumptionRestriction: {
text: "限高被执行",
color: "text-orange-600 bg-orange-50",
darkColor: "bg-orange-500",
riskLevel: "high", // 高风险
},
criminal: {
text: "刑事案件",
color: "text-red-600 bg-red-50",
darkColor: "bg-red-500",
riskLevel: "high", // 高风险
},
civil: {
text: "民事案件",
color: "text-blue-600 bg-blue-50",
darkColor: "bg-blue-500",
riskLevel: "medium", // 中风险
},
administrative: {
text: "行政案件",
color: "text-purple-600 bg-purple-50",
darkColor: "bg-purple-500",
riskLevel: "medium", // 中风险
},
implement: {
text: "执行案件",
color: "text-orange-600 bg-orange-50",
darkColor: "bg-orange-500",
riskLevel: "medium", // 中风险
},
bankrupt: {
text: "强制清算与破产案件",
color: "text-rose-600 bg-rose-50",
darkColor: "bg-rose-500",
riskLevel: "high", // 高风险
},
preservation: {
text: "非诉保全审查",
color: "text-amber-600 bg-amber-50",
darkColor: "bg-amber-500",
riskLevel: "low", // 低风险
},
};
// 案件类型文本
export const getCaseTypeText = type => {
return lawsuitTypeMap[type]?.text || '其他案件'
}
export const getCaseTypeText = (type) => {
return lawsuitTypeMap[type]?.text || "其他案件";
};
// 案件类型颜色
export const getCaseTypeColor = type => {
return lawsuitTypeMap[type]?.color || 'text-gray-600 bg-gray-50'
}
export const getCaseTypeColor = (type) => {
return lawsuitTypeMap[type]?.color || "text-gray-600 bg-gray-50";
};
// 案件类型深色
export const getCaseTypeDarkColor = type => {
return lawsuitTypeMap[type]?.darkColor || 'bg-gray-500'
}
export const getCaseTypeDarkColor = (type) => {
return lawsuitTypeMap[type]?.darkColor || "bg-gray-500";
};
// 格式化日期显示
export const formatDate = dateStr => {
if (!dateStr) return '—'
// 转换YYYY-MM-DD为年月日格式
if (dateStr.includes('-')) {
const parts = dateStr.split('-')
if (parts.length === 3) {
return `${parts[0]}${parts[1]}${parts[2]}`
export const formatDate = (dateStr) => {
if (!dateStr) return "—";
// 转换YYYY-MM-DD为年月日格式
if (dateStr.includes("-")) {
const parts = dateStr.split("-");
if (parts.length === 3) {
return `${parts[0]}${parts[1]}${parts[2]}`;
}
}
}
return dateStr // 如果不是标准格式则返回原始字符串
}
return dateStr; // 如果不是标准格式则返回原始字符串
};
// 格式化金额显示(单位:元)
export const formatLawsuitMoney = money => {
if (!money) return '—'
// 格式化金额显示(默认单位:元)
export const formatLawsuitMoney = (money) => {
if (!money) return "—";
const value = parseFloat(money)
if (isNaN(value)) return '—'
const value = parseFloat(money);
if (isNaN(value)) return "—";
// 超过1亿显示亿元
if (value >= 10000) {
// 超过1亿100000000元显示亿元
if (value >= 100000000) {
return (
(value / 100000000).toLocaleString("zh-CN", {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + " 亿元"
);
}
// 超过1万10000元显示万元
if (value >= 10000) {
return (
(value / 10000).toLocaleString("zh-CN", {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + " 万元"
);
}
// 小于1万直接显示元
return (
(value / 10000).toLocaleString('zh-CN', {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + ' 亿元'
)
}
// 否则显示万元
return (
value.toLocaleString('zh-CN', {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + ' 万元'
)
}
value.toLocaleString("zh-CN", {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + " 元"
);
};
// 获取案件状态样式
export const getCaseStatusClass = status => {
if (!status) return 'bg-gray-100 text-gray-500'
export const getCaseStatusClass = (status) => {
if (!status) return "bg-gray-100 text-gray-500";
if (status.includes('已结') || status.includes('已办结')) {
return 'bg-green-50 text-green-600'
} else if (status.includes('执行中') || status.includes('审理中')) {
return 'bg-blue-50 text-blue-600'
} else if (status.includes('未执行')) {
return 'bg-amber-50 text-amber-600'
} else {
return 'bg-gray-100 text-gray-500'
}
}
if (status.includes("已结") || status.includes("已办结")) {
return "bg-green-50 text-green-600";
} else if (status.includes("执行中") || status.includes("审理中")) {
return "bg-blue-50 text-blue-600";
} else if (status.includes("未执行")) {
return "bg-amber-50 text-amber-600";
} else {
return "bg-gray-100 text-gray-500";
}
};
// 获取企业状态对应的样式
export const getStatusClass = status => {
if (!status) return 'bg-gray-100 text-gray-500'
export const getStatusClass = (status) => {
if (!status) return "bg-gray-100 text-gray-500";
if (status.includes('注销') || status.includes('吊销')) {
return 'bg-red-50 text-red-600'
} else if (status.includes('存续') || status.includes('在营')) {
return 'bg-green-50 text-green-600'
} else if (status.includes('筹建') || status.includes('新设')) {
return 'bg-blue-50 text-blue-600'
} else {
return 'bg-yellow-50 text-yellow-600'
}
}
if (status.includes("注销") || status.includes("吊销")) {
return "bg-red-50 text-red-600";
} else if (status.includes("存续") || status.includes("在营")) {
return "bg-green-50 text-green-600";
} else if (status.includes("筹建") || status.includes("新设")) {
return "bg-blue-50 text-blue-600";
} else {
return "bg-yellow-50 text-yellow-600";
}
};
// 格式化资本金额显示
export const formatCapital = (capital, currency) => {
if (!capital) return '—'
if (!capital) return "—";
// 检查是否包含"万"字或需要显示为万元
let unit = ''
let value = parseFloat(capital)
// 检查是否包含"万"字或需要显示为万元
let unit = "";
let value = parseFloat(capital);
// 处理原始数据中可能带有的单位
if (typeof capital === 'string' && capital.includes('万')) {
unit = '万'
// 提取数字部分
const numMatch = capital.match(/[\d.]+/)
value = numMatch ? parseFloat(numMatch[0]) : 0
} else if (value >= 10000) {
// 大额数字转换为万元显示
value = value / 10000
unit = '万'
}
// 处理原始数据中可能带有的单位
if (typeof capital === "string" && capital.includes("万")) {
unit = "万";
// 提取数字部分
const numMatch = capital.match(/[\d.]+/);
value = numMatch ? parseFloat(numMatch[0]) : 0;
} else if (value >= 10000) {
// 大额数字转换为万元显示
value = value / 10000;
unit = "万";
}
// 格式化数字,保留两位小数(如果有小数部分)
const formattedValue = value.toLocaleString('zh-CN', {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
})
// 格式化数字,保留两位小数(如果有小数部分)
const formattedValue = value.toLocaleString("zh-CN", {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
});
return `${formattedValue}${unit} ${currency || '人民币'}`
}
return `${formattedValue}${unit} ${currency || "人民币"}`;
};
// 获取涉诉风险等级
export const getRiskLevel = lawsuitInfo => {
if (!lawsuitInfo) {
export const getRiskLevel = (lawsuitInfo) => {
if (!lawsuitInfo) {
return {
level: "low",
text: "低风险",
color: "text-green-600 bg-green-50",
};
}
// 失信被执行人是最高风险
if (lawsuitInfo.breachCaseList && lawsuitInfo.breachCaseList.length > 0) {
return {
level: "high",
text: "高风险",
color: "text-red-600 bg-red-50",
};
}
// 限高被执行人是最高风险
if (
lawsuitInfo.consumptionRestrictionList &&
lawsuitInfo.consumptionRestrictionList.length > 0
) {
return {
level: "high",
text: "高风险",
color: "text-red-600 bg-red-50",
};
}
// 有涉诉数据的风险级别
if (
lawsuitInfo.lawsuitStat &&
Object.keys(lawsuitInfo.lawsuitStat).length > 0
) {
// 检查是否有未结案的案件
const data = lawsuitInfo.lawsuitStat;
if (
data.count &&
data.count.count_wei_total &&
data.count.count_wei_total > 0
) {
return {
level: "medium",
text: "中风险",
color: "text-amber-600 bg-amber-50",
};
}
// 只有已结案的为低中风险
return {
level: "low-medium",
text: "低中风险",
color: "text-yellow-600 bg-yellow-50",
};
}
return {
level: 'low',
text: '低风险',
color: 'text-green-600 bg-green-50',
}
}
// 失信被执行人是最高风险
if (lawsuitInfo.breachCaseList && lawsuitInfo.breachCaseList.length > 0) {
return {
level: 'high',
text: '高风险',
color: 'text-red-600 bg-red-50',
}
}
// 限高被执行人是最高风险
if (lawsuitInfo.consumptionRestrictionList && lawsuitInfo.consumptionRestrictionList.length > 0) {
return {
level: 'high',
text: '高风险',
color: 'text-red-600 bg-red-50',
}
}
// 有涉诉数据的风险级别
if (lawsuitInfo.lawsuitStat && Object.keys(lawsuitInfo.lawsuitStat).length > 0) {
// 检查是否有未结案的案件
const data = lawsuitInfo.lawsuitStat
if (data.count && data.count.count_wei_total && data.count.count_wei_total > 0) {
return {
level: 'medium',
text: '中风险',
color: 'text-amber-600 bg-amber-50',
}
}
// 只有已结案的为低中风险
return {
level: 'low-medium',
text: '低中风险',
color: 'text-yellow-600 bg-yellow-50',
}
}
return {
level: 'low',
text: '低风险',
color: 'text-green-600 bg-green-50',
}
}
level: "low",
text: "低风险",
color: "text-green-600 bg-green-50",
};
};
// 获取涉诉案件统计
export const getLawsuitStats = lawsuitInfo => {
if (!lawsuitInfo) return null
export const getLawsuitStats = (lawsuitInfo) => {
if (!lawsuitInfo) return null;
const stats = {
total: 0,
types: [],
}
const stats = {
total: 0,
types: [],
};
// 统计各类型案件数量
Object.keys(lawsuitTypeMap).forEach(type => {
let count = 0
// 统计各类型案件数量
Object.keys(lawsuitTypeMap).forEach((type) => {
let count = 0;
if (type === 'breachCase') {
count = lawsuitInfo.breachCaseList && lawsuitInfo.breachCaseList.length > 0 ? lawsuitInfo.breachCaseList.length : 0
} else if (type === 'consumptionRestriction') {
count = lawsuitInfo.consumptionRestrictionList && lawsuitInfo.consumptionRestrictionList.length > 0 ? lawsuitInfo.consumptionRestrictionList.length : 0
} else if (lawsuitInfo.lawsuitStat && lawsuitInfo.lawsuitStat[type] && Object.keys(lawsuitInfo.lawsuitStat[type]).length > 0) {
const typeData = lawsuitInfo.lawsuitStat[type]
count = typeData.cases && typeData.cases.length ? typeData.cases.length : 0
}
if (type === "breachCase") {
count =
lawsuitInfo.breachCaseList &&
lawsuitInfo.breachCaseList.length > 0
? lawsuitInfo.breachCaseList.length
: 0;
} else if (type === "consumptionRestriction") {
count =
lawsuitInfo.consumptionRestrictionList &&
lawsuitInfo.consumptionRestrictionList.length > 0
? lawsuitInfo.consumptionRestrictionList.length
: 0;
} else if (
lawsuitInfo.lawsuitStat &&
lawsuitInfo.lawsuitStat[type] &&
Object.keys(lawsuitInfo.lawsuitStat[type]).length > 0
) {
const typeData = lawsuitInfo.lawsuitStat[type];
count =
typeData.cases && typeData.cases.length
? typeData.cases.length
: 0;
}
if (count > 0) {
stats.total += count
stats.types.push({
type,
count,
name: getCaseTypeText(type),
color: getCaseTypeColor(type),
darkColor: getCaseTypeDarkColor(type),
})
}
})
if (count > 0) {
stats.total += count;
stats.types.push({
type,
count,
name: getCaseTypeText(type),
color: getCaseTypeColor(type),
darkColor: getCaseTypeDarkColor(type),
});
}
});
return stats
}
return stats;
};
// 获取案件类型优先级顺序
export const getCaseTypePriority = () => {
return [
'breachCase', // 失信被执行人(最高风险)
'consumptionRestriction', // 限高被执行人
'criminal', // 刑事案件
'civil', // 民事案件
'administrative', // 行政案件
'implement', // 执行案件
'bankrupt', // 强制清算与破产案件
'preservation', // 非诉保全审查
]
}
return [
"breachCase", // 失信被执行人(最高风险)
"consumptionRestriction", // 限高被执行人
"criminal", // 刑事案件
"civil", // 民事案件
"administrative", // 行政案件
"implement", // 执行案件
"bankrupt", // 强制清算与破产案件
"preservation", // 非诉保全审查
];
};
// 根据案件类型获取风险等级
export const getCaseTypeRiskLevel = caseType => {
const typeInfo = lawsuitTypeMap[caseType]
if (!typeInfo) {
return {
level: 'low',
text: '低风险',
color: 'text-green-600 bg-green-50',
export const getCaseTypeRiskLevel = (caseType) => {
const typeInfo = lawsuitTypeMap[caseType];
if (!typeInfo) {
return {
level: "low",
text: "低风险",
color: "text-green-600 bg-green-50",
};
}
}
const riskLevelMap = {
high: {
text: '高风险',
color: 'text-red-600 bg-red-50',
},
medium: {
text: '中风险',
color: 'text-amber-600 bg-amber-50',
},
low: {
text: '低风险',
color: 'text-green-600 bg-green-50',
},
}
return {
level: typeInfo.riskLevel,
...riskLevelMap[typeInfo.riskLevel],
}
}
const riskLevelMap = {
high: {
text: "高风险",
color: "text-red-600 bg-red-50",
},
medium: {
text: "中风险",
color: "text-amber-600 bg-amber-50",
},
low: {
text: "低风险",
color: "text-green-600 bg-green-50",
},
};
return {
level: typeInfo.riskLevel,
...riskLevelMap[typeInfo.riskLevel],
};
};

View File

@@ -0,0 +1,125 @@
<template>
<div class="card application-count-section">
<div class="rounded-lg border border-gray-200 pb-2 mb-4">
<div class="flex items-center mb-4 p-4">
<span class="font-bold text-gray-800 text-lg">申请次数 {{ totalCount }}</span>
</div>
<!-- 柱状图 -->
<div class="px-4 mb-4">
<div class="h-64">
<v-chart class="chart-container" :option="chartOption" autoresize />
</div>
</div>
</div>
</div>
</template>
<script setup>
import { computed } from 'vue'
import VChart from 'vue-echarts'
import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { BarChart } from 'echarts/charts'
import {
TitleComponent,
TooltipComponent,
LegendComponent,
GridComponent
} from 'echarts/components'
import { getApplicationCounts, PERIOD_MAP } from '../utils/dataParser'
// 注册ECharts组件
use([
CanvasRenderer,
BarChart,
TitleComponent,
TooltipComponent,
LegendComponent,
GridComponent
])
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
}
})
// 计算总申请次数12个月
const totalCount = computed(() => {
const counts = getApplicationCounts(props.data, 'm12')
return counts.total
})
// 图表配置
const chartOption = computed(() => {
const periodKeys = ['d7', 'd15', 'm1', 'm3', 'm6', 'm12']
const labels = periodKeys.map(key => PERIOD_MAP[key].label)
const data = periodKeys.map(key => {
const counts = getApplicationCounts(props.data, key)
return counts.total
})
return {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
},
formatter: (params) => {
const param = params[0]
return `${param.name}<br/>${param.seriesName}: ${param.value}`
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'category',
data: labels,
axisLabel: {
fontSize: 12,
color: '#666'
}
},
yAxis: {
type: 'value',
axisLabel: {
fontSize: 12,
color: '#666',
formatter: '{value}次'
}
},
series: [
{
name: '申请次数',
type: 'bar',
data: data,
itemStyle: {
color: '#4A90E2'
},
label: {
show: true,
position: 'top',
formatter: '{c}次',
fontSize: 12,
color: '#333'
}
}
]
}
})
</script>
<style scoped>
.card {
background: #ffffff;
}
</style>

View File

@@ -0,0 +1,64 @@
<template>
<div class="card application-total-section">
<div class="rounded-lg border border-gray-200 pb-2 mb-4">
<div class="flex items-center mb-4 p-4">
<span class="font-bold text-gray-800 text-lg">申请总次数 (银行+非银) {{ totalCount }}</span>
</div>
<!-- Tab切换 -->
<div class="px-4 mb-4">
<van-tabs v-model:active="activeTab" color="var(--color-primary)">
<van-tab v-for="(period, index) in periods" :key="period.key" :title="period.label">
<div class="p-4">
<!-- 银行机构 -->
<BankInstitutionSection :data="data" :period="period.key" />
<!-- 非银机构 -->
<NBankInstitutionSection :data="data" :period="period.key" />
</div>
</van-tab>
</van-tabs>
</div>
</div>
</div>
</template>
<script setup>
import { computed, ref } from 'vue'
import { getApplicationCounts, PERIOD_MAP } from '../utils/dataParser'
import BankInstitutionSection from './BankInstitutionSection.vue'
import NBankInstitutionSection from './NBankInstitutionSection.vue'
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
}
})
const activeTab = ref(5) // 默认显示12个月
const periods = [
{ key: 'd7', label: '7天' },
{ key: 'd15', label: '15天' },
{ key: 'm1', label: '1个月' },
{ key: 'm3', label: '3个月' },
{ key: 'm6', label: '6个月' },
{ key: 'm12', label: '12个月' }
]
// 计算总申请次数12个月
const totalCount = computed(() => {
const counts = getApplicationCounts(props.data, 'm12')
return counts.total
})
</script>
<style scoped>
.card {
background: #ffffff;
}
</style>

View File

@@ -0,0 +1,158 @@
<template>
<div class="bank-institution-section mb-6">
<div class="flex items-center mb-4">
<span class="font-bold text-gray-800">银行机构 {{ bankTotal }}</span>
</div>
<div class="grid grid-cols-2 gap-4">
<!-- 饼图 -->
<div class="h-64">
<v-chart class="chart-container" :option="pieChartOption" autoresize />
</div>
<!-- 详细列表 -->
<div class="space-y-2">
<div
v-for="(item, index) in detailList"
:key="index"
class="flex justify-between items-center text-sm py-1 border-b border-gray-100"
>
<span class="text-gray-600">{{ item.label }}</span>
<span class="text-[#333333] font-bold">{{ item.value }}</span>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { computed } from 'vue'
import VChart from 'vue-echarts'
import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { PieChart } from 'echarts/charts'
import {
TitleComponent,
TooltipComponent,
LegendComponent
} from 'echarts/components'
import { getBankApplicationDetails, FIELD_LABELS } from '../utils/dataParser'
// 注册ECharts组件
use([
CanvasRenderer,
PieChart,
TitleComponent,
TooltipComponent,
LegendComponent
])
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
},
period: {
type: String,
required: true
}
})
// 获取银行机构申请详情
const bankDetails = computed(() => getBankApplicationDetails(props.data, props.period))
// 计算银行机构总次数
const bankTotal = computed(() => {
const details = bankDetails.value
return Object.values(details).reduce((sum, val) => sum + (val || 0), 0)
})
// 详细列表
const detailList = computed(() => {
const details = bankDetails.value
const labels = FIELD_LABELS.bank
return Object.entries(details)
.filter(([key, value]) => value > 0)
.map(([key, value]) => ({
key,
label: labels[key] || key,
value
}))
.sort((a, b) => b.value - a.value)
})
// 饼图配置
const pieChartOption = computed(() => {
const list = detailList.value
if (list.length === 0) {
return {
title: {
text: '暂无数据',
left: 'center',
top: 'center',
textStyle: {
color: '#999',
fontSize: 14
}
}
}
}
return {
tooltip: {
trigger: 'item',
formatter: '{b}: {c}次 ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
top: 'middle',
textStyle: {
fontSize: 11
}
},
series: [
{
name: '申请次数',
type: 'pie',
radius: ['40%', '70%'],
center: ['60%', '50%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 4,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: true,
formatter: '{b}\n{c}次'
},
emphasis: {
label: {
show: true,
fontSize: 14,
fontWeight: 'bold'
}
},
data: list.map(item => ({
value: item.value,
name: item.label
}))
}
]
}
})
</script>
<style scoped>
.bank-institution-section {
background: #f9fafb;
padding: 16px;
border-radius: 8px;
}
</style>

View File

@@ -0,0 +1,158 @@
<template>
<div class="bank-org-section mb-6">
<div class="flex items-center mb-4">
<span class="font-bold text-gray-800">银行机构 {{ bankTotal }}</span>
</div>
<div class="grid grid-cols-2 gap-4">
<!-- 饼图 -->
<div class="h-64">
<v-chart class="chart-container" :option="pieChartOption" autoresize />
</div>
<!-- 详细列表 -->
<div class="space-y-2">
<div
v-for="(item, index) in detailList"
:key="index"
class="flex justify-between items-center text-sm py-1 border-b border-gray-100"
>
<span class="text-gray-600">{{ item.label }}</span>
<span class="text-[#333333] font-bold">{{ item.value }}</span>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { computed } from 'vue'
import VChart from 'vue-echarts'
import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { PieChart } from 'echarts/charts'
import {
TitleComponent,
TooltipComponent,
LegendComponent
} from 'echarts/components'
import { getBankOrgDetails, FIELD_LABELS } from '../utils/dataParser'
// 注册ECharts组件
use([
CanvasRenderer,
PieChart,
TitleComponent,
TooltipComponent,
LegendComponent
])
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
},
period: {
type: String,
required: true
}
})
// 获取银行机构数详情
const bankOrgs = computed(() => getBankOrgDetails(props.data, props.period))
// 计算银行机构总数
const bankTotal = computed(() => {
const orgs = bankOrgs.value
return Object.values(orgs).reduce((sum, val) => sum + (val || 0), 0)
})
// 详细列表
const detailList = computed(() => {
const orgs = bankOrgs.value
const labels = FIELD_LABELS.bank
return Object.entries(orgs)
.filter(([key, value]) => value > 0)
.map(([key, value]) => ({
key,
label: labels[key] || key,
value
}))
.sort((a, b) => b.value - a.value)
})
// 饼图配置
const pieChartOption = computed(() => {
const list = detailList.value
if (list.length === 0) {
return {
title: {
text: '暂无数据',
left: 'center',
top: 'center',
textStyle: {
color: '#999',
fontSize: 14
}
}
}
}
return {
tooltip: {
trigger: 'item',
formatter: '{b}: {c}家 ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
top: 'middle',
textStyle: {
fontSize: 11
}
},
series: [
{
name: '机构数',
type: 'pie',
radius: ['40%', '70%'],
center: ['60%', '50%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 4,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: true,
formatter: '{b}\n{c}家'
},
emphasis: {
label: {
show: true,
fontSize: 14,
fontWeight: 'bold'
}
},
data: list.map(item => ({
value: item.value,
name: item.label
}))
}
]
}
})
</script>
<style scoped>
.bank-org-section {
background: #f9fafb;
padding: 16px;
border-radius: 8px;
}
</style>

View File

@@ -0,0 +1,67 @@
<template>
<div class="card institution-total-section">
<div class="rounded-lg border border-gray-200 pb-2 mb-4">
<div class="flex items-center mb-4 p-4">
<span class="font-bold text-gray-800 text-lg">申请机构总数 (银行+非银) {{ totalCount }}</span>
</div>
<!-- Tab切换 -->
<div class="px-4 mb-4">
<van-tabs v-model:active="activeTab" color="var(--color-primary)">
<van-tab v-for="(period, index) in periods" :key="period.key" :title="period.label">
<div class="p-4">
<!-- 银行机构 -->
<BankOrgSection :data="data" :period="period.key" />
<!-- 非银机构 -->
<NBankOrgSection :data="data" :period="period.key" />
</div>
</van-tab>
</van-tabs>
</div>
</div>
</div>
</template>
<script setup>
import { computed, ref } from 'vue'
import { getBankOrgDetails, getNBankOrgDetails } from '../utils/dataParser'
import BankOrgSection from './BankOrgSection.vue'
import NBankOrgSection from './NBankOrgSection.vue'
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
}
})
const activeTab = ref(5) // 默认显示12个月
const periods = [
{ key: 'd7', label: '7天' },
{ key: 'd15', label: '15天' },
{ key: 'm1', label: '1个月' },
{ key: 'm3', label: '3个月' },
{ key: 'm6', label: '6个月' },
{ key: 'm12', label: '12个月' }
]
// 计算总机构数12个月
const totalCount = computed(() => {
const bankOrgs = getBankOrgDetails(props.data, 'm12')
const nbankOrgs = getNBankOrgDetails(props.data, 'm12')
const bankTotal = Object.values(bankOrgs).reduce((sum, val) => sum + (val || 0), 0)
const nbankTotal = Object.values(nbankOrgs).reduce((sum, val) => sum + (val || 0), 0)
return bankTotal + nbankTotal
})
</script>
<style scoped>
.card {
background: #ffffff;
}
</style>

View File

@@ -0,0 +1,158 @@
<template>
<div class="nbank-institution-section mb-6">
<div class="flex items-center mb-4">
<span class="font-bold text-gray-800">非银机构 {{ nbankTotal }}</span>
</div>
<div class="grid grid-cols-2 gap-4">
<!-- 饼图 -->
<div class="h-64">
<v-chart class="chart-container" :option="pieChartOption" autoresize />
</div>
<!-- 详细列表 -->
<div class="space-y-2">
<div
v-for="(item, index) in detailList"
:key="index"
class="flex justify-between items-center text-sm py-1 border-b border-gray-100"
>
<span class="text-gray-600">{{ item.label }}</span>
<span class="text-[#333333] font-bold">{{ item.value }}</span>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { computed } from 'vue'
import VChart from 'vue-echarts'
import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { PieChart } from 'echarts/charts'
import {
TitleComponent,
TooltipComponent,
LegendComponent
} from 'echarts/components'
import { getNBankApplicationDetails, FIELD_LABELS } from '../utils/dataParser'
// 注册ECharts组件
use([
CanvasRenderer,
PieChart,
TitleComponent,
TooltipComponent,
LegendComponent
])
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
},
period: {
type: String,
required: true
}
})
// 获取非银机构申请详情
const nbankDetails = computed(() => getNBankApplicationDetails(props.data, props.period))
// 计算非银机构总次数
const nbankTotal = computed(() => {
const details = nbankDetails.value
return Object.values(details).reduce((sum, val) => sum + (val || 0), 0)
})
// 详细列表
const detailList = computed(() => {
const details = nbankDetails.value
const labels = FIELD_LABELS.nbank
return Object.entries(details)
.filter(([key, value]) => value > 0)
.map(([key, value]) => ({
key,
label: labels[key] || key,
value
}))
.sort((a, b) => b.value - a.value)
})
// 饼图配置
const pieChartOption = computed(() => {
const list = detailList.value
if (list.length === 0) {
return {
title: {
text: '暂无数据',
left: 'center',
top: 'center',
textStyle: {
color: '#999',
fontSize: 14
}
}
}
}
return {
tooltip: {
trigger: 'item',
formatter: '{b}: {c}次 ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
top: 'middle',
textStyle: {
fontSize: 11
}
},
series: [
{
name: '申请次数',
type: 'pie',
radius: ['40%', '70%'],
center: ['60%', '50%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 4,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: true,
formatter: '{b}\n{c}次'
},
emphasis: {
label: {
show: true,
fontSize: 14,
fontWeight: 'bold'
}
},
data: list.map(item => ({
value: item.value,
name: item.label
}))
}
]
}
})
</script>
<style scoped>
.nbank-institution-section {
background: #f9fafb;
padding: 16px;
border-radius: 8px;
}
</style>

View File

@@ -0,0 +1,158 @@
<template>
<div class="nbank-org-section mb-6">
<div class="flex items-center mb-4">
<span class="font-bold text-gray-800">非银机构 {{ nbankTotal }}</span>
</div>
<div class="grid grid-cols-2 gap-4">
<!-- 饼图 -->
<div class="h-64">
<v-chart class="chart-container" :option="pieChartOption" autoresize />
</div>
<!-- 详细列表 -->
<div class="space-y-2">
<div
v-for="(item, index) in detailList"
:key="index"
class="flex justify-between items-center text-sm py-1 border-b border-gray-100"
>
<span class="text-gray-600">{{ item.label }}</span>
<span class="text-[#333333] font-bold">{{ item.value }}</span>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { computed } from 'vue'
import VChart from 'vue-echarts'
import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { PieChart } from 'echarts/charts'
import {
TitleComponent,
TooltipComponent,
LegendComponent
} from 'echarts/components'
import { getNBankOrgDetails, FIELD_LABELS } from '../utils/dataParser'
// 注册ECharts组件
use([
CanvasRenderer,
PieChart,
TitleComponent,
TooltipComponent,
LegendComponent
])
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
},
period: {
type: String,
required: true
}
})
// 获取非银机构数详情
const nbankOrgs = computed(() => getNBankOrgDetails(props.data, props.period))
// 计算非银机构总数
const nbankTotal = computed(() => {
const orgs = nbankOrgs.value
return Object.values(orgs).reduce((sum, val) => sum + (val || 0), 0)
})
// 详细列表
const detailList = computed(() => {
const orgs = nbankOrgs.value
const labels = FIELD_LABELS.nbank
return Object.entries(orgs)
.filter(([key, value]) => value > 0)
.map(([key, value]) => ({
key,
label: labels[key] || key,
value
}))
.sort((a, b) => b.value - a.value)
})
// 饼图配置
const pieChartOption = computed(() => {
const list = detailList.value
if (list.length === 0) {
return {
title: {
text: '暂无数据',
left: 'center',
top: 'center',
textStyle: {
color: '#999',
fontSize: 14
}
}
}
}
return {
tooltip: {
trigger: 'item',
formatter: '{b}: {c}家 ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
top: 'middle',
textStyle: {
fontSize: 11
}
},
series: [
{
name: '机构数',
type: 'pie',
radius: ['40%', '70%'],
center: ['60%', '50%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 4,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: true,
formatter: '{b}\n{c}家'
},
emphasis: {
label: {
show: true,
fontSize: 14,
fontWeight: 'bold'
}
},
data: list.map(item => ({
value: item.value,
name: item.label
}))
}
]
}
})
</script>
<style scoped>
.nbank-org-section {
background: #f9fafb;
padding: 16px;
border-radius: 8px;
}
</style>

118
src/ui/JRZQ6F2A/index.vue Normal file
View File

@@ -0,0 +1,118 @@
<template>
<div class="card shadow-sm rounded-xl overflow-hidden flex flex-col gap-4">
<!-- 申请次数 -->
<ApplicationCountSection :data="variableValue" />
<!-- 申请总次数 (银行+非银) -->
<ApplicationTotalSection :data="variableValue" />
<!-- 申请机构总数 (银行+非银) -->
<InstitutionTotalSection :data="variableValue" />
</div>
</template>
<script setup>
import { computed } from 'vue'
import { useRiskNotifier } from '@/composables/useRiskNotifier'
import { extractVariableValue } from './utils/dataParser'
import ApplicationCountSection from './components/ApplicationCountSection.vue'
import ApplicationTotalSection from './components/ApplicationTotalSection.vue'
import InstitutionTotalSection from './components/InstitutionTotalSection.vue'
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
},
apiId: {
type: String,
default: '',
},
index: {
type: Number,
default: 0,
},
notifyRiskStatus: {
type: Function,
default: () => { },
},
})
// 获取数据
const rawData = computed(() => props.data?.data || props.data || {})
// 提取 variableValue
const variableValue = computed(() => extractVariableValue(rawData.value))
// 计算风险评分0-100分分数越高越安全
const riskScore = computed(() => {
const data = variableValue.value
if (!data || Object.keys(data).length === 0) {
return 100 // 无数据视为最安全
}
let score = 100 // 初始满分
// 近7天申请次数评估
const d7Total = parseInt(data.als_d7_id_bank_allnum || 0) + parseInt(data.als_d7_id_nbank_allnum || 0)
if (d7Total > 5) {
score -= 20 // 近7天申请过多
} else if (d7Total > 3) {
score -= 10
}
// 近15天申请次数评估
const d15Total = parseInt(data.als_d15_id_bank_allnum || 0) + parseInt(data.als_d15_id_nbank_allnum || 0)
if (d15Total > 10) {
score -= 15
} else if (d15Total > 5) {
score -= 8
}
// 近1个月申请次数评估
const m1Total = parseInt(data.als_m1_id_bank_allnum || 0) + parseInt(data.als_m1_id_nbank_allnum || 0)
if (m1Total > 15) {
score -= 20
} else if (m1Total > 8) {
score -= 10
}
// 近3个月申请次数评估
const m3Total = parseInt(data.als_m3_id_bank_allnum || 0) + parseInt(data.als_m3_id_nbank_allnum || 0)
if (m3Total > 20) {
score -= 15
} else if (m3Total > 10) {
score -= 8
}
// 近6个月申请次数评估
const m6Total = parseInt(data.als_m6_id_bank_allnum || 0) + parseInt(data.als_m6_id_nbank_allnum || 0)
if (m6Total > 30) {
score -= 10
} else if (m6Total > 15) {
score -= 5
}
// 确保分数在10-100范围内
return Math.max(10, Math.min(100, score))
})
// 使用 composable 通知父组件风险评分
useRiskNotifier(props, riskScore)
// 暴露给父组件
defineExpose({
riskScore
})
</script>
<style scoped>
.card {
background: #ffffff;
border: 1px solid #e5e7eb;
}
</style>

View File

@@ -0,0 +1,209 @@
/**
* 数据解析工具函数
* 用于解析借贷意向验证A的返回数据
*/
/**
* 获取字段值,处理空值
*/
export function getValue(value) {
if (value === undefined || value === null || value === '' || value === '空') {
return 0
}
// 如果是字符串数字,转换为数字
if (typeof value === 'string' && /^\d+(\.\d+)?$/.test(value)) {
return parseFloat(value)
}
return value
}
/**
* 从原始数据中提取 variableValue
*/
export function extractVariableValue(data) {
try {
return data?.risk_screen_v2?.variables?.find(
v => v.variableName === 'bairong_applyloan_extend'
)?.variableValue || {}
} catch (error) {
console.error('提取数据失败:', error)
return {}
}
}
/**
* 时间段映射
*/
export const PERIOD_MAP = {
d7: { label: '7天', prefix: 'als_d7' },
d15: { label: '15天', prefix: 'als_d15' },
m1: { label: '1个月', prefix: 'als_m1' },
m3: { label: '3个月', prefix: 'als_m3' },
m6: { label: '6个月', prefix: 'als_m6' },
m12: { label: '12个月', prefix: 'als_m12' }
}
/**
* 获取申请次数(按时间段)
*/
export function getApplicationCounts(variableValue, period) {
const { prefix } = PERIOD_MAP[period]
// 计算总申请次数(所有类型的申请次数之和)
const types = [
'id_pdl_allnum', // 线上小额现金贷
'id_caon_allnum', // 线上现金分期
'id_rel_allnum', // 信用卡(类信用卡)
'id_caoff_allnum', // 线下现金分期
'id_cooff_allnum', // 线下消费分期
'id_af_allnum', // 汽车金融
'id_coon_allnum', // 线上消费分期
'id_oth_allnum' // 其他
]
let total = 0
types.forEach(type => {
const value = getValue(variableValue[`${prefix}_${type}`])
total += value
})
// 银行机构申请次数
const bankTotal = getValue(variableValue[`${prefix}_id_bank_allnum`]) || 0
// 非银机构申请次数
const nbankTotal = getValue(variableValue[`${prefix}_id_nbank_allnum`]) || 0
// 如果计算出的total为0则使用银行+非银的总和
const finalTotal = total > 0 ? total : (bankTotal + nbankTotal)
return {
total: finalTotal,
bank: bankTotal,
nbank: nbankTotal
}
}
/**
* 获取银行机构申请次数详情
*/
export function getBankApplicationDetails(variableValue, period) {
const { prefix } = PERIOD_MAP[period]
return {
pdl: getValue(variableValue[`${prefix}_id_pdl_allnum`]), // 线上小额现金贷
caon: getValue(variableValue[`${prefix}_id_caon_allnum`]), // 线上现金分期
rel: getValue(variableValue[`${prefix}_id_rel_allnum`]), // 信用卡(类信用卡)
caoff: getValue(variableValue[`${prefix}_id_caoff_allnum`]), // 线下现金分期
cooff: getValue(variableValue[`${prefix}_id_cooff_allnum`]), // 线下消费分期
af: getValue(variableValue[`${prefix}_id_af_allnum`]), // 汽车金融
coon: getValue(variableValue[`${prefix}_id_coon_allnum`]), // 线上消费分期
oth: getValue(variableValue[`${prefix}_id_oth_allnum`]), // 其他
bank: getValue(variableValue[`${prefix}_id_bank_allnum`]), // 银行机构申请
tra: getValue(variableValue[`${prefix}_id_bank_tra_allnum`]), // 传统银行申请
ret: getValue(variableValue[`${prefix}_id_bank_ret_allnum`]) // 网络零售银行申请
}
}
/**
* 获取非银机构申请次数详情
*/
export function getNBankApplicationDetails(variableValue, period) {
const { prefix } = PERIOD_MAP[period]
return {
nbank: getValue(variableValue[`${prefix}_id_nbank_allnum`]), // 非银机构
p2p: getValue(variableValue[`${prefix}_id_nbank_p2p_allnum`]), // 改制机构
mc: getValue(variableValue[`${prefix}_id_nbank_mc_allnum`]), // 小贷机构
ca: getValue(variableValue[`${prefix}_id_nbank_ca_allnum`]), // 现金类分期机构
cf: getValue(variableValue[`${prefix}_id_nbank_cf_allnum`]), // 消费类分期机构
com: getValue(variableValue[`${prefix}_id_nbank_com_allnum`]), // 代偿类分期机构
oth: getValue(variableValue[`${prefix}_id_nbank_oth_allnum`]), // 其他申请
nsloan: getValue(variableValue[`${prefix}_id_nbank_nsloan_allnum`]), // 持牌网络小贷机构
autofin: getValue(variableValue[`${prefix}_id_nbank_autofin_allnum`]), // 持牌汽车金融机构
sloan: getValue(variableValue[`${prefix}_id_nbank_sloan_allnum`]), // 持牌小贷机构
cons: getValue(variableValue[`${prefix}_id_nbank_cons_allnum`]), // 持牌消费金融机构
finlea: getValue(variableValue[`${prefix}_id_nbank_finlea_allnum`]), // 持牌融资租赁机构
else: getValue(variableValue[`${prefix}_id_nbank_else_allnum`]) // 其他申请
}
}
/**
* 获取银行机构申请机构数详情
*/
export function getBankOrgDetails(variableValue, period) {
const { prefix } = PERIOD_MAP[period]
return {
pdl: getValue(variableValue[`${prefix}_id_pdl_orgnum`]),
caon: getValue(variableValue[`${prefix}_id_caon_orgnum`]),
rel: getValue(variableValue[`${prefix}_id_rel_orgnum`]),
caoff: getValue(variableValue[`${prefix}_id_caoff_orgnum`]),
cooff: getValue(variableValue[`${prefix}_id_cooff_orgnum`]),
af: getValue(variableValue[`${prefix}_id_af_orgnum`]),
coon: getValue(variableValue[`${prefix}_id_coon_orgnum`]),
oth: getValue(variableValue[`${prefix}_id_oth_orgnum`]),
bank: getValue(variableValue[`${prefix}_id_bank_orgnum`]),
tra: getValue(variableValue[`${prefix}_id_bank_tra_orgnum`]),
ret: getValue(variableValue[`${prefix}_id_bank_ret_orgnum`])
}
}
/**
* 获取非银机构申请机构数详情
*/
export function getNBankOrgDetails(variableValue, period) {
const { prefix } = PERIOD_MAP[period]
return {
nbank: getValue(variableValue[`${prefix}_id_nbank_orgnum`]),
p2p: getValue(variableValue[`${prefix}_id_nbank_p2p_orgnum`]),
mc: getValue(variableValue[`${prefix}_id_nbank_mc_orgnum`]),
ca: getValue(variableValue[`${prefix}_id_nbank_ca_orgnum`]),
cf: getValue(variableValue[`${prefix}_id_nbank_cf_orgnum`]),
com: getValue(variableValue[`${prefix}_id_nbank_com_orgnum`]),
oth: getValue(variableValue[`${prefix}_id_nbank_oth_orgnum`]),
nsloan: getValue(variableValue[`${prefix}_id_nbank_nsloan_orgnum`]),
autofin: getValue(variableValue[`${prefix}_id_nbank_autofin_orgnum`]),
sloan: getValue(variableValue[`${prefix}_id_nbank_sloan_orgnum`]),
cons: getValue(variableValue[`${prefix}_id_nbank_cons_orgnum`]),
finlea: getValue(variableValue[`${prefix}_id_nbank_finlea_orgnum`]),
else: getValue(variableValue[`${prefix}_id_nbank_else_orgnum`])
}
}
/**
* 字段名称映射
*/
export const FIELD_LABELS = {
// 银行机构申请类型
bank: {
pdl: '申请线上小额现金贷',
caon: '申请线上现金分期',
rel: '申请信用卡(类信用卡)',
caoff: '申请线下现金分期',
cooff: '申请线下消费分期',
af: '申请汽车金融',
coon: '申请线上消费分期',
oth: '申请其他',
bank: '银行机构申请',
tra: '银行机构-传统银行申请',
ret: '银行机构-网络零售银行申请'
},
// 非银机构申请类型
nbank: {
nbank: '非银机构',
p2p: '改制机构',
mc: '小贷机构',
ca: '现金类分期机构',
cf: '消费类分期机构',
com: '代偿类分期机构',
oth: '其他申请',
nsloan: '持牌网络小贷机构',
autofin: '汽车金融',
sloan: '持牌小贷机构',
cons: '持牌消费金融机构',
finlea: '持牌融资租赁机构',
else: '其他申请'
}
}

BIN
src/ui/JRZQ7F1A.zip Normal file

Binary file not shown.

BIN
src/ui/JRZQ8B3C.zip Normal file

Binary file not shown.

149
src/ui/JRZQ8B3C/README.md Normal file
View File

@@ -0,0 +1,149 @@
# 个人消费能力等级组件 (JRZQ8B3C)
## 组件概述
基于个人收入指数评分进行消费能力等级评估,为企业提供专业的消费能力分析和风险评估服务。
## 组件结构
```
JRZQ8B3C/
├── index.vue # 主组件
└── README.md # 说明文档
```
## 使用方法
### 基本用法
```vue
<template>
<div>
<JRZQ8B3C :data="consumptionData" />
</div>
</template>
<script setup>
import JRZQ8B3C from '@/ui/JRZQ8B3C/index.vue'
// 个人消费能力等级数据示例
const consumptionData = {
personincome_index_2.0: "200" // 个人收入指数评分(字符串类型)
}
</script>
```
## 数据字段说明
| 字段名 | 类型 | 必填 | 描述 | 示例值 |
|-------|------|------|------|--------|
| personincome_index_2.0 | String | 是 | 个人收入指数评分 | "200" |
## 评分分档说明
| 分值 | 收入区间(元/月) | 消费能力等级 | 风险等级 |
|------|----------------|------------|----------|
| -1 | **未命中** | 无法获取收入信息 | 高风险 |
| 100 | (1000, 2000] | 第1档 | 高风险 |
| 200 | (2000, 4000] | 第2档 | 高风险 |
| 300 | (4000, 6000] | 第3档 | 高风险 |
| 400 | (6000, 8000] | 第4档 | 中等风险 |
| 500 | (8000, 10000] | 第5档 | 中等风险 |
| 600 | (10000, 12000] | 第6档 | 中等风险 |
| 700 | (12000, 15000] | 第7档 | 低风险 |
| 800 | (15000, 20000] | 第8档 | 低风险 |
| 900 | (20000, 25000] | 第9档 | 低风险 |
| 1000 | (25000, +∞) | 第10档 | 低风险 |
## 特殊值说明
- **-1**: 表示未命中(无法获取收入信息)
- **评分范围**: 100-1000分共10个等级
- **等级意义**: 等级越高,对应的消费能力越强
- **区间定义**: 收入区间为左开右闭区间1000 < 收入 2000
## 组件特性
### 1. 专业的视觉展示
- **评分展示**大数字显示个人收入指数评分
- **进度条可视化**直观展示评分在100-1000分范围内的位置
- **颜色编码**根据评分等级使用不同颜色=红色,中=黄色,高=绿色)
- **响应式设计**完美适配各种屏幕尺寸
### 2. 全面的数据分析
- **收入区间显示**清晰展示对应的月收入范围
- **等级描述**显示当前评分对应的消费能力等级
- **市场对比分析**与市场平均水平对比
- **消费能力评估**基于收入指数的消费能力分析
### 3. 智能风险评估
- **动态评分**根据收入指数自动计算风险分数30-100分
- **风险等级标签**直观显示当前风险等级
- **个性化建议**针对不同等级的专业建议
## 视觉设计亮点
### 1. 色彩系统
- **低风险700-1000分**绿色系表示消费能力强
- **中等风险400-600分**黄色系表示消费能力中等
- **高风险100-300分/-1**红色系表示消费能力有限
### 2. 交互体验
- 平滑的动画过渡
- 直观的视觉反馈
- 清晰的信息层次
### 3. 信息架构
- 层次分明的信息展示
- 重点突出的核心数据
- 完整的补充说明
## 数据说明
### 评估依据
- 基于个人收入指数评分
- 使用10档分级评分体系
- 数据准确可靠
### 使用限制
- 收入范围为税前月收入
- 存在地区差异仅供参考
- 建议结合其他收入证明材料
### 评分计算
- 风险评分范围30-100分
- 100分对应30分风险评分
- 1000分对应100分风险评分最安全
- -1未命中对应30分风险评分
## 业务价值
### 1. 风险控制
- 精确的消费能力评估降低信贷风险
- 多维度风险分析提升决策质量
- 智能化评分系统提高效率
### 2. 客户分层
- 基于消费能力的客户分级管理
- 个性化服务策略制定
- 精准的市场定位分析
### 3. 合规要求
- 符合金融监管要求
- 数据来源权威可靠
- 评估过程透明公开
## 注意事项
1. 确保传入正确的 `personincome_index_2.0`
2. 组件会自动处理 -1 特殊值未命中
3. 建议在网络良好的环境下使用
4. 定期更新评估标准以保持准确性
## 更新日志
- v1.0.0 - 初始版本支持基础消费能力等级评估功能
- 专业的视觉展示效果
- 完整的评分分档系统
- 专业的风险分析功能

377
src/ui/JRZQ8B3C/index.vue Normal file
View File

@@ -0,0 +1,377 @@
<template>
<div class="card">
<div class="rounded-lg border border-gray-200 pb-2 mb-4">
<!-- 标题区域 -->
<div class="flex items-center mb-4 p-4">
<div class="w-8 h-8 flex items-center justify-center mr-2">
<img src="@/assets/images/report/srpg.png" alt="个人消费能力等级" class="w-8 h-8 object-contain" />
</div>
<span class="font-bold text-gray-800">个人消费能力等级</span>
</div>
<div class="px-4 pb-4">
<!-- 月消费能力 -->
<div class="mb-6 text-center">
<div class="text-sm text-gray-600 mb-2">月消费能力</div>
<div class="text-3xl font-bold mb-3 text-[#333333]">
<span class="amount-number">{{ getConsumptionAmount(score) }}</span>
<span class="amount-unit">/</span>
</div>
<div class="level-bar" :style="getLevelBarBgStyle(score)">
<div class="level-fill" :style="getLevelBarStyle(score)"></div>
</div>
<div class="text-sm text-gray-600 mt-2">{{ getConsumptionDescription(score) }}</div>
</div>
<!-- 评估结果 -->
<div class="assessment-card">
<div class="flex items-center">
<div class="flex-1">
<div class="flex items-center justify-between mb-2">
<h4 class="font-semibold text-gray-800">评估结果</h4>
</div>
<p class="text-gray-400 text-sm">
{{ getAssessmentDescription(score) }}
</p>
</div>
</div>
</div>
<!-- 市场对比 -->
<div class="assessment-card">
<div class="flex items-center mb-8">
<div class="flex-1">
<div class="flex items-center justify-between mb-2">
<h4 class="font-semibold text-gray-800">市场对比</h4>
</div>
<p class="text-gray-400 text-sm">
{{ getMarketComparison(score) }}
</p>
</div>
</div>
<div class="comparison-indicator mt-4">
<div class="indicator-bar">
<div class="indicator-fill" :style="getIndicatorStyle(score)"></div>
<div class="indicator-marker" :style="getMarkerPosition(score)">
<img src="@/assets/images/report/srbq.png" alt="市场对比" class="marker-image" />
<div class="marker-dot"></div>
</div>
</div>
<div class="indicator-labels">
<span>低消费</span>
<span>高消费</span>
</div>
</div>
</div>
<!-- 消费能力 -->
<div class="assessment-card">
<div class="flex items-center">
<div class="flex-1">
<div class="mb-2">
<h4 class="font-semibold text-gray-800">消费能力</h4>
</div>
<p class="text-gray-400 text-sm">
{{ getConsumptionCapacity(score) }}
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { computed } from 'vue'
import { useRiskNotifier } from '@/composables/useRiskNotifier';
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({})
},
apiId: {
type: String,
default: '',
},
index: {
type: Number,
default: 0,
},
notifyRiskStatus: {
type: Function,
default: () => { },
},
})
// 确保data是响应式的
const data = computed(() => props.data || {})
// 获取评分值(字符串转数字,处理-1特殊值
const score = computed(() => {
const value = data.value['personincome_index_2.0'];
if (!value || value === '-1') return -1;
const num = parseInt(value, 10);
return isNaN(num) ? -1 : num;
})
// 获取消费金额显示(直接显示金额区间)
const getConsumptionAmount = (score) => {
if (score === -1) return '无法评估'
const amountMap = {
100: '2,000 - 4,000',
200: '2,000 - 4,000',
300: '4,000 - 6,000',
400: '6,000 - 8,000',
500: '8,000 - 10,000',
600: '10,000 - 12,000',
700: '12,000 - 15,000',
800: '15,000 - 20,000',
900: '20,000 - 25,000',
1000: '25,000+'
}
return amountMap[score] || '数据异常'
}
// 消费能力描述
const getConsumptionDescription = (score) => {
if (score === -1) return '暂未发现消费能力信息'
const descriptionMap = {
100: '基础消费能力',
200: '基础消费能力',
300: '中等消费能力',
400: '中等消费能力',
500: '良好消费能力',
600: '良好消费能力',
700: '较强消费能力',
800: '较强消费能力',
900: '很强消费能力',
1000: '很强消费能力'
}
return descriptionMap[score] || '数据异常'
}
// 等级进度条样式
const getLevelBarStyle = (score) => {
if (score === -1) {
return {
width: '0%',
background: '#94a3b8'
}
}
// 计算百分比100分=10%, 200分=20%, ..., 1000分=100%
const percentage = (score / 1000) * 100
// 统一使用蓝色渐变
return {
width: percentage + '%',
background: 'linear-gradient(90deg, #3b82f6 0%, #2563eb 100%)'
}
}
// 进度条背景色样式
const getLevelBarBgStyle = (score) => {
// 统一使用淡蓝色背景
return {
background: '#eff6ff'
}
}
// 评估描述
const getAssessmentDescription = (score) => {
if (score === -1) {
return '根据个人消费能力等级分析,无法获取该用户的消费能力信息,无法进行评估。'
}
const descriptions = {
100: '根据个人消费能力等级分析,该用户月消费能力较低,消费水平有限。',
200: '根据个人消费能力等级分析,该用户月消费能力较低,消费水平有限。',
300: '根据个人消费能力等级分析,该用户月消费能力中等,消费水平良好。',
400: '根据个人消费能力等级分析,该用户月消费能力中等,消费水平良好。',
500: '根据个人消费能力等级分析,该用户月消费能力中等偏上,消费水平较强。',
600: '根据个人消费能力等级分析,该用户月消费能力中等偏上,消费水平较强。',
700: '根据个人消费能力等级分析,该用户月消费能力较高,消费水平很强。',
800: '根据个人消费能力等级分析,该用户月消费能力较高,消费水平很强。',
900: '根据个人消费能力等级分析,该用户月消费能力很高,消费水平顶级。',
1000: '根据个人消费能力等级分析,该用户月消费能力很高,消费水平顶级。'
}
return descriptions[score] || '数据异常,无法进行准确评估。'
}
// 市场对比分析
const getMarketComparison = (score) => {
if (score === -1) {
return '无消费能力信息,无法与市场平均水平进行对比。'
}
const comparisons = {
100: '低于市场平均消费水平,处于消费分布的底部区间。',
200: '低于市场平均消费水平,处于消费分布的中下区间。',
300: '接近市场平均消费水平,处于消费分布的中等区间。',
400: '接近市场平均消费水平,处于消费分布的中等区间。',
500: '高于市场平均消费水平,处于消费分布的中上区间。',
600: '高于市场平均消费水平,处于消费分布的中上区间。',
700: '明显高于市场平均消费水平,处于消费分布的上层区间。',
800: '显著高于市场平均消费水平,处于消费分布的高层区间。',
900: '远高于市场平均消费水平,处于消费分布的顶部区间。',
1000: '超越市场绝大多数消费水平,处于消费分布的顶级区间。'
}
return comparisons[score] || '数据异常,无法进行市场对比。'
}
// 消费能力分析
const getConsumptionCapacity = (score) => {
if (score === -1) {
return '缺乏消费能力信息,月消费能力存在不确定性,需要谨慎评估。'
}
const capacities = {
100: '月消费能力较低,消费水平有限,建议理性消费。',
200: '月消费能力较低,消费水平有限,建议理性消费。',
300: '月消费能力稳定,消费水平良好,具备一定的消费潜力。',
400: '月消费能力稳定,消费水平良好,具备一定的消费潜力。',
500: '月消费能力较高,消费水平较强,可以支持中等消费。',
600: '月消费能力较高,消费水平较强,可以支持中等消费。',
700: '月消费能力很强,消费水平很高,可以支持较高消费。',
800: '月消费能力很强,消费水平很高,可以支持较高消费。',
900: '月消费能力顶级,消费水平极高,可以支持高端消费。',
1000: '月消费能力顶级,消费水平极高,可以支持顶级消费。'
}
return capacities[score] || '数据异常,无法进行消费能力分析。'
}
// 指示器样式
const getIndicatorStyle = (score) => {
if (score === -1) return { width: '0%', background: 'transparent' }
// 100分=0%, 1000分=100%
const percentage = ((score - 100) / 900) * 100
return {
width: percentage + '%',
background: `linear-gradient(90deg, #93c5fd 0%, #3b82f6 50%, #1d4ed8 100%)`
}
}
// 标记位置
const getMarkerPosition = (score) => {
if (score === -1) return { left: '0%' }
// 100分=0%, 1000分=100%
const percentage = ((score - 100) / 900) * 100
return {
left: percentage + '%'
}
}
// 计算风险评分0-100分分数越高越安全
const riskScore = computed(() => {
if (score.value === -1) return 30 // 未命中,风险较高
// 100分对应30分1000分对应100分
return 30 + ((score.value - 100) / 900) * 70
});
// 使用 composable 通知父组件风险评分
useRiskNotifier(props, riskScore);
// 暴露给父组件
defineExpose({
riskScore
});
</script>
<style scoped>
/* 金额数字样式 */
.amount-number {
color: #333333;
font-weight: bold;
}
.amount-unit {
font-size: 0.5em;
color: #999999;
margin-left: 4px;
}
/* 进度条 */
.level-bar {
height: 12px;
border-radius: 8px;
overflow: hidden;
}
.level-fill {
height: 100%;
border-radius: 4px;
transition: all 0.6s ease;
}
/* 评估卡片 */
.assessment-card {
padding: 16px;
border-radius: 8px;
margin-bottom: 16px;
border: 1px solid;
}
/* 评估卡片统一样式 */
.assessment-card {
background: #f8fafc;
border-color: #e2e8f0;
}
/* 对比指示器 */
.comparison-indicator {
margin-top: 12px;
}
.indicator-bar {
position: relative;
height: 6px;
border-radius: 3px;
margin-bottom: 8px;
background: linear-gradient(90deg, #93c5fd 0%, #3b82f6 50%, #1d4ed8 100%);
}
.indicator-fill {
height: 100%;
border-radius: 3px;
transition: all 0.5s ease;
background: transparent;
}
.indicator-marker {
position: absolute;
top: -26px;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
}
.marker-image {
width: 24px;
margin-bottom: 0px;
}
.marker-dot {
width: 8px;
height: 8px;
background: white;
border-radius: 50%;
box-shadow: 0px 4px 4px 0px #00000040;
}
.indicator-labels {
display: flex;
justify-content: space-between;
font-size: 0.7rem;
color: #9ca3af;
}
</style>

26
t.json Normal file
View File

@@ -0,0 +1,26 @@
[
{
"api_code": "DWBG8B4D"
},
{
"api_code": "QCXG9P1C"
},
{
"api_code": "JRZQ09J8"
},
{
"api_code": "JRZQ4AA8"
},
{
"api_code": "JRZQ5E9F"
},
{
"api_code": "FLXG7E8F"
},
{
"api_code": "IVYZ81NC"
},
{
"api_code": "IVYZ3P9M"
}
]

View File

@@ -1,975 +0,0 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>谛听多维报告</title>
<style>
/* PDF 报告容器 - A4 宽度 */
.pdf-report {
width: 794px; /* A4 宽度 (210mm) */
max-width: 100%;
margin: 0 auto;
background-color: #ffffff;
padding: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
color: #333333;
line-height: 1.6;
box-sizing: border-box;
}
/* 章节样式 */
.pdf-section {
margin-bottom: 32px;
page-break-inside: avoid;
padding: 0 24px;
}
.pdf-section-title {
font-size: 20px;
font-weight: 600;
color: #1a1a1a;
margin: 0 0 20px 0;
padding: 16px 0 12px 0;
position: relative;
border-bottom: none;
}
.pdf-section-title::before {
content: '';
position: absolute;
left: -24px;
top: 16px;
bottom: 12px;
width: 4px;
background: linear-gradient(180deg, #4a90e2 0%, #357abd 100%);
border-radius: 2px;
}
/* 卡片样式 */
.pdf-card {
background-color: #ffffff;
border: 1px solid #e8eaed;
border-radius: 8px;
padding: 20px 24px;
margin-bottom: 16px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.04);
}
.pdf-card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid #f0f0f0;
}
.pdf-suggestion-card {
background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
border: 1px solid #e0e7ff;
border-left: 4px solid #4a90e2;
}
/* 标签和值 */
.pdf-label {
font-size: 15px;
font-weight: 500;
color: #1a1a1a;
letter-spacing: 0.2px;
}
.pdf-value {
font-size: 18px;
font-weight: 600;
letter-spacing: 0.3px;
}
.pdf-value-danger {
color: #e53e3e;
}
.pdf-value-success {
color: #38a169;
}
.pdf-value-warning {
color: #d69e2e;
}
/* 标签样式 */
.pdf-tag {
display: inline-block;
padding: 5px 14px;
border-radius: 12px;
font-size: 12px;
font-weight: 500;
color: #ffffff;
letter-spacing: 0.2px;
line-height: 1.4;
}
.pdf-tag-danger {
background: linear-gradient(135deg, #fc8181 0%, #e53e3e 100%);
box-shadow: 0 2px 4px rgba(229, 62, 62, 0.2);
}
.pdf-tag-warning {
background: linear-gradient(135deg, #f6ad55 0%, #d69e2e 100%);
box-shadow: 0 2px 4px rgba(214, 158, 46, 0.2);
}
.pdf-tag-success {
background: linear-gradient(135deg, #68d391 0%, #38a169 100%);
box-shadow: 0 2px 4px rgba(56, 161, 105, 0.2);
}
.pdf-tag-info {
background: linear-gradient(135deg, #63b3ed 0%, #3182ce 100%);
box-shadow: 0 2px 4px rgba(49, 130, 206, 0.2);
}
.pdf-tag-default {
background: linear-gradient(135deg, #a0aec0 0%, #718096 100%);
box-shadow: 0 2px 4px rgba(113, 128, 150, 0.2);
}
/* 子标题 */
.pdf-subtitle {
font-size: 16px;
font-weight: 600;
color: #1a1a1a;
margin: 0 0 16px 0;
padding: 0 0 12px 0;
border-bottom: 1px solid #f0f0f0;
position: relative;
}
.pdf-subtitle::after {
content: '';
position: absolute;
left: 0;
bottom: -1px;
width: 40px;
height: 2px;
background: linear-gradient(90deg, #4a90e2 0%, #357abd 100%);
border-radius: 1px;
}
.pdf-mini-title {
font-size: 15px;
font-weight: 600;
color: #1a1a1a;
margin: 20px 0 12px 0;
padding: 0 0 8px 0;
border-bottom: 1px solid #f5f5f5;
}
/* 信息表格 */
.pdf-info-table {
width: 100%;
border-collapse: collapse;
margin-top: 8px;
}
.pdf-info-table tr {
border-bottom: 1px solid #f5f5f5;
}
.pdf-info-table tr:last-child {
border-bottom: none;
}
.pdf-info-table td {
padding: 12px 16px;
font-size: 14px;
vertical-align: top;
}
.pdf-info-label {
color: #666666;
width: 100px;
font-weight: 400;
letter-spacing: 0.1px;
}
.pdf-info-value {
color: #1a1a1a;
font-weight: 500;
letter-spacing: 0.1px;
}
/* 评分网格 */
.pdf-score-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
margin-top: 16px;
}
.pdf-score-item {
padding: 20px;
border-radius: 8px;
border: 1px solid #e8eaed;
position: relative;
background: #ffffff;
}
.pdf-score-high {
background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%);
border-color: #feb2b2;
}
.pdf-score-medium {
background: linear-gradient(135deg, #fffaf0 0%, #fff5e1 100%);
border-color: #fbd38d;
}
.pdf-score-low {
background: linear-gradient(135deg, #f0fff4 0%, #e6ffed 100%);
border-color: #9ae6b4;
}
.pdf-score-info {
background: linear-gradient(135deg, #ebf8ff 0%, #d6f0ff 100%);
border-color: #90cdf4;
}
.pdf-score-default {
background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
border-color: #e2e8f0;
}
.pdf-score-label {
font-size: 13px;
color: #666666;
margin-bottom: 10px;
font-weight: 400;
letter-spacing: 0.2px;
}
.pdf-score-value {
font-size: 28px;
font-weight: 700;
color: #1a1a1a;
margin-bottom: 8px;
letter-spacing: -0.5px;
}
.pdf-score-tag {
position: absolute;
top: 12px;
right: 12px;
padding: 4px 10px;
border-radius: 10px;
font-size: 11px;
font-weight: 500;
color: #ffffff;
line-height: 1.3;
}
/* 验证结果 */
.pdf-verification-result {
padding: 16px;
border-radius: 6px;
margin-top: 12px;
border: 1px solid;
}
.pdf-result-success {
background: linear-gradient(135deg, #f0fff4 0%, #e6ffed 100%);
border-color: #9ae6b4;
}
.pdf-result-danger {
background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%);
border-color: #feb2b2;
}
.pdf-result-default {
background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
border-color: #e2e8f0;
}
.pdf-result-label {
font-size: 14px;
color: #1a1a1a;
margin-bottom: 6px;
font-weight: 500;
letter-spacing: 0.1px;
}
.pdf-result-value {
font-size: 14px;
color: #1a1a1a;
margin-bottom: 4px;
font-weight: 500;
}
.pdf-result-detail {
font-size: 12px;
color: #666666;
margin-top: 6px;
letter-spacing: 0.1px;
}
/* 逾期统计 */
.pdf-overdue-stats {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
margin-top: 16px;
}
.pdf-stat-item {
text-align: center;
padding: 18px 12px;
background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
border-radius: 8px;
border: 1px solid #e8eaed;
}
.pdf-stat-value {
font-size: 26px;
font-weight: 700;
color: #1a1a1a;
margin-bottom: 6px;
letter-spacing: -0.5px;
}
.pdf-stat-label {
font-size: 12px;
color: #666666;
letter-spacing: 0.2px;
line-height: 1.4;
}
/* 时间分布 */
.pdf-time-distribution {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
margin-top: 16px;
}
.pdf-time-item {
text-align: center;
padding: 16px 12px;
border-radius: 8px;
border: 1px solid;
}
.pdf-time-success {
background: linear-gradient(135deg, #f0fff4 0%, #e6ffed 100%);
border-color: #9ae6b4;
}
.pdf-time-danger {
background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%);
border-color: #feb2b2;
}
.pdf-time-default {
background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
border-color: #e2e8f0;
}
.pdf-time-value {
font-size: 15px;
font-weight: 600;
margin-bottom: 6px;
color: #1a1a1a;
letter-spacing: 0.2px;
}
.pdf-time-label {
font-size: 11px;
color: #666666;
letter-spacing: 0.2px;
}
/* 借贷评估 */
.pdf-loan-section {
margin-top: 24px;
padding-top: 24px;
border-top: 1px solid #f0f0f0;
}
.pdf-loan-item {
margin-bottom: 20px;
padding: 20px;
background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
border-radius: 8px;
border: 1px solid #e8eaed;
}
.pdf-loan-type {
font-size: 15px;
font-weight: 600;
color: #1a1a1a;
margin-bottom: 12px;
padding-bottom: 10px;
border-bottom: 1px solid #e8eaed;
letter-spacing: 0.2px;
}
.pdf-loan-data {
margin-top: 12px;
}
.pdf-loan-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #f5f5f5;
}
.pdf-loan-row:last-child {
border-bottom: none;
}
.pdf-loan-label {
font-size: 13px;
color: #666666;
letter-spacing: 0.1px;
}
.pdf-loan-value {
font-size: 14px;
font-weight: 600;
color: #1a1a1a;
letter-spacing: 0.1px;
}
/* 案件列表 */
.pdf-case-list {
margin-top: 16px;
}
.pdf-case-item {
padding: 16px;
margin-bottom: 12px;
background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
border-radius: 8px;
border: 1px solid #e8eaed;
border-left: 4px solid #4a90e2;
}
.pdf-case-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 12px;
}
.pdf-case-number {
font-size: 14px;
font-weight: 600;
color: #1a1a1a;
}
.pdf-case-type {
font-size: 12px;
color: #666666;
padding: 4px 10px;
background: #e8eaed;
border-radius: 4px;
}
.pdf-case-info {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 8px;
font-size: 13px;
}
.pdf-case-info-item {
color: #666666;
}
.pdf-case-info-value {
color: #1a1a1a;
font-weight: 500;
margin-left: 8px;
}
@page {
size: A4;
margin: 0;
}
</style>
</head>
<body>
<div class="pdf-report">
<!-- 1. 风险评分与等级 -->
<section class="pdf-section">
<h2 class="pdf-section-title">风险评分与等级</h2>
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">审核建议</span>
<span class="pdf-value {{ check_suggest_class }}">{{ check_suggest or '建议拒绝' }}</span>
</div>
<div class="pdf-score-grid">
<div class="pdf-score-item {{ fraud_score_bg_class }}">
<div class="pdf-score-label">反欺诈评分</div>
<div class="pdf-score-value">{{ fraud_score_display }}</div>
<div class="pdf-score-tag {{ fraud_risk_tag_class }}">
{{ fraud_risk_level }}
</div>
</div>
<div class="pdf-score-item {{ credit_score_bg_class }}">
<div class="pdf-score-label">信用评分</div>
<div class="pdf-score-value">{{ credit_score_display }}</div>
<div class="pdf-score-tag {{ credit_risk_tag_class }}">
{{ credit_level }}
</div>
</div>
<div class="pdf-score-item {{ verify_rule_class }}">
<div class="pdf-score-label">验证规则</div>
<div class="pdf-score-value">{{ verify_rule or '未评估' }}</div>
<div class="pdf-score-tag {{ verify_rule_tag_class }}">
{{ verify_rule or '未评估' }}
</div>
</div>
<div class="pdf-score-item {{ fraud_rule_class }}">
<div class="pdf-score-label">反欺诈规则</div>
<div class="pdf-score-value">{{ fraud_rule or '未评估' }}</div>
<div class="pdf-score-tag {{ fraud_rule_tag_class }}">
{{ fraud_rule or '未评估' }}
</div>
</div>
</div>
</div>
</section>
<!-- 2. 基本信息 -->
<section class="pdf-section">
<h2 class="pdf-section-title">基本信息</h2>
<div class="pdf-card">
<table class="pdf-info-table">
<tr>
<td class="pdf-info-label">姓名:</td>
<td class="pdf-info-value">{{ base_info.name_masked }}</td>
<td class="pdf-info-label">年龄:</td>
<td class="pdf-info-value">{{ base_info.age }}岁</td>
</tr>
<tr>
<td class="pdf-info-label">性别:</td>
<td class="pdf-info-value">{{ base_info.sex }}</td>
<td class="pdf-info-label">手机号:</td>
<td class="pdf-info-value">{{ base_info.phone_masked }}</td>
</tr>
<tr>
<td class="pdf-info-label">身份证号:</td>
<td class="pdf-info-value">{{ base_info.id_card_masked }}</td>
<td class="pdf-info-label">户籍所在地:</td>
<td class="pdf-info-value">{{ base_info.location }}</td>
</tr>
<tr>
<td class="pdf-info-label">号码归属地:</td>
<td class="pdf-info-value" colspan="3">{{ base_info.phone_area }}</td>
</tr>
</table>
</div>
</section>
<!-- 3. 要素核验 -->
{% if element_verification %}
<section class="pdf-section">
<h2 class="pdf-section-title">要素核验</h2>
{% if element_verification.person_check_details %}
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">身份证二要素验证</span>
<span class="pdf-tag {{ element_verification.sfzeys_flag_tag_class }}">
{{ element_verification.sfzeys_flag_text }}
</span>
</div>
<div class="pdf-verification-result {{ element_verification.person_result_class }}">
<div class="pdf-result-label">{{ element_verification.person_check_details.ele or '身份证号、姓名' }}</div>
<div class="pdf-result-value">{{ element_verification.person_result_text }}</div>
</div>
</div>
{% endif %}
{% if element_verification.phone_check_details %}
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">手机三要素验证</span>
<span class="pdf-tag {{ element_verification.sjsys_flag_tag_class }}">
{{ element_verification.sjsys_flag_text }}
</span>
</div>
<div class="pdf-verification-result {{ element_verification.phone_result_class }}">
<div class="pdf-result-label">{{ element_verification.phone_check_details.ele or '身份证号、手机号、姓名' }}</div>
<div class="pdf-result-value">{{ element_verification.phone_result_text }}</div>
{% if element_verification.phone_check_details.phoneCompany %}
<div class="pdf-result-detail">
运营商: {{ element_verification.phone_check_details.phoneCompany }}
</div>
{% endif %}
</div>
</div>
{% endif %}
</section>
{% endif %}
<!-- 4. 运营商核验 -->
{% if operator_verification and operator_verification.has_data %}
<section class="pdf-section">
<h2 class="pdf-section-title">运营商核验</h2>
{% if operator_verification.online_risk_list %}
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">手机在网时长</span>
<span class="pdf-tag {{ operator_verification.online_risk_flag_tag_class }}">
{{ operator_verification.online_risk_flag_text }}
</span>
</div>
<div class="pdf-verification-result pdf-result-default">
<div class="pdf-result-label">运营商类型:{{ operator_verification.online_risk_list.lineType or '-' }}</div>
<div class="pdf-result-value">在网时长:{{ operator_verification.online_risk_list.onLineTimes or '-' }}</div>
</div>
</div>
{% endif %}
{% if operator_verification.phone_vail_risks %}
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">手机信息验证</span>
<span class="pdf-tag {{ operator_verification.phone_vail_risk_flag_tag_class }}">
{{ operator_verification.phone_vail_risk_flag_text }}
</span>
</div>
<div class="pdf-verification-result pdf-result-default">
<div class="pdf-result-label">运营商:{{ operator_verification.phone_vail_risks.phoneCompany or '-' }}</div>
<div class="pdf-result-value">手机状态:{{ operator_verification.phone_vail_risks.phoneStatus or '-' }}</div>
<div class="pdf-result-detail">在网时长:{{ operator_verification.phone_vail_risks.phoneTimes or '-' }}</div>
</div>
</div>
{% endif %}
{% if operator_verification.belong_risks %}
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">归属地核验</span>
<span class="pdf-tag {{ operator_verification.belong_risk_flag_tag_class }}">
{{ operator_verification.belong_risk_flag_text }}
</span>
</div>
<div class="pdf-verification-result pdf-result-default">
<div class="pdf-result-label">身份证归属地:{{ operator_verification.belong_risks.personProvence or '-' }}{{ operator_verification.belong_risks.personCity or '' }}</div>
<div class="pdf-result-value">手机归属地:{{ operator_verification.belong_risks.phoneProvence or '-' }}{{ operator_verification.belong_risks.phoneCity or '' }}</div>
</div>
</div>
{% endif %}
</section>
{% endif %}
<!-- 5. 公安重点人员核验 -->
{% if key_person_verification and key_person_verification.has_data %}
<section class="pdf-section">
<h2 class="pdf-section-title">公安重点人员核验</h2>
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">公安重点人员核验</span>
<span class="pdf-tag {{ key_person_verification.high_risk_flag_tag_class }}">
{{ key_person_verification.high_risk_flag_text }}
</span>
</div>
{% if key_person_verification.key_person_check_list %}
<div class="pdf-verification-result pdf-result-default" style="margin-top: 12px;">
<div class="pdf-result-label">前科标识:{{ '是' if key_person_verification.key_person_check_list.fontFlag else '否' }}</div>
<div class="pdf-result-label">经济类前科:{{ '是' if key_person_verification.key_person_check_list.jingJiFontFlag else '否' }}</div>
<div class="pdf-result-label">妨害社会管理秩序:{{ '是' if key_person_verification.key_person_check_list.fangAiFlag else '否' }}</div>
<div class="pdf-result-label">重点人员:{{ '是' if key_person_verification.key_person_check_list.zhongDianFlag else '否' }}</div>
<div class="pdf-result-label">涉交通案件:{{ '是' if key_person_verification.key_person_check_list.sheJiaoTongFlag else '否' }}</div>
</div>
{% endif %}
{% if key_person_verification.anti_fraud_info %}
<div class="pdf-verification-result pdf-result-default" style="margin-top: 12px;">
<div class="pdf-result-label">涉赌涉诈风险</div>
<div class="pdf-result-value">疑似跑分风险:{{ key_person_verification.anti_fraud_info.moneyLaundering or '无' }}</div>
<div class="pdf-result-value">疑似欺诈风险:{{ key_person_verification.anti_fraud_info.deceiver or '无' }}</div>
<div class="pdf-result-value">疑似赌博玩家风险:{{ key_person_verification.anti_fraud_info.gamblerPlayer or '无' }}</div>
<div class="pdf-result-value">疑似赌博庄家风险:{{ key_person_verification.anti_fraud_info.gamblerBanker or '无' }}</div>
</div>
{% endif %}
</div>
</section>
{% endif %}
<!-- 6. 逾期风险 -->
{% if overdue_risk and overdue_risk.has_data %}
<section class="pdf-section">
<h2 class="pdf-section-title">逾期风险</h2>
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">逾期风险概览</span>
<span class="pdf-tag {{ overdue_risk.status_tag_class }}">
{{ overdue_risk.status_text }}
</span>
</div>
<div class="pdf-overdue-stats">
<div class="pdf-stat-item">
<div class="pdf-stat-value">{{ overdue_risk.current_overdue_institution_count }}</div>
<div class="pdf-stat-label">当前逾期机构数</div>
</div>
<div class="pdf-stat-item">
<div class="pdf-stat-value">{{ overdue_risk.current_overdue_amount }}</div>
<div class="pdf-stat-label">当前逾期金额</div>
</div>
<div class="pdf-stat-item">
<div class="pdf-stat-value">{{ overdue_risk.settled_institution_count }}</div>
<div class="pdf-stat-label">已结清机构数</div>
</div>
<div class="pdf-stat-item">
<div class="pdf-stat-value">{{ overdue_risk.total_loan_institutions }}</div>
<div class="pdf-stat-label">贷款总机构</div>
</div>
</div>
</div>
<div class="pdf-card">
<h3 class="pdf-subtitle">逾期时间分布</h3>
<div class="pdf-time-distribution">
<div class="pdf-time-item {{ overdue_risk.time_1day_class }}">
<div class="pdf-time-value">{{ overdue_risk.time_1day_text }}</div>
<div class="pdf-time-label">近1天</div>
</div>
<div class="pdf-time-item {{ overdue_risk.time_7days_class }}">
<div class="pdf-time-value">{{ overdue_risk.time_7days_text }}</div>
<div class="pdf-time-label">近7天</div>
</div>
<div class="pdf-time-item {{ overdue_risk.time_14days_class }}">
<div class="pdf-time-value">{{ overdue_risk.time_14days_text }}</div>
<div class="pdf-time-label">近14天</div>
</div>
<div class="pdf-time-item {{ overdue_risk.time_30days_class }}">
<div class="pdf-time-value">{{ overdue_risk.time_30days_text }}</div>
<div class="pdf-time-label">近30天</div>
</div>
</div>
</div>
</section>
{% endif %}
<!-- 7. 法院曝光台(使用司法涉诉数据) -->
{% if court_exposure %}
<section class="pdf-section">
<h2 class="pdf-section-title">法院曝光台</h2>
{% if court_exposure.execution_cases %}
<div class="pdf-card">
<h3 class="pdf-subtitle">执行案件</h3>
<div class="pdf-case-list">
{% for case in court_exposure.execution_cases[:5] %}
<div class="pdf-case-item">
<div class="pdf-case-header">
<span class="pdf-case-number">{{ case.c_ah or case.caseNumber or '-' }}</span>
<span class="pdf-case-type">执行案件</span>
</div>
<div class="pdf-case-info">
<div class="pdf-case-info-item">法院:<span class="pdf-case-info-value">{{ case.n_jbfy or case.executiveCourt or '-' }}</span></div>
<div class="pdf-case-info-item">立案时间:<span class="pdf-case-info-value">{{ case.d_larq or case.filingTime or '-' }}</span></div>
<div class="pdf-case-info-item">结案时间:<span class="pdf-case-info-value">{{ case.d_jarq or case.disposalTime or '-' }}</span></div>
<div class="pdf-case-info-item">案件状态:<span class="pdf-case-info-value">{{ case.n_ajjzjd or case.caseStatus or '-' }}</span></div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
{% if court_exposure.disin_cases %}
<div class="pdf-card">
<h3 class="pdf-subtitle">失信案件</h3>
<div class="pdf-case-list">
{% for case in court_exposure.disin_cases[:5] %}
<div class="pdf-case-item">
<div class="pdf-case-header">
<span class="pdf-case-number">{{ case.caseNumber or '-' }}</span>
<span class="pdf-case-type">失信</span>
</div>
<div class="pdf-case-info">
<div class="pdf-case-info-item">执行法院:<span class="pdf-case-info-value">{{ case.executiveCourt or '-' }}</span></div>
<div class="pdf-case-info-item">立案时间:<span class="pdf-case-info-value">{{ case.fileDate or '-' }}</span></div>
<div class="pdf-case-info-item">发布日期:<span class="pdf-case-info-value">{{ case.issueDate or '-' }}</span></div>
<div class="pdf-case-info-item">履行情况:<span class="pdf-case-info-value">{{ case.fulfillStatus or '-' }}</span></div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
{% if court_exposure.limit_cases %}
<div class="pdf-card">
<h3 class="pdf-subtitle">限制消费</h3>
<div class="pdf-case-list">
{% for case in court_exposure.limit_cases[:5] %}
<div class="pdf-case-item">
<div class="pdf-case-header">
<span class="pdf-case-number">{{ case.caseNumber or '-' }}</span>
<span class="pdf-case-type">限高</span>
</div>
<div class="pdf-case-info">
<div class="pdf-case-info-item">执行法院:<span class="pdf-case-info-value">{{ case.executiveCourt or '-' }}</span></div>
<div class="pdf-case-info-item">立案时间:<span class="pdf-case-info-value">{{ case.fileDate or '-' }}</span></div>
<div class="pdf-case-info-item">发布日期:<span class="pdf-case-info-value">{{ case.issueDate or '-' }}</span></div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</section>
{% endif %}
<!-- 8. 借贷评估 -->
{% if loan_evaluation and loan_evaluation.has_data %}
<section class="pdf-section">
<h2 class="pdf-section-title">借贷评估</h2>
<div class="pdf-card">
<div class="pdf-card-header">
<span class="pdf-label">借贷评估概览</span>
<span class="pdf-tag {{ loan_evaluation.risk_flag_tag_class }}">
{{ loan_evaluation.risk_flag_text }}
</span>
</div>
{% if loan_evaluation.organ_loan_performances %}
<div class="pdf-loan-section">
<h4 class="pdf-mini-title">机构借贷表现</h4>
{% for item in loan_evaluation.organ_loan_performances %}
<div class="pdf-loan-item">
<div class="pdf-loan-type">{{ item.type_name }}</div>
<div class="pdf-loan-data">
<div class="pdf-loan-row">
<span class="pdf-loan-label">近7天</span>
<span class="pdf-loan-value">{{ item.last7Day or '0/0' }}</span>
</div>
<div class="pdf-loan-row">
<span class="pdf-loan-label">近15天</span>
<span class="pdf-loan-value">{{ item.last15Day or '0/0' }}</span>
</div>
<div class="pdf-loan-row">
<span class="pdf-loan-label">近1个月</span>
<span class="pdf-loan-value">{{ item.last1Month or '0/0' }}</span>
</div>
</div>
</div>
{% endfor %}
</div>
{% endif %}
</div>
</section>
{% endif %}
<!-- 9. 司法涉诉 -->
{% if judicial_data and judicial_data.has_data %}
<section class="pdf-section">
<h2 class="pdf-section-title">司法涉诉</h2>
{% if judicial_data.count %}
<div class="pdf-card">
<h3 class="pdf-subtitle">案件统计</h3>
<div class="pdf-overdue-stats">
<div class="pdf-stat-item">
<div class="pdf-stat-value">{{ judicial_data.count.count_total or 0 }}</div>
<div class="pdf-stat-label">案件总数</div>
</div>
<div class="pdf-stat-item">
<div class="pdf-stat-value">{{ judicial_data.count.count_jie_total or 0 }}</div>
<div class="pdf-stat-label">已结案件</div>
</div>
<div class="pdf-stat-item">
<div class="pdf-stat-value">{{ judicial_data.count.count_wei_total or 0 }}</div>
<div class="pdf-stat-label">未结案件</div>
</div>
<div class="pdf-stat-item">
<div class="pdf-stat-value">{{ judicial_data.count.count_beigao or 0 }}</div>
<div class="pdf-stat-label">被告总数</div>
</div>
</div>
</div>
{% endif %}
{% if judicial_data.civil and judicial_data.civil.cases %}
<div class="pdf-card">
<h3 class="pdf-subtitle">民事案件</h3>
<div class="pdf-case-list">
{% for case in judicial_data.civil.cases[:5] %}
<div class="pdf-case-item">
<div class="pdf-case-header">
<span class="pdf-case-number">{{ case.c_ah or '-' }}</span>
<span class="pdf-case-type">民事</span>
</div>
<div class="pdf-case-info">
<div class="pdf-case-info-item">法院:<span class="pdf-case-info-value">{{ case.n_jbfy or '-' }}</span></div>
<div class="pdf-case-info-item">立案时间:<span class="pdf-case-info-value">{{ case.d_larq or '-' }}</span></div>
<div class="pdf-case-info-item">结案时间:<span class="pdf-case-info-value">{{ case.d_jarq or '-' }}</span></div>
<div class="pdf-case-info-item">案由:<span class="pdf-case-info-value">{{ case.n_laay or '-' }}</span></div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
{% if judicial_data.criminal and judicial_data.criminal.cases %}
<div class="pdf-card">
<h3 class="pdf-subtitle">刑事案件</h3>
<div class="pdf-case-list">
{% for case in judicial_data.criminal.cases[:5] %}
<div class="pdf-case-item">
<div class="pdf-case-header">
<span class="pdf-case-number">{{ case.c_ah or '-' }}</span>
<span class="pdf-case-type">刑事</span>
</div>
<div class="pdf-case-info">
<div class="pdf-case-info-item">法院:<span class="pdf-case-info-value">{{ case.n_jbfy or '-' }}</span></div>
<div class="pdf-case-info-item">立案时间:<span class="pdf-case-info-value">{{ case.d_larq or '-' }}</span></div>
<div class="pdf-case-info-item">结案时间:<span class="pdf-case-info-value">{{ case.d_jarq or '-' }}</span></div>
<div class="pdf-case-info-item">定罪罪名:<span class="pdf-case-info-value">{{ case.n_dzzm or '-' }}</span></div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
{% if judicial_data.implement and judicial_data.implement.cases %}
<div class="pdf-card">
<h3 class="pdf-subtitle">执行案件</h3>
<div class="pdf-case-list">
{% for case in judicial_data.implement.cases[:5] %}
<div class="pdf-case-item">
<div class="pdf-case-header">
<span class="pdf-case-number">{{ case.c_ah or '-' }}</span>
<span class="pdf-case-type">执行</span>
</div>
<div class="pdf-case-info">
<div class="pdf-case-info-item">法院:<span class="pdf-case-info-value">{{ case.n_jbfy or '-' }}</span></div>
<div class="pdf-case-info-item">立案时间:<span class="pdf-case-info-value">{{ case.d_larq or '-' }}</span></div>
<div class="pdf-case-info-item">结案时间:<span class="pdf-case-info-value">{{ case.d_jarq or '-' }}</span></div>
<div class="pdf-case-info-item">申请执行标的金额:<span class="pdf-case-info-value">{{ case.n_sqzxbdje or '-' }}</span></div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</section>
{% endif %}
</div>
</body>
</html>

542
tt.json Normal file
View File

@@ -0,0 +1,542 @@
{
"responses": {
"DWBG8B4D": {
"api_code": "DWBG8B4D",
"data": {
"baseInfo": {
"age": 25,
"channel": "中国移动",
"idCard": "4521**200008***23X",
"location": "广西壮族自治区南宁地区横县",
"name": "张*宏",
"phone": "182****1590",
"phoneArea": "广西壮族自治区-南宁",
"sex": "男",
"status": 1
},
"checkSuggest": "建议审核",
"creditScore": 599,
"elementVerificationDetail": {
"antiFraudInfo": {
"gamblerPlayer": "A",
"moneyLaundering": "A"
},
"belongRiskFlag": 2,
"belongRisks": {
"num": "1",
"personCity": "南宁地区",
"personProvence": "广西壮族自治区",
"phoneCardType": "移动",
"phoneCity": "南宁",
"phoneProvence": "广西壮族自治区"
},
"highRiskFlag": 2,
"keyPersonCheckList": {
"fangAiFlag": 0,
"fontFlag": 0,
"jingJiFontFlag": 0,
"num": "1",
"sheJiaoTongFlag": 0,
"zhongDianFlag": 0
},
"onlineRiskFlag": 2,
"onlineRiskList": {
"lineType": "移动",
"num": "1",
"onLineTimes": "24,+(个月)"
},
"personCheckDetails": {
"ele": "身份证号、姓名",
"num": "1",
"result": "一致"
},
"phoneCheckDetails": {
"ele": "身份证号、手机号、姓名",
"num": "1",
"phoneCompany": "中国移动",
"result": "一致"
},
"phoneVailRiskFlag": 2,
"phoneVailRisks": {
"num": "1",
"phoneCompany": "移动",
"phoneStatus": "实号",
"phoneTimes": "24(单位:月)"
},
"sfzeysFlag": 2,
"sjsysFlag": 2
},
"fraudRule": "低风险",
"fraudScore": -1,
"leasingRiskAssessment": {
"riskFlag": 2,
"threeCInstitutionApplicationCountLast12Months": "6/6",
"threeCInstitutionApplicationCountLast12MonthsNight": "0/0",
"threeCInstitutionApplicationCountLast12MonthsWeekend": "1/0",
"threeCInstitutionApplicationCountLast14Days": "0/0",
"threeCInstitutionApplicationCountLast14DaysNight": "0/0",
"threeCInstitutionApplicationCountLast14DaysWeekend": "0/0",
"threeCInstitutionApplicationCountLast3Days": "0/0",
"threeCInstitutionApplicationCountLast3DaysNight": "0/0",
"threeCInstitutionApplicationCountLast3DaysWeekend": "0/0",
"threeCInstitutionApplicationCountLast3Months": "4/4",
"threeCInstitutionApplicationCountLast3MonthsNight": "0/0",
"threeCInstitutionApplicationCountLast3MonthsWeekend": "1/0",
"threeCInstitutionApplicationCountLast6Months": "6/6",
"threeCInstitutionApplicationCountLast6MonthsNight": "0/0",
"threeCInstitutionApplicationCountLast6MonthsWeekend": "1/0",
"threeCInstitutionApplicationCountLast7Days": "0/0",
"threeCInstitutionApplicationCountLast7DaysNight": "0/0",
"threeCInstitutionApplicationCountLast7DaysWeekend": "0/0",
"threeCInstitutionApplicationCountLastMonth": "1/1",
"threeCInstitutionApplicationCountLastMonthNight": "0/0",
"threeCInstitutionApplicationCountLastMonthWeekend": "0/0",
"threeCPlatformApplicationCountLast12Months": "3/3",
"threeCPlatformApplicationCountLast12MonthsNight": "0/0",
"threeCPlatformApplicationCountLast12MonthsWeekend": "1/0",
"threeCPlatformApplicationCountLast14Days": "0/0",
"threeCPlatformApplicationCountLast14DaysNight": "0/0",
"threeCPlatformApplicationCountLast14DaysWeekend": "0/0",
"threeCPlatformApplicationCountLast3Days": "0/0",
"threeCPlatformApplicationCountLast3DaysNight": "0/0",
"threeCPlatformApplicationCountLast3DaysWeekend": "0/0",
"threeCPlatformApplicationCountLast3Months": "3/3",
"threeCPlatformApplicationCountLast3MonthsNight": "0/0",
"threeCPlatformApplicationCountLast3MonthsWeekend": "1/0",
"threeCPlatformApplicationCountLast6Months": "3/3",
"threeCPlatformApplicationCountLast6MonthsNight": "0/0",
"threeCPlatformApplicationCountLast6MonthsWeekend": "1/0",
"threeCPlatformApplicationCountLast7Days": "0/0",
"threeCPlatformApplicationCountLast7DaysNight": "0/0",
"threeCPlatformApplicationCountLast7DaysWeekend": "0/0",
"threeCPlatformApplicationCountLastMonth": "1/1",
"threeCPlatformApplicationCountLastMonthNight": "0/0",
"threeCPlatformApplicationCountLastMonthWeekend": "0/0"
},
"loanEvaluationVerificationDetail": {
"businessLoanPerformances": [
{
"last12Month": "2/2",
"last12MonthCount": "8/8",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "2/2",
"last6MonthCount": "3/3",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "信用卡(类信用卡)"
},
{
"last12Month": "2/2",
"last12MonthCount": "2/2",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "线上小额现金贷"
},
{
"last12Month": "0/0",
"last12MonthCount": "0/0",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "汽车金融"
},
{
"last12Month": "2/2",
"last12MonthCount": "4/5",
"last15Day": "1/1",
"last15DayCount": "1/1",
"last1Month": "1/1",
"last1MonthCount": "1/2",
"last3Month": "1/1",
"last3MonthCount": "3/4",
"last6Month": "2/2",
"last6MonthCount": "4/5",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "线上消费分期"
},
{
"last12Month": "1/1",
"last12MonthCount": "4/4",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "线下消费分期"
},
{
"last12Month": "6/6",
"last12MonthCount": "10/10",
"last15Day": "1/1",
"last15DayCount": "1/1",
"last1Month": "1/1",
"last1MonthCount": "1/1",
"last3Month": "1/1",
"last3MonthCount": "2/2",
"last6Month": "2/2",
"last6MonthCount": "3/3",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "其他"
}
],
"customerLoanPerformances": [
{
"last12Month": "2/2",
"last12MonthCount": "2/2",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "1/1",
"last6MonthCount": "1/1",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "银行汇总"
},
{
"last12Month": "2/2",
"last12MonthCount": "2/2",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "1/1",
"last6MonthCount": "1/1",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "传统银行"
},
{
"last12Month": "0/0",
"last12MonthCount": "0/0",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "网络零售银行"
},
{
"last12Month": "8/8",
"last12MonthCount": "19/19",
"last15Day": "1/1",
"last15DayCount": "1/1",
"last1Month": "1/1",
"last1MonthCount": "1/1",
"last3Month": "1/1",
"last3MonthCount": "2/2",
"last6Month": "4/4",
"last6MonthCount": "6/6",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "非银汇总"
},
{
"last12Month": "1/1",
"last12MonthCount": "1/1",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "持牌网络小贷"
},
{
"last12Month": "4/4",
"last12MonthCount": "8/8",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "1/1",
"last6MonthCount": "1/1",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "持牌消费金融"
},
{
"last12Month": "0/0",
"last12MonthCount": "0/0",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "持牌融资租赁机构"
},
{
"last12Month": "0/0",
"last12MonthCount": "0/0",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "持牌汽车金融"
},
{
"last12Month": "4/4",
"last12MonthCount": "6/7",
"last15Day": "1/1",
"last15DayCount": "1/1",
"last1Month": "1/1",
"last1MonthCount": "1/2",
"last3Month": "1/1",
"last3MonthCount": "3/4",
"last6Month": "2/2",
"last6MonthCount": "4/5",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "其他"
}
],
"organLoanPerformances": [
{
"applyCount": "银行",
"last12Month": "0/0",
"last15Day": "0/0",
"last1Month": "0/0",
"last3Month": "0/0",
"last6Month": "0/0",
"last7Day": "0/0"
},
{
"applyCount": "非银",
"last12Month": "0/0",
"last15Day": "0/0",
"last1Month": "0/0",
"last3Month": "0/0",
"last6Month": "0/0",
"last7Day": "0/0"
}
],
"riskFlag": 2,
"timeLoanPerformances": [
{
"last12Month": "1/1",
"last12MonthCount": "1/1",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "夜间-银行"
},
{
"last12Month": "4/4",
"last12MonthCount": "4/4",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "夜间-非银"
},
{
"last12Month": "0/0",
"last12MonthCount": "0/0",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "周末-银行"
},
{
"last12Month": "5/5",
"last12MonthCount": "7/7",
"last15Day": "0/0",
"last15DayCount": "0/0",
"last1Month": "0/0",
"last1MonthCount": "0/0",
"last3Month": "0/0",
"last3MonthCount": "0/0",
"last6Month": "0/0",
"last6MonthCount": "0/0",
"last7Day": "0/0",
"last7DayCount": "0/0",
"type": "周末-非银"
}
]
},
"overdueRiskProduct": {
"currentOverdueAmount": "-",
"currentOverdueInstitutionCount": "-",
"daysSinceLastSuccessfulRepayment": "-",
"dkzhktjFlag": 2,
"hasUnsettledOverdue": "-",
"lyjlhyFlag": 0,
"overdueLast14Days": "-",
"overdueLast1Day": "-",
"overdueLast30Days": "-",
"overdueLast7Days": "-",
"repaymentFailureAmountLast14Days": "-",
"repaymentFailureAmountLast3Months": "-",
"repaymentFailureAmountLast6Months": "-",
"repaymentFailureAmountLast7Days": "-",
"repaymentFailureAmountLastMonth": "-",
"repaymentFailureCountLast14Days": "-",
"repaymentFailureCountLast3Months": "-",
"repaymentFailureCountLast6Months": "-",
"repaymentFailureCountLast7Days": "-",
"repaymentFailureCountLastMonth": "-",
"repaymentSuccessAmountLast14Days": "-",
"repaymentSuccessAmountLast3Months": "-",
"repaymentSuccessAmountLast6Months": "-",
"repaymentSuccessAmountLast7Days": "-",
"repaymentSuccessAmountLastMonth": "-",
"repaymentSuccessCountLast14Days": "-",
"repaymentSuccessCountLast3Months": "-",
"repaymentSuccessCountLast6Months": "-",
"repaymentSuccessCountLast7Days": "-",
"repaymentSuccessCountLastMonth": "-",
"settledInstitutionCount": "-",
"specialListVerification": [],
"totalLoanInstitutions": "-",
"totalLoanRepaymentAmount": "-",
"tsmdyzFlag": 0
},
"riskSupervision": {
"details": "无",
"leastApplicationTime": "2025-09-11",
"rentalRiskListIdCardRelationsPhones": 0,
"rentalRiskListPhoneRelationsIdCards": 0
},
"riskWarning": {
"frequentApplicationRecent": 0,
"frequentBankApplications": 0,
"frequentNonBankApplications": 0,
"frequentRentalApplications": 0,
"hasCriminalRecord": 0,
"highDebtPressure": 0,
"highFraudGangLevel": 0,
"hitAdministrativeCase": 0,
"hitBankruptcyAndLiquidation": 0,
"hitCivilCase": 0,
"hitCompensationCase": 0,
"hitCriminalRisk": 0,
"hitCurrentOverdue": 0,
"hitDirectlyUnderCase": 0,
"hitExecutionCase": 0,
"hitHighRiskBankLastTwoYears": 0,
"hitHighRiskNonBankLastTwoYears": 0,
"hitPreservationReview": 0,
"idCardPhoneProvinceMismatch": 0,
"idCardTwoElementMismatch": 0,
"isAntiFraudInfo": 1,
"isDisrupSocial": 0,
"isEconomyFront": 0,
"isKeyPerson": 0,
"isTrafficRelated": 0,
"level": "0",
"moreFrequentBankApplications": 0,
"moreFrequentNonBankApplications": 0,
"noPhoneDuration": 0,
"phoneThreeElementMismatch": 0,
"shortPhoneDuration": 0,
"shortPhoneDurationSlight": 0,
"totalRiskCounts": 1,
"veryFrequentRentalApplications": 0
},
"standLiveInfo": {
"finalAuthResult": "0",
"inTime": "24",
"verification": "0"
},
"verifyRule": "低风险"
},
"error": null,
"success": true
},
"FLXG0V4B": {
"api_code": "FLXG0V4B",
"data": {
"entout": {
"msg": "没有找到"
},
"sxbzxr": {
"msg": "没有找到"
},
"xgbzxr": {
"msg": "没有找到"
}
},
"error": null,
"success": true
},
"QYGLB4C0": {
"api_code": "QYGLB4C0",
"data": null,
"error": "查询为空\n查询为空\n库中无此记录",
"success": false
}
}
}

View File

@@ -165,7 +165,7 @@
| estimatedJudg ementAmount | string | False | 判决⾦额估计 | |
| province | string | False | 省份 | |
| sex | string | False | 性别 | |
| concreteDetail s | string | False | 失信被执⾏⼈⾏为具体情形 | |
| concreteDetails | string | False | 失信被执⾏⼈⾏为具体情形 | |
| obligation | string | False | ⽣效法律⽂书确定的义务 | |
| executiveCourt | string | False | 执⾏法院 | |
| enforcementB asisOrganizati on | string | False | 出执⾏依据单位 | |

View File

@@ -0,0 +1,31 @@
## 返回字段说明
## 个人收入指数字段说明
| 字段名 | 数据类型 | 描述 |
|--------|----------|------|
| personincome_index_2.0 | STRING | 个人收入指数评分 |
### 评分分档说明
| 分值 | 收入区间(元) | 消费能力等级 |
|------|---------------|------------|
| 100 | (1000, 2000] | 第1档 |
| 200 | (2000, 4000] | 第2档 |
| 300 | (4000, 6000] | 第3档 |
| 400 | (6000, 8000] | 第4档 |
| 500 | (8000, 10000] | 第5档 |
| 600 | (10000, 12000] | 第6档 |
| 700 | (12000, 15000] | 第7档 |
| 800 | (15000, 20000] | 第8档 |
| 900 | (20000, 25000] | 第9档 |
| 1000 | (25000, +∞) | 第10档 |
### 特殊值说明
- **-1**: 表示未命中(无法获取收入信息)
- **评分范围**: 100-1000分共10个等级
- **等级意义**: 等级越高,对应的消费能力越强
### 使用说明
- 该字段为字符串类型,但实际包含数值信息
- 收入区间为左开右闭区间1000 < 收入 2000
- 最高档1000分对应月收入25000元以上

975
代理.md Normal file
View File

@@ -0,0 +1,975 @@
# 代理系统重构方案
## 文档概述
本文档定义了代理系统的核心规则和实现逻辑,包括:
- **代理等级体系**:普通、黄金、钻石三个等级
- **团队结构规则**:上下级关系约束、升级规则、团队统计
- **业务推广规则**:价格体系、收益分配规则
- **升级机制**:升级方式、费用规则、返佣规则
- **核心算法**:团队统计、收益分配、升级流程等业务逻辑伪代码
## 一、代理等级体系
### 1.1 等级定义
- **普通代理**Level 1初始等级
- **黄金代理**Level 2中级等级
- **钻石代理**Level 3最高等级团队首领
### 1.2 等级数值映射
```javascript
代理等级 = {
普通: 1,
黄金: 2,
钻石: 3
}
```
## 二、团队结构规则
### 2.1 团队定义
- **团队**:由一个钻石代理作为首领,及其所有下级代理组成的层级关系链
- **团队首领**:必须是钻石代理,每个团队有且仅有一个首领
- **团队关系**:从普通到钻石的完整链路属于同一个团队
### 2.2 上下级关系规则
#### 2.2.1 直接上下级约束
- **核心原则**
1. **下级不能比上级等级高**:下级等级必须 ≤ 上级等级
2. **同级不能作为上下级**(除了普通代理):黄金和钻石不能作为同级上下级
- **允许关系**
- 普通 → 普通 ✓(同级普通允许)
- 黄金 → 普通 ✓(上级等级高于下级,允许)
- 钻石 → 普通 ✓(上级等级高于下级,允许)
- 钻石 → 黄金 ✓(上级等级高于下级,允许)
- **禁止关系**
- 普通 → 黄金 ✗(下级等级高于上级,禁止)
- 普通 → 钻石 ✗(下级等级高于上级,禁止)
- 黄金 → 黄金 ✗(同级不能作为上下级)
- 钻石 → 钻石 ✗(同级不能作为上下级)
- 黄金 → 钻石 ✗(下级等级高于上级,禁止)
#### 2.2.2 升级规则
**核心规则**:代理升级后,其所有下级(直接+间接)会跟随该代理。
1. **普通 → 黄金**
- **升级后必须脱离直接上级关系**(因为黄金等级高于普通,或与黄金同级,或钻石→黄金禁止)
- 保留团队关系(通过团队首领钻石代理)
- 仍属于原团队
- **下级跟随**:所有下级(直接+间接)继续跟随该代理
2. **黄金 → 钻石**
- 独立成为新团队
- 成为新团队的首领
- **下级跟随**:所有下级(直接+间接)跟随该代理到新团队
3. **普通 → 钻石**
- 独立成为新团队
- 成为新团队的首领
- **下级跟随**:所有下级(直接+间接)跟随该代理到新团队
#### 2.2.3 升级方法和费用规则
**升级方式**
1. **钻石代理升级下级**
- 钻石代理可以将下级的普通代理升级为黄金代理
- 升级方式:钻石代理操作,无需被升级代理付费
2. **代理自主付费升级**
- 普通代理可以付费升级为黄金代理
- 普通代理可以付费升级为钻石代理
- 黄金代理可以付费升级为钻石代理
**升级费用和返佣规则**
| 升级类型 | 升级费用 | 直接上级返佣 | 说明 |
| ------------------------- | -------- | ------------ | -------------------------------- |
| 普通→黄金 | 199元 | 139元 | 付费后立即返佣给直接上级 |
| 普通→钻石 | 980元 | 680元 | 付费后立即返佣给直接上级 |
| 黄金→钻石 | 980元 | 680元 | 付费后立即返佣给直接上级 |
| 钻石升级下级(普通→黄金) | 免费 | 无 | 钻石代理操作,被升级代理无需付费 |
**重要规则**
-**返佣给原直接上级**:即使升级后脱离直接上下级关系,返佣仍然给原直接上级
-**返佣时机**:付费成功后立即返佣,然后执行升级操作
-**升级流程**:付费 → 返佣给直接上级 → 升级 → 根据情况脱离关系
**升级流程示例**
**场景1普通代理付费升级为黄金**
```
升级前钻石D → 普通A → 普通B
流程:
1. 普通B支付199元
2. 普通A获得139元返佣原直接上级
3. 普通B升级为黄金
4. 黄金B脱离普通A的直接关系因为黄金等级高于普通下级不能比上级等级高
5. 黄金B仍属于钻石D的团队
结果钻石D → 普通A获得139元返佣
→ 黄金B支付199元脱离A的直接关系
```
**场景1-2普通代理付费升级为黄金直接上级是黄金/钻石)**
```
升级前钻石D → 黄金A → 普通B
流程:
1. 普通B支付199元
2. 黄金A获得139元返佣原直接上级
3. 普通B升级为黄金
4. 黄金B脱离黄金A的直接关系因为黄金 → 黄金是禁止的,同级不能作为上下级)
5. 黄金B仍属于钻石D的团队
结果钻石D → 黄金A获得139元返佣
→ 黄金B支付199元脱离A的直接关系
```
**场景2普通代理付费升级为钻石**
```
升级前钻石D → 普通A → 普通B
流程:
1. 普通B支付980元
2. 普通A获得680元返佣原直接上级
3. 普通B升级为钻石
4. 钻石B独立成新团队脱离普通A的直接关系
5. 钻石B的下级跟随到新团队
结果钻石D → 普通A获得680元返佣
钻石B新团队支付980元
```
**场景3钻石代理升级下级**
```
升级前钻石D → 普通A → 普通B
流程:
1. 钻石D操作将普通B升级为黄金
2. 无需付费
3. 普通B升级为黄金
4. 黄金B脱离普通A的直接关系因为黄金等级高于普通下级不能比上级等级高
5. 黄金B仍属于钻石D的团队
结果钻石D → 普通A
→ 黄金B免费升级脱离A的直接关系
```
**场景3-2钻石代理升级下级直接上级是黄金/钻石)**
```
升级前钻石D → 黄金A → 普通B
流程:
1. 钻石D操作将普通B升级为黄金
2. 无需付费
3. 普通B升级为黄金
4. 黄金B脱离黄金A的直接关系因为黄金 → 黄金是禁止的,同级不能作为上下级)
5. 黄金B仍属于钻石D的团队
结果钻石D → 黄金A
→ 黄金B免费升级脱离A的直接关系
```
**返佣规则总结**
- 返佣金额 = 升级费用 × 返佣比例
- 普通→黄金139元 = 199元 × 69.8%
- 升级为钻石680元 = 980元 × 69.4%
- 返佣对象:原直接上级(即使升级后脱离关系)
- 返佣时机:付费成功后立即返佣,然后执行升级
### 2.3 团队结构树状图示例
以下是从钻石代理作为团队首领的各种层级组合情况:
#### 2.3.1 基础层级结构
**场景1钻石 → 普通 → 普通 → 普通**
```
钻石D (团队首领)
└── 普通A
└── 普通B
└── 普通C
```
**场景2钻石 → 黄金 → 普通**
```
钻石D (团队首领)
└── 黄金A
└── 普通B
```
**场景3钻石 → 普通 → 钻石(新团队)**
```
钻石D (团队1首领)
└── 普通A
└── 钻石B (团队2首领独立新团队)
```
**场景4钻石 → 黄金 → 普通**
```
钻石D (团队首领)
└── 黄金A
└── 普通B
```
**场景5钻石 → 黄金 → 钻石(新团队)**
```
钻石D (团队1首领)
└── 黄金A
└── 钻石B (团队2首领独立新团队)
```
#### 2.3.2 复杂多分支结构
**场景6钻石下多个分支**
```
钻石D (团队首领)
├── 普通A
│ ├── 普通B
│ │ └── 普通C
│ └── 普通D
├── 普通G
│ └── 普通H
├── 黄金E
│ └── 普通F
└── 黄金I
└── 普通J
```
**场景7多层级混合结构**
```
钻石D
├── 黄金A
│ ├── 普通A
│ │ ├── 普通E
│ │ └── 普通F
│ │ └── 普通G
│ └── 普通H
│ └── 普通I
└── 黄金B
├── 普通C
│ └── 普通J
└── 普通D
```
**说明**:此结构符合所有关系约束规则
#### 2.3.3 升级后的结构变化
**场景8普通升级为黄金脱离直接上级**
```
升级前:
钻石D (团队首领)
└── 普通A
└── 普通B
└── 普通C
升级后B升级为黄金黄金等级高于普通必须脱离A的直接关系
钻石D (团队首领)
├── 普通A
│ └── (B已脱离直接关系)
└── 黄金B (仍属于D的团队但脱离A的直接关系)
└── 普通C
```
**场景8-2普通升级为黄金直接上级是黄金/钻石,脱离关系)**
```
升级前:
钻石D (团队首领)
└── 黄金A
└── 普通B
└── 普通C
升级后B升级为黄金黄金 → 黄金是禁止关系,需脱离):
钻石D (团队首领)
├── 黄金A
│ └── (B已脱离直接关系)
└── 黄金B (仍属于D的团队但脱离A的直接关系)
└── 普通C
```
**场景9普通升级为钻石独立新团队**
```
升级前:
钻石D (团队1首领)
└── 普通A
└── 普通B
└── 普通C
升级后B升级为钻石
钻石D (团队1首领)
└── 普通A
└── (B已独立成新团队)
钻石B (团队2首领新团队)
└── 普通C (跟随B到新团队)
```
**场景10黄金升级为钻石独立新团队**
```
升级前:
钻石D (团队1首领)
└── 黄金A
├── 普通B
└── 普通C
升级后A升级为钻石
钻石D (团队1首领)
└── (A已独立成新团队)
钻石A (团队2首领新团队)
├── 普通B (跟随A到新团队)
└── 普通C (跟随A到新团队)
```
#### 2.3.4 特殊边界情况
**场景11普通直接升级为钻石跳过黄金**
```
升级前:
钻石D (团队1首领)
└── 普通A
└── 普通B
└── 普通C
升级后B直接升级为钻石
钻石D (团队1首领)
└── 普通A
└── (B已独立成新团队)
钻石B (团队2首领新团队)
└── 普通C (跟随B到新团队)
```
**场景12多级普通代理链**
```
钻石D (团队首领)
└── 普通A
└── 普通B
└── 普通C
└── 普通D
└── 普通E
```
**场景13黄金代理下多级普通代理**
```
钻石D (团队首领)
└── 黄金A
└── 普通B
└── 普通C
└── 普通D
```
#### 2.3.5 图例说明
- **钻石D**团队首领等级3
- **黄金A**中级代理等级2
- **普通A**初始代理等级1
- **→**:直接上下级关系
- **└──**:树状图分支线
- **├──**:树状图分支线(有后续分支)
- **团队1/团队2**:不同团队的标识
#### 2.3.6 关键规则总结
1. **团队首领**:必须是钻石代理
2. **直接关系约束**:黄金/钻石不能直接管理黄金/钻石
3. **升级影响**
- 普通→黄金:脱离直接上级,保留团队关系
- 黄金→钻石:独立成新团队,下级跟随
- 普通→钻石:独立成新团队,下级跟随
4. **团队归属**:通过向上查找钻石代理确定团队归属
### 2.4 团队查找算法
```
function findTeamLeader(agent):
current = agent
while current.parent exists:
if current.level == 钻石:
return current
current = current.parent
return null // 无上级则自己就是首领
```
### 2.5 团队统计规则
#### 2.5.1 核心规则定义
**团队统计的基本概念**
- **团队定义**:每个代理的团队 = 自己 + 所有下级(直接+间接,递归)
- **统计范围**:以代理自己为起点,向下递归包含所有下级代理
- **团队独立性**:不同代理的团队是不同的,互不干扰
- **权限统一**:所有代理(普通、黄金、钻石)的权限范围相同,都只能查看自己团队范围内的数据
**关键规则**
1.**团队范围统一**:无论代理等级如何,团队统计范围都是"自己 + 所有下级"
2.**权限范围统一**:所有代理只能查看自己团队的数据,无法查看其他代理的团队数据
3.**升级后下级跟随**:代理升级后,其所有下级(直接+间接)会跟随该代理
4.**团队归属不变**:下级升级脱离直接关系后,不影响上级的团队归属,上级的团队归属保持不变
5.**单一上级原则**:每个代理只可能有一个上级,不可能有多个上级
#### 2.5.2 不同等级代理的团队统计
**统一规则**:所有等级的代理(普通、黄金、钻石)的团队统计规则完全相同。
| 代理等级 | 团队统计范围 | 权限范围 | 说明 |
| -------- | --------------- | ---------------- | ---------------------------------------------- |
| 钻石 | 自己 + 所有下级 | 只能查看自己团队 | 下级可以是普通、黄金(钻石下级会独立成新团队) |
| 黄金 | 自己 + 所有下级 | 只能查看自己团队 | 下级只能是普通(黄金下级会脱离关系) |
| 普通 | 自己 + 所有下级 | 只能查看自己团队 | 下级只能是普通(普通不能作为黄金或钻石的上级) |
**重要说明**
- 同一代理可能出现在多个上级的团队统计中(这是正常的)
- 例如A的下级是BB的下级是C那么C会同时出现在A和B的团队统计中
- 每个代理的团队统计是独立计算的,互不影响
#### 2.5.3 升级后下级跟随规则
**核心规则**:代理升级后,其所有下级(直接+间接)会跟随该代理。
| 升级类型 | 升级前结构 | 升级后结构 | 下级跟随情况 |
| --------- | ---------------------------- | ---------------------------------------------- | ----------------- |
| 普通→黄金 | 上级 → 普通A → 下级B → 下级C | 上级 → 普通A<br>黄金A → 下级B → 下级C | B和C跟随A |
| 黄金→钻石 | 上级 → 黄金A → 下级B → 下级C | 上级<br>钻石A新团队→ 下级B → 下级C | B和C跟随A到新团队 |
| 普通→钻石 | 上级 → 普通A → 下级B → 下级C | 上级 → 普通A<br>钻石A新团队→ 下级B → 下级C | B和C跟随A到新团队 |
**重要说明**
- 升级后脱离直接关系的代理,其下级会跟随该代理
- 如果升级为钻石,会独立成新团队,下级跟随到新团队
- 升级不影响上级的团队归属,上级的团队归属保持不变
#### 2.5.4 团队统计算法
```
function getTeamMembers(agent):
// 获取代理的团队成员(包括自己和所有下级)
team_members = [agent] // 包括自己
function collectChildren(agent):
// 递归收集所有下级
for each child in agent.children: // 直接下级
team_members.append(child)
collectChildren(child) // 递归收集间接下级
collectChildren(agent)
return team_members
function getTeamStatistics(agent):
// 获取代理的团队统计数据
team_members = getTeamMembers(agent)
statistics = {
total_count: team_members的数量, // 团队总人数(包括自己)
self: agent, // 自己
members: team_members, // 所有成员(自己+所有下级)
by_level: {
钻石: 从team_members中筛选出等级为钻石的,
黄金: 从team_members中筛选出等级为黄金的,
普通: 从team_members中筛选出等级为普通的
},
direct_children: agent.children, // 直接下级
indirect_children: team_members中排除自己和直接下级的 // 间接下级
}
return statistics
function hasPermissionToView(agent, target_agent):
// 检查代理是否有权限查看目标代理的数据
if agent.id == target_agent.id:
return true // 可以查看自己
// 检查目标代理是否是当前代理的下级
team_members = getTeamMembers(agent)
return target_agent是否在team_members中
```
#### 2.5.5 团队统计示例
**示例1不同代理的团队统计范围**
```
整体结构:
钻石D
├── 普通A
│ ├── 普通B
│ └── 普通C
├── 黄金E
│ └── 普通F
└── 黄金G
└── 普通H
```
**各代理的团队统计**
| 代理 | 团队统计范围 | 总计 | 说明 |
| ----- | -------------------------------- | ---- | ------------------------------------------------ |
| 钻石D | 自己 + A + B + C + E + F + G + H | 8人 | 包含所有下级 |
| 黄金E | 自己 + F | 2人 | 只包含自己的下级 |
| 黄金G | 自己 + H | 2人 | 只包含自己的下级 |
| 普通A | 自己 + B + C | 3人 | 只包含自己的下级(普通代理的下级只能是普通代理) |
**权限说明**
- 钻石D只能查看自己团队8人的数据
- 黄金E只能查看自己团队2人的数据看不到D、A、B、C、G、H的数据
- 黄金G只能查看自己团队2人的数据看不到D、A、B、C、E、F的数据
- 普通A只能查看自己团队3人的数据看不到D、E、F、G、H的数据
**示例2升级后团队统计变化**
```
升级前:
钻石D → 黄金A → 普通B → 普通C
升级后A升级为钻石独立成新团队
钻石D
钻石A新团队→ 普通B → 普通CB和C跟随A
```
**升级后的团队统计**
| 代理 | 升级前统计 | 升级后统计 | 变化说明 |
| ----- | ----------------------- | ------------------- | -------------------------- |
| 钻石A | 自己 + B + C3人 | 自己 + B + C3人 | 下级跟随,统计不变 |
| 钻石D | 自己 + A + B + C4人 | 自己1人 | A独立后不再包含A及其下级 |
**关键点**
- A升级后B和C跟随A到新团队
- D的团队统计不再包含A、B、C因为A已独立
- A的团队统计仍然包含B和C因为下级跟随
## 三、业务推广规则
### 3.1 价格体系
#### 3.1.1 基础底价
- **系统基础底价**BasePrice系统配置
#### 3.1.2 等级加成规则
```javascript
等级加成 = {
钻石: 0,
黄金: 3,
普通: 6
}
```
#### 3.1.3 实际底价计算
```
实际底价 = 基础底价 + 等级加成[代理等级]
```
#### 3.1.4 价格设定范围
- **最低价**:实际底价
- **最高价**系统设定上限SystemMaxPrice
- **代理设定价格**:必须在最低价和最高价之间(包含两端),即:实际底价 ≤ 设定价格 ≤ SystemMaxPrice
### 3.2 收益分配规则
#### 3.2.1 核心分配原则
**重要规则**
- **平台固定收入**:无论哪个等级的代理推广,平台固定收到 **基础底价BasePrice**
- **等级加成部分**:作为返佣分配给上级链
- 钻石代理:等级加成 = 0无返佣分配
- 黄金代理:等级加成 = 3全部作为返佣给钻石上级
- 普通代理:等级加成 = 6按规则分配给上级链
**分配结构**
```
用户支付金额 = 代理设定价格
├── 代理收益 = 设定价格 - 实际底价 - 提价成本
├── 实际底价 = 基础底价 + 等级加成
├── 基础底价 → 平台(固定)
└── 等级加成 → 上级链返佣(按规则分配)
```
#### 3.2.2 代理收益计算
```
提价成本 = 0
if (设定价格 > 提价标准阈值):
提价成本 = (设定价格 - 提价标准阈值) × 提价手续费比例
代理收益 = 设定价格 - 实际底价 - 提价成本
```
#### 3.2.3 等级加成返佣分配规则
**分配算法**
```
function distributeLevelBonus(agent):
// 分配等级加成返佣
levelBonus = LevelBonus[agent.level]
// 钻石代理等级加成为0无返佣分配
if agent.level == 钻石:
return { platform: 0 } // 无返佣平台也不收这部分因为加成本身就是0
// 黄金代理等级加成3元全部给钻石上级
if agent.level == 黄金:
diamondParent = findDiamondParent(agent)
if diamondParent存在:
return { [diamondParent.id]: levelBonus } // 3元给钻石上级
// 找不到钻石上级,返佣归平台(异常情况)
return { platform: levelBonus }
// 普通代理等级加成6元按规则分配给上级链
if agent.level == 普通:
return distributeNormalAgentBonus(agent, levelBonus)
return { platform: levelBonus }
function distributeNormalAgentBonus(agent, amount):
// 普通代理的等级加成返佣分配6元
// 核心规则:
// 1. 根据直接上级等级分配固定金额给直接上级
// 2. 剩余金额按优先级分配给上级链钻石优先全部黄金次之最多3元平台兜底
parent = agent.parent
if parent不存在:
return { platform: amount } // 无上级,全部归平台
// 步骤1给直接上级分配固定金额
// 直接上级分配规则钻石6元黄金3元普通2元
directParentAmount = {
钻石: 6,
黄金: 3,
普通: 2
}[parent.level]
result = { [parent.id]: directParentAmount }
remaining = amount - directParentAmount // 剩余金额
// 步骤2分配剩余金额如果直接上级是钻石则无剩余
if remaining > 0:
// 确定查找起点:直接上级是普通时从直接上级开始查找,否则从直接上级的上级开始查找
searchStart = parent if parent.level == 普通 else parent.parent
if searchStart存在:
// 查找上级链中的钻石和黄金
diamondParent = findDiamondParent(searchStart)
goldParent = findGoldParent(searchStart)
// 按优先级分配剩余金额
if diamondParent存在:
// 优先级1有钻石剩余金额全部给钻石
result[diamondParent.id] = remaining
else if goldParent存在:
// 优先级2只有黄金最多3元给黄金剩余归平台
goldAmount = min(remaining, 3) // 黄金最多3元
result[goldParent.id] = goldAmount
if remaining > goldAmount:
result.platform = remaining - goldAmount
else:
// 优先级3都没有剩余金额归平台
result.platform = remaining
else:
// 无法查找上级链,剩余金额归平台
result.platform = remaining
return result
function findDiamondParent(agent):
// 向上查找钻石上级
current = agent.parent
while current存在:
if current.level == 钻石:
return current
current = current.parent
return null
function findGoldParent(agent):
// 向上查找黄金上级
current = agent.parent
while current存在:
if current.level == 黄金:
return current
current = current.parent
return null
```
#### 3.2.4 分配规则总结表
**核心原则**
- **基础底价BasePrice**:无论哪个等级,全部归平台(固定收入)
- **等级加成部分**:作为返佣分配给上级链
| 代理等级 | 等级加成 | 直接上级 | 等级加成返佣分配规则 |
| -------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| 钻石 | 0元 | 无 | 无返佣分配加成为0 |
| 黄金 | 3元 | 钻石 | 3元全部给钻石上级 |
| 普通 | 6元 | 钻石 | 6元全部给钻石上级 |
| 普通 | 6元 | 黄金 | 3元给黄金上级3元给钻石上级上上级 |
| 普通 | 6元 | 普通 | 2元给直接上级普通剩余4元<br>- 有钻石4元全部给钻石<br>- 只有黄金3元给黄金1元归平台<br>- 都没有4元归平台 |
**收益分配示例**
- **钻石代理推广**:用户支付 = 基础底价,平台收入 = 基础底价,返佣 = 0
- **黄金代理推广**:用户支付 = 基础底价 + 3平台收入 = 基础底价,返佣 = 3元给钻石
- **普通代理推广**:用户支付 = 基础底价 + 6平台收入 = 基础底价,返佣 = 6元按规则分配
## 四、系统配置参数
### 4.1 价格相关
- `BasePrice`: 基础底价
- `SystemMaxPrice`: 系统价格上限
- `PriceThreshold`: 提价标准阈值
- `PriceFeeRate`: 提价手续费比例
### 4.2 分配相关
- `BasePrice`: 基础底价(固定归平台)
- `LevelBonus`: 等级加成配置
- `钻石`: 0元
- `黄金`: 3元全部给钻石上级
- `普通`: 6元按规则分配给上级链
- `DirectParentAmount`: 直接上级分配金额配置
- `普通→钻石`: 6元
- `普通→黄金`: 3元
- `普通→普通`: 2元
- `MaxGoldAmount`: 黄金代理最大分配金额3元
- `GoldToDiamondAmount`: 黄金→钻石分配金额3元
### 4.3 等级加成
- `LevelBonus`: { 钻石: 0, 黄金: 3, 普通: 6 }
### 4.4 升级费用和返佣
- `UpgradeFee`: 升级费用配置
- `NormalToGold`: 199元普通→黄金
- `NormalToDiamond`: 980元普通→钻石
- `GoldToDiamond`: 980元黄金→钻石
- `UpgradeRebate`: 升级返佣配置
- `NormalToGoldRebate`: 139元普通→黄金给直接上级
- `ToDiamondRebate`: 680元升级为钻石给直接上级
- `UpgradeRebateRate`: 升级返佣比例
- `NormalToGoldRate`: 69.8%139/199
- `ToDiamondRate`: 69.4%680/980
## 五、核心算法伪代码
### 6.1 计算实际底价
```
function calculateActualBasePrice(agentLevel, basePrice):
levelBonus = LevelBonus[agentLevel]
return basePrice + levelBonus
```
### 6.2 计算代理收益
```
function calculateAgentProfit(setPrice, actualBasePrice, priceThreshold, feeRate):
priceCost = 0
if setPrice > priceThreshold:
priceCost = (setPrice - priceThreshold) × feeRate
return setPrice - actualBasePrice - priceCost
```
### 6.3 收益分配主流程
```
function distributeRevenue(agent, setPrice, basePrice):
// 1. 计算实际底价
levelBonus = LevelBonus[agent.level]
actualBasePrice = basePrice + levelBonus
// 2. 计算代理收益
priceCost = calculatePriceCost(setPrice)
agentProfit = setPrice - actualBasePrice - priceCost
// 3. 基础底价部分:全部归平台(固定)
platformRevenue = basePrice
// 4. 等级加成部分:按规则分配给上级链
levelBonusDistribution = distributeLevelBonus(agent)
// 5. 汇总分配结果
return {
agentProfit: agentProfit,
platformRevenue: platformRevenue,
levelBonusDistribution: levelBonusDistribution
}
```
### 6.4 等级加成返佣分配流程
```
function distributeLevelBonus(agent):
levelBonus = LevelBonus[agent.level]
if agent.level == 钻石:
return {} // 无返佣加成为0
if agent.level == 黄金:
diamondParent = findDiamondParent(agent)
return { [diamondParent.id]: levelBonus } // 3元给钻石
if agent.level == 普通:
return distributeNormalAgentBonus(agent, levelBonus) // 6元按规则分配
```
### 6.5 代理升级流程
```
function upgradeAgent(agent, targetLevel, upgradeType):
// 参数说明:
// agent: 被升级的代理
// targetLevel: 目标等级2=黄金, 3=钻石)
// upgradeType: 'self_paid'自主付费or 'diamond_upgrade'(钻石升级)
// 1. 验证升级条件
if not canUpgrade(agent, targetLevel, upgradeType):
return { error: '升级条件不满足' }
// 2. 如果是自主付费升级,处理付费
if upgradeType == 'self_paid':
upgradeFee = getUpgradeFee(agent.level, targetLevel)
rebateAmount = getUpgradeRebate(agent.level, targetLevel)
originalParent = agent.parent
// 2.1 代理付费
paymentResult = processPayment(agent, upgradeFee)
if not paymentResult.success:
return { error: '付费失败' }
// 2.2 返佣给原直接上级(即使升级后脱离关系)
if originalParent:
rebateResult = processRebate(originalParent, rebateAmount)
if not rebateResult.success:
// 如果返佣失败,需要退款
refundPayment(agent, upgradeFee)
return { error: '返佣失败,已退款' }
// 3. 执行升级操作
agent.level = targetLevel
// 4. 检查是否需要脱离直接上级关系
if needDetachFromParent(agent, agent.parent):
agent.parent = null // 脱离直接关系
// 但保留团队关系(通过钻石首领)
// 5. 如果升级为钻石,独立成新团队
if targetLevel == 钻石:
agent.teamLeaderId = agent.id // 成为新团队首领
// 下级会跟随(已在升级规则中定义)
return { success: true, agent: agent }
function canUpgrade(agent, targetLevel, upgradeType):
// 检查升级条件
if upgradeType == 'diamond_upgrade':
// 钻石升级下级:必须是钻石操作,且下级是普通代理
return agent.level == 普通 and targetLevel == 黄金
else if upgradeType == 'self_paid':
// 自主付费:普通可以升级为黄金或钻石,黄金可以升级为钻石
if agent.level == 普通:
return targetLevel == 黄金 or targetLevel == 钻石
else if agent.level == 黄金:
return targetLevel == 钻石
return false
function getUpgradeFee(fromLevel, toLevel):
if fromLevel == 普通 and toLevel == 黄金:
return 199
else if toLevel == 钻石:
return 980
return 0
function getUpgradeRebate(fromLevel, toLevel):
if fromLevel == 普通 and toLevel == 黄金:
return 139
else if toLevel == 钻石:
return 680
return 0
function needDetachFromParent(agent, parent):
// 检查是否需要脱离直接上级关系
// 规则1下级不能比上级等级高
// 规则2同级不能作为上下级除了普通代理
if not parent:
return false
// 如果代理等级高于上级等级,必须脱离
if agent.level > parent.level:
return true
// 同级不能作为上下级(除了普通代理)
if agent.level == parent.level:
if agent.level == 黄金 or agent.level == 钻石:
return true // 黄金 → 黄金、钻石 → 钻石禁止
// 钻石 → 黄金禁止(虽然钻石等级高于黄金,但这是特殊禁止规则)
if agent.level == 黄金 and parent.level == 钻石:
return true
return false
```
## 六、业务流程图
### 7.1 代理升级流程
#### 7.1.1 自主付费升级流程
```
代理发起升级请求
检查升级条件(等级、权限等)
计算升级费用和返佣金额
代理支付升级费用
付费成功后,立即返佣给原直接上级
执行升级操作(更新代理等级)
检查是否需要脱离直接上级关系
如果升级为钻石
→ 独立成新团队
→ 成为团队首领
→ 下级跟随到新团队
完成升级
```
#### 7.1.2 钻石升级下级流程
```
钻石代理操作升级下级
检查升级条件(必须是普通代理升级为黄金)
无需付费,直接执行升级操作
检查是否需要脱离直接上级关系
完成升级
```
#### 7.1.3 升级费用和返佣流程
```
升级费用表:
- 普通→黄金199元返佣139元给直接上级
- 普通→钻石980元返佣680元给直接上级
- 黄金→钻石980元返佣680元给直接上级
返佣规则:
- 返佣对象:原直接上级(即使升级后脱离关系)
- 返佣时机:付费成功后立即返佣
- 返佣金额:固定金额,不随升级后关系变化而改变
```
### 7.2 业务推广收益分配流程
```
用户付费查询(支付代理设定价格)
计算实际底价 = 基础底价 + 等级加成
计算代理收益 = 设定价格 - 实际底价 - 提价成本
收益分配:
├── 基础底价部分 → 平台(固定收入)
└── 等级加成部分 → 按规则分配给上级链
├── 钻石代理:加成=0无返佣
├── 黄金代理:加成=3全部给钻石上级
└── 普通代理:加成=6按规则分配给上级链
```
## 七、边界情况处理
1. **钻石代理有上级**:理论上不应存在,但系统需处理异常情况
2. **团队链断裂**:如果上级链中找不到钻石代理,剩余金额归平台
3. **价格异常**:设定价格低于实际底价时,拒绝交易
4. **升级冲突**:升级时检查是否违反直接上下级约束规则
5. **升级关系判断**
- 普通 → 黄金升级时,必须脱离直接上级关系
- 原因:黄金等级高于普通(下级不能比上级等级高),或与黄金同级(同级不能作为上下级),或钻石→黄金禁止
- 普通/黄金 → 钻石升级时,独立成新团队,脱离所有上级关系
6. **返佣处理**:返佣给原直接上级,即使升级后脱离关系,返佣不受影响
7. **团队统计更新**:所有关系变更后,需要正确更新团队统计范围

View File

@@ -1,103 +0,0 @@
# 报告查看器使用说明
## 📋 已包含的组件
本项目已包含以下报告组件的完整代码:
1. **DWBG6A2C** - 司南报告(包含所有子模块)
2. **FLXG0V4B** - 司法涉诉
3. **QYGL3F8E** - 人企关系加强版(包含所有子模块)
4. **JRZQ4B6C** - 信贷表现
5. **JRZQ09J8** - 收入评估
6. **QCXG9P1C** - 名下车辆
7. **DWBG8B4D** - 谛听多维报告(包含所有子模块)
## 📁 需要提供的文件清单
如果要将这些组件提供给其他人使用,需要提供以下文件:
### 1. 核心文件
-`src/views/Report.vue` - 报告页面视图
-`src/components/BaseReport.vue` - 报告主组件
### 2. UI 业务组件目录
-`src/ui/DWBG6A2C/` - 司南报告(完整目录)
-`src/ui/CFLXG0V4B/` - 司法涉诉(完整目录)
-`src/ui/CQYGL3F8E/` - 人企关系加强版(完整目录)
-`src/ui/JRZQ4B6C/` - 信贷表现(完整目录)
-`src/ui/JRZQ09J8/` - 收入评估(完整目录)
-`src/ui/CQCXG9P1C.vue` - 名下车辆组件
-`src/ui/CDWBG8B4D/` - 谛听多维报告(完整目录)
### 3. 基础组件
-`src/components/GaugeChart.vue` - 评分图表
-`src/components/ShareReportButton.vue` - 分享按钮
-`src/components/TitleBanner.vue` - 标题横幅
-`src/components/VerificationCard.vue` - 验证卡片
-`src/components/StyledTabs.vue` - 样式化标签页
-`src/components/LEmpty.vue` - 空状态组件
-`src/components/LRemark.vue` - 备注组件
-`src/components/LTitle.vue` - 标题组件
### 4. 工具和配置
-`src/composables/useApiFetch.js` - API 请求工具
-`src/assets/` - 所有样式文件和图片资源
-`package.json` - 依赖配置
-`vite.config.js` - Vite 配置
-`tailwind.config.js` - Tailwind 配置
-`postcss.config.js` - PostCSS 配置
### 5. 入口文件
-`src/main.js` - 应用入口
-`src/App.vue` - 根组件
-`index.html` - HTML 模板
### 使用示例
```javascript
// 在组件中使用 BaseReport
import BaseReport from '@/components/BaseReport.vue'
<BaseReport
:feature="'preloanbackgroundcheck'"
:report-data="reportData"
:report-params="reportParams"
:report-name="reportName"
:report-date-time="reportDateTime"
:is-empty="false"
:is-done="true"
/>
```
## 📦 项目结构
```
report-viewer/
├── src/
│ ├── components/ # 基础组件
│ │ ├── BaseReport.vue # ⭐ 核心组件
│ │ ├── GaugeChart.vue
│ │ └── ...
│ ├── views/
│ │ └── Report.vue # ⭐ 报告页面
│ ├── ui/ # ⭐ 业务组件
│ │ ├── DWBG6A2C/ # 司南报告
│ │ ├── CFLXG0V4B/ # 司法涉诉
│ │ ├── CQYGL3F8E/ # 人企关系加强版
│ │ ├── JRZQ4B6C/ # 信贷表现
│ │ ├── JRZQ09J8/ # 收入评估
│ │ ├── CQCXG9P1C.vue # 名下车辆
│ │ └── CDWBG8B4D/ # 谛听多维报告
│ ├── composables/
│ │ └── useApiFetch.js # API 工具
│ └── assets/ # 样式和图片
│ ├── images/
│ └── *.css
├── package.json
├── vite.config.js
├── tailwind.config.js
└── README.md
```

View File

@@ -0,0 +1,826 @@
## 返回字段说明
| 序号 | 参数名 | 类型 | 长度 | 中文名称 | 取值解释 |
|-------:|:----------------------------------|:-------|-------:|:-------------------------------------------------------------------|:---------------------------------------------------------------------------------|
| 1 | flag_applyloanstr | string | 10 | 产品输出标识 | 1(输出成功),0(未匹配上无输出),98(用户输入信息不足),99(系统异常) |
| 2 | als_d7_id_pdl_allnum | string | 10 | 按身份证号查询近7天申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 3 | als_d7_id_pdl_orgnum | string | 10 | 按身份证号查询近7天申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 4 | als_d7_id_caon_allnum | string | 10 | 按身份证号查询近7天申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 5 | als_d7_id_caon_orgnum | string | 10 | 按身份证号查询近7天申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 6 | als_d7_id_rel_allnum | string | 10 | 按身份证号查询近7天申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 7 | als_d7_id_rel_orgnum | string | 10 | 按身份证号查询近7天申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 8 | als_d7_id_caoff_allnum | string | 10 | 按身份证号查询近7天申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 9 | als_d7_id_caoff_orgnum | string | 10 | 按身份证号查询近7天申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 10 | als_d7_id_cooff_allnum | string | 10 | 按身份证号查询近7天申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 11 | als_d7_id_cooff_orgnum | string | 10 | 按身份证号查询近7天申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 12 | als_d7_id_af_allnum | string | 10 | 按身份证号查询近7天申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 13 | als_d7_id_af_orgnum | string | 10 | 按身份证号查询近7天申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 14 | als_d7_id_coon_allnum | string | 10 | 按身份证号查询近7天申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 15 | als_d7_id_coon_orgnum | string | 10 | 按身份证号查询近7天申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 16 | als_d7_id_oth_allnum | string | 10 | 按身份证号查询近7天申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 17 | als_d7_id_oth_orgnum | string | 10 | 按身份证号查询近7天申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 18 | als_d7_id_bank_selfnum | string | 10 | 按身份证号查询近7天在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 19 | als_d7_id_bank_allnum | string | 10 | 按身份证号查询近7天在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 20 | als_d7_id_bank_tra_allnum | string | 10 | 按身份证号查询近7天在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 21 | als_d7_id_bank_ret_allnum | string | 10 | 按身份证号查询近7天在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 22 | als_d7_id_bank_orgnum | string | 10 | 按身份证号查询近7天在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 23 | als_d7_id_bank_tra_orgnum | string | 10 | 按身份证号查询近7天在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 24 | als_d7_id_bank_ret_orgnum | string | 10 | 按身份证号查询近7天在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 25 | als_d7_id_bank_week_allnum | string | 10 | 按身份证号查询近7天在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 26 | als_d7_id_bank_week_orgnum | string | 10 | 按身份证号查询近7天在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 27 | als_d7_id_bank_night_allnum | string | 10 | 按身份证号查询近7天在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 28 | als_d7_id_bank_night_orgnum | string | 10 | 按身份证号查询近7天在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 29 | als_d7_id_nbank_selfnum | string | 10 | 按身份证号查询近7天在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 30 | als_d7_id_nbank_allnum | string | 10 | 按身份证号查询近7天在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 31 | als_d7_id_nbank_p2p_allnum | string | 10 | 按身份证号查询近7天在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 32 | als_d7_id_nbank_mc_allnum | string | 10 | 按身份证号查询近7天在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 33 | als_d7_id_nbank_ca_allnum | string | 10 | 按身份证号查询近7天在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 34 | als_d7_id_nbank_cf_allnum | string | 10 | 按身份证号查询近7天在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 35 | als_d7_id_nbank_com_allnum | string | 10 | 按身份证号查询近7天在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 36 | als_d7_id_nbank_oth_allnum | string | 10 | 按身份证号查询近7天在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 37 | als_d7_id_nbank_nsloan_allnum | string | 10 | 按身份证号查询近7天在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 38 | als_d7_id_nbank_autofin_allnum | string | 10 | 按身份证号查询近7天在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 39 | als_d7_id_nbank_sloan_allnum | string | 10 | 按身份证号查询近7天在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 40 | als_d7_id_nbank_cons_allnum | string | 10 | 按身份证号查询近7天在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 41 | als_d7_id_nbank_finlea_allnum | string | 10 | 按身份证号查询近7天在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 42 | als_d7_id_nbank_else_allnum | string | 10 | 按身份证号查询近7天在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 43 | als_d7_id_nbank_orgnum | string | 10 | 按身份证号查询近7天在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 44 | als_d7_id_nbank_p2p_orgnum | string | 10 | 按身份证号查询近7天在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 45 | als_d7_id_nbank_mc_orgnum | string | 10 | 按身份证号查询近7天在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 46 | als_d7_id_nbank_ca_orgnum | string | 10 | 按身份证号查询近7天在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 47 | als_d7_id_nbank_cf_orgnum | string | 10 | 按身份证号查询近7天在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 48 | als_d7_id_nbank_com_orgnum | string | 10 | 按身份证号查询近7天在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 49 | als_d7_id_nbank_oth_orgnum | string | 10 | 按身份证号查询近7天在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 50 | als_d7_id_nbank_nsloan_orgnum | string | 10 | 按身份证号查询近7天在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 51 | als_d7_id_nbank_autofin_orgnum | string | 10 | 按身份证号查询近7天在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 52 | als_d7_id_nbank_sloan_orgnum | string | 10 | 按身份证号查询近7天在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 53 | als_d7_id_nbank_cons_orgnum | string | 10 | 按身份证号查询近7天在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 54 | als_d7_id_nbank_finlea_orgnum | string | 10 | 按身份证号查询近7天在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 55 | als_d7_id_nbank_else_orgnum | string | 10 | 按身份证号查询近7天在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 56 | als_d7_id_nbank_week_allnum | string | 10 | 按身份证号查询近7天在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 57 | als_d7_id_nbank_week_orgnum | string | 10 | 按身份证号查询近7天在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 58 | als_d7_id_nbank_night_allnum | string | 10 | 按身份证号查询近7天在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 59 | als_d7_id_nbank_night_orgnum | string | 10 | 按身份证号查询近7天在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 60 | als_d7_cell_pdl_allnum | string | 10 | 按手机号查询近7天申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 61 | als_d7_cell_pdl_orgnum | string | 10 | 按手机号查询近7天申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 62 | als_d7_cell_caon_allnum | string | 10 | 按手机号查询近7天申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 63 | als_d7_cell_caon_orgnum | string | 10 | 按手机号查询近7天申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 64 | als_d7_cell_rel_allnum | string | 10 | 按手机号查询近7天申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 65 | als_d7_cell_rel_orgnum | string | 10 | 按手机号查询近7天申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 66 | als_d7_cell_caoff_allnum | string | 10 | 按手机号查询近7天申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 67 | als_d7_cell_caoff_orgnum | string | 10 | 按手机号查询近7天申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 68 | als_d7_cell_cooff_allnum | string | 10 | 按手机号查询近7天申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 69 | als_d7_cell_cooff_orgnum | string | 10 | 按手机号查询近7天申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 70 | als_d7_cell_af_allnum | string | 10 | 按手机号查询近7天申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 71 | als_d7_cell_af_orgnum | string | 10 | 按手机号查询近7天申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 72 | als_d7_cell_coon_allnum | string | 10 | 按手机号查询近7天申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 73 | als_d7_cell_coon_orgnum | string | 10 | 按手机号查询近7天申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 74 | als_d7_cell_oth_allnum | string | 10 | 按手机号查询近7天申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 75 | als_d7_cell_oth_orgnum | string | 10 | 按手机号查询近7天申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 76 | als_d7_cell_bank_selfnum | string | 10 | 按手机号查询近7天在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 77 | als_d7_cell_bank_allnum | string | 10 | 按手机号查询近7天在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 78 | als_d7_cell_bank_tra_allnum | string | 10 | 按手机号查询近7天在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 79 | als_d7_cell_bank_ret_allnum | string | 10 | 按手机号查询近7天在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 80 | als_d7_cell_bank_orgnum | string | 10 | 按手机号查询近7天在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 81 | als_d7_cell_bank_tra_orgnum | string | 10 | 按手机号查询近7天在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 82 | als_d7_cell_bank_ret_orgnum | string | 10 | 按手机号查询近7天在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 83 | als_d7_cell_bank_week_allnum | string | 10 | 按手机号查询近7天在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 84 | als_d7_cell_bank_week_orgnum | string | 10 | 按手机号查询近7天在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 85 | als_d7_cell_bank_night_allnum | string | 10 | 按手机号查询近7天在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 86 | als_d7_cell_bank_night_orgnum | string | 10 | 按手机号查询近7天在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 87 | als_d7_cell_nbank_selfnum | string | 10 | 按手机号查询近7天在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 88 | als_d7_cell_nbank_allnum | string | 10 | 按手机号查询近7天在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 89 | als_d7_cell_nbank_p2p_allnum | string | 10 | 按手机号查询近7天在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 90 | als_d7_cell_nbank_mc_allnum | string | 10 | 按手机号查询近7天在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 91 | als_d7_cell_nbank_ca_allnum | string | 10 | 按手机号查询近7天在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 92 | als_d7_cell_nbank_cf_allnum | string | 10 | 按手机号查询近7天在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 93 | als_d7_cell_nbank_com_allnum | string | 10 | 按手机号查询近7天在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 94 | als_d7_cell_nbank_oth_allnum | string | 10 | 按手机号查询近7天在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 95 | als_d7_cell_nbank_nsloan_allnum | string | 10 | 按手机号查询近7天在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 96 | als_d7_cell_nbank_autofin_allnum | string | 10 | 按手机号查询近7天在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 97 | als_d7_cell_nbank_sloan_allnum | string | 10 | 按手机号查询近7天在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 98 | als_d7_cell_nbank_cons_allnum | string | 10 | 按手机号查询近7天在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 99 | als_d7_cell_nbank_finlea_allnum | string | 10 | 按手机号查询近7天在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 100 | als_d7_cell_nbank_else_allnum | string | 10 | 按手机号查询近7天在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 101 | als_d7_cell_nbank_orgnum | string | 10 | 按手机号查询近7天在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 102 | als_d7_cell_nbank_p2p_orgnum | string | 10 | 按手机号查询近7天在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 103 | als_d7_cell_nbank_mc_orgnum | string | 10 | 按手机号查询近7天在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 104 | als_d7_cell_nbank_ca_orgnum | string | 10 | 按手机号查询近7天在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 105 | als_d7_cell_nbank_cf_orgnum | string | 10 | 按手机号查询近7天在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 106 | als_d7_cell_nbank_com_orgnum | string | 10 | 按手机号查询近7天在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 107 | als_d7_cell_nbank_oth_orgnum | string | 10 | 按手机号查询近7天在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 108 | als_d7_cell_nbank_nsloan_orgnum | string | 10 | 按手机号查询近7天在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 109 | als_d7_cell_nbank_autofin_orgnum | string | 10 | 按手机号查询近7天在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 110 | als_d7_cell_nbank_sloan_orgnum | string | 10 | 按手机号查询近7天在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 111 | als_d7_cell_nbank_cons_orgnum | string | 10 | 按手机号查询近7天在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 112 | als_d7_cell_nbank_finlea_orgnum | string | 10 | 按手机号查询近7天在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 113 | als_d7_cell_nbank_else_orgnum | string | 10 | 按手机号查询近7天在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 114 | als_d7_cell_nbank_week_allnum | string | 10 | 按手机号查询近7天在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 115 | als_d7_cell_nbank_week_orgnum | string | 10 | 按手机号查询近7天在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 116 | als_d7_cell_nbank_night_allnum | string | 10 | 按手机号查询近7天在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 117 | als_d7_cell_nbank_night_orgnum | string | 10 | 按手机号查询近7天在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 118 | als_d15_id_pdl_allnum | string | 10 | 按身份证号查询近15天申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 119 | als_d15_id_pdl_orgnum | string | 10 | 按身份证号查询近15天申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 120 | als_d15_id_caon_allnum | string | 10 | 按身份证号查询近15天申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 121 | als_d15_id_caon_orgnum | string | 10 | 按身份证号查询近15天申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 122 | als_d15_id_rel_allnum | string | 10 | 按身份证号查询近15天申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 123 | als_d15_id_rel_orgnum | string | 10 | 按身份证号查询近15天申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 124 | als_d15_id_caoff_allnum | string | 10 | 按身份证号查询近15天申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 125 | als_d15_id_caoff_orgnum | string | 10 | 按身份证号查询近15天申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 126 | als_d15_id_cooff_allnum | string | 10 | 按身份证号查询近15天申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 127 | als_d15_id_cooff_orgnum | string | 10 | 按身份证号查询近15天申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 128 | als_d15_id_af_allnum | string | 10 | 按身份证号查询近15天申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 129 | als_d15_id_af_orgnum | string | 10 | 按身份证号查询近15天申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 130 | als_d15_id_coon_allnum | string | 10 | 按身份证号查询近15天申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 131 | als_d15_id_coon_orgnum | string | 10 | 按身份证号查询近15天申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 132 | als_d15_id_oth_allnum | string | 10 | 按身份证号查询近15天申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 133 | als_d15_id_oth_orgnum | string | 10 | 按身份证号查询近15天申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 134 | als_d15_id_bank_selfnum | string | 10 | 按身份证号查询近15天在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 135 | als_d15_id_bank_allnum | string | 10 | 按身份证号查询近15天在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 136 | als_d15_id_bank_tra_allnum | string | 10 | 按身份证号查询近15天在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 137 | als_d15_id_bank_ret_allnum | string | 10 | 按身份证号查询近15天在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 138 | als_d15_id_bank_orgnum | string | 10 | 按身份证号查询近15天在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 139 | als_d15_id_bank_tra_orgnum | string | 10 | 按身份证号查询近15天在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 140 | als_d15_id_bank_ret_orgnum | string | 10 | 按身份证号查询近15天在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 141 | als_d15_id_bank_week_allnum | string | 10 | 按身份证号查询近15天在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 142 | als_d15_id_bank_week_orgnum | string | 10 | 按身份证号查询近15天在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 143 | als_d15_id_bank_night_allnum | string | 10 | 按身份证号查询近15天在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 144 | als_d15_id_bank_night_orgnum | string | 10 | 按身份证号查询近15天在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 145 | als_d15_id_nbank_selfnum | string | 10 | 按身份证号查询近15天在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 146 | als_d15_id_nbank_allnum | string | 10 | 按身份证号查询近15天在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 147 | als_d15_id_nbank_p2p_allnum | string | 10 | 按身份证号查询近15天在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 148 | als_d15_id_nbank_mc_allnum | string | 10 | 按身份证号查询近15天在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 149 | als_d15_id_nbank_ca_allnum | string | 10 | 按身份证号查询近15天在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 150 | als_d15_id_nbank_cf_allnum | string | 10 | 按身份证号查询近15天在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 151 | als_d15_id_nbank_com_allnum | string | 10 | 按身份证号查询近15天在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 152 | als_d15_id_nbank_oth_allnum | string | 10 | 按身份证号查询近15天在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 153 | als_d15_id_nbank_nsloan_allnum | string | 10 | 按身份证号查询近15天在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 154 | als_d15_id_nbank_autofin_allnum | string | 10 | 按身份证号查询近15天在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 155 | als_d15_id_nbank_sloan_allnum | string | 10 | 按身份证号查询近15天在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 156 | als_d15_id_nbank_cons_allnum | string | 10 | 按身份证号查询近15天在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 157 | als_d15_id_nbank_finlea_allnum | string | 10 | 按身份证号查询近15天在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 158 | als_d15_id_nbank_else_allnum | string | 10 | 按身份证号查询近15天在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 159 | als_d15_id_nbank_orgnum | string | 10 | 按身份证号查询近15天在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 160 | als_d15_id_nbank_p2p_orgnum | string | 10 | 按身份证号查询近15天在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 161 | als_d15_id_nbank_mc_orgnum | string | 10 | 按身份证号查询近15天在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 162 | als_d15_id_nbank_ca_orgnum | string | 10 | 按身份证号查询近15天在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 163 | als_d15_id_nbank_cf_orgnum | string | 10 | 按身份证号查询近15天在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 164 | als_d15_id_nbank_com_orgnum | string | 10 | 按身份证号查询近15天在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 165 | als_d15_id_nbank_oth_orgnum | string | 10 | 按身份证号查询近15天在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 166 | als_d15_id_nbank_nsloan_orgnum | string | 10 | 按身份证号查询近15天在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 167 | als_d15_id_nbank_autofin_orgnum | string | 10 | 按身份证号查询近15天在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 168 | als_d15_id_nbank_sloan_orgnum | string | 10 | 按身份证号查询近15天在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 169 | als_d15_id_nbank_cons_orgnum | string | 10 | 按身份证号查询近15天在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 170 | als_d15_id_nbank_finlea_orgnum | string | 10 | 按身份证号查询近15天在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 171 | als_d15_id_nbank_else_orgnum | string | 10 | 按身份证号查询近15天在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 172 | als_d15_id_nbank_week_allnum | string | 10 | 按身份证号查询近15天在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 173 | als_d15_id_nbank_week_orgnum | string | 10 | 按身份证号查询近15天在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 174 | als_d15_id_nbank_night_allnum | string | 10 | 按身份证号查询近15天在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 175 | als_d15_id_nbank_night_orgnum | string | 10 | 按身份证号查询近15天在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 176 | als_d15_cell_pdl_allnum | string | 10 | 按手机号查询近15天申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 177 | als_d15_cell_pdl_orgnum | string | 10 | 按手机号查询近15天申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 178 | als_d15_cell_caon_allnum | string | 10 | 按手机号查询近15天申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 179 | als_d15_cell_caon_orgnum | string | 10 | 按手机号查询近15天申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 180 | als_d15_cell_rel_allnum | string | 10 | 按手机号查询近15天申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 181 | als_d15_cell_rel_orgnum | string | 10 | 按手机号查询近15天申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 182 | als_d15_cell_caoff_allnum | string | 10 | 按手机号查询近15天申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 183 | als_d15_cell_caoff_orgnum | string | 10 | 按手机号查询近15天申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 184 | als_d15_cell_cooff_allnum | string | 10 | 按手机号查询近15天申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 185 | als_d15_cell_cooff_orgnum | string | 10 | 按手机号查询近15天申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 186 | als_d15_cell_af_allnum | string | 10 | 按手机号查询近15天申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 187 | als_d15_cell_af_orgnum | string | 10 | 按手机号查询近15天申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 188 | als_d15_cell_coon_allnum | string | 10 | 按手机号查询近15天申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 189 | als_d15_cell_coon_orgnum | string | 10 | 按手机号查询近15天申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 190 | als_d15_cell_oth_allnum | string | 10 | 按手机号查询近15天申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 191 | als_d15_cell_oth_orgnum | string | 10 | 按手机号查询近15天申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 192 | als_d15_cell_bank_selfnum | string | 10 | 按手机号查询近15天在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 193 | als_d15_cell_bank_allnum | string | 10 | 按手机号查询近15天在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 194 | als_d15_cell_bank_tra_allnum | string | 10 | 按手机号查询近15天在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 195 | als_d15_cell_bank_ret_allnum | string | 10 | 按手机号查询近15天在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 196 | als_d15_cell_bank_orgnum | string | 10 | 按手机号查询近15天在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 197 | als_d15_cell_bank_tra_orgnum | string | 10 | 按手机号查询近15天在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 198 | als_d15_cell_bank_ret_orgnum | string | 10 | 按手机号查询近15天在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 199 | als_d15_cell_bank_week_allnum | string | 10 | 按手机号查询近15天在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 200 | als_d15_cell_bank_week_orgnum | string | 10 | 按手机号查询近15天在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 201 | als_d15_cell_bank_night_allnum | string | 10 | 按手机号查询近15天在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 202 | als_d15_cell_bank_night_orgnum | string | 10 | 按手机号查询近15天在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 203 | als_d15_cell_nbank_selfnum | string | 10 | 按手机号查询近15天在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 204 | als_d15_cell_nbank_allnum | string | 10 | 按手机号查询近15天在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 205 | als_d15_cell_nbank_p2p_allnum | string | 10 | 按手机号查询近15天在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 206 | als_d15_cell_nbank_mc_allnum | string | 10 | 按手机号查询近15天在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 207 | als_d15_cell_nbank_ca_allnum | string | 10 | 按手机号查询近15天在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 208 | als_d15_cell_nbank_cf_allnum | string | 10 | 按手机号查询近15天在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 209 | als_d15_cell_nbank_com_allnum | string | 10 | 按手机号查询近15天在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 210 | als_d15_cell_nbank_oth_allnum | string | 10 | 按手机号查询近15天在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 211 | als_d15_cell_nbank_nsloan_allnum | string | 10 | 按手机号查询近15天在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 212 | als_d15_cell_nbank_autofin_allnum | string | 10 | 按手机号查询近15天在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 213 | als_d15_cell_nbank_sloan_allnum | string | 10 | 按手机号查询近15天在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 214 | als_d15_cell_nbank_cons_allnum | string | 10 | 按手机号查询近15天在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 215 | als_d15_cell_nbank_finlea_allnum | string | 10 | 按手机号查询近15天在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 216 | als_d15_cell_nbank_else_allnum | string | 10 | 按手机号查询近15天在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 217 | als_d15_cell_nbank_orgnum | string | 10 | 按手机号查询近15天在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 218 | als_d15_cell_nbank_p2p_orgnum | string | 10 | 按手机号查询近15天在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 219 | als_d15_cell_nbank_mc_orgnum | string | 10 | 按手机号查询近15天在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 220 | als_d15_cell_nbank_ca_orgnum | string | 10 | 按手机号查询近15天在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 221 | als_d15_cell_nbank_cf_orgnum | string | 10 | 按手机号查询近15天在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 222 | als_d15_cell_nbank_com_orgnum | string | 10 | 按手机号查询近15天在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 223 | als_d15_cell_nbank_oth_orgnum | string | 10 | 按手机号查询近15天在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 224 | als_d15_cell_nbank_nsloan_orgnum | string | 10 | 按手机号查询近15天在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 225 | als_d15_cell_nbank_autofin_orgnum | string | 10 | 按手机号查询近15天在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 226 | als_d15_cell_nbank_sloan_orgnum | string | 10 | 按手机号查询近15天在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 227 | als_d15_cell_nbank_cons_orgnum | string | 10 | 按手机号查询近15天在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 228 | als_d15_cell_nbank_finlea_orgnum | string | 10 | 按手机号查询近15天在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 229 | als_d15_cell_nbank_else_orgnum | string | 10 | 按手机号查询近15天在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 230 | als_d15_cell_nbank_week_allnum | string | 10 | 按手机号查询近15天在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 231 | als_d15_cell_nbank_week_orgnum | string | 10 | 按手机号查询近15天在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 232 | als_d15_cell_nbank_night_allnum | string | 10 | 按手机号查询近15天在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 233 | als_d15_cell_nbank_night_orgnum | string | 10 | 按手机号查询近15天在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 234 | als_m1_id_pdl_allnum | string | 10 | 按身份证号查询近1个月申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 235 | als_m1_id_pdl_orgnum | string | 10 | 按身份证号查询近1个月申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 236 | als_m1_id_caon_allnum | string | 10 | 按身份证号查询近1个月申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 237 | als_m1_id_caon_orgnum | string | 10 | 按身份证号查询近1个月申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 238 | als_m1_id_rel_allnum | string | 10 | 按身份证号查询近1个月申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 239 | als_m1_id_rel_orgnum | string | 10 | 按身份证号查询近1个月申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 240 | als_m1_id_caoff_allnum | string | 10 | 按身份证号查询近1个月申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 241 | als_m1_id_caoff_orgnum | string | 10 | 按身份证号查询近1个月申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 242 | als_m1_id_cooff_allnum | string | 10 | 按身份证号查询近1个月申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 243 | als_m1_id_cooff_orgnum | string | 10 | 按身份证号查询近1个月申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 244 | als_m1_id_af_allnum | string | 10 | 按身份证号查询近1个月申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 245 | als_m1_id_af_orgnum | string | 10 | 按身份证号查询近1个月申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 246 | als_m1_id_coon_allnum | string | 10 | 按身份证号查询近1个月申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 247 | als_m1_id_coon_orgnum | string | 10 | 按身份证号查询近1个月申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 248 | als_m1_id_oth_allnum | string | 10 | 按身份证号查询近1个月申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 249 | als_m1_id_oth_orgnum | string | 10 | 按身份证号查询近1个月申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 250 | als_m1_id_bank_selfnum | string | 10 | 按身份证号查询近1个月在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 251 | als_m1_id_bank_allnum | string | 10 | 按身份证号查询近1个月在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 252 | als_m1_id_bank_tra_allnum | string | 10 | 按身份证号查询近1个月在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 253 | als_m1_id_bank_ret_allnum | string | 10 | 按身份证号查询近1个月在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 254 | als_m1_id_bank_orgnum | string | 10 | 按身份证号查询近1个月在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 255 | als_m1_id_bank_tra_orgnum | string | 10 | 按身份证号查询近1个月在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 256 | als_m1_id_bank_ret_orgnum | string | 10 | 按身份证号查询近1个月在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 257 | als_m1_id_bank_week_allnum | string | 10 | 按身份证号查询近1个月在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 258 | als_m1_id_bank_week_orgnum | string | 10 | 按身份证号查询近1个月在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 259 | als_m1_id_bank_night_allnum | string | 10 | 按身份证号查询近1个月在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 260 | als_m1_id_bank_night_orgnum | string | 10 | 按身份证号查询近1个月在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 261 | als_m1_id_nbank_selfnum | string | 10 | 按身份证号查询近1个月在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 262 | als_m1_id_nbank_allnum | string | 10 | 按身份证号查询近1个月在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 263 | als_m1_id_nbank_p2p_allnum | string | 10 | 按身份证号查询近1个月在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 264 | als_m1_id_nbank_mc_allnum | string | 10 | 按身份证号查询近1个月在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 265 | als_m1_id_nbank_ca_allnum | string | 10 | 按身份证号查询近1个月在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 266 | als_m1_id_nbank_cf_allnum | string | 10 | 按身份证号查询近1个月在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 267 | als_m1_id_nbank_com_allnum | string | 10 | 按身份证号查询近1个月在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 268 | als_m1_id_nbank_oth_allnum | string | 10 | 按身份证号查询近1个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 269 | als_m1_id_nbank_nsloan_allnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 270 | als_m1_id_nbank_autofin_allnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 271 | als_m1_id_nbank_sloan_allnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 272 | als_m1_id_nbank_cons_allnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 273 | als_m1_id_nbank_finlea_allnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 274 | als_m1_id_nbank_else_allnum | string | 10 | 按身份证号查询近1个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 275 | als_m1_id_nbank_orgnum | string | 10 | 按身份证号查询近1个月在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 276 | als_m1_id_nbank_p2p_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 277 | als_m1_id_nbank_mc_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 278 | als_m1_id_nbank_ca_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 279 | als_m1_id_nbank_cf_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 280 | als_m1_id_nbank_com_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 281 | als_m1_id_nbank_oth_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 282 | als_m1_id_nbank_nsloan_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 283 | als_m1_id_nbank_autofin_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 284 | als_m1_id_nbank_sloan_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 285 | als_m1_id_nbank_cons_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 286 | als_m1_id_nbank_finlea_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 287 | als_m1_id_nbank_else_orgnum | string | 10 | 按身份证号查询近1个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 288 | als_m1_id_nbank_week_allnum | string | 10 | 按身份证号查询近1个月在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 289 | als_m1_id_nbank_week_orgnum | string | 10 | 按身份证号查询近1个月在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 290 | als_m1_id_nbank_night_allnum | string | 10 | 按身份证号查询近1个月在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 291 | als_m1_id_nbank_night_orgnum | string | 10 | 按身份证号查询近1个月在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 292 | als_m1_cell_pdl_allnum | string | 10 | 按手机号查询近1个月申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 293 | als_m1_cell_pdl_orgnum | string | 10 | 按手机号查询近1个月申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 294 | als_m1_cell_caon_allnum | string | 10 | 按手机号查询近1个月申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 295 | als_m1_cell_caon_orgnum | string | 10 | 按手机号查询近1个月申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 296 | als_m1_cell_rel_allnum | string | 10 | 按手机号查询近1个月申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 297 | als_m1_cell_rel_orgnum | string | 10 | 按手机号查询近1个月申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 298 | als_m1_cell_caoff_allnum | string | 10 | 按手机号查询近1个月申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 299 | als_m1_cell_caoff_orgnum | string | 10 | 按手机号查询近1个月申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 300 | als_m1_cell_cooff_allnum | string | 10 | 按手机号查询近1个月申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 301 | als_m1_cell_cooff_orgnum | string | 10 | 按手机号查询近1个月申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 302 | als_m1_cell_af_allnum | string | 10 | 按手机号查询近1个月申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 303 | als_m1_cell_af_orgnum | string | 10 | 按手机号查询近1个月申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 304 | als_m1_cell_coon_allnum | string | 10 | 按手机号查询近1个月申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 305 | als_m1_cell_coon_orgnum | string | 10 | 按手机号查询近1个月申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 306 | als_m1_cell_oth_allnum | string | 10 | 按手机号查询近1个月申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 307 | als_m1_cell_oth_orgnum | string | 10 | 按手机号查询近1个月申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 308 | als_m1_cell_bank_selfnum | string | 10 | 按手机号查询近1个月在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 309 | als_m1_cell_bank_allnum | string | 10 | 按手机号查询近1个月在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 310 | als_m1_cell_bank_tra_allnum | string | 10 | 按手机号查询近1个月在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 311 | als_m1_cell_bank_ret_allnum | string | 10 | 按手机号查询近1个月在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 312 | als_m1_cell_bank_orgnum | string | 10 | 按手机号查询近1个月在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 313 | als_m1_cell_bank_tra_orgnum | string | 10 | 按手机号查询近1个月在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 314 | als_m1_cell_bank_ret_orgnum | string | 10 | 按手机号查询近1个月在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 315 | als_m1_cell_bank_week_allnum | string | 10 | 按手机号查询近1个月在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 316 | als_m1_cell_bank_week_orgnum | string | 10 | 按手机号查询近1个月在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 317 | als_m1_cell_bank_night_allnum | string | 10 | 按手机号查询近1个月在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 318 | als_m1_cell_bank_night_orgnum | string | 10 | 按手机号查询近1个月在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 319 | als_m1_cell_nbank_selfnum | string | 10 | 按手机号查询近1个月在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 320 | als_m1_cell_nbank_allnum | string | 10 | 按手机号查询近1个月在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 321 | als_m1_cell_nbank_p2p_allnum | string | 10 | 按手机号查询近1个月在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 322 | als_m1_cell_nbank_mc_allnum | string | 10 | 按手机号查询近1个月在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 323 | als_m1_cell_nbank_ca_allnum | string | 10 | 按手机号查询近1个月在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 324 | als_m1_cell_nbank_cf_allnum | string | 10 | 按手机号查询近1个月在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 325 | als_m1_cell_nbank_com_allnum | string | 10 | 按手机号查询近1个月在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 326 | als_m1_cell_nbank_oth_allnum | string | 10 | 按手机号查询近1个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 327 | als_m1_cell_nbank_nsloan_allnum | string | 10 | 按手机号查询近1个月在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 328 | als_m1_cell_nbank_autofin_allnum | string | 10 | 按手机号查询近1个月在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 329 | als_m1_cell_nbank_sloan_allnum | string | 10 | 按手机号查询近1个月在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 330 | als_m1_cell_nbank_cons_allnum | string | 10 | 按手机号查询近1个月在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 331 | als_m1_cell_nbank_finlea_allnum | string | 10 | 按手机号查询近1个月在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 332 | als_m1_cell_nbank_else_allnum | string | 10 | 按手机号查询近1个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 333 | als_m1_cell_nbank_orgnum | string | 10 | 按手机号查询近1个月在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 334 | als_m1_cell_nbank_p2p_orgnum | string | 10 | 按手机号查询近1个月在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 335 | als_m1_cell_nbank_mc_orgnum | string | 10 | 按手机号查询近1个月在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 336 | als_m1_cell_nbank_ca_orgnum | string | 10 | 按手机号查询近1个月在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 337 | als_m1_cell_nbank_cf_orgnum | string | 10 | 按手机号查询近1个月在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 338 | als_m1_cell_nbank_com_orgnum | string | 10 | 按手机号查询近1个月在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 339 | als_m1_cell_nbank_oth_orgnum | string | 10 | 按手机号查询近1个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 340 | als_m1_cell_nbank_nsloan_orgnum | string | 10 | 按手机号查询近1个月在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 341 | als_m1_cell_nbank_autofin_orgnum | string | 10 | 按手机号查询近1个月在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 342 | als_m1_cell_nbank_sloan_orgnum | string | 10 | 按手机号查询近1个月在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 343 | als_m1_cell_nbank_cons_orgnum | string | 10 | 按手机号查询近1个月在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 344 | als_m1_cell_nbank_finlea_orgnum | string | 10 | 按手机号查询近1个月在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 345 | als_m1_cell_nbank_else_orgnum | string | 10 | 按手机号查询近1个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 346 | als_m1_cell_nbank_week_allnum | string | 10 | 按手机号查询近1个月在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 347 | als_m1_cell_nbank_week_orgnum | string | 10 | 按手机号查询近1个月在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 348 | als_m1_cell_nbank_night_allnum | string | 10 | 按手机号查询近1个月在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 349 | als_m1_cell_nbank_night_orgnum | string | 10 | 按手机号查询近1个月在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 350 | als_m3_id_max_inteday | string | 10 | 按身份证号查询近3个月申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 351 | als_m3_id_min_inteday | string | 10 | 按身份证号查询近3个月申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 352 | als_m3_id_tot_mons | string | 10 | 按身份证号查询近3个月有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 353 | als_m3_id_avg_monnum | string | 10 | 按身份证号查询近3个月平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 354 | als_m3_id_max_monnum | string | 10 | 按身份证号查询近3个月最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 355 | als_m3_id_min_monnum | string | 10 | 按身份证号查询近3个月最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 356 | als_m3_id_pdl_allnum | string | 10 | 按身份证号查询近3个月申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 357 | als_m3_id_pdl_orgnum | string | 10 | 按身份证号查询近3个月申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 358 | als_m3_id_caon_allnum | string | 10 | 按身份证号查询近3个月申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 359 | als_m3_id_caon_orgnum | string | 10 | 按身份证号查询近3个月申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 360 | als_m3_id_rel_allnum | string | 10 | 按身份证号查询近3个月申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 361 | als_m3_id_rel_orgnum | string | 10 | 按身份证号查询近3个月申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 362 | als_m3_id_caoff_allnum | string | 10 | 按身份证号查询近3个月申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 363 | als_m3_id_caoff_orgnum | string | 10 | 按身份证号查询近3个月申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 364 | als_m3_id_cooff_allnum | string | 10 | 按身份证号查询近3个月申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 365 | als_m3_id_cooff_orgnum | string | 10 | 按身份证号查询近3个月申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 366 | als_m3_id_af_allnum | string | 10 | 按身份证号查询近3个月申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 367 | als_m3_id_af_orgnum | string | 10 | 按身份证号查询近3个月申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 368 | als_m3_id_coon_allnum | string | 10 | 按身份证号查询近3个月申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 369 | als_m3_id_coon_orgnum | string | 10 | 按身份证号查询近3个月申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 370 | als_m3_id_oth_allnum | string | 10 | 按身份证号查询近3个月申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 371 | als_m3_id_oth_orgnum | string | 10 | 按身份证号查询近3个月申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 372 | als_m3_id_bank_selfnum | string | 10 | 按身份证号查询近3个月在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 373 | als_m3_id_bank_allnum | string | 10 | 按身份证号查询近3个月在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 374 | als_m3_id_bank_tra_allnum | string | 10 | 按身份证号查询近3个月在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 375 | als_m3_id_bank_ret_allnum | string | 10 | 按身份证号查询近3个月在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 376 | als_m3_id_bank_orgnum | string | 10 | 按身份证号查询近3个月在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 377 | als_m3_id_bank_tra_orgnum | string | 10 | 按身份证号查询近3个月在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 378 | als_m3_id_bank_ret_orgnum | string | 10 | 按身份证号查询近3个月在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 379 | als_m3_id_bank_tot_mons | string | 10 | 按身份证号查询近3个月在银行机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 380 | als_m3_id_bank_avg_monnum | string | 10 | 按身份证号查询近3个月在银行机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 381 | als_m3_id_bank_max_monnum | string | 10 | 按身份证号查询近3个月在银行机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 382 | als_m3_id_bank_min_monnum | string | 10 | 按身份证号查询近3个月在银行机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 383 | als_m3_id_bank_max_inteday | string | 10 | 按身份证号查询近3个月在银行机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 384 | als_m3_id_bank_min_inteday | string | 10 | 按身份证号查询近3个月在银行机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 385 | als_m3_id_bank_week_allnum | string | 10 | 按身份证号查询近3个月在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 386 | als_m3_id_bank_week_orgnum | string | 10 | 按身份证号查询近3个月在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 387 | als_m3_id_bank_night_allnum | string | 10 | 按身份证号查询近3个月在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 388 | als_m3_id_bank_night_orgnum | string | 10 | 按身份证号查询近3个月在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 389 | als_m3_id_nbank_selfnum | string | 10 | 按身份证号查询近3个月在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 390 | als_m3_id_nbank_allnum | string | 10 | 按身份证号查询近3个月在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 391 | als_m3_id_nbank_p2p_allnum | string | 10 | 按身份证号查询近3个月在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 392 | als_m3_id_nbank_mc_allnum | string | 10 | 按身份证号查询近3个月在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 393 | als_m3_id_nbank_ca_allnum | string | 10 | 按身份证号查询近3个月在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 394 | als_m3_id_nbank_cf_allnum | string | 10 | 按身份证号查询近3个月在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 395 | als_m3_id_nbank_com_allnum | string | 10 | 按身份证号查询近3个月在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 396 | als_m3_id_nbank_oth_allnum | string | 10 | 按身份证号查询近3个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 397 | als_m3_id_nbank_nsloan_allnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 398 | als_m3_id_nbank_autofin_allnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 399 | als_m3_id_nbank_sloan_allnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 400 | als_m3_id_nbank_cons_allnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 401 | als_m3_id_nbank_finlea_allnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 402 | als_m3_id_nbank_else_allnum | string | 10 | 按身份证号查询近3个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 403 | als_m3_id_nbank_orgnum | string | 10 | 按身份证号查询近3个月在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 404 | als_m3_id_nbank_p2p_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 405 | als_m3_id_nbank_mc_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 406 | als_m3_id_nbank_ca_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 407 | als_m3_id_nbank_cf_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 408 | als_m3_id_nbank_com_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 409 | als_m3_id_nbank_oth_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 410 | als_m3_id_nbank_nsloan_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 411 | als_m3_id_nbank_autofin_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 412 | als_m3_id_nbank_sloan_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 413 | als_m3_id_nbank_cons_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 414 | als_m3_id_nbank_finlea_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 415 | als_m3_id_nbank_else_orgnum | string | 10 | 按身份证号查询近3个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 416 | als_m3_id_nbank_tot_mons | string | 10 | 按身份证号查询近3个月在非银机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 417 | als_m3_id_nbank_avg_monnum | string | 10 | 按身份证号查询近3个月在非银机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 418 | als_m3_id_nbank_max_monnum | string | 10 | 按身份证号查询近3个月在非银机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 419 | als_m3_id_nbank_min_monnum | string | 10 | 按身份证号查询近3个月在非银机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 420 | als_m3_id_nbank_max_inteday | string | 10 | 按身份证号查询近3个月在非银机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 421 | als_m3_id_nbank_min_inteday | string | 10 | 按身份证号查询近3个月在非银机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 422 | als_m3_id_nbank_week_allnum | string | 10 | 按身份证号查询近3个月在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 423 | als_m3_id_nbank_week_orgnum | string | 10 | 按身份证号查询近3个月在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 424 | als_m3_id_nbank_night_allnum | string | 10 | 按身份证号查询近3个月在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 425 | als_m3_id_nbank_night_orgnum | string | 10 | 按身份证号查询近3个月在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 426 | als_m3_cell_max_inteday | string | 10 | 按手机号查询近3个月申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 427 | als_m3_cell_min_inteday | string | 10 | 按手机号查询近3个月申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 428 | als_m3_cell_tot_mons | string | 10 | 按手机号查询近3个月有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 429 | als_m3_cell_avg_monnum | string | 10 | 按手机号查询近3个月平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 430 | als_m3_cell_max_monnum | string | 10 | 按手机号查询近3个月最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 431 | als_m3_cell_min_monnum | string | 10 | 按手机号查询近3个月最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 432 | als_m3_cell_pdl_allnum | string | 10 | 按手机号查询近3个月申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 433 | als_m3_cell_pdl_orgnum | string | 10 | 按手机号查询近3个月申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 434 | als_m3_cell_caon_allnum | string | 10 | 按手机号查询近3个月申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 435 | als_m3_cell_caon_orgnum | string | 10 | 按手机号查询近3个月申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 436 | als_m3_cell_rel_allnum | string | 10 | 按手机号查询近3个月申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 437 | als_m3_cell_rel_orgnum | string | 10 | 按手机号查询近3个月申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 438 | als_m3_cell_caoff_allnum | string | 10 | 按手机号查询近3个月申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 439 | als_m3_cell_caoff_orgnum | string | 10 | 按手机号查询近3个月申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 440 | als_m3_cell_cooff_allnum | string | 10 | 按手机号查询近3个月申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 441 | als_m3_cell_cooff_orgnum | string | 10 | 按手机号查询近3个月申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 442 | als_m3_cell_af_allnum | string | 10 | 按手机号查询近3个月申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 443 | als_m3_cell_af_orgnum | string | 10 | 按手机号查询近3个月申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 444 | als_m3_cell_coon_allnum | string | 10 | 按手机号查询近3个月申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 445 | als_m3_cell_coon_orgnum | string | 10 | 按手机号查询近3个月申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 446 | als_m3_cell_oth_allnum | string | 10 | 按手机号查询近3个月申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 447 | als_m3_cell_oth_orgnum | string | 10 | 按手机号查询近3个月申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 448 | als_m3_cell_bank_selfnum | string | 10 | 按手机号查询近3个月在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 449 | als_m3_cell_bank_allnum | string | 10 | 按手机号查询近3个月在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 450 | als_m3_cell_bank_tra_allnum | string | 10 | 按手机号查询近3个月在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 451 | als_m3_cell_bank_ret_allnum | string | 10 | 按手机号查询近3个月在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 452 | als_m3_cell_bank_orgnum | string | 10 | 按手机号查询近3个月在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 453 | als_m3_cell_bank_tra_orgnum | string | 10 | 按手机号查询近3个月在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 454 | als_m3_cell_bank_ret_orgnum | string | 10 | 按手机号查询近3个月在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 455 | als_m3_cell_bank_tot_mons | string | 10 | 按手机号查询近3个月在银行机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 456 | als_m3_cell_bank_avg_monnum | string | 10 | 按手机号查询近3个月在银行机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 457 | als_m3_cell_bank_max_monnum | string | 10 | 按手机号查询近3个月在银行机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 458 | als_m3_cell_bank_min_monnum | string | 10 | 按手机号查询近3个月在银行机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 459 | als_m3_cell_bank_max_inteday | string | 10 | 按手机号查询近3个月在银行机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 460 | als_m3_cell_bank_min_inteday | string | 10 | 按手机号查询近3个月在银行机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 461 | als_m3_cell_bank_week_allnum | string | 10 | 按手机号查询近3个月在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 462 | als_m3_cell_bank_week_orgnum | string | 10 | 按手机号查询近3个月在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 463 | als_m3_cell_bank_night_allnum | string | 10 | 按手机号查询近3个月在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 464 | als_m3_cell_bank_night_orgnum | string | 10 | 按手机号查询近3个月在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 465 | als_m3_cell_nbank_selfnum | string | 10 | 按手机号查询近3个月在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 466 | als_m3_cell_nbank_allnum | string | 10 | 按手机号查询近3个月在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 467 | als_m3_cell_nbank_p2p_allnum | string | 10 | 按手机号查询近3个月在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 468 | als_m3_cell_nbank_mc_allnum | string | 10 | 按手机号查询近3个月在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 469 | als_m3_cell_nbank_ca_allnum | string | 10 | 按手机号查询近3个月在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 470 | als_m3_cell_nbank_cf_allnum | string | 10 | 按手机号查询近3个月在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 471 | als_m3_cell_nbank_com_allnum | string | 10 | 按手机号查询近3个月在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 472 | als_m3_cell_nbank_oth_allnum | string | 10 | 按手机号查询近3个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 473 | als_m3_cell_nbank_nsloan_allnum | string | 10 | 按手机号查询近3个月在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 474 | als_m3_cell_nbank_autofin_allnum | string | 10 | 按手机号查询近3个月在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 475 | als_m3_cell_nbank_sloan_allnum | string | 10 | 按手机号查询近3个月在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 476 | als_m3_cell_nbank_cons_allnum | string | 10 | 按手机号查询近3个月在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 477 | als_m3_cell_nbank_finlea_allnum | string | 10 | 按手机号查询近3个月在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 478 | als_m3_cell_nbank_else_allnum | string | 10 | 按手机号查询近3个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 479 | als_m3_cell_nbank_orgnum | string | 10 | 按手机号查询近3个月在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 480 | als_m3_cell_nbank_p2p_orgnum | string | 10 | 按手机号查询近3个月在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 481 | als_m3_cell_nbank_mc_orgnum | string | 10 | 按手机号查询近3个月在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 482 | als_m3_cell_nbank_ca_orgnum | string | 10 | 按手机号查询近3个月在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 483 | als_m3_cell_nbank_cf_orgnum | string | 10 | 按手机号查询近3个月在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 484 | als_m3_cell_nbank_com_orgnum | string | 10 | 按手机号查询近3个月在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 485 | als_m3_cell_nbank_oth_orgnum | string | 10 | 按手机号查询近3个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 486 | als_m3_cell_nbank_nsloan_orgnum | string | 10 | 按手机号查询近3个月在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 487 | als_m3_cell_nbank_autofin_orgnum | string | 10 | 按手机号查询近3个月在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 488 | als_m3_cell_nbank_sloan_orgnum | string | 10 | 按手机号查询近3个月在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 489 | als_m3_cell_nbank_cons_orgnum | string | 10 | 按手机号查询近3个月在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 490 | als_m3_cell_nbank_finlea_orgnum | string | 10 | 按手机号查询近3个月在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 491 | als_m3_cell_nbank_else_orgnum | string | 10 | 按手机号查询近3个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 492 | als_m3_cell_nbank_tot_mons | string | 10 | 按手机号查询近3个月在非银机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 493 | als_m3_cell_nbank_avg_monnum | string | 10 | 按手机号查询近3个月在非银机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 494 | als_m3_cell_nbank_max_monnum | string | 10 | 按手机号查询近3个月在非银机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 495 | als_m3_cell_nbank_min_monnum | string | 10 | 按手机号查询近3个月在非银机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 496 | als_m3_cell_nbank_max_inteday | string | 10 | 按手机号查询近3个月在非银机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 497 | als_m3_cell_nbank_min_inteday | string | 10 | 按手机号查询近3个月在非银机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 498 | als_m3_cell_nbank_week_allnum | string | 10 | 按手机号查询近3个月在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 499 | als_m3_cell_nbank_week_orgnum | string | 10 | 按手机号查询近3个月在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 500 | als_m3_cell_nbank_night_allnum | string | 10 | 按手机号查询近3个月在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 501 | als_m3_cell_nbank_night_orgnum | string | 10 | 按手机号查询近3个月在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 502 | als_m6_id_max_inteday | string | 10 | 按身份证号查询近6个月申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 503 | als_m6_id_min_inteday | string | 10 | 按身份证号查询近6个月申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 504 | als_m6_id_tot_mons | string | 10 | 按身份证号查询近6个月有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 505 | als_m6_id_avg_monnum | string | 10 | 按身份证号查询近6个月平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 506 | als_m6_id_max_monnum | string | 10 | 按身份证号查询近6个月最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 507 | als_m6_id_min_monnum | string | 10 | 按身份证号查询近6个月最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 508 | als_m6_id_pdl_allnum | string | 10 | 按身份证号查询近6个月申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 509 | als_m6_id_pdl_orgnum | string | 10 | 按身份证号查询近6个月申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 510 | als_m6_id_caon_allnum | string | 10 | 按身份证号查询近6个月申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 511 | als_m6_id_caon_orgnum | string | 10 | 按身份证号查询近6个月申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 512 | als_m6_id_rel_allnum | string | 10 | 按身份证号查询近6个月申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 513 | als_m6_id_rel_orgnum | string | 10 | 按身份证号查询近6个月申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 514 | als_m6_id_caoff_allnum | string | 10 | 按身份证号查询近6个月申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 515 | als_m6_id_caoff_orgnum | string | 10 | 按身份证号查询近6个月申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 516 | als_m6_id_cooff_allnum | string | 10 | 按身份证号查询近6个月申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 517 | als_m6_id_cooff_orgnum | string | 10 | 按身份证号查询近6个月申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 518 | als_m6_id_af_allnum | string | 10 | 按身份证号查询近6个月申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 519 | als_m6_id_af_orgnum | string | 10 | 按身份证号查询近6个月申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 520 | als_m6_id_coon_allnum | string | 10 | 按身份证号查询近6个月申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 521 | als_m6_id_coon_orgnum | string | 10 | 按身份证号查询近6个月申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 522 | als_m6_id_oth_allnum | string | 10 | 按身份证号查询近6个月申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 523 | als_m6_id_oth_orgnum | string | 10 | 按身份证号查询近6个月申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 524 | als_m6_id_bank_selfnum | string | 10 | 按身份证号查询近6个月在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 525 | als_m6_id_bank_allnum | string | 10 | 按身份证号查询近6个月在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 526 | als_m6_id_bank_tra_allnum | string | 10 | 按身份证号查询近6个月在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 527 | als_m6_id_bank_ret_allnum | string | 10 | 按身份证号查询近6个月在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 528 | als_m6_id_bank_orgnum | string | 10 | 按身份证号查询近6个月在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 529 | als_m6_id_bank_tra_orgnum | string | 10 | 按身份证号查询近6个月在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 530 | als_m6_id_bank_ret_orgnum | string | 10 | 按身份证号查询近6个月在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 531 | als_m6_id_bank_tot_mons | string | 10 | 按身份证号查询近6个月在银行机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 532 | als_m6_id_bank_avg_monnum | string | 10 | 按身份证号查询近6个月在银行机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 533 | als_m6_id_bank_max_monnum | string | 10 | 按身份证号查询近6个月在银行机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 534 | als_m6_id_bank_min_monnum | string | 10 | 按身份证号查询近6个月在银行机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 535 | als_m6_id_bank_max_inteday | string | 10 | 按身份证号查询近6个月在银行机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 536 | als_m6_id_bank_min_inteday | string | 10 | 按身份证号查询近6个月在银行机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 537 | als_m6_id_bank_week_allnum | string | 10 | 按身份证号查询近6个月在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 538 | als_m6_id_bank_week_orgnum | string | 10 | 按身份证号查询近6个月在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 539 | als_m6_id_bank_night_allnum | string | 10 | 按身份证号查询近6个月在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 540 | als_m6_id_bank_night_orgnum | string | 10 | 按身份证号查询近6个月在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 541 | als_m6_id_nbank_selfnum | string | 10 | 按身份证号查询近6个月在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 542 | als_m6_id_nbank_allnum | string | 10 | 按身份证号查询近6个月在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 543 | als_m6_id_nbank_p2p_allnum | string | 10 | 按身份证号查询近6个月在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 544 | als_m6_id_nbank_mc_allnum | string | 10 | 按身份证号查询近6个月在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 545 | als_m6_id_nbank_ca_allnum | string | 10 | 按身份证号查询近6个月在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 546 | als_m6_id_nbank_cf_allnum | string | 10 | 按身份证号查询近6个月在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 547 | als_m6_id_nbank_com_allnum | string | 10 | 按身份证号查询近6个月在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 548 | als_m6_id_nbank_oth_allnum | string | 10 | 按身份证号查询近6个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 549 | als_m6_id_nbank_nsloan_allnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 550 | als_m6_id_nbank_autofin_allnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 551 | als_m6_id_nbank_sloan_allnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 552 | als_m6_id_nbank_cons_allnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 553 | als_m6_id_nbank_finlea_allnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 554 | als_m6_id_nbank_else_allnum | string | 10 | 按身份证号查询近6个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 555 | als_m6_id_nbank_orgnum | string | 10 | 按身份证号查询近6个月在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 556 | als_m6_id_nbank_p2p_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 557 | als_m6_id_nbank_mc_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 558 | als_m6_id_nbank_ca_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 559 | als_m6_id_nbank_cf_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 560 | als_m6_id_nbank_com_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 561 | als_m6_id_nbank_oth_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 562 | als_m6_id_nbank_nsloan_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 563 | als_m6_id_nbank_autofin_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 564 | als_m6_id_nbank_sloan_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 565 | als_m6_id_nbank_cons_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 566 | als_m6_id_nbank_finlea_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 567 | als_m6_id_nbank_else_orgnum | string | 10 | 按身份证号查询近6个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 568 | als_m6_id_nbank_tot_mons | string | 10 | 按身份证号查询近6个月在非银机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 569 | als_m6_id_nbank_avg_monnum | string | 10 | 按身份证号查询近6个月在非银机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 570 | als_m6_id_nbank_max_monnum | string | 10 | 按身份证号查询近6个月在非银机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 571 | als_m6_id_nbank_min_monnum | string | 10 | 按身份证号查询近6个月在非银机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 572 | als_m6_id_nbank_max_inteday | string | 10 | 按身份证号查询近6个月在非银机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 573 | als_m6_id_nbank_min_inteday | string | 10 | 按身份证号查询近6个月在非银机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 574 | als_m6_id_nbank_week_allnum | string | 10 | 按身份证号查询近6个月在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 575 | als_m6_id_nbank_week_orgnum | string | 10 | 按身份证号查询近6个月在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 576 | als_m6_id_nbank_night_allnum | string | 10 | 按身份证号查询近6个月在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 577 | als_m6_id_nbank_night_orgnum | string | 10 | 按身份证号查询近6个月在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 578 | als_m6_cell_max_inteday | string | 10 | 按手机号查询近6个月申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 579 | als_m6_cell_min_inteday | string | 10 | 按手机号查询近6个月申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 580 | als_m6_cell_tot_mons | string | 10 | 按手机号查询近6个月有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 581 | als_m6_cell_avg_monnum | string | 10 | 按手机号查询近6个月平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 582 | als_m6_cell_max_monnum | string | 10 | 按手机号查询近6个月最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 583 | als_m6_cell_min_monnum | string | 10 | 按手机号查询近6个月最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 584 | als_m6_cell_pdl_allnum | string | 10 | 按手机号查询近6个月申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 585 | als_m6_cell_pdl_orgnum | string | 10 | 按手机号查询近6个月申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 586 | als_m6_cell_caon_allnum | string | 10 | 按手机号查询近6个月申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 587 | als_m6_cell_caon_orgnum | string | 10 | 按手机号查询近6个月申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 588 | als_m6_cell_rel_allnum | string | 10 | 按手机号查询近6个月申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 589 | als_m6_cell_rel_orgnum | string | 10 | 按手机号查询近6个月申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 590 | als_m6_cell_caoff_allnum | string | 10 | 按手机号查询近6个月申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 591 | als_m6_cell_caoff_orgnum | string | 10 | 按手机号查询近6个月申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 592 | als_m6_cell_cooff_allnum | string | 10 | 按手机号查询近6个月申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 593 | als_m6_cell_cooff_orgnum | string | 10 | 按手机号查询近6个月申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 594 | als_m6_cell_af_allnum | string | 10 | 按手机号查询近6个月申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 595 | als_m6_cell_af_orgnum | string | 10 | 按手机号查询近6个月申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 596 | als_m6_cell_coon_allnum | string | 10 | 按手机号查询近6个月申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 597 | als_m6_cell_coon_orgnum | string | 10 | 按手机号查询近6个月申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 598 | als_m6_cell_oth_allnum | string | 10 | 按手机号查询近6个月申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 599 | als_m6_cell_oth_orgnum | string | 10 | 按手机号查询近6个月申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 600 | als_m6_cell_bank_selfnum | string | 10 | 按手机号查询近6个月在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 601 | als_m6_cell_bank_allnum | string | 10 | 按手机号查询近6个月在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 602 | als_m6_cell_bank_tra_allnum | string | 10 | 按手机号查询近6个月在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 603 | als_m6_cell_bank_ret_allnum | string | 10 | 按手机号查询近6个月在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 604 | als_m6_cell_bank_orgnum | string | 10 | 按手机号查询近6个月在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 605 | als_m6_cell_bank_tra_orgnum | string | 10 | 按手机号查询近6个月在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 606 | als_m6_cell_bank_ret_orgnum | string | 10 | 按手机号查询近6个月在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 607 | als_m6_cell_bank_tot_mons | string | 10 | 按手机号查询近6个月在银行机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 608 | als_m6_cell_bank_avg_monnum | string | 10 | 按手机号查询近6个月在银行机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 609 | als_m6_cell_bank_max_monnum | string | 10 | 按手机号查询近6个月在银行机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 610 | als_m6_cell_bank_min_monnum | string | 10 | 按手机号查询近6个月在银行机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 611 | als_m6_cell_bank_max_inteday | string | 10 | 按手机号查询近6个月在银行机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 612 | als_m6_cell_bank_min_inteday | string | 10 | 按手机号查询近6个月在银行机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 613 | als_m6_cell_bank_week_allnum | string | 10 | 按手机号查询近6个月在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 614 | als_m6_cell_bank_week_orgnum | string | 10 | 按手机号查询近6个月在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 615 | als_m6_cell_bank_night_allnum | string | 10 | 按手机号查询近6个月在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 616 | als_m6_cell_bank_night_orgnum | string | 10 | 按手机号查询近6个月在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 617 | als_m6_cell_nbank_selfnum | string | 10 | 按手机号查询近6个月在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 618 | als_m6_cell_nbank_allnum | string | 10 | 按手机号查询近6个月在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 619 | als_m6_cell_nbank_p2p_allnum | string | 10 | 按手机号查询近6个月在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 620 | als_m6_cell_nbank_mc_allnum | string | 10 | 按手机号查询近6个月在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 621 | als_m6_cell_nbank_ca_allnum | string | 10 | 按手机号查询近6个月在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 622 | als_m6_cell_nbank_cf_allnum | string | 10 | 按手机号查询近6个月在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 623 | als_m6_cell_nbank_com_allnum | string | 10 | 按手机号查询近6个月在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 624 | als_m6_cell_nbank_oth_allnum | string | 10 | 按手机号查询近6个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 625 | als_m6_cell_nbank_nsloan_allnum | string | 10 | 按手机号查询近6个月在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 626 | als_m6_cell_nbank_autofin_allnum | string | 10 | 按手机号查询近6个月在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 627 | als_m6_cell_nbank_sloan_allnum | string | 10 | 按手机号查询近6个月在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 628 | als_m6_cell_nbank_cons_allnum | string | 10 | 按手机号查询近6个月在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 629 | als_m6_cell_nbank_finlea_allnum | string | 10 | 按手机号查询近6个月在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 630 | als_m6_cell_nbank_else_allnum | string | 10 | 按手机号查询近6个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 631 | als_m6_cell_nbank_orgnum | string | 10 | 按手机号查询近6个月在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 632 | als_m6_cell_nbank_p2p_orgnum | string | 10 | 按手机号查询近6个月在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 633 | als_m6_cell_nbank_mc_orgnum | string | 10 | 按手机号查询近6个月在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 634 | als_m6_cell_nbank_ca_orgnum | string | 10 | 按手机号查询近6个月在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 635 | als_m6_cell_nbank_cf_orgnum | string | 10 | 按手机号查询近6个月在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 636 | als_m6_cell_nbank_com_orgnum | string | 10 | 按手机号查询近6个月在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 637 | als_m6_cell_nbank_oth_orgnum | string | 10 | 按手机号查询近6个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 638 | als_m6_cell_nbank_nsloan_orgnum | string | 10 | 按手机号查询近6个月在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 639 | als_m6_cell_nbank_autofin_orgnum | string | 10 | 按手机号查询近6个月在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 640 | als_m6_cell_nbank_sloan_orgnum | string | 10 | 按手机号查询近6个月在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 641 | als_m6_cell_nbank_cons_orgnum | string | 10 | 按手机号查询近6个月在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 642 | als_m6_cell_nbank_finlea_orgnum | string | 10 | 按手机号查询近6个月在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 643 | als_m6_cell_nbank_else_orgnum | string | 10 | 按手机号查询近6个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 644 | als_m6_cell_nbank_tot_mons | string | 10 | 按手机号查询近6个月在非银机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 645 | als_m6_cell_nbank_avg_monnum | string | 10 | 按手机号查询近6个月在非银机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 646 | als_m6_cell_nbank_max_monnum | string | 10 | 按手机号查询近6个月在非银机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 647 | als_m6_cell_nbank_min_monnum | string | 10 | 按手机号查询近6个月在非银机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 648 | als_m6_cell_nbank_max_inteday | string | 10 | 按手机号查询近6个月在非银机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 649 | als_m6_cell_nbank_min_inteday | string | 10 | 按手机号查询近6个月在非银机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 650 | als_m6_cell_nbank_week_allnum | string | 10 | 按手机号查询近6个月在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 651 | als_m6_cell_nbank_week_orgnum | string | 10 | 按手机号查询近6个月在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 652 | als_m6_cell_nbank_night_allnum | string | 10 | 按手机号查询近6个月在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 653 | als_m6_cell_nbank_night_orgnum | string | 10 | 按手机号查询近6个月在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 654 | als_m12_id_max_inteday | string | 10 | 按身份证号查询近12个月申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 655 | als_m12_id_min_inteday | string | 10 | 按身份证号查询近12个月申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 656 | als_m12_id_tot_mons | string | 10 | 按身份证号查询近12个月有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 657 | als_m12_id_avg_monnum | string | 10 | 按身份证号查询近12个月平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 658 | als_m12_id_max_monnum | string | 10 | 按身份证号查询近12个月最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 659 | als_m12_id_min_monnum | string | 10 | 按身份证号查询近12个月最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 660 | als_m12_id_pdl_allnum | string | 10 | 按身份证号查询近12个月申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 661 | als_m12_id_pdl_orgnum | string | 10 | 按身份证号查询近12个月申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 662 | als_m12_id_caon_allnum | string | 10 | 按身份证号查询近12个月申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 663 | als_m12_id_caon_orgnum | string | 10 | 按身份证号查询近12个月申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 664 | als_m12_id_rel_allnum | string | 10 | 按身份证号查询近12个月申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 665 | als_m12_id_rel_orgnum | string | 10 | 按身份证号查询近12个月申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 666 | als_m12_id_caoff_allnum | string | 10 | 按身份证号查询近12个月申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 667 | als_m12_id_caoff_orgnum | string | 10 | 按身份证号查询近12个月申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 668 | als_m12_id_cooff_allnum | string | 10 | 按身份证号查询近12个月申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 669 | als_m12_id_cooff_orgnum | string | 10 | 按身份证号查询近12个月申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 670 | als_m12_id_af_allnum | string | 10 | 按身份证号查询近12个月申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 671 | als_m12_id_af_orgnum | string | 10 | 按身份证号查询近12个月申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 672 | als_m12_id_coon_allnum | string | 10 | 按身份证号查询近12个月申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 673 | als_m12_id_coon_orgnum | string | 10 | 按身份证号查询近12个月申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 674 | als_m12_id_oth_allnum | string | 10 | 按身份证号查询近12个月申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 675 | als_m12_id_oth_orgnum | string | 10 | 按身份证号查询近12个月申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 676 | als_m12_id_bank_selfnum | string | 10 | 按身份证号查询近12个月在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 677 | als_m12_id_bank_allnum | string | 10 | 按身份证号查询近12个月在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 678 | als_m12_id_bank_tra_allnum | string | 10 | 按身份证号查询近12个月在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 679 | als_m12_id_bank_ret_allnum | string | 10 | 按身份证号查询近12个月在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 680 | als_m12_id_bank_orgnum | string | 10 | 按身份证号查询近12个月在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 681 | als_m12_id_bank_tra_orgnum | string | 10 | 按身份证号查询近12个月在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 682 | als_m12_id_bank_ret_orgnum | string | 10 | 按身份证号查询近12个月在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 683 | als_m12_id_bank_tot_mons | string | 10 | 按身份证号查询近12个月在银行机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 684 | als_m12_id_bank_avg_monnum | string | 10 | 按身份证号查询近12个月在银行机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 685 | als_m12_id_bank_max_monnum | string | 10 | 按身份证号查询近12个月在银行机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 686 | als_m12_id_bank_min_monnum | string | 10 | 按身份证号查询近12个月在银行机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 687 | als_m12_id_bank_max_inteday | string | 10 | 按身份证号查询近12个月在银行机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 688 | als_m12_id_bank_min_inteday | string | 10 | 按身份证号查询近12个月在银行机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 689 | als_m12_id_bank_week_allnum | string | 10 | 按身份证号查询近12个月在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 690 | als_m12_id_bank_week_orgnum | string | 10 | 按身份证号查询近12个月在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 691 | als_m12_id_bank_night_allnum | string | 10 | 按身份证号查询近12个月在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 692 | als_m12_id_bank_night_orgnum | string | 10 | 按身份证号查询近12个月在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 693 | als_m12_id_nbank_selfnum | string | 10 | 按身份证号查询近12个月在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 694 | als_m12_id_nbank_allnum | string | 10 | 按身份证号查询近12个月在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 695 | als_m12_id_nbank_p2p_allnum | string | 10 | 按身份证号查询近12个月在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 696 | als_m12_id_nbank_mc_allnum | string | 10 | 按身份证号查询近12个月在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 697 | als_m12_id_nbank_ca_allnum | string | 10 | 按身份证号查询近12个月在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 698 | als_m12_id_nbank_cf_allnum | string | 10 | 按身份证号查询近12个月在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 699 | als_m12_id_nbank_com_allnum | string | 10 | 按身份证号查询近12个月在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 700 | als_m12_id_nbank_oth_allnum | string | 10 | 按身份证号查询近12个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 701 | als_m12_id_nbank_nsloan_allnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 702 | als_m12_id_nbank_autofin_allnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 703 | als_m12_id_nbank_sloan_allnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 704 | als_m12_id_nbank_cons_allnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 705 | als_m12_id_nbank_finlea_allnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 706 | als_m12_id_nbank_else_allnum | string | 10 | 按身份证号查询近12个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 707 | als_m12_id_nbank_orgnum | string | 10 | 按身份证号查询近12个月在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 708 | als_m12_id_nbank_p2p_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 709 | als_m12_id_nbank_mc_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 710 | als_m12_id_nbank_ca_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 711 | als_m12_id_nbank_cf_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 712 | als_m12_id_nbank_com_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 713 | als_m12_id_nbank_oth_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 714 | als_m12_id_nbank_nsloan_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 715 | als_m12_id_nbank_autofin_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 716 | als_m12_id_nbank_sloan_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 717 | als_m12_id_nbank_cons_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 718 | als_m12_id_nbank_finlea_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 719 | als_m12_id_nbank_else_orgnum | string | 10 | 按身份证号查询近12个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 720 | als_m12_id_nbank_tot_mons | string | 10 | 按身份证号查询近12个月在非银机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 721 | als_m12_id_nbank_avg_monnum | string | 10 | 按身份证号查询近12个月在非银机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 722 | als_m12_id_nbank_max_monnum | string | 10 | 按身份证号查询近12个月在非银机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 723 | als_m12_id_nbank_min_monnum | string | 10 | 按身份证号查询近12个月在非银机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 724 | als_m12_id_nbank_max_inteday | string | 10 | 按身份证号查询近12个月在非银机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 725 | als_m12_id_nbank_min_inteday | string | 10 | 按身份证号查询近12个月在非银机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 726 | als_m12_id_nbank_week_allnum | string | 10 | 按身份证号查询近12个月在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 727 | als_m12_id_nbank_week_orgnum | string | 10 | 按身份证号查询近12个月在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 728 | als_m12_id_nbank_night_allnum | string | 10 | 按身份证号查询近12个月在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 729 | als_m12_id_nbank_night_orgnum | string | 10 | 按身份证号查询近12个月在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 730 | als_m12_cell_max_inteday | string | 10 | 按手机号查询近12个月申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 731 | als_m12_cell_min_inteday | string | 10 | 按手机号查询近12个月申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 732 | als_m12_cell_tot_mons | string | 10 | 按手机号查询近12个月有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 733 | als_m12_cell_avg_monnum | string | 10 | 按手机号查询近12个月平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 734 | als_m12_cell_max_monnum | string | 10 | 按手机号查询近12个月最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 735 | als_m12_cell_min_monnum | string | 10 | 按手机号查询近12个月最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 736 | als_m12_cell_pdl_allnum | string | 10 | 按手机号查询近12个月申请线上小额现金贷的次数 | 取"空/N"无申请记录N申请记录详情 |
| 737 | als_m12_cell_pdl_orgnum | string | 10 | 按手机号查询近12个月申请线上小额现金贷的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 738 | als_m12_cell_caon_allnum | string | 10 | 按手机号查询近12个月申请线上现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 739 | als_m12_cell_caon_orgnum | string | 10 | 按手机号查询近12个月申请线上现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 740 | als_m12_cell_rel_allnum | string | 10 | 按手机号查询近12个月申请信用卡类信用卡的次数 | 取"空/N"无申请记录N申请记录详情 |
| 741 | als_m12_cell_rel_orgnum | string | 10 | 按手机号查询近12个月申请信用卡类信用卡的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 742 | als_m12_cell_caoff_allnum | string | 10 | 按手机号查询近12个月申请线下现金分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 743 | als_m12_cell_caoff_orgnum | string | 10 | 按手机号查询近12个月申请线下现金分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 744 | als_m12_cell_cooff_allnum | string | 10 | 按手机号查询近12个月申请线下消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 745 | als_m12_cell_cooff_orgnum | string | 10 | 按手机号查询近12个月申请线下消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 746 | als_m12_cell_af_allnum | string | 10 | 按手机号查询近12个月申请汽车金融的次数 | 取"空/N"无申请记录N申请记录详情 |
| 747 | als_m12_cell_af_orgnum | string | 10 | 按手机号查询近12个月申请汽车金融的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 748 | als_m12_cell_coon_allnum | string | 10 | 按手机号查询近12个月申请线上消费分期的次数 | 取"空/N"无申请记录N申请记录详情 |
| 749 | als_m12_cell_coon_orgnum | string | 10 | 按手机号查询近12个月申请线上消费分期的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 750 | als_m12_cell_oth_allnum | string | 10 | 按手机号查询近12个月申请其他的次数 | 取"空/N"无申请记录N申请记录详情 |
| 751 | als_m12_cell_oth_orgnum | string | 10 | 按手机号查询近12个月申请其他的机构数 | 取"空/N"无申请记录N申请记录详情 |
| 752 | als_m12_cell_bank_selfnum | string | 10 | 按手机号查询近12个月在本机构(本机构为银行)的申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他银行机构有申请N申请记录详情 |
| 753 | als_m12_cell_bank_allnum | string | 10 | 按手机号查询近12个月在银行机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 754 | als_m12_cell_bank_tra_allnum | string | 10 | 按手机号查询近12个月在银行机构-传统银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 755 | als_m12_cell_bank_ret_allnum | string | 10 | 按手机号查询近12个月在银行机构-网络零售银行申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 756 | als_m12_cell_bank_orgnum | string | 10 | 按手机号查询近12个月在银行机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 757 | als_m12_cell_bank_tra_orgnum | string | 10 | 按手机号查询近12个月在银行机构-传统银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 758 | als_m12_cell_bank_ret_orgnum | string | 10 | 按手机号查询近12个月在银行机构-网络零售银行申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 759 | als_m12_cell_bank_tot_mons | string | 10 | 按手机号查询近12个月在银行机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 760 | als_m12_cell_bank_avg_monnum | string | 10 | 按手机号查询近12个月在银行机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 761 | als_m12_cell_bank_max_monnum | string | 10 | 按手机号查询近12个月在银行机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 762 | als_m12_cell_bank_min_monnum | string | 10 | 按手机号查询近12个月在银行机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 763 | als_m12_cell_bank_max_inteday | string | 10 | 按手机号查询近12个月在银行机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 764 | als_m12_cell_bank_min_inteday | string | 10 | 按手机号查询近12个月在银行机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 765 | als_m12_cell_bank_week_allnum | string | 10 | 按手机号查询近12个月在银行机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 766 | als_m12_cell_bank_week_orgnum | string | 10 | 按手机号查询近12个月在银行机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 767 | als_m12_cell_bank_night_allnum | string | 10 | 按手机号查询近12个月在银行机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 768 | als_m12_cell_bank_night_orgnum | string | 10 | 按手机号查询近12个月在银行机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 769 | als_m12_cell_nbank_selfnum | string | 10 | 按手机号查询近12个月在本机构(本机构为非银)申请次数 | 取"空/0/N"无申请记录0本机构无申请记录但其他非银机构有申请N申请记录详情 |
| 770 | als_m12_cell_nbank_allnum | string | 10 | 按手机号查询近12个月在非银机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 771 | als_m12_cell_nbank_p2p_allnum | string | 10 | 按手机号查询近12个月在非银机构-改制机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 772 | als_m12_cell_nbank_mc_allnum | string | 10 | 按手机号查询近12个月在非银机构-小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 773 | als_m12_cell_nbank_ca_allnum | string | 10 | 按手机号查询近12个月在非银机构-现金类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 774 | als_m12_cell_nbank_cf_allnum | string | 10 | 按手机号查询近12个月在非银机构-消费类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 775 | als_m12_cell_nbank_com_allnum | string | 10 | 按手机号查询近12个月在非银机构-代偿类分期机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 776 | als_m12_cell_nbank_oth_allnum | string | 10 | 按手机号查询近12个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 777 | als_m12_cell_nbank_nsloan_allnum | string | 10 | 按手机号查询近12个月在非银机构-持牌网络小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 778 | als_m12_cell_nbank_autofin_allnum | string | 10 | 按手机号查询近12个月在非银机构-持牌汽车金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 779 | als_m12_cell_nbank_sloan_allnum | string | 10 | 按手机号查询近12个月在非银机构-持牌小贷机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 780 | als_m12_cell_nbank_cons_allnum | string | 10 | 按手机号查询近12个月在非银机构-持牌消费金融机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 781 | als_m12_cell_nbank_finlea_allnum | string | 10 | 按手机号查询近12个月在非银机构-持牌融资租赁机构申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 782 | als_m12_cell_nbank_else_allnum | string | 10 | 按手机号查询近12个月在非银机构-其他申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 783 | als_m12_cell_nbank_orgnum | string | 10 | 按手机号查询近12个月在非银机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 784 | als_m12_cell_nbank_p2p_orgnum | string | 10 | 按手机号查询近12个月在非银机构-改制机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 785 | als_m12_cell_nbank_mc_orgnum | string | 10 | 按手机号查询近12个月在非银机构-小贷申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 786 | als_m12_cell_nbank_ca_orgnum | string | 10 | 按手机号查询近12个月在非银机构-现金类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 787 | als_m12_cell_nbank_cf_orgnum | string | 10 | 按手机号查询近12个月在非银机构-消费类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 788 | als_m12_cell_nbank_com_orgnum | string | 10 | 按手机号查询近12个月在非银机构-代偿类分期申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 789 | als_m12_cell_nbank_oth_orgnum | string | 10 | 按手机号查询近12个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 790 | als_m12_cell_nbank_nsloan_orgnum | string | 10 | 按手机号查询近12个月在非银机构-持牌网络小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 791 | als_m12_cell_nbank_autofin_orgnum | string | 10 | 按手机号查询近12个月在非银机构-持牌汽车金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 792 | als_m12_cell_nbank_sloan_orgnum | string | 10 | 按手机号查询近12个月在非银机构-持牌小贷机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 793 | als_m12_cell_nbank_cons_orgnum | string | 10 | 按手机号查询近12个月在非银机构-持牌消费金融机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 794 | als_m12_cell_nbank_finlea_orgnum | string | 10 | 按手机号查询近12个月在非银机构-持牌融资租赁机构申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 795 | als_m12_cell_nbank_else_orgnum | string | 10 | 按手机号查询近12个月在非银机构-其他申请机构数 | 取"空/N"无申请记录N申请记录详情 |
| 796 | als_m12_cell_nbank_tot_mons | string | 10 | 按手机号查询近12个月在非银机构有申请记录月份数 | 取"空/N"无申请记录N申请记录详情 |
| 797 | als_m12_cell_nbank_avg_monnum | string | 10 | 按手机号查询近12个月在非银机构平均每月申请次数(有申请月份平均) | 取"空/N"无申请记录N申请记录详情(保留两位小数) |
| 798 | als_m12_cell_nbank_max_monnum | string | 10 | 按手机号查询近12个月在非银机构最大月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 799 | als_m12_cell_nbank_min_monnum | string | 10 | 按手机号查询近12个月在非银机构最小月申请次数 | 取"空/N"无申请记录N申请记录详情 |
| 800 | als_m12_cell_nbank_max_inteday | string | 10 | 按手机号查询近12个月在非银机构申请最大间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 801 | als_m12_cell_nbank_min_inteday | string | 10 | 按手机号查询近12个月在非银机构申请最小间隔天数 | 取"空/0-N"无申请记录0-N申请记录详情 |
| 802 | als_m12_cell_nbank_week_allnum | string | 10 | 按手机号查询近12个月在非银机构周末申请次数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 803 | als_m12_cell_nbank_week_orgnum | string | 10 | 按手机号查询近12个月在非银机构周末申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请周末无申请N申请记录详情 |
| 804 | als_m12_cell_nbank_night_allnum | string | 10 | 按手机号查询近12个月在非银机构夜间申请次数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 805 | als_m12_cell_nbank_night_orgnum | string | 10 | 按手机号查询近12个月在非银机构夜间申请机构数 | 取"空/0/N"无申请记录0其它时间段有申请夜间无申请N申请记录详情 |
| 806 | als_fst_id_bank_inteday | string | 10 | 按身份证号查询,距最早在银行机构申请的间隔天数 | 取"空/N"无申请记录N申请记录详情 |
| 807 | als_fst_id_nbank_inteday | string | 10 | 按身份证号查询,距最早在非银行机构申请的间隔天数 | 取"空/N"无申请记录N申请记录详情 |
| 808 | als_fst_cell_bank_inteday | string | 10 | 按手机号查询,距最早在银行机构申请的间隔天数 | 取"空/N"无申请记录N申请记录详情 |
| 809 | als_fst_cell_nbank_inteday | string | 10 | 按手机号查询,距最早在非银机构申请的间隔天数 | 取"空/N"无申请记录N申请记录详情 |
| 810 | als_lst_id_bank_inteday | string | 10 | 按身份证号查询,距最近在银行机构申请的间隔天数 | 取"空/N"无申请记录N申请记录详情 |
| 811 | als_lst_id_bank_consnum | string | 10 | 按身份证号查询,最近开始在银行机构连续申请的次数 | 取"空/N"无申请记录N申请记录详情 |
| 812 | als_lst_id_bank_csinteday | string | 10 | 按身份证号查询,最近开始在银行机构连续申请的持续天数 | 取"空/N"无申请记录N申请记录详情 |
| 813 | als_lst_id_nbank_inteday | string | 10 | 按身份证号查询,距最近在非银行机构申请的间隔天数 | 取"空/N"无申请记录N申请记录详情 |
| 814 | als_lst_id_nbank_consnum | string | 10 | 按身份证号查询,最近开始在非银行机构连续申请的次数 | 取"空/N"无申请记录N申请记录详情 |
| 815 | als_lst_id_nbank_csinteday | string | 10 | 按身份证号查询,最近开始在非银机构连续申请的持续天数 | 取"空/N"无申请记录N申请记录详情 |
| 816 | als_lst_cell_bank_inteday | string | 10 | 按手机号查询,距最近在银行机构申请的间隔天数 | 取"空/N"无申请记录N申请记录详情 |
| 817 | als_lst_cell_bank_consnum | string | 10 | 按手机号查询,最近开始在银行机构连续申请的次数 | 取"空/N"无申请记录N申请记录详情 |
| 818 | als_lst_cell_bank_csinteday | string | 10 | 按手机号查询,最近开始在银行机构连续申请的持续天数 | 取"空/N"无申请记录N申请记录详情 |
| 819 | als_lst_cell_nbank_inteday | string | 10 | 按手机号查询,距最近在非银机构申请的间隔天数 | 取"空/N"无申请记录N申请记录详情 |
| 820 | als_lst_cell_nbank_consnum | string | 10 | 按手机号查询,最近开始在非银机构连续申请的次数 | 取"空/N"无申请记录N申请记录详情 |
| 821 | als_lst_cell_nbank_csinteday | string | 10 | 按手机号查询,最近开始在非银机构连续申请的持续天数 | 取"空/N"无申请记录N申请记录详情 |

View File

@@ -1,119 +0,0 @@
## 返回字段说明
| 参数 | 必选 | 类型 | 描述 | 说明 |
|------|------|------|------|------|
| apply_report_detail | 否 | object | 申请行为详情 | |
| A22160001 | 否 | string | 申请准入分 | 1-1000 |
| A22160002 | 否 | string | 申请准入置信度 | 50-100 |
| A22160003 | 否 | string | 申请命中机构数 | 0/1/2/3/4/... |
| A22160004 | 否 | string | 申请命中消金类机构数 | 0/1/2/极简3/4/... |
| A22160005 | 否极简 | string | 申请命中网络贷款类机构数 | 0/1/2/3/4/... |
| A22160006 | 否 | string | 机构总查询次数 | 0/1/2/3/4/... |
| A22160007 | 否 | string | 最近一次查询时间 | yyyy-mm |
| A22160008 | 否 | string | 近1个月机构总查询笔数 | 极简0/1/2/3/4/... |
| A22160009 | 否 | string | 近3个月机构总查询笔数 | 0/1/2/3/4/... |
| A22160010 | 否 | string | 近6个月机构总查询笔数 | 0/1/2/3/4/... |
| 参数 | 必选 | 类型 | 描述 | 说明 |
|------|------|------|------|------|
| behavior_report_detail | 否 | object | 放款还款详情 | |
| B22170001 | 否 | string | 贷款行为分 | 1-1000 |
| B22170002 | 否 | string | 极简近1个月贷款笔数 | 0/1极简/2/3/4/... |
| B22170003 | 否 | string | 近3个月贷款笔数 | 0/1/2/3/4/... |
| B22170004 | 否 | string | 近6个月贷款笔数 | 0/1/2/3/4/... |
| B22170005 | 否 | string | 近12个月贷款笔数 | 0/1/2/3/4/... |
| B22170006 | 否 | string | 近24个月贷款笔数 | 0/1/2/3/4/... |
| B22170007 | 否 | string | 近1个月贷款总金额 | 参考金额区间 |
| B22170008 | 否 | string | 近3个月贷款总金额 | 参考金额区间 |
| B22170009 | 否 | string | 近6个月贷款极简总金额 | 参考金额区间 |
| B22170010 | 否 | string | 近12个月贷款总金额 | 参考金额区间 |
| B22170011 | 否 | string | 近24个月贷款总金额 | 参考金额区间 |
| B22170012 | 否 | string | 近12个月贷款金额在1k及以下的笔数 | 0/1/2/3/4/... |
| B22170013 | 否 | string | 近12个月贷款金额在1k-3k的笔数 | 0/1/2/3/4/... |
| B22170014 | 否 | string | 近12个月贷款金额在3k-10k的笔数 | 0/1/2/3/4/... |
| B22170015 | 极简否 | string | 近12个月贷款金额在1w以上的笔数 | 0/1/2/3/4/... |
| B22170016 | 否 | string | 近1个月贷款机构数 | 0/极简1/2/3/4/... |
|极简 B22170017 | 否 | string | 近3个月贷款机构数 | 0/1/2/3/4/... |
| B22170018 | 否 | string | 近6个月贷款机构数 | 0/1/2/3/4/... |
| B22170019 | 否 | string | 近12个月贷款机构极简数 | 0/1/2/3/4/... |
| B22170020 | 否 | string | 近24个月贷款机构数 | 0/1/2/3/4/... |
| B22170021 | 否 | string | 近12个月消金类贷款机构数 | 0/1/2/3/4/... |
| B22170022 | 否 | string | 近24个月消金类贷款机构数 | 0/1/2/3/4/... |
| B22170023 | 否 | string | 近12个月网贷类贷款机构数 | 0/1/2/3/4/... |
| B22170024 | 否 | string | 近24个月网贷类贷款机构数 | 0/1/2/3/4/... |
| B22170025 | 否 | string | 近6个月M0+逾期贷款笔数 | 0/1/2/3/4/... |
| B22170026 | 否 | string | 近12个月M0+逾期贷款笔数 | 0/1/2/3极简/4/... |
| B22170027 | 否 | string | 近24个月M0+逾期贷款笔数 | 0/1/2/3/4/... |
| B221极简70028 | 否 | string | 近6个月M1+逾期贷款笔数 | 0/1/2/3/4/... |
| B22170029 | 否 | string | 近12个月M1+逾期贷款笔数 | 0/1/2/3/4/... |
| B22170030 | 否 | string | 近24个月M1+逾期贷款笔数 | 0/1/2/3/4/... |
| B22170031 | 否 | string | 近6个月累计逾期金额 | 参考金额区间 |
| B22170032 | 否 | string | 近12个月累计逾期金额 | 参考金额区间 |
| B22170033 | 否 | string | 近24个月累计逾期金额 | 参考金额区间 |
| B22170034 | 否 | string | 正常还款订单数占贷款总订单数比例 | |
| B22170035 | 否 | string | 近1个月失败扣款笔数 | 0/1/2/3/4/... |
| B22170036 | 否 | string | 近3个月失败扣款笔数 | 0/1/2/3/4/... |
| B22170037 | 否 | string | 近6个月失败扣款笔数 | 0/1/2/3/4极简/... |
| B22170038 | 否 | string | 极简近12个月失败扣款极简笔数 | 0/1/2/3/4/... |
| B22170039 | 否 | string | 近24个月失败扣款笔数 | 0/1/2/3/4/... |
| B22170040 | 否 | string | 近1个月履约贷款总金额 | 参考金额区间 |
| B22170041 | 否 | string | 近3个月履约贷款总金额 | 参考金额区间 |
| B22170042 | 否 | string | 近6个月履约贷款总金额 | 参考金额区间 |
| B22170043 | 否 | string | 近12个月履约贷款总金额 | 参考金额区间 |
| B22170044 | 否 | string | 近24个月履约贷款总金额 | 参考金额区间 |
| B22170045 | 否 | string | 近极简1个月履约贷款次数 | 0/1/2/3/4/... |
| B22170046 | 否 | string | 近3个月履约贷款次数 | 0/1/2/3/4/... |
| B22170047 | 否 | string | 近6个月履约贷款次数 | 0/1/2/3/4/... |
| B22170048 | 否 | string | 近12个月履约贷款次数 | 0/1/2/3/4/... |
| B22170049 | 否 | string | 近24个月履约贷款次数 | 0/1/2/3/4/... |
| B22170050 | 否 | string | 最近一次履约距今天数 | 参考天数区间 |
| B22170051 | 否 | string | 贷款行为置信度 | 50-100 |
| B22170052 | 否 | string | 贷款已结清订单数 | 0/1/2/3/4/... |
| B22170053 | 否 | string | 信用贷款时长 | 0/1/2/3/4/... |
| B22170054 | 否 | string | 最近一次贷款放款时间 | yyyy-mm |
| 参数 | 必选 | 类型 | 描述 | 说明 |
|------|------|------|------|------|
| current_report_detail | 否 | object | 信用详情 | |
| C22180001 | 否 | string | 网贷授信额度 | 0/100/200/300… |
| C22180002 | 否 | string | 网贷额度置信度 | 50-100 |
| C22180003 | 否 | string | 网络贷款类机构数 | 0/1/2/3/4/... |
| C22180004 | 否 | string极简 | 网络贷款类产品数 | 0/1/2/3/4/... |
| C22180005 | 否 | string | 网络贷款机构最大授信额度 | 0/100/200/300… |
| C22180006 | 否 | string | 网络贷款机构平均授信额度 | 0/100/200/300… |
| C22180007 | 否 | string | 消金贷款类机构数 | 0/1/2/3/4/... |
| C22180008 | 否 | string | 消金贷款类产品数 | 0/1/2/3/4/... |
| C22180009 | 否 | string | 消金贷款类机构最大授信额度 | 0/100/200/300… |
| C22180010 | 否 | string | 消金贷款类机构平均授信额度 | 0/100/200/300… |
| C22180011 | 否 | string | 消金建议授信额度 | 0/100/200/300… |
| C22180012 | 否 | string | 消金额度置信度 | 50-100 |
### 金额区间描述
| 金额区间 | 描述 |
|----------|------|
| 0 | 0 |
| (0,500) | (0,500) |
| [500,1000) | [500,1000) |
| [1000,2000) | [1000,2000) |
| [2000,3000) | [2000,3000) |
| [3000,5000) | [3000,5000) |
| [5000,10000) | [5000,10000) |
| [10000,20000) | [10000,20000) |
| [20000,30000) | [20000,30000) |
| [30000,50000) | [30000,50000) |
| [50000,+) | [50000,+) |
### 天数区间描述
| 天数区间 | 描述 |
|----------|------|
| 0 | 0 |
| (0,7] | (0,7] |
| (7,15] | (7,15] |
| (15,30] | (15,30] |
| (30,60] | (30,60] |
| (60,90] | (60,90] |
| (90,120] | (90,120] |
| (120,150] | (120,150] |
| (150,180] | (150,180] |
| (180,360] | (180,360] |
| (360,+) | (360,+) |

View File

@@ -0,0 +1,218 @@
# 消费交易特征-附件
## 消费交易特征
| 输出内容 | 字段类型 | 解释 |
|:-----------|:----------------------------------------------------------------------------------------------------|:---------------------------------------------------|
| 参数 | 中文 | nan |
| tap001 | 名下常⽤卡数量(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap002 | 名下常⽤⼿机号数量(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap003 | 最近⼀次成功交易时间(年⽉⽇) | 历史上最近一次成功交易的时间 |
| tap004 | 最近⼀次成功交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | 历史上最近一次成功交易的金额 |
| tap005 | 最近⼀次成功交易⼀级⾏业(详见5.3⾏业码表) | 5.3行业码表 |
| tap006 | 初次⽹络交易时间(年⽉) | 初次网络交易的时间,包含支付成功和未成功的交易 |
| tap007 | 单⽇最⾼交易额(区间化输出具体映射见5.2输出字段映射词典) | 历史上单日最大交易额 |
| tap008 | 平均单⽇交易额(区间化输出具体映射见5.2输出字段映射词典) | 历史单日平均交易额 |
| tap009 | 最⾼单⽉交易额(区间化输出具体映射见5.2输出字段映射词典) | 近12个月单月交易的最大金额 |
| tap010 | 平均单⽉交易额(区间化输出具体映射见5.2输出字段映射词典) | 近12个月平均单月的交易金额 |
| tap011 | 平均单⽉交易笔数(区间化输出具体映射见5.2输出字段映射词典) | 近12个月平均单月的交易笔数 |
| tap012 | 历史交易订单数(区间化输出具体映射见5.2输出字段映射词典) | 计算所有支付状态的交易,包含支付成功和未成功的交易 |
| tap013 | 历史交易总⾦额(区间化输出具体映射见5.2输出字段映射词典) | 历史上支付成功的交易总金额 |
| tap014 | 过去⼀年发⽣交易⽉份数 | nan |
| tap015 | ⽀付成功率:⽀付成功次数/(⽀付成功次数+⽀付失败次数) | nan |
| tap016 | 交易笔数最多的⾏业分类(详见5.3⾏业码表) | 5.3行业码表 |
| tap017 | 交易⾦额最⾼的⾏业分类(详见5.3⾏业码表) | 5.3行业码表 |
| tap018 | ⽣活购物类消费笔数最多的⾦额区间(详见5.4⾦额区间表) | 5.4金额区间表 |
| tap019 | 出⾏旅游类消费笔数最多的⾦额区间(详见5.4⾦额区间表) | 5.4金额区间表 |
| tap020 | ⾦融及实物投资类消费笔数最多的⾦额区间(详见5.4⾦额区间表) | 5.4金额区间表 |
| tap021 | 教育培训类消费笔数最多的⾦额区间(详见5.4⾦额区间表) | 5.4金额区间表 |
| tap022 | 娱乐服务类消费笔数最多的⾦额区间(详见5.4⾦额区间表) | 5.4金额区间表 |
| tap023 | 其他类消费笔数最多的⾦额区间(详见5.4⾦额区间表) | 5.4金额区间表 |
| tap024 | 保险类交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap025 | 房屋租赁类交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap026 | 航旅类交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap027 | 互⾦平台交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap028 | 消费能⼒评分(计算过去12个⽉的消费⾏为评分200分为过去⼀年⽆成功交易240分~900分为有成功交易评分) | nan |
| tap029 | ⽤户标签(详见5.5⽤户标签表) | nan |
| tap030 | 个⼈消费偏好:0-⽆成功交易其他-详见5.3⾏业码表 | 5.3行业码表 |
| tap031 | 近3个⽉交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap032 | 近6个⽉交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap033 | 近12个⽉交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap034 | 近3个⽉交易笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap035 | 近6个⽉交易笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap036 | 近12个⽉交易笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap037 | 近3个⽉发⽣交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap038 | 近3个⽉发⽣交易的⼀级⾏业数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap039 | 近3个⽉发⽣交易的⼆级⾏业数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap040 | 近6个⽉发⽣交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap041 | 近6个⽉发⽣交易的⼀级⾏业数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap042 | 近6个⽉发⽣交易的⼆级⾏业数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap043 | 近12个⽉发⽣交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap044 | 近12个⽉发⽣交易的⼀级⾏业数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap045 | 近12个⽉发⽣交易的⼆级⾏业数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap046 | 近12个⽉在⽣活购物类交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap047 | 近12个⽉在出⾏旅游类交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap048 | 近12个⽉在⾦融及实物投资类交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap049 | 近12个⽉在教育培训类交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap050 | 近12个⽉在娱乐服务类交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap051 | 近12个⽉在其他交易的商户数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap052 | 近3个⽉最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap053 | 近6个⽉最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap054 | 近12个⽉最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap055 | 近12个⽉在⽣活购物类的最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap056 | 近12个⽉在出⾏旅游类的最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap057 | 近12个⽉在⾦融及实物投资类的最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap058 | 近12个⽉在教育培训类的最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap059 | 近12个⽉在娱乐服务类的最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap060 | 近12个⽉在其他的最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap061 | 近12个⽉平均单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap062 | 近12个⽉在⽣活购物类的平均单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap063 | 近12个⽉在出⾏旅游类的平均单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap064 | 近12个⽉在⾦融及实物投资类的平均单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap065 | 近12个⽉在教育培训类的平均单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap066 | 近12个⽉在娱乐服务类的平均单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap067 | 近12个⽉在其他的平均单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap068 | 近6个⽉在⽣活购物类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap069 | 近6个⽉在出⾏旅游类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap070 | 近6个⽉在⾦融及实物投资类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap071 | 近6个⽉在教育培训类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap072 | 近6个⽉在娱乐服务类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap073 | 近6个⽉在其他交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap074 | 近6个⽉在⽣活购物类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap075 | 近6个⽉在出⾏旅游类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap076 | 近6个⽉在⾦融及实物投资类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap077 | 近6个⽉在教育培训类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap078 | 近6个⽉在娱乐服务类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap079 | 近6个⽉在其他交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap080 | 近12个⽉在⽣活购物类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap081 | 近12个⽉在出⾏旅游类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap082 | 近12个⽉在⾦融及实物投资类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap083 | 近12个⽉在教育培训类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap084 | 近12个⽉在娱乐服务类交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap085 | 近12个⽉在其他交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap086 | 近12个⽉在⽣活购物类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap087 | 近12个⽉在出⾏旅游类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap088 | 近12个⽉在⾦融及实物投资类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap089 | 近12个⽉在教育培训类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap090 | 近12个⽉在娱乐服务类交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap091 | 近12个⽉在其他交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap092 | 近12个⽉在⼯作⽇⼯作时段交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap093 | 近12个⽉在⼯作⽇⾮⼯作时段交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap094 | 近12个⽉在⾮⼯作⽇交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap095 | 近12个⽉在⼯作⽇⼯作时段交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap096 | 近12个⽉在⼯作⽇⾮⼯作时段交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap097 | 近12个⽉在⾮⼯作⽇交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap098 | 近6个⽉使⽤借记卡交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap099 | 近6个⽉使⽤贷记卡交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap100 | 近12个⽉使⽤借记卡交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap101 | 近12个⽉使⽤贷记卡交易的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap102 | 近6个⽉使⽤借记卡交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap103 | 近6个⽉使⽤贷记卡交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap104 | 近12个⽉使⽤借记卡交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap105 | 近12个⽉使⽤贷记卡交易的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap106 | 近12个⽉使⽤借记卡的最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap107 | 近12个⽉使⽤贷记卡的最⾼单笔交易⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap108 | 近12个⽉消费⾦额在[0,50]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap109 | 近12个⽉消费⾦额在(50,200]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap110 | 近12个⽉消费⾦额在(200,1000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap111 | 近12个⽉消费⾦额在(1000,5000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap112 | 近12个⽉消费⾦额在(5000,10000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap113 | 近12个⽉消费⾦额在10000+的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap114 | 近12个⽉使⽤借记卡在⽣活购物类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap115 | 近12个⽉使⽤借记卡在出⾏旅游类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap116 | 近12个⽉使⽤借记卡在⾦融及实物投资类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap117 | 近12个⽉使⽤借记卡在教育培训类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap118 | 近12个⽉使⽤借记卡在娱乐服务类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap119 | 近12个⽉使⽤借记卡在其他消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap120 | 近12个⽉使⽤贷记卡在⽣活购物类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap121 | 近12个⽉使⽤贷记卡在出⾏旅游类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap122 | 近12个⽉使⽤贷记卡在⾦融及实物投资类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap123 | 近12个⽉使⽤贷记卡在教育培训类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap124 | 近12个⽉使⽤贷记卡在娱乐服务类消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap125 | 近12个⽉使⽤贷记卡在其他消费的⾦额(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap126 | 近12个⽉在⽣活购物类交易的⾦额在[0,50]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap127 | 近12个⽉在⽣活购物类交易的⾦额在(50,200]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap128 | 近12个⽉在⽣活购物类交易的⾦额在(200,1000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap129 | 近12个⽉在⽣活购物类交易的⾦额在(1000,5000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap130 | 近12个⽉在⽣活购物类交易的⾦额在(5000,10000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap131 | 近12个⽉在⽣活购物类交易的⾦额在10000+的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap132 | 近12个⽉在出⾏旅游类交易的⾦额在[0,50]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap133 | 近12个⽉在出⾏旅游类交易的⾦额在(50,200]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap134 | 近12个⽉在出⾏旅游类交易的⾦额在(200,1000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap135 | 近12个⽉在出⾏旅游类交易的⾦额在(1000,5000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap136 | 近12个⽉在出⾏旅游类交易的⾦额在(5000,10000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap137 | 近12个⽉在出⾏旅游类交易的⾦额在10000+的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap138 | 近12个⽉在⾦融及实物投资类交易的⾦额在[0,50]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap139 | 近12个⽉在⾦融及实物投资类交易的⾦额在(50,200]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap140 | 近12个⽉在⾦融及实物投资类交易的⾦额在(200,1000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap141 | 近12个⽉在⾦融及实物投资类交易的⾦额在(1000,5000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap142 | 近12个⽉在⾦融及实物投资类交易的⾦额在(5000,10000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap143 | 近12个⽉在⾦融及实物投资类交易的⾦额在10000+的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap144 | 近12个⽉在教育培训类交易的⾦额在[0,50]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap145 | 近12个⽉在教育培训类交易的⾦额在(50,200]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap146 | 近12个⽉在教育培训类交易的⾦额在(200,1000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap147 | 近12个⽉在教育培训类交易的⾦额在(1000,5000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap148 | 近12个⽉在教育培训类交易的⾦额在(5000,10000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap149 | 近12个⽉在教育培训类交易的⾦额在10000+的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap150 | 近12个⽉在娱乐服务类交易的⾦额在[0,50]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap151 | 近12个⽉在娱乐服务类交易的⾦额在(50,200]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap152 | 近12个⽉在娱乐服务类交易的⾦额在(200,1000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap153 | 近12个⽉在娱乐服务类交易的⾦额在(1000,5000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap154 | 近12个⽉在娱乐服务类交易的⾦额在(5000,10000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap155 | 近12个⽉在娱乐服务类交易的⾦额在10000+的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap156 | 近12个⽉在其他交易的⾦额在[0,50]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap157 | 近12个⽉在其他交易的⾦额在(50,200]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap158 | 近12个⽉在其他交易的⾦额在(200,1000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap159 | 近12个⽉在其他交易的⾦额在(1000,5000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap160 | 近12个⽉在其他交易的⾦额在(5000,10000]的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
| tap161 | 近12个⽉在其他交易的⾦额在10000+的笔数(区间化输出具体映射见5.2输出字段映射词典) | nan |
## 5.2 输出字段映射词典
| 字段名称 | 字段代码 | 数据类型 | 说明 | 备注 | 示例 | 其他 |
|:-----------|:-----------|:---------------------------------|-------:|:-------|:-------|:-----------|
| 变量名 | 输出值 | 原始值区间范围(⾦额区间单位:元) | nan | 变量名 | 输出值 | 阈值范围 |
| tap001 | 1 | (0,2) | nan | tap134 | 1 | (0,3] |
| nan | 2 | [2,3) | nan | nan | 2 | (3,5] |
| nan | 3 | [3,Inf) | nan | nan | 3 | (5,8] |
| nan | 1 | (0,3] | nan | nan | 4 | (8,10] |
| tap002 | 2 | (3,5] | nan | nan | 5 | (10,15] |
| nan | 3 | (5,8] | nan | nan | 6 | (15,20] |
| nan | 4 | (8,10] | nan | nan | 7 | (20,30] |
| nan | 5 | (10,15] | nan | nan | 8 | (30,50] |
| nan | 6 | (15,20] | nan | nan | 9 | (50,100] |
| nan | 7 | (20,30] | nan | nan | 10 | (100,200] |
| nan | 8 | (30,50] | nan | nan | 11 | (200,500] |
| nan | 9 | (50,100] | nan | nan | 12 | (500,1000] |
| nan | 10 | (100,200] | nan | nan | 13 | (1000,Inf) |
| nan | 11 | (200,500] | nan | tap135 | 1 | (0,3] |
| nan | 12 | (500,1000] | nan | nan | 2 | (3,5] |
| nan | 13 | (1000,Inf) | nan | nan | 3 | (5,8] |
| tap004 | 1 | (0,100) | nan | nan | 4 | (8,10] |
| nan | 2 | [100,500) | nan | nan | 5 | (10,15] |
| nan | 3 | [500,2000) | nan | nan | 6 | (15,20] |
| nan | 4 | [2000,Inf) | nan | nan | 7 | (20,30] |
| tap007 | 1 | (0,500) | nan | nan | 8 | (30,50] |
| nan | 2 | [500,1000) | nan | nan | 9 | (50,100] |
| nan | 3 | [1000,2000) | nan | nan | 10 | (100,200] |
| nan | 4 | [2000,2500) | nan | nan | 11 | (200,500] |
| nan | 5 | [2500,Inf) | nan | nan | 12 | (500,1000] |
| tap008 | 1 | (0,100) | nan | nan | 13 | (1000,Inf) |
| nan | 2 | [100,1700) | nan | tap136 | 1 | (0,3] |
| nan | 3 | [1700,Inf) | nan | nan | 2 | (3,5] |
| tap009 | 1 | (0,1000) | nan | nan | 3 | (5,8] |
## 补充表
| 行业码表 | 行业代码 | 行业描述 | 金额区间表 | 金额区间代码 | 金额区间描述 | 用户标签 | 标签描述 |
|:-----------|:-----------------|-----------:|:-------------|:---------------|---------------:|:-----------|:-------------------------|
| 值 | 描述 | nan | 值 | 描述 | nan | 值 | 描述 |
| SHOP | ⽣活购物类 | nan | A | (10000,Inf) | nan | A | 低价值⽇间交易⽤户 |
| TRV | 出⾏旅游类 | nan | B | (5000,10000] | nan | B | ⾼频低价值⽇间交易⽤户 |
| FIN | ⾦融及实物投资类 | nan | C | (1000,5000] | nan | C | 低频⾼价值⽇间交易⽤户 |
| EDU | 教育培训类 | nan | D | (200,1000] | nan | D | ⾼价值⽇间交易⽤户 |
| ENT | 娱乐服务类 | nan | E | (50,200] | nan | E | 低价值⾮⽇间交易⽤户 |
| OTH | 其他 | nan | F | [0,50] | nan | F | ⾼频低价值⾮⽇间交易⽤户 |
| nan | nan | nan | nan | nan | nan | G | 低频⾼价值⾮⽇间交易⽤户 |
| nan | nan | nan | nan | nan | nan | H | 低价值⽇间交易⽤户 |

View File

@@ -1,217 +0,0 @@
## 一、响应参数
此接口用于验证个人在各类金融机构和法院系统的信用状况,包括法院失信、银行风险、非银机构风险等多个维度。
| 序号 | 参数名 | 类型 | 中文名称 | 取值解释 |
|------|--------|------|----------|----------|
| 2 | id_court_bad | string | 通过身份证查询,法院失信人 | 取“空/0”0命中未命中 |
| 3 | id_court_executed | string | 通过身份证查询,法院被执行人 | 取“空/0”0命中未命中 |
| 4 | id_bank_bad | string | 通过身份证查询,银行(含信用卡)中风险 | 取“空/0”0命中未命中 |
| 5 | id_bank_overdue | string | 通过身份证查询,银行(含信用卡)一般风险 | 取“空/0”0命中未命中 |
| 6 | id_bank_lost | string | 通过身份证查询,银行(含信用卡)高风险 | 取“空/0”0命中未命中 |
| 7 | id_nbank_bad | string | 通过身份证查询,非银(含全部非银类型)中风险 | 取“空/0”0命中未命中 |
| 8 | id_nbank_overdue | string | 通过身份证查询,非银(含全部非银类型)一般风险 | 取“空/0”0命中未命中 |
| 9 | id_nbank_lost | string | 通过身份证查询,非银(含全部非银类型)高风险 | 取“空/0”0命中未命中 |
| 10 | id_nbank_nsloan_bad | string | 通过身份证查询,非银-持牌网络小贷中风险 | 取“空/0”0命中未命中 |
| 11 | id_nbank_nsloan_overdue | string | 通过身份证查询,非银-持牌网络小贷一般风险 | 取“空/0”0命中未命中 |
| 12 | id_nbank_nsloan_lost | string | 通过身份证查询,非银-持牌网络小贷高风险 | 取“空/0”0命中未命中 |
| 13 | id_nbank_sloan_bad | string | 通过身份证查询,非银-持牌小贷中风险 | 取“空/0”0命中未命中 |
| 14 | id_nbank_sloan_overdue | string | 通过身份证查询,非银-持牌小贷一般风险 | 取“空/0”0命中未命中 |
| 15 | id_nbank_sloan_lost | string | 通过身份证查询,非银-持牌小贷高风险 | 取“空/0”0命中未命中 |
| 16 | id_nbank_cons_bad | string | 通过身份证查询,非银-持牌消费金融中风险 | 取“空/0”0命中未命中 |
| 17 | id_nbank_cons_overdue | string | 通过身份证查询,非银-持牌消费金融一般风险 | 取“空/0”0命中未命中 |
| 18 | id_nbank_cons_lost | string | 通过身份证查询,非银-持牌消费金融高风险 | 取“空/0”0命中未命中 |
| 19 | id_nbank_finlea_bad | string | 通过身份证查询,非银-持牌融资租赁中风险 | 取“空/0”0命中未命中 |
| 20 | id_nbank_finlea_overdue | string | 通过身份证查询,非银-持牌融资租赁一般风险 | 取“空/0”0命中未命中 |
| 21 | id_nbank_finlea_lost | string | 通过身份证查询,非银-持牌融资租赁高风险 | 取“空/0”0命中未命中 |
| 22 | id_nbank_autofin_bad | string | 通过身份证查询,非银-持牌汽车金融中风险 | 取“空/0”0命中未命中 |
| 23 | id_nbank_autofin_overdue | string | 通过身份证查询,非银-持牌汽车金融一般风险 | 取“空/0”0命中未命中 |
| 24 | id_nbank_autofin_lost | string | 通过身份证查询,非银-持牌汽车金融高风险 | 取“空/0”0命中未命中 |
| 25 | id_nbank_other_bad | string | 通过身份证查询,非银-其他中风险 | 取“空/0”0命中未命中 |
| 26 | id_nbank_other_overdue | string | 通过身份证查询,非银-其他一般风险 | 取“空/0”0命中未命中 |
| 27 | id_nbank_other_lost | string | 通过身份证查询,非银-其他高风险 | 取“空/0”0命中未命中 |
| 28 | cell_bank_bad | string | 通过手机号查询,银行(含信用卡)中风险 | 取“空/0”0命中未命中 |
| 29 | cell_bank_overdue | string | 通过手机号查询,银行(含信用卡)一般风险 | 取“空/0”0命中未命中 |
| 30 | cell_bank_lost | string | 通过手机号查询,银行(含信用卡)高风险 | 取“空/0”0命中未命中 |
| 31 | cell_nbank_bad | string | 通过手机号查询,非银(含全部非银类型)中风险 | 取“空/0”0命中未命中 |
| 32 | cell_nbank_overdue | string | 通过手机号查询,非银(含全部非银类型)一般风险 | 取“空/0”0命中未命中 |
| 33 | cell_nbank_lost | string | 通过手机号查询,非银(含全部非银类型)高风险 | 取“空/0”0命中未命中 |
| 34 | cell_nbank_nsloan_bad | string | 通过手机号查询,非银-持牌网络小贷中风险 | 取“空/0”0命中未命中 |
| 35 | cell_nbank_nsloan_overdue | string | 通过手机号查询,非银-持牌网络小贷一般风险 | 取“空/0”0命中未命中 |
| 36 | cell_nbank_nsloan_lost | string | 通过手机号查询,非银-持牌网络小贷高风险 | 取“空/0”0命中未命中 |
| 37 | cell_nbank_sloan_bad | string | 通过手机号查询,非银-持牌小贷中风险 | 取“空/0”0命中未命中 |
| 38 | cell_nbank_sloan_overdue | string | 通过手机号查询,非银-持牌小贷一般风险 | 取“空/0”0命中未命中 |
| 39 | cell_nbank_sloan_lost | string | 通过手机号查询,非银-持牌小贷高风险 | 取“空/0”0命中未命中 |
| 40 | cell_nbank_cons_bad | string | 通过手机号查询,非银-持牌消费金融中风险 | 取“空/0”0命中未命中 |
| 41 | cell_nbank_cons_overdue | string | 通过手机号查询,非银-持牌消费金融一般风险 | 取“空/0”0命中未命中 |
| 42 | cell_nbank_cons_lost | string | 通过手机号查询,非银-持牌消费金融高风险 | 取“空/0”0命中未命中 |
| 43 | cell_nbank_finlea_bad | string | 通过手机号查询,非银-持牌融资租赁中风险 | 取“空/0”0命中未命中 |
| 44 | cell_nbank_finlea_overdue | string | 通过手机号查询,非银-持牌融资租赁一般风险 | 取“空/0”0命中未命中 |
| 45 | cell_nbank_finlea_lost | string | 通过手机号查询,非银-持牌融资租赁高风险 | 取“空/0”0命中未命中 |
| 46 | cell_nbank_autofin_bad | string | 通过手机号查询,非银-持牌汽车金融中风险 | 取“空/0”0命中未命中 |
| 47 | cell_nbank_autofin_overdue | string | 通过手机号查询,非银-持牌汽车金融一般风险 | 取“空/0”0命中未命中 |
| 48 | cell_nbank_autofin_lost | string | 通过手机号查询,非银-持牌汽车金融高风险 | 取“空/0”0命中未命中 |
| 49 | cell_nbank_other_bad | string | 通过手机号查询,非银-其他中风险 | 取“空/0”0命中未命中 |
| 50 | cell_nbank_other_overdue | string | 通过手机号查询,非银-其他一般风险 | 取“空/0”0命中未命中 |
| 51 | cell_nbank_other_lost | string | 通过手机号查询,非银-其他高风险 | 取“空/0”0命中未命中 |
| 52 | id_court_bad_allnum | string | 通过身份证查询,法院失信人命中次数 | 取“1-N”返回命中次数 |
| 53 | id_court_executed_allnum | string | 通过身份证查询,法院被执行人命中次数 | 取“1-N”返回命中次数 |
| 54 | id_bank_bad_allnum | string | 通过身份证查询,银行(含信用卡)中风险命中次数 | 取“1-N”返回命中次数 |
| 55 | id_bank_overdue_allnum | string | 通过身份证查询,银行(含信用卡)一般风险命中次数 | 取“1-N”返回命中次数 |
| 56 | id_bank_lost_allnum | string | 通过身份证查询,银行(含信用卡)高风险命中次数 | 取“1-N”返回命中次数 |
| 57 | id_nbank_bad_allnum | string | 通过身份证查询,非银(含全部非银类型)中风险命中次数 | 取“1-N”返回命中次数 |
| 58 | id_nbank_overdue_allnum | string | 通过身份证查询,非银(含全部非银类型)一般风险命中次数 | 取“1-N”返回命中次数 |
| 59 | id_nbank_lost_allnum | string | 通过身份证查询,非银(含全部非银类型)高风险命中次数 | 取“1-N”返回命中次数 |
| 60 | id_nbank_nsloan_bad_allnum | string | 通过身份证查询,非银-持牌网络小贷中风险命中次数 | 取“1-N”返回命中次数 |
| 61 | id_nbank_nsloan_overdue_allnum | string | 通过身份证查询,非银-持牌网络小贷一般风险命中次数 | 取“1-N”返回命中次数 |
| 62 | id_nbank_nsloan_lost_allnum | string | 通过身份证查询,非银-持牌网络小贷高风险命中次数 | 取“1-N”返回命中次数 |
| 63 | id_nbank_sloan_bad_allnum | string | 通过身份证查询,非银-持牌小贷中风险命中次数 | 取“1-N”返回命中次数 |
| 64 | id_nbank_sloan_overdue_allnum | string | 通过身份证查询,非银-持牌小贷一般风险命中次数 | 取“1-N”返回命中次数 |
| 65 | id_nbank_sloan_lost_allnum | string | 通过身份证查询,非银-持牌小贷高风险命中次数 | 取“1-N”返回命中次数 |
| 66 | id_nbank_cons_bad_allnum | string | 通过身份证查询,非银-持牌消费金融中风险命中次数 | 取“1-N”返回命中次数 |
| 67 | id_nbank_cons_overdue_allnum | string | 通过身份证查询,非银-持牌消费金融一般风险命中次数 | 取“1-N”返回命中次数 |
| 68 | id_nbank_cons_lost_allnum | string | 通过身份证查询,非银-持牌消费金融高风险命中次数 | 取“1-N”返回命中次数 |
| 69 | id_nbank_finlea_bad_allnum | string | 通过身份证查询,非银-持牌融资租赁中风险命中次数 | 取“1-N”返回命中次数 |
| 70 | id_nbank_finlea_overdue_allnum | string | 通过身份证查询,非银-持牌融资租赁一般风险命中次数 | 取“1-N”返回命中次数 |
| 71 | id_nbank_finlea_lost_allnum | string | 通过身份证查询,非银-持牌融资租赁高风险命中次数 | 取“1-N”返回命中次数 |
| 72 | id_nbank_autofin_bad_allnum | string | 通过身份证查询,非银-持牌汽车金融中风险命中次数 | 取“1-N”返回命中次数 |
| 73 | id_nbank_autofin_overdue_allnum | string | 通过身份证查询,非银-持牌汽车金融一般风险命中次数 | 取“1-N”返回命中次数 |
| 74 | id_nbank_autofin_lost_allnum | string | 通过身份证查询,非银-持牌汽车金融高风险命中次数 | 取“1-N”返回命中次数 |
| 75 | id_nbank_other_bad_allnum | string | 通过身份证查询,非银-其他中风险命中次数 | 取“1-N”返回命中次数 |
| 76 | id_nbank_other_overdue_allnum | string | 通过身份证查询,非银-其他一般风险命中次数 | 取“1-N”返回命中次数 |
| 77 | id_nbank_other_lost_allnum | string | 通过身份证查询,非银-其他高风险命中次数 | 取“1-N”返回命中次数 |
| 78 | cell_bank_bad_allnum | string | 通过手机号查询,银行(含信用卡)中风险命中次数 | 取“1-N”返回命中次数 |
| 79 | cell_bank_overdue_allnum | string | 通过手机号查询,银行(含信用卡)一般风险命中次数 | 取“1-N”返回命中次数 |
| 80 | cell_bank_lost_allnum | string | 通过手机号查询,银行(含信用卡)高风险命中次数 | 取“1-N”返回命中次数 |
| 81 | cell_nbank_bad_allnum | string | 通过手机号查询,非银(含全部非银类型)中风险命中次数 | 取“1-N”返回命中次数 |
| 82 | cell_nbank_overdue_allnum | string | 通过手机号查询,非银(含全部非银类型)一般风险命中次数 | 取“1-N”返回命中次数 |
| 83 | cell_nbank_lost_allnum | string | 通过手机号查询,非银(含全部非银类型)高风险命中次数 | 取“1-N”返回命中次数 |
| 84 | cell_nbank_nsloan_bad_allnum | string | 通过手机号查询,非银-持牌网络小贷中风险命中次数 | 取“1-N”返回命中次数 |
| 85 | cell_nbank_nsloan_overdue_allnum | string | 通过手机号查询,非银-持牌网络小贷一般风险命中次数 | 取“1-N”返回命中次数 |
| 86 | cell_nbank_nsloan_lost_allnum | string | 通过手机号查询,非银-持牌网络小贷高风险命中次数 | 取“1-N”返回命中次数 |
| 87 | cell_nbank_sloan_bad_allnum | string | 通过手机号查询,非银-持牌小贷中风险命中次数 | 取“1-N”返回命中次数 |
| 88 | cell_nbank_sloan_overdue_allnum | string | 通过手机号查询,非银-持牌小贷一般风险命中次数 | 取“1-N”返回命中次数 |
| 89 | cell_nbank_sloan_lost_allnum | string | 通过手机号查询,非银-持牌小贷高风险命中次数 | 取“1-N”返回命中次数 |
| 90 | cell_nbank_cons_bad_allnum | string | 通过手机号查询,非银-持牌消费金融中风险命中次数 | 取“1-N”返回命中次数 |
| 91 | cell_nbank_cons_overdue_allnum | string | 通过手机号查询,非银-持牌消费金融一般风险命中次数 | 取“1-N”返回命中次数 |
| 92 | cell_nbank_cons_lost_allnum | string | 通过手机号查询,非银-持牌消费金融高风险命中次数 | 取“1-N”返回命中次数 |
| 93 | cell_nbank_finlea_bad_allnum | string | 通过手机号查询,非银-持牌融资租赁中风险命中次数 | 取“1-N”返回命中次数 |
| 94 | cell_nbank_finlea_overdue_allnum | string | 通过手机号查询,非银-持牌融资租赁一般风险命中次数 | 取“1-N”返回命中次数 |
| 95 | cell_nbank_finlea_lost_allnum | string | 通过手机号查询,非银-持牌融资租赁高风险命中次数 | 取“1-N”返回命中次数 |
| 96 | cell_nbank_autofin_bad_allnum | string | 通过手机号查询,非银-持牌汽车金融中风险命中次数 | 取“1-N”返回命中次数 |
| 97 | cell_nbank_autofin_overdue_allnum | string | 通过手机号查询,非银-持牌汽车金融一般风险命中次数 | 取“1-N”返回命中次数 |
| 98 | cell_nbank_autofin_lost_allnum | string | 通过手机号查询,非银-持牌汽车金融高风险命中次数 | 取“1-N”返回命中次数 |
| 99 | cell_nbank_other_bad_allnum | string | 通过手机号查询,非银-其他中风险命中次数 | 取“1-N”返回命中次数 |
| 100 | cell_nbank_other_overdue_allnum | string | 通过手机号查询,非银-其他一般风险命中次数 | 取“1-N”返回命中次数 |
| 101 | cell_nbank_other_lost_allnum | string | 通过手机号查询,非银-其他高风险命中次数 | 取“1-N”返回命中次数 |
| 102 | id_court_bad_time | string | 通过身份证查询,法院失信人距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 103 | id_court_executed_time | string | 通过身份证查询,法院被执行人距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 104 | id_bank_bad_time | string | 通过身份证查询,银行(含信用卡)中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 105 | id_bank_overdue_time | string | 通过身份证查询,银行(含信用卡)一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 106 | id_bank_lost_time | string | 通过身份证查询,银行(含信用卡)高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 107 | id_nbank_bad_time | string | 通过身份证查询,非银(含全部非银类型)中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 108 | id_nbank_overdue_time | string | 通过身份证查询,非银(含全部非银类型)一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 109 | id_nbank_lost_time | string | 通过身份证查询,非银(含全部非银类型)高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 110 | id_nbank_nsloan_bad_time | string | 通过身份证查询,非银-持牌网络小贷中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 111 | id_nbank_nsloan_overdue_time | string | 通过身份证查询,非银-持牌网络小贷一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 112 | id_nbank_nsloan_lost_time | string | 通过身份证查询,非银-持牌网络小贷高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 113 | id_nbank_sloan_bad_time | string | 通过身份证查询,非银-持牌小贷中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 114 | id_nbank_sloan_overdue_time | string | 通过身份证查询,非银-持牌小贷一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 115 | id_nbank_sloan_lost_time | string | 通过身份证查询,非银-持牌小贷高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 116 | id_nbank_cons_bad_time | string | 通过身份证查询,非银-持牌消费金融中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 117 | id_nbank_cons_overdue_time | string | 通过身份证查询,非银-持牌消费金融一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 118 | id_nbank_cons_lost_time | string | 通过身份证查询,非银-持牌消费金融高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 119 | id_nbank_finlea_bad_time | string | 通过身份证查询,非银-持牌融资租赁中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 120 | id_nbank_finlea_overdue_time | string | 通过身份证查询,非银-持牌融资租赁一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 121 | id_nbank_finlea_lost_time | string | 通过身份证查询,非银-持牌融资租赁高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 122 | id_nbank_autofin_bad_time | string | 通过身份证查询,非银-持牌汽车金融中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 123 | id_nbank_autofin_overdue_time | string | 通过身份证查询,非银-持牌汽车金融一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 124 | id_nbank_autofin_lost_time | string | 通过身份证查询,非银-持牌汽车金融高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 125 | id_nbank_other_bad_time | string | 通过身份证查询,非银-其他中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 126 | id_nbank_other_overdue_time | string | 通过身份证查询,非银-其他一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 127 | id_nbank_other_lost_time | string | 通过身份证查询,非银-其他高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 128 | cell_bank_bad_time | string | 通过手机号查询,银行(含信用卡)中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 129 | cell_bank_overdue_time | string | 通过手机号查询,银行(含信用卡)一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 130 | cell_bank_lost_time | string | 通过手机号查询,银行(含信用卡)高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 131 | cell_nbank_bad_time | string | 通过手机号查询,非银(含全部非银类型)中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 132 | cell_nbank_overdue_time | string | 通过手机号查询,非银(含全部非银类型)一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 133 | cell_nbank_lost_time | string | 通过手机号查询,非银(含全部非银类型)高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 134 | cell_nbank_nsloan_bad_time | string | 通过手机号查询,非银-持牌网络小贷中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 135 | cell_nbank_nsloan_overdue_time | string | 通过手机号查询,非银-持牌网络小贷一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 136 | cell_nbank_nsloan_lost_time | string | 通过手机号查询,非银-持牌网络小贷高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 137 | cell_nbank_sloan_bad_time | string | 通过手机号查询,非银-持牌小贷中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 138 | cell_nbank_sloan_overdue_time | string | 通过手机号查询,非银-持牌小贷一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 139 | cell_nbank_sloan_lost_time | string | 通过手机号查询,非银-持牌小贷高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 140 | cell_nbank_cons_bad_time | string | 通过手机号查询,非银-持牌消费金融中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 141 | cell_nbank_cons_overdue_time | string | 通过手机号查询,非银-持牌消费金融一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 142 | cell_nbank_cons_lost_time | string | 通过手机号查询,非银-持牌消费金融高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 143 | cell_nbank_finlea_bad_time | string | 通过手机号查询,非银-持牌融资租赁中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 144 | cell_nbank_finlea_overdue_time | string | 通过手机号查询,非银-持牌融资租赁一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 145 | cell_nbank_finlea_lost_time | string | 通过手机号查询,非银-持牌融资租赁高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 146 | cell_nbank_autofin_bad_time | string | 通过手机号查询,非银-持牌汽车金融中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 147 | cell_nbank_autofin_overdue_time | string | 通过手机号查询,非银-持牌汽车金融一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 148 | cell_nbank_autofin_lost_time | string | 通过手机号查询,非银-持牌汽车金融高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 149 | cell_nbank_other_bad_time | string | 通过手机号查询,非银-其他中风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 150 | cell_nbank_other_overdue_time | string | 通过手机号查询,非银-其他一般风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 151 | cell_nbank_other_lost_time | string | 通过手机号查询,非银-其他高风险距今时间 | 取“0-N”单位返回最近一次命中距查询时间 |
| 152 | Rule_final_decision | string | 最終決策結果 | "final_weight"="0""final_decision"="Accept"(通过);"final_weight">="80""final_decision"="Reject"(拒绝);"0"<"final_weight"<"80""final_decision"="Review"(复议) |
| 153 | Rule_final_weight | string | 最终规则评分 | 取值范围为大于0的整数 |
| 154 | Rule_name_odr0000331 | string | 近两年命中法院失信人 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 155 | Rule_weight_odr0000331 | string | 近两年命中法院失信人权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 156 | Rule_name_odr0000332 | string | 两年前命中法院失信人 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 157 | Rule_weight_odr0000332 | string | 两年前命中法院失信人权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 158 | Rule_name_odr0000333 | string | 近两年命中法院被执行人 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 159 | Rule_weight_odr0000333 | string | 近两年命中法院被执行人权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 160 | Rule_name_odr0000334 | string | 两年前命中法院被执行人 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 161 | Rule_weight_odr0000334 | string | 两年前命中法院被执行人权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 162 | Rule_name_odr0000335 | string | 近两年命中银行高风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 163 | Rule_weight_odr0000335 | string | 近两年命中银行高风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 164 | Rule_name_odr0000336 | string | 两年前命中银行高风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 165 | Rule_weight_odr0000336 | string | 两年前命中银行高风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 166 | Rule_name_odr0000337 | string | 近两年命中银行中风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 167 | Rule_weight_odr0000337 | string | 近两年命中银行中风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 168 | Rule_name_odr0000338 | string | 两年前命中银行中风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 169 | Rule_weight_odr0000338 | string | 两年前命中银行中风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 170 | Rule_name_odr0000339 | string | 近两年命中银行一般风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 171 | Rule_weight_odr0000339 | string | 近两年命中银行一般风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 172 | Rule_name_odr0000340 | string | 两年前命中银行一般风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 173 | Rule_weight_odr0000340 | string | 两年前命中银行一般风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 174 | Rule_name_odr0000341 | string | 近两年命中非银高风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 175 | Rule_weight_odr0000341 | string | 近两年命中非银高风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 176 | Rule_name_odr0000342 | string | 两年前命中非银高风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 177 | Rule_weight_odr0000342 | string | 两年前命中非银高风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 178 | Rule_name_odr0000343 | string | 近两年命中非银中风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 179 | Rule_weight_odr0000343 | string | 近两年命中非银中风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 180 | Rule_name_odr0000344 | string | 两年前命中非银中风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 181 | Rule_weight_odr0000344 | string | 两年前命中非银中风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 182 | Rule_name_odr0000345 | string | 近两年命中非银一般风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 183 | Rule_weight_odr0000345 | string | 近两年命中非银一般风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 184 | Rule_name_odr0000346 | string | 两年前命中非银一般风险 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 185 | Rule_weight_odr0000346 | string | 两年前命中非银一般风险权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 186 | Rule_name_odr0000347 | string | 命中银行中风险次数较多 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 187 | Rule_weight_odr0000347 | string | 命中银行中风险次数较多权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 188 | Rule_name_odr0000348 | string | 命中银行一般风险次数较多 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 189 | Rule_weight_odr0000348 | string | 命中银行一般风险次数较多权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 190 | Rule_name_odr0000349 | string | 命中非银中风险次数较多 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 191 | Rule_weight_odr0000349 | string | 命中非银中风险次数较多权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
| 192 | Rule_name_odr0000350 | string | 命中非银一般风险次数较多 | 命中规则名称如命中多条规则则出现多条odrxxxxxxx为10位规则编号) |
| 193 | Rule_weight_odr0000350 | string | 命中非银一般风险次数较多权重 | 命中规则权重如命中多条规则则出现多条odrxxxxxxx为10位规则编号 |
## 参数说明
1. 所有参数均通过身份证号码进行查询
2. 返回值为"空"表示未命中相关风险名单
3. 返回值为"0"表示命中相关风险名单
4. 部分参数涉及不同类型的金融机构风险,包括:
- 银行(含信用卡)风险
- 非银机构风险(包括持牌消费金融、融资租赁、汽车金融等)
- 法院相关风险(失信人、被执行人等)
## 使用场景
该接口适用于金融机构在信贷审批、风险控制等场景中,对客户信用状况进行综合评估。

View File

@@ -1,403 +0,0 @@
## 返回字段说明
## 1. data(响应主体结构)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| baseInfo | object | 基本信息 |
| standLiveInfo | object | 身份信息核验 |
| checkSuggest | String | 审核建议 |
| fraudScore | int | 反欺诈评分,-1未命中分值在【0100】之间得分越高风险越高<br>【059】低风险<br>6079】中风险<br>80100】高风险 |
| creditScore | int | 信用评分,-1未命中分值在【3001000】之间得分越高信用越好<br>【300499】信用一般<br>500799】信用良好<br>8001000】信用较好 |
| verifyRule | String | 验证规则,风险等级为【低风险】【中风险】【高风险】 |
| fraudRule | String | 反欺诈规则,风险等级为【低风险】【中风险】【高风险】 |
| riskWarning | object | 规则风险提示 |
| elementVerificationDetail | object | 要素、运营商、公安重点人员核查产品-命中详情 |
| riskSupervision | object | 关联风险监督 |
| overdueRiskProduct | object | 逾期风险产品-命中详情 |
| multCourtInfo | object | 司法风险核验产品-命中详情 |
| loanEvaluationVerificationDetail | object | 借贷评估产品-命中详情 |
| leasingRiskAssessment | object | 租赁风险评估产品-命中详情 |
## 2. baseInfo基本信息
| 字段名 | 类型 | 说明 |
|--------|------|------|
| name | String | 姓名 |
| age | int | 年龄 |
| sex | String | 性别 |
| idCard | String | 身份证号码 |
| phone | String | 手机号码 |
| location | String | 户籍所在地 |
| phoneArea | String | 号码归属地 |
| status | int | 号码状态:-1:未查得; 0:空号; 1:实号; 2:停机; 3:库无; 4:沉默号; 5:风险号 |
| channel | String | 手机运营商 |
## 3. standLiveInfo身份信息核验
| 字段名 | 类型 | 说明 |
|--------|------|------|
| finalAuthResult | String | 实名核验:"1":【不一致或不存在】、"0":【一致】 |
| verification | String | 运营商三要素核验:"1":【不一致】、"0":【一致】 |
| inTime | String | 运营商在网时长0 [0,3)、3 [3,6)、6 [6,12)、12 [12,24)、24 [24,+)、99 手机号已离网/新入网/手机状态异常、-1 查无记录 |
## 4. riskWarning规则风险提示
| 字段名 | 类型 | 说明 |
|--------|------|------|
| totalRiskCounts | int | 总风险点数量 |
| **要素核查** | | |
| idCardTwoElementMismatch | int | 身份证二要素信息对比结果不一致(高风险) |
| phoneThreeElementMismatch | int | 手机三要素简版不一致(高风险) |
| **运营商核验** | | |
| shortPhoneDuration | int | 手机在网时长极短(高风险) |
| shortPhoneDurationSlight | int | 手机在网时长较短(高风险) |
| idCardPhoneProvinceMismatch | int | 身份证号手机号归属省不一致(中风险) |
| noPhoneDuration | int | 手机在网状态为风险号(高风险) |
| **公安重点人员核验** | | |
| hasCriminalRecord | int | 该用户有前科(高风险) |
| isEconomyFront | int | 该用户有经济类前科(高风险) |
| isDisrupSocial | int | 该用户有妨害社会管理秩序(高风险) |
| isKeyPerson | int | 该用户为重点人员(高风险) |
| isTrafficRelated | int | 该用户为涉交通案件(高风险) |
| isAntiFraudInfo | int | 该用户为涉赌涉诈(中风险) |
| level | String | 该用户命中案件(详情见附录) |
| **逾期风险** | | |
| hitHighRiskBankLastTwoYears | int | 近两年命中银行高风险(高风险) |
| hitHighRiskNonBankLastTwoYears | int | 近两年命中非银高风险(高风险) |
| hitCurrentOverdue | int | 该用户命中当前逾期(中风险) |
| **司法风险核验** | | |
| hitCivilCase | int | 该用户命中民事案件(高风险) |
| hitCriminalRisk | int | 该用户命中刑事风险(高风险) |
| hitAdministrativeCase | int | 该用户命中行政案件(高风险) |
| hitPreservationReview | int | 该用户命中保全审查(高风险) |
| hitExecutionCase | int | 该用户命中执行案件(高风险) |
| hitBankruptcyAndLiquidation | int | 该用户命中强制清算与破产案件(高风险) |
| hitDirectlyUnderCase | int | 该用户命中直辖案件(高风险) |
| hitCompensationCase | int | 该用户命中赔偿案件(高风险) |
| **借贷评估** | | |
| frequentApplicationRecent | int | 近期申请机构极为频繁(高风险) |
| frequentNonBankApplications | int | 在非银机构申请次数极多(高风险) |
| highDebtPressure | int | 偿债压力极高(高风险) |
| frequentBankApplications | int | 在银行机构申请次数极多(高风险) |
| moreFrequentNonBankApplications | int | 在非银机构申请次数较多(中风险) |
| highFraudGangLevel | int | 欺诈团伙等级较高(中风险) |
| moreFrequentBankApplications | int | 在银行机构申请次数较多(中风险) |
| **租赁风险评估** | | |
| frequentRentalApplications | int | 在租赁机构申请极为频繁(高风险) |
| veryFrequentRentalApplications | int | 在租赁机构申请次数极多(高风险) |
## 5. elementVerificationDetail要素、运营商、公安重点人员核查产品-命中详情)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| sjsysFlag | int | 手机三要素简版风险标识(1高风险 2低风险 0未查得) |
| phoneCheckDetails | object | 手机三要素简版-移动联动电信 |
| sfzeysFlag | int | 身份证二要素风险标识(1高风险 2低风险 0未查得) |
| personCheckDetails | object | 身份证二要素验证 |
| onlineRiskFlag | int | 手机在网时长风险标识(1高风险 2低风险 0未查得) |
| onlineRiskList | object | 手机在网时长高级版 |
| phoneVailRiskFlag | int | 手机信息验证风险标识(1高风险 2低风险 0未查得) |
| phoneVailRisks | object | 手机信息验证列表 |
| belongRiskFlag | int | 身份证号手机号归属地风险标识(1高风险 2低风险 0未查得) |
| belongRisks | object | 身份证号手机号归属地列表 |
| highRiskFlag | int | 公安重点人员核验产品风险标识(1高风险 2低风险 0未查得) |
| keyPersonCheckList | object | 公安重点人员核验产品详情 |
| antiFraudInfo | int | 涉赌涉诈核验产品详情 |
### 5.1 phoneCheckDetails手机三要素简版
| 字段名 | 类型 | 说明 |
|--------|------|------|
| num | String | 序号 |
| ele | String | 校验项 |
| phoneCompany | String | 手机号运营商 |
| result | String | 校验结果 |
### 5.2 personCheckDetails身份证二要素验证
| 字段名 | 类型 | 说明 |
|--------|------|------|
| num | String | 序号 |
| ele | String | 校验项 |
| result | String | 校验结果 |
### 5.3 onlineRiskList手机在网时长高级版
| 字段名 | 类型 | 说明 |
|--------|------|------|
| num | String | 序号 |
| lineType | String | 运营商类型 |
| onLineTimes | String | 手机在网时长区间 |
### 5.4 phoneVailRisks手机信息验证列表
| 字段名 | 类型 | 说明 |
|--------|------|------|
| num | String | 序号 |
| phoneStatus | String | 手机在网状态 |
| phoneCompany | String | 手机号运营商 |
| phoneTimes | String | 手机在网时长 |
### 5.5 belongRisks身份证号手机号归属地列表
| 字段名 | 类型 | 说明 |
|--------|------|------|
| num | String | 序号 |
| personProvence | String | 身份证号所属省 |
| personCity | String | 身份证号所属市 |
| phoneProvence | String | 手机所属省 |
| phoneCity | String | 手机所属市 |
| phoneCardType | String | 手机卡类型 |
### 5.6 keyPersonCheckList公安重点人员核验产品详情
| 字段名 | 类型 | 说明 |
|--------|------|------|
| num | String | 序号 |
| fontFlag | int | 前科,表明用户侵犯公民人身权利,民主权利(在逃,盗窃、诈骗、抢劫、故意伤害、强奸....在刑或前科等) |
| jingJiFontFlag | int | 经济类前科,表明用户破坏金融秩序、非法吸存、违发贷款、金融诈骗、集资诈骗、保险诈骗、假币..在刑或前科等 |
| fangAiFlag | int | 妨害社会管理秩序,表明用户扰乱社会公共秩序、妨害司法、妨害国境管理、妨害文物管理、涉毒、涉黄....在刑或前科 |
| zhongDianFlag | int | 重点,表明用户危害国家、公共安全,涉恐、疆藏,涉稳、涉黑、涉及境外等 |
| sheJiaoTongFlag | int | 涉交通案件,表明用户危险驾驶、交通肇事等 |
### 5.7 antiFraudInfo涉赌涉诈风险
| 字段名 | 类型 | 说明 |
|--------|------|------|
| moneyLaundering | string | 疑似跑分风险(0,A,B,C,D) |
| deceiver | string | 疑似欺诈风险(0,A,B,C,D) |
| gamblerPlayer | string | 疑似赌博玩家风险(0,A,B,C,D) |
| gamblerBanker | string | 疑似赌博庄家风险(0,A,B,C,D) |
| riskScore | string | 风险分(仅无风险时返回此项固定值为0) |
## 6. overdueRiskProduct逾期风险产品
| 字段名 | 类型 | 说明 |
|--------|------|------|
| lyjlhyFlag | int | 逾期风险产品风险标识(1高风险 2低风险 0未查得) |
| dkzhktjFlag | int | 贷款中还款统计风险标识(1高风险 2低风险 0未查得) |
| tsmdyzFlag | int | 特殊名单验证风险标识(1高风险 2低风险 0未查得) |
| hasUnsettledOverdue | String | 是否存在逾期未结清 |
| currentOverdueInstitutionCount | String | 当前逾期机构数 |
| currentOverdueAmount | String | 当前逾期金额 |
| settledInstitutionCount | String | 已结清机构数 |
| totalLoanRepaymentAmount | String | 贷款已还款总金额 |
| totalLoanInstitutions | String | 贷款总机构 |
| overdueLast1Day | String | 近1天逾期 |
| overdueLast7Days | String | 近7天逾期 |
| overdueLast14Days | String | 近14天逾期 |
| overdueLast30Days | String | 近30天逾期 |
| daysSinceLastSuccessfulRepayment | String | 最近一次成功还款距今天数 |
| repaymentFailureCountLast7Days | String | 最近7天还款失败次数 |
| repaymentFailureAmountLast7Days | String | 最近7天还款失败金额 |
| repaymentSuccessCountLast7Days | String | 最近7天还款成功次数 |
| repaymentSuccessAmountLast7Days | String | 最近7天还款成功金额 |
| repaymentFailureCountLast14Days | String | 最近14天还款失败次数 |
| repaymentFailureAmountLast14Days | String | 最近14天还款失败金额 |
| repaymentSuccessCountLast14Days | String | 最近14天还款成功次数 |
| repaymentSuccessAmountLast14Days | String | 最近14天还款成功金额 |
| repaymentFailureCountLastMonth | String | 最近1个月还款失败次数 |
| repaymentFailureAmountLastMonth | String | 最近1个月还款失败金额 |
| repaymentSuccessCountLastMonth | String | 最近1个月还款成功次数 |
| repaymentSuccessAmountLastMonth | String | 最近1个月还款成功金额 |
| repaymentFailureCountLast3Months | String | 最近3个月还款失败次数 |
| repaymentFailureAmountLast3Months | String | 最近3个月还款失败金额 |
| repaymentSuccessCountLast3Months | String | 最近3个月还款成功次数 |
| repaymentSuccessAmountLast3Months | String | 最近3个月还款成功金额 |
| repaymentFailureCountLast6Months | String | 最近6个月还款失败次数 |
| repaymentFailureAmountLast6Months | String | 最近6个月还款失败金额 |
| repaymentSuccessCountLast6Months | String | 最近6个月还款成功次数 |
| repaymentSuccessAmountLast6Months | String | 最近6个月还款成功金额 |
| specialListVerification | JsonArray | 特殊名单验证 |
| specialListVerification.mz | String | 命中特殊名单原因 |
| specialListVerification.jg | String | 取值结果 |
## 7. multCourtInfo司法风险核验产品
### 7.1 案件详情列表
| 字段名 | 类型 | 说明 |
|--------|------|------|
| legalCasesFlag | int | 涉案公告列表风险标识(1高风险 2低风险 0未查得) |
| legalCases | array | 涉案公告列表 |
| executionCasesFlag | int | 执行公告列表风险标识(1高风险 2低风险 0未查得) |
| executionCases | array | 执行公告列表 |
| disinCasesFlag | int | 失信公告列表风险标识(1高风险 2低风险 0未查得) |
| disinCases | array | 失信公告列表 |
| limitCasesFlag | int | 限高公告列表风险标识(1高风险 2低风险 0未查得) |
| limitCases | array | 限高公告列表 |
### 7.2 案件详情列表共有字段
以下字段适用于legalCases涉案公告、executionCases执行公告、disinCases失信公告和limitCases限高公告
| 字段名 | 类型 | 说明 |
|--------|------|------|
| caseNumber | String | 案号 |
| caseType | String | 案件类型 |
| court | String | 法院 |
| litigantType | String | 诉讼地位 |
| filingTime | String | 立案时间 |
| disposalTime | String | 结案时间 |
| caseStatus | String | 案件状态 |
| executionAmount | String | 执行金额 |
| repaidAmount | String | 已还款金额 |
| caseReason | String | 案由 |
| disposalMethod | String | 结案方式 |
| judgmentResult | String | 判决结果 |
## 8. loanEvaluationVerificationDetail借贷评估产品
### 借贷评估产品
| 字段名 | 类型 | 说明 |
|--------|------|------|
| riskFlag | int | 借贷评估产品风险标识(1高风险 2低风险 0未查得) |
| organLoanPerformances | array | 本人在本机构借贷意向表现列表 |
| customerLoanPerformances | array | 本人在各个客户类型借贷意向表现列表 |
| businessLoanPerformances | array | 本人在各个业务类型借贷意向表现列表 |
| timeLoanPerformances | array | 本人在异常时间段借贷意向表现列表 |
### 本人在本机构借贷意向表现 (organLoanPerformances)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| applyCount | String | 申请类型(银行/非银) |
| last7Day | String | 近7天申请次数 |
| last15Day | String | 近15天申请次数 |
| last1Month | String | 近1个月申请次数 |
| last3Month | String | 近3个月申请次数 |
| last6Month | String | 近6个月申请次数 |
| last12Month | String | 近12个月申请次数 |
### 本人在各个客户类型借贷意向表现 (customerLoanPerformances)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| type | String | 客户类型(银行汇总/传统银行/网络零售银行/非银汇总/持牌网络小贷/持牌消费金融/持牌融资租赁机构/持牌汽车金融/其他) |
| last7Day | String | 近7天申请机构数 |
| last7DayCount | String | 近7天申请次数 |
| last15Day | String | 近15天申请机构数 |
| last15DayCount | String | 近15天申请次数 |
| last1Month | String | 近1个月申请机构数 |
| last1MonthCount | String | 近1个月申请次数 |
| last3Month | String | 近3个月申请机构数 |
| last3MonthCount | String | 近3个月申请次数 |
| last6Month | String | 近6个月申请机构数 |
| last6MonthCount | String | 近6个月申请次数 |
| last12Month | String | 近12个月申请机构数 |
| last12MonthCount | String | 近12个月申请次数 |
### 本人在各个业务类型借贷意向表现 (businessLoanPerformances)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| type | String | 客户类型(信用卡(类信用卡)/线上小额现金贷/汽车金融/线上消费分期/线下消费分期/其他) |
| last7Day - last12MonthCount | String | 同上customerLoanPerformances相同字段 |
### 本人在异常时间段借贷意向表现 (timeLoanPerformances)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| type | String | 客户类型(夜间-银行/夜间-非银/周末-银行/周末-非银) |
| last7Day - last12MonthCount | String | 同上customerLoanPerformances相同字段 |
## 9. leasingRiskAssessment租赁风险评估产品
| 字段名 | 类型 | 说明 |
|--------|------|------|
| riskFlag | int | 借贷评估产品风险标识(1高风险 2低风险 0未查得) |
| threeCInstitutionApplicationCountLast3Days | String | 3C机构近3天申请次数 |
| threeCInstitutionApplicationCountLast3DaysWeekend | String | 3C机构近3天周末申请次数 |
| threeCInstitutionApplicationCountLast3DaysNight | String | 3C机构近3天夜间申请次数 |
| threeCInstitutionApplicationCountLast7Days | String | 3C机构近7天申请次数 |
| threeCInstitutionApplicationCountLast7DaysWeekend | String | 3C机构近7天周末申请次数 |
| threeCInstitutionApplicationCountLast7DaysNight | String | 3C机构近7天夜间申请次数 |
| threeCInstitutionApplicationCountLast14Days | String | 3C机构近14天申请次数 |
| threeCInstitutionApplicationCountLast14DaysWeekend | String | 3C机构近14天周末申请次数 |
| threeCInstitutionApplicationCountLast14DaysNight | String | 3C机构近14天夜间申请次数 |
| threeCInstitutionApplicationCountLastMonth | String | 3C机构近1个月申请次数 |
| threeCInstitutionApplicationCountLastMonthWeekend | String | 3C机构近1个月周末申请次数 |
| threeCInstitutionApplicationCountLastMonthNight | String | 3C机构近1个月夜间申请次数 |
| threeCInstitutionApplicationCountLast3Months | String | 3C机构近3个月申请次数 |
| threeCInstitutionApplicationCountLast3MonthsWeekend | String | 3C机构近3个月周末申请次数 |
| threeCInstitutionApplicationCountLast3MonthsNight | String | 3C机构近3个月夜间申请次数 |
| threeCInstitutionApplicationCountLast6Months | String | 3C机构近6个月申请次数 |
| threeCInstitutionApplicationCountLast6MonthsWeekend | String | 3C机构近6个月周末申请次数 |
| threeCInstitutionApplicationCountLast6MonthsNight | String | 3C机构近6个月夜间申请次数 |
| threeCInstitutionApplicationCountLast12Months | String | 3C机构近12个月申请次数 |
| threeCInstitutionApplicationCountLast12MonthsWeekend | String | 3C机构近12个月周末申请次数 |
| threeCInstitutionApplicationCountLast12MonthsNight | String | 3C平台近3天申请次数 |
| threeCPlatformApplicationCountLast3Days | String | 3C平台近3天申请次数 |
| threeCPlatformApplicationCountLast3DaysWeekend | String | 3C平台近3天周末申请次数 |
| threeCPlatformApplicationCountLast3DaysNight | String | 3C平台近3天周末申请次数 |
| threeCPlatformApplicationCountLast7Days | String | 3C平台近7天申请次数 |
| threeCPlatformApplicationCountLast7DaysWeekend | String | 3C平台近7天周末申请次数 |
| threeCPlatformApplicationCountLast7DaysNight | String | 3C平台近7天周末申请次数 |
| threeCPlatformApplicationCountLast14Days | String | 3C平台近14天申请次数 |
| threeCPlatformApplicationCountLast14DaysWeekend | String | 3C平台近14天周末申请次数 |
| threeCPlatformApplicationCountLast14DaysNight | String | 3C平台近14天夜间申请次数 |
| threeCPlatformApplicationCountLastMonth | String | 3C平台近1个月申请次数 |
| threeCPlatformApplicationCountLastMonthWeekend | String | 3C平台近1个月周末申请次数 |
| threeCPlatformApplicationCountLastMonthNight | String | 3C平台近1个月夜间申请次数 |
| threeCPlatformApplicationCountLast3Months | String | 3C平台近3个月申请次数 |
| threeCPlatformApplicationCountLast3MonthsWeekend | String | 3C平台近3个月周末申请次数 |
| threeCPlatformApplicationCountLast3MonthsNight | String | 3C平台近3个月夜间申请次数 |
| threeCPlatformApplicationCountLast6Months | String | 3C平台近6个月申请次数 |
| threeCPlatformApplicationCountLast6MonthsWeekend | String | 3C平台近6个月周末申请次数 |
| threeCPlatformApplicationCountLast6MonthsNight | String | 3C平台近6个月夜间申请次数 |
| threeCPlatformApplicationCountLast12Months | String | 3C平台近12个月申请次数 |
| threeCPlatformApplicationCountLast12MonthsWeekend | String | 3C平台近12个月周末申请次数 |
| threeCPlatformApplicationCountLast12MonthsNight | String | 3C平台近12个月夜间申请次数 |
## 10. riskSupervision关联风险监督
| 字段名 | 类型 | 说明 |
|--------|------|------|
| leastApplicationTime | int | 最后申请时间 |
| rentalRiskListIdCardRelationsPhones | int | 同一身份证关联手机号数 |
| rentalRiskListPhoneRelationsIdCards | int | 同一手机号关联身份证数 |
| details | String | 详情 |
### 备注
| 数值 | 说明 |
|------|------|
| 0 | 无风险 |
| A | 较低风险:近三个月有参与疑似涉赌涉诈中风险交易,或历史有参与涉赌诈高风险交易,近期未参与涉赌诈等交易的账号;以及其他较低危风险交易 |
| B | 低风险:近三个月有参与疑似涉赌涉诈高风险交易,近期未参与涉赌诈等交易的账号;以及其他低危风险交易 |
| C | 中风险(有从高风险降级的可能性):近三个月有与赌博庄家、欺诈收款关联交易,或疑似团伙性质的账户;或第三方支付投诉举报,疑似为涉诈、涉赌的收款账户;以及其他中危风险交易 |
| D | 高风险:近三个月有被交易处罚,如涉赌、涉诈等高危风险交易的处罚;或近期被四方巡检稽核为收款账户;或第三方支付投诉举报,定性为涉诈账户,且近期有过高危收款行为的账户,以及其他高危风险交易 |
## 附录
| 类型 | 详细说明 |
|------|----------|
| 0 | 正常人员 |
| A | 前科 侵犯公民人身权利,民主权利(在逃,盗窃、诈骗、抢劫、故意伤害、强奸....在刑或前科等) |
| A1 | 盗窃 |
| A2 | 诈骗 |
| A3 | 抢劫/夺 |
| A4 | 故意伤害/杀人/ |
| A5 | 强奸/性侵/猥亵/ |
| B | 经济类前科(破坏金融秩序、非法吸存、违发贷款、金融诈骗、集资诈骗、保险诈骗、假币..在刑或前科等) |
| B1 | 走私 |
| B2 | 破坏金融管理秩序 |
| B3 | 正常人员 |
| B4 | 洗钱 |
| B5 | 洗钱 |
| C | 妨害社会管理秩序(扰乱社会公共秩序、妨害司法、妨害国境管理、妨害文物管理、涉毒、涉黄....在刑或前科等) |
| C1 | 扰乱公共秩序 |
| C2 | 妨害司法 |
| C3 | 涉毒 |
| C4 | 涉黄刑案 |
| C5 | 帮信/掩隐/侵公 |
| D | 重点(危害国家、公共安全,涉恐、疆藏,涉稳、涉黑、涉及境外等) |
| D1 | 危害国家、公共安全 |
| D2 | 涉稳 |
| D3 | 涉及境外 |
| D4 | 涉恐、疆藏 |
| D5 | 涉黑 |
| E | 涉交通案件 :(危险驾驶、交通肇事等) |
| F | 法院文书 |