init
This commit is contained in:
55
.gitignore
vendored
Normal file
55
.gitignore
vendored
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
######################################################################
|
||||||
|
# Build Tools
|
||||||
|
|
||||||
|
.gradle
|
||||||
|
/build/
|
||||||
|
!gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# IDE
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### JRebel ###
|
||||||
|
rebel.xml
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
nbproject/private/
|
||||||
|
build/*
|
||||||
|
nbbuild/
|
||||||
|
dist/
|
||||||
|
nbdist/
|
||||||
|
.nb-gradle/
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# Others
|
||||||
|
*.log
|
||||||
|
*.xml.versionsBackup
|
||||||
|
*.swp
|
||||||
|
|
||||||
|
!*/build/*.java
|
||||||
|
!*/build/*.html
|
||||||
|
!*/build/*.xml
|
||||||
|
|
||||||
|
**/_remote.repositories
|
||||||
|
mvn/
|
||||||
|
/.idea/
|
||||||
|
|
||||||
|
浙江省/
|
||||||
|
|
||||||
|
ruoyi-ui/vue.config.js
|
||||||
20
LICENSE
Normal file
20
LICENSE
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2018 RuoYi
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
96
README.md
Normal file
96
README.md
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
<p align="center">
|
||||||
|
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
|
||||||
|
</p>
|
||||||
|
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi v3.8.8</h1>
|
||||||
|
<h4 align="center">基于SpringBoot+Vue前后端分离的Java快速开发框架</h4>
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://gitee.com/y_project/RuoYi-Vue/stargazers"><img src="https://gitee.com/y_project/RuoYi-Vue/badge/star.svg?theme=dark"></a>
|
||||||
|
<a href="https://gitee.com/y_project/RuoYi-Vue"><img src="https://img.shields.io/badge/RuoYi-v3.8.8-brightgreen.svg"></a>
|
||||||
|
<a href="https://gitee.com/y_project/RuoYi-Vue/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
## 平台简介
|
||||||
|
|
||||||
|
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
|
||||||
|
|
||||||
|
* 前端采用Vue、Element UI。
|
||||||
|
* 后端采用Spring Boot、Spring Security、Redis & Jwt。
|
||||||
|
* 权限认证使用Jwt,支持多终端认证系统。
|
||||||
|
* 支持加载动态权限菜单,多方式轻松权限控制。
|
||||||
|
* 高效率开发,使用代码生成器可以一键生成前后端代码。
|
||||||
|
* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。
|
||||||
|
* 提供了单应用版本[RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
|
||||||
|
* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
|
||||||
|
* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)
|
||||||
|
* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)
|
||||||
|
|
||||||
|
## 内置功能
|
||||||
|
|
||||||
|
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
|
||||||
|
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
|
||||||
|
3. 岗位管理:配置系统用户所属担任职务。
|
||||||
|
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
|
||||||
|
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
|
||||||
|
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
|
||||||
|
7. 参数管理:对系统动态配置常用参数。
|
||||||
|
8. 通知公告:系统通知公告信息发布维护。
|
||||||
|
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
|
||||||
|
10. 登录日志:系统登录日志记录查询包含登录异常。
|
||||||
|
11. 在线用户:当前系统中活跃用户状态监控。
|
||||||
|
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
|
||||||
|
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
|
||||||
|
14. 系统接口:根据业务代码自动生成相关的api接口文档。
|
||||||
|
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
|
||||||
|
16. 缓存监控:对系统的缓存信息查询,命令统计等。
|
||||||
|
17. 在线构建器:拖动表单元素生成相应的HTML代码。
|
||||||
|
18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
|
||||||
|
|
||||||
|
## 在线体验
|
||||||
|
|
||||||
|
- admin/admin123
|
||||||
|
- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
|
||||||
|
|
||||||
|
演示地址:http://vue.ruoyi.vip
|
||||||
|
文档地址:http://doc.ruoyi.vip
|
||||||
|
|
||||||
|
## 演示图
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/cd1f90be5f2684f4560c9519c0f2a232ee8.jpg"/></td>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/1cbcf0e6f257c7d3a063c0e3f2ff989e4b3.jpg"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-8074972883b5ba0622e13246738ebba237a.png"/></td>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-9f88719cdfca9af2e58b352a20e23d43b12.png"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-39bf2584ec3a529b0d5a3b70d15c9b37646.png"/></td>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-936ec82d1f4872e1bc980927654b6007307.png"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-b2d62ceb95d2dd9b3fbe157bb70d26001e9.png"/></td>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-d67451d308b7a79ad6819723396f7c3d77a.png"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/5e8c387724954459291aafd5eb52b456f53.jpg"/></td>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/644e78da53c2e92a95dfda4f76e6d117c4b.jpg"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-8370a0d02977eebf6dbf854c8450293c937.png"/></td>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-49003ed83f60f633e7153609a53a2b644f7.png"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-d4fe726319ece268d4746602c39cffc0621.png"/></td>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-c195234bbcd30be6927f037a6755e6ab69c.png"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/b6115bc8c31de52951982e509930b20684a.jpg"/></td>
|
||||||
|
<td><img src="https://oscimg.oschina.net/oscnet/up-5e4daac0bb59612c5038448acbcef235e3a.png"/></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
## 若依前后端分离交流群
|
||||||
|
|
||||||
|
QQ群: [](https://jq.qq.com/?_wv=1027&k=5bVB1og) [](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [](https://jq.qq.com/?_wv=1027&k=51G72yr) [](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) [](https://jq.qq.com/?_wv=1027&k=SpyH2875) [](https://jq.qq.com/?_wv=1027&k=tKEt51dz) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=0vBbSb0ztbBgVtn3kJS-Q4HUNYwip89G&authKey=8irq5PhutrZmWIvsUsklBxhj57l%2F1nOZqjzigkXZVoZE451GG4JHPOqW7AW6cf0T&noverify=0&group_code=143961921) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ZFAPAbp09S2ltvwrJzp7wGlbopsc0rwi&authKey=HB2cxpxP2yspk%2Bo3WKTBfktRCccVkU26cgi5B16u0KcAYrVu7sBaE7XSEqmMdFQp&noverify=0&group_code=174951577) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Fn2aF5IHpwsy8j6VlalNJK6qbwFLFHat&authKey=uyIT%2B97x2AXj3odyXpsSpVaPMC%2Bidw0LxG5MAtEqlrcBcWJUA%2FeS43rsF1Tg7IRJ&noverify=0&group_code=161281055) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XIzkm_mV2xTsUtFxo63bmicYoDBA6Ifm&authKey=dDW%2F4qsmw3x9govoZY9w%2FoWAoC4wbHqGal%2BbqLzoS6VBarU8EBptIgPKN%2FviyC8j&noverify=0&group_code=138988063) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DkugnCg68PevlycJSKSwjhFqfIgrWWwR&authKey=pR1Pa5lPIeGF%2FFtIk6d%2FGB5qFi0EdvyErtpQXULzo03zbhopBHLWcuqdpwY241R%2F&noverify=0&group_code=151450850) 点击按钮入群。
|
||||||
12
bin/clean.bat
Normal file
12
bin/clean.bat
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
@echo off
|
||||||
|
echo.
|
||||||
|
echo [信息] 清理工程target生成路径。
|
||||||
|
echo.
|
||||||
|
|
||||||
|
%~d0
|
||||||
|
cd %~dp0
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
call mvn clean
|
||||||
|
|
||||||
|
pause
|
||||||
12
bin/package.bat
Normal file
12
bin/package.bat
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
@echo off
|
||||||
|
echo.
|
||||||
|
echo [信息] 打包Web工程,生成war/jar包文件。
|
||||||
|
echo.
|
||||||
|
|
||||||
|
%~d0
|
||||||
|
cd %~dp0
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
call mvn clean package -Dmaven.test.skip=true
|
||||||
|
|
||||||
|
pause
|
||||||
14
bin/run.bat
Normal file
14
bin/run.bat
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
@echo off
|
||||||
|
echo.
|
||||||
|
echo [信息] 使用Jar命令运行Web工程。
|
||||||
|
echo.
|
||||||
|
|
||||||
|
cd %~dp0
|
||||||
|
cd ../ruoyi-admin/target
|
||||||
|
|
||||||
|
set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
|
||||||
|
|
||||||
|
java -jar %JAVA_OPTS% ruoyi-admin.jar
|
||||||
|
|
||||||
|
cd bin
|
||||||
|
pause
|
||||||
487
doc/0314sql-更新.txt
Normal file
487
doc/0314sql-更新.txt
Normal file
@@ -0,0 +1,487 @@
|
|||||||
|
alter table sys_group_customer add column `cust_lb` char(1) DEFAULT NULL COMMENT '是否行内客户'; -- 舒
|
||||||
|
|
||||||
|
|
||||||
|
-- 张淋彬
|
||||||
|
ALTER TABLE ibs.ibs_anchor_address_965 ADD source varchar(100) NULL COMMENT '地址来源';
|
||||||
|
|
||||||
|
ALTER TABLE ibs.ibs_anchor_965 ADD cust_status INT DEFAULT 1 NULL;
|
||||||
|
ALTER TABLE ibs.ibs_anchor_965 ADD cust_address_status INT DEFAULT 1 NULL;
|
||||||
|
ALTER TABLE ibs.ibs_anchor_965 ADD create_time DATETIME DEFAULT CURRENT_TIMESTAMP NULL;
|
||||||
|
|
||||||
|
CREATE INDEX `ibs_anchor_update_time_IDX` USING BTREE ON ibs.ibs_anchor_965 (update_time desc);
|
||||||
|
CREATE INDEX `ibs_anchor_cust_status_IDX` USING BTREE ON ibs.ibs_anchor_965 (cust_status,cust_address_status,delete_status,cust_type);
|
||||||
|
CREATE INDEX `ibs_anchor_cust_type_IDX` USING BTREE ON ibs.ibs_anchor_965 (cust_type,delete_status,address_id);
|
||||||
|
CREATE INDEX `ibs_anchor_cust_id_IDX` USING BTREE ON ibs.ibs_anchor_965 (cust_id,legal_id,delete_status);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE ibs.cust_info_retail_965 ADD normal_location varchar(100) NULL COMMENT '常住地址';
|
||||||
|
ALTER TABLE ibs.cust_info_retail_965 ADD idc_location varchar(100) NULL COMMENT '身份证地址';
|
||||||
|
ALTER TABLE ibs.cust_info_retail_965 ADD relation_location varchar(100) NULL COMMENT '联系地址';
|
||||||
|
|
||||||
|
|
||||||
|
-- 张昱
|
||||||
|
CREATE TABLE `sys_campaign_group` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||||
|
`campaign_id` varchar(100) DEFAULT NULL COMMENT '活动id',
|
||||||
|
`group_id` varchar(100) DEFAULT NULL COMMENT '客群id',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`create_by` varchar(10) DEFAULT NULL COMMENT '创建人',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=359 DEFAULT CHARSET=utf8 COMMENT='清单客群关系表'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- ibs_pre.sys_campaign_second definition
|
||||||
|
|
||||||
|
CREATE TABLE `sys_campaign_second` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||||
|
`campaign_name` varchar(100) DEFAULT NULL COMMENT '活动名称(任务名称)',
|
||||||
|
`dept_id` bigint(20) DEFAULT NULL COMMENT '部门id',
|
||||||
|
`user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
|
||||||
|
`create_by` varchar(100) DEFAULT NULL COMMENT '创建者',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`update_by` varchar(100) DEFAULT NULL COMMENT '更新者',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`start_time` datetime DEFAULT NULL COMMENT '活动开始时间',
|
||||||
|
`end_time` datetime DEFAULT NULL COMMENT '活动结束时间',
|
||||||
|
`campaign_degree` varchar(100) DEFAULT NULL COMMENT '活动紧急程度,高,中,低',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,2代表删除)',
|
||||||
|
`campaign_type` varchar(100) DEFAULT NULL COMMENT '活动类型,走访,电话,短信',
|
||||||
|
`claim_type` char(1) DEFAULT NULL COMMENT '认领类型,0强制认领,1可选认领',
|
||||||
|
`distribute_type` varchar(100) DEFAULT NULL COMMENT '第一优先级分配规则,0手动指定,1按照客户归属2按照地址归属',
|
||||||
|
`campaign_id` varchar(100) DEFAULT NULL COMMENT '活动id(任务id)',
|
||||||
|
`claim_start_time` datetime DEFAULT NULL COMMENT '活动认领开始时间',
|
||||||
|
`claim_end_time` datetime DEFAULT NULL COMMENT '活动认领结束时间',
|
||||||
|
`executer` char(1) DEFAULT NULL COMMENT '执行人,0代表机构,1代表个人,2代表混合分配',
|
||||||
|
`create_role` char(1) DEFAULT NULL COMMENT '活动创建角色,0总行管理员,1: 零售 2对公 3运管 5 支行',
|
||||||
|
`group_id` varchar(100) DEFAULT NULL COMMENT '客群id',
|
||||||
|
`second_push_status` char(1) DEFAULT '0' COMMENT '活动是否二次推送过,0未推送,1已推送',
|
||||||
|
`distribute_type2` varchar(100) DEFAULT NULL COMMENT '第二优先级分配规则,0手动指定,1按照客户归属2按照地址归属',
|
||||||
|
`distribute_type3` varchar(100) DEFAULT NULL COMMENT '第三优先级分配规则,0手动指定,1按照客户归属2按照地址归属',
|
||||||
|
`task_type` varchar(100) DEFAULT NULL COMMENT '任务类型,0营销任务,1事务任务',
|
||||||
|
`check_target` varchar(100) DEFAULT NULL COMMENT '考核目标,存款营销,贷款营销,产品营销,贷前调查,贷后回访,预期催收,其他',
|
||||||
|
`task_index` varchar(100) DEFAULT NULL COMMENT '任务指标',
|
||||||
|
`reward` varchar(300) DEFAULT NULL COMMENT '奖励说明',
|
||||||
|
`feed_back` varchar(100) DEFAULT NULL COMMENT '反馈要求,无,签到签退,拍照,反馈记录',
|
||||||
|
`cust_type` char(1) DEFAULT NULL COMMENT '客户类型 0个人,1商户,2企业',
|
||||||
|
`distribute_cont` varchar(100) DEFAULT NULL COMMENT '規則1内容',
|
||||||
|
`distribute_cont2` varchar(100) DEFAULT NULL COMMENT '規則2内容',
|
||||||
|
`distribute_cont3` varchar(100) DEFAULT NULL COMMENT '規則3内容',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COMMENT='二次分配活动表';
|
||||||
|
|
||||||
|
|
||||||
|
insert into sys_campaign_group(campaign_id ,group_id )
|
||||||
|
select distinct campaign_id ,group_id from sys_campaign_group_customer;
|
||||||
|
|
||||||
|
ALTER TABLE ibs.sys_campaign ADD distribute_cont3 varchar(100) NULL COMMENT '';
|
||||||
|
ALTER TABLE ibs.sys_campaign ADD distribute_cont2 varchar(100) NULL COMMENT '';
|
||||||
|
ALTER TABLE ibs.sys_campaign ADD distribute_cont varchar(100) NULL COMMENT '';
|
||||||
|
ALTER TABLE ibs.sys_campaign MODIFY COLUMN distribute_type2 varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '';
|
||||||
|
ALTER TABLE ibs.sys_campaign MODIFY COLUMN distribute_type3 varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- 何
|
||||||
|
|
||||||
|
ALTER TABLE ibs.relation_rule ADD add_source varchar(100) NULL COMMENT '地址来源';
|
||||||
|
ALTER TABLE ibs.relation_rule ADD add_source_id varchar(100) NULL COMMENT '地址来源码值';
|
||||||
|
|
||||||
|
ALTER TABLE ibs.cust_tab_list_info ADD is_start varchar(1) NULL COMMENT '0停用,1启动';
|
||||||
|
ALTER TABLE ibs.cust_tab_list_info MODIFY COLUMN comput_type varchar(1) COMMENT '加工类型: 0手动执行,1 天,2周 ,3月,4年';
|
||||||
|
|
||||||
|
--各个客户表都要,965以外的其余行社
|
||||||
|
ALTER TABLE ibs.cust_info_retail_965 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
ALTER TABLE ibs.cust_info_merchant_965 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
ALTER TABLE ibs.cust_info_business_965 ADD record_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
|
||||||
|
ALTER TABLE ibs.cust_info_retail_807 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
ALTER TABLE ibs.cust_info_merchant_807 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
ALTER TABLE ibs.cust_info_business_807 ADD record_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
|
||||||
|
ALTER TABLE ibs.cust_info_retail_831 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
ALTER TABLE ibs.cust_info_merchant_831 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
ALTER TABLE ibs.cust_info_business_831 ADD record_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
|
||||||
|
ALTER TABLE ibs.cust_info_retail_931 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
ALTER TABLE ibs.cust_info_merchant_931 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
ALTER TABLE ibs.cust_info_business_931 ADD record_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
|
||||||
|
|
||||||
|
-- ibs.family_member definition
|
||||||
|
|
||||||
|
CREATE TABLE `family_member` (
|
||||||
|
`id_card` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '身份证号',
|
||||||
|
`name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名',
|
||||||
|
`father_card` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '父亲身份证',
|
||||||
|
`mother_card` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '母亲身份证',
|
||||||
|
`spouse_card` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配偶身份证',
|
||||||
|
`family_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '家庭id',
|
||||||
|
`gender` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '性别,M男,F女',
|
||||||
|
`age` int(11) DEFAULT NULL COMMENT '年龄',
|
||||||
|
`is_delete` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '0未删除,1逻辑删除',
|
||||||
|
`bs_id` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '兄弟姐妹唯一id',
|
||||||
|
`spouse_family_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配偶家庭id,女性出嫁后,此字段填充男方家庭id,男方结婚后也要写入女方家庭id',
|
||||||
|
`create_time` datetime DEFAULT NULL,
|
||||||
|
`create_by` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
|
||||||
|
`update_by` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
|
||||||
|
`update_time` datetime DEFAULT NULL,
|
||||||
|
`birth_date` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO ibs.sys_dict_type
|
||||||
|
(dict_id, dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
|
||||||
|
VALUES(null, '地址来源码值', 'address_source', '0', 'admin', '2024-10-25 10:52:38', '', NULL, NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_type
|
||||||
|
(dict_id, dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
|
||||||
|
VALUES(null, '亲属关系码值', 'family_relation', '0', 'admin', '2024-10-25 10:52:38', '', NULL, NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_type
|
||||||
|
(dict_id, dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
|
||||||
|
VALUES(null, '对公经营状态', 'reg_status', '0', 'admin', '2024-10-25 10:52:38', '', NULL, NULL);
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'信用卡开卡','0_gh_xykkk','ral_rules',NULL,'default','N','0','admin','2024-10-25 10:55:21','9650702','2024-11-21 10:03:41',NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(1,'信用卡销卡','1_gh_xykxk','ral_rules',NULL,'default','N','0','admin','2024-10-25 10:55:54','9650702','2024-11-20 16:23:07',NULL),
|
||||||
|
(0,'家庭地址','0_dz_jtdz','ral_rules',NULL,'default','N','0','admin','2024-10-25 10:56:33','9650702','2024-11-21 10:03:44',NULL),
|
||||||
|
(0,'信用卡-企业开卡','0_gh_xykkk','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:23:59','9650702','2024-11-21 10:05:16',NULL),
|
||||||
|
(0,'信用卡-企业销卡','0_gh_xykxk','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:24:21','9650702','2024-11-21 10:05:21',NULL),
|
||||||
|
(0,'注册地址','2_dz_zcdz','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:24:43','9650702','2024-11-21 10:04:03',NULL),
|
||||||
|
(0,'经营地址','2_dz_jydz','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:25:01','9650702','2024-11-21 10:04:10',NULL),
|
||||||
|
(0,'商户-行用卡销卡','1_gh_xykxk','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:25:26','9650702','2024-11-21 10:04:44',NULL),
|
||||||
|
(0,'行用卡开卡-商户','1_gh_xykkk','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:25:45','9650702','2024-11-21 10:04:51',NULL),
|
||||||
|
(0,'注册地址','1_dz_zcdz','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:26:00','9650702','2024-11-21 14:18:29',NULL),
|
||||||
|
(0,'经营地址','1_dz_btdz','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:26:25','9650702','2024-11-21 14:19:54',NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'工作地址','0_dz_gzdz','ral_rules',NULL,'default','N','0','9650702','2024-11-21 14:20:51','',NULL,NULL),
|
||||||
|
(0,'户籍地址','0_dz_hjdz','ral_rules',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'核心','0_hx','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'大信贷','0_dxd','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'EICC','0_eicc','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'ECIF','0_ecif','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'手工导入','0_sgdr','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'核心','1_hx','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'大信贷','1_dxd','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'EICC','1_eicc','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'ECIF','1_ecif','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'手工导入','1_sgdr','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'新华社','1_xhs','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'金综','1_jz','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'核心','2_hx','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'大信贷','2_dxd','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'EICC','2_eicc','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'ECIF','2_ecif','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'手工导入','2_sgdr','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'新华社','2_xhs','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'金综','2_jz','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
|
||||||
|
(0,'外高祖母','m,m,m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'小姑子','h,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾伯祖父','f,f,f,f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外甥女','ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'女婿','h,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'舅祖母/妗婆','f,m,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外曾孙','s,d,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'叔祖母','f,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾祖姑母/太姑婆','f,f,f,f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'女儿','h,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高祖姑丈/老太姑婆公','f,f,f,f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'公公','h,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高祖母/老太奶奶','f,f,f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姑夫','f,f,bs,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'嫂子','bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂外姑丈/堂外姑婆公','m,f,f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'婆婆','h,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'妹夫','ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'侄子','bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'表妹夫','f,ss,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'大伯子','h,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高伯祖母/老太婆','f,f,f,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂叔祖母','f,f,f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高祖父的妻子(高祖母)','f,f,f,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂外叔祖母/堂外婶婆','m,f,f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'大姑子','h,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'小叔子','h,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'哥哥','bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾外孙女','d,d,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'堂姐夫','f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'祖姑母/姑婆','f,f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'妻子的伯祖父','w,f,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姐夫/表妹夫','m,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'襟兄','w,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表叔','f,f,ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表婶','f,f,ss,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾祖姑母/太姑婆','f,f,f,f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'孙女婿','d,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'弟弟','sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'姐姐','bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'祖姑丈/姑婆公','f,f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾祖姑丈/太姑婆公','f,f,f,f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外曾婆','h,m,m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'祖姑丈/姑婆公','f,f,f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姨夫','m,f,bs,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姑','f,f,ss,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'妹妹','ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外甥','sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高叔祖母/老太婆','f,f,f,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'女儿','d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'伯祖父','f,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂婶','f,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外婆','h,m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'父亲','f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表舅','m,f,bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'丈夫','h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外姑丈/外姑婆公','m,f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'儿媳','w,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'母亲','m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'表妗','m,f,ss,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'弟媳','sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'岳父','w,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'叔祖父','f,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'儿子','s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'祖姑母/姑婆','f,f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姨','m,f,bs,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'妻子','w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾叔祖父','f,f,f,f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'岳母','w,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'女婿','w,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姐/表妹','m,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂外姑丈/堂外姑婆公','m,f,f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表伯','f,f,bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姑夫','f,f,ss,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表哥/表弟','m,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂妹/妹妹','f,sb,w,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'舅母/舅妈','m,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姨','m,f,ss,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾孙媳妇','s,s,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'祖父','f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'大外祖母/外太婆/太姥姥','m,f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表哥/表弟','m,ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂弟/弟弟','f,sb,w,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'祖母/奶奶','f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姑','f,f,bs,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外伯祖母/外姆婆','m,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'祖姑丈/姑婆公','f,f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾孙','s,s,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'孙媳妇','s,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'母亲','f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂伯祖母','f,f,f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾叔祖母','f,f,f,f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姨夫','m,f,ss,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'叔岳父','w,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾伯祖母','f,f,f,f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外叔祖母/外婶婆','m,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂伯祖父','f,f,f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外姑丈/外姑婆公','m,f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高伯祖母/老太婆','f,f,f,f,f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'曾伯祖母','f,f,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外祖父/外公/姥爷','m,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'父亲/爸爸','m,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表嫂/表弟妇','m,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姐夫/表妹夫','m,ss,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表舅','m,f,ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外祖母','m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表甥女','m,mb,s,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'伯岳父','w,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'祖姑母/姑婆','f,f,f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'大外祖父/外太公/太姥爷','m,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姐夫/表妹夫','m,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'大外祖母/外太婆/太姥姥','m,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾祖姑母/太姑婆','f,f,f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外舅祖母/外妗婆','m,m,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高祖姑丈/老太姑婆公','f,f,f,f,f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'舅舅','m,mb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂外伯祖父/堂外伯公','m,f,f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表舅','m,m,mb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高叔祖父/老太公','f,f,f,f,f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'曾祖姑母/太姑婆','f,f,f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'姑丈/姑夫','f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾叔祖父','f,f,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表嫂/表弟妇','m,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高祖父','f,f,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高祖母/老太奶奶','f,f,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂外姑母/堂外姑婆','m,f,f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表弟','f,ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'孙女','d,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'高祖姑母/老太姑婆','f,f,f,f,f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'外舅祖父/外舅公','m,m,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾伯祖父','f,f,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'女婿','d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂伯','f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾祖母/太奶奶','f,f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾祖姑丈/太姑婆公','f,f,f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'岳曾祖父','w,f,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外甥','d,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姨','m,bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表妹','f,ss,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'曾祖姑丈/太姑婆公','f,f,f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'堂外姑母/堂外姑婆','m,f,f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'表姐/表妹','m,bs,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'曾祖姑丈/太姑婆公','f,f,f,f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'姨夫','m,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'伯母','f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
|
||||||
|
(0,'外曾祖母','m,m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'太岳母','w,f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂外叔祖父/堂外叔公','m,f,f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表嫂','f,bs,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'堂妹夫','f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表嫂/表弟妇','m,ss,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'姑母/姑姑','f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'岳祖父','w,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'外舅祖母/外妗婆','m,m,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表姐/表妹','m,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'婶婶','f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'太岳母','w,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'外舅祖父/外舅公','m,m,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表姐/表妹','m,ss,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'高伯祖父/老太公','f,f,f,f,f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'祖姑母/姑婆','f,f,f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'姨丈/姨夫','m,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'叔岳母','w,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'舅妈','m,mb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'高祖姑母/老太姑婆','f,f,f,f,f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表舅','m,mb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂叔祖父','f,f,f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'伯伯','f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'高叔祖母/老太婆','f,f,f,f,f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'孙女','s,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂叔','f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'曾叔祖母','f,f,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'舅母/舅妈','m,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表姐夫/表妹夫','m,bs,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'姑姑','f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'叔叔','f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'孙子','s,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表哥/表弟','m,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂妹','f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'儿媳','s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'伯岳母','w,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'高祖姑母/老太姑婆','f,f,f,f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'小姨子','w,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'襟弟','w,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'大妗','w,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'高祖姑母/老太姑婆','f,f,f,f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'大姨子','w,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'小舅子','w,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'高叔祖父/老太公','f,f,f,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'高伯祖父/老太公','f,f,f,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'大舅子','w,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表姐夫','f,bs,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂弟妇/弟妹','f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'外姑母/外姑婆','m,f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'孙媳妇的丈夫(即自己)','s,s,w,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'外叔祖父/外叔公','m,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'外甥女','d,s,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'高祖姑丈/老太姑婆公','f,f,f,f,f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'外伯祖父/外伯公','m,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'阿姨','m,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表弟妇','f,ss,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'舅祖父/舅公','f,m,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂外伯祖母/堂外姆婆','m,f,f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'祖姑丈/姑婆公','f,f,f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'姨母/姨姨','m,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'曾祖母/太奶奶','f,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'舅祖母/妗婆','f,m,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表嫂/表弟妇','m,bs,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂姐/堂姊','f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'舅祖父/舅公','f,m,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'祖母/奶奶','f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表姆','f,f,bs,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'妈妈的弟弟','m,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'小妗','w,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'外姑母/外姑婆','m,f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'姐夫','bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'外高祖母的丈夫(外高祖父)','m,m,m,m,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂嫂/嫂嫂','f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表姐','f,bs,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'曾祖父','f,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'高祖姑丈/老太姑婆公','f,f,f,f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'堂侄','f,bb,s,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'舅父/大舅','m,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表兄/表哥','f,bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'侄女','bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'姑丈/姑夫','f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'表妗','m,f,bs,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'变更','1','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'变更中','2','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'吊销已注销','3','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'存续(在营、开业,在册)','4','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'已注销','5','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'歇业','6','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'正常','7','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'注销','8','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'其他','9','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'吊销','10','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'吊销未注销','11','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'在业','12','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
|
||||||
|
(0,'废止','13','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'撤销','14','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'注销中','15','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'吊销已注销','16','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'存续','17','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'迁出','18','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'备案','19','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'开业','20','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
|
||||||
|
(0,'空','21','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
|
||||||
|
|
||||||
|
----吴
|
||||||
|
-- ibs.task_visit_log definition
|
||||||
|
|
||||||
|
CREATE TABLE `task_visit_log` (
|
||||||
|
`id` bigint(21) NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||||
|
`cust_id` varchar(255) DEFAULT NULL COMMENT '客户号',
|
||||||
|
`nick_name` varchar(255) DEFAULT NULL COMMENT '柜员名称',
|
||||||
|
`cust_feedback` varchar(10) DEFAULT NULL COMMENT '客户意向',
|
||||||
|
`visit_result` varchar(10) DEFAULT NULL COMMENT '营销结果',
|
||||||
|
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
|
||||||
|
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='任务走访记录表';
|
||||||
|
|
||||||
|
-- ibs.task_visit_error_log definition
|
||||||
|
|
||||||
|
CREATE TABLE `task_visit_error_log` (
|
||||||
|
`id` bigint(21) NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||||
|
`cust_id` varchar(255) DEFAULT NULL COMMENT '客户号',
|
||||||
|
`task_id` varchar(255) DEFAULT NULL COMMENT '任务id',
|
||||||
|
`address_error_flag` varchar(1) DEFAULT NULL COMMENT '地址是否错误',
|
||||||
|
`contact_error_flag` varchar(1) DEFAULT NULL COMMENT '联系方式是否错误',
|
||||||
|
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='任务走访无法触达';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
0
doc/0324sql
Normal file
0
doc/0324sql
Normal file
178
doc/0417更新sql.txt
Normal file
178
doc/0417更新sql.txt
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
-- zy
|
||||||
|
CREATE TABLE `sys_campaign_group_customer_supplement` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||||
|
`cust_id` varchar(100) DEFAULT NULL COMMENT '客户号',
|
||||||
|
`campaign_id` varchar(100) DEFAULT NULL COMMENT '活动id',
|
||||||
|
`group_id` varchar(100) DEFAULT NULL COMMENT '分群id',
|
||||||
|
`dept_id` bigint(20) DEFAULT NULL COMMENT '部门id',
|
||||||
|
`user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
|
||||||
|
`create_by` varchar(100) DEFAULT NULL COMMENT '创建者',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`update_by` varchar(100) DEFAULT NULL COMMENT '更新者',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,2代表删除)',
|
||||||
|
`grid_id` bigint(20) DEFAULT NULL COMMENT '网格id',
|
||||||
|
`list_type` char(1) DEFAULT NULL COMMENT '0推荐营销清单,1我的营销清单(出版需求设计的字段,现在暂时不用)',
|
||||||
|
`push_status` char(1) DEFAULT '0' COMMENT '推送状态(0代表未推送,1代表推送成功,2代表推送失败)',
|
||||||
|
`org_claim_status` char(1) DEFAULT '0' COMMENT '机构认领状态(0待认领,1已认领)',
|
||||||
|
`org_distribute_status` char(1) DEFAULT '0' COMMENT '机构分配状态(0待分配,1已分配)',
|
||||||
|
`cust_claim_status` char(1) DEFAULT '0' COMMENT '客户经理认领状态(0待认领,1已认领)',
|
||||||
|
`create_role` char(1) DEFAULT NULL COMMENT '记录创建角色,0总行管理员,1零售2对公3运管5支行',
|
||||||
|
`grid_name` varchar(100) DEFAULT NULL COMMENT '一级网格名称',
|
||||||
|
`grid_name2` varchar(100) DEFAULT NULL COMMENT '二级网格名称',
|
||||||
|
`outlets` varchar(100) DEFAULT NULL COMMENT '客户经理所在网点',
|
||||||
|
`cust_idc` varchar(100) DEFAULT NULL COMMENT '客户身份证号',
|
||||||
|
`second_push_status` char(1) DEFAULT '0' COMMENT '活动是否二次推送过,0未推送,1已推送',
|
||||||
|
`cust_phone` varchar(100) DEFAULT NULL COMMENT '客户电话',
|
||||||
|
`social_credit_code` varchar(100) DEFAULT NULL COMMENT '统一社会信用识别码(只有企业和商户有)',
|
||||||
|
`outlets_id` varchar(30) DEFAULT NULL COMMENT '客户经理所在网点ID(若客户经理不属于网点,则无值)',
|
||||||
|
`push_user_level` varchar(10) DEFAULT NULL COMMENT '推送客户经理级别:head 总行 branch支行',
|
||||||
|
`push_status_branch` varchar(1) DEFAULT NULL COMMENT '支行推送状态 0 未推送1成功2失败',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `sys_campaign_group_customer_supplement_cust_id_IDX` (`cust_id`) USING BTREE,
|
||||||
|
KEY `sys_campaign_group_customer_supplement_campaign_id_IDX` (`campaign_id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=3610 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='活动分群客户关联关系表-跑批结果表-补充客户经理、机构'
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE sys_menu ADD is_link varchar(1) DEFAULT '0' NULL COMMENT '是否可以直接访问';
|
||||||
|
|
||||||
|
CREATE TABLE `admin_region_index_965` (
|
||||||
|
`id` bigint(21) NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||||
|
`create_time` date DEFAULT NULL COMMENT '创建日期',
|
||||||
|
`level` int(11) DEFAULT NULL COMMENT '行政区划等级',
|
||||||
|
`code` varchar(255) DEFAULT NULL COMMENT '行政区划编码',
|
||||||
|
`item_name` varchar(255) DEFAULT NULL COMMENT '指标名称',
|
||||||
|
`item_val` varchar(255) DEFAULT NULL COMMENT '指标值',
|
||||||
|
`dept_id` bigint(21) DEFAULT NULL COMMENT '归属机构',
|
||||||
|
`ops_dept` varchar(1) DEFAULT NULL COMMENT '归属部室',
|
||||||
|
`item_idx` varchar(10) DEFAULT NULL COMMENT '指标码值',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='行政区划热力指标';
|
||||||
|
|
||||||
|
ALTER TABLE draw_shape ADD create_by varchar(100) NULL COMMENT '创建者';
|
||||||
|
|
||||||
|
update draw_shape set create_by = update_by;
|
||||||
|
|
||||||
|
INSERT INTO sys_dict_type ( dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark) VALUES
|
||||||
|
('行政区划数据码值', 'admin_region_data_metric', '0', 'admin', '2025-04-01 11:01:29', '', NULL, NULL);
|
||||||
|
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '建档率', '1001', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '授信率', '1002', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '合同签约率', '1003', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '信用卡覆盖率', '1004', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, 'ETC覆盖率', '1005', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '丰收互联覆盖率', '1006', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '收单覆盖率', '1007', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣电费覆盖率', '1008', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贷款黑名单占比', '1009', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '五级不良贷款占比(人)', '1010', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '五级不良贷款占比(金额)', '1011', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '合同签约率', '2001', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '签发承兑汇票率', '2002', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贴现业务率', '2003', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '保函业务率', '2004', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '有效代发工资率', '2005', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣电费率', '2006', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣水费率', '2007', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣税费率', '2008', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '票据宝签约率', '2009', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '财资宝签约率', '2010', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '收付宝签约率', '2011', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贸融宝签约率', '2012', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '数字生态产品签约率', '2013', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '开户率', '2014', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '国际结算业务率', '2015', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '远期结算汇业务率', '2016', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- zlb
|
||||||
|
CREATE TABLE `draw_layer_audit_965` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`shape_id` varchar(100) DEFAULT NULL COMMENT '图形id',
|
||||||
|
`shape_name` varchar(100) DEFAULT NULL COMMENT '图形名称锚点编号。同客户编号,即证件类型',
|
||||||
|
`layer_id` varchar(100) DEFAULT NULL COMMENT '图层id',
|
||||||
|
`layer_name` varchar(100) DEFAULT NULL COMMENT '图层名称',
|
||||||
|
`dept_id` varchar(100) DEFAULT NULL COMMENT '支行机构号',
|
||||||
|
`dept_name` varchar(100) NOT NULL COMMENT '支行名称',
|
||||||
|
`user_name` varchar(100) DEFAULT NULL COMMENT '客户经理柜员号',
|
||||||
|
`nick_name` varchar(100) NOT NULL COMMENT '客户经理名称(申请者、创建者)',
|
||||||
|
`ops_dept` varchar(10) NOT NULL COMMENT '部室归属',
|
||||||
|
`delete_status` int(11) DEFAULT '0' COMMENT '删除状态,0为正常,1为已删除',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区域审批表';
|
||||||
|
|
||||||
|
ALTER TABLE draw_shape ADD audit_status varchar(10) DEFAULT '0' NOT NULL COMMENT '审批状态,0待审批1审批通过2拒绝';
|
||||||
|
ALTER TABLE draw_shape ADD audit_remark varchar(100) NULL COMMENT '审批意见';
|
||||||
|
ALTER TABLE sys_group_customer MODIFY COLUMN push_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '1' NULL COMMENT '导入状态(1代表导入成功,2代表导入失败(缺乏必填项,或地址电话不全))';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--szq
|
||||||
|
CREATE TABLE `campaign_count` (
|
||||||
|
`dt` varchar(10) DEFAULT NULL COMMENT '统计日期',
|
||||||
|
`dept_id` varchar(10) DEFAULT NULL COMMENT '行社机构号',
|
||||||
|
`dept_name` varchar(10) DEFAULT NULL COMMENT '行社名称',
|
||||||
|
`user_id` varchar(10) DEFAULT NULL COMMENT '用户id',
|
||||||
|
`user_name` varchar(10) DEFAULT NULL COMMENT '用户姓名',
|
||||||
|
`create_camp_num_year` int(10) DEFAULT NULL COMMENT '创建的总任务数--年',
|
||||||
|
`push_camp_num_year` int(10) DEFAULT NULL COMMENT '推送给我的总任务数--年',
|
||||||
|
`other_camp_num_year` int(10) DEFAULT NULL COMMENT '其他总任务数--年',
|
||||||
|
`create_camp_num_month` int(10) DEFAULT NULL COMMENT '创建的总任务数--月',
|
||||||
|
`push_camp_num_month` int(10) DEFAULT NULL COMMENT '推送给我的总任务数--月',
|
||||||
|
`other_camp_num_month` int(10) DEFAULT NULL COMMENT '其他总任务数--月',
|
||||||
|
`create_camp_num_week` int(10) DEFAULT NULL COMMENT '创建的总任务数--周',
|
||||||
|
`push_camp_num_week` int(10) DEFAULT NULL COMMENT '推送给我的总任务数--周',
|
||||||
|
`other_camp_num_week` int(10) DEFAULT NULL COMMENT '其他总任务数--周',
|
||||||
|
`sum_type` char(2) DEFAULT NULL COMMENT '统计层级 0总行 1零售 2公司 3运管 5支行 -1客户经理',
|
||||||
|
`cust_type` char(1) DEFAULT NULL COMMENT '客户类型 0个人,1商户,2企业'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='走访任务统计卡片'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE `visit_info` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||||
|
`campaign_id` varchar(100) DEFAULT NULL COMMENT '任务id',
|
||||||
|
`vis_name` varchar(100) DEFAULT NULL COMMENT '走访客户经理姓名',
|
||||||
|
`vis_id` varchar(100) DEFAULT NULL COMMENT '走访客户经理id',
|
||||||
|
`dept_id` varchar(100) DEFAULT NULL COMMENT '走访客户经理部门',
|
||||||
|
`vis_time` datetime DEFAULT NULL COMMENT '走访时间',
|
||||||
|
`cust_name` varchar(100) DEFAULT NULL COMMENT '走访客户名称',
|
||||||
|
`cust_idc` varchar(100) DEFAULT NULL COMMENT '客户证件号',
|
||||||
|
`social_credit_code` varchar(100) DEFAULT NULL COMMENT '企业(商户)统信码',
|
||||||
|
`create_by` varchar(100) DEFAULT NULL COMMENT '创建者',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`update_by` varchar(100) DEFAULT NULL COMMENT '更新者',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '走访备注',
|
||||||
|
`cust_type` char(1) DEFAULT NULL COMMENT '客户类型 0个人,1商户,2企业',
|
||||||
|
`dept_name` varchar(100) DEFAULT NULL COMMENT '部门名称',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1232 DEFAULT CHARSET=utf8 COMMENT='走访名单表'
|
||||||
|
|
||||||
|
CREATE TABLE `visit_campaign_count` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||||
|
`campaign_id` varchar(100) DEFAULT NULL COMMENT '任务id',
|
||||||
|
`cust_num` bigint(20) DEFAULT NULL COMMENT '活动客户数',
|
||||||
|
`push_success_num` bigint(20) DEFAULT NULL COMMENT '推送成功客户数',
|
||||||
|
`allocate_rate` varchar(100) DEFAULT NULL COMMENT '机构分配率',
|
||||||
|
`issued_num` varchar(100) DEFAULT NULL COMMENT '客户认领率',
|
||||||
|
`claim_num` bigint(20) DEFAULT NULL COMMENT '认领客户数',
|
||||||
|
`valid_visit_num` bigint(20) DEFAULT NULL COMMENT '有效待走访客户数',
|
||||||
|
`visit_rate` varchar(100) DEFAULT NULL COMMENT '走访率',
|
||||||
|
`loan_sign_rate` varchar(100) DEFAULT NULL COMMENT '贷款合同签约率',
|
||||||
|
`increase_deposit_amount` varchar(100) DEFAULT NULL COMMENT '活期存款提升金额',
|
||||||
|
`push_client_id` varchar(100) DEFAULT NULL COMMENT '推送的客户经理',
|
||||||
|
`cust_type` char(1) DEFAULT NULL COMMENT '客户类型 0个人,1商户,2企业',
|
||||||
|
`dispatch_num` bigint(20) DEFAULT NULL COMMENT '已下发客户数',
|
||||||
|
`dept_id` bigint(20) DEFAULT NULL COMMENT '机构号',
|
||||||
|
`campaign_create_time` varchar(100) DEFAULT NULL COMMENT '活动创建时间',
|
||||||
|
`start_time` varchar(100) DEFAULT NULL COMMENT '活动开始时间',
|
||||||
|
`end_time` varchar(100) DEFAULT NULL COMMENT '活动结束时间',
|
||||||
|
`claim_ddline` varchar(100) DEFAULT NULL COMMENT '活动认领时限',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=537 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='走访任务统计'
|
||||||
371
doc/0515更新sql.txt
Normal file
371
doc/0515更新sql.txt
Normal file
File diff suppressed because one or more lines are too long
46
doc/v2.2.2_mysql.txt
Normal file
46
doc/v2.2.2_mysql.txt
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
INSERT INTO ibs.sys_dict_type ( dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark) VALUES('地图拓客货币币种码值', 'cust_map_cur_metric', '0', 'admin', '2025-05-23 10:06:15', '', NULL, NULL);
|
||||||
|
|
||||||
|
INSERT INTO ibs.sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) values
|
||||||
|
(0, '人民币元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '加元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '哥伦比亚比索', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '德国马克', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '挪威马克', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '新加坡元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '日元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '欧元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '法国法郎', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '港元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '澳大利亚元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '瑞典克朗', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '瑞士法郎', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '美元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '英镑', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '阿富汗尼', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '韩元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '新台币', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
|
||||||
|
(0, '新西兰元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL);
|
||||||
|
|
||||||
|
CREATE TABLE dept_address(
|
||||||
|
dept_id bigint(21) NOT NULL COMMENT '部门id' ,
|
||||||
|
address VARCHAR(255) COMMENT '' ,
|
||||||
|
lng DECIMAL(15,8) COMMENT '' ,
|
||||||
|
lat DECIMAL(15,8) COMMENT '' ,
|
||||||
|
PRIMARY KEY (dept_id)
|
||||||
|
) COMMENT = '机构地址表';
|
||||||
|
|
||||||
|
CREATE TABLE cust_map_favorite(
|
||||||
|
id bigint(21) NOT NULL COMMENT '主键' ,
|
||||||
|
user_name VARCHAR(100) COMMENT '用户名' ,
|
||||||
|
cust_name VARCHAR(100) COMMENT '企业名称' ,
|
||||||
|
lp_name VARCHAR(100) COMMENT '法人姓名' ,
|
||||||
|
phone_number VARCHAR(100) COMMENT '联系方式' ,
|
||||||
|
regist_capi_show VARCHAR(100) COMMENT '注册资本展示字段' ,
|
||||||
|
province VARCHAR(100) COMMENT '省' ,
|
||||||
|
city VARCHAR(100) COMMENT '市' ,
|
||||||
|
address_detail longtext COMMENT '详细地址' ,
|
||||||
|
longitude DECIMAL(15,15) COMMENT '经度' ,
|
||||||
|
latitude DECIMAL(15,15) COMMENT '纬度' ,
|
||||||
|
start_date DATE COMMENT '成立年限' ,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) COMMENT = '地图拓客收藏表';
|
||||||
BIN
doc/若依环境使用手册.docx
Normal file
BIN
doc/若依环境使用手册.docx
Normal file
Binary file not shown.
76
ibs/pom.xml
Normal file
76
ibs/pom.xml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi</artifactId>
|
||||||
|
<version>3.8.8</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>ibs</artifactId>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
<!-- Mockito依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mockito</groupId>
|
||||||
|
<artifactId>mockito-core</artifactId>
|
||||||
|
<version>3.3.3</version> <!-- 请根据需要选择合适的版本 -->
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<!-- JUnit依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>4.12</version> <!-- 请根据需要选择合适的版本 -->
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 通用工具-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-common</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-framework</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.locationtech.jts</groupId>
|
||||||
|
<artifactId>jts-core</artifactId>
|
||||||
|
<version>1.18.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-webmvc</artifactId>
|
||||||
|
<version>5.3.33</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.swagger</groupId>
|
||||||
|
<artifactId>swagger-annotations</artifactId>
|
||||||
|
<version>1.6.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-system</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.opencsv</groupId>
|
||||||
|
<artifactId>opencsv</artifactId>
|
||||||
|
<version>5.2</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package com.ruoyi.ibs.app.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
|
import com.ruoyi.ibs.app.domain.QyWxpropertiex;
|
||||||
|
import com.ruoyi.ibs.app.domain.UrlDTO;
|
||||||
|
import com.ruoyi.ibs.app.service.QYWeiXinManagerInfoService;
|
||||||
|
import com.ruoyi.ibs.app.service.WeiXinService;
|
||||||
|
import com.ruoyi.ibs.app.util.JsonResult;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Lookup;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLDecoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/11/9
|
||||||
|
*/
|
||||||
|
@Api(tags = "移动端企业微信相关服务")
|
||||||
|
@RequestMapping("/api/mobile/qy/weixin")
|
||||||
|
@RestController
|
||||||
|
public class QYWeiXinController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private WeiXinService weiXinService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private QYWeiXinManagerInfoService qyWeiXinManagerInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private QyWxpropertiex qyWeiXinProperties;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取企业微信服务器ip")
|
||||||
|
@GetMapping("/getIp")
|
||||||
|
public AjaxResult getIp(String orgId) {
|
||||||
|
return weiXinService.getIp(orgId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取使用企业微信jdk的票据")
|
||||||
|
@GetMapping("/ticket")
|
||||||
|
public JsonResult getTicket(String qyUrl,String orgId) throws UnsupportedEncodingException {
|
||||||
|
String url = URLDecoder.decode(qyUrl, StandardCharsets.UTF_8.toString());
|
||||||
|
return weiXinService.getTicketVo2(url,orgId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取企业微信用户客户经理相关信息")
|
||||||
|
@GetMapping("/userinfo")
|
||||||
|
@Log(title = "企业微信登录")
|
||||||
|
public AjaxResult getUserInfo(String code,String orgId) {
|
||||||
|
return qyWeiXinManagerInfoService.getQYWeiXinUserInfo( code,orgId );
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取企业微信相关参数")
|
||||||
|
@GetMapping("/getQyApi")
|
||||||
|
public AjaxResult getQyApi(String orgId) {
|
||||||
|
return AjaxResult.success(qyWeiXinManagerInfoService.getQyApi2( orgId ));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取企业微信用户客户经理相关信息")
|
||||||
|
@GetMapping("/getLoginUser")
|
||||||
|
//生产要注解掉
|
||||||
|
public AjaxResult getLogin(@RequestParam String userName) {
|
||||||
|
return qyWeiXinManagerInfoService.getLogin( userName );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AccessTokenDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 凭证
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "access_token")
|
||||||
|
private String accessToken;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效时间
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "expires_in")
|
||||||
|
private Integer expiresIn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错误码
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "errcode")
|
||||||
|
private Integer errCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错误信息
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "errmsg")
|
||||||
|
private String errMsg;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
16
ibs/src/main/java/com/ruoyi/ibs/app/domain/IpDomain.java
Normal file
16
ibs/src/main/java/com/ruoyi/ibs/app/domain/IpDomain.java
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class IpDomain {
|
||||||
|
@JsonProperty(value = "ip_list")
|
||||||
|
List<String> ipList;
|
||||||
|
@JsonProperty(value = "errcode")
|
||||||
|
String errcode;
|
||||||
|
@JsonProperty(value = "errmsg")
|
||||||
|
String errmsg;
|
||||||
|
}
|
||||||
46
ibs/src/main/java/com/ruoyi/ibs/app/domain/QYUserDTO.java
Normal file
46
ibs/src/main/java/com/ruoyi/ibs/app/domain/QYUserDTO.java
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业微信用户身份
|
||||||
|
*
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/11/15
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class QYUserDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错误码
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "errcode")
|
||||||
|
private Integer errCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错误信息
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "errmsg")
|
||||||
|
private String errMsg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 成员userId
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "userid")
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 成员票据
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "user_ticket")
|
||||||
|
private String userTicket;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业微信accesstoken
|
||||||
|
*/
|
||||||
|
@JsonIgnore
|
||||||
|
private String accessToken;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业用户详细信息
|
||||||
|
*
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/11/15
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class QYUserDetailDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错误码
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "errcode")
|
||||||
|
private Integer errCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错误信息
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "errmsg")
|
||||||
|
private String errMsg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 成员userId
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "userid")
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手机号
|
||||||
|
*/
|
||||||
|
private String mobile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户二维码
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "qr_code")
|
||||||
|
private String qrCode;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业微信 配置参数类
|
||||||
|
*
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/11/09
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Component
|
||||||
|
@ConfigurationProperties(prefix = "qywx")
|
||||||
|
public class QyWxpropertiex {
|
||||||
|
|
||||||
|
private String address;
|
||||||
|
|
||||||
|
private String appId;
|
||||||
|
|
||||||
|
private String secret;
|
||||||
|
|
||||||
|
private Integer agentId;
|
||||||
|
|
||||||
|
private String ticketUrl;
|
||||||
|
|
||||||
|
}
|
||||||
12
ibs/src/main/java/com/ruoyi/ibs/app/domain/QywxOrg.java
Normal file
12
ibs/src/main/java/com/ruoyi/ibs/app/domain/QywxOrg.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class QywxOrg {
|
||||||
|
String orgId;
|
||||||
|
String appId;
|
||||||
|
String secret;
|
||||||
|
String agentId;
|
||||||
|
}
|
||||||
34
ibs/src/main/java/com/ruoyi/ibs/app/domain/TicketDTO.java
Normal file
34
ibs/src/main/java/com/ruoyi/ibs/app/domain/TicketDTO.java
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/11/9
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TicketDTO {
|
||||||
|
/**
|
||||||
|
* 错误码
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "errcode")
|
||||||
|
private Integer errCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错误信息
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "errmsg")
|
||||||
|
private String errMsg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 临时票据
|
||||||
|
*/
|
||||||
|
private String ticket;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效时长
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "expires_in")
|
||||||
|
private Integer expiresIn;
|
||||||
|
}
|
||||||
28
ibs/src/main/java/com/ruoyi/ibs/app/domain/TicketVO.java
Normal file
28
ibs/src/main/java/com/ruoyi/ibs/app/domain/TicketVO.java
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/11/9
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(description = "签名数据")
|
||||||
|
public class TicketVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "应用id", name = "appId")
|
||||||
|
private String appId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "生成签名的时间戳", name = "timestamp")
|
||||||
|
private Long timestamp;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "生成签名的随机串", name = "nonceStr")
|
||||||
|
private String nonceStr;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "签名", name = "signature")
|
||||||
|
private String signature;
|
||||||
|
|
||||||
|
private String agentId;
|
||||||
|
}
|
||||||
9
ibs/src/main/java/com/ruoyi/ibs/app/domain/UrlDTO.java
Normal file
9
ibs/src/main/java/com/ruoyi/ibs/app/domain/UrlDTO.java
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
package com.ruoyi.ibs.app.domain;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UrlDTO {
|
||||||
|
String qyUrl;
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.ruoyi.ibs.app.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.ibs.app.domain.QywxOrg;
|
||||||
|
|
||||||
|
public interface QYWeiXinMapper {
|
||||||
|
QywxOrg getQywxOrg(String orgId);
|
||||||
|
|
||||||
|
QywxOrg getQywxOrg2(String orgId);
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package com.ruoyi.ibs.app.service;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
|
import com.ruoyi.ibs.app.domain.QywxOrg;
|
||||||
|
import com.ruoyi.ibs.app.util.JsonResult;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业微信客户经理服务
|
||||||
|
*
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/11/15
|
||||||
|
*/
|
||||||
|
public interface QYWeiXinManagerInfoService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取企业用户关联客户经理信息
|
||||||
|
*
|
||||||
|
* @param code 企业微信授权码
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
AjaxResult getQYWeiXinUserInfo(String code,String orgId);
|
||||||
|
|
||||||
|
AjaxResult getLogin(String userName);
|
||||||
|
|
||||||
|
QywxOrg getQyApi(String orgId);
|
||||||
|
|
||||||
|
QywxOrg getQyApi2(String orgId);
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.ruoyi.ibs.app.service;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.ibs.app.domain.QYUserDTO;
|
||||||
|
import com.ruoyi.ibs.app.domain.QYUserDetailDTO;
|
||||||
|
import com.ruoyi.ibs.app.util.JsonResult;
|
||||||
|
|
||||||
|
public interface WeiXinService {
|
||||||
|
|
||||||
|
JsonResult<QYUserDTO> getQYUser(String code,String appId,String secret,String orgId);
|
||||||
|
|
||||||
|
JsonResult<QYUserDetailDTO> getQYUserDetail(QYUserDTO data);
|
||||||
|
|
||||||
|
JsonResult getTicketVo2(String qyUrl,String orgId);
|
||||||
|
|
||||||
|
AjaxResult getIp(String orgId);
|
||||||
|
}
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
package com.ruoyi.ibs.app.service.impl;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||||
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
|
import com.ruoyi.common.exception.user.UserPasswordNotMatchException;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.framework.manager.AsyncManager;
|
||||||
|
import com.ruoyi.framework.manager.factory.AsyncFactory;
|
||||||
|
import com.ruoyi.framework.security.context.AuthenticationContextHolder;
|
||||||
|
import com.ruoyi.framework.web.service.SysLoginService;
|
||||||
|
import com.ruoyi.framework.web.service.SysPermissionService;
|
||||||
|
import com.ruoyi.ibs.app.domain.QYUserDTO;
|
||||||
|
import com.ruoyi.ibs.app.domain.QYUserDetailDTO;
|
||||||
|
import com.ruoyi.ibs.app.domain.QywxOrg;
|
||||||
|
import com.ruoyi.ibs.app.mapper.QYWeiXinMapper;
|
||||||
|
import com.ruoyi.ibs.app.service.QYWeiXinManagerInfoService;
|
||||||
|
import com.ruoyi.ibs.app.service.WeiXinService;
|
||||||
|
import com.ruoyi.ibs.app.util.Constants;
|
||||||
|
import com.ruoyi.ibs.app.util.JsonResult;
|
||||||
|
import com.ruoyi.ibs.app.util.RedisUtil;
|
||||||
|
import com.ruoyi.system.mapper.SysUserMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.authentication.BadCredentialsException;
|
||||||
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
|
import org.springframework.security.core.Authentication;
|
||||||
|
|
||||||
|
|
||||||
|
import com.ruoyi.framework.web.service.TokenService;
|
||||||
|
import org.springframework.security.core.authority.AuthorityUtils;
|
||||||
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/11/15
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class QYWeiXinManagerInfoServiceImpl implements QYWeiXinManagerInfoService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private WeiXinService weiXinService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SysUserMapper sysUserMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TokenService tokenService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SysPermissionService permissionService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SysLoginService sysLoginService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private QYWeiXinMapper qyWeiXinMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult getQYWeiXinUserInfo(String code,String orgId) {
|
||||||
|
QywxOrg qywxOrg = qyWeiXinMapper.getQywxOrg(orgId);
|
||||||
|
//获取企业微信用户信息
|
||||||
|
JsonResult<QYUserDTO> qyUserResult = weiXinService.getQYUser( code,qywxOrg.getAppId(),qywxOrg.getSecret(),orgId );
|
||||||
|
if (!Constants.OK.equals( qyUserResult.getCode() )) {
|
||||||
|
return AjaxResult.error( Constants.FAILURE, qyUserResult.getMessage() );
|
||||||
|
}
|
||||||
|
//获取企业微信用户详细信息
|
||||||
|
JsonResult<QYUserDetailDTO> qyUserDetailResult = weiXinService.getQYUserDetail( qyUserResult.getData() );
|
||||||
|
if (!Constants.OK.equals( qyUserDetailResult.getCode() )) {
|
||||||
|
return AjaxResult.error( Constants.FAILURE, qyUserDetailResult.getMessage() );
|
||||||
|
}
|
||||||
|
QYUserDetailDTO qyUserDetailDTO = qyUserDetailResult.getData();
|
||||||
|
log.info(qyUserDetailResult.getData().toString());
|
||||||
|
String userName = sysUserMapper.selectOneByNum( qyUserDetailDTO.getMobile() );
|
||||||
|
if (userName == null ) {
|
||||||
|
return AjaxResult.error( Constants.FAILURE, "客户经理信息不存在" );
|
||||||
|
}
|
||||||
|
SysUser sysUser = sysUserMapper.selectUserByUserName( userName );
|
||||||
|
// UsernamePasswordAuthenticationToken token = null;
|
||||||
|
Authentication token = null;
|
||||||
|
if (sysUser == null) {
|
||||||
|
return AjaxResult.error("客户经理信息不存在");
|
||||||
|
}
|
||||||
|
AjaxResult ajax = AjaxResult.success();
|
||||||
|
try{
|
||||||
|
UserDetails userDetails = new LoginUser(sysUser.getUserId(),sysUser.getDeptId(),sysUser,permissionService.getMenuPermission(sysUser));
|
||||||
|
token = new UsernamePasswordAuthenticationToken(userDetails,null, AuthorityUtils.createAuthorityList("ROLE_USER"));
|
||||||
|
AuthenticationContextHolder.setContext(token);
|
||||||
|
SecurityContextHolder.getContext().setAuthentication(token);
|
||||||
|
}
|
||||||
|
catch (Exception e){
|
||||||
|
if (e instanceof BadCredentialsException){
|
||||||
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName,"failed", "login.failed"));
|
||||||
|
throw new UserPasswordNotMatchException();
|
||||||
|
}else {
|
||||||
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName,"failed", e.getMessage()));
|
||||||
|
throw new ServiceException(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
AuthenticationContextHolder.clearContext();
|
||||||
|
}
|
||||||
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName,"sucess", "login.sucess"));
|
||||||
|
LoginUser loginUser = (LoginUser) token.getPrincipal();
|
||||||
|
sysLoginService.recordLoginInfo(sysUser.getUserId());
|
||||||
|
String userToken = tokenService.createToken(loginUser);
|
||||||
|
ajax.put(Constants.QY_WEI_XIN_ACCESS_TOKEN_KEY,userToken);
|
||||||
|
return ajax;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult getLogin(String userName) {
|
||||||
|
SysUser sysUser = sysUserMapper.selectUserByUserName( userName );
|
||||||
|
// UsernamePasswordAuthenticationToken token = null;
|
||||||
|
Authentication token = null;
|
||||||
|
if (sysUser == null) {
|
||||||
|
return AjaxResult.error("客户经理信息不存在");
|
||||||
|
}
|
||||||
|
AjaxResult ajax = AjaxResult.success();
|
||||||
|
try{
|
||||||
|
UserDetails userDetails = new LoginUser(sysUser.getUserId(),sysUser.getDeptId(),sysUser,permissionService.getMenuPermission(sysUser));
|
||||||
|
token = new UsernamePasswordAuthenticationToken(userDetails,null, AuthorityUtils.createAuthorityList("ROLE_USER"));
|
||||||
|
AuthenticationContextHolder.setContext(token);
|
||||||
|
SecurityContextHolder.getContext().setAuthentication(token);
|
||||||
|
}
|
||||||
|
catch (Exception e){
|
||||||
|
if (e instanceof BadCredentialsException){
|
||||||
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName,"failed", "login.failed"));
|
||||||
|
throw new UserPasswordNotMatchException();
|
||||||
|
}else {
|
||||||
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName,"failed", e.getMessage()));
|
||||||
|
throw new ServiceException(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
AuthenticationContextHolder.clearContext();
|
||||||
|
}
|
||||||
|
// UserDetails userDetails = userDetailsService.loadUserByUsername(userName);
|
||||||
|
// UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(userDetails.getUsername(), userDetails.getPassword());
|
||||||
|
// Authentication authentication = authenticationManager.authenticate(token);
|
||||||
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName,"sucess", "login.sucess"));
|
||||||
|
LoginUser loginUser = (LoginUser) token.getPrincipal();
|
||||||
|
System.out.println("--------------");
|
||||||
|
System.out.println(SecurityUtils.getLoginUser());
|
||||||
|
System.out.println("--------------");
|
||||||
|
sysLoginService.recordLoginInfo(sysUser.getUserId());
|
||||||
|
String userToken = tokenService.createToken(loginUser);
|
||||||
|
// redisUtil.set(userToken,loginUser,120);
|
||||||
|
ajax.put(Constants.QY_WEI_XIN_ACCESS_TOKEN_KEY,userToken);
|
||||||
|
return ajax;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public QywxOrg getQyApi(String orgId) {
|
||||||
|
return qyWeiXinMapper.getQywxOrg(orgId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public QywxOrg getQyApi2(String orgId) {
|
||||||
|
return qyWeiXinMapper.getQywxOrg2(orgId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,236 @@
|
|||||||
|
package com.ruoyi.ibs.app.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.ibs.app.domain.*;
|
||||||
|
import com.ruoyi.ibs.app.mapper.QYWeiXinMapper;
|
||||||
|
import com.ruoyi.ibs.app.service.WeiXinService;
|
||||||
|
import com.ruoyi.ibs.app.util.Constants;
|
||||||
|
import com.ruoyi.ibs.app.util.JsonResult;
|
||||||
|
import com.ruoyi.ibs.app.util.RedisUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.*;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class WeiXinServiceImpl implements WeiXinService {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private QyWxpropertiex qyWeiXinProperties;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RestTemplate restTemplate;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private QYWeiXinMapper qyWeiXinMapper;
|
||||||
|
|
||||||
|
public static final String URL_KEY_VALUE = "jsapi_ticket=%s&noncestr=%s×tamp=%s&url=%s";
|
||||||
|
|
||||||
|
private JsonResult<String> getAccessToken(boolean isRefresh, String redisKey, String url,String orgId) {
|
||||||
|
String token = redisUtil.get( redisKey+orgId );
|
||||||
|
if (isRefresh || StringUtils.isEmpty( token )) {
|
||||||
|
//获取access_token
|
||||||
|
AccessTokenDTO accessTokenDTO = restTemplate.getForObject( url, AccessTokenDTO.class );
|
||||||
|
log.info( accessTokenDTO.toString() );
|
||||||
|
if (accessTokenDTO.getErrCode() == null || accessTokenDTO.getErrCode() == 0) {
|
||||||
|
token = accessTokenDTO.getAccessToken();
|
||||||
|
//redis缓存access_token
|
||||||
|
redisUtil.setStr( redisKey+orgId, token, accessTokenDTO.getExpiresIn() );
|
||||||
|
return JsonResult.success( token );
|
||||||
|
} else {
|
||||||
|
log.error( "获取access_token失败," + accessTokenDTO );
|
||||||
|
return JsonResult.error( Constants.FAILURE, "获取access_token失败" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JsonResult.success( token );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构件 TicketVO
|
||||||
|
*
|
||||||
|
* @param ticket
|
||||||
|
* @param appId
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public JsonResult buildTicketVO(String ticket, String appId, String qyUrl,String agentId) {
|
||||||
|
String nonceStr = UUID.randomUUID().toString().replace( "-", "" );
|
||||||
|
long timestamp = System.currentTimeMillis() / 1000;
|
||||||
|
String url = String.format( URL_KEY_VALUE, ticket, nonceStr, timestamp, qyUrl );
|
||||||
|
String signature;
|
||||||
|
try {
|
||||||
|
signature = signature( url );
|
||||||
|
} catch (NoSuchAlgorithmException e) {
|
||||||
|
log.error( "签名算法异常" + e.getMessage() );
|
||||||
|
return JsonResult.error( Constants.FAILURE, "签名算法异常" );
|
||||||
|
}
|
||||||
|
TicketVO ticketVO = new TicketVO();
|
||||||
|
ticketVO.setAppId( appId );
|
||||||
|
ticketVO.setNonceStr( nonceStr );
|
||||||
|
ticketVO.setTimestamp( timestamp );
|
||||||
|
ticketVO.setSignature( signature );
|
||||||
|
ticketVO.setAgentId(agentId);
|
||||||
|
return JsonResult.success( ticketVO );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对字符串进行sha1签名
|
||||||
|
*
|
||||||
|
* @param str
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*
|
||||||
|
* @throws NoSuchAlgorithmException
|
||||||
|
*/
|
||||||
|
private String signature(String str) throws NoSuchAlgorithmException {
|
||||||
|
MessageDigest md = MessageDigest.getInstance( "SHA-1" );
|
||||||
|
byte[] messageDigest = md.digest( str.getBytes() );
|
||||||
|
BigInteger bigInteger = new BigInteger( 1, messageDigest );
|
||||||
|
String hasText = bigInteger.toString( 16 );
|
||||||
|
while (hasText.length() < 32) {
|
||||||
|
hasText = "0" + hasText;
|
||||||
|
}
|
||||||
|
return hasText;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取ticket
|
||||||
|
*
|
||||||
|
* @param token access_token
|
||||||
|
* @param ticketKey ticket redis key
|
||||||
|
* @param url ticket api url
|
||||||
|
* @param accessKey 重新刷新获取access_token redis key
|
||||||
|
* @param accessUrl 重新刷新获取access_token url
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private JsonResult<String> getTicket(String token, String ticketKey, String url, String accessKey, String accessUrl,String orgId) {
|
||||||
|
String ticketValue = redisUtil.get( ticketKey+orgId );
|
||||||
|
if (StringUtils.isEmpty( ticketValue )) {
|
||||||
|
TicketDTO ticketDTO = restTemplate.getForObject( url, TicketDTO.class, token );
|
||||||
|
log.info( ticketDTO.toString() );
|
||||||
|
if (ticketDTO.getErrCode() == 0) {
|
||||||
|
ticketValue = ticketDTO.getTicket();
|
||||||
|
//redis缓存ticket
|
||||||
|
redisUtil.setStr( ticketKey+orgId, ticketValue, ticketDTO.getExpiresIn() );
|
||||||
|
} else if (ticketDTO.getErrCode() == 40001) {
|
||||||
|
// token过期重新获取
|
||||||
|
JsonResult<String> accessTokenResult = getAccessToken( true, accessKey, accessUrl,orgId );
|
||||||
|
ticketDTO = restTemplate.getForObject( url, TicketDTO.class, accessTokenResult.getData() );
|
||||||
|
ticketValue = ticketDTO.getTicket();
|
||||||
|
//redis缓存ticket
|
||||||
|
redisUtil.setStr( ticketKey+orgId, ticketValue, ticketDTO.getExpiresIn() );
|
||||||
|
} else {
|
||||||
|
log.error( "获取ticket失败," + ticketDTO );
|
||||||
|
return JsonResult.error( Constants.FAILURE, "获取ticket失败" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JsonResult.success( ticketValue );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取企业用户详细信息
|
||||||
|
*
|
||||||
|
* @param code 企业微信授权码,只能消费一次,并且五分钟内有效
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public JsonResult<QYUserDTO> getQYUser(String code,String appId,String secret,String orgId) {
|
||||||
|
String url = String.format( qyWeiXinProperties.getAddress() + Constants.QY_WEI_XIN_ACCESS_TOKEN,appId, secret );
|
||||||
|
JsonResult<String> accessTokenResult = getAccessToken( false, Constants.QY_WEI_XIN_ACCESS_TOKEN_KEY, url,orgId );
|
||||||
|
if (!Constants.OK.equals( accessTokenResult.getCode() )) {
|
||||||
|
return JsonResult.error( Constants.FAILURE, accessTokenResult.getMessage() );
|
||||||
|
}
|
||||||
|
String accessToken = accessTokenResult.getData();
|
||||||
|
//获取访问用户身份
|
||||||
|
QYUserDTO qyUserDTO = restTemplate.getForObject( qyWeiXinProperties.getAddress() + Constants.QY_WEI_XIN_USER_INFO, QYUserDTO.class, accessToken, code );
|
||||||
|
if (( qyUserDTO != null ? qyUserDTO.getErrCode() : null ) == 40001) {
|
||||||
|
//token过期,重新获取token
|
||||||
|
JsonResult<String> newAccessTokenResult = getAccessToken( true, Constants.QY_WEI_XIN_ACCESS_TOKEN_KEY, url,orgId );
|
||||||
|
accessToken = newAccessTokenResult.getData();
|
||||||
|
qyUserDTO = restTemplate.getForObject( qyWeiXinProperties.getAddress() + Constants.QY_WEI_XIN_USER_INFO, QYUserDTO.class, accessToken, code );
|
||||||
|
} else if (( qyUserDTO != null ? qyUserDTO.getErrCode() : null ) != 0) {
|
||||||
|
log.error( "获取企业微信用户身份失败," + qyUserDTO );
|
||||||
|
return JsonResult.error( Constants.FAILURE, "获取企业微信用户身份失败" );
|
||||||
|
}
|
||||||
|
if (qyUserDTO != null) {
|
||||||
|
qyUserDTO.setAccessToken( accessToken );
|
||||||
|
}
|
||||||
|
log.info( qyUserDTO.toString() );
|
||||||
|
return JsonResult.success( qyUserDTO );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonResult<QYUserDetailDTO> getQYUserDetail(QYUserDTO qyUserDTO) {
|
||||||
|
Map<String, String> body = new HashMap<>();
|
||||||
|
body.put( "user_ticket", qyUserDTO.getUserTicket() );
|
||||||
|
HttpHeaders httpHeaders = new HttpHeaders();
|
||||||
|
httpHeaders.setContentType( MediaType.APPLICATION_JSON );
|
||||||
|
//获取访问用户详细敏感信息
|
||||||
|
ResponseEntity<QYUserDetailDTO> responseEntity = restTemplate
|
||||||
|
.exchange( qyWeiXinProperties.getAddress() + Constants.QY_WEI_XIN_USER_DETAIL, HttpMethod.POST, new HttpEntity<>( body, httpHeaders ), QYUserDetailDTO.class,
|
||||||
|
qyUserDTO.getAccessToken() );
|
||||||
|
QYUserDetailDTO qyUserDetailDTO = responseEntity.getBody();
|
||||||
|
if (qyUserDetailDTO != null && qyUserDetailDTO.getErrCode() == 0) {
|
||||||
|
return JsonResult.success( qyUserDetailDTO );
|
||||||
|
}
|
||||||
|
log.error( "获取企业微信用户敏感信息失败," + qyUserDetailDTO );
|
||||||
|
return JsonResult.error( Constants.FAILURE, "获取企业微信用户敏感信息失败" );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonResult getTicketVo2(String qyUrl,String orgId) {
|
||||||
|
QywxOrg qywxOrg = qyWeiXinMapper.getQywxOrg(orgId);
|
||||||
|
String url = String.format( qyWeiXinProperties.getAddress() + Constants.QY_WEI_XIN_ACCESS_TOKEN, qywxOrg.getAppId(), qywxOrg.getSecret() );
|
||||||
|
JsonResult<String> accessTokenResult = getAccessToken( false, Constants.WEI_XIN_ACCESS_TOKEN_KEY, url,orgId );
|
||||||
|
if (!Constants.OK.equals( accessTokenResult.getCode() )) {
|
||||||
|
return accessTokenResult;
|
||||||
|
}
|
||||||
|
JsonResult<String> ticketValueResult =
|
||||||
|
getTicket( accessTokenResult.getData(), Constants.QY_WEI_XIN_TICKET_KEY, qyWeiXinProperties.getAddress() + Constants.QY_WEI_XIN_JSAPI_TICKET,
|
||||||
|
Constants.WEI_XIN_ACCESS_TOKEN_KEY, url,orgId );
|
||||||
|
if (!Constants.OK.equals( ticketValueResult.getCode() )) {
|
||||||
|
return ticketValueResult;
|
||||||
|
}
|
||||||
|
System.out.println("------------------------------------");
|
||||||
|
System.out.println(ticketValueResult);
|
||||||
|
System.out.println("------------------------------------");
|
||||||
|
System.out.println(ticketValueResult.getData());
|
||||||
|
System.out.println("------------------------------------");
|
||||||
|
System.out.println(qyUrl);
|
||||||
|
System.out.println("------------------------------------");
|
||||||
|
return buildTicketVO( ticketValueResult.getData(), qywxOrg.getAppId(), qyUrl ,qywxOrg.getAgentId());
|
||||||
|
}
|
||||||
|
|
||||||
|
public AjaxResult getIp(String orgId) {
|
||||||
|
QywxOrg qywxOrg = qyWeiXinMapper.getQywxOrg(orgId);
|
||||||
|
String url = String.format( qyWeiXinProperties.getAddress() + Constants.QY_WEI_XIN_ACCESS_TOKEN, qywxOrg.getAppId(), qywxOrg.getSecret() );
|
||||||
|
JsonResult<String> accessTokenResult = getAccessToken( false, Constants.WEI_XIN_ACCESS_TOKEN_KEY, url,orgId );
|
||||||
|
IpDomain ipDomain = restTemplate.getForObject( qyWeiXinProperties.getAddress()+Constants.QY_WEI_XIN_API_IP,IpDomain.class,accessTokenResult.getData());
|
||||||
|
return AjaxResult.success(ipDomain);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
114
ibs/src/main/java/com/ruoyi/ibs/app/util/Constants.java
Normal file
114
ibs/src/main/java/com/ruoyi/ibs/app/util/Constants.java
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
package com.ruoyi.ibs.app.util;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 600477
|
||||||
|
* @date 2023/10/8
|
||||||
|
*/
|
||||||
|
public class Constants {
|
||||||
|
|
||||||
|
public static final String OK = "00000000";
|
||||||
|
public static final String FAILURE = "99999999";
|
||||||
|
|
||||||
|
// public static final String AUTHORIZATION_HEADER = "X-Cloud-Token";
|
||||||
|
//
|
||||||
|
// public static final String TOKEN_BEARER = "Bearer ";
|
||||||
|
//
|
||||||
|
// public static final String AUTHORITIES_KEY = "auth";
|
||||||
|
// /**
|
||||||
|
// * @description: Redis缓存自增进件单号
|
||||||
|
// */
|
||||||
|
// public static final String ORDER_NUM = "dkfz_lh_orderNum";
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * @description: Redis缓存报告序号
|
||||||
|
// */
|
||||||
|
// public static final String REPORT_NUM = "reportNum";
|
||||||
|
//
|
||||||
|
// public static final String TOKEN_SIGN_KEY = "mx+MGX+w9TtUhP8UIE8g9xqFRWflrTWAtytlnN3bbj8Z6p//ITaVCVuBt89I75TKIDpxVlskwQJm436tO0bbsA==";
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * oss上传路径
|
||||||
|
// */
|
||||||
|
// public static final String OSS_UPLOAD_PATH = "loans-improve/";
|
||||||
|
|
||||||
|
// public static final String REPORT_ATTACHMENT_UPLOAD_PATH = OSS_UPLOAD_PATH + "attachment/";
|
||||||
|
//
|
||||||
|
// public static final String OSS_UPLOAD_INCOME_SITUATION = "loans-income-situation/";
|
||||||
|
//
|
||||||
|
// public static final String INCOMING_NOT_EXIST = "该进件单号不存在关联的进件!";
|
||||||
|
// public static final String USER_NOT_LOGIN = "用户未登陆!";
|
||||||
|
// public static final String USER_PERMISSIONS_DENIED = "当前用户权限不足!";
|
||||||
|
// public static final String PROCESS_STATUS_ERROR = "当前流程状态异常!";
|
||||||
|
// public static final String INCOMING_STATUS_ERROR = "当前进件状态异常,请检查当前进件状态!";
|
||||||
|
// public static final String RESOURCE_NOT_EXIST = "资源不存在";
|
||||||
|
// public static final String UPDATE_FAILED = "更新失败!";
|
||||||
|
//
|
||||||
|
// public static final String ADMIN_ROLE = "贷款特色辅助系统-系统管理岗";
|
||||||
|
// public static final String APPROVE_ROLE = "贷款特色辅助系统-审批岗";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微信接口地址,获取access_toekn
|
||||||
|
*/
|
||||||
|
public static final String WEI_XIN_ACCESS_TOKEN = "/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s";
|
||||||
|
/**
|
||||||
|
* 微信接口地址,获取jsapi_ticket
|
||||||
|
*/
|
||||||
|
public static final String WEI_XIN_JSAPI_TICKET = "/cgi-bin/ticket/getticket?access_token={1}&type=jsapi";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微信redis缓存key\dkfz_weixin_toekn改为szzh_weixin_toekn
|
||||||
|
* 下同
|
||||||
|
*/
|
||||||
|
public static final String WEI_XIN_ACCESS_TOKEN_KEY = "szzh_weixin_token";
|
||||||
|
public static final String WEI_XIN_TICKET_KEY = "szzh_weixin_ticket";
|
||||||
|
|
||||||
|
public static final String QY_WEI_XIN_API_IP = "/cgi-bin/getcallbackip?access_token={1}";
|
||||||
|
/**
|
||||||
|
* 企业微信接口地址,获取access_toekn
|
||||||
|
*/
|
||||||
|
public static final String QY_WEI_XIN_ACCESS_TOKEN = "/cgi-bin/gettoken?corpid=%s&corpsecret=%s";
|
||||||
|
/**
|
||||||
|
* 企业微信接口地址,获取jsapi_ticket
|
||||||
|
*/
|
||||||
|
public static final String QY_WEI_XIN_JSAPI_TICKET = "/cgi-bin/get_jsapi_ticket?access_token={1}";
|
||||||
|
/**
|
||||||
|
* 企业微信接口发送
|
||||||
|
*/
|
||||||
|
public static final String QY_WEI_XIN_MESSAGE_SEND = "/cgi-bin/message/send?access_token={1}";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业微信redis缓存key\dkfz_qyweixin_toekn改为szzh_qyweixin_toekn
|
||||||
|
* 下同
|
||||||
|
*/
|
||||||
|
public static final String QY_WEI_XIN_ACCESS_TOKEN_KEY = "szzh_qyweixin_token";
|
||||||
|
public static final String QY_WEI_XIN_TICKET_KEY = "szzh_qyweixin_ticket";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业微信接口地址,获取用户身份
|
||||||
|
*/
|
||||||
|
public static final String QY_WEI_XIN_USER_INFO = "/cgi-bin/auth/getuserinfo?access_token={1}&code={2}";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业微信接口地址,获取用户详细信息
|
||||||
|
*/
|
||||||
|
public static final String QY_WEI_XIN_USER_DETAIL = "/cgi-bin/auth/getuserdetail?access_token={1}";
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 贷款类型临界值 大于该金额是大额 ,小于是小额
|
||||||
|
// */
|
||||||
|
// public static final Double LOAN_LIMIT = 300000.00;
|
||||||
|
//
|
||||||
|
public static final String LAST_LIMIT = "limit 1";
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 待处理进件提醒配置 redis key
|
||||||
|
// */
|
||||||
|
// public static final String ALERT_SETTING_KEY = "dkfz_lh_alert";
|
||||||
|
|
||||||
|
public static final Integer YES = 1;
|
||||||
|
public static final Integer NO = 0;
|
||||||
|
|
||||||
|
// public static final String NEW_FOR_OLD = "资金周转(借新还旧)";
|
||||||
|
}
|
||||||
|
|
||||||
97
ibs/src/main/java/com/ruoyi/ibs/app/util/JsonResult.java
Normal file
97
ibs/src/main/java/com/ruoyi/ibs/app/util/JsonResult.java
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
package com.ruoyi.ibs.app.util;
|
||||||
|
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统一返回类型
|
||||||
|
*
|
||||||
|
* @author yjb
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ToString
|
||||||
|
public class JsonResult<T> implements Serializable {
|
||||||
|
private static final long serialVersionUID = -2792556188993845048L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态码,00000000:成功,99999999:异常", name = "code")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "异常信息", name = "message")
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
private T data;
|
||||||
|
|
||||||
|
public JsonResult() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public JsonResult(final String code, final String message, final T data) {
|
||||||
|
this.code = code;
|
||||||
|
this.message = message;
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> JsonResult<T> success() {
|
||||||
|
return success( "执行完成", null );
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> JsonResult<T> success(final T data) {
|
||||||
|
return success( null, data );
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> JsonResult<T> success(final String msg, final T data) {
|
||||||
|
return get( Constants.OK, msg, data );
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> JsonResult<T> error(final String code, final String msg) {
|
||||||
|
return get( code, msg, null );
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> JsonResult<T> error(final String msg) {
|
||||||
|
return get( Constants.FAILURE, msg, null );
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> JsonResult<T> error(final String msg, final T data) {
|
||||||
|
return get( Constants.FAILURE, msg, data );
|
||||||
|
}
|
||||||
|
private static <T> JsonResult<T> get(final String code, final String msg, final T data) {
|
||||||
|
return new JsonResult<T>( code, msg, data );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "JsonResult{" + "code=" + code + ", message='" + message + '\'' + ", data=" + data + '}';
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (o == null || getClass() != o.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
JsonResult<?> that = (JsonResult<?>) o;
|
||||||
|
|
||||||
|
if (code != null ? !code.equals( that.code ) : that.code != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (message != null ? !message.equals( that.message ) : that.message != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return data != null ? data.equals( that.data ) : that.data == null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
int result = code != null ? code.hashCode() : 0;
|
||||||
|
result = 31 * result + ( message != null ? message.hashCode() : 0 );
|
||||||
|
result = 31 * result + ( data != null ? data.hashCode() : 0 );
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
147
ibs/src/main/java/com/ruoyi/ibs/app/util/RedisUtil.java
Normal file
147
ibs/src/main/java/com/ruoyi/ibs/app/util/RedisUtil.java
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
package com.ruoyi.ibs.app.util;
|
||||||
|
|
||||||
|
|
||||||
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 604343
|
||||||
|
* @description: redis工具类
|
||||||
|
* @date 2023/10/30 8:56
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public final class RedisUtil {
|
||||||
|
@Resource
|
||||||
|
private RedisTemplate<String, Object> redisTemplate;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private StringRedisTemplate stringRedisTemplate;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true成功
|
||||||
|
*
|
||||||
|
* @description: 普通缓存放入并设置时间
|
||||||
|
* @author dz
|
||||||
|
* @param: time 时间
|
||||||
|
*/
|
||||||
|
public boolean set(String key, Object value, long time) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
if (time > 0) {
|
||||||
|
redisTemplate.opsForValue().set( key, value, time, TimeUnit.HOURS );
|
||||||
|
} else {
|
||||||
|
redisTemplate.opsForValue().set( key, value );
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true成功
|
||||||
|
*
|
||||||
|
* @description: 普通缓存放入并设置时间
|
||||||
|
* @author dz
|
||||||
|
* @param: time 时间
|
||||||
|
*/
|
||||||
|
public boolean setStr(String key, String value, long time) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
if (time > 0) {
|
||||||
|
stringRedisTemplate.opsForValue().set( key, value, time, TimeUnit.SECONDS );
|
||||||
|
} else {
|
||||||
|
stringRedisTemplate.opsForValue().set( key, value );
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true成功
|
||||||
|
*
|
||||||
|
* @description: 普通缓存放入并设置时间
|
||||||
|
* @author dz
|
||||||
|
* @param: time 时间
|
||||||
|
*/
|
||||||
|
public boolean setStr(String key, String value, long time, TimeUnit timeUnit) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
if (time > 0) {
|
||||||
|
stringRedisTemplate.opsForValue().set( key, value, time, timeUnit );
|
||||||
|
} else {
|
||||||
|
stringRedisTemplate.opsForValue().set( key, value );
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**'
|
||||||
|
* 删除key
|
||||||
|
* @param key
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean removeKey(String key){
|
||||||
|
if (key==null||key.isEmpty()){
|
||||||
|
throw new ServiceException( "key不能为空" );
|
||||||
|
}
|
||||||
|
return stringRedisTemplate.delete(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置失效时间
|
||||||
|
* @param key
|
||||||
|
* @param time
|
||||||
|
* @param timeUnit
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean setExpire(String key, long time, TimeUnit timeUnit){
|
||||||
|
if (key==null||key.isEmpty()){
|
||||||
|
throw new ServiceException( "key不能为空" );
|
||||||
|
}
|
||||||
|
if (timeUnit==null){
|
||||||
|
throw new ServiceException( "时间单位不能为空" );
|
||||||
|
}
|
||||||
|
return stringRedisTemplate.expire(key, time, timeUnit);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @description: 递增
|
||||||
|
* @param: key: 键 delta: 间距(要增加几)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Long incr(String key,long time) {
|
||||||
|
|
||||||
|
//没有这个键就初始化这个键并设置过期时间
|
||||||
|
stringRedisTemplate.expire( key, 24, TimeUnit.HOURS );
|
||||||
|
// String a =redisTemplate.opsForValue().get(key).toString();
|
||||||
|
// if(redisTemplate.opsForValue().get(key)==null){
|
||||||
|
// redisTemplate.opsForValue().set( key,1,time,TimeUnit.HOURS );
|
||||||
|
// return Long.parseLong( String.valueOf( redisTemplate.opsForValue().get( key ) ) );
|
||||||
|
// }
|
||||||
|
return stringRedisTemplate.opsForValue().increment( key, 1 );
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @description: 获取键值对
|
||||||
|
* @param: key键
|
||||||
|
* @return 值
|
||||||
|
*/
|
||||||
|
public String get(String key) {
|
||||||
|
return stringRedisTemplate.opsForValue().get( key );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.ruoyi.ibs.audio.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.ibs.audio.domain.AudioUploadDTO;
|
||||||
|
import com.ruoyi.ibs.audio.service.AudioService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/21
|
||||||
|
**/
|
||||||
|
@Api(tags = "语音转文字接口")
|
||||||
|
@RequestMapping("/audio")
|
||||||
|
@RestController
|
||||||
|
public class AudioController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AudioService audioService;
|
||||||
|
|
||||||
|
@PostMapping("/upload")
|
||||||
|
@ApiOperation("上传语音接口")
|
||||||
|
public AjaxResult uploadAudio(AudioUploadDTO audioUploadDTO) {
|
||||||
|
return AjaxResult.success(audioService.uploadAudioAnalysis(audioUploadDTO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@ApiOperation("获取语音转文字结果")
|
||||||
|
public AjaxResult getRadioAnalysis(@RequestParam String uuid) {
|
||||||
|
String audioAnalysis = audioService.getAudioAnalysis(uuid);
|
||||||
|
if (audioAnalysis.equals(AudioService.AUDIO_ERROR_CODE)) {
|
||||||
|
return AjaxResult.error("语音转文字失败");
|
||||||
|
}
|
||||||
|
return AjaxResult.success(audioAnalysis);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.ruoyi.ibs.audio.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/21
|
||||||
|
**/
|
||||||
|
@Configuration
|
||||||
|
@Data
|
||||||
|
@ConfigurationProperties(prefix = "audio")
|
||||||
|
public class AudioProperties {
|
||||||
|
|
||||||
|
private String url;
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.ruoyi.ibs.audio.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/21
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class AudioUploadDTO {
|
||||||
|
|
||||||
|
private MultipartFile file;
|
||||||
|
|
||||||
|
}
|
||||||
111
ibs/src/main/java/com/ruoyi/ibs/audio/service/AudioService.java
Normal file
111
ibs/src/main/java/com/ruoyi/ibs/audio/service/AudioService.java
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
package com.ruoyi.ibs.audio.service;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
|
import com.ruoyi.common.utils.uuid.IdUtils;
|
||||||
|
import com.ruoyi.ibs.audio.domain.AudioProperties;
|
||||||
|
import com.ruoyi.ibs.audio.domain.AudioUploadDTO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.core.io.FileSystemResource;
|
||||||
|
import org.springframework.http.*;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.LinkedMultiValueMap;
|
||||||
|
import org.springframework.util.MultiValueMap;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/21
|
||||||
|
**/
|
||||||
|
@Service
|
||||||
|
@EnableAsync
|
||||||
|
@Slf4j
|
||||||
|
public class AudioService {
|
||||||
|
|
||||||
|
public static final String AUDIO_ERROR_CODE = "---";
|
||||||
|
public static final String AUDIO_WAIT_CODE = "000";
|
||||||
|
private static final String TASK_ID_PREFIX = "AUDIO_RECO_";
|
||||||
|
@Resource
|
||||||
|
private RestTemplate restTemplate;
|
||||||
|
@Resource
|
||||||
|
private RedisCache redisCache;
|
||||||
|
@Resource
|
||||||
|
private AudioProperties audioProperties;
|
||||||
|
|
||||||
|
public String uploadAudioAnalysis(AudioUploadDTO audioUploadDTO) {
|
||||||
|
if (!checkFileType(audioUploadDTO.getFile(), ".mp3")){
|
||||||
|
throw new ServiceException("文件类型错误: 只能上传mp3格式");
|
||||||
|
}
|
||||||
|
String uuid = IdUtils.fastSimpleUUID();
|
||||||
|
uploadAudioAnalysis(TASK_ID_PREFIX + uuid, audioUploadDTO.getFile());
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAudioAnalysis(String uuid) {
|
||||||
|
if (redisCache.hasKey(TASK_ID_PREFIX + uuid)){
|
||||||
|
return redisCache.getCacheObject(TASK_ID_PREFIX + uuid);
|
||||||
|
}
|
||||||
|
return AUDIO_ERROR_CODE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public void uploadAudioAnalysis(String taskId, MultipartFile file) {
|
||||||
|
redisCache.setCacheObjectToEndDay(taskId, AUDIO_WAIT_CODE);
|
||||||
|
JsonNode response = null;
|
||||||
|
try{
|
||||||
|
File audio = File.createTempFile(taskId, ".mp3");
|
||||||
|
file.transferTo(audio);
|
||||||
|
response = postRequestWithFile(audioProperties.getUrl(), "audio", audio);
|
||||||
|
audio.delete();
|
||||||
|
} catch (Exception e){
|
||||||
|
log.error("语音转文字失败", e);
|
||||||
|
redisCache.setCacheObjectToEndDay(taskId, AUDIO_ERROR_CODE);
|
||||||
|
}
|
||||||
|
if(response.get("code").asInt() != 0){
|
||||||
|
log.error("语音转文字失败", response);
|
||||||
|
redisCache.setCacheObjectToEndDay(taskId, AUDIO_ERROR_CODE);
|
||||||
|
}
|
||||||
|
redisCache.setCacheObject(taskId, response.get("text").toString().replace("\"", "").replace("'", ""));
|
||||||
|
}
|
||||||
|
|
||||||
|
private Boolean checkFileType(MultipartFile file, String type){
|
||||||
|
String fileName = file.getOriginalFilename();
|
||||||
|
if (fileName != null && fileName.contains(".")) {
|
||||||
|
int lastDotIndex = fileName.lastIndexOf(".");
|
||||||
|
String fileSuffix = fileName.substring(lastDotIndex);
|
||||||
|
if (type.equals(fileSuffix)){
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Boolean.FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private JsonNode postRequestWithFile(String url, String fileName, File file){
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
|
||||||
|
|
||||||
|
MultiValueMap<String, Object> multipartBody = new LinkedMultiValueMap<>();
|
||||||
|
multipartBody.add(fileName, new FileSystemResource(file));
|
||||||
|
|
||||||
|
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(multipartBody, headers);
|
||||||
|
|
||||||
|
ResponseEntity<JsonNode> response = restTemplate.exchange(
|
||||||
|
url,
|
||||||
|
HttpMethod.POST,
|
||||||
|
requestEntity,
|
||||||
|
JsonNode.class
|
||||||
|
);
|
||||||
|
log.info(String.valueOf(response.getBody()));
|
||||||
|
return response.getBody();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.ibs.cmpm.service.GridCmpmCustService;
|
||||||
|
import com.ruoyi.ibs.cmpm.service.GridCmpmService;
|
||||||
|
import com.ruoyi.ibs.customerselect.domain.CustBaseInfo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/20
|
||||||
|
**/
|
||||||
|
@Api(tags = "绩效网格")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/grid/cmpm")
|
||||||
|
public class GridCmpmController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private GridCmpmCustService gridCmpmCustService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private GridCmpmService gridCmpmService;
|
||||||
|
|
||||||
|
@PostMapping("/custBaseInfo/list")
|
||||||
|
@ApiOperation("我的客户绩效网格查询")
|
||||||
|
public AjaxResult selectCustBaseInfoList(@RequestBody CustBaseInfo custBaseInfo) {
|
||||||
|
return AjaxResult.success( gridCmpmCustService.selectCustInfoRetailList (custBaseInfo)) ;
|
||||||
|
}
|
||||||
|
@GetMapping("/cust/list/tag")
|
||||||
|
@ApiOperation("查询客户分层等级下拉框")
|
||||||
|
@ApiImplicitParam(name = "gridType", value = "零售retail 对公corporate 对公账户corporate_account", required = true, dataType = "String")
|
||||||
|
public AjaxResult custLevelListTag(@RequestParam String gridType) {
|
||||||
|
return success(gridCmpmService.getAllCustLevel(gridType));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/21
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class CustInfoDTO {
|
||||||
|
|
||||||
|
private String custType;
|
||||||
|
|
||||||
|
private String deptCode;
|
||||||
|
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
private String custLevel;
|
||||||
|
|
||||||
|
private List<Long> regionTopGridIds;
|
||||||
|
|
||||||
|
private List<Long> regionSecGridIds;
|
||||||
|
|
||||||
|
private List<Long> virtualGridIds;
|
||||||
|
|
||||||
|
private List<Long> drawGridIds;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/31
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class CustLevelDTO {
|
||||||
|
|
||||||
|
/** 移交客户号 */
|
||||||
|
@ApiModelProperty(value = "客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
|
||||||
|
/** 移交客户账号 */
|
||||||
|
@ApiModelProperty(value = "客户账号",notes = "")
|
||||||
|
private String accountNo ;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "客戶類型 0個人 1商戶 2企業",notes = "")
|
||||||
|
private String custType;
|
||||||
|
|
||||||
|
private String gridType;
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CustManagerDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "客户星级",notes = "")
|
||||||
|
private String custLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "柜员号",notes = "")
|
||||||
|
private String managerId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "网点号",notes = "")
|
||||||
|
private String outletId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "网点名",notes = "")
|
||||||
|
private String branchId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/17
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmAdjustDTO {
|
||||||
|
@ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
|
||||||
|
private String gridType;
|
||||||
|
|
||||||
|
private String deptCode;
|
||||||
|
|
||||||
|
/** 客户号 */
|
||||||
|
@ApiModelProperty(value = "客户信息",notes = "")
|
||||||
|
private List<TransferCustDTO> custList ;
|
||||||
|
|
||||||
|
private String userName;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/27
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmApproveDTO {
|
||||||
|
private List<Long> idList;
|
||||||
|
|
||||||
|
private Boolean approveResult;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/28
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmBranchDTO {
|
||||||
|
private Long branchId;
|
||||||
|
|
||||||
|
private List<String> custIdList;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/27
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmClaimDTO {
|
||||||
|
/** 移交网格 零售 对公 对公账户 */
|
||||||
|
@ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
|
||||||
|
private String gridType ;
|
||||||
|
/** 移交客户号 */
|
||||||
|
@ApiModelProperty(value = "移交客户信息",notes = "")
|
||||||
|
private List<TransferCustDTO> custList ;
|
||||||
|
/** 新客户经理柜员号 */
|
||||||
|
@ApiModelProperty(value = "新客户经理柜员号",notes = "")
|
||||||
|
private String userName ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/15
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmListDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "网格类型 零售retail 对公corporate 对公账户对公corporate_account",notes = "")
|
||||||
|
private String gridType;
|
||||||
|
|
||||||
|
/** 客户号 */
|
||||||
|
@ApiModelProperty(name = "客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
|
||||||
|
/** 客户姓名 */
|
||||||
|
@ApiModelProperty(name = "客户姓名",notes = "")
|
||||||
|
private String custName ;
|
||||||
|
/** 客户姓名 */
|
||||||
|
@ApiModelProperty(name = "客户类型",notes = "")
|
||||||
|
private List<String> custTypes ;
|
||||||
|
/** 客户层级 */
|
||||||
|
@ApiModelProperty(name = "客户层级",notes = "")
|
||||||
|
private List<String> custLevels ;
|
||||||
|
/** 客户经理柜员号 */
|
||||||
|
@ApiModelProperty(name = "客户经理柜员号",notes = "")
|
||||||
|
private String userName ;
|
||||||
|
/** 客户经理柜员号 */
|
||||||
|
@ApiModelProperty(name = "用户柜员号",notes = "")
|
||||||
|
private String curUserName ;
|
||||||
|
/** 网点机构号 */
|
||||||
|
@ApiModelProperty(name = "网点机构号",notes = "")
|
||||||
|
private Long outletId ;
|
||||||
|
/** 支行机构号 */
|
||||||
|
@ApiModelProperty(name = "支行机构号",notes = "")
|
||||||
|
private Long branchId ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/20
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmTransferDTO {
|
||||||
|
|
||||||
|
/** 移交网格 零售 对公 对公账户 */
|
||||||
|
@ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
|
||||||
|
private String gridType ;
|
||||||
|
/** 移交客户号 */
|
||||||
|
@ApiModelProperty(value = "移交客户信息",notes = "")
|
||||||
|
private List<TransferCustDTO> custList ;
|
||||||
|
/** 原客户经理柜员号 */
|
||||||
|
@ApiModelProperty(value = "原客户经理柜员号",notes = "")
|
||||||
|
private String prevUserName ;
|
||||||
|
/** 新客户经理柜员号 */
|
||||||
|
@ApiModelProperty(value = "新客户经理柜员号",notes = "")
|
||||||
|
private String nextUserName ;
|
||||||
|
@ApiModelProperty(value = "是否全部移交",notes = "")
|
||||||
|
private Boolean isFullTransfer ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/20
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmTransferListDTO {
|
||||||
|
|
||||||
|
/** 移交客户信息 */
|
||||||
|
@ApiModelProperty(value = "移交客户信息",notes = "")
|
||||||
|
private String keyword;
|
||||||
|
|
||||||
|
/** 移交网格 零售 对公 对公账户 */
|
||||||
|
@ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
|
||||||
|
private String gridType ;
|
||||||
|
|
||||||
|
private String userRole;
|
||||||
|
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
private String headId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/13
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmUpdateDTO {
|
||||||
|
/** 移交网格 零售 对公 对公账户 */
|
||||||
|
@ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
|
||||||
|
private String gridType ;
|
||||||
|
/** 归属总行 */
|
||||||
|
@ApiModelProperty(value = "归属总行",notes = "")
|
||||||
|
private String deptCode ;
|
||||||
|
/** 客户号 */
|
||||||
|
@ApiModelProperty(name = "客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
/** 客户内码 */
|
||||||
|
@ApiModelProperty(name = "账户号",notes = "")
|
||||||
|
private String accountNo ;
|
||||||
|
/** 客户经理柜员号 */
|
||||||
|
@ApiModelProperty(name = "客户经理柜员号",notes = "")
|
||||||
|
private String userName ;
|
||||||
|
/** 客户经理姓名 */
|
||||||
|
@ApiModelProperty(name = "客户经理姓名",notes = "")
|
||||||
|
private String nickName ;
|
||||||
|
/** 网点机构号 */
|
||||||
|
@ApiModelProperty(name = "网点机构号",notes = "")
|
||||||
|
private Long outletId ;
|
||||||
|
/** 网点名称 */
|
||||||
|
@ApiModelProperty(name = "网点名称",notes = "")
|
||||||
|
private String outletName ;
|
||||||
|
/** 支行机构号 */
|
||||||
|
@ApiModelProperty(name = "支行机构号",notes = "")
|
||||||
|
private Long branchId ;
|
||||||
|
/** 支行名称 */
|
||||||
|
@ApiModelProperty(name = "支行名称",notes = "")
|
||||||
|
private String branchName ;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/22
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class TransferCustDTO {
|
||||||
|
/** 移交客户名称 */
|
||||||
|
@ApiModelProperty(value = "移交客户名称",notes = "")
|
||||||
|
private String custName ;
|
||||||
|
/** 移交客户号 */
|
||||||
|
@ApiModelProperty(value = "移交客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
/** 移交客户账号 */
|
||||||
|
@ApiModelProperty(value = "移交客户账号",notes = "")
|
||||||
|
private String accountNo ;
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/21
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class UserDeptDTO {
|
||||||
|
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
private String deptType;
|
||||||
|
|
||||||
|
private Long outletId;
|
||||||
|
|
||||||
|
private Long branchId;
|
||||||
|
|
||||||
|
private Long headId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 零售星级客户管户明细表
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-11-20
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("dwb_retail_cust_level_manager_detail")
|
||||||
|
@ApiModel(description = "零售星级客户管户明细表")
|
||||||
|
public class DwbRetailCustLevelManagerDetail {
|
||||||
|
|
||||||
|
/** id */
|
||||||
|
@TableId
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 网点号 */
|
||||||
|
@ApiModelProperty(value = "网点号")
|
||||||
|
private String outletId;
|
||||||
|
|
||||||
|
/** 网点名 */
|
||||||
|
@ApiModelProperty(value = "网点名")
|
||||||
|
private String outletName;
|
||||||
|
|
||||||
|
/** 支行号 */
|
||||||
|
@ApiModelProperty(value = "支行号")
|
||||||
|
private String branchId;
|
||||||
|
|
||||||
|
/** 支行名 */
|
||||||
|
@ApiModelProperty(value = "支行名")
|
||||||
|
private String branchName;
|
||||||
|
|
||||||
|
/** 客户名称 */
|
||||||
|
@ApiModelProperty(value = "客户名称")
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
/** 客户证件号 */
|
||||||
|
@ApiModelProperty(value = "客户证件号")
|
||||||
|
private String custIdc;
|
||||||
|
|
||||||
|
/** 客户内码 */
|
||||||
|
@ApiModelProperty(value = "客户内码")
|
||||||
|
private String custIsn;
|
||||||
|
|
||||||
|
/** 年龄 */
|
||||||
|
@ApiModelProperty(value = "年龄")
|
||||||
|
private String custAge;
|
||||||
|
|
||||||
|
/** 性别 */
|
||||||
|
@ApiModelProperty(value = "性别")
|
||||||
|
private String custSex;
|
||||||
|
|
||||||
|
/** 联系电话 */
|
||||||
|
@ApiModelProperty(value = "联系电话")
|
||||||
|
private String custPhone;
|
||||||
|
|
||||||
|
/** 联系地址 */
|
||||||
|
@ApiModelProperty(value = "联系地址")
|
||||||
|
private String custAddress;
|
||||||
|
|
||||||
|
/** 总资产余额 */
|
||||||
|
@ApiModelProperty(value = "总资产余额")
|
||||||
|
private BigDecimal custAumBal;
|
||||||
|
|
||||||
|
/** 总资产余额较上月变动 */
|
||||||
|
@ApiModelProperty(value = "总资产余额较上月变动")
|
||||||
|
private BigDecimal aumBalCompLm;
|
||||||
|
|
||||||
|
/** 总资产月日均 */
|
||||||
|
@ApiModelProperty(value = "总资产月日均")
|
||||||
|
private BigDecimal custAumMonthAvg;
|
||||||
|
|
||||||
|
/** 客户星级 */
|
||||||
|
@ApiModelProperty(value = "客户星级")
|
||||||
|
private String custLevel;
|
||||||
|
|
||||||
|
/** 星级较上月变动 */
|
||||||
|
@ApiModelProperty(value = "星级较上月变动")
|
||||||
|
private String custLevelCompLm;
|
||||||
|
|
||||||
|
/** 责任人 */
|
||||||
|
@ApiModelProperty(value = "责任人")
|
||||||
|
private String managerName;
|
||||||
|
|
||||||
|
/** 责任人柜员号 */
|
||||||
|
@ApiModelProperty(value = "责任人柜员号")
|
||||||
|
private String managerId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/15
|
||||||
|
*
|
||||||
|
* ALTER TABLE ibs.grid_cmpm_retail_965 ADD cust_type varchar(100) NULL COMMENT '0个人 1商户 2企业';
|
||||||
|
* ALTER TABLE ibs.grid_cmpm_retail_965 ADD grid_type varchar(100) NULL COMMENT '零售retail 对公corporate 对公账户corporateAccount';
|
||||||
|
* ALTER TABLE ibs.grid_cmpm_retail_965 ADD account_no varchar(100) NULL COMMENT '账户号';
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpm {
|
||||||
|
/** id */
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
@ApiModelProperty(name = "id",notes = "")
|
||||||
|
private Long id ;
|
||||||
|
/** 移交网格 零售 对公 对公账户 */
|
||||||
|
@ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporateAccount",notes = "")
|
||||||
|
private String gridType ;
|
||||||
|
/** 客户类型 retail merchant business */
|
||||||
|
@ApiModelProperty(name = "客户类型",notes = "")
|
||||||
|
private String custType ;
|
||||||
|
/** 客户号 */
|
||||||
|
@ApiModelProperty(name = "客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
/** 身份证号 */
|
||||||
|
@ApiModelProperty(name = "身份证号",notes = "")
|
||||||
|
private String custIdc ;
|
||||||
|
/** 统信码 */
|
||||||
|
@ApiModelProperty(name = "统信码",notes = "")
|
||||||
|
private String usci;
|
||||||
|
/** 客户内码 */
|
||||||
|
@ApiModelProperty(name = "客户内码",notes = "")
|
||||||
|
private String custIdn ;
|
||||||
|
/** 客户内码 */
|
||||||
|
@ApiModelProperty(name = "账户号",notes = "")
|
||||||
|
private String accountNo ;
|
||||||
|
/** 客户姓名 */
|
||||||
|
@ApiModelProperty(name = "客户姓名",notes = "")
|
||||||
|
private String custName ;
|
||||||
|
/** 客户层级 */
|
||||||
|
@ApiModelProperty(name = "客户层级",notes = "")
|
||||||
|
private String custLevel ;
|
||||||
|
/** 客户经理柜员号 */
|
||||||
|
@ApiModelProperty(name = "客户经理柜员号",notes = "")
|
||||||
|
private String userName ;
|
||||||
|
/** 客户经理姓名 */
|
||||||
|
@ApiModelProperty(name = "客户经理姓名",notes = "")
|
||||||
|
private String nickName ;
|
||||||
|
/** 网点机构号 */
|
||||||
|
@ApiModelProperty(name = "网点机构号",notes = "")
|
||||||
|
private Long outletId ;
|
||||||
|
/** 网点名称 */
|
||||||
|
@ApiModelProperty(name = "网点名称",notes = "")
|
||||||
|
private String outletName ;
|
||||||
|
/** 支行机构号 */
|
||||||
|
@ApiModelProperty(name = "支行机构号",notes = "")
|
||||||
|
private Long branchId ;
|
||||||
|
/** 支行名称 */
|
||||||
|
@ApiModelProperty(name = "支行名称",notes = "")
|
||||||
|
private String branchName ;
|
||||||
|
|
||||||
|
private String source;
|
||||||
|
/** 锁定标识 */
|
||||||
|
@ApiModelProperty(name = "锁定标识",notes = "")
|
||||||
|
private Boolean lockFlag ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/15
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmRetail {
|
||||||
|
/** id */
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
@ApiModelProperty(name = "id",notes = "")
|
||||||
|
private Long id ;
|
||||||
|
/** 客户号 */
|
||||||
|
@ApiModelProperty(name = "客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
/** 身份证号 */
|
||||||
|
@ApiModelProperty(name = "身份证号",notes = "")
|
||||||
|
private String custIdc ;
|
||||||
|
/** 统信码 */
|
||||||
|
@ApiModelProperty(name = "统信码",notes = "")
|
||||||
|
private String usci;
|
||||||
|
/** 客户内码 */
|
||||||
|
@ApiModelProperty(name = "客户内码",notes = "")
|
||||||
|
private String custIdn ;
|
||||||
|
/** 客户姓名 */
|
||||||
|
@ApiModelProperty(name = "客户姓名",notes = "")
|
||||||
|
private String custName ;
|
||||||
|
/** 客户层级 */
|
||||||
|
@ApiModelProperty(name = "客户层级",notes = "")
|
||||||
|
private String custLevel ;
|
||||||
|
/** 客户经理柜员号 */
|
||||||
|
@ApiModelProperty(name = "客户经理柜员号",notes = "")
|
||||||
|
private String userName ;
|
||||||
|
/** 客户经理姓名 */
|
||||||
|
@ApiModelProperty(name = "客户经理姓名",notes = "")
|
||||||
|
private String nickName ;
|
||||||
|
/** 网点机构号 */
|
||||||
|
@ApiModelProperty(name = "网点机构号",notes = "")
|
||||||
|
private Long outletId ;
|
||||||
|
/** 网点名称 */
|
||||||
|
@ApiModelProperty(name = "网点名称",notes = "")
|
||||||
|
private String outletName ;
|
||||||
|
/** 支行机构号 */
|
||||||
|
@ApiModelProperty(name = "支行机构号",notes = "")
|
||||||
|
private Long branchId ;
|
||||||
|
/** 支行名称 */
|
||||||
|
@ApiModelProperty(name = "支行名称",notes = "")
|
||||||
|
private String branchName ;
|
||||||
|
|
||||||
|
private String source;
|
||||||
|
/** 锁定标识 */
|
||||||
|
@ApiModelProperty(name = "锁定标识",notes = "")
|
||||||
|
private Boolean lockFlag ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/20
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmTransfer {
|
||||||
|
|
||||||
|
/** id */
|
||||||
|
@ApiModelProperty(value = "id",notes = "")
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id ;
|
||||||
|
@ApiModelProperty(value = "0移交 1认领",notes = "")
|
||||||
|
private String transferLabel;
|
||||||
|
/** 移交类型 网点内 支行内 跨支行 */
|
||||||
|
@ApiModelProperty(value = "移交类型 0网点内 1支行内 2跨支行",notes = "")
|
||||||
|
private Integer transferType ;
|
||||||
|
/** 移交状态 审批中 通过 拒绝 */
|
||||||
|
@ApiModelProperty(value = "移交状态 0网点审批中 1支行审批中 2总行审批中 3通过 -1拒绝",notes = "")
|
||||||
|
private String transferStatus ;
|
||||||
|
/** 移交网格 零售 对公 对公账户 */
|
||||||
|
@ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
|
||||||
|
private String gridType ;
|
||||||
|
/** 归属总行 */
|
||||||
|
@ApiModelProperty(value = "归属总行",notes = "")
|
||||||
|
private String headId ;
|
||||||
|
/** 移交客户名称 */
|
||||||
|
@ApiModelProperty(value = "移交客户名称",notes = "")
|
||||||
|
private String custName ;
|
||||||
|
/** 移交客户号 */
|
||||||
|
@ApiModelProperty(value = "移交客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
/** 移交客户账号 */
|
||||||
|
@ApiModelProperty(value = "移交客户账号",notes = "")
|
||||||
|
private String accountNo ;
|
||||||
|
/** 原客户经理柜员号 */
|
||||||
|
@ApiModelProperty(value = "原客户经理柜员号",notes = "")
|
||||||
|
private String prevUserName ;
|
||||||
|
/** 原归属网点 */
|
||||||
|
@ApiModelProperty(value = "原归属网点",notes = "")
|
||||||
|
private Long prevOutletId ;
|
||||||
|
/** 原归属支行 */
|
||||||
|
@ApiModelProperty(value = "原归属支行",notes = "")
|
||||||
|
private Long prevBranchId ;
|
||||||
|
/** 新客户经理柜员号 */
|
||||||
|
@ApiModelProperty(value = "新客户经理柜员号",notes = "")
|
||||||
|
private String nextUserName ;
|
||||||
|
/** 新归属网点 */
|
||||||
|
@ApiModelProperty(value = "新归属网点",notes = "")
|
||||||
|
private Long nextOutletId ;
|
||||||
|
/** 新归属支行 */
|
||||||
|
@ApiModelProperty(value = "新归属支行",notes = "")
|
||||||
|
private Long nextBranchId ;
|
||||||
|
/** 网点审批人 */
|
||||||
|
@ApiModelProperty(value = "网点审批人",notes = "")
|
||||||
|
private String outletApprover ;
|
||||||
|
/** 网点审批结果 */
|
||||||
|
@ApiModelProperty(value = "网点审批结果",notes = "")
|
||||||
|
private Boolean outletApproveResult ;
|
||||||
|
/** 网点审批时间 */
|
||||||
|
@ApiModelProperty(value = "网点审批时间",notes = "")
|
||||||
|
private Date outletApproveTime ;
|
||||||
|
/** 支行审批人 */
|
||||||
|
@ApiModelProperty(value = "支行审批人",notes = "")
|
||||||
|
private String branchApprover ;
|
||||||
|
/** 支行审批结果 */
|
||||||
|
@ApiModelProperty(value = "支行审批结果",notes = "")
|
||||||
|
private Boolean branchApproveResult ;
|
||||||
|
/** 支行审批时间 */
|
||||||
|
@ApiModelProperty(value = "支行审批时间",notes = "")
|
||||||
|
private Date branchApproveTime ;
|
||||||
|
/** 总行审批人 */
|
||||||
|
@ApiModelProperty(value = "总行审批人",notes = "")
|
||||||
|
private String headApprover ;
|
||||||
|
/** 总行审批结果 */
|
||||||
|
@ApiModelProperty(value = "总行审批结果",notes = "")
|
||||||
|
private Boolean headApproveResult ;
|
||||||
|
/** 总行审批时间 */
|
||||||
|
@ApiModelProperty(value = "总行审批时间",notes = "")
|
||||||
|
private Date headApproveTime ;
|
||||||
|
/** 创建时间 */
|
||||||
|
@ApiModelProperty(value = "创建时间",notes = "")
|
||||||
|
@TableField(fill = FieldFill.INSERT)
|
||||||
|
private Date createTime ;
|
||||||
|
/** 更新时间 */
|
||||||
|
@ApiModelProperty(value = "更新时间",notes = "")
|
||||||
|
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||||
|
private Date updateTime ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 零售星级客户管户明细表
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-11-20
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(description = "零售星级客户管户明细表")
|
||||||
|
public class DwbRetailCustLevelManagerDetailVO {
|
||||||
|
|
||||||
|
/** id */
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 网点号 */
|
||||||
|
@ApiModelProperty(value = "网点号")
|
||||||
|
private String outletId;
|
||||||
|
|
||||||
|
/** 网点名 */
|
||||||
|
@ApiModelProperty(value = "网点名")
|
||||||
|
private String outletName;
|
||||||
|
|
||||||
|
/** 支行号 */
|
||||||
|
@ApiModelProperty(value = "支行号")
|
||||||
|
private String branchId;
|
||||||
|
|
||||||
|
/** 支行名 */
|
||||||
|
@ApiModelProperty(value = "支行名")
|
||||||
|
private String branchName;
|
||||||
|
|
||||||
|
/** 客户名称 */
|
||||||
|
@ApiModelProperty(value = "客户名称")
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
/** 客户证件号 */
|
||||||
|
@ApiModelProperty(value = "客户证件号")
|
||||||
|
private String custIdc;
|
||||||
|
|
||||||
|
/** 客户内码 */
|
||||||
|
@ApiModelProperty(value = "客户内码")
|
||||||
|
private String custIsn;
|
||||||
|
|
||||||
|
/** 年龄 */
|
||||||
|
@ApiModelProperty(value = "年龄")
|
||||||
|
private String custAge;
|
||||||
|
|
||||||
|
/** 性别 */
|
||||||
|
@ApiModelProperty(value = "性别")
|
||||||
|
private String custSex;
|
||||||
|
|
||||||
|
/** 联系电话 */
|
||||||
|
@ApiModelProperty(value = "联系电话")
|
||||||
|
private String custPhone;
|
||||||
|
|
||||||
|
/** 联系地址 */
|
||||||
|
@ApiModelProperty(value = "联系地址")
|
||||||
|
private String custAddress;
|
||||||
|
|
||||||
|
/** 总资产余额 */
|
||||||
|
@ApiModelProperty(value = "总资产余额")
|
||||||
|
private BigDecimal custAumBal;
|
||||||
|
|
||||||
|
/** 总资产余额较上月变动 */
|
||||||
|
@ApiModelProperty(value = "总资产余额较上月变动")
|
||||||
|
private BigDecimal aumBalCompLm;
|
||||||
|
|
||||||
|
/** 总资产月日均 */
|
||||||
|
@ApiModelProperty(value = "总资产月日均")
|
||||||
|
private BigDecimal custAumMonthAvg;
|
||||||
|
|
||||||
|
/** 客户星级 */
|
||||||
|
@ApiModelProperty(value = "客户星级")
|
||||||
|
private String custLevel;
|
||||||
|
|
||||||
|
/** 星级较上月变动 */
|
||||||
|
@ApiModelProperty(value = "星级较上月变动")
|
||||||
|
private String custLevelCompLm;
|
||||||
|
|
||||||
|
/** 责任人 */
|
||||||
|
@ApiModelProperty(value = "责任人")
|
||||||
|
private String managerName;
|
||||||
|
|
||||||
|
/** 责任人柜员号 */
|
||||||
|
@ApiModelProperty(value = "责任人柜员号")
|
||||||
|
private String managerId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/17
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmClaimVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "客户类型",notes = "")
|
||||||
|
private String custType;
|
||||||
|
/** 移交客户名称 */
|
||||||
|
@ApiModelProperty(value = "移交客户名称",notes = "")
|
||||||
|
private String custName ;
|
||||||
|
/** 移交客户号 */
|
||||||
|
@ApiModelProperty(value = "移交客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
/** 移交客户账号 */
|
||||||
|
@ApiModelProperty(value = "移交客户账号",notes = "")
|
||||||
|
private String accountNo ;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "柜员号",notes = "")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "柜员名",notes = "")
|
||||||
|
private String nickName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "认领状态说明",notes = "")
|
||||||
|
private String claimStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "可否进行认领",notes = "")
|
||||||
|
private Boolean claimFlag;
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/22
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmTransferVO {
|
||||||
|
/** id */
|
||||||
|
@ApiModelProperty(value = "id",notes = "")
|
||||||
|
private Long id ;
|
||||||
|
@ApiModelProperty(value = "0移交 1认领",notes = "")
|
||||||
|
private String transferLabel;
|
||||||
|
/** 移交类型 网点内 支行内 跨支行 */
|
||||||
|
@ApiModelProperty(value = "移交类型 0网点内 1支行内 2跨支行",notes = "")
|
||||||
|
private Integer transferType ;
|
||||||
|
/** 移交状态 审批中 通过 拒绝 */
|
||||||
|
@ApiModelProperty(value = "移交状态 0网点审批中 1支行审批中 2总行审批中 3通过 -1拒绝",notes = "")
|
||||||
|
private String transferStatus ;
|
||||||
|
/** 移交网格 零售 对公 对公账户 */
|
||||||
|
@ApiModelProperty(value = "移交网格 零售 对公 对公账户",notes = "")
|
||||||
|
private String gridType ;
|
||||||
|
/** 归属总行 */
|
||||||
|
@ApiModelProperty(value = "归属总行",notes = "")
|
||||||
|
private String headId ;
|
||||||
|
/** 移交客户名称 */
|
||||||
|
@ApiModelProperty(value = "移交客户名称",notes = "")
|
||||||
|
private String custName ;
|
||||||
|
/** 移交客户号 */
|
||||||
|
@ApiModelProperty(value = "移交客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
/** 移交客户账号 */
|
||||||
|
@ApiModelProperty(value = "移交客户账号",notes = "")
|
||||||
|
private String accountNo ;
|
||||||
|
/** 原客户经理柜员号 */
|
||||||
|
@ApiModelProperty(value = "原客户经理柜员号",notes = "")
|
||||||
|
private String prevUser ;
|
||||||
|
/** 原归属网点 */
|
||||||
|
@ApiModelProperty(value = "原归属网点",notes = "")
|
||||||
|
private Long prevOutletId ;
|
||||||
|
/** 原归属支行 */
|
||||||
|
@ApiModelProperty(value = "原归属支行",notes = "")
|
||||||
|
private Long prevBranchId ;
|
||||||
|
/** 新客户经理柜员号 */
|
||||||
|
@ApiModelProperty(value = "新客户经理柜员号",notes = "")
|
||||||
|
private String nextUser ;
|
||||||
|
/** 新归属网点 */
|
||||||
|
@ApiModelProperty(value = "新归属网点",notes = "")
|
||||||
|
private Long nextOutletId ;
|
||||||
|
/** 新归属支行 */
|
||||||
|
@ApiModelProperty(value = "新归属支行",notes = "")
|
||||||
|
private Long nextBranchId ;
|
||||||
|
/** 网点审批人 */
|
||||||
|
@ApiModelProperty(value = "网点审批人",notes = "")
|
||||||
|
private String outletApprover ;
|
||||||
|
/** 网点审批结果 */
|
||||||
|
@ApiModelProperty(value = "网点审批结果",notes = "")
|
||||||
|
private String outletApproveResult ;
|
||||||
|
/** 网点审批时间 */
|
||||||
|
@ApiModelProperty(value = "网点审批时间",notes = "")
|
||||||
|
private Date outletApproveTime ;
|
||||||
|
/** 支行审批人 */
|
||||||
|
@ApiModelProperty(value = "支行审批人",notes = "")
|
||||||
|
private String branchApprover ;
|
||||||
|
/** 支行审批结果 */
|
||||||
|
@ApiModelProperty(value = "支行审批结果",notes = "")
|
||||||
|
private String branchApproveResult ;
|
||||||
|
/** 支行审批时间 */
|
||||||
|
@ApiModelProperty(value = "支行审批时间",notes = "")
|
||||||
|
private Date branchApproveTime ;
|
||||||
|
/** 总行审批人 */
|
||||||
|
@ApiModelProperty(value = "总行审批人",notes = "")
|
||||||
|
private String headApprover ;
|
||||||
|
/** 总行审批结果 */
|
||||||
|
@ApiModelProperty(value = "总行审批结果",notes = "")
|
||||||
|
private String headApproveResult ;
|
||||||
|
/** 总行审批时间 */
|
||||||
|
@ApiModelProperty(value = "总行审批时间",notes = "")
|
||||||
|
private Date headApproveTime ;
|
||||||
|
/** 创建时间 */
|
||||||
|
@ApiModelProperty(value = "创建时间",notes = "")
|
||||||
|
private Date createTime ;
|
||||||
|
/** 更新时间 */
|
||||||
|
@ApiModelProperty(value = "更新时间",notes = "")
|
||||||
|
private Date updateTime ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/15
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class GridCmpmVO {
|
||||||
|
/** id */
|
||||||
|
@ApiModelProperty(name = "id",notes = "")
|
||||||
|
private Long id ;
|
||||||
|
/** 客户号 */
|
||||||
|
@ApiModelProperty(name = "客户号",notes = "")
|
||||||
|
private String custId ;
|
||||||
|
/** 身份证号 */
|
||||||
|
@ApiModelProperty(name = "身份证号",notes = "")
|
||||||
|
private String custIdc ;
|
||||||
|
/** 客户内码 */
|
||||||
|
@ApiModelProperty(name = "客户内码",notes = "")
|
||||||
|
private String custIdn ;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "客户类型",notes = "")
|
||||||
|
private String custType ;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "统信码",notes = "")
|
||||||
|
private String usci;
|
||||||
|
|
||||||
|
private String accountNo;
|
||||||
|
/** 客户姓名 */
|
||||||
|
@ApiModelProperty(name = "客户姓名",notes = "")
|
||||||
|
private String custName ;
|
||||||
|
/** 客户层级 */
|
||||||
|
@ApiModelProperty(name = "客户层级",notes = "")
|
||||||
|
private String custLevel ;
|
||||||
|
/** 客户经理柜员号 */
|
||||||
|
@ApiModelProperty(name = "客户经理柜员号",notes = "")
|
||||||
|
private String userName ;
|
||||||
|
/** 客户经理姓名 */
|
||||||
|
@ApiModelProperty(name = "客户经理姓名",notes = "")
|
||||||
|
private String nickName ;
|
||||||
|
/** 网点机构号 */
|
||||||
|
@ApiModelProperty(name = "网点机构号",notes = "")
|
||||||
|
private Long outletId ;
|
||||||
|
/** 网点名称 */
|
||||||
|
@ApiModelProperty(name = "网点名称",notes = "")
|
||||||
|
private String outletName ;
|
||||||
|
/** 支行机构号 */
|
||||||
|
@ApiModelProperty(name = "支行机构号",notes = "")
|
||||||
|
private Long branchId ;
|
||||||
|
/** 支行名称 */
|
||||||
|
@ApiModelProperty(name = "支行名称",notes = "")
|
||||||
|
private String branchName ;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "客户来源",notes = "")
|
||||||
|
private String source;
|
||||||
|
/** 锁定标识 */
|
||||||
|
@ApiModelProperty(name = "锁定标识",notes = "")
|
||||||
|
private Boolean lockFlag ;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "是否可以移交",notes = "")
|
||||||
|
private Boolean transferFlag;
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.dto.CustLevelDTO;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.dto.CustManagerDTO;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.dto.GridCmpmListDTO;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.dto.GridCmpmUpdateDTO;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.entity.GridCmpm;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.vo.DwbRetailCustLevelManagerDetailVO;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmClaimVO;
|
||||||
|
import com.ruoyi.ibs.customerselect.domain.CustBaseInfo;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/26
|
||||||
|
**/
|
||||||
|
@Mapper
|
||||||
|
public interface GridCmpmMapper {
|
||||||
|
|
||||||
|
List<GridCmpm> selectManageList(GridCmpmListDTO gridCmpmListDTO);
|
||||||
|
|
||||||
|
List<GridCmpm> selectCommonList(GridCmpmListDTO gridCmpmListDTO);
|
||||||
|
|
||||||
|
GridCmpm getGridCmpmByCustKey(@Param("custId") String custId, @Param("accountNo") String accountNo,
|
||||||
|
@Param("gridType") String gridType, @Param("deptCode") String deptCode);
|
||||||
|
|
||||||
|
List<GridCmpm> getGridCmpmByUserName(@Param("userName") String userName, @Param("deptCode") String deptCode, @Param("gridType") String gridType);
|
||||||
|
|
||||||
|
List<GridCmpm> queryGridCmpmByCustKey( @Param("deptCode") String deptCode, @Param("gridType") String gridType,
|
||||||
|
@Param("custIds") List<String> custIds, @Param("accountNos") List<String> accountNos );
|
||||||
|
|
||||||
|
Long updateGridCmpm(GridCmpmUpdateDTO gridCmpmUpdateDTO);
|
||||||
|
|
||||||
|
List<String> getAllCustLevel(@Param("gridType") String gridType);
|
||||||
|
|
||||||
|
String getCustLevel(CustLevelDTO custLevelDTO);
|
||||||
|
|
||||||
|
List<GridCmpmClaimVO> queryClaimList(@Param("deptCode") String deptCode, @Param("gridType") String gridType, @Param("custKey") String custKey);
|
||||||
|
|
||||||
|
List<DwbRetailCustLevelManagerDetailVO> getCustManagerList(CustManagerDTO custManagerDTO);
|
||||||
|
|
||||||
|
int getCustLevelCount(CustManagerDTO custManagerDTO);
|
||||||
|
|
||||||
|
// List<CustInfoRetail> selectCustInfoRetailFromGridCmpm(CustBaseInfo custBaseInfo);
|
||||||
|
|
||||||
|
List<CustBaseInfo> selectCustInfoFromGridCmpm(CustBaseInfo custBaseInfo);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.service;
|
||||||
|
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.ibs.cmpm.mapper.GridCmpmMapper;
|
||||||
|
import com.ruoyi.ibs.customerselect.domain.ContinuousParam;
|
||||||
|
import com.ruoyi.ibs.customerselect.domain.CustBaseInfo;
|
||||||
|
import com.ruoyi.ibs.customerselect.domain.DiscreteParam;
|
||||||
|
import com.ruoyi.ibs.customerselect.mapper.GridSummarCountMapper;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/21
|
||||||
|
**/
|
||||||
|
@Service
|
||||||
|
public class GridCmpmCustService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private GridCmpmMapper gridCmpmMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private GridSummarCountMapper gridSummarCountMapper;
|
||||||
|
|
||||||
|
public List<CustBaseInfo> selectCustInfoRetailList(CustBaseInfo custBaseInfoParam) {
|
||||||
|
custBaseInfoParam.setCmpmUserName(SecurityUtils.getUsername());
|
||||||
|
custBaseInfoParam.setDeptCode(SecurityUtils.getHeadId());
|
||||||
|
|
||||||
|
//分页参数
|
||||||
|
custBaseInfoParam.setStart((custBaseInfoParam.getNum() - 1) * custBaseInfoParam.getSize());
|
||||||
|
custBaseInfoParam.setEnd(custBaseInfoParam.getNum() * custBaseInfoParam.getSize());
|
||||||
|
|
||||||
|
StringBuilder metricStrBuilder = new StringBuilder();
|
||||||
|
if (custBaseInfoParam.getContinuousParams() != null && custBaseInfoParam.getContinuousParams().size() > 0){
|
||||||
|
for (ContinuousParam info : custBaseInfoParam.getContinuousParams()){
|
||||||
|
if (metricStrBuilder.length() > 0) {
|
||||||
|
metricStrBuilder.append(",");
|
||||||
|
}
|
||||||
|
metricStrBuilder.append(gridSummarCountMapper.selectDictLabelByDictValue(info.getKey()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (custBaseInfoParam.getDiscreteParams() != null && custBaseInfoParam.getDiscreteParams().size() > 0){
|
||||||
|
for (DiscreteParam info:custBaseInfoParam.getDiscreteParams()){
|
||||||
|
if (metricStrBuilder.length() > 0) {
|
||||||
|
metricStrBuilder.append(",");
|
||||||
|
}
|
||||||
|
metricStrBuilder.append(gridSummarCountMapper.selectDictLabelByDictValue(info.getKey()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return gridCmpmMapper.selectCustInfoFromGridCmpm(custBaseInfoParam);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
package com.ruoyi.ibs.cmpm.service;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.dto.CustLevelDTO;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.dto.CustManagerDTO;
|
||||||
|
import com.ruoyi.ibs.cmpm.domain.vo.DwbRetailCustLevelManagerDetailVO;
|
||||||
|
import com.ruoyi.ibs.cmpm.mapper.GridCmpmMapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/10/15
|
||||||
|
**/
|
||||||
|
@Service
|
||||||
|
public class GridCmpmService {
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private GridCmpmMapper gridCmpmMapper;
|
||||||
|
|
||||||
|
private final String CUST_LEVEL_KEY = "GRID_CMPM_CUST_LEVEL_KEY_";
|
||||||
|
@Resource
|
||||||
|
private RedisCache redisCache;
|
||||||
|
|
||||||
|
public String getCustLevelByCust(CustLevelDTO custLevelDTO){
|
||||||
|
if (custLevelDTO.getCustType().equals("0") || custLevelDTO.getCustType().equals("1")){
|
||||||
|
custLevelDTO.setGridType("retail");
|
||||||
|
return gridCmpmMapper.getCustLevel(custLevelDTO);
|
||||||
|
}else if (Objects.nonNull(custLevelDTO.getAccountNo())){
|
||||||
|
custLevelDTO.setGridType("corporate_account");
|
||||||
|
}else {
|
||||||
|
custLevelDTO.setGridType("corporate");
|
||||||
|
}
|
||||||
|
// todo 公司部未上
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getAllCustLevel(String gridType){
|
||||||
|
String custLevelKey = CUST_LEVEL_KEY + gridType + SecurityUtils.getHeadId();
|
||||||
|
List<String> allCustLevel;
|
||||||
|
if (redisCache.hasKey(custLevelKey)){
|
||||||
|
allCustLevel = redisCache.getCacheObject(custLevelKey);
|
||||||
|
}else{
|
||||||
|
allCustLevel = gridCmpmMapper.getAllCustLevel(gridType);
|
||||||
|
redisCache.setCacheObject(custLevelKey,allCustLevel, 1, TimeUnit.HOURS);
|
||||||
|
}
|
||||||
|
return allCustLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<DwbRetailCustLevelManagerDetailVO> selectCustManagerList(CustManagerDTO custManagerDTO) {
|
||||||
|
String userRole = SecurityUtils.userRole();
|
||||||
|
if (userRole.equals("manager")){
|
||||||
|
//客户经理查自己
|
||||||
|
custManagerDTO.setManagerId(SecurityUtils.getUsername());
|
||||||
|
}else if (userRole.equals("outlet")){
|
||||||
|
//网点管理员查网点
|
||||||
|
custManagerDTO.setOutletId(String.valueOf(SecurityUtils.getDeptId()));
|
||||||
|
}else if (userRole.equals("branch")){
|
||||||
|
//支行管理员查支行
|
||||||
|
custManagerDTO.setBranchId(String.valueOf(SecurityUtils.getDeptId()));
|
||||||
|
}
|
||||||
|
//其他角色查全部
|
||||||
|
return gridCmpmMapper.getCustManagerList(custManagerDTO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int custLevelCount(CustManagerDTO custManagerDTO) {
|
||||||
|
String userRole = SecurityUtils.userRole();
|
||||||
|
if (userRole.equals("manager")){
|
||||||
|
//客户经理查自己
|
||||||
|
custManagerDTO.setManagerId(SecurityUtils.getUsername());
|
||||||
|
}else if (userRole.equals("outlet")){
|
||||||
|
//网点管理员查网点
|
||||||
|
custManagerDTO.setOutletId(String.valueOf(SecurityUtils.getDeptId()));
|
||||||
|
}else if (userRole.equals("branch")){
|
||||||
|
//支行管理员查支行
|
||||||
|
custManagerDTO.setBranchId(String.valueOf(SecurityUtils.getDeptId()));
|
||||||
|
}
|
||||||
|
return gridCmpmMapper.getCustLevelCount(custManagerDTO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
|
||||||
|
import com.ruoyi.ibs.custmap.service.CustMapSelectService;
|
||||||
|
import com.ruoyi.ibs.custmap.service.DeptAddressService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Api(tags = "地图拓客接口")
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cust/map")
|
||||||
|
public class CustMapController extends BaseController {
|
||||||
|
@Resource
|
||||||
|
private CustMapSelectService custMapSelectService;
|
||||||
|
@Resource
|
||||||
|
private DeptAddressService deptAddressService;
|
||||||
|
|
||||||
|
@ApiOperation("坐标和半径查询用户列表")
|
||||||
|
@PostMapping("/search/circle")
|
||||||
|
public AjaxResult searchCustByCircle(@RequestBody @Valid CustMapCircleDTO custMapCircleDTO) {
|
||||||
|
if (Objects.isNull(custMapCircleDTO.getNum()) || Objects.isNull(custMapCircleDTO.getSize())){
|
||||||
|
throw new ServiceException("请输入页码和每页条数");
|
||||||
|
}
|
||||||
|
List<CustMapVO> custMapVOS = custMapSelectService.selectCustListByCircle(custMapCircleDTO);
|
||||||
|
return success(custMapVOS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("坐标和半径搜索用户数量")
|
||||||
|
@PostMapping("/search/circle/count")
|
||||||
|
public AjaxResult countCustMapListByCircle(@RequestBody @Valid CustMapCircleDTO custMapCircleDTO) {
|
||||||
|
return success(custMapSelectService.countCustMapListByCircle(custMapCircleDTO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获取用户默认地址")
|
||||||
|
@GetMapping("/loc")
|
||||||
|
public AjaxResult getDefaultLoc() {
|
||||||
|
return success(deptAddressService.selectDeptAddressById());
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获取新华社数据")
|
||||||
|
@GetMapping("/info")
|
||||||
|
public AjaxResult getRadarInfo(@RequestParam Integer id) {
|
||||||
|
return success(custMapSelectService.selectCustInfoRadarById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.controller;
|
||||||
|
|
||||||
|
import com.github.pagehelper.Page;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.page.TableDataPageInfo;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.dto.CustMapFavoriteDTO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
|
||||||
|
import com.ruoyi.ibs.custmap.service.CustMapFavoriteService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/26
|
||||||
|
**/
|
||||||
|
@Api(tags = "地图拓客收藏接口")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cust/map/favorite")
|
||||||
|
public class CustMapFavoriteController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CustMapFavoriteService custMapFavoriteService;
|
||||||
|
|
||||||
|
@ApiOperation("添加或取消收藏")
|
||||||
|
@GetMapping("/update")
|
||||||
|
public AjaxResult updateFavorite(@RequestParam Long radarId) {
|
||||||
|
return success(custMapFavoriteService.updateFavorite(radarId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获取查收藏地图页面")
|
||||||
|
@GetMapping("/map")
|
||||||
|
public AjaxResult getFavoriteCount() {
|
||||||
|
return success(custMapFavoriteService.getFavoriteCountByUser());
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获取收藏列表")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataPageInfo<CustMapVO> getFavoriteList(CustMapFavoriteDTO custMapFavoriteDTO) {
|
||||||
|
Page<Object> page = startPage();
|
||||||
|
List<CustMapVO> custMapVOList = custMapFavoriteService.selectCustListByFavorite(custMapFavoriteDTO);
|
||||||
|
return getDataTable(custMapVOList, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||||
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.CompanyTypeVO;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/23
|
||||||
|
**/
|
||||||
|
@Api(tags = "地图拓客码值")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cust/map/metric")
|
||||||
|
public class CustMapMerticController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RedisCache redisCache;
|
||||||
|
|
||||||
|
@ApiOperation("币种码值表")
|
||||||
|
@GetMapping("/cur")
|
||||||
|
public R<List<SysDictData>> getCurDict(){
|
||||||
|
List<SysDictData> sysDictTypeArrayList = new ArrayList<SysDictData>(redisCache.getCacheObject("sys_dict:cust_map_cur_metric"));
|
||||||
|
return R.ok(sysDictTypeArrayList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("机构类型码值表")
|
||||||
|
@GetMapping("/company/type")
|
||||||
|
public R<List<CompanyTypeVO>> getCompanyTypeDict(){
|
||||||
|
List<SysDictData> sysDictTypeArrayList = new ArrayList<SysDictData>(redisCache.getCacheObject("sys_dict:cust_map_company_type_metric"));
|
||||||
|
List<CompanyTypeVO> collect = sysDictTypeArrayList.stream().map(CompanyTypeVO::new).collect(Collectors.toList());
|
||||||
|
List<CompanyTypeVO> collect1 = collect.stream().filter(companyTypeVO -> companyTypeVO.getSort() == 1).collect(Collectors.toList());
|
||||||
|
for (CompanyTypeVO companyTypeVO : collect1) {
|
||||||
|
companyTypeVO.setChildren(companyTypeDfs(companyTypeVO.getValue(), companyTypeVO.getSort() + 1, collect));
|
||||||
|
}
|
||||||
|
return R.ok(collect1);
|
||||||
|
}
|
||||||
|
private List<CompanyTypeVO> companyTypeDfs(String value, Long sort, List<CompanyTypeVO> collect){
|
||||||
|
List<CompanyTypeVO> collect1 = collect.stream().filter(companyTypeVO -> companyTypeVO.getValue().startsWith(value) && companyTypeVO.getSort() == sort)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (collect1.size() == 0){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
for (CompanyTypeVO companyTypeVO : collect1) {
|
||||||
|
companyTypeVO.setChildren(companyTypeDfs(companyTypeVO.getValue(), companyTypeVO.getSort() + 1, collect));
|
||||||
|
}
|
||||||
|
return collect1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/15
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class CustMapCircleDTO extends CustMapDTO{
|
||||||
|
|
||||||
|
@NotNull(message = "纬度不能为空")
|
||||||
|
@ApiModelProperty(value = "纬度")
|
||||||
|
private Double targetLat;
|
||||||
|
|
||||||
|
@NotNull(message = "经度不能为空")
|
||||||
|
@ApiModelProperty(value = "经度")
|
||||||
|
private Double targetLng;
|
||||||
|
|
||||||
|
private Double latRange;
|
||||||
|
|
||||||
|
private Double lngRange;
|
||||||
|
|
||||||
|
@NotNull(message = "距离不能为空")
|
||||||
|
@ApiModelProperty(value = "距离半径")
|
||||||
|
private Double dist;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "页面大小")
|
||||||
|
private Integer size;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "页数")
|
||||||
|
private Integer num;
|
||||||
|
|
||||||
|
private Integer pageIndex;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "升降序")
|
||||||
|
private Boolean isAsc;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业名称")
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,218 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/15
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class CustMapDTO {
|
||||||
|
|
||||||
|
private String dept;
|
||||||
|
/**
|
||||||
|
* 企业规模 | en_qly
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "企业规模 | en_qly")
|
||||||
|
private List<String> custScaleList;
|
||||||
|
@ApiModelProperty(value = "机构类型")
|
||||||
|
private List<String> companyTypeList;
|
||||||
|
@ApiModelProperty(value = "包含机构类型")
|
||||||
|
private Boolean companyTypeInclude;
|
||||||
|
/**
|
||||||
|
* 法人电话
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否电话")
|
||||||
|
private Boolean isPhoneNumber;
|
||||||
|
@ApiModelProperty(value = "是否邮箱")
|
||||||
|
private Boolean isEmail;
|
||||||
|
/**
|
||||||
|
* 省
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "省")
|
||||||
|
private String province;
|
||||||
|
/**
|
||||||
|
* 市
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "市")
|
||||||
|
private String city;
|
||||||
|
/**
|
||||||
|
* 县
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "县")
|
||||||
|
private String county;
|
||||||
|
/**
|
||||||
|
* 街道/镇
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "街道/镇")
|
||||||
|
private String street;
|
||||||
|
/**
|
||||||
|
* 社区/村
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "社区/村")
|
||||||
|
private String community;
|
||||||
|
/**
|
||||||
|
* 所在行业
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "所在行业")
|
||||||
|
private List<String> belongBusinessList;
|
||||||
|
/**
|
||||||
|
* 成立年限
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "成立年限")
|
||||||
|
private List<RangeInterval> startDateIntervalList;
|
||||||
|
/**
|
||||||
|
* 经营状态
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营状态")
|
||||||
|
private List<String> statusList;
|
||||||
|
@ApiModelProperty(value = "是否包含特定经营状态")
|
||||||
|
private Boolean statusInclude;
|
||||||
|
/**
|
||||||
|
* 注册资本币种
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "注册资本币种")
|
||||||
|
private String registCapiCur;
|
||||||
|
@ApiModelProperty(value = "注册资本范围")
|
||||||
|
private List<RangeInterval> registCapiIntervalList;
|
||||||
|
/**
|
||||||
|
* 实缴资本币种
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "实缴资本币种")
|
||||||
|
private String recCapCur;
|
||||||
|
@ApiModelProperty(value = "实缴资本范围")
|
||||||
|
private List<RangeInterval> recCapIntervalList;
|
||||||
|
/**
|
||||||
|
* 经营信息-养老保险参保人数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-养老保险参保人数")
|
||||||
|
private List<RangeInterval> businessInfoPenInsurIntervalList;
|
||||||
|
/**
|
||||||
|
* 经营信息-医疗保险参保人数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-医疗保险参保人数")
|
||||||
|
private List<RangeInterval> businessInfoMediInsurIntervalList;
|
||||||
|
/**
|
||||||
|
* 经营信息-有无进出口信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-有无进出口信息(1为有,0为无)")
|
||||||
|
private Boolean businessInfoImExportFlag;
|
||||||
|
@ApiModelProperty(value = "进出口信用等级列表")
|
||||||
|
private List<String> businessInfoImExportCreditGradeList;
|
||||||
|
/**
|
||||||
|
* 经营信息-有无政府扶持和奖励(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-有无政府扶持和奖励(1为有,0为无)")
|
||||||
|
private Boolean businessInfoGovSupportFlag;
|
||||||
|
/**
|
||||||
|
* 经营信息-有无融资信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-有无融资信息(1为有,0为无)")
|
||||||
|
private Boolean businessInfoFinaInfoFlag;
|
||||||
|
/**
|
||||||
|
* 经营信息-融资轮次
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-融资轮次")
|
||||||
|
private List<String> businessInfoFinaRoundList;
|
||||||
|
/**
|
||||||
|
* 知识产权-有无商标信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "知识产权-有无商标信息(1为有,0为无)")
|
||||||
|
private Boolean intelPropRightTrademarkInfoFlag;
|
||||||
|
/**
|
||||||
|
* 知识产权-有无专利信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "知识产权-有无专利信息(1为有,0为无)")
|
||||||
|
private Boolean intelPropRightPatentInfoFlag;
|
||||||
|
/**
|
||||||
|
* 知识产权-有无软件著作权(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "知识产权-有无软件著作权(1为有,0为无)")
|
||||||
|
private Boolean intelPropRightSoftCopyrightFlag;
|
||||||
|
/**
|
||||||
|
* 科技等级-类型
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "科技等级-类型")
|
||||||
|
private List<String> technologyLvlTypeList;
|
||||||
|
/**
|
||||||
|
* 科技等级-状态
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "科技等级-状态")
|
||||||
|
private List<String> technologyLvlStateList;
|
||||||
|
/**
|
||||||
|
* 科技等级-级别
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "科技等级-级别")
|
||||||
|
private List<String> technologyLvlLevelList;
|
||||||
|
/**
|
||||||
|
* 资本市场-有无上市信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "资本市场-有无上市信息(1为有,0为无)")
|
||||||
|
private Boolean capMarketListInfoFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无失信信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无失信信息(1为有,0为无)")
|
||||||
|
private Boolean riskCharDisInfoFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无破产清算(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无破产清算(1为有,0为无)")
|
||||||
|
private Boolean riskCharBankruptcyLiquiFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无变更记录(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无变更记录(1为有,0为无)")
|
||||||
|
private Boolean riskCharChangeRecordFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无失信被执行人(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无失信被执行人(1为有,0为无)")
|
||||||
|
private Boolean riskCharDisPersonFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无严重失信违法(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无严重失信违法(1为有,0为无)")
|
||||||
|
private Boolean riskCharSncFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无限制高消费(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无限制高消费(1为有,0为无)")
|
||||||
|
private Boolean riskCharRhcFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无行政处罚(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无行政处罚(1为有,0为无)")
|
||||||
|
private Boolean operatRiskAdminPenaltyFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无环保处罚(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无环保处罚(1为有,0为无)")
|
||||||
|
private Boolean operatRiskEnvirPenaltyFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无欠税信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无欠税信息(1为有,0为无)")
|
||||||
|
private Boolean operatRiskOweTaxInfoFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无终末案件(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无终末案件(1为有,0为无)")
|
||||||
|
private Boolean operatRiskFinalCaseFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无未结案件(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无未结案件(1为有,0为无)")
|
||||||
|
private Boolean operatRiskUnfinishCaseFlag;
|
||||||
|
/**
|
||||||
|
* 新增企业标识(1为新增企业,0为存量企业)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "新增企业标识(1为新增企业,0为存量企业)")
|
||||||
|
private Boolean newCompanyFlag;
|
||||||
|
|
||||||
|
private Boolean isBranchFlag;
|
||||||
|
|
||||||
|
private Boolean isHasBranchFlag;
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/23
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class CustMapFavoriteDTO {
|
||||||
|
|
||||||
|
/** 用户名 */
|
||||||
|
@ApiModelProperty(value = "用户名",notes = "")
|
||||||
|
private String userName ;
|
||||||
|
|
||||||
|
private Double longitude ;
|
||||||
|
|
||||||
|
private Double latitude ;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "升降序")
|
||||||
|
private Boolean isAsc;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/20
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class RangeInterval{
|
||||||
|
private Long min;
|
||||||
|
private Long max;
|
||||||
|
}
|
||||||
@@ -0,0 +1,292 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
/**
|
||||||
|
* 客户雷达信息表(CustInfoRadar965)实体类
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2025-05-22 16:44:05
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("cust_info_radar")
|
||||||
|
public class CustInfoRadar {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@TableId
|
||||||
|
@ApiModelProperty(value = "ID")
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
* 企业规模 | en_qly
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "企业规模 | en_qly")
|
||||||
|
private String custScale;
|
||||||
|
/**
|
||||||
|
* 企业名称 | cust_nam
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "企业名称 | cust_nam")
|
||||||
|
private String custName;
|
||||||
|
/**
|
||||||
|
* 法人姓名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "法人姓名")
|
||||||
|
private String lpName;
|
||||||
|
/**
|
||||||
|
* 法人电话
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "法人电话")
|
||||||
|
private String custPhone;
|
||||||
|
/**
|
||||||
|
* 客户号 | cust_id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "客户号 | cust_id")
|
||||||
|
private String custId;
|
||||||
|
/**
|
||||||
|
* 客户内码 | cst_id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "客户内码 | cst_id")
|
||||||
|
private String custIsn;
|
||||||
|
/**
|
||||||
|
* 统一社会信用识别码 | uniscid
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "统一社会信用识别码 | uniscid")
|
||||||
|
private String socialCreditCode;
|
||||||
|
/**
|
||||||
|
* 省
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "省")
|
||||||
|
private String province;
|
||||||
|
/**
|
||||||
|
* 市
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "市")
|
||||||
|
private String city;
|
||||||
|
/**
|
||||||
|
* 县
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "县")
|
||||||
|
private String county;
|
||||||
|
/**
|
||||||
|
* 街道/镇
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "街道/镇")
|
||||||
|
private String street;
|
||||||
|
/**
|
||||||
|
* 社区/村
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "社区/村")
|
||||||
|
private String community;
|
||||||
|
/**
|
||||||
|
* 详细地址
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "详细地址")
|
||||||
|
private String addressDetail;
|
||||||
|
/**
|
||||||
|
* 经度
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经度")
|
||||||
|
private Double longitude;
|
||||||
|
/**
|
||||||
|
* 纬度
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "纬度")
|
||||||
|
private Double latitude;
|
||||||
|
/**
|
||||||
|
* 所在行业
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "所在行业")
|
||||||
|
private String belongBusiness;
|
||||||
|
/**
|
||||||
|
* 成立年限
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "成立年限")
|
||||||
|
private Date startDate;
|
||||||
|
/**
|
||||||
|
* 经营状态
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营状态")
|
||||||
|
private String status;
|
||||||
|
/**
|
||||||
|
* 注册资本币种
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "注册资本币种")
|
||||||
|
private String registCapiCur;
|
||||||
|
/**
|
||||||
|
* 注册资本数值
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "注册资本数值")
|
||||||
|
private Double registCapiValue;
|
||||||
|
/**
|
||||||
|
* 注册资本单位
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "注册资本单位")
|
||||||
|
private String registCapiUnit;
|
||||||
|
/**
|
||||||
|
* 实缴资本币种
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "实缴资本币种")
|
||||||
|
private String recCapCur;
|
||||||
|
/**
|
||||||
|
* 实缴资本数值
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "实缴资本数值")
|
||||||
|
private Double recCapValue;
|
||||||
|
/**
|
||||||
|
* 实缴资本单位
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "实缴资本单位")
|
||||||
|
private String recCapUnit;
|
||||||
|
/**
|
||||||
|
* 联系方式
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "联系方式")
|
||||||
|
private String phoneNumber;
|
||||||
|
/**
|
||||||
|
* 经营信息-养老保险参保人数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-养老保险参保人数")
|
||||||
|
private String businessInfoPenInsurNum;
|
||||||
|
/**
|
||||||
|
* 经营信息-医疗保险参保人数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-医疗保险参保人数")
|
||||||
|
private String businessInfoMediInsurNum;
|
||||||
|
/**
|
||||||
|
* 经营信息-有无进出口信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-有无进出口信息(1为有,0为无)")
|
||||||
|
private Boolean businessInfoImExportFlag;
|
||||||
|
@ApiModelProperty(value = "经营信息-进出口信用等级")
|
||||||
|
private String businessInfoImExportCreditGrade;
|
||||||
|
/**
|
||||||
|
* 经营信息-有无政府扶持和奖励(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-有无政府扶持和奖励(1为有,0为无)")
|
||||||
|
private Boolean businessInfoGovSupportFlag;
|
||||||
|
/**
|
||||||
|
* 经营信息-有无融资信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-有无融资信息(1为有,0为无)")
|
||||||
|
private Boolean businessInfoFinaInfoFlag;
|
||||||
|
/**
|
||||||
|
* 经营信息-融资轮次
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营信息-融资轮次")
|
||||||
|
private String businessInfoFinaRound;
|
||||||
|
/**
|
||||||
|
* 知识产权-有无商标信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "知识产权-有无商标信息(1为有,0为无)")
|
||||||
|
private Boolean intelPropRightTrademarkInfoFlag;
|
||||||
|
/**
|
||||||
|
* 知识产权-有无专利信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "知识产权-有无专利信息(1为有,0为无)")
|
||||||
|
private Boolean intelPropRightPatentInfoFlag;
|
||||||
|
/**
|
||||||
|
* 知识产权-有无软件著作权(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "知识产权-有无软件著作权(1为有,0为无)")
|
||||||
|
private Boolean intelPropRightSoftCopyrightFlag;
|
||||||
|
/**
|
||||||
|
* 科技等级-类型
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "科技等级-类型")
|
||||||
|
private String technologyLvlType;
|
||||||
|
/**
|
||||||
|
* 科技等级-状态
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "科技等级-状态")
|
||||||
|
private String technologyLvlState;
|
||||||
|
/**
|
||||||
|
* 科技等级-级别
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "科技等级-级别")
|
||||||
|
private String technologyLvlLevel;
|
||||||
|
/**
|
||||||
|
* 资本市场-有无上市信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "资本市场-有无上市信息(1为有,0为无)")
|
||||||
|
private Boolean capMarketListInfoFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无失信信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无失信信息(1为有,0为无)")
|
||||||
|
private Boolean riskCharDisInfoFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无破产清算(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无破产清算(1为有,0为无)")
|
||||||
|
private Boolean riskCharBankruptcyLiquiFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无变更记录(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无变更记录(1为有,0为无)")
|
||||||
|
private Boolean riskCharChangeRecordFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无失信被执行人(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无失信被执行人(1为有,0为无)")
|
||||||
|
private Boolean riskCharDisPersonFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无严重失信违法(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无严重失信违法(1为有,0为无)")
|
||||||
|
private Boolean riskCharSncFlag;
|
||||||
|
/**
|
||||||
|
* 风险特征-有无限制高消费(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "风险特征-有无限制高消费(1为有,0为无)")
|
||||||
|
private Boolean riskCharRhcFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无行政处罚(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无行政处罚(1为有,0为无)")
|
||||||
|
private Boolean operatRiskAdminPenaltyFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无环保处罚(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无环保处罚(1为有,0为无)")
|
||||||
|
private Boolean operatRiskEnvirPenaltyFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无欠税信息(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无欠税信息(1为有,0为无)")
|
||||||
|
private Boolean operatRiskOweTaxInfoFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无终末案件(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无终末案件(1为有,0为无)")
|
||||||
|
private Boolean operatRiskFinalCaseFlag;
|
||||||
|
/**
|
||||||
|
* 经营风险-有无未结案件(1为有,0为无)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "经营风险-有无未结案件(1为有,0为无)")
|
||||||
|
private Boolean operatRiskUnfinishCaseFlag;
|
||||||
|
/**
|
||||||
|
* 新增企业标识(1为新增企业,0为存量企业)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "新增企业标识(1为新增企业,0为存量企业)")
|
||||||
|
private Boolean newCompanyFlag;
|
||||||
|
@ApiModelProperty(value = "是否是分支机构")
|
||||||
|
private Boolean isBranchFlag;
|
||||||
|
@ApiModelProperty(value = "是否有分支机构")
|
||||||
|
private Boolean isHasBranchFlag;
|
||||||
|
@ApiModelProperty(value = "电子邮箱")
|
||||||
|
private String email;
|
||||||
|
@ApiModelProperty(value = "注册资本展示")
|
||||||
|
private String registCapiShow;
|
||||||
|
@ApiModelProperty(value = "实缴资本展示")
|
||||||
|
private String recCapShow;
|
||||||
|
@ApiModelProperty(value = "经营范围")
|
||||||
|
private String scope;
|
||||||
|
@ApiModelProperty(value = "客户类型")
|
||||||
|
private String custType;
|
||||||
|
@ApiModelProperty(value = "机构类型")
|
||||||
|
private String companyType;
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/23
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
@TableName("cust_map_favorite")
|
||||||
|
public class CustMapFavorite {
|
||||||
|
/** 主键 */
|
||||||
|
@ApiModelProperty(value = "主键",notes = "")
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
private Long id ;
|
||||||
|
/** 用户名 */
|
||||||
|
@ApiModelProperty(value = "用户名",notes = "")
|
||||||
|
private String userName ;
|
||||||
|
@ApiModelProperty(value = "雷达表id",notes = "")
|
||||||
|
private Long radarId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/23
|
||||||
|
**/
|
||||||
|
@ApiModel(value = "机构地址表",description = "")
|
||||||
|
@TableName("dept_address")
|
||||||
|
@Data
|
||||||
|
public class DeptAddress {
|
||||||
|
|
||||||
|
/** 部门id */
|
||||||
|
@ApiModelProperty(value = "部门id",notes = "")
|
||||||
|
@TableId
|
||||||
|
private Long deptId ;
|
||||||
|
/** */
|
||||||
|
@ApiModelProperty(value = "地址",notes = "")
|
||||||
|
private String address ;
|
||||||
|
@ApiModelProperty(value = "城市",notes = "")
|
||||||
|
private String city ;
|
||||||
|
/** */
|
||||||
|
@ApiModelProperty(value = "经度",notes = "")
|
||||||
|
private Double lng ;
|
||||||
|
/** */
|
||||||
|
@ApiModelProperty(value = "纬度",notes = "")
|
||||||
|
private Double lat ;
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.vo;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/28
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class CompanyTypeVO {
|
||||||
|
private Long sort;
|
||||||
|
private String label;
|
||||||
|
private String value;
|
||||||
|
private List<CompanyTypeVO> children;
|
||||||
|
public CompanyTypeVO(SysDictData sysDictData) {
|
||||||
|
this.sort = sysDictData.getDictSort();
|
||||||
|
this.label = sysDictData.getDictLabel();
|
||||||
|
this.value = sysDictData.getDictValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/15
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class CustMapVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "ID")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "客户名称")
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "法人")
|
||||||
|
private String lpName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开始日期")
|
||||||
|
private String startDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "注册资本显示")
|
||||||
|
private String registCapiShow;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "省份")
|
||||||
|
private String province;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "城市")
|
||||||
|
private String city;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "距离")
|
||||||
|
private double distance;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电话号码")
|
||||||
|
private String phoneNumber;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "详细地址")
|
||||||
|
private String addressDetail;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "经度")
|
||||||
|
private BigDecimal longitude;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纬度")
|
||||||
|
private BigDecimal latitude;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "社会信用代码")
|
||||||
|
private String socialCreditCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "新公司标志")
|
||||||
|
private Boolean newCompanyFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否收藏")
|
||||||
|
private Boolean isFavorite;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "客户类型")
|
||||||
|
private String custType;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/26
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class FavoriteCountVO {
|
||||||
|
|
||||||
|
private String city;
|
||||||
|
|
||||||
|
private Long countFavorite;
|
||||||
|
|
||||||
|
private String wkt;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/26
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class FavoriteVO {
|
||||||
|
private Long favoriteTotal;
|
||||||
|
|
||||||
|
private List<FavoriteCountVO> favoriteList;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.dto.CustMapFavoriteDTO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.entity.CustMapFavorite;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.FavoriteCountVO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/15
|
||||||
|
**/
|
||||||
|
@Mapper
|
||||||
|
public interface CustMapFavoriteMapper extends BaseMapper<CustMapFavorite> {
|
||||||
|
|
||||||
|
List<FavoriteCountVO> countFavoriteCustMap(@Param("userName") String userName);
|
||||||
|
|
||||||
|
List<FavoriteCountVO> getCityWktList();
|
||||||
|
|
||||||
|
List<CustMapVO> getFavoriteCustList(CustMapFavoriteDTO custMapFavoriteDTO);
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.entity.CustInfoRadar;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/15
|
||||||
|
**/
|
||||||
|
@Mapper
|
||||||
|
public interface CustMapMapper extends BaseMapper<CustInfoRadar> {
|
||||||
|
|
||||||
|
List<CustMapVO> selectCustMapListByCircle(CustMapCircleDTO custMapCircleDTO );
|
||||||
|
|
||||||
|
Long countCustMapListByCircle(CustMapCircleDTO custMapCircleDTO);
|
||||||
|
|
||||||
|
CustInfoRadar selectByCustId(@Param("custId") String custId, @Param("dept") String dept);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.entity.DeptAddress;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/26
|
||||||
|
**/
|
||||||
|
@Mapper
|
||||||
|
public interface DeptAddressMapper extends BaseMapper<DeptAddress> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.dto.CustMapFavoriteDTO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.entity.CustMapFavorite;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.FavoriteCountVO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.FavoriteVO;
|
||||||
|
import com.ruoyi.ibs.custmap.mapper.CustMapFavoriteMapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/23
|
||||||
|
**/
|
||||||
|
@Service
|
||||||
|
public class CustMapFavoriteService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CustMapFavoriteMapper custMapFavoriteMapper;
|
||||||
|
|
||||||
|
public String updateFavorite(Long radarId){
|
||||||
|
LambdaQueryWrapper<CustMapFavorite> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(CustMapFavorite::getUserName, SecurityUtils.getUsername())
|
||||||
|
.eq(CustMapFavorite::getRadarId, radarId);
|
||||||
|
CustMapFavorite custMapFavorite = custMapFavoriteMapper.selectOne(queryWrapper);
|
||||||
|
if (Objects.isNull(custMapFavorite)){
|
||||||
|
CustMapFavorite custMapFavoriteVO = new CustMapFavorite();
|
||||||
|
custMapFavoriteVO.setUserName(SecurityUtils.getUsername());
|
||||||
|
custMapFavoriteVO.setRadarId(radarId);
|
||||||
|
custMapFavoriteMapper.insert(custMapFavoriteVO);
|
||||||
|
return "添加收藏成功";
|
||||||
|
}
|
||||||
|
custMapFavoriteMapper.deleteById(custMapFavorite);
|
||||||
|
return "移除收藏成功";
|
||||||
|
}
|
||||||
|
|
||||||
|
public FavoriteVO getFavoriteCountByUser(){
|
||||||
|
FavoriteVO favoriteVO = new FavoriteVO();
|
||||||
|
Long countTotal = 0L;
|
||||||
|
List<FavoriteCountVO> cityWktList = custMapFavoriteMapper.getCityWktList();
|
||||||
|
List<FavoriteCountVO> favoriteCountVOS = custMapFavoriteMapper.countFavoriteCustMap(SecurityUtils.getUsername());
|
||||||
|
for (FavoriteCountVO favoriteCityVO : cityWktList) {
|
||||||
|
FavoriteCountVO favoriteCountVO = favoriteCountVOS.stream()
|
||||||
|
.filter(item -> Objects.nonNull(item.getCity()) && item.getCity().equals(favoriteCityVO.getCity()))
|
||||||
|
.findFirst().orElse(null);
|
||||||
|
if (Objects.nonNull(favoriteCountVO)){
|
||||||
|
favoriteCityVO.setCountFavorite(favoriteCountVO.getCountFavorite());
|
||||||
|
countTotal += favoriteCountVO.getCountFavorite();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
favoriteVO.setFavoriteList(cityWktList);
|
||||||
|
favoriteVO.setFavoriteTotal(countTotal);
|
||||||
|
return favoriteVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<CustMapVO> selectCustListByFavorite(CustMapFavoriteDTO custMapFavoriteDTO){
|
||||||
|
custMapFavoriteDTO.setUserName(SecurityUtils.getUsername());
|
||||||
|
return custMapFavoriteMapper.getFavoriteCustList(custMapFavoriteDTO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.service;
|
||||||
|
|
||||||
|
import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.entity.CustInfoRadar;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/15
|
||||||
|
**/
|
||||||
|
|
||||||
|
public interface CustMapSelectService {
|
||||||
|
|
||||||
|
List<CustMapVO> selectCustListByCircle(CustMapCircleDTO custMapCircleDTO);
|
||||||
|
|
||||||
|
Long countCustMapListByCircle(CustMapCircleDTO custMapCircleDTO);
|
||||||
|
|
||||||
|
CustInfoRadar selectCustInfoRadarById(Integer custId);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.service;
|
||||||
|
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.entity.DeptAddress;
|
||||||
|
import com.ruoyi.ibs.custmap.mapper.DeptAddressMapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/26
|
||||||
|
**/
|
||||||
|
@Service
|
||||||
|
public class DeptAddressService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DeptAddressMapper deptAddressMapper;
|
||||||
|
|
||||||
|
public DeptAddress selectDeptAddressById() {
|
||||||
|
return deptAddressMapper.selectById(SecurityUtils.getDeptId());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package com.ruoyi.ibs.custmap.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.entity.CustInfoRadar;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.entity.CustMapFavorite;
|
||||||
|
import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
|
||||||
|
import com.ruoyi.ibs.custmap.mapper.CustMapFavoriteMapper;
|
||||||
|
import com.ruoyi.ibs.custmap.mapper.CustMapMapper;
|
||||||
|
import com.ruoyi.ibs.custmap.service.CustMapSelectService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/15
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class CustMapSelectServiceImpl implements CustMapSelectService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CustMapMapper custMapMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CustMapFavoriteMapper custMapFavoriteMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<CustMapVO> selectCustListByCircle(CustMapCircleDTO custMapCircleDTO) {
|
||||||
|
custMapCircleDTO.setDept(SecurityUtils.getHeadId());
|
||||||
|
custMapCircleDTO.setPageIndex((custMapCircleDTO.getNum() - 1) * custMapCircleDTO.getSize());
|
||||||
|
custMapCircleDTO.setLatRange(custMapCircleDTO.getDist() / 111.0);
|
||||||
|
custMapCircleDTO.setLngRange(custMapCircleDTO.getDist() / (111.0 * Math.cos(Math.toRadians(custMapCircleDTO.getTargetLat()))));
|
||||||
|
List<CustMapVO> list = custMapMapper.selectCustMapListByCircle(custMapCircleDTO);
|
||||||
|
for (CustMapVO custMapVO : list) {
|
||||||
|
LambdaQueryWrapper<CustMapFavorite> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(CustMapFavorite::getUserName, SecurityUtils.getUsername())
|
||||||
|
.eq(CustMapFavorite::getRadarId, custMapVO.getId());
|
||||||
|
custMapVO.setIsFavorite(custMapFavoriteMapper.selectCount(queryWrapper) > 0);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param custMapCircleDTO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Long countCustMapListByCircle(CustMapCircleDTO custMapCircleDTO) {
|
||||||
|
custMapCircleDTO.setDept(SecurityUtils.getHeadId());
|
||||||
|
custMapCircleDTO.setLatRange(custMapCircleDTO.getDist() / 111.0);
|
||||||
|
custMapCircleDTO.setLngRange(custMapCircleDTO.getDist() / (111.0 * Math.cos(Math.toRadians(custMapCircleDTO.getTargetLat()))));
|
||||||
|
return custMapMapper.countCustMapListByCircle(custMapCircleDTO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public CustInfoRadar selectCustInfoRadarById(Integer id) {
|
||||||
|
return custMapMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.ibs.customerselect.service.CustCsvTagService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/28
|
||||||
|
**/
|
||||||
|
@Api(tags = "CSV客户标签")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/csv/tag")
|
||||||
|
public class CustCsvTagController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CustCsvTagService custCsvTagService;
|
||||||
|
|
||||||
|
@GetMapping("/search")
|
||||||
|
@ApiOperation("查询客户标签")
|
||||||
|
public AjaxResult searchCsv(@RequestParam String custIdc) {
|
||||||
|
return AjaxResult.success(custCsvTagService.getCsvTagJson(custIdc));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.controller;
|
||||||
|
|
||||||
|
import com.github.pagehelper.Page;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.core.page.TableDataPageInfo;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.ibs.customerselect.domain.*;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.ibs.customerselect.service.IMyCustomerService;
|
||||||
|
import com.ruoyi.ibs.dashboard.domain.vo.CommonRespVO;
|
||||||
|
import com.ruoyi.ibs.dashboard.service.DashboardService;
|
||||||
|
import com.ruoyi.ibs.grid.domain.excel.NewPersonAnchor;
|
||||||
|
import com.ruoyi.ibs.list.domain.CustManualTagDTO;
|
||||||
|
import com.ruoyi.ibs.list.domain.CustTagVo;
|
||||||
|
import com.ruoyi.ibs.list.domain.TreeNode;
|
||||||
|
import com.ruoyi.ibs.list.service.ISysCampaignGroupCustomerService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.rmi.ServerException;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 我的客户 控制类
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
*/
|
||||||
|
@Api(tags="客户基本信息管理")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/system/custBaseInfo")
|
||||||
|
public class MyCustomerController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IMyCustomerService myCustomerService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ISysCampaignGroupCustomerService iSysCampaignGroupCustomerService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DashboardService dashboardService;
|
||||||
|
|
||||||
|
private static Logger logger= LoggerFactory.getLogger(MyCustomerController.class);
|
||||||
|
/**
|
||||||
|
* 获取我的客户信息列表
|
||||||
|
*/
|
||||||
|
// @PreAuthorize("@ss.hasPermi('system:custBaseInfo:list')")
|
||||||
|
@Log(title = "我的客户-获取客户信息列表")
|
||||||
|
@PostMapping("/list")
|
||||||
|
@ApiOperation("获取客户信息列表")
|
||||||
|
public AjaxResult list(@RequestBody CustBaseInfo sysCustomerBasedata)
|
||||||
|
// public TableDataPageInfo<CustBaseInfo> list(CustBaseInfo sysCustomerBasedata)
|
||||||
|
{
|
||||||
|
// Page<Object> page = startPage();
|
||||||
|
List<CustBaseInfo> custBaseInfoList = myCustomerService.selectSysCustomerBasedataList(sysCustomerBasedata);
|
||||||
|
logger.info(custBaseInfoList.toString());
|
||||||
|
// return getDataTable(custBaseInfoList ,page);
|
||||||
|
return AjaxResult.success(custBaseInfoList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Log(title = "我的客户-获取商户云相关信息")
|
||||||
|
@GetMapping("/merchantMessage")
|
||||||
|
@ApiOperation("获取商户云相关信息")
|
||||||
|
public AjaxResult merchantMessage( String custId)
|
||||||
|
// public TableDataPageInfo<CustBaseInfo> list(CustBaseInfo sysCustomerBasedata)
|
||||||
|
{
|
||||||
|
// Page<Object> page = startPage();
|
||||||
|
MerchantMcspInfo merchantMcspInfo = myCustomerService.selectmerchantMessage(custId);
|
||||||
|
// logger.info(merchantMcspInfo.toString());
|
||||||
|
// return getDataTable(custBaseInfoList ,page);
|
||||||
|
return AjaxResult.success(merchantMcspInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/tagList")
|
||||||
|
@ApiOperation("获取客户信息標簽列表")
|
||||||
|
public AjaxResult list(@Valid @NotNull String custId,@Valid @NotNull String custType)
|
||||||
|
{
|
||||||
|
List<TreeNode> hashMaps = myCustomerService.selectCustEnumByCustId(custId,custType);
|
||||||
|
return AjaxResult.success(hashMaps);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/manualTagList")
|
||||||
|
@ApiOperation("获取自定义客户标签列表")
|
||||||
|
public AjaxResult manualList(@Valid @NotNull String custId,@Valid @NotNull String custType)
|
||||||
|
{
|
||||||
|
List<TreeNode> hashMaps = myCustomerService.selectmanualListByCustId(custId,custType);
|
||||||
|
return AjaxResult.success(hashMaps);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping(value = "/editCustTag")
|
||||||
|
@ApiOperation("修改客户标签")
|
||||||
|
public R<Objects> editCustTag(@RequestBody CustTagDTO custTagDTO) {
|
||||||
|
|
||||||
|
myCustomerService.editCustTag(custTagDTO);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping(value = "/editManualTag")
|
||||||
|
@ApiOperation("修改手动标签")
|
||||||
|
public R<Objects> editManualTag(@RequestBody CustManualTagDTO custManualTagDTO) {
|
||||||
|
myCustomerService.editManualTag(custManualTagDTO);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/specialTagList")
|
||||||
|
@ApiOperation("获取青田特色商户标签列表")
|
||||||
|
public AjaxResult specialTagList(String custId)
|
||||||
|
{
|
||||||
|
CommonRespVO tagList = dashboardService.getTagList(custId);
|
||||||
|
return AjaxResult.success(tagList.getData());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.ibs.customerselect.service.MyCustomerGridSelectService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/5/8
|
||||||
|
**/
|
||||||
|
@Api(tags = "我的客户-网格筛选")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/my/customer/grid/select")
|
||||||
|
public class MyCustomerGridSelectController extends BaseController {
|
||||||
|
@Resource
|
||||||
|
private MyCustomerGridSelectService myCustomerGridSelectService;
|
||||||
|
|
||||||
|
@ApiOperation("我的客户行政网格下拉框")
|
||||||
|
@Log(title = "我的客户行政网格下拉框")
|
||||||
|
@GetMapping("/region")
|
||||||
|
public AjaxResult getRegionGridList(@RequestParam String gridLevel, @RequestParam String opsDept) {
|
||||||
|
return AjaxResult.success(myCustomerGridSelectService.getRegionGridList(gridLevel, opsDept));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("我的客户虚拟网格下拉框")
|
||||||
|
@Log(title = "我的客户虚拟网格下拉框")
|
||||||
|
@GetMapping("/virtual")
|
||||||
|
public AjaxResult getVirtualGridList(@RequestParam String opsDept) {
|
||||||
|
return AjaxResult.success(myCustomerGridSelectService.getVirtualGridList(opsDept));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("我的客户特色网格下拉框")
|
||||||
|
@Log(title = "我的客户虚拟网格下拉框")
|
||||||
|
@GetMapping("/draw")
|
||||||
|
public AjaxResult getDrawGridList(@RequestParam String opsDept) {
|
||||||
|
return AjaxResult.success(myCustomerGridSelectService.getDrawGridList(opsDept));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,291 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusinessExportVo {
|
||||||
|
/** 客户标签 */
|
||||||
|
@Excel(name = "客户分类",readConverterExp = "0=个人,1=商户,2=企业")
|
||||||
|
private String custPattern;
|
||||||
|
|
||||||
|
/** 企业名称 */
|
||||||
|
@Excel(name = "企业名称")
|
||||||
|
private String custName;
|
||||||
|
@Excel(name = "归属总行网格名称")
|
||||||
|
private String regionTopGridName;
|
||||||
|
|
||||||
|
@Excel(name = "归属支行网格名称")
|
||||||
|
private String regionSecGridName;
|
||||||
|
/** 归属支行 */
|
||||||
|
@Excel(name = "行政网格归属支行")
|
||||||
|
private String belongBranchName;
|
||||||
|
|
||||||
|
/** 归属网点 */
|
||||||
|
@Excel(name = "行政网格归属网点")
|
||||||
|
private String belongOutletName;
|
||||||
|
|
||||||
|
@Excel(name = "归属自定义地图网格名称")
|
||||||
|
private String drawGridName;
|
||||||
|
|
||||||
|
@Excel(name = "自定义地图网格归属支行")
|
||||||
|
private String drawBranchNames;
|
||||||
|
|
||||||
|
@Excel(name = "自定义地图网格归属网点")
|
||||||
|
private String drawOutletNames;
|
||||||
|
|
||||||
|
@Excel(name = "自定义地图网格归属客户经理")
|
||||||
|
private String drawUserNames;
|
||||||
|
/**
|
||||||
|
* 归属 网格客户经理名,多个按照逗号 隔开
|
||||||
|
*/
|
||||||
|
@Excel(name = "行政网格归属客户经理")
|
||||||
|
private String belongUserNameList;
|
||||||
|
@Excel(name = "归属自定义名单网格名称")
|
||||||
|
private String virtualGridName;
|
||||||
|
@Excel(name = "自定义名单网格归属支行")
|
||||||
|
private String virtualBranchNames;
|
||||||
|
|
||||||
|
@Excel(name = "自定义名单网格归属网点")
|
||||||
|
private String virtualOutletNames;
|
||||||
|
|
||||||
|
@Excel(name = "自定义名单网格归属客户经理")
|
||||||
|
private String virtualUserNames;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** 法人姓名 */
|
||||||
|
@Excel(name = "法人姓名")
|
||||||
|
private String lpName;
|
||||||
|
|
||||||
|
/** 法人电话 */
|
||||||
|
@Excel(name = "法人电话")
|
||||||
|
private String custPhone;
|
||||||
|
|
||||||
|
|
||||||
|
/** 客户类型 */
|
||||||
|
@Excel(name = "客户类型",readConverterExp = "0=存量,1=潜在,2=暂无")
|
||||||
|
// @Excel(name = "客户类型")
|
||||||
|
private String custType ;
|
||||||
|
|
||||||
|
/** 产品标签 */
|
||||||
|
// @Excel(name = "产品标签")
|
||||||
|
@Excel(name = "产品标签",readConverterExp = "000=暂无,100=存款,010=贷款,001=中收,110=存款、贷款,101=存款、中收,011=贷款、中收,111=存款、贷款、中收")
|
||||||
|
private String custTag;
|
||||||
|
|
||||||
|
/** 企业规模 */
|
||||||
|
@Excel(name = "企业规模",readConverterExp = "0=小型,1=中型,2=大型,3=微型,4=其他")
|
||||||
|
// @Excel(name = "企业规模")
|
||||||
|
private String custScale;
|
||||||
|
|
||||||
|
|
||||||
|
//企业业务指标
|
||||||
|
/**
|
||||||
|
* 活期存款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "活期存款余额(元)")
|
||||||
|
private String hqCurBalance;
|
||||||
|
/**
|
||||||
|
* 保证金存款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "保证金存款余额(元)")
|
||||||
|
private String bzCurBalance;
|
||||||
|
/**
|
||||||
|
* 是否授信
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否授信")
|
||||||
|
private String isCredit;
|
||||||
|
/**
|
||||||
|
* 贷款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "贷款余额(元)")
|
||||||
|
private String loanBalanceCny;
|
||||||
|
/**
|
||||||
|
* 贷款年日均
|
||||||
|
*/
|
||||||
|
@Excel(name = "贷款年日均(元)")
|
||||||
|
private String loanYearDailyaverage;
|
||||||
|
/**
|
||||||
|
* 是否普惠签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否合同签约")
|
||||||
|
private String isHtqy;
|
||||||
|
/**
|
||||||
|
* 是否有签发承兑汇票
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否有签发承兑汇票")
|
||||||
|
private String financeProd716OpenFlag;
|
||||||
|
/**
|
||||||
|
* 承兑汇票余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "承兑汇票余额(元)")
|
||||||
|
private String financeProd716Balance;
|
||||||
|
/**
|
||||||
|
* 是否有贴现业务
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否有贴现业务")
|
||||||
|
private String financeProd711OpenFlag;
|
||||||
|
/**
|
||||||
|
* 贴现金额
|
||||||
|
*/
|
||||||
|
@Excel(name = "贴现金额(元)")
|
||||||
|
private String financeProd711Balance;
|
||||||
|
/**
|
||||||
|
* 是否有保函业务
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否有保函业务")
|
||||||
|
private String intlBussinessJcbhOpenFlag;
|
||||||
|
/**
|
||||||
|
* 是否为有效代发工资客户
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否为有效代发工资客户")
|
||||||
|
private String isUstr;
|
||||||
|
/**
|
||||||
|
* 月均代发工资笔数
|
||||||
|
*/
|
||||||
|
@Excel(name = "月均代发工资笔数")
|
||||||
|
private String ustrCountPerM;
|
||||||
|
/**
|
||||||
|
* 月均代发工资金额(元)
|
||||||
|
*/
|
||||||
|
@Excel(name = "月均代发工资金额(元)")
|
||||||
|
private String ustrBalM;
|
||||||
|
/**
|
||||||
|
* 是否代扣电费
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否代扣电费")
|
||||||
|
private String elecchargeSignFlag;
|
||||||
|
/**
|
||||||
|
* 是否代扣水费
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否代扣水费")
|
||||||
|
private String waterchargeSignFlag;
|
||||||
|
/**
|
||||||
|
* 是否代扣税费
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否代扣税费")
|
||||||
|
private String taxdeductionSignFlag;
|
||||||
|
/**
|
||||||
|
* 是否票据宝签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否票据宝签约")
|
||||||
|
private String pjb;
|
||||||
|
/**
|
||||||
|
* 是否财资宝签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否财资宝签约")
|
||||||
|
private String czb;
|
||||||
|
/**
|
||||||
|
* 是否收付宝签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否收付宝签约")
|
||||||
|
private String sfb;
|
||||||
|
/**
|
||||||
|
* 是否贸融宝签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否贸融宝签约")
|
||||||
|
private String mrb;
|
||||||
|
/**
|
||||||
|
* 是否数字生态产品签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否数字生态产品签约")
|
||||||
|
private String szst;
|
||||||
|
/**
|
||||||
|
* 是否开户
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否开户")
|
||||||
|
private String isOpenSts;
|
||||||
|
/**
|
||||||
|
* 是否国际结算业务
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否国际结算业务")
|
||||||
|
private String intlBussinessOpenFlag;
|
||||||
|
/**
|
||||||
|
* 是否有远期结算汇业务
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否有远期结算汇业务")
|
||||||
|
private String intlBussiness325OpenFlag;
|
||||||
|
|
||||||
|
public String getCustPattern() {
|
||||||
|
return custPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPattern(String custPattern) {
|
||||||
|
this.custPattern = custPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustName() {
|
||||||
|
return custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustName(String custName) {
|
||||||
|
this.custName = custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongBranchName() {
|
||||||
|
return belongBranchName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongBranchName(String belongBranchName) {
|
||||||
|
this.belongBranchName = belongBranchName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongOutletName() {
|
||||||
|
return belongOutletName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongOutletName(String belongOutletName) {
|
||||||
|
this.belongOutletName = belongOutletName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLpName() {
|
||||||
|
return lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLpName(String lpName) {
|
||||||
|
this.lpName = lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustPhone() {
|
||||||
|
return custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPhone(String custPhone) {
|
||||||
|
this.custPhone = custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongUserNameList() {
|
||||||
|
return belongUserNameList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongUserNameList(String belongUserNameList) {
|
||||||
|
this.belongUserNameList = belongUserNameList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustType() {
|
||||||
|
return custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustType(String custType) {
|
||||||
|
this.custType = custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustTag() {
|
||||||
|
return custTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustTag(String custTag) {
|
||||||
|
this.custTag = custTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustScale() {
|
||||||
|
return custScale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustScale(String custScale) {
|
||||||
|
this.custScale = custScale;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
public class ContinuousParam extends BaseEntity {
|
||||||
|
private String key;
|
||||||
|
private List<String> value;
|
||||||
|
|
||||||
|
public String getKey() {
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKey(String key) {
|
||||||
|
this.key = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(List<String> value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,773 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户基本信息对象 sys_customer_basedata
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-09-10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CustBaseInfo extends BaseEntity
|
||||||
|
{
|
||||||
|
|
||||||
|
/** id */
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 客户标签 */
|
||||||
|
@NotNull(message = "客户标签不能为空")
|
||||||
|
@Excel(name = "客户分类",readConverterExp = "0=个人,1=商户,2=企业")
|
||||||
|
private String custPattern = "0";
|
||||||
|
|
||||||
|
/** 客户类型 */
|
||||||
|
@NotNull(message = "客户类型不能为空")
|
||||||
|
@Excel(name = "客户类型",readConverterExp = "0=存量,1=潜在")
|
||||||
|
private String custType = "2";
|
||||||
|
|
||||||
|
/** 产品标签 */
|
||||||
|
@NotNull(message = "产品标签不能为空")
|
||||||
|
@Excel(name = "产品标签",readConverterExp = "100=存款,010=贷款,001=中收,110=存款、贷款,101=存款、中收,011=贷款、中收,111=存款、贷款、中收")
|
||||||
|
private String custTag = "111";
|
||||||
|
|
||||||
|
/** 企业规模 */
|
||||||
|
@NotNull(message = "企业规模不能为空")
|
||||||
|
@Excel(name = "企业规模",readConverterExp = "0=无,1=小型,2=中型,3=大型")
|
||||||
|
private String custScale;
|
||||||
|
|
||||||
|
//规模小型
|
||||||
|
private String custScale1;
|
||||||
|
//规模中型
|
||||||
|
private String custScale2;
|
||||||
|
//规模大型
|
||||||
|
private String custScale3;
|
||||||
|
//规模微型
|
||||||
|
private String custScale0;
|
||||||
|
|
||||||
|
private String opsDept;
|
||||||
|
|
||||||
|
private String custLevel;
|
||||||
|
|
||||||
|
private List<String> custLevelList;
|
||||||
|
|
||||||
|
private String cmpmUserName;
|
||||||
|
|
||||||
|
private String deptCode;
|
||||||
|
|
||||||
|
private boolean isHead;
|
||||||
|
|
||||||
|
|
||||||
|
public boolean isHead() {
|
||||||
|
return isHead;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHead(boolean head) {
|
||||||
|
isHead = head;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getCustScaleList() {
|
||||||
|
return custScaleList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustScaleList(List<String> custScaleList) {
|
||||||
|
this.custScaleList = custScaleList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> custScaleList;
|
||||||
|
|
||||||
|
/** 企业名称 */
|
||||||
|
@Excel(name = "企业名称")
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
@Excel(name = "归属总行网格名称")
|
||||||
|
private String regionTopGridName;
|
||||||
|
|
||||||
|
@Excel(name = "归属支行网格名称")
|
||||||
|
private String regionSecGridName;
|
||||||
|
/** 归属支行 */
|
||||||
|
@Excel(name = "行政网格归属支行")
|
||||||
|
private String belongBranchName;
|
||||||
|
|
||||||
|
/** 归属网点 */
|
||||||
|
@Excel(name = "行政网格归属网点")
|
||||||
|
private String belongOutletName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 归属 网格客户经理名,多个按照逗号 隔开
|
||||||
|
*/
|
||||||
|
@Excel(name = "行政网格归属客户经理")
|
||||||
|
private String belongUserNameList;
|
||||||
|
|
||||||
|
/** 管护客户经理 */
|
||||||
|
private String manageUserName;
|
||||||
|
|
||||||
|
/** 网格客户经理 */
|
||||||
|
private String belongUserName;
|
||||||
|
|
||||||
|
/** 法人姓名 */
|
||||||
|
private String lpName;
|
||||||
|
|
||||||
|
/** 法人电话 */
|
||||||
|
private String custPhone;
|
||||||
|
|
||||||
|
/** 注册资本 */
|
||||||
|
private String custCapital;
|
||||||
|
|
||||||
|
/** 是否贷款 */
|
||||||
|
private String loanTag;
|
||||||
|
|
||||||
|
/** 客户状态 */
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/** 归属机构 */
|
||||||
|
private Long userDeptId;
|
||||||
|
|
||||||
|
private Long deptId;
|
||||||
|
private Long outletsId;
|
||||||
|
private Long userId;
|
||||||
|
private String userName;
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int num;
|
||||||
|
int size;
|
||||||
|
|
||||||
|
int start;
|
||||||
|
int end;
|
||||||
|
String latitude;
|
||||||
|
String longitude;
|
||||||
|
|
||||||
|
private List<Long> regionTopGridIds;
|
||||||
|
|
||||||
|
private List<Long> regionSecGridIds;
|
||||||
|
|
||||||
|
private List<Long> virtualGridIds;
|
||||||
|
|
||||||
|
private List<Long> drawGridIds;
|
||||||
|
|
||||||
|
private Boolean isSelectGrid;
|
||||||
|
|
||||||
|
|
||||||
|
private String regionBranchNames;
|
||||||
|
|
||||||
|
private String regionOutletNames;
|
||||||
|
|
||||||
|
private String regionUserNames;
|
||||||
|
@Excel(name = "归属自定义地图网格名称")
|
||||||
|
private String drawGridName;
|
||||||
|
|
||||||
|
@Excel(name = "自定义地图网格归属支行")
|
||||||
|
private String drawBranchNames;
|
||||||
|
|
||||||
|
@Excel(name = "自定义地图网格归属网点")
|
||||||
|
private String drawOutletNames;
|
||||||
|
|
||||||
|
@Excel(name = "自定义地图网格归属客户经理")
|
||||||
|
private String drawUserNames;
|
||||||
|
@Excel(name = "归属自定义名单网格名称")
|
||||||
|
private String virtualGridName;
|
||||||
|
@Excel(name = "自定义名单网格归属支行")
|
||||||
|
private String virtualBranchNames;
|
||||||
|
|
||||||
|
@Excel(name = "自定义名单网格归属网点")
|
||||||
|
private String virtualOutletNames;
|
||||||
|
|
||||||
|
@Excel(name = "自定义名单网格归属客户经理")
|
||||||
|
private String virtualUserNames;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//个人商户业务指标
|
||||||
|
/**
|
||||||
|
* 活期存款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "活期存款余额(元)")
|
||||||
|
private String curBalD;
|
||||||
|
/**
|
||||||
|
* 定期存款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "定期存款余额(元)")
|
||||||
|
private String curBalT;
|
||||||
|
/**
|
||||||
|
* 贷款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "贷款余额(元)")
|
||||||
|
private String balLoan;
|
||||||
|
/**
|
||||||
|
* 五级不良贷款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "五级不良贷款余额(元)")
|
||||||
|
private String curBal5Bad;
|
||||||
|
/**
|
||||||
|
* 活期存款年日均
|
||||||
|
*/
|
||||||
|
@Excel(name = "活期存款年日均(元)")
|
||||||
|
private String curDAve;
|
||||||
|
/**
|
||||||
|
* 定期存款年日均
|
||||||
|
*/
|
||||||
|
@Excel(name = "定期存款年日均(元)")
|
||||||
|
private String curTAve;
|
||||||
|
/**
|
||||||
|
* 贷款年日均
|
||||||
|
*/
|
||||||
|
@Excel(name = "贷款年日均(元)")
|
||||||
|
private String loanAve;
|
||||||
|
/**
|
||||||
|
* 是否建档
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否建档")
|
||||||
|
private String isPh;
|
||||||
|
/**
|
||||||
|
* 是否授信
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否授信")
|
||||||
|
private String isSx;
|
||||||
|
/**
|
||||||
|
* 是否合同签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否合同签约")
|
||||||
|
private String isYxht;
|
||||||
|
/**
|
||||||
|
* 是否持有信用卡
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否持有信用卡")
|
||||||
|
private String isXyk;
|
||||||
|
/**
|
||||||
|
* 是否开通丰收互联
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否开通丰收互联")
|
||||||
|
private String fshl;
|
||||||
|
/**
|
||||||
|
* 是否办理收单
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否办理收单")
|
||||||
|
private String isSd;
|
||||||
|
/**
|
||||||
|
* 是否办理etc
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否办理etc")
|
||||||
|
private String etc;
|
||||||
|
/**
|
||||||
|
* 是否代扣电费
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否代扣电费")
|
||||||
|
private String dian;
|
||||||
|
/**
|
||||||
|
* 是否贷款黑名单
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否贷款黑名单")
|
||||||
|
private String isBlack;
|
||||||
|
/**
|
||||||
|
* 是否五级不良贷款客户
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否五级不良贷款客户")
|
||||||
|
private String isBad;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//企业业务指标
|
||||||
|
/**
|
||||||
|
* 活期存款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "活期存款余额(元)")
|
||||||
|
private String hqCurBalance;
|
||||||
|
/**
|
||||||
|
* 保证金存款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "保证金存款余额(元)")
|
||||||
|
private String bzCurBalance;
|
||||||
|
/**
|
||||||
|
* 是否授信
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否授信")
|
||||||
|
private String isCredit;
|
||||||
|
/**
|
||||||
|
* 贷款余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "贷款余额(元)")
|
||||||
|
private String loanBalanceCny;
|
||||||
|
/**
|
||||||
|
* 贷款年日均
|
||||||
|
*/
|
||||||
|
@Excel(name = "贷款年日均(元)")
|
||||||
|
private String loanYearDailyaverage;
|
||||||
|
/**
|
||||||
|
* 是否普惠签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否合同签约")
|
||||||
|
private String isHtqy;
|
||||||
|
/**
|
||||||
|
* 是否有签发承兑汇票
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否有签发承兑汇票")
|
||||||
|
private String financeProd716OpenFlag;
|
||||||
|
/**
|
||||||
|
* 承兑汇票余额
|
||||||
|
*/
|
||||||
|
@Excel(name = "承兑汇票余额(元)")
|
||||||
|
private String financeProd716Balance;
|
||||||
|
/**
|
||||||
|
* 是否有贴现业务
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否有贴现业务")
|
||||||
|
private String financeProd711OpenFlag;
|
||||||
|
/**
|
||||||
|
* 贴现金额
|
||||||
|
*/
|
||||||
|
@Excel(name = "贴现金额(元)")
|
||||||
|
private String financeProd711Balance;
|
||||||
|
/**
|
||||||
|
* 是否有保函业务
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否有保函业务")
|
||||||
|
private String intlBussinessJcbhOpenFlag;
|
||||||
|
/**
|
||||||
|
* 是否为有效代发工资客户
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否为有效代发工资客户")
|
||||||
|
private String isUstr;
|
||||||
|
/**
|
||||||
|
* 月均代发工资笔数
|
||||||
|
*/
|
||||||
|
@Excel(name = "月均代发工资笔数")
|
||||||
|
private String ustrCountPerM;
|
||||||
|
/**
|
||||||
|
* 月均代发工资金额(元)
|
||||||
|
*/
|
||||||
|
@Excel(name = "月均代发工资金额(元)")
|
||||||
|
private String ustrBalM;
|
||||||
|
/**
|
||||||
|
* 是否代扣电费
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否代扣电费")
|
||||||
|
private String elecchargeSignFlag;
|
||||||
|
/**
|
||||||
|
* 是否代扣水费
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否代扣水费")
|
||||||
|
private String waterchargeSignFlag;
|
||||||
|
/**
|
||||||
|
* 是否代扣税费
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否代扣税费")
|
||||||
|
private String taxdeductionSignFlag;
|
||||||
|
/**
|
||||||
|
* 是否票据宝签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否票据宝签约")
|
||||||
|
private String pjb;
|
||||||
|
/**
|
||||||
|
* 是否财资宝签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否财资宝签约")
|
||||||
|
private String czb;
|
||||||
|
/**
|
||||||
|
* 是否收付宝签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否收付宝签约")
|
||||||
|
private String sfb;
|
||||||
|
/**
|
||||||
|
* 是否贸融宝签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否贸融宝签约")
|
||||||
|
private String mrb;
|
||||||
|
/**
|
||||||
|
* 是否数字生态产品签约
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否数字生态产品签约")
|
||||||
|
private String szst;
|
||||||
|
/**
|
||||||
|
* 是否开户
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否开户")
|
||||||
|
private String isOpenSts;
|
||||||
|
/**
|
||||||
|
* 是否国际结算业务
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否国际结算业务")
|
||||||
|
private String intlBussinessOpenFlag;
|
||||||
|
/**
|
||||||
|
* 是否有远期结算汇业务
|
||||||
|
*/
|
||||||
|
@Excel(name = "是否有远期结算汇业务")
|
||||||
|
private String intlBussiness325OpenFlag;
|
||||||
|
|
||||||
|
private String socialCreditCode;
|
||||||
|
|
||||||
|
private String custLocation;
|
||||||
|
|
||||||
|
private String custGender;
|
||||||
|
|
||||||
|
private String custIsn;
|
||||||
|
|
||||||
|
private String searchStr;
|
||||||
|
|
||||||
|
private String custIdc;
|
||||||
|
|
||||||
|
public String getCustIdc() {
|
||||||
|
return custIdc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIdc(String custIdc) {
|
||||||
|
this.custIdc = custIdc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongUserNameList() {
|
||||||
|
return belongUserNameList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongUserNameList(String belongUserNameList) {
|
||||||
|
this.belongUserNameList = belongUserNameList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOpsDept() {
|
||||||
|
return opsDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOpsDept(String opsDept) {
|
||||||
|
this.opsDept = opsDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustScale1() {
|
||||||
|
return custScale1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustScale1(String custScale1) {
|
||||||
|
this.custScale1 = custScale1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustScale2() {
|
||||||
|
return custScale2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustScale2(String custScale2) {
|
||||||
|
this.custScale2 = custScale2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustScale3() {
|
||||||
|
return custScale3;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustScale3(String custScale3) {
|
||||||
|
this.custScale3 = custScale3;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustScale0() {
|
||||||
|
return custScale0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustScale0(String custScale0) {
|
||||||
|
this.custScale0 = custScale0;
|
||||||
|
}
|
||||||
|
public String getLatitude() {
|
||||||
|
return latitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLatitude(String latitude) {
|
||||||
|
this.latitude = latitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLongitude() {
|
||||||
|
return longitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLongitude(String longitude) {
|
||||||
|
this.longitude = longitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getStart() {
|
||||||
|
return start;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStart(int start) {
|
||||||
|
this.start = start;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getEnd() {
|
||||||
|
return end;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnd(int end) {
|
||||||
|
this.end = end;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNum() {
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNum(int num) {
|
||||||
|
this.num = num;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSize() {
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSize(int size) {
|
||||||
|
this.size = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotBlank(message = "客户标签不能为空")
|
||||||
|
public String getCustPattern() {
|
||||||
|
return custPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPattern(String custPattern) {
|
||||||
|
this.custPattern = custPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustType() {
|
||||||
|
return custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustType(String custType) {
|
||||||
|
this.custType = custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustTag() {
|
||||||
|
return custTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustTag(String custTag) {
|
||||||
|
this.custTag = custTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustScale() {
|
||||||
|
return custScale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustScale(String custScale) {
|
||||||
|
this.custScale = custScale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustName() {
|
||||||
|
return custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustName(String custName) {
|
||||||
|
this.custName = custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongBranchName() {
|
||||||
|
return belongBranchName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongBranchName(String belongBranchName) {
|
||||||
|
this.belongBranchName = belongBranchName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongOutletName() {
|
||||||
|
return belongOutletName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongOutletName(String belongOutletName) {
|
||||||
|
this.belongOutletName = belongOutletName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getManageUserName() {
|
||||||
|
return manageUserName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setManageUserName(String manageUserName) {
|
||||||
|
this.manageUserName = manageUserName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongUserName() {
|
||||||
|
return belongUserName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongUserName(String belongUserName) {
|
||||||
|
this.belongUserName = belongUserName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLpName() {
|
||||||
|
return lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLpName(String lpName) {
|
||||||
|
this.lpName = lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustPhone() {
|
||||||
|
return custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPhone(String custPhone) {
|
||||||
|
this.custPhone = custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustCapital() {
|
||||||
|
return custCapital;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustCapital(String custCapital) {
|
||||||
|
this.custCapital = custCapital;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLoanTag() {
|
||||||
|
return loanTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLoanTag(String loanTag) {
|
||||||
|
this.loanTag = loanTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUserDeptId() {
|
||||||
|
return userDeptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserDeptId(Long userDeptId) {
|
||||||
|
this.userDeptId = userDeptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getDeptId() {
|
||||||
|
return deptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeptId(Long deptId) {
|
||||||
|
this.deptId = deptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserId(Long userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getOutletsId() {
|
||||||
|
return outletsId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOutletsId(Long outletsId) {
|
||||||
|
this.outletsId = outletsId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustId() {
|
||||||
|
return custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustId(String custId) {
|
||||||
|
this.custId = custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<ContinuousParam> continuousParams; //连续型指标
|
||||||
|
|
||||||
|
private List<DiscreteParam> discreteParams; //离散型指标
|
||||||
|
|
||||||
|
private String perMetric;
|
||||||
|
|
||||||
|
public List<ContinuousParam> getContinuousParams() {
|
||||||
|
return continuousParams;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContinuousParams(List<ContinuousParam> continuousParams) {
|
||||||
|
this.continuousParams = continuousParams;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<DiscreteParam> getDiscreteParams() {
|
||||||
|
return discreteParams;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDiscreteParams(List<DiscreteParam> discreteParams) {
|
||||||
|
this.discreteParams = discreteParams;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPerMetric() {
|
||||||
|
return perMetric;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPerMetric(String perMetric) {
|
||||||
|
this.perMetric = perMetric;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSocialCreditCode() {
|
||||||
|
return socialCreditCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSocialCreditCode(String socialCreditCode) {
|
||||||
|
this.socialCreditCode = socialCreditCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustLocation() {
|
||||||
|
return custLocation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustLocation(String custLocation) {
|
||||||
|
this.custLocation = custLocation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustGender() {
|
||||||
|
return custGender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustGender(String custGender) {
|
||||||
|
this.custGender = custGender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustIsn() {
|
||||||
|
return custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIsn(String custIsn) {
|
||||||
|
this.custIsn = custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSearchStr() {
|
||||||
|
return searchStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSearchStr(String searchStr) {
|
||||||
|
this.searchStr = searchStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "CustBaseInfo{" +
|
||||||
|
"id=" + id +
|
||||||
|
", custPattern='" + custPattern + '\'' +
|
||||||
|
", custType='" + custType + '\'' +
|
||||||
|
", custTag='" + custTag + '\'' +
|
||||||
|
", custScale='" + custScale + '\'' +
|
||||||
|
", custName='" + custName + '\'' +
|
||||||
|
", belongBranchName='" + belongBranchName + '\'' +
|
||||||
|
", belongOutletName='" + belongOutletName + '\'' +
|
||||||
|
", manageUserName='" + manageUserName + '\'' +
|
||||||
|
", belongUserName=" + belongUserName +
|
||||||
|
", lpName='" + lpName + '\'' +
|
||||||
|
", custPhone='" + custPhone + '\'' +
|
||||||
|
", custCapital='" + custCapital + '\'' +
|
||||||
|
", loanTag='" + loanTag + '\'' +
|
||||||
|
", status='" + status + '\'' +
|
||||||
|
", userDeptId=" + userDeptId +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 吴凯程
|
||||||
|
* @Date 2025/11/27
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class CustCsvTag {
|
||||||
|
/** 主键 */
|
||||||
|
@ApiModelProperty(value = "主键",notes = "")
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
private Long id ;
|
||||||
|
/** 机构号 */
|
||||||
|
@ApiModelProperty(value = "机构号",notes = "")
|
||||||
|
private String headId ;
|
||||||
|
/** 客户号 */
|
||||||
|
@ApiModelProperty(value = "证件号",notes = "")
|
||||||
|
private String custIdc ;
|
||||||
|
/** 文件id */
|
||||||
|
@ApiModelProperty(value = "文件id",notes = "")
|
||||||
|
private String fileId ;
|
||||||
|
/** 更新日期 */
|
||||||
|
@ApiModelProperty(value = "更新日期",notes = "")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date updateTime ;
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
public class CustInfoDeleteFromAnchor {
|
||||||
|
|
||||||
|
/** 客户类型 */
|
||||||
|
private String custType;
|
||||||
|
|
||||||
|
/** 客户号 */
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
/** 客户证件类型 */
|
||||||
|
private String custIdType;
|
||||||
|
|
||||||
|
/** 证件号 */
|
||||||
|
private String legalId;
|
||||||
|
|
||||||
|
public String getCustType() {
|
||||||
|
return custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustType(String custType) {
|
||||||
|
this.custType = custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustId() {
|
||||||
|
return custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustId(String custId) {
|
||||||
|
this.custId = custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustIdType() {
|
||||||
|
return custIdType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIdType(String custIdType) {
|
||||||
|
this.custIdType = custIdType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLegalId() {
|
||||||
|
return legalId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLegalId(String legalId) {
|
||||||
|
this.legalId = legalId;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,167 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户基本信息对象 custInfoUpdateFromAnchor
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-10-29
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class CustInfoUpdateFromAnchor {
|
||||||
|
|
||||||
|
/** 客户类型 */
|
||||||
|
private String custType;
|
||||||
|
|
||||||
|
/** 客户id */
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
/** 证件类型 */
|
||||||
|
private String custIdType;
|
||||||
|
|
||||||
|
/** 锚点名称 */
|
||||||
|
private String anchorName;
|
||||||
|
|
||||||
|
/** 所在行业 */
|
||||||
|
private String belongBusiness;
|
||||||
|
|
||||||
|
/** 创建人 */
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/** 创建机构 */
|
||||||
|
private String updateOrg;
|
||||||
|
|
||||||
|
/** 证件号 */
|
||||||
|
private String legalId;
|
||||||
|
|
||||||
|
/** 客户内码 */
|
||||||
|
private String custIsn;
|
||||||
|
|
||||||
|
/** 地址 */
|
||||||
|
private String address;
|
||||||
|
|
||||||
|
/** 详细地址 */
|
||||||
|
private String addressDetail;
|
||||||
|
|
||||||
|
/** 归属行政区划编码 */
|
||||||
|
private String regionCode;
|
||||||
|
|
||||||
|
/** 创建时间 */
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
private String addressName;
|
||||||
|
|
||||||
|
|
||||||
|
public String getAddressName() {
|
||||||
|
return addressName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddressName(String addressName) {
|
||||||
|
this.addressName = addressName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustType() {
|
||||||
|
return custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustType(String custType) {
|
||||||
|
this.custType = custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustId() {
|
||||||
|
return custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustId(String custId) {
|
||||||
|
this.custId = custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustIdType() {
|
||||||
|
return custIdType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIdType(String custIdType) {
|
||||||
|
this.custIdType = custIdType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAnchorName() {
|
||||||
|
return anchorName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAnchorName(String anchorName) {
|
||||||
|
this.anchorName = anchorName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongBusiness() {
|
||||||
|
return belongBusiness;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongBusiness(String belongBusiness) {
|
||||||
|
this.belongBusiness = belongBusiness;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpdateBy() {
|
||||||
|
return updateBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateBy(String updateBy) {
|
||||||
|
this.updateBy = updateBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpdateOrg() {
|
||||||
|
return updateOrg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateOrg(String updateOrg) {
|
||||||
|
this.updateOrg = updateOrg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLegalId() {
|
||||||
|
return legalId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLegalId(String legalId) {
|
||||||
|
this.legalId = legalId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustIsn() {
|
||||||
|
return custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIsn(String custIsn) {
|
||||||
|
this.custIsn = custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAddress() {
|
||||||
|
return address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddress(String address) {
|
||||||
|
this.address = address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAddressDetail() {
|
||||||
|
return addressDetail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddressDetail(String addressDetail) {
|
||||||
|
this.addressDetail = addressDetail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRegionCode() {
|
||||||
|
return regionCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRegionCode(String regionCode) {
|
||||||
|
this.regionCode = regionCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getUpdateTime() {
|
||||||
|
return updateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) {
|
||||||
|
this.updateTime = updateTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CustListSearchVo extends BaseEntity {
|
||||||
|
|
||||||
|
private List<Map<String,Object>> continuousParams; //连续型
|
||||||
|
|
||||||
|
private List<Map<String,Object>> discreteParams; //离散型
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CustTag {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户标签名称
|
||||||
|
*/
|
||||||
|
private String custTagName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一级标签
|
||||||
|
*/
|
||||||
|
private String custTagLevel1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二级标签
|
||||||
|
*/
|
||||||
|
private String custTagLevel2;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CustTagDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "客户号")
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "客户标签列表,仅仅传点亮的即可")
|
||||||
|
private List<CustTag> custTagList;
|
||||||
|
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "自建标签")
|
||||||
|
private List<CustTag> newCustTags;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "标签类型")
|
||||||
|
private String custTagType;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
public class DiscreteParam extends BaseEntity {
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
public String getKey() {
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKey(String key) {
|
||||||
|
this.key = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,696 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 网格汇总统计_公司对象 grid_cmpm_count_gongsi_965
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-03-22
|
||||||
|
*/
|
||||||
|
public class GridSummarCount extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 统计日期 */
|
||||||
|
@Excel(name = "统计日期")
|
||||||
|
private String dt;
|
||||||
|
|
||||||
|
/** 一级网格名称 */
|
||||||
|
@Excel(name = "一级网格名称")
|
||||||
|
private String gridName;
|
||||||
|
|
||||||
|
/** 二级网格名称 */
|
||||||
|
@Excel(name = "二级网格名称")
|
||||||
|
private String gridName2;
|
||||||
|
|
||||||
|
/** 镇/街道 */
|
||||||
|
@Excel(name = "镇/街道")
|
||||||
|
private String town;
|
||||||
|
|
||||||
|
/** 归属支行 */
|
||||||
|
@Excel(name = "归属支行")
|
||||||
|
private String deptId;
|
||||||
|
|
||||||
|
/** 归属网点 */
|
||||||
|
@Excel(name = "归属网点")
|
||||||
|
private String outletsId;
|
||||||
|
|
||||||
|
/** 归属客户经理 */
|
||||||
|
@Excel(name = "归属客户经理")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/** 入格客户数 */
|
||||||
|
@Excel(name = "入格客户数")
|
||||||
|
private Integer custNum;
|
||||||
|
|
||||||
|
/** 活期存款余额 */
|
||||||
|
@Excel(name = "活期存款余额")
|
||||||
|
private String hqCurBalance;
|
||||||
|
|
||||||
|
/** 保证金存款余额 */
|
||||||
|
@Excel(name = "保证金存款余额")
|
||||||
|
private String bzCurBalance;
|
||||||
|
|
||||||
|
/** 贷款余额 */
|
||||||
|
@Excel(name = "贷款余额")
|
||||||
|
private String loanBalanceCny;
|
||||||
|
|
||||||
|
/** 贴现余额 */
|
||||||
|
@Excel(name = "贴现余额")
|
||||||
|
private String financeProd711Balance;
|
||||||
|
|
||||||
|
/** 承兑汇票余额 */
|
||||||
|
@Excel(name = "承兑汇票余额")
|
||||||
|
private String financeProd716Balance;
|
||||||
|
|
||||||
|
/** 贷款年日均 */
|
||||||
|
@Excel(name = "贷款年日均")
|
||||||
|
private String loanYearDailyaverage;
|
||||||
|
|
||||||
|
/** 普惠签约率 */
|
||||||
|
@Excel(name = "普惠签约率")
|
||||||
|
private String phRat;
|
||||||
|
|
||||||
|
/** 签发承兑汇票率 */
|
||||||
|
@Excel(name = "签发承兑汇票率")
|
||||||
|
private String qfcdRat;
|
||||||
|
|
||||||
|
/** 贴现业务率 */
|
||||||
|
@Excel(name = "贴现业务率")
|
||||||
|
private String txRat;
|
||||||
|
|
||||||
|
/** 保函业务率 */
|
||||||
|
@Excel(name = "保函业务率")
|
||||||
|
private String bhRat;
|
||||||
|
|
||||||
|
/** 有效代发工资率 */
|
||||||
|
@Excel(name = "有效代发工资率")
|
||||||
|
private String yxdfgzRat;
|
||||||
|
|
||||||
|
/** 代扣电费率 */
|
||||||
|
@Excel(name = "代扣电费率")
|
||||||
|
private String dkdfRat;
|
||||||
|
|
||||||
|
/** 代扣水费率 */
|
||||||
|
@Excel(name = "代扣水费率")
|
||||||
|
private String dksfRat;
|
||||||
|
|
||||||
|
/** 代扣税费率 */
|
||||||
|
@Excel(name = "代扣税费率")
|
||||||
|
private String dkshfRat;
|
||||||
|
|
||||||
|
/** 票据宝签约率 */
|
||||||
|
@Excel(name = "票据宝签约率")
|
||||||
|
private String pjbRat;
|
||||||
|
|
||||||
|
/** 财资宝签约率 */
|
||||||
|
@Excel(name = "财资宝签约率")
|
||||||
|
private String czbRat;
|
||||||
|
|
||||||
|
/** 收付宝签约率 */
|
||||||
|
@Excel(name = "收付宝签约率")
|
||||||
|
private String sfbRat;
|
||||||
|
|
||||||
|
/** 贸融宝签约率 */
|
||||||
|
@Excel(name = "贸融宝签约率")
|
||||||
|
private String mrbRat;
|
||||||
|
|
||||||
|
/** 数字生态产品签约率 */
|
||||||
|
@Excel(name = "数字生态产品签约率")
|
||||||
|
private String szstRat;
|
||||||
|
|
||||||
|
/** 开户率 */
|
||||||
|
@Excel(name = "开户率")
|
||||||
|
private String khRat;
|
||||||
|
|
||||||
|
/** 国际结算业务率 */
|
||||||
|
@Excel(name = "国际结算业务率")
|
||||||
|
private String gjjsywRat;
|
||||||
|
|
||||||
|
/** 远期结算汇业务率 */
|
||||||
|
@Excel(name = "远期结算汇业务率")
|
||||||
|
private String yqjshRat;
|
||||||
|
|
||||||
|
/** 普惠签约数 */
|
||||||
|
@Excel(name = "普惠签约数")
|
||||||
|
private Integer phNum;
|
||||||
|
|
||||||
|
/** 签发承兑汇票数 */
|
||||||
|
@Excel(name = "签发承兑汇票数")
|
||||||
|
private Integer qfcdNum;
|
||||||
|
|
||||||
|
/** 贴现业务数 */
|
||||||
|
@Excel(name = "贴现业务数")
|
||||||
|
private Integer txNum;
|
||||||
|
|
||||||
|
/** 保函业务数 */
|
||||||
|
@Excel(name = "保函业务数")
|
||||||
|
private Integer bhNum;
|
||||||
|
|
||||||
|
/** 有效代发工资数 */
|
||||||
|
@Excel(name = "有效代发工资数")
|
||||||
|
private Integer yxdfgzNum;
|
||||||
|
|
||||||
|
/** 代扣电费数 */
|
||||||
|
@Excel(name = "代扣电费数")
|
||||||
|
private Integer dkdfNum;
|
||||||
|
|
||||||
|
/** 代扣水费数 */
|
||||||
|
@Excel(name = "代扣水费数")
|
||||||
|
private Integer dksfNum;
|
||||||
|
|
||||||
|
/** 代扣税费数 */
|
||||||
|
@Excel(name = "代扣税费数")
|
||||||
|
private Integer dkshfNum;
|
||||||
|
|
||||||
|
/** 票据宝签约数 */
|
||||||
|
@Excel(name = "票据宝签约数")
|
||||||
|
private Integer pjbNum;
|
||||||
|
|
||||||
|
/** 财资宝签约数 */
|
||||||
|
@Excel(name = "财资宝签约数")
|
||||||
|
private Integer czbNum;
|
||||||
|
|
||||||
|
/** 收付宝签约数 */
|
||||||
|
@Excel(name = "收付宝签约数")
|
||||||
|
private Integer sfbNum;
|
||||||
|
|
||||||
|
/** 贸融宝签约数 */
|
||||||
|
@Excel(name = "贸融宝签约数")
|
||||||
|
private Integer mrbNum;
|
||||||
|
|
||||||
|
/** 数字生态产品签约数 */
|
||||||
|
@Excel(name = "数字生态产品签约数")
|
||||||
|
private Integer szstNum;
|
||||||
|
|
||||||
|
/** 开户数 */
|
||||||
|
@Excel(name = "开户数")
|
||||||
|
private Integer khNum;
|
||||||
|
|
||||||
|
/** 国际结算业务数 */
|
||||||
|
@Excel(name = "国际结算业务数")
|
||||||
|
private Integer gjjsywNum;
|
||||||
|
|
||||||
|
/** 远期结算汇业务数 */
|
||||||
|
@Excel(name = "远期结算汇业务数")
|
||||||
|
private Integer yqjshNum;
|
||||||
|
|
||||||
|
/** 归属行政区划编码 */
|
||||||
|
@Excel(name = "归属行政区划编码")
|
||||||
|
private String regionCode;
|
||||||
|
|
||||||
|
/** 部室归属 0零售 1公司 2运管 */
|
||||||
|
@Excel(name = "部室归属 0零售 1公司 2运管")
|
||||||
|
private String opsDept;
|
||||||
|
|
||||||
|
public void setDt(String dt)
|
||||||
|
{
|
||||||
|
this.dt = dt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDt()
|
||||||
|
{
|
||||||
|
return dt;
|
||||||
|
}
|
||||||
|
public void setGridName(String gridName)
|
||||||
|
{
|
||||||
|
this.gridName = gridName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGridName()
|
||||||
|
{
|
||||||
|
return gridName;
|
||||||
|
}
|
||||||
|
public void setGridName2(String gridName2)
|
||||||
|
{
|
||||||
|
this.gridName2 = gridName2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGridName2()
|
||||||
|
{
|
||||||
|
return gridName2;
|
||||||
|
}
|
||||||
|
public void setTown(String town)
|
||||||
|
{
|
||||||
|
this.town = town;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTown()
|
||||||
|
{
|
||||||
|
return town;
|
||||||
|
}
|
||||||
|
public void setDeptId(String deptId)
|
||||||
|
{
|
||||||
|
this.deptId = deptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDeptId()
|
||||||
|
{
|
||||||
|
return deptId;
|
||||||
|
}
|
||||||
|
public void setOutletsId(String outletsId)
|
||||||
|
{
|
||||||
|
this.outletsId = outletsId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOutletsId()
|
||||||
|
{
|
||||||
|
return outletsId;
|
||||||
|
}
|
||||||
|
public void setUserName(String userName)
|
||||||
|
{
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName()
|
||||||
|
{
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
public void setCustNum(Integer custNum)
|
||||||
|
{
|
||||||
|
this.custNum = custNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getCustNum()
|
||||||
|
{
|
||||||
|
return custNum;
|
||||||
|
}
|
||||||
|
public void setHqCurBalance(String hqCurBalance)
|
||||||
|
{
|
||||||
|
this.hqCurBalance = hqCurBalance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHqCurBalance()
|
||||||
|
{
|
||||||
|
return hqCurBalance;
|
||||||
|
}
|
||||||
|
public void setBzCurBalance(String bzCurBalance)
|
||||||
|
{
|
||||||
|
this.bzCurBalance = bzCurBalance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBzCurBalance()
|
||||||
|
{
|
||||||
|
return bzCurBalance;
|
||||||
|
}
|
||||||
|
public void setLoanBalanceCny(String loanBalanceCny)
|
||||||
|
{
|
||||||
|
this.loanBalanceCny = loanBalanceCny;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLoanBalanceCny()
|
||||||
|
{
|
||||||
|
return loanBalanceCny;
|
||||||
|
}
|
||||||
|
public void setFinanceProd711Balance(String financeProd711Balance)
|
||||||
|
{
|
||||||
|
this.financeProd711Balance = financeProd711Balance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFinanceProd711Balance()
|
||||||
|
{
|
||||||
|
return financeProd711Balance;
|
||||||
|
}
|
||||||
|
public void setFinanceProd716Balance(String financeProd716Balance)
|
||||||
|
{
|
||||||
|
this.financeProd716Balance = financeProd716Balance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFinanceProd716Balance()
|
||||||
|
{
|
||||||
|
return financeProd716Balance;
|
||||||
|
}
|
||||||
|
public void setLoanYearDailyaverage(String loanYearDailyaverage)
|
||||||
|
{
|
||||||
|
this.loanYearDailyaverage = loanYearDailyaverage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLoanYearDailyaverage()
|
||||||
|
{
|
||||||
|
return loanYearDailyaverage;
|
||||||
|
}
|
||||||
|
public void setPhRat(String phRat)
|
||||||
|
{
|
||||||
|
this.phRat = phRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPhRat()
|
||||||
|
{
|
||||||
|
return phRat;
|
||||||
|
}
|
||||||
|
public void setQfcdRat(String qfcdRat)
|
||||||
|
{
|
||||||
|
this.qfcdRat = qfcdRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getQfcdRat()
|
||||||
|
{
|
||||||
|
return qfcdRat;
|
||||||
|
}
|
||||||
|
public void setTxRat(String txRat)
|
||||||
|
{
|
||||||
|
this.txRat = txRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTxRat()
|
||||||
|
{
|
||||||
|
return txRat;
|
||||||
|
}
|
||||||
|
public void setBhRat(String bhRat)
|
||||||
|
{
|
||||||
|
this.bhRat = bhRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBhRat()
|
||||||
|
{
|
||||||
|
return bhRat;
|
||||||
|
}
|
||||||
|
public void setYxdfgzRat(String yxdfgzRat)
|
||||||
|
{
|
||||||
|
this.yxdfgzRat = yxdfgzRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getYxdfgzRat()
|
||||||
|
{
|
||||||
|
return yxdfgzRat;
|
||||||
|
}
|
||||||
|
public void setDkdfRat(String dkdfRat)
|
||||||
|
{
|
||||||
|
this.dkdfRat = dkdfRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDkdfRat()
|
||||||
|
{
|
||||||
|
return dkdfRat;
|
||||||
|
}
|
||||||
|
public void setDksfRat(String dksfRat)
|
||||||
|
{
|
||||||
|
this.dksfRat = dksfRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDksfRat()
|
||||||
|
{
|
||||||
|
return dksfRat;
|
||||||
|
}
|
||||||
|
public void setDkshfRat(String dkshfRat)
|
||||||
|
{
|
||||||
|
this.dkshfRat = dkshfRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDkshfRat()
|
||||||
|
{
|
||||||
|
return dkshfRat;
|
||||||
|
}
|
||||||
|
public void setPjbRat(String pjbRat)
|
||||||
|
{
|
||||||
|
this.pjbRat = pjbRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPjbRat()
|
||||||
|
{
|
||||||
|
return pjbRat;
|
||||||
|
}
|
||||||
|
public void setCzbRat(String czbRat)
|
||||||
|
{
|
||||||
|
this.czbRat = czbRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCzbRat()
|
||||||
|
{
|
||||||
|
return czbRat;
|
||||||
|
}
|
||||||
|
public void setSfbRat(String sfbRat)
|
||||||
|
{
|
||||||
|
this.sfbRat = sfbRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSfbRat()
|
||||||
|
{
|
||||||
|
return sfbRat;
|
||||||
|
}
|
||||||
|
public void setMrbRat(String mrbRat)
|
||||||
|
{
|
||||||
|
this.mrbRat = mrbRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMrbRat()
|
||||||
|
{
|
||||||
|
return mrbRat;
|
||||||
|
}
|
||||||
|
public void setSzstRat(String szstRat)
|
||||||
|
{
|
||||||
|
this.szstRat = szstRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSzstRat()
|
||||||
|
{
|
||||||
|
return szstRat;
|
||||||
|
}
|
||||||
|
public void setKhRat(String khRat)
|
||||||
|
{
|
||||||
|
this.khRat = khRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKhRat()
|
||||||
|
{
|
||||||
|
return khRat;
|
||||||
|
}
|
||||||
|
public void setGjjsywRat(String gjjsywRat)
|
||||||
|
{
|
||||||
|
this.gjjsywRat = gjjsywRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGjjsywRat()
|
||||||
|
{
|
||||||
|
return gjjsywRat;
|
||||||
|
}
|
||||||
|
public void setYqjshRat(String yqjshRat)
|
||||||
|
{
|
||||||
|
this.yqjshRat = yqjshRat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getYqjshRat()
|
||||||
|
{
|
||||||
|
return yqjshRat;
|
||||||
|
}
|
||||||
|
public void setPhNum(Integer phNum)
|
||||||
|
{
|
||||||
|
this.phNum = phNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPhNum()
|
||||||
|
{
|
||||||
|
return phNum;
|
||||||
|
}
|
||||||
|
public void setQfcdNum(Integer qfcdNum)
|
||||||
|
{
|
||||||
|
this.qfcdNum = qfcdNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getQfcdNum()
|
||||||
|
{
|
||||||
|
return qfcdNum;
|
||||||
|
}
|
||||||
|
public void setTxNum(Integer txNum)
|
||||||
|
{
|
||||||
|
this.txNum = txNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getTxNum()
|
||||||
|
{
|
||||||
|
return txNum;
|
||||||
|
}
|
||||||
|
public void setBhNum(Integer bhNum)
|
||||||
|
{
|
||||||
|
this.bhNum = bhNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getBhNum()
|
||||||
|
{
|
||||||
|
return bhNum;
|
||||||
|
}
|
||||||
|
public void setYxdfgzNum(Integer yxdfgzNum)
|
||||||
|
{
|
||||||
|
this.yxdfgzNum = yxdfgzNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getYxdfgzNum()
|
||||||
|
{
|
||||||
|
return yxdfgzNum;
|
||||||
|
}
|
||||||
|
public void setDkdfNum(Integer dkdfNum)
|
||||||
|
{
|
||||||
|
this.dkdfNum = dkdfNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDkdfNum()
|
||||||
|
{
|
||||||
|
return dkdfNum;
|
||||||
|
}
|
||||||
|
public void setDksfNum(Integer dksfNum)
|
||||||
|
{
|
||||||
|
this.dksfNum = dksfNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDksfNum()
|
||||||
|
{
|
||||||
|
return dksfNum;
|
||||||
|
}
|
||||||
|
public void setDkshfNum(Integer dkshfNum)
|
||||||
|
{
|
||||||
|
this.dkshfNum = dkshfNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDkshfNum()
|
||||||
|
{
|
||||||
|
return dkshfNum;
|
||||||
|
}
|
||||||
|
public void setPjbNum(Integer pjbNum)
|
||||||
|
{
|
||||||
|
this.pjbNum = pjbNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPjbNum()
|
||||||
|
{
|
||||||
|
return pjbNum;
|
||||||
|
}
|
||||||
|
public void setCzbNum(Integer czbNum)
|
||||||
|
{
|
||||||
|
this.czbNum = czbNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getCzbNum()
|
||||||
|
{
|
||||||
|
return czbNum;
|
||||||
|
}
|
||||||
|
public void setSfbNum(Integer sfbNum)
|
||||||
|
{
|
||||||
|
this.sfbNum = sfbNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSfbNum()
|
||||||
|
{
|
||||||
|
return sfbNum;
|
||||||
|
}
|
||||||
|
public void setMrbNum(Integer mrbNum)
|
||||||
|
{
|
||||||
|
this.mrbNum = mrbNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getMrbNum()
|
||||||
|
{
|
||||||
|
return mrbNum;
|
||||||
|
}
|
||||||
|
public void setSzstNum(Integer szstNum)
|
||||||
|
{
|
||||||
|
this.szstNum = szstNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSzstNum()
|
||||||
|
{
|
||||||
|
return szstNum;
|
||||||
|
}
|
||||||
|
public void setKhNum(Integer khNum)
|
||||||
|
{
|
||||||
|
this.khNum = khNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getKhNum()
|
||||||
|
{
|
||||||
|
return khNum;
|
||||||
|
}
|
||||||
|
public void setGjjsywNum(Integer gjjsywNum)
|
||||||
|
{
|
||||||
|
this.gjjsywNum = gjjsywNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getGjjsywNum()
|
||||||
|
{
|
||||||
|
return gjjsywNum;
|
||||||
|
}
|
||||||
|
public void setYqjshNum(Integer yqjshNum)
|
||||||
|
{
|
||||||
|
this.yqjshNum = yqjshNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getYqjshNum()
|
||||||
|
{
|
||||||
|
return yqjshNum;
|
||||||
|
}
|
||||||
|
public void setRegionCode(String regionCode)
|
||||||
|
{
|
||||||
|
this.regionCode = regionCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRegionCode()
|
||||||
|
{
|
||||||
|
return regionCode;
|
||||||
|
}
|
||||||
|
public void setOpsDept(String opsDept)
|
||||||
|
{
|
||||||
|
this.opsDept = opsDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOpsDept()
|
||||||
|
{
|
||||||
|
return opsDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
.append("dt", getDt())
|
||||||
|
.append("gridName", getGridName())
|
||||||
|
.append("gridName2", getGridName2())
|
||||||
|
.append("town", getTown())
|
||||||
|
.append("deptId", getDeptId())
|
||||||
|
.append("outletsId", getOutletsId())
|
||||||
|
.append("userName", getUserName())
|
||||||
|
.append("custNum", getCustNum())
|
||||||
|
.append("hqCurBalance", getHqCurBalance())
|
||||||
|
.append("bzCurBalance", getBzCurBalance())
|
||||||
|
.append("loanBalanceCny", getLoanBalanceCny())
|
||||||
|
.append("financeProd711Balance", getFinanceProd711Balance())
|
||||||
|
.append("financeProd716Balance", getFinanceProd716Balance())
|
||||||
|
.append("loanYearDailyaverage", getLoanYearDailyaverage())
|
||||||
|
.append("phRat", getPhRat())
|
||||||
|
.append("qfcdRat", getQfcdRat())
|
||||||
|
.append("txRat", getTxRat())
|
||||||
|
.append("bhRat", getBhRat())
|
||||||
|
.append("yxdfgzRat", getYxdfgzRat())
|
||||||
|
.append("dkdfRat", getDkdfRat())
|
||||||
|
.append("dksfRat", getDksfRat())
|
||||||
|
.append("dkshfRat", getDkshfRat())
|
||||||
|
.append("pjbRat", getPjbRat())
|
||||||
|
.append("czbRat", getCzbRat())
|
||||||
|
.append("sfbRat", getSfbRat())
|
||||||
|
.append("mrbRat", getMrbRat())
|
||||||
|
.append("szstRat", getSzstRat())
|
||||||
|
.append("khRat", getKhRat())
|
||||||
|
.append("gjjsywRat", getGjjsywRat())
|
||||||
|
.append("yqjshRat", getYqjshRat())
|
||||||
|
.append("phNum", getPhNum())
|
||||||
|
.append("qfcdNum", getQfcdNum())
|
||||||
|
.append("txNum", getTxNum())
|
||||||
|
.append("bhNum", getBhNum())
|
||||||
|
.append("yxdfgzNum", getYxdfgzNum())
|
||||||
|
.append("dkdfNum", getDkdfNum())
|
||||||
|
.append("dksfNum", getDksfNum())
|
||||||
|
.append("dkshfNum", getDkshfNum())
|
||||||
|
.append("pjbNum", getPjbNum())
|
||||||
|
.append("czbNum", getCzbNum())
|
||||||
|
.append("sfbNum", getSfbNum())
|
||||||
|
.append("mrbNum", getMrbNum())
|
||||||
|
.append("szstNum", getSzstNum())
|
||||||
|
.append("khNum", getKhNum())
|
||||||
|
.append("gjjsywNum", getGjjsywNum())
|
||||||
|
.append("yqjshNum", getYqjshNum())
|
||||||
|
.append("regionCode", getRegionCode())
|
||||||
|
.append("opsDept", getOpsDept())
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
public class GroupListVo {
|
||||||
|
|
||||||
|
/** 清单ID */
|
||||||
|
private String groupId;
|
||||||
|
|
||||||
|
/** 清单名称 */
|
||||||
|
private String groupName;
|
||||||
|
|
||||||
|
/** 清单类型 */
|
||||||
|
private String groupType;
|
||||||
|
|
||||||
|
/** 创建机构 */
|
||||||
|
private String createRole;
|
||||||
|
|
||||||
|
public String getGroupId() {
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupId(String groupId) {
|
||||||
|
this.groupId = groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupName() {
|
||||||
|
return groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupName(String groupName) {
|
||||||
|
this.groupName = groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupType() {
|
||||||
|
return groupType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupType(String groupType) {
|
||||||
|
this.groupType = groupType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreateRole() {
|
||||||
|
return createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateRole(String createRole) {
|
||||||
|
this.createRole = createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "GroupListVo{" +
|
||||||
|
"groupId='" + groupId + '\'' +
|
||||||
|
", groupName='" + groupName + '\'' +
|
||||||
|
", groupType='" + groupType + '\'' +
|
||||||
|
", createRole='" + createRole + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,350 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清单列表查询信息 ListSelectByUser
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2024-09-25
|
||||||
|
*/
|
||||||
|
public class ListSelectByUser {
|
||||||
|
|
||||||
|
/** 客户标签 */
|
||||||
|
@NotNull(message = "客户标签不能为空")
|
||||||
|
private String custPattern;
|
||||||
|
|
||||||
|
/** 用户机构 */
|
||||||
|
private Long userDept;
|
||||||
|
|
||||||
|
/** 用户id */
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/** 清单来源 */
|
||||||
|
private String createRole;
|
||||||
|
|
||||||
|
/** 清单类型 */
|
||||||
|
private String groupType;
|
||||||
|
|
||||||
|
/** 客户类型 */
|
||||||
|
private String custType;
|
||||||
|
|
||||||
|
/** 清单ID */
|
||||||
|
private String groupId;
|
||||||
|
|
||||||
|
/** 清单名称 */
|
||||||
|
private String groupName;
|
||||||
|
|
||||||
|
/** 客户数 */
|
||||||
|
private Long customerNum;
|
||||||
|
|
||||||
|
/** 关联活动id */
|
||||||
|
private String campaignId;
|
||||||
|
|
||||||
|
/** 关联活动名称 */
|
||||||
|
private String campaignName;
|
||||||
|
|
||||||
|
/** 开始时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/** 结束时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/** 活动状态 */
|
||||||
|
private String actionStatus;
|
||||||
|
|
||||||
|
/** 紧急程度 */
|
||||||
|
private String campaignDegree;
|
||||||
|
|
||||||
|
/** 分配机构id */
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
/** 分配机构 */
|
||||||
|
private String belongDept;
|
||||||
|
|
||||||
|
private String belongOutlet;
|
||||||
|
|
||||||
|
/** 分配结束时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date claimEndTime;
|
||||||
|
|
||||||
|
/** 认领类型 */
|
||||||
|
private String claimType;
|
||||||
|
|
||||||
|
/** 机构领取状态 */
|
||||||
|
private String orgClaimStatus;
|
||||||
|
|
||||||
|
/** 机构分配状态 */
|
||||||
|
private String orgDistributeStatus;
|
||||||
|
|
||||||
|
/** 客户经理认领率 */
|
||||||
|
private String receiveSitustion = "0%";
|
||||||
|
|
||||||
|
/** 是否二次推送 */
|
||||||
|
private String secondPushStatus;
|
||||||
|
|
||||||
|
/** 执行人 0-机构;1-个人;2-混合分配 */
|
||||||
|
private String executer;
|
||||||
|
|
||||||
|
/** 更新时间 */
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/** 创建时间 */
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/** 当前时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date nowTime;
|
||||||
|
|
||||||
|
@Excel(name = "考核目标")
|
||||||
|
private String checkTarget;
|
||||||
|
|
||||||
|
@Excel(name = "下发支行")
|
||||||
|
private String sendDept;
|
||||||
|
|
||||||
|
public String getSendDept() {
|
||||||
|
return sendDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSendDept(String sendDept) {
|
||||||
|
this.sendDept = sendDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustPattern() {
|
||||||
|
return custPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPattern(String custPattern) {
|
||||||
|
this.custPattern = custPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserId(Long userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUserDept() {
|
||||||
|
return userDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserDept(Long userDept) {
|
||||||
|
this.userDept = userDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreateRole() {
|
||||||
|
return createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateRole(String createRole) {
|
||||||
|
this.createRole = createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustType() {
|
||||||
|
return custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustType(String custType) {
|
||||||
|
this.custType = custType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupType() {
|
||||||
|
return groupType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupType(String groupType) {
|
||||||
|
this.groupType = groupType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupId() {
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupId(String groupId) {
|
||||||
|
this.groupId = groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupName() {
|
||||||
|
return groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupName(String groupName) {
|
||||||
|
this.groupName = groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCustomerNum() {
|
||||||
|
return customerNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustomerNum(Long customerNum) {
|
||||||
|
this.customerNum = customerNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignId() {
|
||||||
|
return campaignId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignId(String campaignId) {
|
||||||
|
this.campaignId = campaignId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignName() {
|
||||||
|
return campaignName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignName(String campaignName) {
|
||||||
|
this.campaignName = campaignName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getStartTime() {
|
||||||
|
return startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartTime(Date startTime) {
|
||||||
|
this.startTime = startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEndTime() {
|
||||||
|
return endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndTime(Date endTime) {
|
||||||
|
this.endTime = endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getActionStatus() {
|
||||||
|
return actionStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setActionStatus(String actionStatus) {
|
||||||
|
this.actionStatus = actionStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignDegree() {
|
||||||
|
return campaignDegree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignDegree(String campaignDegree) {
|
||||||
|
this.campaignDegree = campaignDegree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getDeptId() {
|
||||||
|
return deptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeptId(Long deptId) {
|
||||||
|
this.deptId = deptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongDept() {
|
||||||
|
return belongDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongDept(String belongDept) {
|
||||||
|
this.belongDept = belongDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getClaimEndTime() {
|
||||||
|
return claimEndTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClaimEndTime(Date claimEndTime) {
|
||||||
|
this.claimEndTime = claimEndTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClaimType() {
|
||||||
|
return claimType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClaimType(String claimType) {
|
||||||
|
this.claimType = claimType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrgClaimStatus() {
|
||||||
|
return orgClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgClaimStatus(String orgClaimStatus) {
|
||||||
|
this.orgClaimStatus = orgClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrgDistributeStatus() {
|
||||||
|
return orgDistributeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgDistributeStatus(String orgDistributeStatus) {
|
||||||
|
this.orgDistributeStatus = orgDistributeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReceiveSitustion() {
|
||||||
|
return receiveSitustion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReceiveSitustion(String receiveSitustion) {
|
||||||
|
this.receiveSitustion = receiveSitustion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getUpdateTime() {
|
||||||
|
return updateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) {
|
||||||
|
this.updateTime = updateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getCreateTime() {
|
||||||
|
return createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) {
|
||||||
|
this.createTime = createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSecondPushStatus() {
|
||||||
|
return secondPushStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSecondPushStatus(String secondPushStatus) {
|
||||||
|
this.secondPushStatus = secondPushStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getExecuter() {
|
||||||
|
return executer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setExecuter(String executer) {
|
||||||
|
this.executer = executer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getNowTime() {
|
||||||
|
return nowTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNowTime(Date nowTime) {
|
||||||
|
this.nowTime = nowTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCheckTarget() {
|
||||||
|
return checkTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCheckTarget(String checkTarget) {
|
||||||
|
this.checkTarget = checkTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongOutlet() {
|
||||||
|
return belongOutlet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongOutlet(String belongOutlet) {
|
||||||
|
this.belongOutlet = belongOutlet;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,368 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class ListSelectForUser {
|
||||||
|
|
||||||
|
/** 客户标签 */
|
||||||
|
@Excel(name = "客户类型:0-个人;1-商户;2-企业")
|
||||||
|
@NotNull(message = "客户标签不能为空")
|
||||||
|
private String custPattern;
|
||||||
|
|
||||||
|
/** 用户机构 */
|
||||||
|
private Long userDept;
|
||||||
|
|
||||||
|
/** 用户id */
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/** 清单来源 */
|
||||||
|
@Excel(name = "清单来源 0-总行;1-支行")
|
||||||
|
private String createRole;
|
||||||
|
|
||||||
|
/** 清单ID */
|
||||||
|
@Excel(name = "清单ID")
|
||||||
|
private String groupId;
|
||||||
|
|
||||||
|
/** 清单名称 */
|
||||||
|
@Excel(name = "清单名称")
|
||||||
|
private String groupName;
|
||||||
|
|
||||||
|
/** 关联活动id */
|
||||||
|
@Excel(name = "关联活动id")
|
||||||
|
private String campaignId;
|
||||||
|
|
||||||
|
/** 关联活动名称 */
|
||||||
|
@Excel(name = "关联活动名称")
|
||||||
|
private String campaignName;
|
||||||
|
|
||||||
|
/** 客户号 */
|
||||||
|
@Excel(name = "客户号")
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
/** 客户名 */
|
||||||
|
@Excel(name = "客户名")
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
/** 经营者名称 */
|
||||||
|
@Excel(name = "经营者名称(用于商户或企业客户)")
|
||||||
|
private String lpName;
|
||||||
|
|
||||||
|
/** 客户手机号 */
|
||||||
|
@Excel(name = "客户手机号")
|
||||||
|
private String custPhone;
|
||||||
|
|
||||||
|
/** 客户证件号 */
|
||||||
|
@Excel(name = "客户证件号(用于个人客户)")
|
||||||
|
private String custIdc;
|
||||||
|
|
||||||
|
/** 社会统一编码 */
|
||||||
|
@Excel(name = "社会统一编码(用于商户或企业客户)")
|
||||||
|
private String socialCreditCode;
|
||||||
|
|
||||||
|
/** 客户内码 */
|
||||||
|
@Excel(name = "客户内码")
|
||||||
|
private String custIsn;
|
||||||
|
|
||||||
|
/** 开始时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/** 结束时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/** 紧急程度 */
|
||||||
|
@Excel(name = "紧急程度")
|
||||||
|
private String campaignDegree;
|
||||||
|
|
||||||
|
/** 分配机构id */
|
||||||
|
@Excel(name = "分配机构id")
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
/** 分配机构名称 */
|
||||||
|
@Excel(name = "分配机构名称")
|
||||||
|
private String belongDept;
|
||||||
|
|
||||||
|
/** 认领类型 */
|
||||||
|
@Excel(name = "认领类型 0-强制认领;1-可选认领")
|
||||||
|
private String claimType;
|
||||||
|
|
||||||
|
/** 机构领取状态 */
|
||||||
|
@Excel(name = "机构领取状态 0-待认领;1-已认领")
|
||||||
|
private String orgClaimStatus;
|
||||||
|
|
||||||
|
/** 机构分配状态 */
|
||||||
|
@Excel(name = "机构分配状态 0-待分配;1-已分配")
|
||||||
|
private String orgDistributeStatus;
|
||||||
|
|
||||||
|
/** 客户经理分配状态 */
|
||||||
|
@Excel(name = "客户经理分配状态 0-待分配;1-已分配")
|
||||||
|
private String custClaimStatus;
|
||||||
|
|
||||||
|
/** 所属一级网格(导出) */
|
||||||
|
@Excel(name = "所属一级网格")
|
||||||
|
private String topGridName;
|
||||||
|
|
||||||
|
/** 所属二级网格(导出) */
|
||||||
|
@Excel(name = "所属二级网格")
|
||||||
|
private String secGridName;
|
||||||
|
|
||||||
|
/** 所属客户经理(导出) */
|
||||||
|
@Excel(name = "所属客户经理")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/** 所属网点(导出) */
|
||||||
|
@Excel(name = "所属网点")
|
||||||
|
private String outlets;
|
||||||
|
@Excel(name = "考核目标")
|
||||||
|
private String checkTarget;
|
||||||
|
//是否是网点查询,0-否,1-是
|
||||||
|
private String isOutlet;
|
||||||
|
|
||||||
|
public String getIsOutlet() {
|
||||||
|
return isOutlet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsOutlet(String isOutlet) {
|
||||||
|
this.isOutlet = isOutlet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustPattern() {
|
||||||
|
return custPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPattern(String custPattern) {
|
||||||
|
this.custPattern = custPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUserDept() {
|
||||||
|
return userDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserDept(Long userDept) {
|
||||||
|
this.userDept = userDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserId(Long userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreateRole() {
|
||||||
|
return createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateRole(String createRole) {
|
||||||
|
this.createRole = createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupId() {
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupId(String groupId) {
|
||||||
|
this.groupId = groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupName() {
|
||||||
|
return groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupName(String groupName) {
|
||||||
|
this.groupName = groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignId() {
|
||||||
|
return campaignId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignId(String campaignId) {
|
||||||
|
this.campaignId = campaignId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignName() {
|
||||||
|
return campaignName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignName(String campaignName) {
|
||||||
|
this.campaignName = campaignName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustId() {
|
||||||
|
return custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustId(String custId) {
|
||||||
|
this.custId = custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustName() {
|
||||||
|
return custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustName(String custName) {
|
||||||
|
this.custName = custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLpName() {
|
||||||
|
return lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLpName(String lpName) {
|
||||||
|
this.lpName = lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustPhone() {
|
||||||
|
return custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPhone(String custPhone) {
|
||||||
|
this.custPhone = custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustIdc() {
|
||||||
|
return custIdc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIdc(String custIdc) {
|
||||||
|
this.custIdc = custIdc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSocialCreditCode() {
|
||||||
|
return socialCreditCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSocialCreditCode(String socialCreditCode) {
|
||||||
|
this.socialCreditCode = socialCreditCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustIsn() {
|
||||||
|
return custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIsn(String custIsn) {
|
||||||
|
this.custIsn = custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getStartTime() {
|
||||||
|
return startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartTime(Date startTime) {
|
||||||
|
this.startTime = startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEndTime() {
|
||||||
|
return endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndTime(Date endTime) {
|
||||||
|
this.endTime = endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignDegree() {
|
||||||
|
return campaignDegree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignDegree(String campaignDegree) {
|
||||||
|
this.campaignDegree = campaignDegree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getDeptId() {
|
||||||
|
return deptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeptId(Long deptId) {
|
||||||
|
this.deptId = deptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongDept() {
|
||||||
|
return belongDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongDept(String belongDept) {
|
||||||
|
this.belongDept = belongDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClaimType() {
|
||||||
|
return claimType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClaimType(String claimType) {
|
||||||
|
this.claimType = claimType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrgClaimStatus() {
|
||||||
|
return orgClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgClaimStatus(String orgClaimStatus) {
|
||||||
|
this.orgClaimStatus = orgClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrgDistributeStatus() {
|
||||||
|
return orgDistributeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgDistributeStatus(String orgDistributeStatus) {
|
||||||
|
this.orgDistributeStatus = orgDistributeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustClaimStatus() {
|
||||||
|
return custClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustClaimStatus(String custClaimStatus) {
|
||||||
|
this.custClaimStatus = custClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTopGridName() {
|
||||||
|
return topGridName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTopGridName(String topGridName) {
|
||||||
|
this.topGridName = topGridName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSecGridName() {
|
||||||
|
return secGridName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSecGridName(String secGridName) {
|
||||||
|
this.secGridName = secGridName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOutlets() {
|
||||||
|
return outlets;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOutlets(String outlets) {
|
||||||
|
this.outlets = outlets;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCheckTarget() {
|
||||||
|
return checkTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCheckTarget(String checkTarget) {
|
||||||
|
this.checkTarget = checkTarget;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,257 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class ListSelectForUserExportBusiness {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** 清单来源 */
|
||||||
|
@Excel(name = "清单来源",readConverterExp = "0=总行,1=支行")
|
||||||
|
private String createRole;
|
||||||
|
|
||||||
|
/** 清单名称 */
|
||||||
|
@Excel(name = "清单名称")
|
||||||
|
private String groupName;
|
||||||
|
|
||||||
|
|
||||||
|
/** 关联活动名称 */
|
||||||
|
@Excel(name = "任务名称")
|
||||||
|
private String campaignName;
|
||||||
|
|
||||||
|
/** 客户号 */
|
||||||
|
@Excel(name = "客户号")
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
/** 客户名 */
|
||||||
|
@Excel(name = "企业名称")
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
/** 经营者名称 */
|
||||||
|
@Excel(name = "法人代表姓名")
|
||||||
|
private String lpName;
|
||||||
|
|
||||||
|
/** 客户手机号 */
|
||||||
|
@Excel(name = "法人代表手机号")
|
||||||
|
private String custPhone;
|
||||||
|
|
||||||
|
|
||||||
|
/** 社会统一编码 */
|
||||||
|
@Excel(name = "证件号")
|
||||||
|
private String socialCreditCode;
|
||||||
|
|
||||||
|
/** 客户内码 */
|
||||||
|
@Excel(name = "客户内码")
|
||||||
|
private String custIsn;
|
||||||
|
|
||||||
|
/** 开始时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/** 结束时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/** 紧急程度 */
|
||||||
|
@Excel(name = "紧急程度")
|
||||||
|
private String campaignDegree;
|
||||||
|
|
||||||
|
|
||||||
|
/** 分配机构名称 */
|
||||||
|
@Excel(name = "推送支行")
|
||||||
|
private String belongDept;
|
||||||
|
|
||||||
|
/** 认领类型 */
|
||||||
|
@Excel(name = "认领类型",readConverterExp = "0=强制认领,1=可选认领")
|
||||||
|
private String claimType;
|
||||||
|
|
||||||
|
/** 机构领取状态 */
|
||||||
|
@Excel(name = "机构认领状态",readConverterExp = "0=待认领,1=已认领,/=/")
|
||||||
|
private String orgClaimStatus;
|
||||||
|
|
||||||
|
/** 机构分配状态 */
|
||||||
|
@Excel(name = "机构分配状态",readConverterExp = "0=待分配,1=已分配,/=/")
|
||||||
|
private String orgDistributeStatus;
|
||||||
|
|
||||||
|
/** 客户经理分配状态 */
|
||||||
|
@Excel(name = "客户经理分配状态",readConverterExp = "0=待分配,1=已分配")
|
||||||
|
private String custClaimStatus;
|
||||||
|
|
||||||
|
|
||||||
|
/** 所属客户经理(导出) */
|
||||||
|
@Excel(name = "推送客户经理")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/** 所属网点(导出) */
|
||||||
|
@Excel(name = "推送网点")
|
||||||
|
private String outlets;
|
||||||
|
@Excel(name = "考核目标")
|
||||||
|
private String checkTarget;
|
||||||
|
|
||||||
|
public String getCreateRole() {
|
||||||
|
return createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateRole(String createRole) {
|
||||||
|
this.createRole = createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupName() {
|
||||||
|
return groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupName(String groupName) {
|
||||||
|
this.groupName = groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignName() {
|
||||||
|
return campaignName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignName(String campaignName) {
|
||||||
|
this.campaignName = campaignName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustId() {
|
||||||
|
return custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustId(String custId) {
|
||||||
|
this.custId = custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustName() {
|
||||||
|
return custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustName(String custName) {
|
||||||
|
this.custName = custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLpName() {
|
||||||
|
return lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLpName(String lpName) {
|
||||||
|
this.lpName = lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustPhone() {
|
||||||
|
return custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPhone(String custPhone) {
|
||||||
|
this.custPhone = custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getSocialCreditCode() {
|
||||||
|
return socialCreditCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSocialCreditCode(String socialCreditCode) {
|
||||||
|
this.socialCreditCode = socialCreditCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustIsn() {
|
||||||
|
return custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIsn(String custIsn) {
|
||||||
|
this.custIsn = custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getStartTime() {
|
||||||
|
return startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartTime(Date startTime) {
|
||||||
|
this.startTime = startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEndTime() {
|
||||||
|
return endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndTime(Date endTime) {
|
||||||
|
this.endTime = endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignDegree() {
|
||||||
|
return campaignDegree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignDegree(String campaignDegree) {
|
||||||
|
this.campaignDegree = campaignDegree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongDept() {
|
||||||
|
return belongDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongDept(String belongDept) {
|
||||||
|
this.belongDept = belongDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClaimType() {
|
||||||
|
return claimType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClaimType(String claimType) {
|
||||||
|
this.claimType = claimType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrgClaimStatus() {
|
||||||
|
return orgClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgClaimStatus(String orgClaimStatus) {
|
||||||
|
this.orgClaimStatus = orgClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrgDistributeStatus() {
|
||||||
|
return orgDistributeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgDistributeStatus(String orgDistributeStatus) {
|
||||||
|
this.orgDistributeStatus = orgDistributeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustClaimStatus() {
|
||||||
|
return custClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustClaimStatus(String custClaimStatus) {
|
||||||
|
this.custClaimStatus = custClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOutlets() {
|
||||||
|
return outlets;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOutlets(String outlets) {
|
||||||
|
this.outlets = outlets;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCheckTarget() {
|
||||||
|
return checkTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCheckTarget(String checkTarget) {
|
||||||
|
this.checkTarget = checkTarget;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,257 @@
|
|||||||
|
package com.ruoyi.ibs.customerselect.domain;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class ListSelectForUserExportMerchant {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** 清单来源 */
|
||||||
|
@Excel(name = "清单来源",readConverterExp = "0=总行,1=支行")
|
||||||
|
private String createRole;
|
||||||
|
|
||||||
|
/** 清单名称 */
|
||||||
|
@Excel(name = "清单名称")
|
||||||
|
private String groupName;
|
||||||
|
|
||||||
|
|
||||||
|
/** 关联活动名称 */
|
||||||
|
@Excel(name = "任务名称")
|
||||||
|
private String campaignName;
|
||||||
|
|
||||||
|
/** 客户号 */
|
||||||
|
@Excel(name = "客户号")
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
/** 客户名 */
|
||||||
|
@Excel(name = "商户名称")
|
||||||
|
private String custName;
|
||||||
|
|
||||||
|
/** 经营者名称 */
|
||||||
|
@Excel(name = "经营者姓名")
|
||||||
|
private String lpName;
|
||||||
|
|
||||||
|
/** 客户手机号 */
|
||||||
|
@Excel(name = "经营者手机号")
|
||||||
|
private String custPhone;
|
||||||
|
|
||||||
|
|
||||||
|
/** 社会统一编码 */
|
||||||
|
@Excel(name = "证件号")
|
||||||
|
private String socialCreditCode;
|
||||||
|
|
||||||
|
/** 客户内码 */
|
||||||
|
@Excel(name = "客户内码")
|
||||||
|
private String custIsn;
|
||||||
|
|
||||||
|
/** 开始时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/** 结束时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/** 紧急程度 */
|
||||||
|
@Excel(name = "紧急程度")
|
||||||
|
private String campaignDegree;
|
||||||
|
|
||||||
|
|
||||||
|
/** 分配机构名称 */
|
||||||
|
@Excel(name = "推送支行")
|
||||||
|
private String belongDept;
|
||||||
|
|
||||||
|
/** 认领类型 */
|
||||||
|
@Excel(name = "认领类型",readConverterExp = "0=强制认领,1=可选认领")
|
||||||
|
private String claimType;
|
||||||
|
|
||||||
|
/** 机构领取状态 */
|
||||||
|
@Excel(name = "机构认领状态",readConverterExp = "0=待认领,1=已认领,/=/")
|
||||||
|
private String orgClaimStatus;
|
||||||
|
|
||||||
|
/** 机构分配状态 */
|
||||||
|
@Excel(name = "机构分配状态",readConverterExp = "0=待分配,1=已分配,/=/")
|
||||||
|
private String orgDistributeStatus;
|
||||||
|
|
||||||
|
/** 客户经理分配状态 */
|
||||||
|
@Excel(name = "客户经理分配状态",readConverterExp = "0=待分配,1=已分配")
|
||||||
|
private String custClaimStatus;
|
||||||
|
|
||||||
|
|
||||||
|
/** 所属客户经理(导出) */
|
||||||
|
@Excel(name = "推送客户经理")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/** 所属网点(导出) */
|
||||||
|
@Excel(name = "推送网点")
|
||||||
|
private String outlets;
|
||||||
|
@Excel(name = "考核目标")
|
||||||
|
private String checkTarget;
|
||||||
|
|
||||||
|
public String getCreateRole() {
|
||||||
|
return createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateRole(String createRole) {
|
||||||
|
this.createRole = createRole;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupName() {
|
||||||
|
return groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupName(String groupName) {
|
||||||
|
this.groupName = groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignName() {
|
||||||
|
return campaignName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignName(String campaignName) {
|
||||||
|
this.campaignName = campaignName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustId() {
|
||||||
|
return custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustId(String custId) {
|
||||||
|
this.custId = custId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustName() {
|
||||||
|
return custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustName(String custName) {
|
||||||
|
this.custName = custName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLpName() {
|
||||||
|
return lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLpName(String lpName) {
|
||||||
|
this.lpName = lpName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustPhone() {
|
||||||
|
return custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustPhone(String custPhone) {
|
||||||
|
this.custPhone = custPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getSocialCreditCode() {
|
||||||
|
return socialCreditCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSocialCreditCode(String socialCreditCode) {
|
||||||
|
this.socialCreditCode = socialCreditCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustIsn() {
|
||||||
|
return custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustIsn(String custIsn) {
|
||||||
|
this.custIsn = custIsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getStartTime() {
|
||||||
|
return startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartTime(Date startTime) {
|
||||||
|
this.startTime = startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEndTime() {
|
||||||
|
return endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndTime(Date endTime) {
|
||||||
|
this.endTime = endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCampaignDegree() {
|
||||||
|
return campaignDegree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCampaignDegree(String campaignDegree) {
|
||||||
|
this.campaignDegree = campaignDegree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBelongDept() {
|
||||||
|
return belongDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBelongDept(String belongDept) {
|
||||||
|
this.belongDept = belongDept;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClaimType() {
|
||||||
|
return claimType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClaimType(String claimType) {
|
||||||
|
this.claimType = claimType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrgClaimStatus() {
|
||||||
|
return orgClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgClaimStatus(String orgClaimStatus) {
|
||||||
|
this.orgClaimStatus = orgClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrgDistributeStatus() {
|
||||||
|
return orgDistributeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgDistributeStatus(String orgDistributeStatus) {
|
||||||
|
this.orgDistributeStatus = orgDistributeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustClaimStatus() {
|
||||||
|
return custClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustClaimStatus(String custClaimStatus) {
|
||||||
|
this.custClaimStatus = custClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOutlets() {
|
||||||
|
return outlets;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOutlets(String outlets) {
|
||||||
|
this.outlets = outlets;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCheckTarget() {
|
||||||
|
return checkTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCheckTarget(String checkTarget) {
|
||||||
|
this.checkTarget = checkTarget;
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user