移除liquidbase 需求20260817

This commit is contained in:
wkc
2026-08-24 12:31:08 +08:00
parent 9552e2acb8
commit cb29c38bf1
24 changed files with 245 additions and 847 deletions

View File

@@ -50,12 +50,6 @@
<artifactId>mysql-connector-j</artifactId> <artifactId>mysql-connector-j</artifactId>
</dependency> </dependency>
<!-- 数据库变更管理 -->
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
<!-- 核心模块--> <!-- 核心模块-->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>

View File

@@ -42,10 +42,6 @@ spring:
basename: i18n/messages basename: i18n/messages
profiles: profiles:
active: dev active: dev
# 数据库变更管理
liquibase:
enabled: true
change-log: classpath:db/changelog/db.changelog-master.yaml
# 文件上传 # 文件上传
servlet: servlet:
multipart: multipart:

View File

@@ -1,705 +0,0 @@
--liquibase formatted sql
--changeset loan-pricing:20260806-baseline runInTransaction:false
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_BLOB_TRIGGERS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
`trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
`blob_data` blob COMMENT '存放持久化Trigger对象',
PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Blob类型的触发器表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_CALENDARS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日历名称',
`calendar` blob NOT NULL COMMENT '存放持久化calendar对象',
PRIMARY KEY (`sched_name`,`calendar_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='日历信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_CRON_TRIGGERS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
`trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
`cron_expression` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'cron表达式',
`time_zone_id` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '时区',
PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Cron类型的触发器表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_FIRED_TRIGGERS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`entry_id` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度器实例id',
`trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
`trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
`instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度器实例名',
`fired_time` bigint(13) NOT NULL COMMENT '触发的时间',
`sched_time` bigint(13) NOT NULL COMMENT '定时器制定的时间',
`priority` int(11) NOT NULL COMMENT '优先级',
`state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态',
`job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '任务名称',
`job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '任务组名',
`is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否并发',
`requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否接受恢复执行',
PRIMARY KEY (`sched_name`,`entry_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='已触发的触发器表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_JOB_DETAILS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务名称',
`job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务组名',
`description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '相关介绍',
`job_class_name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '执行任务类名称',
`is_durable` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否持久化',
`is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否并发',
`is_update_data` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否更新数据',
`requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否接受恢复执行',
`job_data` blob COMMENT '存放持久化job对象',
PRIMARY KEY (`sched_name`,`job_name`,`job_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='任务详细信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_LOCKS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`lock_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '悲观锁名称',
PRIMARY KEY (`sched_name`,`lock_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='存储的悲观锁信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
PRIMARY KEY (`sched_name`,`trigger_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='暂停的触发器表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_SCHEDULER_STATE` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '实例名称',
`last_checkin_time` bigint(13) NOT NULL COMMENT '上次检查时间',
`checkin_interval` bigint(13) NOT NULL COMMENT '检查间隔时间',
PRIMARY KEY (`sched_name`,`instance_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='调度器状态表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
`trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
`repeat_count` bigint(7) NOT NULL COMMENT '重复的次数统计',
`repeat_interval` bigint(12) NOT NULL COMMENT '重复的间隔时间',
`times_triggered` bigint(10) NOT NULL COMMENT '已经触发的次数',
PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='简单触发器的信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
`trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
`str_prop_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'String类型的trigger的第一个参数',
`str_prop_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'String类型的trigger的第二个参数',
`str_prop_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'String类型的trigger的第三个参数',
`int_prop_1` int(11) DEFAULT NULL COMMENT 'int类型的trigger的第一个参数',
`int_prop_2` int(11) DEFAULT NULL COMMENT 'int类型的trigger的第二个参数',
`long_prop_1` bigint(20) DEFAULT NULL COMMENT 'long类型的trigger的第一个参数',
`long_prop_2` bigint(20) DEFAULT NULL COMMENT 'long类型的trigger的第二个参数',
`dec_prop_1` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第一个参数',
`dec_prop_2` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第二个参数',
`bool_prop_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Boolean类型的trigger的第一个参数',
`bool_prop_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Boolean类型的trigger的第二个参数',
PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='同步机制的行锁表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `QRTZ_TRIGGERS` (
`sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称',
`trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发器的名字',
`trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发器所属组的名字',
`job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_job_details表job_name的外键',
`job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_job_details表job_group的外键',
`description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '相关介绍',
`next_fire_time` bigint(13) DEFAULT NULL COMMENT '上一次触发时间(毫秒)',
`prev_fire_time` bigint(13) DEFAULT NULL COMMENT '下一次触发时间(默认为-1表示不触发',
`priority` int(11) DEFAULT NULL COMMENT '优先级',
`trigger_state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发器状态',
`trigger_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发器的类型',
`start_time` bigint(13) NOT NULL COMMENT '开始时间',
`end_time` bigint(13) DEFAULT NULL COMMENT '结束时间',
`calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '日程表名称',
`misfire_instr` smallint(2) DEFAULT NULL COMMENT '补偿执行的策略',
`job_data` blob COMMENT '存放持久化job对象',
PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`),
KEY `sched_name` (`sched_name`,`job_name`,`job_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='触发器详细信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `gen_table` (
`table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '表名称',
`table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '表描述',
`sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '关联子表的表名',
`sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '子表关联的外键名',
`class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '实体类名称',
`tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'crud' COMMENT '使用的模板crud单表操作 tree树表操作',
`tpl_web_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '前端模板类型element-ui模版 element-plus模版',
`package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成包路径',
`module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成模块名',
`business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成业务名',
`function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成功能名',
`function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成功能作者',
`gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '生成代码方式0zip压缩包 1自定义路径',
`gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '/' COMMENT '生成路径(不填默认项目路径)',
`options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '其它生成选项',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`table_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成业务表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `gen_table_column` (
`column_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`table_id` bigint(20) DEFAULT NULL COMMENT '归属表编号',
`column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '列名称',
`column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '列描述',
`column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '列类型',
`java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'JAVA类型',
`java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'JAVA字段名',
`is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否主键1是',
`is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否自增1是',
`is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否必填1是',
`is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否为插入字段1是',
`is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否编辑字段1是',
`is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否列表字段1是',
`is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否查询字段1是',
`query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)',
`html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
`dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典类型',
`sort` int(11) DEFAULT NULL COMMENT '排序',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`column_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成业务表字段';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `loan_pricing_workflow` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`serial_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务方流水号',
`model_output_id` bigint(20) DEFAULT NULL COMMENT '模型输出ID',
`org_code` varchar(20) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '892000' COMMENT '机构编码(统一值892000)',
`run_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '1' COMMENT '运行模式: 1-同步',
`cust_isn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户内码',
`cust_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户类型: 个人/企业',
`guar_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '担保方式: 信用/保证/抵押/质押',
`repay_method` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '还款方式: 分期/不分期',
`mid_per_quick_pay` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_个人_快捷支付: true/false',
`mid_per_ele_ddc` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_个人_电费代扣: true/false',
`mid_ent_ele_ddc` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_电费代扣: true/false',
`mid_ent_water_ddc` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_水费代扣: true/false',
`apply_amt` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '申请金额(元)',
`loan_term` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '贷款期限',
`is_clean_ent` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '净身企业: true/false',
`has_settle_acct` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '开立基本结算账户: true/false',
`is_manufacturing` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '制造业企业: true/false',
`is_agri_guar` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '省农担担保贷款: true/false',
`is_tech_ent` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '科技型企业: true/false科技型企业最多下降5BP',
`is_green_loan` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '绿色贷款: true/false绿色贷款最多下降5BP',
`is_trade_construction` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '贸易和建筑业企业标识: true/false抵质押类上调20BP',
`is_tax_a` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否纳税信用等级A级: true/false',
`is_agri_leading` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否县级及以上农业龙头企业: true/false',
`loan_purpose` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '贷款用途: consumer-消费/business-经营',
`business_type` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '业务种类',
`loan_rate_history` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '历史贷款利率',
`coupon_rate` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '存单票面利率',
`res_cover` varchar(10) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '余值覆盖: 0/1',
`biz_proof` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否有经营佐证: true/false',
`loan_loop` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '循环功能: true/false贷款合同是否开通循环功能',
`coll_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '抵质押类型: 一线/一类/二类',
`coll_third_party` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '抵质押物是否三方所有: true/false',
`loan_rate` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '贷款利率',
`execute_rate` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '执行利率(%)',
`cust_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '客户名称',
`id_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '证件类型',
`id_num` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '证件号码',
`is_inclusive_finance` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否普惠小微借款人: true/false',
`dept_id` bigint(20) DEFAULT NULL COMMENT '创建人部门ID',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_serial_num` (`serial_num`),
KEY `idx_org_code` (`org_code`),
KEY `idx_create_by` (`create_by`),
KEY `idx_cust_name` (`cust_name`),
KEY `idx_update_time` (`update_time`),
KEY `idx_dept_id` (`dept_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='利率定价流程表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `model_corp_output_fields` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`cust_isn` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '客户内码',
`cust_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '客户类型',
`guar_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '担保方式',
`cust_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '客户名称',
`id_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '证件类型',
`id_num` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '证件号码',
`repay_method` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '还款方式',
`base_loan_rate` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '基准利率',
`is_first_loan` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '我行首贷客户',
`faith_day` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用信天数',
`bp_first_loan` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_首贷',
`bp_age_loan` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_贷龄',
`total_bp_loyalty` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'TOTAL_BP_忠诚度',
`balance_avg` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '存款年日均',
`loan_avg` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '贷款年日均',
`derivation_rate` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '派生率',
`total_bp_contribution` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'TOTAL_BP_贡献度',
`mid_ent_connect` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_企业互联',
`mid_ent_effect` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_有效价值客户',
`mid_ent_inter` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_国际业务',
`mid_ent_accept` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_承兑',
`mid_ent_discount` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_贴现',
`mid_ent_ele_ddc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_电费代扣',
`mid_ent_water_ddc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_水费代扣',
`mid_ent_tax` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '中间业务_企业_税务代扣',
`bp_mid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_中间业务',
`payroll` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '代发工资户数',
`inv_loan_amount` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '存量贷款余额',
`bp_payroll` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_代发工资',
`is_clean_ent` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '净身企业',
`has_settle_acct` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '开立基本结算账户',
`is_trade_build_ent` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '贸易和建筑业企业',
`is_agri_guar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '省农担担保贷款',
`is_green_loan` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '绿色贷款',
`is_tech_ent` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '科技型企业',
`bp_ent_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_企业客户类别',
`totoal_bp_relevance` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'TOTAL_BP_关联度',
`loan_term` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '贷款期限',
`bp_loan_term` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_贷款期限',
`apply_amt` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '申请金额',
`bp_loan_amount` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_贷款额度',
`coll_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '抵质押类型',
`coll_third_party` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '抵质押物是否三方所有',
`bp_collateral` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_抵押物',
`grey_cust` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '灰名单客户',
`prin_overdue` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '本金逾期',
`interest_overdue` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '利息逾期',
`card_overdue` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '信用卡逾期',
`bp_grey_overdue` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'BP_灰名单与逾期',
`totoal_bp_risk` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'TOTAL_BP_风险度',
`total_bp` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '浮动BP',
`calculate_rate` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '测算利率',
`loan_rate_history` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '历史利率',
`min_rate_product` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '产品最低利率下限',
`smooth_range` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '平滑幅度',
`final_calculate_rate` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最终测算利率',
`reference_rate` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '参考利率',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='客户贷款利率测算表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `model_retail_output_fields` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`cust_isn` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户内码',
`cust_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '客户类型',
`guar_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '担保方式',
`cust_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '客户名称',
`id_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '证件类型',
`id_num` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '证件号码',
`base_loan_rate` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '基准利率',
`grey_black_cust` varchar(100) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '灰黑名单客户',
`is_first_loan` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '我行首贷客户',
`faith_day` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '用信天数',
`cust_age` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '客户年龄',
`bp_first_loan` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_首贷',
`bp_age_loan` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_贷龄',
`bp_age` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_年龄',
`total_bp_loyalty` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'TOTAL_BP_忠诚度',
`balance_avg` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '存款年日均',
`loan_avg` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '贷款年日均',
`derivation_rate` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '派生率',
`total_bp_contribution` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'TOTAL_BP_贡献度',
`mid_per_card` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_信用卡',
`mid_per_pass` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_一码通',
`mid_per_harvest` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_丰收互联',
`mid_per_effect` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_有效客户',
`mid_per_quick_pay` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_快捷支付',
`mid_per_ele_ddc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_电费代扣',
`mid_per_water_ddc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_水费代扣',
`mid_per_huashu_ddc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_华数费代扣',
`mid_per_gas_ddc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_煤气费代扣',
`mid_per_citizencard` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_市民卡',
`mid_per_fin_man` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_理财业务',
`mid_per_etc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '中间业务_个人_etc',
`bp_mid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_中间业务',
`totoal_bp_relevance` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'TOTAL_BP_关联度',
`apply_amt` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '申请金额',
`bp_loan_amount` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_贷款额度',
`loan_purpose` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '贷款用途',
`biz_proof` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '是否有经营佐证',
`bp_loan_use` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_贷款用途',
`loan_loop` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '循环功能',
`bp_loan_loop` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_循环功能',
`coll_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '抵质押类型',
`coll_third_party` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '抵质押物是否三方所有',
`bp_collateral` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_抵押物',
`grey_cust` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '灰名单客户',
`prin_overdue` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '本金逾期',
`interest_overdue` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '利息逾期',
`card_overdue` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '信用卡逾期',
`bp_grey_overdue` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BP_灰名单与逾期',
`totoal_bp_risk` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'TOTAL_BP_风险度',
`total_bp` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '浮动BP',
`calculate_rate` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '测算利率',
`loan_rate_history` varchar(100) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '历史利率',
`min_rate_product` varchar(100) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '产品最低利率下限',
`smooth_range` varchar(100) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '平滑幅度',
`final_calculate_rate` varchar(100) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '最终测算利率',
`reference_rate` varchar(100) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '参考利率',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='零售模型输出字段表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_config` (
`config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '参数主键',
`config_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '参数名称',
`config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '参数键名',
`config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '参数键值',
`config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'N' COMMENT '系统内置Y是 N否',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`config_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='参数配置表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_dept` (
`dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id',
`parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id',
`ancestors` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '祖级列表',
`dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '部门名称',
`order_num` int(4) DEFAULT '0' COMMENT '显示顺序',
`leader` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '负责人',
`phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '联系电话',
`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '邮箱',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '部门状态0正常 1停用',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志0代表存在 2代表删除',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`dept_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='部门表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_dict_data` (
`dict_code` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典编码',
`dict_sort` int(4) DEFAULT '0' COMMENT '字典排序',
`dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典标签',
`dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典键值',
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典类型',
`css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '样式属性(其他样式扩展)',
`list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '表格回显样式',
`is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'N' COMMENT '是否默认Y是 N否',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态0正常 1停用',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典数据表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_dict_type` (
`dict_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典主键',
`dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典名称',
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典类型',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态0正常 1停用',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_id`),
UNIQUE KEY `dict_type` (`dict_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典类型表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_job` (
`job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务ID',
`job_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '任务名称',
`job_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名',
`invoke_target` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调用目标字符串',
`cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'cron执行表达式',
`misfire_policy` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '3' COMMENT '计划执行错误策略1立即执行 2执行一次 3放弃执行',
`concurrent` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '1' COMMENT '是否并发执行0允许 1禁止',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态0正常 1暂停',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注信息',
PRIMARY KEY (`job_id`,`job_name`,`job_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务调度表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_job_log` (
`job_log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志ID',
`job_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务名称',
`job_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务组名',
`invoke_target` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调用目标字符串',
`job_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '日志信息',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '执行状态0正常 1失败',
`exception_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '异常信息',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`job_log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务调度日志表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_logininfor` (
`info_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '访问ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户账号',
`ipaddr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '登录IP地址',
`login_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '登录地点',
`browser` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '浏览器类型',
`os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '操作系统',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '登录状态0成功 1失败',
`msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '提示消息',
`login_time` datetime DEFAULT NULL COMMENT '访问时间',
PRIMARY KEY (`info_id`),
KEY `idx_sys_logininfor_s` (`status`),
KEY `idx_sys_logininfor_lt` (`login_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统访问记录';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_menu` (
`menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
`menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称',
`parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID',
`order_num` int(4) DEFAULT '0' COMMENT '显示顺序',
`path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '路由地址',
`component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '组件路径',
`query` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '路由参数',
`route_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '路由名称',
`is_frame` int(1) DEFAULT '1' COMMENT '是否为外链0是 1否',
`is_cache` int(1) DEFAULT '0' COMMENT '是否缓存0缓存 1不缓存',
`menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '菜单类型M目录 C菜单 F按钮',
`visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '菜单状态0显示 1隐藏',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '菜单状态0正常 1停用',
`perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '权限标识',
`icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '#' COMMENT '菜单图标',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
PRIMARY KEY (`menu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='菜单权限表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_notice` (
`notice_id` int(4) NOT NULL AUTO_INCREMENT COMMENT '公告ID',
`notice_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告标题',
`notice_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告类型1通知 2公告',
`notice_content` longblob COMMENT '公告内容',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '公告状态0正常 1关闭',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`notice_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='通知公告表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_oper_log` (
`oper_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志主键',
`title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '模块标题',
`business_type` int(2) DEFAULT '0' COMMENT '业务类型0其它 1新增 2修改 3删除',
`method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '方法名称',
`request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '请求方式',
`operator_type` int(1) DEFAULT '0' COMMENT '操作类别0其它 1后台用户 2手机端用户',
`oper_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '操作人员',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '部门名称',
`oper_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '请求URL',
`oper_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '主机地址',
`oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '操作地点',
`oper_param` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '请求参数',
`json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '返回参数',
`status` int(1) DEFAULT '0' COMMENT '操作状态0正常 1异常',
`error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '错误消息',
`oper_time` datetime DEFAULT NULL COMMENT '操作时间',
`cost_time` bigint(20) DEFAULT '0' COMMENT '消耗时间',
PRIMARY KEY (`oper_id`),
KEY `idx_sys_oper_log_bt` (`business_type`),
KEY `idx_sys_oper_log_s` (`status`),
KEY `idx_sys_oper_log_ot` (`oper_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='操作日志记录';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_post` (
`post_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '岗位ID',
`post_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位编码',
`post_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位名称',
`post_sort` int(4) NOT NULL COMMENT '显示顺序',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态0正常 1停用',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`post_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='岗位信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_role` (
`role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
`role_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名称',
`role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色权限字符串',
`role_sort` int(4) NOT NULL COMMENT '显示顺序',
`data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '1' COMMENT '数据范围1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限',
`menu_check_strictly` tinyint(1) DEFAULT '1' COMMENT '菜单树选择项是否关联显示',
`dept_check_strictly` tinyint(1) DEFAULT '1' COMMENT '部门树选择项是否关联显示',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色状态0正常 1停用',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志0代表存在 2代表删除',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_role_dept` (
`role_id` bigint(20) NOT NULL COMMENT '角色ID',
`dept_id` bigint(20) NOT NULL COMMENT '部门ID',
PRIMARY KEY (`role_id`,`dept_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色和部门关联表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_role_menu` (
`role_id` bigint(20) NOT NULL COMMENT '角色ID',
`menu_id` bigint(20) NOT NULL COMMENT '菜单ID',
PRIMARY KEY (`role_id`,`menu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色和菜单关联表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_user` (
`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',
`user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户账号',
`nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户昵称',
`user_type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '00' COMMENT '用户类型00系统用户',
`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户邮箱',
`phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '手机号码',
`sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '用户性别0男 1女 2未知',
`avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '头像地址',
`password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '密码',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '账号状态0正常 1停用',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志0代表存在 2代表删除',
`login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '最后登录IP',
`login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
`pwd_update_date` datetime DEFAULT NULL COMMENT '密码最后更新时间',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_user_post` (
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`post_id` bigint(20) NOT NULL COMMENT '岗位ID',
PRIMARY KEY (`user_id`,`post_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户与岗位关联表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_user_role` (
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`role_id` bigint(20) NOT NULL COMMENT '角色ID',
PRIMARY KEY (`user_id`,`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户和角色关联表';
/*!40101 SET character_set_client = @saved_cs_client */;
ALTER TABLE `QRTZ_TRIGGERS`
ADD CONSTRAINT `QRTZ_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `QRTZ_JOB_DETAILS` (`sched_name`, `job_name`, `job_group`);
ALTER TABLE `QRTZ_BLOB_TRIGGERS`
ADD CONSTRAINT `QRTZ_BLOB_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`);
ALTER TABLE `QRTZ_CRON_TRIGGERS`
ADD CONSTRAINT `QRTZ_CRON_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`);
ALTER TABLE `QRTZ_SIMPLE_TRIGGERS`
ADD CONSTRAINT `QRTZ_SIMPLE_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`);
ALTER TABLE `QRTZ_SIMPROP_TRIGGERS`
ADD CONSTRAINT `QRTZ_SIMPROP_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`);
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

View File

@@ -1,4 +0,0 @@
databaseChangeLog:
- include:
file: baseline/20260806-baseline.sql
relativeToChangelogFile: true

View File

@@ -1,7 +0,0 @@
databaseChangeLog:
- include:
file: baseline/20260806-baseline.sql
relativeToChangelogFile: true
- include:
file: changes/20260812-add-model-output-black-cust-branch-bp.sql
relativeToChangelogFile: true

View File

@@ -65,6 +65,14 @@ public class CorporateLoanPricingCreateDTO implements Serializable {
@Schema(description = "贸易和建筑业企业标识", example = "0") @Schema(description = "贸易和建筑业企业标识", example = "0")
private String isTradeBuildEnt; private String isTradeBuildEnt;
@Schema(description = "抵押物性质", example = "普通住宅、土地、厂房", allowableValues = {"普通住宅、土地、厂房", "商业性质不动产", "排污权", "其他不动产"})
@Pattern(regexp = "^(普通住宅、土地、厂房|商业性质不动产|排污权|其他不动产)$", message = "抵押物性质必须是:普通住宅、土地、厂房、商业性质不动产、排污权、其他不动产之一")
private String collateralNature;
@Schema(description = "是否属于九地", example = "", allowableValues = {"", ""})
@Pattern(regexp = "^(是|否)$", message = "是否属于九地必须是:是、否之一")
private String isNineArea;
@Schema(description = "抵质押类型", example = "一类", allowableValues = {"一类", "二类", "三类", "排污权抵押", "其他不动产抵押", "存单质押", "股权质押", "其他质押"}) @Schema(description = "抵质押类型", example = "一类", allowableValues = {"一类", "二类", "三类", "排污权抵押", "其他不动产抵押", "存单质押", "股权质押", "其他质押"})
@Pattern(regexp = "^(一类|二类|三类|排污权抵押|其他不动产抵押|存单质押|股权质押|其他质押)$", message = "抵质押类型必须是:一类、二类、三类、排污权抵押、其他不动产抵押、存单质押、股权质押、其他质押之一") @Pattern(regexp = "^(一类|二类|三类|排污权抵押|其他不动产抵押|存单质押|股权质押|其他质押)$", message = "抵质押类型必须是:一类、二类、三类、排污权抵押、其他不动产抵押、存单质押、股权质押、其他质押之一")
private String collType; private String collType;

View File

@@ -60,6 +60,14 @@ public class PersonalLoanPricingCreateDTO implements Serializable {
@Schema(description = "循环功能", example = "0") @Schema(description = "循环功能", example = "0")
private String loanLoop; private String loanLoop;
@Schema(description = "抵押物性质", example = "普通住宅、土地、厂房", allowableValues = {"普通住宅、土地、厂房", "商业性质不动产", "其他抵押财产"})
@Pattern(regexp = "^(普通住宅、土地、厂房|商业性质不动产|其他抵押财产)$", message = "抵押物性质必须是:普通住宅、土地、厂房、商业性质不动产、其他抵押财产之一")
private String collateralNature;
@Schema(description = "是否属于九地", example = "", allowableValues = {"", ""})
@Pattern(regexp = "^(是|否)$", message = "是否属于九地必须是:是、否之一")
private String isNineArea;
@Schema(description = "抵质押类型", example = "一类", allowableValues = {"一类", "二类", "三类", "四类", "存单质押", "其他质押"}) @Schema(description = "抵质押类型", example = "一类", allowableValues = {"一类", "二类", "三类", "四类", "存单质押", "其他质押"})
private String collType; private String collType;

View File

@@ -125,6 +125,12 @@ public class LoanPricingWorkflow implements Serializable
/** 抵质押类型: 一类/二类/三类/四类 */ /** 抵质押类型: 一类/二类/三类/四类 */
private String collType; private String collType;
/** 抵押物性质 */
private String collateralNature;
/** 是否属于九地: 是/否 */
private String isNineArea;
/** 抵质押物是否三方所有: true/false */ /** 抵质押物是否三方所有: true/false */
private String collThirdParty; private String collThirdParty;

View File

@@ -246,6 +246,8 @@ public class LoanPricingWorkflowServiceImpl implements ILoanPricingWorkflowServi
.set(LoanPricingWorkflow::getLoanRateHistory, editingWorkflow.getLoanRateHistory()) .set(LoanPricingWorkflow::getLoanRateHistory, editingWorkflow.getLoanRateHistory())
.set(LoanPricingWorkflow::getCouponRate, editingWorkflow.getCouponRate()) .set(LoanPricingWorkflow::getCouponRate, editingWorkflow.getCouponRate())
.set(LoanPricingWorkflow::getLoanTerm, editingWorkflow.getLoanTerm()) .set(LoanPricingWorkflow::getLoanTerm, editingWorkflow.getLoanTerm())
.set(LoanPricingWorkflow::getCollateralNature, editingWorkflow.getCollateralNature())
.set(LoanPricingWorkflow::getIsNineArea, editingWorkflow.getIsNineArea())
.set(LoanPricingWorkflow::getCollType, editingWorkflow.getCollType()) .set(LoanPricingWorkflow::getCollType, editingWorkflow.getCollType())
.set(LoanPricingWorkflow::getCollThirdParty, editingWorkflow.getCollThirdParty()) .set(LoanPricingWorkflow::getCollThirdParty, editingWorkflow.getCollThirdParty())
.set(LoanPricingWorkflow::getBizProof, editingWorkflow.getBizProof()) .set(LoanPricingWorkflow::getBizProof, editingWorkflow.getBizProof())

View File

@@ -32,6 +32,8 @@ public class LoanPricingConverter {
entity.setLoanRateHistory(dto.getLoanRateHistory()); entity.setLoanRateHistory(dto.getLoanRateHistory());
entity.setCouponRate(dto.getCouponRate()); entity.setCouponRate(dto.getCouponRate());
entity.setLoanTerm(dto.getLoanTerm()); entity.setLoanTerm(dto.getLoanTerm());
entity.setCollateralNature(dto.getCollateralNature());
entity.setIsNineArea(dto.getIsNineArea());
entity.setCollType(dto.getCollType()); entity.setCollType(dto.getCollType());
entity.setCollThirdParty(dto.getCollThirdParty()); entity.setCollThirdParty(dto.getCollThirdParty());
// 映射个人特有字段 // 映射个人特有字段
@@ -61,6 +63,8 @@ public class LoanPricingConverter {
entity.setCouponRate(dto.getCouponRate()); entity.setCouponRate(dto.getCouponRate());
entity.setResCover(dto.getResCover()); entity.setResCover(dto.getResCover());
entity.setRepayMethod(dto.getRepayMethod()); entity.setRepayMethod(dto.getRepayMethod());
entity.setCollateralNature(dto.getCollateralNature());
entity.setIsNineArea(dto.getIsNineArea());
entity.setCollType(dto.getCollType()); entity.setCollType(dto.getCollType());
entity.setCollThirdParty(dto.getCollThirdParty()); entity.setCollThirdParty(dto.getCollThirdParty());
entity.setIsGreenLoan(dto.getIsGreenLoan()); entity.setIsGreenLoan(dto.getIsGreenLoan());

View File

@@ -23,5 +23,7 @@ class ModelRetailOutputFieldsTest
assertTrue(fieldNames.contains("finalCalculateRate"), "缺少字段 finalCalculateRate"); assertTrue(fieldNames.contains("finalCalculateRate"), "缺少字段 finalCalculateRate");
assertTrue(fieldNames.contains("referenceRate"), "缺少字段 referenceRate"); assertTrue(fieldNames.contains("referenceRate"), "缺少字段 referenceRate");
assertTrue(fieldNames.contains("greyBlackCust"), "缺少字段 greyBlackCust"); assertTrue(fieldNames.contains("greyBlackCust"), "缺少字段 greyBlackCust");
assertTrue(fieldNames.contains("blackCust"), "缺少字段 blackCust");
assertTrue(fieldNames.contains("branchBp"), "缺少字段 branchBp");
} }
} }

View File

@@ -44,16 +44,15 @@ class LoanPricingModelServicePersonalParamsTest {
private LoanPricingModelService loanPricingModelService; private LoanPricingModelService loanPricingModelService;
@Test @Test
void shouldRemoveLoanPurposeAndKeepLoanTermInPersonalCreateDto() throws NoSuchFieldException { void shouldRemoveLoanPurposeAndKeepPersonalModelFieldsInCreateDto() throws NoSuchFieldException {
assertThrows(NoSuchFieldException.class, assertThrows(NoSuchFieldException.class,
() -> PersonalLoanPricingCreateDTO.class.getDeclaredField("loanPurpose")); () -> PersonalLoanPricingCreateDTO.class.getDeclaredField("loanPurpose"));
assertThrows(NoSuchFieldException.class, assertNotNull(PersonalLoanPricingCreateDTO.class.getDeclaredField("bizProof"));
() -> PersonalLoanPricingCreateDTO.class.getDeclaredField("bizProof"));
assertNotNull(PersonalLoanPricingCreateDTO.class.getDeclaredField("loanTerm")); assertNotNull(PersonalLoanPricingCreateDTO.class.getDeclaredField("loanTerm"));
} }
@Test @Test
void shouldNotMapLoanPurposeAndBizProofFromPersonalDto() { void shouldMapBizProofButNotLoanPurposeFromPersonalDto() {
PersonalLoanPricingCreateDTO dto = new PersonalLoanPricingCreateDTO(); PersonalLoanPricingCreateDTO dto = new PersonalLoanPricingCreateDTO();
dto.setCustIsn("CUST001"); dto.setCustIsn("CUST001");
dto.setCustName("张三"); dto.setCustName("张三");
@@ -61,11 +60,12 @@ class LoanPricingModelServicePersonalParamsTest {
dto.setApplyAmt("100000"); dto.setApplyAmt("100000");
dto.setBusinessType("新增"); dto.setBusinessType("新增");
dto.setLoanTerm("3"); dto.setLoanTerm("3");
dto.setBizProof("1");
LoanPricingWorkflow workflow = LoanPricingConverter.toEntity(dto); LoanPricingWorkflow workflow = LoanPricingConverter.toEntity(dto);
assertNull(workflow.getLoanPurpose()); assertNull(workflow.getLoanPurpose());
assertNull(workflow.getBizProof()); assertEquals("1", workflow.getBizProof());
assertEquals("3", workflow.getLoanTerm()); assertEquals("3", workflow.getLoanTerm());
} }
@@ -90,6 +90,7 @@ class LoanPricingModelServicePersonalParamsTest {
workflow.setGuarType("信用"); workflow.setGuarType("信用");
workflow.setApplyAmt("100000"); workflow.setApplyAmt("100000");
workflow.setLoanTerm("3"); workflow.setLoanTerm("3");
workflow.setBizProof("true");
workflow.setLoanLoop("false"); workflow.setLoanLoop("false");
workflow.setCollThirdParty("true"); workflow.setCollThirdParty("true");
workflow.setCollType("一类"); workflow.setCollType("一类");
@@ -114,6 +115,7 @@ class LoanPricingModelServicePersonalParamsTest {
&& Objects.equals("信用", dto.getGuarType()) && Objects.equals("信用", dto.getGuarType())
&& Objects.equals("100000", dto.getApplyAmt()) && Objects.equals("100000", dto.getApplyAmt())
&& Objects.equals("3", dto.getLoanTerm()) && Objects.equals("3", dto.getLoanTerm())
&& Objects.equals("1", dto.getBizProof())
&& Objects.equals("0", dto.getLoanLoop()) && Objects.equals("0", dto.getLoanLoop())
&& Objects.equals("1", dto.getCollThirdParty()) && Objects.equals("1", dto.getCollThirdParty())
&& Objects.equals("一类", dto.getCollType()))); && Objects.equals("一类", dto.getCollType())));

View File

@@ -29,6 +29,7 @@ class LoanPricingModelServiceTest
assertEquals("张三", context.modelService.personalRequest.getCustName()); assertEquals("张三", context.modelService.personalRequest.getCustName());
assertEquals("110101199001011234", context.modelService.personalRequest.getIdNum()); assertEquals("110101199001011234", context.modelService.personalRequest.getIdNum());
assertEquals("2.15", context.modelService.personalRequest.getCouponRate()); assertEquals("2.15", context.modelService.personalRequest.getCouponRate());
assertEquals("1", context.modelService.personalRequest.getBizProof());
assertEquals(1, context.modelService.personalCalls.get()); assertEquals(1, context.modelService.personalCalls.get());
assertEquals(0, context.modelService.corporateCalls.get()); assertEquals(0, context.modelService.corporateCalls.get());
assertEquals(1, context.retailInsertCount.get()); assertEquals(1, context.retailInsertCount.get());
@@ -105,6 +106,7 @@ class LoanPricingModelServiceTest
workflow.setCustName("张三"); workflow.setCustName("张三");
workflow.setIdNum("110101199001011234"); workflow.setIdNum("110101199001011234");
workflow.setCouponRate("2.15"); workflow.setCouponRate("2.15");
workflow.setBizProof("true");
return workflow; return workflow;
} }

View File

@@ -370,7 +370,7 @@ class LoanPricingWorkflowServiceImplTest
} }
@Test @Test
void shouldCreatePersonalWorkflowWithCouponRateAndWithoutRemovedFields() void shouldCreatePersonalWorkflowWithCouponRateAndBizProof()
{ {
PersonalLoanPricingCreateDTO dto = new PersonalLoanPricingCreateDTO(); PersonalLoanPricingCreateDTO dto = new PersonalLoanPricingCreateDTO();
dto.setCustIsn("CUST001"); dto.setCustIsn("CUST001");
@@ -380,6 +380,7 @@ class LoanPricingWorkflowServiceImplTest
dto.setLoanTerm("3"); dto.setLoanTerm("3");
dto.setCollType("存单质押"); dto.setCollType("存单质押");
dto.setCouponRate("2.15"); dto.setCouponRate("2.15");
dto.setBizProof("1");
loanPricingWorkflowService.createPersonalLoanPricing(dto); loanPricingWorkflowService.createPersonalLoanPricing(dto);
@@ -387,7 +388,7 @@ class LoanPricingWorkflowServiceImplTest
Objects.equals("个人", entity.getCustType()) Objects.equals("个人", entity.getCustType())
&& Objects.equals("2.15", entity.getCouponRate()) && Objects.equals("2.15", entity.getCouponRate())
&& Objects.isNull(entity.getLoanPurpose()) && Objects.isNull(entity.getLoanPurpose())
&& Objects.isNull(entity.getBizProof()))); && Objects.equals("1", entity.getBizProof())));
} }
@Test @Test
@@ -412,6 +413,48 @@ class LoanPricingWorkflowServiceImplTest
&& Objects.equals("2.35", entity.getCouponRate()))); && Objects.equals("2.35", entity.getCouponRate())));
} }
@Test
void shouldCreatePersonalWorkflowWithMortgageSourceFields()
{
PersonalLoanPricingCreateDTO dto = new PersonalLoanPricingCreateDTO();
dto.setCustIsn("CUST001");
dto.setGuarType("抵押");
dto.setApplyAmt("100000");
dto.setBusinessType("新增");
dto.setLoanTerm("3");
dto.setCollateralNature("普通住宅、土地、厂房");
dto.setIsNineArea("");
dto.setCollType("一类");
loanPricingWorkflowService.createPersonalLoanPricing(dto);
verify(loanPricingWorkflowMapper).insert(argThat((LoanPricingWorkflow entity) ->
Objects.equals("普通住宅、土地、厂房", entity.getCollateralNature())
&& Objects.equals("", entity.getIsNineArea())
&& Objects.equals("一类", entity.getCollType())));
}
@Test
void shouldCreateCorporateWorkflowWithMortgageSourceFields()
{
CorporateLoanPricingCreateDTO dto = new CorporateLoanPricingCreateDTO();
dto.setCustIsn("CORP001");
dto.setGuarType("抵押");
dto.setApplyAmt("1000000");
dto.setBusinessType("新增");
dto.setLoanTerm("5");
dto.setCollateralNature("商业性质不动产");
dto.setIsNineArea("");
dto.setCollType("三类");
loanPricingWorkflowService.createCorporateLoanPricing(dto);
verify(loanPricingWorkflowMapper).insert(argThat((LoanPricingWorkflow entity) ->
Objects.equals("商业性质不动产", entity.getCollateralNature())
&& Objects.equals("", entity.getIsNineArea())
&& Objects.equals("三类", entity.getCollType())));
}
@Test @Test
void shouldReturnEditableWorkflowWithPlainSensitiveFieldsForCreator() void shouldReturnEditableWorkflowWithPlainSensitiveFieldsForCreator()
{ {
@@ -451,11 +494,15 @@ class LoanPricingWorkflowServiceImplTest
dto.setCustName("张三"); dto.setCustName("张三");
dto.setIdType("身份证"); dto.setIdType("身份证");
dto.setIdNum("110101199001019999"); dto.setIdNum("110101199001019999");
dto.setGuarType("信用"); dto.setGuarType("抵押");
dto.setApplyAmt("200000"); dto.setApplyAmt("200000");
dto.setBusinessType("新增"); dto.setBusinessType("新增");
dto.setLoanTerm("3"); dto.setLoanTerm("3");
dto.setLoanLoop("1"); dto.setLoanLoop("1");
dto.setBizProof("1");
dto.setCollateralNature("普通住宅、土地、厂房");
dto.setIsNineArea("");
dto.setCollType("一类");
loanPricingWorkflowService.updatePersonalLoanPricing("P20260525001", dto); loanPricingWorkflowService.updatePersonalLoanPricing("P20260525001", dto);
@@ -465,8 +512,14 @@ class LoanPricingWorkflowServiceImplTest
assertTrue(sqlSet.contains("apply_amt")); assertTrue(sqlSet.contains("apply_amt"));
assertTrue(sqlSet.contains("cust_name")); assertTrue(sqlSet.contains("cust_name"));
assertTrue(sqlSet.contains("id_num")); assertTrue(sqlSet.contains("id_num"));
assertTrue(sqlSet.contains("biz_proof"));
assertTrue(sqlSet.contains("collateral_nature"));
assertTrue(sqlSet.contains("is_nine_area"));
assertTrue(updateWrapperCaptor.getValue().getParamNameValuePairs().containsValue("张三")); assertTrue(updateWrapperCaptor.getValue().getParamNameValuePairs().containsValue("张三"));
assertTrue(updateWrapperCaptor.getValue().getParamNameValuePairs().containsValue("110101199001019999")); assertTrue(updateWrapperCaptor.getValue().getParamNameValuePairs().containsValue("110101199001019999"));
assertTrue(updateWrapperCaptor.getValue().getParamNameValuePairs().containsValue("普通住宅、土地、厂房"));
assertTrue(updateWrapperCaptor.getValue().getParamNameValuePairs().containsValue(""));
assertTrue(updateWrapperCaptor.getValue().getParamNameValuePairs().containsValue("1"));
verify(sensitiveFieldCryptoService, never()).encrypt(any()); verify(sensitiveFieldCryptoService, never()).encrypt(any());
verify(loanPricingModelService).reinvokeModelAndOverwrite(101L); verify(loanPricingModelService).reinvokeModelAndOverwrite(101L);
} }

View File

@@ -427,8 +427,8 @@ export default {
isGreenLoan: this.isOne(this.editData.isGreenLoan), isGreenLoan: this.isOne(this.editData.isGreenLoan),
isTradeBuildEnt: this.isOne(this.editData.isTradeBuildEnt), isTradeBuildEnt: this.isOne(this.editData.isTradeBuildEnt),
collType: this.editData.guarType === '质押' ? this.editData.collType : undefined, collType: this.editData.guarType === '质押' ? this.editData.collType : undefined,
collateralNature: undefined, collateralNature: this.editData.collateralNature,
isNineArea: undefined, isNineArea: this.editData.isNineArea,
collThirdParty: this.isOne(this.editData.collThirdParty), collThirdParty: this.isOne(this.editData.collThirdParty),
couponRate: this.editData.couponRate couponRate: this.editData.couponRate
} }
@@ -575,9 +575,10 @@ export default {
} }
if (this.isMortgage) { if (this.isMortgage) {
data.collType = this.resolveMortgageCollateralType() data.collType = this.resolveMortgageCollateralType()
} } else {
delete data.collateralNature delete data.collateralNature
delete data.isNineArea delete data.isNineArea
}
if (this.isCollateralGuarantee) { if (this.isCollateralGuarantee) {
data.collThirdParty = this.form.collThirdParty ? '1' : '0' data.collThirdParty = this.form.collThirdParty ? '1' : '0'
} else { } else {

View File

@@ -13,14 +13,10 @@
<el-descriptions-item label="客户名称">{{ detailData.custName }}</el-descriptions-item> <el-descriptions-item label="客户名称">{{ detailData.custName }}</el-descriptions-item>
<el-descriptions-item label="客户类型">{{ detailData.custType }}</el-descriptions-item> <el-descriptions-item label="客户类型">{{ detailData.custType }}</el-descriptions-item>
<el-descriptions-item label="申请金额">{{ detailData.applyAmt }} </el-descriptions-item> <el-descriptions-item label="申请金额">{{ detailData.applyAmt }} </el-descriptions-item>
<el-descriptions-item label="基准利率"> <el-descriptions-item label="期限">{{ detailData.loanTerm || '-' }}</el-descriptions-item>
<span class="rate-value">{{ getBaseLoanRate() }}</span> % <el-descriptions-item label="担保方式">{{ detailData.guarType || '-' }}</el-descriptions-item>
</el-descriptions-item> <el-descriptions-item label="产品最低利率下限">
<el-descriptions-item label="浮动BP"> <span class="rate-value">{{ formatRate(corpOutput && corpOutput.minRateProduct) }}</span> %
<span class="total-bp-value">{{ getTotalBp() }}</span>
</el-descriptions-item>
<el-descriptions-item label="最终测算利率">
<span class="calculate-rate">{{ getCalculateRate() }}</span> %
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="执行利率"> <el-descriptions-item label="执行利率">
<div class="execute-rate-input-wrapper"> <div class="execute-rate-input-wrapper">
@@ -46,13 +42,6 @@
<!-- 右侧面板 --> <!-- 右侧面板 -->
<div class="right-panel"> <div class="right-panel">
<!-- 模型输出卡片 -->
<ModelOutputDisplay
:cust-type="detailData.custType"
:retail-output="null"
:corp-output="corpOutput"
/>
<!-- 流程详情卡片 --> <!-- 流程详情卡片 -->
<el-card class="detail-card"> <el-card class="detail-card">
<div slot="header" class="card-header"> <div slot="header" class="card-header">
@@ -64,11 +53,10 @@
<h4 class="section-title">基本信息</h4> <h4 class="section-title">基本信息</h4>
<el-descriptions :column="2" border> <el-descriptions :column="2" border>
<el-descriptions-item label="机构编码">{{ detailData.orgCode }}</el-descriptions-item> <el-descriptions-item label="机构编码">{{ detailData.orgCode }}</el-descriptions-item>
<el-descriptions-item label="运行模式">{{ detailData.runType }}</el-descriptions-item>
<el-descriptions-item label="客户内码">{{ detailData.custIsn }}</el-descriptions-item> <el-descriptions-item label="客户内码">{{ detailData.custIsn }}</el-descriptions-item>
<el-descriptions-item label="客户名称">{{ detailData.custName }}</el-descriptions-item>
<el-descriptions-item label="证件类型">{{ detailData.idType }}</el-descriptions-item> <el-descriptions-item label="证件类型">{{ detailData.idType }}</el-descriptions-item>
<el-descriptions-item label="证件号码">{{ detailData.idNum }}</el-descriptions-item> <el-descriptions-item label="证件号码">{{ detailData.idNum }}</el-descriptions-item>
<el-descriptions-item label="贷款期限">{{ detailData.loanTerm || '-' }}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{ detailData.createTime }}</el-descriptions-item> <el-descriptions-item label="创建时间">{{ detailData.createTime }}</el-descriptions-item>
<el-descriptions-item label="创建者">{{ detailData.createBy }}</el-descriptions-item> <el-descriptions-item label="创建者">{{ detailData.createBy }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
@@ -81,10 +69,17 @@
<el-descriptions-item label="担保方式">{{ detailData.guarType }}</el-descriptions-item> <el-descriptions-item label="担保方式">{{ detailData.guarType }}</el-descriptions-item>
<el-descriptions-item label="申请金额">{{ detailData.applyAmt }} </el-descriptions-item> <el-descriptions-item label="申请金额">{{ detailData.applyAmt }} </el-descriptions-item>
<el-descriptions-item label="业务种类">{{ detailData.businessType || '-' }}</el-descriptions-item> <el-descriptions-item label="业务种类">{{ detailData.businessType || '-' }}</el-descriptions-item>
<el-descriptions-item label="贷款期限">{{ detailData.loanTerm || '-' }}</el-descriptions-item>
<el-descriptions-item label="历史贷款利率">{{ formatRate(detailData.loanRateHistory) }}</el-descriptions-item> <el-descriptions-item label="历史贷款利率">{{ formatRate(detailData.loanRateHistory) }}</el-descriptions-item>
<el-descriptions-item label="余值覆盖">{{ formatBoolean(detailData.resCover) }}</el-descriptions-item> <el-descriptions-item label="余值覆盖">{{ formatBoolean(detailData.resCover) }}</el-descriptions-item>
<el-descriptions-item label="绿色贷款">{{ formatBoolean(detailData.isGreenLoan) }}</el-descriptions-item> <el-descriptions-item label="绿色贷款">{{ formatBoolean(detailData.isGreenLoan) }}</el-descriptions-item>
<el-descriptions-item label="贸易和建筑业企业">{{ formatBoolean(detailData.isTradeBuildEnt) }}</el-descriptions-item> <el-descriptions-item label="贸易和建筑业企业">{{ formatBoolean(detailData.isTradeBuildEnt) }}</el-descriptions-item>
<el-descriptions-item v-if="detailData.guarType === '抵押'" label="抵押物性质">
{{ detailData.collateralNature || '-' }}
</el-descriptions-item>
<el-descriptions-item v-if="detailData.guarType === '抵押'" label="是否属于九地">
{{ detailData.isNineArea || '-' }}
</el-descriptions-item>
<el-descriptions-item label="抵质押类型">{{ detailData.collType || '-' }}</el-descriptions-item> <el-descriptions-item label="抵质押类型">{{ detailData.collType || '-' }}</el-descriptions-item>
<el-descriptions-item label="抵质押物是否三方所有">{{ <el-descriptions-item label="抵质押物是否三方所有">{{
formatBoolean(detailData.collThirdParty) formatBoolean(detailData.collThirdParty)
@@ -94,6 +89,13 @@
</div> </div>
</el-card> </el-card>
<!-- 模型输出卡片 -->
<ModelOutputDisplay
:cust-type="detailData.custType"
:retail-output="null"
:corp-output="corpOutput"
/>
<!-- 议价池卡片 --> <!-- 议价池卡片 -->
<BargainingPoolDisplay <BargainingPoolDisplay
v-if="bargainingPool" v-if="bargainingPool"
@@ -155,18 +157,6 @@ export default {
if (value === 'false' || value === false || value === '0' || value === 0) return '否' if (value === 'false' || value === false || value === '0' || value === 0) return '否'
return value || '-' return value || '-'
}, },
/** 获取基准利率 */
getBaseLoanRate() {
return this.formatRate(this.corpOutput?.baseLoanRate)
},
/** 获取浮动BP */
getTotalBp() {
return this.corpOutput?.totalBp || '-'
},
/** 获取最终测算利率 */
getCalculateRate() {
return this.formatRate(this.corpOutput?.finalCalculateRate)
},
/** 设定执行利率 */ /** 设定执行利率 */
handleSetExecuteRate() { handleSetExecuteRate() {
const value = this.executeRateInput const value = this.executeRateInput
@@ -248,16 +238,6 @@ export default {
font-weight: 500; font-weight: 500;
} }
.total-bp-value {
color: #e6a23c;
font-weight: 600;
}
.calculate-rate {
color: #f56c6c;
font-weight: 600;
font-size: 16px;
}
} }
} }

View File

@@ -3,7 +3,8 @@
:close-on-click-modal="false" @close="handleClose"> :close-on-click-modal="false" @close="handleClose">
<el-form :model="queryForm" inline size="small"> <el-form :model="queryForm" inline size="small">
<el-form-item label="客户号"> <el-form-item label="客户号">
<el-input v-model="queryForm.custId" placeholder="请输入客户号" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryForm.custId" placeholder="请输入客户号" clearable
@keydown.enter.native.prevent="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" :loading="loading" @click="handleQuery">查询</el-button> <el-button type="primary" icon="el-icon-search" :loading="loading" @click="handleQuery">查询</el-button>

View File

@@ -403,8 +403,8 @@ export default {
bizProof: this.isOne(this.editData.bizProof), bizProof: this.isOne(this.editData.bizProof),
loanLoop: this.isOne(this.editData.loanLoop), loanLoop: this.isOne(this.editData.loanLoop),
collType: this.editData.guarType === '质押' ? this.editData.collType : undefined, collType: this.editData.guarType === '质押' ? this.editData.collType : undefined,
collateralNature: undefined, collateralNature: this.editData.collateralNature,
isNineArea: undefined, isNineArea: this.editData.isNineArea,
collThirdParty: this.isOne(this.editData.collThirdParty), collThirdParty: this.isOne(this.editData.collThirdParty),
couponRate: this.editData.couponRate couponRate: this.editData.couponRate
} }
@@ -546,9 +546,10 @@ export default {
} }
if (this.isMortgage) { if (this.isMortgage) {
data.collType = this.resolveMortgageCollateralType() data.collType = this.resolveMortgageCollateralType()
} } else {
delete data.collateralNature delete data.collateralNature
delete data.isNineArea delete data.isNineArea
}
if (this.isCollateralGuarantee) { if (this.isCollateralGuarantee) {
data.collThirdParty = this.form.collThirdParty ? '1' : '0' data.collThirdParty = this.form.collThirdParty ? '1' : '0'
} else { } else {

View File

@@ -13,14 +13,10 @@
<el-descriptions-item label="客户名称">{{ detailData.custName }}</el-descriptions-item> <el-descriptions-item label="客户名称">{{ detailData.custName }}</el-descriptions-item>
<el-descriptions-item label="客户类型">{{ detailData.custType }}</el-descriptions-item> <el-descriptions-item label="客户类型">{{ detailData.custType }}</el-descriptions-item>
<el-descriptions-item label="申请金额">{{ detailData.applyAmt }} </el-descriptions-item> <el-descriptions-item label="申请金额">{{ detailData.applyAmt }} </el-descriptions-item>
<el-descriptions-item label="基准利率"> <el-descriptions-item label="期限">{{ detailData.loanTerm || '-' }}</el-descriptions-item>
<span class="rate-value">{{ getBaseLoanRate() }}</span> % <el-descriptions-item label="担保方式">{{ detailData.guarType || '-' }}</el-descriptions-item>
</el-descriptions-item> <el-descriptions-item label="产品最低利率下限">
<el-descriptions-item label="浮动BP"> <span class="rate-value">{{ formatRate(retailOutput && retailOutput.minRateProduct) }}</span> %
<span class="total-bp-value">{{ getTotalBp() }}</span>
</el-descriptions-item>
<el-descriptions-item label="最终测算利率">
<span class="calculate-rate">{{ getCalculateRate() }}</span> %
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="执行利率"> <el-descriptions-item label="执行利率">
<div class="execute-rate-input-wrapper"> <div class="execute-rate-input-wrapper">
@@ -46,13 +42,6 @@
<!-- 右侧面板 --> <!-- 右侧面板 -->
<div class="right-panel"> <div class="right-panel">
<!-- 模型输出卡片 -->
<ModelOutputDisplay
:cust-type="detailData.custType"
:retail-output="retailOutput"
:corp-output="null"
/>
<!-- 流程详情卡片 --> <!-- 流程详情卡片 -->
<el-card class="detail-card"> <el-card class="detail-card">
<div slot="header" class="card-header"> <div slot="header" class="card-header">
@@ -64,8 +53,8 @@
<h4 class="section-title">基本信息</h4> <h4 class="section-title">基本信息</h4>
<el-descriptions :column="2" border> <el-descriptions :column="2" border>
<el-descriptions-item label="机构编码">{{ detailData.orgCode }}</el-descriptions-item> <el-descriptions-item label="机构编码">{{ detailData.orgCode }}</el-descriptions-item>
<el-descriptions-item label="运行模式">{{ detailData.runType }}</el-descriptions-item>
<el-descriptions-item label="客户内码">{{ detailData.custIsn }}</el-descriptions-item> <el-descriptions-item label="客户内码">{{ detailData.custIsn }}</el-descriptions-item>
<el-descriptions-item label="客户名称">{{ detailData.custName }}</el-descriptions-item>
<el-descriptions-item label="证件类型">{{ detailData.idType }}</el-descriptions-item> <el-descriptions-item label="证件类型">{{ detailData.idType }}</el-descriptions-item>
<el-descriptions-item label="证件号码">{{ detailData.idNum }}</el-descriptions-item> <el-descriptions-item label="证件号码">{{ detailData.idNum }}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{ detailData.createTime }}</el-descriptions-item> <el-descriptions-item label="创建时间">{{ detailData.createTime }}</el-descriptions-item>
@@ -88,6 +77,12 @@
}} }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="循环功能">{{ formatBoolean(detailData.loanLoop) }}</el-descriptions-item> <el-descriptions-item label="循环功能">{{ formatBoolean(detailData.loanLoop) }}</el-descriptions-item>
<el-descriptions-item v-if="detailData.guarType === '抵押'" label="抵押物性质">
{{ detailData.collateralNature || '-' }}
</el-descriptions-item>
<el-descriptions-item v-if="detailData.guarType === '抵押'" label="是否属于九地">
{{ detailData.isNineArea || '-' }}
</el-descriptions-item>
<el-descriptions-item label="抵质押类型">{{ detailData.collType || '-' }}</el-descriptions-item> <el-descriptions-item label="抵质押类型">{{ detailData.collType || '-' }}</el-descriptions-item>
<el-descriptions-item label="抵质押物是否三方所有">{{ <el-descriptions-item label="抵质押物是否三方所有">{{
formatBoolean(detailData.collThirdParty) formatBoolean(detailData.collThirdParty)
@@ -97,6 +92,13 @@
</div> </div>
</el-card> </el-card>
<!-- 模型输出卡片 -->
<ModelOutputDisplay
:cust-type="detailData.custType"
:retail-output="retailOutput"
:corp-output="null"
/>
<!-- 议价池卡片 --> <!-- 议价池卡片 -->
<BargainingPoolDisplay <BargainingPoolDisplay
v-if="bargainingPool" v-if="bargainingPool"
@@ -164,18 +166,6 @@ export default {
if (value === 'business') return '经营' if (value === 'business') return '经营'
return value || '-' return value || '-'
}, },
/** 获取基准利率 */
getBaseLoanRate() {
return this.formatRate(this.retailOutput?.baseLoanRate)
},
/** 获取浮动BP */
getTotalBp() {
return this.retailOutput?.totalBp || '-'
},
/** 获取最终测算利率 */
getCalculateRate() {
return this.formatRate(this.retailOutput?.finalCalculateRate)
},
/** 设定执行利率 */ /** 设定执行利率 */
handleSetExecuteRate() { handleSetExecuteRate() {
const value = this.executeRateInput const value = this.executeRateInput
@@ -257,16 +247,6 @@ export default {
font-weight: 500; font-weight: 500;
} }
.total-bp-value {
color: #e6a23c;
font-weight: 600;
}
.calculate-rate {
color: #f56c6c;
font-weight: 600;
font-size: 16px;
}
} }
} }

View File

@@ -82,17 +82,19 @@ assert(
) )
assert( assert(
!personalCreateDialog.includes('label="是否有经营佐证"') && personalCreateDialog.includes('label="是否有营业执照"') &&
!personalCreateDialog.includes('prop="bizProof"') && personalCreateDialog.includes('prop="bizProof"') &&
!personalCreateDialog.includes('bizProof:') && personalCreateDialog.includes('bizProof: false') &&
personalCreateDialog.includes('bizProof: this.isOne(this.editData.bizProof)') &&
personalCreateDialog.includes("bizProof: this.form.bizProof ? '1' : '0'") &&
personalCreateDialog.includes("loanLoop: this.form.loanLoop ? '1' : '0'") && personalCreateDialog.includes("loanLoop: this.form.loanLoop ? '1' : '0'") &&
personalCreateDialog.includes("data.collThirdParty = this.form.collThirdParty ? '1' : '0'") && personalCreateDialog.includes("data.collThirdParty = this.form.collThirdParty ? '1' : '0'") &&
personalCreateDialog.includes('data.collType = this.resolveMortgageCollateralType()') && personalCreateDialog.includes('data.collType = this.resolveMortgageCollateralType()') &&
personalCreateDialog.includes('delete data.collateralNature') && personalCreateDialog.includes('collateralNature: this.editData.collateralNature') &&
personalCreateDialog.includes('delete data.isNineArea') && personalCreateDialog.includes('isNineArea: this.editData.isNineArea') &&
personalCreateDialog.includes('delete data.collType') && personalCreateDialog.includes('delete data.collType') &&
personalCreateDialog.includes('delete data.collThirdParty'), personalCreateDialog.includes('delete data.collThirdParty'),
'个人新增弹窗开关字段或非抵质押提交字段处理不正确' '个人新增弹窗营业执照、抵押来源字段、开关字段或非抵质押提交字段处理不正确'
) )
assert( assert(
@@ -100,6 +102,19 @@ assert(
'个人详情页缺少贷款用途展示' '个人详情页缺少贷款用途展示'
) )
assert(
personalDetail.includes('label="是否有营业执照"') && personalDetail.includes('detailData.bizProof'),
'个人详情页缺少营业执照展示'
)
assert(
personalDetail.includes('label="抵押物性质"') &&
personalDetail.includes('detailData.collateralNature') &&
personalDetail.includes('label="是否属于九地"') &&
personalDetail.includes('detailData.isNineArea'),
'个人详情页缺少抵押物性质或九地展示'
)
assert( assert(
personalDetail.includes("value === '1'") && personalDetail.includes("value === '0'"), personalDetail.includes("value === '1'") && personalDetail.includes("value === '0'"),
'个人详情页布尔格式化未兼容 1/0' '个人详情页布尔格式化未兼容 1/0'

View File

@@ -7,15 +7,22 @@ function read(relativePath) {
} }
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue') const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
const summaryStart = personalDetail.indexOf('<el-card class="summary-card">')
const summaryEnd = personalDetail.indexOf('</el-card>', summaryStart)
const summaryCard = personalDetail.slice(summaryStart, summaryEnd)
assert(summaryStart !== -1 && summaryEnd !== -1, '个人流程详情缺少关键信息卡片')
assert( assert(
/label="最终测算利率"/.test(personalDetail), !/label="(?:基准利率|浮动BP|最终测算利率)"/.test(summaryCard),
'个人流程详情左侧缺少“最终测算利率”标签' '个人流程详情关键信息不应展示基准利率、浮动BP或最终测算利率'
) )
assert( assert(
/return this\.retailOutput\?\.finalCalculateRate \|\| '-'/.test(personalDetail), /label="期限"/.test(summaryCard)
'个人流程详情没有使用 finalCalculateRate 展示最终测算利率' && /label="担保方式"/.test(summaryCard)
&& /label="产品最低利率下限"/.test(summaryCard),
'个人流程详情关键信息缺少期限、担保方式或产品最低利率下限'
) )
console.log('personal final calculate rate display assertions passed') console.log('personal key information display assertions passed')

View File

@@ -9,18 +9,48 @@ function read(relativePath) {
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue') const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
const modelOutput = read('src/views/loanPricing/workflow/components/ModelOutputDisplay.vue') const modelOutput = read('src/views/loanPricing/workflow/components/ModelOutputDisplay.vue')
function extractCard(source, className) {
const start = source.indexOf(`<el-card class="${className}">`)
const end = source.indexOf('</el-card>', start)
assert(start !== -1 && end !== -1, `缺少卡片: ${className}`)
return source.slice(start, end)
}
const summaryCard = extractCard(personalDetail, 'summary-card')
const detailCard = extractCard(personalDetail, 'detail-card')
const businessInfoStart = detailCard.indexOf('<h4 class="section-title">业务信息</h4>')
const basicInfo = detailCard.slice(0, businessInfoStart)
const businessInfo = detailCard.slice(businessInfoStart)
assert( assert(
personalDetail.includes('label="借款期限"') && personalDetail.includes('detailData.loanTerm'), !basicInfo.includes('label="借款期限"')
'个人详情页缺少借款期限展示' && businessInfo.includes('label="借款期限"')
&& businessInfo.includes('detailData.loanTerm'),
'个人详情页借款期限未展示在业务信息中'
)
;['期限', '担保方式', '产品最低利率下限'].forEach((label) => {
assert(summaryCard.includes(`label="${label}"`), `个人流程详情关键信息缺少字段: ${label}`)
})
;['基准利率', '浮动BP', '最终测算利率'].forEach((label) => {
assert(!summaryCard.includes(`label="${label}"`), `个人流程详情关键信息不应展示字段: ${label}`)
})
assert(
personalDetail.includes('formatRate(retailOutput && retailOutput.minRateProduct)'),
'个人流程详情关键信息未展示产品最低利率下限'
) )
const requiredRetailFields = [ const requiredRetailFields = [
'retailOutput.greyBlackCust',
'retailOutput.loanRateHistory', 'retailOutput.loanRateHistory',
'retailOutput.minRateProduct',
'retailOutput.smoothRange', 'retailOutput.smoothRange',
'retailOutput.finalCalculateRate', 'retailOutput.finalCalculateRate',
'retailOutput.referenceRate' 'retailOutput.referenceRate',
'retailOutput.blackCust',
'retailOutput.branchBp',
'retailOutput.bpLoanUse',
'retailOutput.midPerGasDdc'
] ]
requiredRetailFields.forEach((field) => { requiredRetailFields.forEach((field) => {
@@ -28,9 +58,26 @@ requiredRetailFields.forEach((field) => {
}) })
assert( assert(
modelOutput.indexOf('label="灰黑名单客户"') > modelOutput.indexOf('<h4 class="section-title">基本信息</h4>') modelOutput.includes("this.resultItem('营业执照', this.formatBoolean(this.retailOutput.bizProof))"),
&& modelOutput.indexOf('label="灰黑名单客户"') < modelOutput.indexOf('<h4 class="section-title">测算结果</h4>'), '个人风险度缺少营业执照或 BP_贷款用途关联展示'
'灰黑名单客户未展示在个人模型输出基础信息中' )
assert(
detailCard.includes('label="客户名称"')
&& !detailCard.includes('label="灰黑名单客户"')
&& !detailCard.includes('retailOutput && retailOutput.greyBlackCust'),
'个人流程详情基本信息不应展示灰黑名单客户'
)
assert(
!basicInfo.includes('label="基准利率"')
&& !basicInfo.includes('retailOutput && retailOutput.baseLoanRate'),
'个人流程详情基本信息不应展示基准利率'
)
assert(
!detailCard.includes('label="运行模式"') && !modelOutput.includes('<h4 class="section-title">基本信息</h4>'),
'个人详情仍展示运行模式或模型输出基本信息'
) )
console.log('retail display fields assertions passed') console.log('retail display fields assertions passed')

View File

@@ -6,22 +6,22 @@ function read(relativePath) {
return fs.readFileSync(path.join(__dirname, '..', relativePath), 'utf8') return fs.readFileSync(path.join(__dirname, '..', relativePath), 'utf8')
} }
function assertModelOutputBeforeDetailCard(source, label) { function assertDetailCardBeforeModelOutput(source, label) {
const modelOutputIndex = source.indexOf('<ModelOutputDisplay') const modelOutputIndex = source.indexOf('<ModelOutputDisplay')
const detailCardIndex = source.indexOf('<el-card class="detail-card">') const detailCardIndex = source.indexOf('<el-card class="detail-card">')
assert(modelOutputIndex !== -1, `${label} 缺少模型输出卡片`) assert(modelOutputIndex !== -1, `${label} 缺少模型输出卡片`)
assert(detailCardIndex !== -1, `${label} 缺少流程详情卡片`) assert(detailCardIndex !== -1, `${label} 缺少流程详情卡片`)
assert( assert(
modelOutputIndex < detailCardIndex, detailCardIndex < modelOutputIndex,
`${label}模型输出卡片应位于流程详情卡片上方` `${label}流程详情卡片应位于模型输出卡片上方`
) )
} }
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue') const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
const corporateDetail = read('src/views/loanPricing/workflow/components/CorporateWorkflowDetail.vue') const corporateDetail = read('src/views/loanPricing/workflow/components/CorporateWorkflowDetail.vue')
assertModelOutputBeforeDetailCard(personalDetail, '个人流程详情') assertDetailCardBeforeModelOutput(personalDetail, '个人流程详情')
assertModelOutputBeforeDetailCard(corporateDetail, '企业流程详情') assertDetailCardBeforeModelOutput(corporateDetail, '企业流程详情')
console.log('workflow detail card order assertions passed') console.log('workflow detail card order assertions passed')

View File

@@ -1,11 +1,16 @@
--liquibase formatted sql -- 2026-08-14 production database changes
--changeset loan-pricing:20260812-01-add-retail-black-cust-branch-bp runInTransaction:false -- Personal model output fields
ALTER TABLE `model_retail_output_fields` ALTER TABLE `model_retail_output_fields`
ADD COLUMN `black_cust` varchar(100) DEFAULT NULL COMMENT '黑名单客户' AFTER `grey_cust`, ADD COLUMN `black_cust` varchar(100) DEFAULT NULL COMMENT '黑名单客户' AFTER `grey_cust`,
ADD COLUMN `branch_bp` varchar(100) DEFAULT NULL COMMENT '行社下调BP' AFTER `reference_rate`; ADD COLUMN `branch_bp` varchar(100) DEFAULT NULL COMMENT '行社下调BP' AFTER `reference_rate`;
--changeset loan-pricing:20260812-02-add-corp-black-cust-branch-bp runInTransaction:false -- Corporate model output fields
ALTER TABLE `model_corp_output_fields` ALTER TABLE `model_corp_output_fields`
ADD COLUMN `black_cust` varchar(100) DEFAULT NULL COMMENT '黑名单客户' AFTER `grey_cust`, ADD COLUMN `black_cust` varchar(100) DEFAULT NULL COMMENT '黑名单客户' AFTER `grey_cust`,
ADD COLUMN `branch_bp` varchar(100) DEFAULT NULL COMMENT '行社下调BP' AFTER `reference_rate`; ADD COLUMN `branch_bp` varchar(100) DEFAULT NULL COMMENT '行社下调BP' AFTER `reference_rate`;
-- Workflow collateral source fields
ALTER TABLE `loan_pricing_workflow`
ADD COLUMN `collateral_nature` varchar(50) DEFAULT NULL COMMENT '抵押物性质' AFTER `loan_loop`,
ADD COLUMN `is_nine_area` varchar(10) DEFAULT NULL COMMENT '是否属于九地: 是/否' AFTER `collateral_nature`;