227 Commits
Author SHA1 Message Date
bgyandGitea f0e98d9ef0 Merge branch 'bgy' of SH-Arbitrate/Arbitrate-Backend into dev 2024-07-25 10:30:37 +08:00
wangqiong 81168bbb69 新增redis密码 2024-07-25 10:29:49 +08:00
wangqiong123andGitea b2e0e7465d Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-06-03 10:10:02 +08:00
18792927508 a78d2bd6c7 仲裁问题修复 2024-06-03 10:08:42 +08:00
wangqiong123andGitea b5cdcbad4a Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-31 09:17:40 +08:00
18792927508 a54280c347 bug修复 2024-05-31 09:15:37 +08:00
wangqiong123andGitea 22ccd19725 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-29 13:42:57 +08:00
18792927508 8261c52673 短信邮件完善 2024-05-29 13:41:49 +08:00
wangqiong123andGitea 44babb09b1 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-24 15:40:57 +08:00
18792927508 084c22a00f 仲裁系统修改 2024-05-24 15:39:58 +08:00
wangqiong123andGitea 34524284d4 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-21 13:49:56 +08:00
18792927508 0f8ee6e6fe 仲裁bug修复 2024-05-21 13:49:08 +08:00
wangqiong123andGitea 06ef88126b Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-17 15:57:36 +08:00
18792927508 e9c7346843 bug修复 2024-05-17 15:55:08 +08:00
wangqiong123andGitea 7e2c288beb Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-16 16:10:25 +08:00
18792927508 b3f445fdd4 仲裁日志修改 2024-05-16 16:10:02 +08:00
wangqiong123andGitea e1484a5889 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-14 16:55:24 +08:00
18792927508 48752c2712 仲裁系统bug修复 2024-05-14 16:54:42 +08:00
wangqiong123andGitea e637b7c511 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-11 15:22:28 +08:00
18792927508 bf43517b5c 回调及日志修改 2024-05-11 15:21:25 +08:00
wangqiong123andGitea 9df0b9e290 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-11 09:07:05 +08:00
18792927508 42c9a82363 仲裁bug修复 2024-05-11 09:05:59 +08:00
wangqiong123andGitea 198b29dcb0 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-10 17:50:05 +08:00
18792927508 44129c7cd0 视频,用印回调,裁决书处理 2024-05-10 17:48:42 +08:00
wangqiong123andGitea 50a9e7242c Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-08 17:29:21 +08:00
18792927508 5b24d0f522 仲裁系统bug修复 2024-05-08 17:28:22 +08:00
wangqiong123andGitea fbcf91a592 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-05-06 18:08:20 +08:00
18792927508 8c22728855 缴费确认加驳回 2024-05-06 18:07:38 +08:00
bgyandGitea 9840cae11d Merge branch 'bgy' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-30 15:16:11 +08:00
wangqiong 25f4ac62c7 优化系统启动图案 2024-04-30 15:15:15 +08:00
bgyandGitea f7e4f7df3f Merge branch 'bgy' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-30 14:52:06 +08:00
wangqiong d705802c6a Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into bgy 2024-04-30 14:44:46 +08:00
wangqiong 30e0be1493 修改时新增案件日志 2024-04-30 14:44:33 +08:00
wangqiong123andGitea d9a2454fe8 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-30 12:01:01 +08:00
18792927508 f6bf5abc9f 案件详情修改 2024-04-30 12:00:31 +08:00
wangqiong123andGitea 77f84afdd6 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-29 16:52:36 +08:00
18792927508 0e215afa39 压缩包导入,详情修改 2024-04-29 16:51:40 +08:00
bgyandGitea 189433a164 Merge branch 'bgy' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-29 11:28:02 +08:00
wangqiong c19c61affd 优化案件状态名称命名 2024-04-29 11:19:34 +08:00
bgyandGitea 4a807869aa Merge branch 'bgy' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-29 10:03:52 +08:00
wangqiong 064b88a86a 优化送达失败的提示语 2024-04-29 09:59:11 +08:00
bgyandGitea 7d8529e7d8 Merge branch 'bgy' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-28 18:37:25 +08:00
wangqiong 374841e417 优化送达签收文件下载功能 2024-04-28 18:36:16 +08:00
bgyandGitea c22b16e7ac Merge branch 'bgy' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-28 13:57:10 +08:00
wangqiong 2f3b5645aa 优化案件附件查询功能 2024-04-28 13:55:46 +08:00
wangqiong123andGitea d05a943e66 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-26 16:45:38 +08:00
18792927508 b7f1e265f9 案件压缩包导入修改 2024-04-26 16:45:07 +08:00
wangqiong123andGitea 03bc65284d Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-04-26 09:14:42 +08:00
18792927508 e3fe728c6c 解决修改部门报错 2024-04-26 09:14:11 +08:00
wangqiong 86e209494f 新增手动生成Mapper文件模块tkgenerator 2024-04-01 17:19:50 +08:00
qtzandGitea 6c5e16386c Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-03-22 10:09:09 +08:00
qitz 74112dc93b Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-03-22 10:06:30 +08:00
qitz 08717e84be 优化新增功能 2024-03-22 10:06:10 +08:00
wangqiong123andGitea 8d732fb8fb Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-02-28 09:40:24 +08:00
18792927508 5240926cd7 视频会议调用调解系统 2024-02-28 09:36:31 +08:00
qtzandGitea 16d6d1c29d Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-02-06 15:59:52 +08:00
qitz b0e0123c4a Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-02-06 15:56:21 +08:00
qitz abb96916e3 优化新增功能 2024-02-06 15:56:03 +08:00
qtzandGitea e3bdb44192 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-19 17:28:42 +08:00
qitz ff175c98df Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-19 17:26:09 +08:00
qitz 5c434e576f 优化用印功能 2024-01-19 17:25:40 +08:00
wangqiong123andGitea 6b5e91c4d7 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-19 10:47:36 +08:00
18792927508 5f622b0641 视频回调 2024-01-19 10:45:17 +08:00
qtzandGitea 9bfcc02a48 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-10 13:44:44 +08:00
qitz a3a3fa17f1 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-10 13:41:35 +08:00
qitz f38d6997bc 优化公章列表查询 2024-01-10 13:41:18 +08:00
qtzandGitea 13e3503af4 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-10 11:39:27 +08:00
qitz 70af2e822b Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-10 11:35:53 +08:00
qitz 71a228c625 修改送达裁决书功能 2024-01-10 11:35:28 +08:00
qtzandGitea 9f79c901ca Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-09 11:45:16 +08:00
qitz fa782834e7 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-09 11:41:50 +08:00
qitz 088bd41d0b 优化批量送达裁决书功能 2024-01-09 11:41:16 +08:00
qtzandGitea f6b1403e3c Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-08 14:51:20 +08:00
qitz da105d20e4 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-08 14:47:49 +08:00
qitz 293dd52e8c 优化案件列表查询 2024-01-08 14:47:19 +08:00
qtzandGitea eeb6757ec8 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-05 17:55:55 +08:00
qitz 6960564dde Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-05 17:53:28 +08:00
qitz fb8366fa78 优化批量列表查询 2024-01-05 17:53:02 +08:00
qtzandGitea 31dc8e4032 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-05 16:35:11 +08:00
qitz 6caf44a9ec Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-05 16:31:46 +08:00
qitz 95cacd287b 批量送达裁决书功能 2024-01-05 16:31:22 +08:00
qtzandGitea fdf48d2f14 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-05 14:49:01 +08:00
qitz b24fc351ea Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-05 14:45:44 +08:00
qitz 11e6c91cc6 实现批量签名用印功能 2024-01-05 14:45:10 +08:00
qtzandGitea fd04248c4b Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-04 18:02:31 +08:00
qitz 1f9cea5d3e Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-04 17:59:11 +08:00
qitz 4be8bcab6d 实现批量审核仲裁方式 2024-01-04 17:58:44 +08:00
qtzandGitea cf6b0e7d70 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-04 16:16:35 +08:00
qitz ff2a7dd781 实现批量部门长审核裁决书 2024-01-04 16:11:49 +08:00
wangqiong123andGitea f99cf25adf Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-04 10:04:46 +08:00
18792927508 1ea9767674 压缩包导入修改 2024-01-04 10:01:59 +08:00
qtzandGitea 2253984352 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-03 18:00:33 +08:00
qitz b14d46803c Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-03 17:56:31 +08:00
qitz 82b6431be9 实现批量组庭功能 2024-01-03 17:55:35 +08:00
qtzandGitea 6cb1ecab7b Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-03 13:52:37 +08:00
qitz 061bdc6312 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-03 13:49:30 +08:00
qitz f980592507 优化批量缴费功能 2024-01-03 13:49:01 +08:00
qtzandGitea 1d0e12ee18 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-03 09:37:41 +08:00
qitz d5b6cddd8f Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-03 09:33:57 +08:00
qitz e4931d1499 优化缴费功能 2024-01-03 09:33:26 +08:00
qtzandGitea 7748d4e558 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-02 16:45:32 +08:00
qitz 7d5ee5cffd Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-02 16:42:08 +08:00
qitz 48da135874 批量缴费 2024-01-02 16:41:36 +08:00
qtzandGitea 8be09de49c Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-02 14:15:19 +08:00
qitz 2aff2e8d7d Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-02 14:11:25 +08:00
qitz 06320d99ca 批量审查 2024-01-02 14:10:53 +08:00
qtzandGitea 7cd6c52db5 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2024-01-02 10:00:50 +08:00
qitz 455f3265ec Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2024-01-02 09:57:36 +08:00
qitz 33774c51fb 优化批量提交 2024-01-02 09:57:04 +08:00
qtzandGitea c68c91e0b3 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-29 17:29:36 +08:00
qitz 53c64c36da Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2023-12-29 17:24:05 +08:00
qitz 7a38c4e8a5 实现批量管理查询批量和批量提交 2023-12-29 17:23:09 +08:00
wangqiong123andGitea 66d66e5156 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-28 10:33:27 +08:00
18792927508 20517eaaaa bug修改 2023-12-28 10:30:45 +08:00
qitz deea55b1e9 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2023-12-27 14:40:48 +08:00
qitz 31a9287a8f 1 2023-12-27 14:40:26 +08:00
wangqiong123andGitea 4cd04ef10e Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-27 14:39:35 +08:00
18792927508 afb6b2a4b5 bug修改 2023-12-27 14:38:03 +08:00
qtzandGitea a12083d93c Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-27 14:03:58 +08:00
qitz f66af56144 优化查询案件列表 2023-12-27 13:58:02 +08:00
wangqiong123andGitea 0d71663935 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-25 16:04:49 +08:00
qitz 753039d5e9 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2023-12-25 16:04:45 +08:00
qitz 743040d813 优化下载zip 2023-12-25 16:04:29 +08:00
18792927508 9f8e21383d 1 2023-12-25 16:03:10 +08:00
wangqiong123andGitea 4e85bf306b Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-21 09:17:57 +08:00
18792927508 1da61f526d 案件bug修复 2023-12-21 09:16:26 +08:00
wangqiong123andGitea c7970e884f Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-20 09:17:46 +08:00
18792927508 20c95700ab 案件 2023-12-20 09:15:28 +08:00
qtzandGitea 547394f8d6 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-19 14:06:08 +08:00
qitz a671da2f11 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2023-12-19 14:02:23 +08:00
qitz 60561da44d 优化生成案件编号规则功能 2023-12-19 14:01:56 +08:00
qtzandGitea e5138339a8 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-15 17:30:36 +08:00
qitz 45f30d2dbc Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2023-12-15 17:26:14 +08:00
qitz 8aa82b28be 实现案件编号规则功能 2023-12-15 17:25:40 +08:00
wangqiong123andGitea 23847cf918 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-15 10:58:52 +08:00
18792927508 c6d0cb9579 案件修改 2023-12-15 10:57:16 +08:00
qtzandGitea e590293b33 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-14 15:55:50 +08:00
qitz e1fa902c59 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2023-12-14 15:51:40 +08:00
qitz 5eb7b070fd 实现组庭审核时仲裁员待办案件数据显示 2023-12-14 15:51:09 +08:00
qtzandGitea fbf10a1ed9 Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-13 16:01:37 +08:00
qitz 0e96b4d8f4 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz5 2023-12-13 15:58:56 +08:00
qitz 61f8638635 增加是否书面审理 2023-12-13 15:58:38 +08:00
qtzandGitea 6c9a09f29a Merge branch 'qtz5' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-13 11:46:48 +08:00
qitz 2787aa38c6 优化驳回原因功能 2023-12-13 11:44:20 +08:00
wangqiong123andGitea d69b959534 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-12 19:09:28 +08:00
18792927508 60c1db6e2a 案件流程,日志修改 2023-12-12 19:08:23 +08:00
qtzandGitea d4db9785b3 Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-12 18:26:54 +08:00
qitz 7ace643452 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-12 18:21:22 +08:00
qitz c4276aac48 优化仲裁员确认功能 2023-12-12 18:20:55 +08:00
qtzandGitea 02386824af Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-12 17:16:15 +08:00
qitz 209de376e3 优化立案审查驳回接口 2023-12-12 17:12:31 +08:00
wangqiong123andGitea 4c4dfcd9d5 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-12 16:23:53 +08:00
18792927508 a78e3e23d6 工具类,案件压缩包导入优化 2023-12-12 16:22:41 +08:00
qtzandGitea 5730bb12a7 Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-12 15:04:10 +08:00
qitz 2e1ceaa393 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-12 15:00:57 +08:00
qitz b1f0fb8f6f 优化案件提交退还原因 2023-12-12 14:59:01 +08:00
qtzandGitea 2e1c5eae8a Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-12 11:56:05 +08:00
qitz 23d53688e4 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-12 11:50:11 +08:00
qitz 5558debc20 实现庭审笔录上传 2023-12-12 11:49:48 +08:00
qtzandGitea 1c9e92b60e Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-11 18:06:03 +08:00
qitz 4be7832789 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-11 18:01:15 +08:00
qitz 0c968937af 实现下载案件压缩包 2023-12-11 18:00:37 +08:00
qtzandGitea c8aa73fc21 Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-11 10:22:28 +08:00
qitz b2d42ccfba 优化更新自定义字段 2023-12-11 10:18:20 +08:00
wangqiong123andGitea a832a8281a Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-11 09:24:51 +08:00
18792927508 27fa06ab04 案件功能优化 2023-12-11 09:23:47 +08:00
wangqiong123andGitea 397950e033 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-09 20:49:16 +08:00
18792927508 aa36758066 裁决书修改 2023-12-09 20:48:16 +08:00
qtzandGitea 69b5b0d072 Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-09 15:38:14 +08:00
qitz 6f80764866 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-09 15:35:22 +08:00
qitz a10be7303f 优化案件更新 2023-12-09 15:35:04 +08:00
qtzandGitea 65dbeb9bdc Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-09 15:18:14 +08:00
wangqiong123andGitea 4286d35243 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-09 15:18:05 +08:00
18792927508 4ea958e91d 短信签名修改 2023-12-09 15:17:00 +08:00
qitz 23f4c31338 优化更新功能 2023-12-09 15:14:38 +08:00
qitz 67b3566eb8 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-09 14:50:36 +08:00
qitz 965a5912c0 优化批量 2023-12-09 14:49:59 +08:00
wangqiong123andGitea f62248e93e Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-09 14:21:05 +08:00
18792927508 2b6deb09b9 压缩包上传修改 2023-12-09 14:19:53 +08:00
qtzandGitea 9604bc938a Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-09 12:03:40 +08:00
qitz 9d3b296a27 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-09 12:01:00 +08:00
qitz 9a1f6a107e 修改案件信息自定义字段 2023-12-09 12:00:44 +08:00
qtzandGitea db0cea67be Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-09 10:54:19 +08:00
qitz 992817300c 优化案件修改功能 2023-12-09 10:50:33 +08:00
wangqiong123andGitea 9fdd40ee4e Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-09 09:26:15 +08:00
18792927508 5d4929f36b 压缩包上传,裁决书生成,案件修改,修改后对比信息 2023-12-09 09:25:12 +08:00
18792927508 a7826fbc16 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into wq 2023-12-08 22:37:33 +08:00
qtzandGitea dc498364ae Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-08 18:07:35 +08:00
qitz 0755325701 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-08 18:03:04 +08:00
qitz 3eeb1a0882 1 2023-12-08 18:02:54 +08:00
qitz f989831de2 修改抓取规则保存功能 2023-12-08 17:59:09 +08:00
18792927508 078c214202 生成裁决书修改 2023-12-08 13:50:01 +08:00
wangqiong123andGitea 4bc2940f9e Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-08 11:04:16 +08:00
18792927508 923d1e0483 抓取规则修改 2023-12-08 11:02:49 +08:00
wangqiong123andGitea a87fdca103 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-07 17:41:59 +08:00
18792927508 0ec450d85c word转pdf 2023-12-07 17:41:00 +08:00
qtzandGitea c7988344d3 Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-07 16:49:40 +08:00
qitz 3cc3be3ee0 优化导入压缩包功能 2023-12-07 16:46:05 +08:00
wangqiong123andGitea 3a831e31ad Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-07 15:08:44 +08:00
18792927508 a525fd6a16 案件压缩包导入 2023-12-07 15:07:51 +08:00
qtzandGitea 6d720c5757 Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-07 11:40:58 +08:00
qitz 023037e2ca 保存庭审记录 2023-12-07 11:37:16 +08:00
wangqiong123andGitea b3355ff79f Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-07 09:46:15 +08:00
18792927508 feb30e9fe5 1 2023-12-07 09:45:23 +08:00
wangqiong123andGitea f9c3609b8b Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-07 09:36:32 +08:00
18792927508 79bf8423e0 案件压缩包导入修改 2023-12-07 09:29:33 +08:00
qtzandGitea 45bea53a70 Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-06 17:35:04 +08:00
qitz a24b78473f 保存抓取规则功能 2023-12-06 17:30:37 +08:00
qitz f9dbd8a010 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-06 10:45:03 +08:00
wangqiong123andGitea 31b4f482dd Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-06 10:44:48 +08:00
18792927508 08758c78ab 抓取规则mapper 2023-12-06 10:43:41 +08:00
qitz 4a23dfbc2a Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-06 10:35:00 +08:00
qitz 086cfca5dc 1 2023-12-06 10:34:40 +08:00
qtzandGitea 120b30c4ea Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-05 17:49:01 +08:00
qitz df93d06ae2 实现仲裁员审核裁决书功能 2023-12-05 17:45:54 +08:00
wangqiong123andGitea a683b38e8d Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-05 15:25:00 +08:00
18792927508 33d44eed4d 仲裁员审核裁决书 2023-12-05 15:19:36 +08:00
qtzandGitea 8615b98be2 Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-05 11:40:19 +08:00
wangqiong123andGitea 57b5325154 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-05 11:37:31 +08:00
qitz 1ccbc8c895 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3 2023-12-05 11:37:07 +08:00
18792927508 0be2808800 生成裁决书路径修改 2023-12-05 11:36:33 +08:00
qitz 93b3c29ac3 优化查看流程功能 2023-12-05 11:35:53 +08:00
wangqiong123andGitea ffb0a9f6da Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-05 11:06:42 +08:00
18792927508 93d9e11688 案件流程修改 2023-12-05 11:05:47 +08:00
wangqiong123andGitea 20e6986ec9 Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-04 17:11:04 +08:00
18792927508 ba6237853e 生成裁决书修改 2023-12-04 17:08:39 +08:00
hejinboandGitea cc5c4ab49a Merge branch 'hjb' of SH-Arbitrate/Arbitrate-Backend into dev 2023-12-04 13:41:20 +08:00
198 changed files with 15713 additions and 6965 deletions
+3 -2
View File
@@ -9,7 +9,8 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>ruoyi-admin</artifactId>
<artifactId>SmartArbitrate</artifactId>
<version>1.1.0</version>
<description>
web服务入口
@@ -94,7 +95,7 @@
</configuration>
</plugin>
</plugins>
<finalName>${project.artifactId}</finalName>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
</project>
@@ -1,10 +1,20 @@
package com.ruoyi;
import cn.hutool.core.collection.CollectionUtil;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.scheduling.annotation.EnableScheduling;
import java.util.List;
/**
* 启动程序
*
@@ -18,15 +28,28 @@ public class RuoYiApplication
{
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" +
" |(_ o _) / _( )_ .' \n" +
" | (_,_).' __ ___(_ o _)' \n" +
" | |\\ \\ | || |(_,_)' \n" +
" | | \\ `' /| `-' / \n" +
" | | \\ / \\ / \n" +
" ''-' `'-' `-..-' ");
System.out.println(" __ _ \n" +
" ____ / /_ ____ ____ ____ _ _________ _(_)\n" +
"/_ / / __ \\/ __ \\/ __ \\/ __ `/ / ___/ __ `/ / \n" +
" / /_/ / / / /_/ / / / / /_/ / / /__/ /_/ / / \n" +
"/___/_/ /_/\\____/_/ /_/\\__, / \\___/\\__,_/_/ \n" +
" /____/ ");
// 启动成功后,查询用户表,将用户信息存到redis
RedisCache redisCache = SpringUtils.getBean(RedisCache.class);
SysUserMapper userMapper = SpringUtils.getBean(SysUserMapper.class);
List<SysUser> sysUsers = userMapper.selectUserListByIds(null);
if(CollectionUtil.isNotEmpty(sysUsers)){
for (SysUser sysUser : sysUsers) {
redisCache.setCacheObject(CacheConstants.USER_KEY+sysUser.getUserId(),sysUser);
}
}
// 初始化角色redis
SysRoleMapper roleMapper = SpringUtils.getBean(SysRoleMapper.class);
List<SysRole> roles = roleMapper.selectRoleList(new SysRole());
if(CollectionUtil.isNotEmpty(roles)){
for (SysRole role : roles) {
redisCache.setCacheObject(CacheConstants.ROLE_KEY+role.getRoleName(),role.getRoleId());
}
}
}
}
@@ -4,14 +4,15 @@ import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants;
@@ -36,6 +37,8 @@ public class CommonController
private ServerConfig serverConfig;
private static final String FILE_DELIMETER = ",";
@Autowired
CaseAttachMapper caseAttachMapper;
/**
* 通用下载请求
@@ -160,4 +163,22 @@ public class CommonController
log.error("下载文件失败", e);
}
}
/**
* 根据案件id获取附件
* @param caseAppliId
* @param annexTypeList
* @param
* @return
*/
@GetMapping("/fileList")
public AjaxResult fileList(@RequestParam("caseAppliId")Long caseAppliId, @RequestParam(value = "annexTypeList",required = false) List<Integer> annexTypeList){
if(caseAppliId==null){
return AjaxResult.error("案件id不能为空");
}
CaseApplication msCaseApplicationVO = new CaseApplication();
msCaseApplicationVO.setId(caseAppliId);
msCaseApplicationVO.setAnnexTypeList(annexTypeList);
List<CaseAttach> caseAttachList = caseAttachMapper.queryCaseAttachList(msCaseApplicationVO);
return AjaxResult.success(caseAttachList);
}
}
@@ -37,7 +37,7 @@ public class SysDeptController extends BaseController
/**
* 获取部门列表
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')")
// @PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list")
public AjaxResult list(SysDept dept)
{
@@ -139,4 +139,13 @@ public class SysMenuController extends BaseController
}
return toAjax(menuService.deleteMenuById(menuId));
}
/**
* 根据用户查询菜单权限字符
*/
@GetMapping("/getMenuPermsByUser")
public AjaxResult getMenuPermsByUser()
{
return menuService.getMenuPermsByUser();
}
}
@@ -1,11 +1,17 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.constant.CaseApplicationConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.wisdomarbitrate.StringIdsReq;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
import com.ruoyi.wisdomarbitrate.domain.vo.BookSendVO;
import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO;
import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
@@ -14,6 +20,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
@RestController
@@ -22,7 +29,65 @@ public class AdjudicationController extends BaseController {
@Autowired
private IAdjudicationService adjudicationService;
/**
* 根据签署流程id查询批量签名链接
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:selectSignUrl')")
@PostMapping("/selectBatchSignUrl")
public AjaxResult selectBatchSignUrl(@RequestBody StringIdsReq idsReq) {
if(CollectionUtil.isEmpty(idsReq.getIds())|| StrUtil.isEmpty(idsReq.getPsnAccount())){
return error("参数校验失败");
}
SealSignRecord sealSignRecordselect = adjudicationService.selectBatchSignUrl(idsReq);
return success(sealSignRecordselect);
}
/**
* 根据批号查询批量签名链接
*/
// @PostMapping("/getSignUrlBatch")
// public AjaxResult getSignUrlBatch(@RequestBody StringIdsReq idsReq) {
// if(StrUtil.isEmpty(idsReq.getBatchNumber().toString())|| StrUtil.isEmpty(idsReq.getPsnAccount())){
// return error("参数校验失败");
// }
// SealSignRecord sealSignRecordselect = adjudicationService.getSignUrlBatch(idsReq);
// return success(sealSignRecordselect);
// }
/**
* 根据签署流程id查询批量用印链接
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:selectSignUrl')")
@PostMapping("/selectBatchSealUrl")
public AjaxResult selectBatchSealUrl(@RequestBody StringIdsReq idsReq) {
if(CollectionUtil.isEmpty(idsReq.getIds())|| StrUtil.isEmpty(idsReq.getPsnAccount())){
return error("参数校验失败");
}
SealSignRecord sealSignRecordselect = adjudicationService.selectBatchSealUrl(idsReq);
return success(sealSignRecordselect);
}
/**
* 根据仲裁员手机号分页查询待签名/待用印的案件
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:selectSignUrl')")
@GetMapping("/pageSignAdjudicate")
public TableDataInfo pageSignAdjudicate(@RequestParam(value = "personAccount",required = false) String personAccount, @RequestParam("caseStatus") Integer caseStatus) {
startPage();
List<CaseApplication> list = adjudicationService.selectSealSigning(personAccount,caseStatus);
return getDataTable(list);
}
/**
* 根据批号查询批量用印链接
*/
@PostMapping("/getSealUrlBatch")
public AjaxResult getSealUrlBatch(@RequestBody StringIdsReq idsReq) {
if(StrUtil.isEmpty(idsReq.getBatchNumber().toString())|| StrUtil.isEmpty(idsReq.getPsnAccount())){
return error("参数校验失败");
}
SealSignRecord sealSignRecordselect = adjudicationService.getSealUrlBatch(idsReq);
return success(sealSignRecordselect);
}
/**
@@ -32,18 +97,37 @@ public class AdjudicationController extends BaseController {
*/
@PostMapping("/document")
public AjaxResult createDocument(@Validated @RequestBody CaseApplication caseApplication){
if (caseApplication.getId() == null) {
return AjaxResult.error("案件id不能为空");
}
return adjudicationService.createDocument(caseApplication);
}
/**
* 重新生成裁决书
* 开庭审理,确定审理结果,生成裁决书
* @param caseApplication
* @return
*/
@PostMapping("/regenerationDocument")
public AjaxResult regenerationDocument(@Validated @RequestBody CaseApplication caseApplication){
return adjudicationService.regenerationDocument(caseApplication);
@PostMapping("/caseJudgment")
public AjaxResult caseJudgment(@Validated @RequestBody CaseApplication caseApplication){
if (caseApplication.getId() == null) {
return AjaxResult.error("案件id不能为空");
}
return adjudicationService.caseJudgment(caseApplication);
}
/**
* 批量生成裁决书
* @param caseApplication
* @return
*/
@PostMapping("/batchDocument")
public AjaxResult batchDocument(@Validated @RequestBody BatchCaseApplication caseApplication){
if (CollectionUtil.isEmpty(caseApplication.getIds())) {
return AjaxResult.error("参数校验失败");
}
return adjudicationService.batchDocument(caseApplication.getIds());
}
/**
* 裁决书送达(电子邮件)
@@ -60,23 +144,15 @@ public class AdjudicationController extends BaseController {
* @param caseApplication
* @return
*/
@GetMapping("/logistics")
// @PreAuthorize("@ss.hasPermi('delivery:detail')")
public AjaxResult getLogisticsInfo(CaseApplication caseApplication){
List<LogisticsInfoVO> logisticsInfo = adjudicationService.getLogisticsInfo(caseApplication);
return AjaxResult.success(logisticsInfo);
}
// @GetMapping("/logistics")
//// @PreAuthorize("@ss.hasPermi('delivery:detail')")
// public AjaxResult getLogisticsInfo(CaseApplication caseApplication){
// List<LogisticsInfoVO> logisticsInfo = adjudicationService.getLogisticsInfo(caseApplication);
// return AjaxResult.success(logisticsInfo);
// }
/**
* 签名(暂时只改案件状态)
* @param caseApplication
* @return
*/
@PostMapping("/signature")
// @PreAuthorize("@ss.hasPermi('awardManagement:list:sign')")
public AjaxResult signature(@Validated @RequestBody CaseApplication caseApplication){
return adjudicationService.signature(caseApplication);
}
/**
* 归档(暂时只改案件状态)
@@ -92,6 +168,19 @@ public class AdjudicationController extends BaseController {
return adjudicationService.caseFile(batchCaseApplication.getIds());
}
/**
* 批量归档(暂时只改案件状态)
* @param caseApplication
* @return
*/
@PostMapping("/caseFileBatch")
public AjaxResult caseFileBatch(@RequestBody CaseApplication caseApplication){
if(StrUtil.isEmpty(caseApplication.getBatchNumber().toString())){
return error("参数校验失败");
}
return adjudicationService.caseFileBatch(caseApplication.getBatchNumber());
}
/**
* 送达(不包含发送电子邮件)
* @param bookSendVO
@@ -102,27 +191,32 @@ public class AdjudicationController extends BaseController {
public AjaxResult service(@RequestBody BookSendVO bookSendVO){
return adjudicationService.service(bookSendVO.getId(),bookSendVO.getAppEmail(),bookSendVO.getResEmail(),bookSendVO.getApptrackingNum(),bookSendVO.getRestrackingNum());
}
/**
* 用印(暂时只改案件状态)
* 批量送达仲裁书
* @param caseApplication
* @return
*/
@PostMapping("/stamp")
// @PreAuthorize("@ss.hasPermi('awardManagement:list:signprint')")
public AjaxResult stamp(@Validated @RequestBody CaseApplication caseApplication){
return adjudicationService.stamp(caseApplication);
@PostMapping("/serviceBatch")
public AjaxResult serviceBatch(@Validated @RequestBody CaseApplication caseApplication) throws EsignDemoException, IOException {
if(StrUtil.isEmpty(caseApplication.getBatchNumber().toString())){
return error("参数校验失败");
}
return adjudicationService.serviceBatch(caseApplication.getBatchNumber());
}
/**
* 档案详情查询
* @param id 案件id
* @return
*/
@GetMapping("/archives")
public AjaxResult getArchivesDetail(Long id){
return adjudicationService.getArchivesDetail(id);
}
// @GetMapping("/archives")
// public AjaxResult getArchivesDetail(Long id){
//
// return adjudicationService.getArchivesDetail(id);
// }
/**
* 根据案件id获取邮箱
* @param id 案件id
@@ -133,5 +227,17 @@ public class AdjudicationController extends BaseController {
return adjudicationService.emailByCaseId(id);
}
/**
* 开庭审理提交,只改变案件状态为CaseApplicationConstants.VERPRIF_ARBITRATION
* @param caseApplication 案件
* @return
*/
@PostMapping("/changeCaseStatus")
public AjaxResult changeCaseStatus(@RequestBody CaseApplication caseApplication){
if(caseApplication.getId()==null){
return error("参数校验失败");
}
return adjudicationService.changeCaseStatus(caseApplication.getId(), CaseApplicationConstants.VERPRIF_ARBITRATION);
}
}
@@ -0,0 +1,55 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.json.JSONUtil;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.CheckSignatuerUtils;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.CaseApplicationVO;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/callArbitrateCaseApplication")
public class ArbitrateApplicationController extends BaseController {
@Autowired
private ICaseApplicationService caseApplicationService;
/**
* 新增立案数据
*/
@Anonymous
@PostMapping("/generateCaseApplication")
public AjaxResult generateCaseApplication(@Validated @RequestBody CaseApplicationVO caseApplicationVO) throws Exception {
String paramsbody = JSONUtil.toJsonStr(caseApplicationVO);
boolean checkResult= CheckSignatuerUtils.checkSignuter(paramsbody);
if(checkResult){
CaseApplicationDTO caseApplication = new CaseApplicationDTO();
BeanUtils.copyProperties(caseApplicationVO,caseApplication);
caseApplication.setCreateBy(getUsername());
return caseApplicationService.insertOrUpdate(caseApplication);
}else {
return AjaxResult.error("签名验证失败");
}
}
}
@@ -1,6 +1,7 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.mapper.SysUserMapper;
@@ -26,11 +27,13 @@ public class ArbitratorController extends BaseController {
*/
// @PreAuthorize("@ss.hasPermi('arbitrator:list')")
@GetMapping("/list")
public TableDataInfo list(Arbitrator arbitrator)
public AjaxResult list(Arbitrator arbitrator)
{
startPage();
if(arbitrator.getCaseId()==null){
return AjaxResult.error("案件id不能为空");
}
List<SysUser> list = sysUserService.selectUserListByAdRole(arbitrator);
return getDataTable(list);
return AjaxResult.success(list);
}
@@ -2,34 +2,30 @@ package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alipay.api.internal.util.file.IOUtils;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.FileTransformation;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.WxAppletNotifyUtils;
import com.ruoyi.util.FileUtil;
import com.ruoyi.wisdomarbitrate.domain.*;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.ReservedConferenceVO;
import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;
@@ -40,8 +36,19 @@ import java.util.List;
public class CaseApplicationController extends BaseController {
@Autowired
private ICaseApplicationService caseApplicationService;
@Autowired
private IAdjudicationService adjudicationService;
/**
* 根据登录人返回用户信息
*/
@GetMapping("/getUserInfo")
public AjaxResult getUserInfo()
{
return success(caseApplicationService.getUserInfo());
}
/**
* 查询立案数据
*/
@@ -51,11 +58,21 @@ public class CaseApplicationController extends BaseController {
if(StrUtil.isEmpty(caseApplication.getSelectCaseStatus())){
caseApplication.setSelectCaseStatus("0");
}
startPage();
List<CaseApplication> list = caseApplicationService.selectCaseApplicationListByRole(caseApplication);
// List<CaseApplication> list = caseApplicationService.selectCaseApplicationListByRole(caseApplication);
List<CaseApplication> list = caseApplicationService.page(caseApplication);
return getDataTable(list);
}
// /**
// * 查询批量管理案件列表
// */
// @GetMapping("/listBatch")
// public TableDataInfo listBatch(CaseApplication caseApplication) {
// startPage();
// List<CaseApplication> list = caseApplicationService.selectCaseApplicationListBatchByRole(caseApplication);
// return getDataTable(list);
// }
/**
* 根据角色查询待办数量
* @return
@@ -74,23 +91,33 @@ public class CaseApplicationController extends BaseController {
// @PreAuthorize("@ss.hasPermi('caseManagement:list:add')")
@Log(title = "新增立案数据", businessType = BusinessType.INSERT)
@PostMapping("/addCaseApplication")
public AjaxResult addCaseApplication(@Validated @RequestBody CaseApplication caseApplication)
public AjaxResult addCaseApplication(@Validated @RequestBody CaseApplicationDTO caseApplication)
{
caseApplication.setCreateBy(getUsername());
return toAjax(caseApplicationService.insertcaseApplication(caseApplication));
return caseApplicationService.insertOrUpdate(caseApplication);
}
/**
* 修改立案数据
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:update')")
@Log(title = "修改立案数据", businessType = BusinessType.UPDATE)
@PostMapping("/editCaseApplication")
public AjaxResult editCaseApplication(@Validated @RequestBody CaseApplication caseApplication) {
// @Log(title = "修改立案数据", businessType = BusinessType.UPDATE)
// @PostMapping("/editCaseApplication")
// public AjaxResult editCaseApplication(@Validated @RequestBody CaseApplicationDTO caseApplication) {
//
// caseApplication.setUpdateBy(getUsername());
// return caseApplicationService.editCaseApplication(caseApplication);
// }
caseApplication.setUpdateBy(getUsername());
return caseApplicationService.editCaseApplication(caseApplication);
/**
* 修改立案数据自定义字段
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:update')")
@Log(title = "修改立案数据自定义字段", businessType = BusinessType.UPDATE)
@PostMapping("/editCaseApplicationDefineval")
public AjaxResult editCaseApplicationDefineval(@Validated @RequestBody CaseApplication caseApplication) {
return caseApplicationService.editCaseApplicationDefineval(caseApplication);
}
/**
@@ -106,6 +133,19 @@ public class CaseApplicationController extends BaseController {
return toAjax(caseApplicationService.submitCaseApplication(batchCaseApplication.getIds()));
}
/**
* 批量提交立案申请
*/
@Log(title = "批量提交立案申请", businessType = BusinessType.UPDATE)
@PostMapping("/submitCaseApplicationBatch")
public AjaxResult submitCaseApplicationBatch(@RequestBody BatchCaseApplication batchCaseApplication) {
if(StringUtils.isEmpty(batchCaseApplication.getBatchNumber())){
return error("参数校验失败");
}
return caseApplicationService.submitCaseApplicationBatch(batchCaseApplication.getBatchNumber());
}
/**
@@ -122,7 +162,7 @@ public class CaseApplicationController extends BaseController {
}
/**
* 查询立案信息
* 查询立案详情
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:detail')")
@PostMapping("/selectCaseApplication")
@@ -131,6 +171,18 @@ public class CaseApplicationController extends BaseController {
CaseApplication caseApplicationselect = caseApplicationService.selectCaseApplication(caseApplication);
return success(caseApplicationselect);
}
/**
* 视频会议中查询立案详情
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:detail')")
@GetMapping("/selectById")
public AjaxResult selectById(@RequestParam(required = false) Long id ,@RequestParam(required = false) String caseNum) {
CaseApplication caseApplication = new CaseApplication();
caseApplication.setId(id);
caseApplication.setCaseNum(caseNum);
CaseApplication caseApplicationselect = caseApplicationService.selectCaseApplication(caseApplication);
return success(caseApplicationselect);
}
/**
* 查询已签署裁决书URL
@@ -161,6 +213,7 @@ public class CaseApplicationController extends BaseController {
return success(sealSignRecordselect);
}
/**
* 查询用印链接
*/
@@ -240,7 +293,10 @@ public class CaseApplicationController extends BaseController {
@Log(title = "组庭审核", businessType = BusinessType.UPDATE)
@PostMapping("/pendTralCheck")
public AjaxResult pendTralCheck(@Validated @RequestBody CaseApplication caseApplication) {
return toAjax(caseApplicationService.pendTralCheck(caseApplication));
if(CollectionUtil.isEmpty(caseApplication.getArbitrators())){
return error("请选择仲裁员");
}
return caseApplicationService.pendTralCheck(caseApplication);
}
/**
@@ -253,6 +309,25 @@ public class CaseApplicationController extends BaseController {
return toAjax(caseApplicationService.pendTralSure(caseApplication));
}
/**
* 批量组庭审核
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:checkgroup')")
@Log(title = "批量组庭审核", businessType = BusinessType.UPDATE)
@PostMapping("/pendTralCheckBatch")
public AjaxResult pendTralCheckBatch(@Validated @RequestBody CaseApplication caseApplication) {
return toAjax(caseApplicationService.pendTralCheckBatch(caseApplication));
}
/**
* 批量组庭确认
*/
@Log(title = "批量组庭确认", businessType = BusinessType.UPDATE)
@PostMapping("/pendTralSureBatch")
public AjaxResult pendTralSureBatch(@Validated @RequestBody CaseApplication caseApplication) {
return toAjax(caseApplicationService.pendTralSureBatch(caseApplication));
}
/**
* 修改开庭时间
*/
@@ -273,15 +348,54 @@ public class CaseApplicationController extends BaseController {
}
/**
* 审核裁决书
* 部门长审核裁决书
*/
// @PreAuthorize("@ss.hasPermi('caseApplication:checkArbitrateRecord')")
@Log(title = "审核裁决书", businessType = BusinessType.UPDATE)
@Log(title = "部门长审核裁决书", businessType = BusinessType.UPDATE)
@PostMapping("/checkArbitrateRecord")
public AjaxResult checkArbitrateRecord(@Validated @RequestBody CaseApplication caseApplication) {
return caseApplicationService.checkArbitrateRecord(caseApplication);
}
/**
* 仲裁员审核裁决书
*/
// @PreAuthorize("@ss.hasPermi('caseApplication:checkArbitrateRecord')")
@Log(title = "仲裁员审核裁决书", businessType = BusinessType.UPDATE)
@PostMapping("/arbitrator/checkArbitrateRecord")
public AjaxResult arbitratorCheckArbitrateRecord(@Validated @RequestBody CaseApplication caseApplication) {
return caseApplicationService.arbitratorCheckArbitrateRecord(caseApplication);
}
/**
* 批量操作仲裁员审核裁决书
*/
@Log(title = "批量操作仲裁员审核裁决书", businessType = BusinessType.UPDATE)
@PostMapping("/arbitrator/checkArbitrateRecordBatch")
public AjaxResult arbitratorCheckArbitrateRecordBatch(@Validated @RequestBody CaseApplication caseApplication) {
return caseApplicationService.arbitratorCheckArbitrateRecordBatch(caseApplication);
}
/**
* 批量部门长审核裁决书
*/
@Log(title = "批量部门长审核裁决书", businessType = BusinessType.UPDATE)
@PostMapping("/checkArbitrateRecordBatch")
public AjaxResult checkArbitrateRecordBatch(@Validated @RequestBody CaseApplication caseApplication) {
return caseApplicationService.checkArbitrateRecordBatch(caseApplication);
}
/**
* 批量核验裁决书
*/
@Log(title = "批量核验裁决书", businessType = BusinessType.UPDATE)
@PostMapping("/verificationArbitrateRecordBatch")
public AjaxResult verificationArbitrateRecordBatch(@Validated @RequestBody CaseApplication caseApplication) {
return toAjax(caseApplicationService.verificationArbitrateRecordBatch(caseApplication));
}
/**
@@ -304,19 +418,35 @@ public class CaseApplicationController extends BaseController {
if(CollectionUtil.isEmpty(batchCaseApplication.getIds())|| batchCaseApplication.getAgreeOrNotCheck()==null){
return error("参数校验失败");
}
return success(caseApplicationService.submitCaseApplicationCheck(batchCaseApplication.getIds(),batchCaseApplication.getAgreeOrNotCheck()));
return success(caseApplicationService.submitCaseApplicationCheck(batchCaseApplication.getIds(),batchCaseApplication.getAgreeOrNotCheck(),batchCaseApplication.getCaseCheckReject()));
}
/**
* 确认缴费查询立案信息
* 批量提交立案审查
*/
// @PreAuthorize("@ss.hasPermi('paymentManagement:list:detail')")
@PostMapping("/selectCaseApplicationConfirm")
public AjaxResult selectCaseApplicationConfirm(@Validated @RequestBody CaseApplication caseApplication) {
CaseApplication caseApplicationselect = caseApplicationService.selectCaseApplicationConfirm(caseApplication);
return success(caseApplicationselect);
@Log(title = "批量提交立案审查", businessType = BusinessType.UPDATE)
@PostMapping("/submitCaseApplicationCheckBatch")
public AjaxResult submitCaseApplicationCheckBatch(@RequestBody BatchCaseApplication batchCaseApplication) {
if(StringUtils.isEmpty(batchCaseApplication.getBatchNumber()) || batchCaseApplication.getAgreeOrNotCheck()==null){
return error("参数校验失败");
}
return caseApplicationService.submitCaseApplicationCheckBatch(batchCaseApplication.getBatchNumber(),batchCaseApplication.getAgreeOrNotCheck(),batchCaseApplication.getCaseCheckReject());
}
// /**
// * 下载案件压缩包
// */
// @PostMapping("/downloadCaseZipFile")
// public AjaxResult downloadCaseZipFile(@Validated @RequestBody CaseApplication caseApplication) {
//
// CaseAttach caseAttach = caseApplicationService.downloadCaseZipFile(caseApplication);
// return success(caseAttach);
// }
/**
* 发送房间号短信
@@ -337,16 +467,21 @@ public class CaseApplicationController extends BaseController {
return success(schemeUrl);
}
/**
* 生成庭审笔录
* 确认会议结果
* @param arbitrateRecord
* @return
*/
@PostMapping("/creatTrialRecord")
@PostMapping("/confirmMeetingResult")
// @PreAuthorize("@ss.hasPermi('caseManagement:list:creatTrialRecord')")
public AjaxResult creatTrialRecord(@Validated @RequestBody ArbitrateRecord arbitrateRecord){
return caseApplicationService.creatTrialRecord(arbitrateRecord);
public AjaxResult creatTrialRecordnew( @RequestBody ArbitrateRecord arbitrateRecord){
if(arbitrateRecord.getCaseAppliId()==null || arbitrateRecord.getAppliIsAbsen()==null || arbitrateRecord.getIsAbsence()==null){
return error("参数校验失败");
}
return caseApplicationService.creatTrialRecordnew(arbitrateRecord);
}
/**
* 案件锁定或者解锁
* @param caseApplication
@@ -361,17 +496,7 @@ public class CaseApplicationController extends BaseController {
return AjaxResult.success(caseApplicationService.updateCaseLockStatus(caseApplication));
}
/**
* 查询短信发送记录
* @param smsSendRecord
* @return
*/
@PostMapping("/smsRecord")
public TableDataInfo getSmsSendRecord(@RequestBody SmsSendRecord smsSendRecord){
startPage();
List<SmsSendRecord> list = caseApplicationService.getSmsSendRecord(smsSendRecord);
return getDataTable(list);
}
/**
* 获取userSign
* @param userId
@@ -431,12 +556,14 @@ public class CaseApplicationController extends BaseController {
/**
* 案件压缩包导入
* @param file
* @param applicantType 申请人类型,自然人-1,机构-2
* @param resType 被申请人类型,自然人-1,机构-2
* @return
* @throws IOException
*/
@PostMapping("/uploadCaseZipFile")
public AjaxResult uploadCaseZipFile(@RequestParam("file") MultipartFile file) throws IOException {
return caseApplicationService.uploadCaseZipFile(file);
public AjaxResult uploadCaseZipFile(@RequestParam("file") MultipartFile file,@RequestParam("templateId") Long templateId,Integer applicantType,Integer resType) throws IOException {
return caseApplicationService.uploadCaseZipFile(file,templateId,applicantType,resType);
}
/**
@@ -451,4 +578,17 @@ public class CaseApplicationController extends BaseController {
}
return caseApplicationService.updateCaseIdByAnnexId(caseAttach);
}
/**
* 保存onlyOffice在线编辑的文件
* @param
* @return
*/
@PostMapping("/saveOnlyOfficeFile")
public AjaxResult saveOnlyOfficeFile( @RequestBody CaseAttach caseAttach) {
if(caseAttach.getCaseAppliId()==null||StrUtil.isEmpty(caseAttach.getOnlyOfficeFileId())||StrUtil.isEmpty(caseAttach.getAnnexPath())){
return error("参数校验失败");
}
return caseApplicationService.saveOnlyOfficeFile(caseAttach);
}
}
@@ -65,7 +65,7 @@ public class CaseApplicationLogController {
if(vo.getCaseId()==null || vo.getVersion()==null){
return AjaxResult.error("参数校验错误");
}
// todo 需确定
return caseApplicationLogService.revoke(vo);
}
@@ -30,8 +30,18 @@ public class CaseArbitrateController extends BaseController {
@PutMapping("/method")
// @PreAuthorize("@ss.hasPermi('caseManagement:list:checkarbitrationway')")
public AjaxResult examineArbitrateMethod(@Validated @RequestBody CaseApplication caseApplication
, Integer opinion){
return caseArbitrateService.examineArbitrateMethod(caseApplication,opinion);
, Integer opinion, Integer arbitratMethod){
return caseArbitrateService.examineArbitrateMethod(caseApplication,opinion,arbitratMethod);
}
/**
* 批量审核仲裁方式
* @param caseApplication
* @return
*/
@PostMapping("/methodBatch")
public AjaxResult examineArbitrateMethodBatch(@Validated @RequestBody CaseApplication caseApplication){
return caseArbitrateService.examineArbitrateMethodBatch(caseApplication);
}
/**
@@ -44,4 +54,14 @@ public class CaseArbitrateController extends BaseController {
return caseArbitrateService.writtenHear(caseIds);
}
/**
* 批量书面审理
* @param
* @return
*/
@PostMapping("/writtenHearBatch")
public AjaxResult writtenHearBatch(@Validated @RequestBody CaseApplication caseApplication){
return caseArbitrateService.writtenHearBatch(caseApplication);
}
}
@@ -6,6 +6,7 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
import com.ruoyi.wisdomarbitrate.domain.CaseEvidenceDirectory;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseEvidenceDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.CaseEvidenceVO;
@@ -32,23 +33,23 @@ public class CaseEvidenceController extends BaseController {
this.caseEvidenceService = caseEvidenceService;
}
/**
* 根据案件id查询案件详情
*
* @param id
* @return
*/
@GetMapping("/{id}")
public AjaxResult getCaseDetailsById(@PathVariable Long id) {
String username = this.getUsername();
return caseEvidenceService.getCaseDetailsById(id, username);
}
// /**
// * 根据案件id查询案件详情
// *
// * @param id
// * @return
// */
// @GetMapping("/{id}")
// public AjaxResult getCaseDetailsById(@PathVariable Long id) {
// String username = this.getUsername();
// return caseEvidenceService.getCaseDetailsById(id, username);
// }
/**
* 案件证据上传
*
* @param file 附件
* @param annexType 附件类型,立案申请书(1)、证据材料(2)、仲裁文书(3)、案件视频(4)、身份证件(5)
* @param annexType 附件类型,立案申请书(1)、证据材料(2)、裁决书(3)、案件视频(4)、身份证件(5)
* @param id 案件申请id
* @return
*/
@@ -58,6 +59,22 @@ public class CaseEvidenceController extends BaseController {
Long userId = this.getUserId();
return caseEvidenceService.uploadEvidence(file, annexType, id, username, userId);
}
/**
* 上传庭审笔录
*
* @param file 附件
* @param annexType 附件类型,庭审笔录(7)
* @param id 案件申请id
* @return
*/
@PostMapping("/uploadRecord")
public AjaxResult uploadRecord(@RequestParam("file") MultipartFile file, Integer annexType, Long id) {
String username = this.getUsername();
Long userId = this.getUserId();
return caseEvidenceService.uploadRecord(file, annexType, id, username, userId);
}
@PostMapping("/batchUpload")
public AjaxResult batchUpload(@RequestParam("file") MultipartFile[] file, Integer annexType, Long id) {
if(file==null){
@@ -85,16 +102,16 @@ public class CaseEvidenceController extends BaseController {
/**
* 删除附件
* @param fileIds
* @param caseAttach
* @return
*/
@PostMapping("/deleteFile")
public AjaxResult deleteFile( @RequestParam("fileIds") List<Integer> fileIds){
public AjaxResult deleteFile(@RequestBody CaseAttach caseAttach){
if(CollectionUtil.isEmpty(fileIds)){
if(CollectionUtil.isEmpty(caseAttach.getFileIds())){
return error("附件id不能为空");
}
return toAjax(caseEvidenceService.deleteFile( fileIds));
return success(caseEvidenceService.deleteFile( caseAttach.getFileIds()));
}
@@ -104,12 +121,12 @@ public class CaseEvidenceController extends BaseController {
* @param caseStatus
* @return
*/
@GetMapping("/all")
public AjaxResult getCaseListAll(@RequestParam("caseStatus") Integer caseStatus) {
return success(caseEvidenceService.getCaseListAll(caseStatus));
}
// @GetMapping("/all")
// public AjaxResult getCaseListAll(@RequestParam("caseStatus") Integer caseStatus) {
//
// return success(caseEvidenceService.getCaseListAll(caseStatus));
//
// }
/**
* 证据确认
@@ -0,0 +1,74 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wisdomarbitrate.domain.CaseNumRule;
import com.ruoyi.wisdomarbitrate.domain.TemplateManual;
import com.ruoyi.wisdomarbitrate.service.ICaseNumRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/caseNumRule")
public class CaseNumRuleController extends BaseController {
@Autowired
private ICaseNumRuleService caseNumRuleService;
/**
* 新增案件编号规则
* @param caseNumRule
* @return
*/
@PostMapping("/insertCaseNumRule")
public AjaxResult insertCaseNumRule(@RequestBody CaseNumRule caseNumRule){
caseNumRule.setCreateBy(getUsername());
return caseNumRuleService.insertCaseNumRule(caseNumRule);
}
/**
* 修改案件编号规则
* @param caseNumRule
* @return
*/
@PostMapping("/updateCaseNumRule")
public AjaxResult updateCaseNumRule(@RequestBody CaseNumRule caseNumRule){
return caseNumRuleService.updateCaseNumRule(caseNumRule);
}
/**
* 删除案件编号规则
* @param caseNumRule
* @return
*/
@PostMapping("/deleteCaseNumRule")
public AjaxResult deleteCaseNumRule(@RequestBody CaseNumRule caseNumRule){
return caseNumRuleService.deleteCaseNumRule(caseNumRule);
}
/**
* 查询案件编号规则
*/
@GetMapping("/list")
public TableDataInfo list(CaseNumRule caseNumRule) {
startPage();
List<CaseNumRule> list = caseNumRuleService.selectCaseNumRule(caseNumRule);
return getDataTable(list);
}
}
@@ -1,6 +1,9 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.core.collection.CollectionUtil;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
import com.ruoyi.wisdomarbitrate.service.ICasePaymentService;
@@ -9,6 +12,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* 缴费支付
*/
@@ -41,15 +47,38 @@ public class CasePaymentController {
return paymentService.confirmPay(payDTO);
}
/**
* 批量缴费
* @param casePayDTO 缴费传入参数
* @return 统一响应结果
*/
@PostMapping("/casePayBatch")
public AjaxResult casePayBatch(@Validated @RequestBody CasePayDTO casePayDTO) {
return paymentService.casePayBatch(casePayDTO);
}
/**
* 批量缴费
* @param payDTO 缴费传入参数
* @return 统一响应结果
*/
@PostMapping("/confirmPayBatch")
public AjaxResult confirmPayBatch(@Validated @RequestBody CasePayDTO payDTO) {
return paymentService.confirmPayBatch(payDTO);
}
/**
* 缴费确认
* @param caseApplication
* @param batchCaseApplication
* @return
*/
// @PreAuthorize("@ss.hasPermi('paymentManagement:list:payconfirm')")
@PutMapping("/confirm")
public AjaxResult confirmPayment(@Validated @RequestBody CaseApplication caseApplication) {
return paymentService.confirmPayment(caseApplication);
public AjaxResult confirmPayment(@Validated @RequestBody BatchCaseApplication batchCaseApplication) {
if(CollectionUtil.isEmpty(batchCaseApplication.getIds()) || batchCaseApplication.getAgreeOrNotCheck()==null){
return AjaxResult.error("参数校验失败");
}
return paymentService.confirmPayment(batchCaseApplication);
}
/**
* 缴费列表查询
@@ -60,4 +89,22 @@ public class CasePaymentController {
public AjaxResult casePayList(CasePayDTO casePayDTO) {
return paymentService.casePayList(casePayDTO);
}
@PostMapping("/listBatch")
public AjaxResult casePayListBatch(@Validated @RequestBody CasePayDTO casePayDTO) {
return paymentService.casePayListBatch(casePayDTO);
}
/**
* 批量缴费确认
* @param batchCaseApplication
* @return
*/
@PostMapping("/confirmBatch")
public AjaxResult confirmPaymentBatch(@Validated @RequestBody BatchCaseApplication batchCaseApplication) {
if(StringUtils.isEmpty(batchCaseApplication.getBatchNumber())){
return AjaxResult.error("参数校验失败");
}
return paymentService.confirmPaymentBatch(batchCaseApplication.getBatchNumber());
}
}
@@ -1,4 +1,5 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -177,4 +178,60 @@ public class DeptIdentifyController extends BaseController {
public AjaxResult bindHandler(DeptIdentify deptIdentify){
return deptIdentifyService.bindHandler(deptIdentify);
}
/**
* 根据模板id查询抓取规则
* @param templateManage
* @return
*/
@PostMapping("/getFatchRuleByTemplateid")
public AjaxResult getFatchRuleByTemplateid(@RequestBody TemplateManage templateManage){
List<FatchRule> fatchRuleList = deptIdentifyService.getFatchRuleByTemplateid(templateManage);
return AjaxResult.success(fatchRuleList);
}
/**
* 保存抓取规则
* @param templateManage
* @return
*/
@PostMapping("/saveFatchRules")
public AjaxResult saveFatchRules(@RequestBody TemplateManage templateManage){
return deptIdentifyService.saveFatchRules(templateManage);
}
/**
* 查询column和注释
* @return
*/
@PostMapping("/selectColumnandComment")
public AjaxResult selectColumnandComment(){
List<FatchRule> fatchRuleList = deptIdentifyService.selectColumnandComment();
return AjaxResult.success(fatchRuleList);
}
/**
* 查询column
* @return
*/
@PostMapping("/selectColumnbycomment")
public AjaxResult selectColumnbycomment(@RequestBody FatchRule fatchRule){
FatchRule fatchRulesel = deptIdentifyService.selectColumnbycomment(fatchRule);
return AjaxResult.success(fatchRulesel);
}
/**
* 根据模板id查询模板字段列表
* @param id
* @return
*/
@GetMapping("/getTemplateInfoById")
public AjaxResult getTemplateInfoById(@RequestParam("id") Long id){
TemplateManage templateManage = new TemplateManage();
templateManage.setId(id);
List<FatchRule> fatchRuleList = deptIdentifyService.getTemplateInfoById(templateManage);
return AjaxResult.success(fatchRuleList);
}
}
@@ -0,0 +1,57 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord;
import com.ruoyi.wisdomarbitrate.service.MsSignSealService;
import com.ruoyi.wisdomarbitrate.utils.SignVerifyUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Classname MsSignSealController
* @Description TODO
* @Version 1.0.0
* @Date 2024/5/10 15:07
* @Created wangqiong
*/
@RestController
@RequestMapping("/mssignSeal")
public class MsSignSealController extends BaseController {
@Autowired
private MsSignSealService msSignSealService;
/**
* 签名用印回调
*/
@Anonymous
@PostMapping("/signSeaalCaseApplicaCallback")
public AjaxResult signSeaalCaseApplicaCallback() throws Exception {
boolean checkResult= SignVerifyUtils.checkSignuter();
if(checkResult){
String reqbodystr =SignVerifyUtils.getRequestBody();
return msSignSealService.signSeaalCaseApplicaCallback(reqbodystr);
}else {
return AjaxResult.error("error");
}
}
/**
* 印章审核回调
*/
@Anonymous
@PostMapping("/sealCheckCallback")
public AjaxResult sealCheckCallback() throws Exception {
boolean checkResult= SignVerifyUtils.checkSignuter();
if(checkResult){
String reqbodystr =SignVerifyUtils.getRequestBody();
return msSignSealService.sealCheckCallback(reqbodystr);
}else {
return AjaxResult.error("error");
}
}
}
@@ -1,48 +0,0 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord;
import com.ruoyi.wisdomarbitrate.domain.SendMailRecord;
import com.ruoyi.wisdomarbitrate.service.ISendMailRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/sendMailRecord")
public class SendMailRecordController extends BaseController {
@Autowired
private ISendMailRecordService sendMailRecordService;
/**
* 查询发送邮件记录列表
*/
@GetMapping("/list")
public TableDataInfo list(SendMailRecord sendMailRecord)
{
startPage();
List<SendMailRecord> list = sendMailRecordService.selectSendMailRecordList(sendMailRecord);
return getDataTable(list);
}
// /**
// * 新增立案数据
// */
// @Log(title = "新增立案数据", businessType = BusinessType.INSERT)
// @PostMapping("/addSendMailRecord")
// public AjaxResult addSendMailRecord(@Validated @RequestBody SendMailRecord sendMailRecord)
// {
//
// return toAjax(sendMailRecordService.addSendMailRecord(sendMailRecord));
// }
}
@@ -2,13 +2,23 @@ package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.framework.config.ServerConfig;
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
import com.ruoyi.wisdomarbitrate.domain.vo.ReservedConferenceVO;
import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import com.ruoyi.wisdomarbitrate.service.VideoService;
import com.ruoyi.wisdomarbitrate.service.WeChatUserService;
import com.tencentcloudapi.common.Credential;
@@ -25,6 +35,9 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Objects;
import static com.google.common.io.Files.getFileExtension;
/**
* @author wangqiong
@@ -36,7 +49,12 @@ import java.io.IOException;
public class VideoController extends BaseController {
@Autowired
private VideoService videoService;
@Autowired
private ServerConfig serverConfig;
@Autowired
private CaseAttachMapper caseAttachMapper;
@Autowired
private ICaseApplicationService caseApplicationService;
/**
* 从腾讯云下载文件到本地
* @param
@@ -114,9 +132,8 @@ public class VideoController extends BaseController {
*/
@Anonymous
@GetMapping("secretaryRoleByUserId")
public AjaxResult secretaryRoleByUserId( @RequestParam(value = "userId",required = true) Long userId) {
return videoService.secretaryRoleByUserId(userId);
public AjaxResult secretaryRoleByUserId( @RequestParam(value = "userId",required = true) Long userId,@RequestParam(value = "caseId",required = true) Long caseId) {
return videoService.secretaryRoleByUserId(userId,caseId);
}
/**
* 根据html字符串转pdf并和案件关联
@@ -144,6 +161,122 @@ public class VideoController extends BaseController {
return videoService.attachListByCaseId(caseAppliId,annexType);
}
/**
* 根据案件id查询申请人/被申请人会议上传附件按钮权限
* @param caseId
* @return
*/
@Anonymous
@GetMapping("selectRoleMenuByCaseId")
public AjaxResult selectRoleMenuByCaseId( @RequestParam(value = "caseId",required = true) Long caseId) {
return videoService.selectRoleMenuByCaseId(caseId);
}
/**
* 通用上传请求(单个)
* param officeFlag: 是否上传到onlyoffice,0-否,1-是
* param isMediaBook: 是否上仲裁书,1-是,其余为否
*/
@PostMapping("/upload")
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "isMediaBook",required = false) Integer isMediaBook, @RequestParam("annexType") Integer annexType, @RequestParam(value = "officeFlag", required = false) Integer officeFlag,@RequestParam(value = "caseId",required = false) Long caseId) throws Exception
{
try
{
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
String name=file.getOriginalFilename();
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
String suffix = getFileExtension(fileName);
if(StrUtil.isNotEmpty(suffix)&& suffix.contains("doc")){
// 上传到onlyoffice
officeFlag=1;
}
String url = serverConfig.getUrl() + fileName;
if(officeFlag != null && officeFlag == 1){
// officeFlag,fileName为annexPath
JSONArray jsonArray = caseApplicationService.uploadOnlyOffice(fileName,caseId);
if(jsonArray!=null && jsonArray.size() > 0) {
// 先删除之前的裁决书附件
if(Objects.equals(annexType,3) && caseId!=null) {
caseAttachMapper.deleteCaseAttachByCasedIdAndType(caseId, annexType);
}
CaseAttach caseAttach=null;
for (Object obj : jsonArray) {
JSONObject jsonObject = (JSONObject) obj;
String path = jsonObject.get("filePath")!=null?jsonObject.getString("filePath"):"";
path=path.replace("/home/ruoyi/uploadPath/","profile/");
caseAttach = CaseAttach.builder()
.caseAppliId(caseId)
// .annexName(jsonObject.get("fileName")!=null?jsonObject.getString("fileName"):"")
.annexName(name)
.annexType(annexType)
.onlyOfficeFileId(jsonObject.getString("fileId"))
.annexPath(path)
.build();
// if(jsonObject.get("filePath")!=null){
// String officePath = jsonObject.getString("filePath");
// String replace = officePath.replace("/home/ruoyi/uploadPath/", "/profile/");
// caseAttach.setAnnexPath(replace);
//
// }
caseAttachMapper.save(caseAttach);
}
if(caseAttach==null){
return AjaxResult.error("上传失败");
}
AjaxResult ajax = AjaxResult.success();
ajax.put("annexId", caseAttach.getAnnexId());
ajax.put("annexType", annexType);
// ajax.put("url", url);
ajax.put("fileName", name);
ajax.put("newFileName", FileUtils.getName(fileName));
ajax.put("originalFilename", file.getOriginalFilename());
return ajax;
}else {
return AjaxResult.error("上传失败");
}
}else {
// 如果是调解书并且是pdf,则删除之前的在新增
if(annexType!=null && annexType.equals(3) ){
// if(StrUtil.isNotEmpty(suffix)&&!suffix.equals("pdf")){
// return AjaxResult.error("请上传pdf格式文件");
// }
// annexType=AnnexTypeEnum.MEDIATE_BOOK_PDF.getCode();
// 先删除之前的附件
if(caseId!=null) {
caseAttachMapper.deleteCaseAttachByCasedIdAndType(caseId, annexType);
}
}
Long annexId = saveCaseAttach(annexType, name, file.getOriginalFilename(), caseId);
AjaxResult ajax = AjaxResult.success();
ajax.put("annexId", annexId);
ajax.put("annexType", annexType);
ajax.put("url", url);
ajax.put("fileName", name);
ajax.put("newFileName", FileUtils.getName(fileName));
ajax.put("originalFilename", file.getOriginalFilename());
return ajax;
}
}
catch (Exception e)
{
return AjaxResult.error(e.getMessage());
}
}
private Long saveCaseAttach(Integer annexType, String path, String originalFilename,Long caseId) {
CaseAttach caseAttach = CaseAttach.builder()
.annexName(originalFilename)
.caseAppliId(caseId)
.annexPath(path)
.annexType(annexType)
.userId(SecurityUtils.getUserId())
.userName(SecurityUtils.getUsername())
.build();
caseAttachMapper.save(caseAttach);
return caseAttach.getAnnexId();
}
}
@@ -0,0 +1,49 @@
package com.ruoyi.web.controller.wisdomarbitrate.sendrecord;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SendMailRecord;
import com.ruoyi.wisdomarbitrate.service.sendrecord.ISendMailRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/sendMailRecord")
public class SendMailRecordController extends BaseController {
@Autowired
private ISendMailRecordService sendMailRecordService;
/**
* 查询发送邮件记录列表
*/
@GetMapping("/list")
public TableDataInfo list(SendMailRecord sendMailRecord) {
startPage();
List<SendMailRecord> list = sendMailRecordService.selectSendMailRecordList(sendMailRecord);
return getDataTable(list);
}
/**
* 编辑邮件记录
*/
@PostMapping("/update")
public AjaxResult update(@RequestBody SendMailRecord sendMailRecord) {
return sendMailRecordService.updateSendMailRecord(sendMailRecord);
}
/**
* 重新发送邮件记录
*/
@PostMapping("/reSendMailRecord")
public AjaxResult reSendMailRecord(@RequestBody SendMailRecord sendMailRecord) {
Boolean aBoolean = sendMailRecordService.reSendMailRecord(sendMailRecord);
if (aBoolean) {
return AjaxResult.success("发送成功");
} else {
return AjaxResult.error("发送失败");
}
}
}
@@ -0,0 +1,143 @@
package com.ruoyi.web.controller.wisdomarbitrate.sendrecord;
import cn.hutool.core.collection.CollectionUtil;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController;
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.core.page.TableDataInfo;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SmsSendRecord;
import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsSendRecordParam;
import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplateParam;
import com.ruoyi.wisdomarbitrate.domain.shortmessage.MeetingInfo;
import com.ruoyi.wisdomarbitrate.domain.vo.shortmessage.MeetingInfoVO;
import com.ruoyi.wisdomarbitrate.domain.vo.shortmessage.ReSendMessageVO;
import com.ruoyi.wisdomarbitrate.mapper.sendrecord.SmsRecordMapper;
import com.ruoyi.wisdomarbitrate.mapper.shortmessage.MeetingInfoMapper;
import com.ruoyi.wisdomarbitrate.mapper.sms.MsSmsSendHistoryRecordParamMapper;
import com.ruoyi.wisdomarbitrate.mapper.sms.MsSmsSendRecordParamMapper;
import com.ruoyi.wisdomarbitrate.service.shortmessage.ShortMessageService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@RestController
@RequestMapping("/shortMessage")
public class ShortMessageController extends BaseController {
@Autowired
private SmsRecordMapper smsRecordMapper;
@Autowired
private ShortMessageService shortMessageService;
@Autowired
MsSmsSendRecordParamMapper recordParamMapper;
@Autowired
MsSmsSendHistoryRecordParamMapper historyRecordParamMapper;
/**
* 查询短信发送记录
*
* @param smsSendRecord
* @return
*/
@GetMapping("/recordList")
public TableDataInfo smsSendRecordList(SmsSendRecord smsSendRecord) {
startPage();
List<SmsSendRecord> list = shortMessageService.smsSendRecordList(smsSendRecord);
return getDataTable(list);
}
@Anonymous
@PostMapping("/updateSendContent")
public AjaxResult update(@RequestBody SmsSendRecord smsSendRecord) {
if (smsSendRecord == null || smsSendRecord.getId() == null || CollectionUtil.isEmpty(smsSendRecord.getTemplateParams())) {
return AjaxResult.error("参数校验失败");
}
// 查询当前版本记录
SmsSendRecord oldSendRecord = smsRecordMapper.selectById(smsSendRecord.getId());
smsSendRecord.setUpdateTime(new Date());
// 更新短信内容,先删除短信记录参数表
Example recordParamExam = new Example(MsSmsSendRecordParam.class);
recordParamExam.createCriteria().andEqualTo("smsRecordId", smsSendRecord.getId());
recordParamMapper.deleteByExample(recordParamExam);
// 新增短信记录参数表
List<MsSmsSendRecordParam> recordParams = new ArrayList<>();
for (MsSmsTemplateParam templateParam : smsSendRecord.getTemplateParams()) {
MsSmsSendRecordParam recordParam = new MsSmsSendRecordParam();
recordParam.setSmsRecordId(smsSendRecord.getId());
recordParam.setParamValue(templateParam.getParamValue());
recordParams.add(recordParam);
}
recordParamMapper.batchInsert(recordParams);
shortMessageService.insertShortMessageHistoryRecord(oldSendRecord, recordParams);
return AjaxResult.success();
}
/**
* 重新发送短信
*/
@Anonymous
@PostMapping("/reSendShortMessage")
public AjaxResult reSendShortMessage(@RequestBody ReSendMessageVO reSendMessageVO) {
if (reSendMessageVO != null) {
AjaxResult result = shortMessageService.reSendShortMessage(reSendMessageVO);
return result;
}
return AjaxResult.error("参数缺失");
}
/**
* 短信回调
* @param body
* @return
*/
@Anonymous
@PostMapping("/smsCallBack")
public AjaxResult smsCallBack(@RequestBody String body) {
if(body != null){
return shortMessageService.smsCallBack(body);
}
return AjaxResult.error("参数缺失");
}
@Autowired
MeetingInfoMapper meetingInfoMapper;
@Autowired
SysUserMapper sysUserMapper;
@Autowired
private TokenService tokenService;
/**
* 查询UID好的密钥
*/
// @Anonymous
// @GetMapping("/getMeetingInfo")
// public Object getEncryptInfoByUid(@RequestParam(name = "authId", required = true) String authId) {
// MeetingInfoVO result = new MeetingInfoVO();
// if (authId != null) {
// MeetingInfo meetingInfo = meetingInfoMapper.selectByPrimaryKey(authId);
// if (meetingInfo != null && meetingInfo.getUserId() != null) {
// BeanUtils.copyProperties(meetingInfo, result);
// SysUser sysUser = sysUserMapper.selectUserById(meetingInfo.getUserId());
// LoginUser loginUser = new LoginUser();
// loginUser.setUserId(sysUser.getUserId());
// loginUser.setUser(sysUser);
// String token = tokenService.createVideoToken(loginUser, 120);
//// String createToken = createToken(claims);
// result.setToken(token);
// }
// return result;
// }
// return AjaxResult.error("查询失败");
// }
}
@@ -0,0 +1,55 @@
package com.ruoyi.web.controller.wisdomarbitrate.sms;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplate;
import com.ruoyi.wisdomarbitrate.service.sms.SMSTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 短信模板控制器
*/
@RestController
@RequestMapping("/smsTemplate")
public class SMSTemplateController extends BaseController {
@Autowired
private SMSTemplateService templateService;
/**
* 查询
* @param
* @return
*/
@GetMapping("/page")
public TableDataInfo page( ){
startPage();
List<MsSmsTemplate> list = templateService.page();
return getDataTable(list);
}
/**
* 新增或者修改
* @param
* @return
*/
@PostMapping("/insert")
public AjaxResult insert(@RequestBody MsSmsTemplate template){
return templateService.insert(template);
}
/**
* 删除
* @param
* @return
*/
@PostMapping("/delete")
public AjaxResult delete(@RequestBody MsSmsTemplate template){
if(template.getId()==null){
return AjaxResult.warn("id不能为空");
}
return templateService.delete(template.getId());
}
}
@@ -6,7 +6,8 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:mysql://121.40.189.20:3306/test_smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false
url: jdbc:mysql://121.40.189.20:3306/test_smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false
# url: jdbc:mysql://121.40.189.20:3306/smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: YMzc157#
# 从库数据源
+27 -7
View File
@@ -17,7 +17,7 @@ ruoyi:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
# 服务器的HTTP端口,默认为8001,正式9001
port: 8001
servlet:
# 应用的访问路径
@@ -58,9 +58,9 @@ spring:
servlet:
multipart:
# 单个文件大小
max-file-size: 50MB
max-file-size: 1000MB
# 设置总上传的文件大小
max-request-size: 500MB
max-request-size: 10000MB
# 服务模块
devtools:
restart:
@@ -72,10 +72,10 @@ spring:
host: 121.40.189.20
# 端口,默认为6379
port: 6389
# 数据库索引
database: 0
# 数据库索引,2-正式,3-测试
database: 3
# 密码
password:
password: YMtj126!#%
# 连接超时时间
timeout: 10s
lettuce:
@@ -121,7 +121,7 @@ token:
# 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz
# 令牌有效期(默认30分钟)
expireTime: 30
expireTime: 1200
# MyBatis配置
mybatis:
@@ -183,3 +183,23 @@ imConfig:
secretId: AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv
# 腾讯云密钥
secretKey: INDrIXcT8YmomZBcsy0oNirnU0LTN4X7
# onlyOffice系统url配置
onlyOfficeConfig:
# url: http://172.16.0.254:9090/files/upload
url: http://121.40.189.20:9090/files/upload
# 调解机构代码配置
organizeConfig:
# creditCode
creditCode: 910000058386410044
#jodconverter:
# local:
# host: 121.40.189.20
#暂时关闭预览,启动时会有点慢
# enabled: true
#设置libreoffice主目录 linux地址如:/usr/lib64/libreoffice
# office-home: /usr/lib64/libreoffice/
# office-home: D:\app\libreOffice\
#开启多个libreoffice进程,每个端口对应一个进程
# port-numbers: 8100
#libreoffice进程重启前的最大进程数
# max-tasks-per-process: 100
-22
View File
@@ -1,24 +1,2 @@
Application Version: ${ruoyi.version}
Spring Boot Version: ${spring-boot.version}
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
////////////////////////////////////////////////////////////////////
+64
View File
@@ -11,12 +11,76 @@
<artifactId>ruoyi-common</artifactId>
<description>
common通用工具
</description>
<dependencies>
<!--docx文件下载问题-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<!-- POI依赖,读取.doc型文档-->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-core</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-spring-boot-starter</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.artofsolving</groupId>
<artifactId>jodconverter</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>jurt</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>ridl</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>juh</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>unoil</artifactId>
<version>3.0.1</version>
</dependency>
<!-- Spring框架基本的核心工具 -->
<dependency>
<groupId>org.springframework</groupId>
@@ -42,4 +42,16 @@ public class CacheConstants
*/
public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
public static final String WE_CHAT_SMS_VERIFY_CODE_KEY="we_chat_sms_verify_code:";
/**
* 所有用户 redis key
*/
public static final String USER_KEY = "user_key:";
/**
* 用户邮箱 redis key
*/
// public static final String USER_EMAIL_KEY = "user_email_key:";
/**
* 角色 redis key
*/
public static final String ROLE_KEY = "role_key:";
}
@@ -4,49 +4,57 @@ package com.ruoyi.common.constant;
*
*/
public class CaseApplicationConstants {
/** 立案申请 */
/** 申请人/代理人,立案申请 */
public static final int CASE_APPLICATION = 0;
/** 待立案审查 */
/**
* 案件新增
*/
public static final int CASE_INSERT = -2;
/** 申请人/代理人,案件修改 */
public static final int CASE_EDIT = -1;
/** 顾问,待立案审查 */
public static final int CASE_CHECK = 1;
/** 待缴费 */
/** 申请人、代理人,待缴费 */
public static final int PENDING_PAYMENT = 2;
/** 待缴费确认 */
/** 财务,待缴费确认 */
public static final int PENDING_PAYMENT_CONFIRM = 3;
/** 待案件质证 */
/** 被申,待案件质证 */
public static final int CASE_CROSSEXAMI = 4;
/** 待组庭 */
/** 待定,待组庭 */
public static final int PENDING_TRIAL = 26;
/** 待组庭审核 */
/** 顾问,待组庭审核 */
public static final int CONFIRMDED_PENDING_TRIAL_SUBMMIT = 5;
/** 待组庭确定 */
/** 部门长,待组庭确定 */
public static final int CONFIRMDED_PENDING_TRIAL = 6;
/** 待审核仲裁方式 */
/** 仲裁员,待审核仲裁方式 */
public static final int CHECK_ARBITRATION_METHOD = 7;
/** 待开庭审理 */
/** 申请人,被申,顾问,仲裁员,待开庭审理 */
public static final int PENDING_OPENCOURT_HEAR = 8;
/** 待书面审理 */
/** 申请人,被申,顾问,仲裁员,待书面审理 */
public static final int PENDING_WRIITEN_HEAR = 9;
/** 待生成仲裁文书 */
/** 待生成裁决书 */
public static final int GENERATED_ARBITRATION = 10;
/**待核验仲裁文书*/
/**顾问,待秘书核验裁决书*/
public static final int VERPRIF_ARBITRATION = 11;
/**待审核仲裁文书*/
/**部门长,待部门长审核裁决书*/
public static final int CHECK_ARBITRATION = 12;
/**待仲裁文书签名*/
/**仲裁员,待裁决书签名*/
public static final int SIGN_ARBITRATION = 13;
/** 待仲裁文书用印 */
/** 顾问,待裁决书用印 */
public static final int ARBITRATED_SEAL = 14;
/** 待仲裁文书送达 */
/** 顾问,待裁决书送达 */
public static final int ARBITRATION_DELIVERY = 15;
/** 待案件归档*/
/** 顾问,待案件归档*/
public static final int CASE_FILING = 16;
/** 已归档*/
public static final int CASE_ARCHIVED = 17;
/** 待修改开庭时间*/
/** 顾问,待修改开庭时间*/
public static final int MODIFY_HEARDATE = 31;
/**仲裁员,待仲裁员审核裁决书*/
public static final int HEAD_CHECK_ARBITRATION = 18;
@@ -28,6 +28,14 @@ public class Constants
* http请求
*/
public static final String HTTP = "http://";
/**
* br标签
*/
public static final String BR = "</br>";
/**
* pdf拼接符
*/
public static final String PDFSTR = "∰";
/**
* https请求
@@ -146,4 +154,11 @@ public class Constants
*/
public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.common.config" };
// 中文逗号分隔符
public static final String CN_SPLIT_COMMA = ",";
/**
* 会议主键Id
*/
public static final String MEETING_KEY = "meeting_key";
}
@@ -1,6 +1,7 @@
package com.ruoyi.common.core.controller;
import java.beans.PropertyEditorSupport;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
@@ -82,6 +83,9 @@ public class BaseController
@SuppressWarnings({ "rawtypes", "unchecked" })
protected TableDataInfo getDataTable(List<?> list)
{
if(list == null){
list=new ArrayList<>();
}
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
@@ -54,6 +54,68 @@ public class SysDept extends BaseEntity
/** 父部门名称 */
private String parentName;
/**
* 代码(统一社会信用代码或者身份证号)
*/
private String code;
/**
* 法定代表人
*/
private String compLegalPerson;
/**
* 住所
*/
private String home;
/**
* 联系地址
*/
private String address;
/**
*
* 国籍,0-国内,1-国外
*/
private Integer nationality;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getCompLegalPerson() {
return compLegalPerson;
}
public void setCompLegalPerson(String compLegalPerson) {
this.compLegalPerson = compLegalPerson;
}
public String getHome() {
return home;
}
public void setHome(String home) {
this.home = home;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Integer getNationality() {
return nationality;
}
public void setNationality(Integer nationality) {
this.nationality = nationality;
}
public Integer getDeptType() {
return deptType;
@@ -38,6 +38,35 @@ public class SysUser extends BaseEntity
/** 用户昵称 */
@Excel(name = "用户名称")
private String nickName;
/** 用户昵称和待办数量 */
private String nickNameAndNum;
public String getNickNameAndNum() {
return nickNameAndNum;
}
public void setNickNameAndNum(String nickNameAndNum) {
this.nickNameAndNum = nickNameAndNum;
}
/** 身份类别,0-身份证,1-护照,默认0 */
private Integer idType;
/** 国籍,0-国内,1-国外,默认0 */
private Integer nationality;
/**
* 生日
*/
private Date birth;
/**
* 住所
*/
private String home;
/**
* 联系地址
*/
private String address;
/** 用户身份证号 */
@Excel(name = "身份证号")
private String idCard;
@@ -93,12 +122,64 @@ public class SysUser extends BaseEntity
/** 角色ID */
private Long roleId;
/**
* 职位
*/
private String position;
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public SysUser()
{
}
public Integer getIdType() {
return idType;
}
public void setIdType(Integer idType) {
this.idType = idType;
}
public Integer getNationality() {
return nationality;
}
public void setNationality(Integer nationality) {
this.nationality = nationality;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
public String getHome() {
return home;
}
public void setHome(String home) {
this.home = home;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public SysUser(Long userId)
{
this.userId = userId;
@@ -0,0 +1,64 @@
package com.ruoyi.common.enums;
/**
* @author wangqiong
* @description 短信状态枚举
* @date 2023-11-17 14:05
*/
public enum SMSStatusEnum
{
SUCCESS(1, "成功"),
SENDING(2, "发送中"),
FAIL(3, "失败"),
;
private final Integer code;
private final String text;
SMSStatusEnum(Integer code, String text)
{
this.code = code;
this.text = text;
}
public Integer getCode()
{
return code;
}
public String getText()
{
return text;
}
/**
* 根据code获取text
* @param codeNo
* @return
*/
public static String getTextByCode(Integer codeNo){
for (SMSStatusEnum value : SMSStatusEnum.values()) {
if (value.getCode().equals(codeNo)){
return value.getText();
}
}
return codeNo.toString();
}
/**
* 根据text获取code
* @param textStr
* @return
*/
public static String getCodeByText(String textStr){
for (SMSStatusEnum value : SMSStatusEnum.values()) {
if (value.getText().equals(textStr)){
return value.getText();
}
}
return textStr;
}
}
@@ -0,0 +1,58 @@
package com.ruoyi.common.utils;
import cn.hutool.core.io.IoUtil;
import cn.hutool.crypto.digest.HMac;
import cn.hutool.crypto.digest.HmacAlgorithm;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class CheckSignatuerUtils {
public static String getSign(String paramsbody, String accessSec, long timestamp) {
String paramsStr = getParamsStr(paramsbody, timestamp);
return generateSign(paramsStr, accessSec);
}
public static String getParamsStr(String paramsbody,long timestamp) {
StringBuilder strbuild = new StringBuilder();
if (StringUtils.isNotBlank(paramsbody)) {
strbuild.append(paramsbody).append('#');
}
strbuild.append("#timestamp=").append(timestamp);
return strbuild.toString();
}
public static String generateSign(String paramsStr, String accessSec) {
HMac hMac = new HMac(HmacAlgorithm.HmacSHA256, accessSec.getBytes(StandardCharsets.UTF_8));
return hMac.digestHex(paramsStr);
}
public static boolean checkSignuter(String paramsbody) throws Exception {
HttpServletRequest reqParam = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
String timestampstr = reqParam.getHeader("timestampstr");
String signstr = reqParam.getHeader("signstr");
String accessSec = "mCFMA6ffe938v79m";
String newSignuter = getSign(paramsbody, accessSec,Long.parseLong(timestampstr));
if (StringUtils.equals(signstr, newSignuter)) {
return true;
}else {
return false;
}
}
}
@@ -1,9 +1,13 @@
package com.ruoyi.common.utils;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.utils.uuid.UUID;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
@@ -14,18 +18,17 @@ import org.springframework.stereotype.Component;
import javax.activation.DataHandler;
import javax.mail.*;
import javax.mail.internet.*;
import javax.mail.search.*;
import javax.mail.util.ByteArrayDataSource;
import javax.validation.constraints.NotNull;
import java.io.File;
import java.io.IOException;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.security.Security;
import java.util.Date;
import java.util.List;
import java.util.Properties;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Stream;
/**
* @ClassName EmailInUtil
@@ -50,8 +53,10 @@ public class EmailOutUtil {
private String hostOut;
@Value("${spring.mail.username}")
private String usernameOut;
@Value("${spring.mail.password}")
private String passwordOut;
@Value("${spring.mail.port}")
private Integer portOut;
@@ -73,18 +78,29 @@ public class EmailOutUtil {
* @param subject 邮件主题
* @param content 邮件内容(发送内容)
*/
public void sendMessage(String to, String subject, String content, String from, JavaMailSender mailSender) {
// 创建一个邮件对象
SimpleMailMessage msg = new SimpleMailMessage();
msg.setFrom(from);
msg.setTo(to);
// 设置邮件主题
msg.setSubject(subject);
// 设置邮件内容
msg.setText(content);
// 发送邮件
mailSender.send(msg);
////System.out.println("发送成功:" + from + ":to:" + to);
public Boolean sendMessage(String to, String subject, String content, String from, JavaMailSender mailSender) {
try {
if(mailSender==null){
mailSender= rebuildMailSender();
}
// 创建一个邮件对象
SimpleMailMessage msg = new SimpleMailMessage();
if(StrUtil.isEmpty(from)){
msg.setFrom(usernameOut);
}else {
msg.setFrom(from);
}
msg.setTo(to);
// 设置邮件主题
msg.setSubject(subject);
// 设置邮件内容
msg.setText(content);
// 发送邮件
mailSender.send(msg);
} catch (MailException e) {
return false;
}
return true;
}
/**
@@ -92,13 +108,14 @@ public class EmailOutUtil {
* @param message 邮件内容
* @param subject 邮件主题
* @param fileList 邮件附件
* @param fileNameMap 附件名称map,附件路径-附件名称
*/
public Boolean sendEmil(String to, String message, String subject, List<File> fileList, File file) {
public Boolean sendEmil(String to, String message, String subject, List<File> fileList, File file,Map<String,String> fileNameMap) {
try {
String messageContent = "<html><body><p style=\"font-family: Arial, sans-serif; font-size: 18px;\">"+message+"。</p></body></html>";
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(messageContent, "text/html;charset=utf-8");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
messageBodyPart.setContentID(UUID.randomUUID().toString());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
//设置邮件会话参数
Properties props = new Properties();
@@ -150,7 +167,10 @@ public class EmailOutUtil {
for (File tempfile : fileList) {
MimeBodyPart attachmentPart = new MimeBodyPart();
attachmentPart.attachFile(tempfile);
attachmentPart.setFileName(MimeUtility.encodeText(tempfile.getName()));
// 设置附件名称
if(fileNameMap!=null && fileNameMap.containsKey(tempfile.getPath())) {
attachmentPart.setFileName(MimeUtility.encodeText(fileNameMap.get(tempfile.getPath())));
}
multipart.addBodyPart(attachmentPart);
}
msg.setContent(multipart);
@@ -158,7 +178,7 @@ public class EmailOutUtil {
}
//调用Transport的send方法去发送邮件
Transport.send(msg);
} catch (Exception e) {
}catch (Exception e) {
e.printStackTrace();
return Boolean.FALSE;
}
@@ -269,4 +289,164 @@ public class EmailOutUtil {
}
return flag;
}
public void buildReceiveConnect() throws Exception {
//POP3主机名
String host = "pop3.163.com";
//设置传输协议
String protocol = "pop3";
//用户账号
String username = "wq18792927508@163.com";
//密码或者授权码
String password = "WDFHKSEMCKVRELEA";
/*
* 获取Session
*/
Properties props = new Properties();
//协议
props.setProperty("mail.store.protocol", protocol);
//POP3主机名
props.setProperty("mail.pop3.host", host);
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.pop3.default-encoding", "UTF-8");
Session session = Session.getDefaultInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(usernameOut, passwordOut);
}
});
URLName urlName = new URLName(protocol, host, 110, null, username, password);
Store store = session.getStore(urlName);
store.connect(username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
}
/**
* 接收邮件
*/
public List<String> receiverMail() {
List<String> messageIds=new ArrayList<>();
// session.setDebug(true);
try {
//POP3主机名
String host = "pop3.163.com";
//设置传输协议
String protocol = "pop3";
//用户账号
String username = "wq18792927508@163.com";
//密码或者授权码
String password = "WDFHKSEMCKVRELEA";
/*
* 获取Session
*/
Properties props = new Properties();
//协议
props.setProperty("mail.store.protocol", protocol);
//POP3主机名
props.setProperty("mail.pop3.host", host);
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.pop3.default-encoding", "UTF-8");
Session session = Session.getDefaultInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(usernameOut, passwordOut);
}
});
URLName urlName = new URLName(protocol, host, 110, null, username, password);
Store store = session.getStore(urlName);
store.connect(username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
SearchTerm orTerm = new SubjectTerm("退信");
// Message[] messages = folder.search(orTerm);
Date endTime= new Date();
long oneDayMillis=24*60*60*1000L;
Date startTime=new Date(endTime.getTime()-oneDayMillis);
// SearchTerm comparisonTermGe = new SentDateTerm(ComparisonTerm.GE, startTime);
// SearchTerm comparisonTermLe = new SentDateTerm(ComparisonTerm.LE, endTime);
// SearchTerm comparisonAndTerm = new AndTerm(comparisonTermGe, comparisonTermLe);
// SearchTerm searchTerm = new AndTerm(comparisonAndTerm, orTerm);
Message[] messages = folder.search(orTerm);
if (messages != null) {
Arrays.stream(messages).forEach(message -> {
String messageId="";
try {
messageId = EmailUtil.getMessageId(message,session);
} catch (Exception e) {
e.printStackTrace();
}
messageIds.add(messageId);
});
}
folder.close(false);
store.close();
} catch (Exception e) {
return messageIds;
}
return messageIds;
}
public void analyseMail(Session session, Object content) throws Exception {
if (content instanceof Multipart) {
Multipart multipart = (Multipart) content;
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
// if (bodyPart.isMimeType("message/rfc822")) { if(bodyPart.getContentType().startsWith("Message/Rfc822"));
// MimeMessage mimeMessage = new MimeMessage(session, bodyPart.getInputStream());
// }
if(bodyPart.isMimeType("Message/Rfc822")){
MimeMessage mimeMessage = new MimeMessage(session, bodyPart.getInputStream());
}
}
}
}
public static String getMessageId(Part part) throws Exception {
if (!part.isMimeType("multipart/*")) {
return "";
}
Multipart multipart = (Multipart) part.getContent();
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
if (part.isMimeType("message/rfc822")) {
return getMessageId((Part) part.getContent());
}
InputStream inputStream = bodyPart.getInputStream();
try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) {
String strLine;
while ((strLine = br.readLine()) != null) {
if (strLine.startsWith("Message_Id:")) {
String[] split = strLine.split("Message_Id:");
return split.length > 1 ? split[1].trim() : null;
}
}
}
}
return "";
}
//检查退信邮件
// Folder folder = ...; //打开收件箱
// Message[] messages = folder.getMessages();
// for (Message message : messages) {
// if (message.getSubject().contains("Delivery Status Notification")) {
// System.out.println("Delivery failed for recipient: " + message.getRecipients()[0]);
// }
// }
}
@@ -0,0 +1,68 @@
package com.ruoyi.common.utils;
import lombok.extern.slf4j.Slf4j;
import javax.mail.*;
import javax.mail.internet.MimeMessage;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@Slf4j
public final class EmailUtil {
private static final String multipart = "multipart/*";
public static String getMessageId(Part part, Session session) throws Exception {
if (!part.isMimeType(multipart)) {
return "";
}
Multipart multipart = (Multipart) part.getContent();
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
if(bodyPart.getContentType().contains("Message/Rfc822")){
MimeMessage mimeMessage = new MimeMessage(session, bodyPart.getInputStream());
if(mimeMessage.getSubject()!=null&&mimeMessage.getSubject().contains("裁决书")){
String[] split = mimeMessage.getSubject().split("裁决书");
if(split.length>0){
return split[0];
}
}
}
} return "";
}
public static boolean isContainAttachment(Part part) {
boolean attachFlag = false;
try {
if (part.isMimeType(multipart)) {
Multipart mp = (Multipart) part.getContent();
for (int i = 0; i < mp.getCount(); i++) {
BodyPart mpart = mp.getBodyPart(i);
String disposition = mpart.getDisposition();
if ((disposition != null) && ((disposition.equals(Part.ATTACHMENT)) || (disposition.equals(Part.INLINE))))
attachFlag = true;
else if (mpart.isMimeType(multipart)) {
attachFlag = isContainAttachment((Part) mpart);
} else {
String contype = mpart.getContentType();
if (contype.toLowerCase().contains("application"))
attachFlag = true;
if (contype.toLowerCase().contains("name"))
attachFlag = true;
}
}
} else if (part.isMimeType("message/rfc822")) {
attachFlag = isContainAttachment((Part) part.getContent());
}
} catch (MessagingException | IOException e) {
e.printStackTrace();
}
return attachFlag;
}
}
@@ -0,0 +1,57 @@
package com.ruoyi.common.utils;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
/**
* @author wangqiong
* @description 根据身份证号提取有效信息
* @date 2023-12-11 11:45
*/
public class IdCardUtils {
/**
* 通过身份证号码获取出生日期、性别、年龄
* @param certificateNo
* @return 返回的出生日期格式:1990-01-01 性别格式:1-女,0-男
*/
public static Map<String, String> getBirAgeSex(String certificateNo) {
String birthday = "";
String age = "";
String sexCode = "";
int year = Calendar.getInstance().get(Calendar.YEAR);
char[] number = certificateNo.toCharArray();
boolean flag = true;
if (number.length == 15) {
for (int x = 0; x < number.length; x++) {
if (!flag) return new HashMap<String, String>();
flag = Character.isDigit(number[x]);
}
} else if (number.length == 18) {
for (int x = 0; x < number.length - 1; x++) {
if (!flag) return new HashMap<String, String>();
flag = Character.isDigit(number[x]);
}
}
if (flag && certificateNo.length() == 15) {
birthday = "19" + certificateNo.substring(6, 8) + "-"
+ certificateNo.substring(8, 10) + "-"
+ certificateNo.substring(10, 12);
sexCode = Integer.parseInt(certificateNo.substring(certificateNo.length() - 3, certificateNo.length())) % 2 == 0 ? "1" : "0";
age = (year - Integer.parseInt("19" + certificateNo.substring(6, 8))) + "";
} else if (flag && certificateNo.length() == 18) {
birthday = certificateNo.substring(6, 10) + "-"
+ certificateNo.substring(10, 12) + "-"
+ certificateNo.substring(12, 14);
sexCode = Integer.parseInt(certificateNo.substring(certificateNo.length() - 4, certificateNo.length() - 1)) % 2 == 0 ? "1" : "0";
age = (year - Integer.parseInt(certificateNo.substring(6, 10))) + "";
}
Map<String, String> map = new HashMap<String, String>();
map.put("birthday", birthday);
map.put("age", age);
map.put("sexCode", sexCode);
return map;
}
}
@@ -0,0 +1,48 @@
package com.ruoyi.common.utils;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil;
import com.ruoyi.common.utils.uuid.UUID;
import java.math.BigInteger;
import java.util.Random;
/**
* 雪花算法工具类
* zq
* @since 2020/10/30 9:59
**/
public class IdWorkerUtil {
private static final long EPOCH = 1479533469598L; //开始时间,固定一个小于当前时间的毫秒数
private static final int max12bit = 4095;
private static final long max41bit= 1099511627775L;
private static String machineId = "" ; // 机器ID
/**
*
* 创建ID
*
* @return
*
*/
public static Long getId(){
long time = System.currentTimeMillis() - EPOCH + max41bit;
// 二进制的 毫秒级时间戳
String base = Long.toBinaryString(time);
// 序列数
String randomStr = StringUtils.leftPad(Integer.toBinaryString(new Random().nextInt(max12bit)),12,'0');
if(StringUtils.isNotEmpty(machineId)){
machineId = StringUtils.leftPad(machineId, 10, '0');
}
//拼接
String appendStr = base + machineId + randomStr;
// 转化为十进制 返回
BigInteger bi = new BigInteger(appendStr, 2);
return Long.valueOf(bi.toString());
}
}
@@ -0,0 +1,53 @@
package com.ruoyi.common.utils;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author wangqiong
* @description 金额格式化
* @date 2023-12-11 11:45
*/
public class MoneyFormatUtils {
/**
* 增加千分位
* @param money
* @return
*/
public static String moneyFormat(String money) {
// 金额格式化
try {
Double.parseDouble(money);
} catch (NumberFormatException e) {
String regEx = "[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(money);
String result = m.replaceAll("").trim();
BigDecimal bigDecimal = null;
if (money.contains("百")) {
bigDecimal = new BigDecimal(result).multiply(new BigDecimal("100"));
} else if (money.contains("千")) {
bigDecimal = new BigDecimal(result).multiply(new BigDecimal("1000"));
} else if (money.contains("万")) {
bigDecimal = new BigDecimal(result).multiply(new BigDecimal("10000"));
} else if (money.contains("百万")) {
bigDecimal = new BigDecimal(result).multiply(new BigDecimal("1000000"));
} else if (money.contains("千万")) {
bigDecimal = new BigDecimal(result).multiply(new BigDecimal("10000000"));
} else if (money.contains("亿")) {
bigDecimal = new BigDecimal(result).multiply(new BigDecimal("100000000"));
}
NumberFormat format = NumberFormat.getInstance();
return format.format(bigDecimal);
}
return "";
}
}
@@ -1,5 +1,7 @@
package com.ruoyi.common.utils;
import cn.hutool.core.util.StrUtil;
import java.lang.reflect.Field;
/**
@@ -7,6 +9,9 @@ import java.lang.reflect.Field;
*/
public class ObjectFieldUtils {
public static String getValue(Object obj,String fieldName){
if(obj==null || StrUtil.isEmpty(fieldName)){
return "";
}
Field field=null;
try{
field=obj.getClass().getDeclaredField(fieldName);
@@ -28,6 +33,9 @@ public class ObjectFieldUtils {
}
public static void setValue(Object obj,String fieldName,Object value){
if(obj==null || StrUtil.isEmpty(fieldName)||value==null){
return;
}
Field field=null;
try{
field=obj.getClass().getDeclaredField(fieldName);
@@ -44,7 +44,7 @@ public class PdfUtils {
document.setMarginMirroring(false);
document.open();
// 解决PDF中文不显示
String fontPath = "/D:/simsun.ttf"; //字体文件路径
String fontPath = "/home/ruoyi/uploadPath/songfont/simsun.ttf"; //字体文件路径
XMLWorkerFontProvider provider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
provider.register(fontPath);//注册字体
log.error("注册字体");
@@ -0,0 +1,86 @@
package com.ruoyi.common.utils;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.*;
/**
* @author wangqiong
* @description 读取文件内容
* @date 2023-12-11 11:45
*/
public class ReadFileUtils {
public static String readerTxtFile(String filePath){
BufferedReader br=null;
StringBuilder result=new StringBuilder();
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)),"GBK"));
String line=null;
while ((line=br.readLine())!=null) {
result.append(line).append("\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null!=br){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result.toString();
}
public static String readWord(String filePath) throws Exception{
File file = new File(filePath);
if(file.length()==0) return ""; // 需要操作原因是可能会空文件问题,如果不做处理,在下面读取中会报错
StringBuffer sb = new StringBuffer();
String buffer = "";
try {
if (filePath.endsWith(".doc")) {
InputStream is = new FileInputStream(file);
WordExtractor ex = new WordExtractor(is);
buffer = ex.getText();
if(buffer.length() > 0){
//使用回车换行符分割字符串
String [] arry = buffer.split("r\\n");
for (String string : arry) {
sb.append(string.trim());
}
}
} else if (filePath.endsWith(".docx")) {
FileInputStream fis = new FileInputStream(file);
XWPFDocument xdoc = new XWPFDocument(fis);
XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
buffer = extractor.getText();
sb.append(buffer!=null?buffer:"");
// OPCPackage opcPackage = POIXMLDocument.openPackage(filePath);
// XWPFWordExtractor extractor = new XWPFWordExtractor(opcPackage);
// buffer = extractor.getText();
// if(buffer.length() > 0){
// //使用换行符分割字符串
// String [] arry = buffer.split("\n");
// for (String string : arry) {
// sb.append(string.trim());
// }
// }
} else {
return null;
}
return sb.toString();
} catch (Exception e) {
System.out.print("error---->"+filePath);
e.printStackTrace();
return null;
}
}
}
@@ -1,77 +0,0 @@
package com.ruoyi.common.utils;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.cvm.v20170312.CvmClient;
import com.tencentcloudapi.cvm.v20170312.models.DescribeRegionsRequest;
import com.tencentcloudapi.cvm.v20170312.models.DescribeRegionsResponse;
import com.tencentcloudapi.sms.v20210111.SmsClient;
import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
import com.tencentcloudapi.sms.v20210111.models.SendStatus;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import lombok.var;
import java.util.Objects;
@Slf4j
public class SmsUtils {
//应用id
private static final String SDK_APP_ID = "1400854852";
//API的SecretId
private static final String SECRET_ID = "AKIDeEf2A8uX1HSainvvnXAc3X9ZlhtyvkMp";
//API的SecretKey
private static final String SECRET_KEY = "QjphKo8zkHZigT8j9PVtFPJyfIvO3d6V";
//签名内容
private static final String SIGN_NAME = "西安云美电子科技有限公司";
public static Boolean sendSms(SendSmsRequest request) {
Credential cred = new Credential(SECRET_ID, SECRET_KEY );
SmsClient client = new SmsClient(cred, "ap-guangzhou");
final var req = new com.tencentcloudapi.sms.v20210111.models.SendSmsRequest();
req.setPhoneNumberSet(new String[]{"+86" + request.getPhone()});
req.setSmsSdkAppId(SDK_APP_ID );
req.setSignName(SIGN_NAME);
req.setTemplateId(request.getTemplateId());
req.setTemplateParamSet(request.getTemplateParamSet());
SendSmsResponse res = null;
try {
res = client.SendSms(req);
} catch (TencentCloudSDKException e) {
log.error("发送短信出错:", e);
return Boolean.FALSE;
}
SendStatus sendStatus = res.getSendStatusSet()[0];
log.info("发送短信结果:Code={}, Message={}", sendStatus.getCode(), sendStatus.getMessage());
if (Objects.nonNull(res.getSendStatusSet()) && res.getSendStatusSet().length > 0 && "Ok".equals(res.getSendStatusSet()[0].getCode())){
return Boolean.TRUE;
}
return Boolean.FALSE;
}
/**
* 参数对象
*/
@Data
public static class SendSmsRequest {
/**
* 电话
*/
private String phone;
/**
* 模板 ID: 必须填写已审核通过的模板 ID
*/
private String templateId;
/**
* 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,若无模板参数,则设置为空
*/
private String[] templateParamSet;
}
}
@@ -0,0 +1,34 @@
package com.ruoyi.common.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* @author wangqiong
* @description 获取bean工具类
* @date 2023-12-11 11:45
*/
@Component
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if(SpringUtil.applicationContext==null){
SpringUtil.applicationContext=applicationContext;
}
}
public static ApplicationContext getApplicationContext(){
return applicationContext;
}
public static <T>T getBean(Class<T> clazz){
return getApplicationContext().getBean(clazz);
}
public static <T>T getBean(String name, Class<T> clazz){
return getApplicationContext().getBean(name,clazz);
}
}
@@ -0,0 +1,23 @@
package com.ruoyi.common.utils;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import java.util.concurrent.*;
/**
* @Author: ymbgy
* @Date: 2022-09-23 10:06
*/
public class ThreadUtil {
public static ExecutorService createThreadPool() {
//获取系统处理器个数,作为线程池数量
int nThreads = Runtime.getRuntime().availableProcessors();
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
//Thread Pool
ExecutorService executor = new ThreadPoolExecutor(nThreads, 200,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
return executor;
}
}
@@ -288,4 +288,18 @@ public class FileUtils
String baseName = FilenameUtils.getBaseName(fileName);
return baseName;
}
/**
* 获取文件后缀名
* @param file
* @return
*/
public static String getFileExtension(File file) {
String name = file.getName();
int lastIndexOfDot = name.lastIndexOf(".");
if (lastIndexOfDot != -1 && lastIndexOfDot < name.length() - 1) {
return name.substring(lastIndexOfDot + 1);
} else {
return "";
}
}
}
@@ -185,7 +185,52 @@ public class MultipleThreadWorkUtil {
mainLatch,threadLatch,rollBack,times);
return returnList;
}
public static <R,A>List<R> execListFun(MultipleThreadListParam<R,A> ...params){
List<R> returnList=new ArrayList<>();
if(ArrayUtil.isEmpty(params)){
return returnList;
}
List<Integer> threadCountList=new ArrayList<>();
for (MultipleThreadListParam param : params) {
if(param.getList().size()<SIMPLE_TIME_COUNT){
threadCountList.add(1);
}else{
if(param.getList().size()%SIMPLE_TIME_COUNT>0){
threadCountList.add(param.getList().size()/SIMPLE_TIME_COUNT+1);
}else{
threadCountList.add(param.getList().size()/SIMPLE_TIME_COUNT);
}
}
}
int times=0;
for (Integer count : threadCountList) {
times+=count;
}
CountDownLatch mainLatch=new CountDownLatch(1);
//监控子线程
CountDownLatch threadLatch=new CountDownLatch(times);
//根据子线程执行结果判断是否需要回滚
BlockingDeque<Boolean> resultList=new LinkedBlockingDeque<>();
//必须使用对象,如果使用变量会造成线程之间不能共享变量值
RollBack rollBack=new RollBack(false);
ExecutorService executorService=Executors.newFixedThreadPool(times);
List<Future<R>> futureList=new ArrayList<>();
for (int i = 0; i < params.length; i++) {
MultipleThreadListParam param=params[i];
for (int j = 0; j <threadCountList.get(i) ; j++) {
if(j*SIMPLE_TIME_COUNT+SIMPLE_TIME_COUNT<param.getList().size()){
Future<R> future=executorService.submit(new ExecThread(mainLatch,threadLatch,rollBack,resultList,param.getList().subList(j*SIMPLE_TIME_COUNT,j*SIMPLE_TIME_COUNT+SIMPLE_TIME_COUNT),param.getFunction()));
futureList.add(future);
}else{
Future<R> future=executorService.submit(new ExecThread(mainLatch,threadLatch,rollBack,resultList,param.getList().subList(j*SIMPLE_TIME_COUNT,param.getList().size()),param.getFunction()));
futureList.add(future);
}
}
}
setResult(executorService,returnList,futureList,resultList,
mainLatch,threadLatch,rollBack,times);
return returnList;
}
public static <R>List<R> execByIds(Function<String,R> execFun,String ids){
List<R> returnList=new ArrayList<>();
if(StrUtil.isEmpty(ids)){
@@ -1,11 +1,12 @@
package com.ruoyi.framework.config;
import java.util.TimeZone;
import org.mybatis.spring.annotation.MapperScan;
//import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import tk.mybatis.spring.annotation.MapperScan;
/**
* 程序注解配置
+18 -3
View File
@@ -12,11 +12,16 @@
<artifactId>ruoyi-system</artifactId>
<description>
system系统模块
<!-- system系统模块-->
</description>
<dependencies>
<!--通用mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!-- 通用工具-->
<dependency>
<groupId>com.ruoyi</groupId>
@@ -33,7 +38,17 @@
<artifactId>tls-sig-api-v2</artifactId>
<version>1.2</version>
</dependency>
<!--通用mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
</dependencies>
</project>
@@ -117,4 +117,18 @@ public interface SysDeptMapper
public int deleteDeptById(Long deptId);
List<Long> selectUserDeptListByRoleId(@Param("roleId")Long roleId);
/**
* 批量新增
* @param sysDepts
* @return
*/
int batchSave(@Param("list")List<SysDept> sysDepts);
/**
* 根据部门名称查询部门信息
* @param deptName
* @return
*/
public SysDept selectDeptByName(@Param("deptName") String deptName);
}
@@ -165,5 +165,23 @@ public interface SysUserMapper
List<SysUser> selectRoleUserByDeptId(@Param("deptId")Long deptId,@Param("roleId") Long roleId );
/**
* 批量新增用户
* @param addUsers
* @return
*/
int batchSave(@Param("list")List<SysUser> addUsers);
/**
* 根据邮箱查询用户信息
* @param email
* @return
*/
SysUser selectUserByEmail(String email);
/**
* 根据角色查询用户
* @param 法律顾问
* @return
*/
SysUser selectUserByRole(String 法律顾问);
}
@@ -59,4 +59,13 @@ public interface SysUserRoleMapper
* @return 结果
*/
public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds);
/**
* 根据用户id查询关联的角色id
* @param userId
* @return
*/
List<Long> selectRoleIdsByUserId(Long userId);
void insertUserRole(@Param("userId") Long userId,@Param("roleId") Long roleId);
}
@@ -2,6 +2,8 @@ package com.ruoyi.system.service;
import java.util.List;
import java.util.Set;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.system.domain.vo.RouterVo;
@@ -141,4 +143,9 @@ public interface ISysMenuService
* @return 结果
*/
public boolean checkMenuNameUnique(SysMenu menu);
/**
* 根据用户查询菜单权限字符
* @return
*/
AjaxResult getMenuPermsByUser();
}
@@ -20,6 +20,12 @@ public interface ISysUserService
* @return 用户信息集合信息
*/
public List<SysUser> selectUserList(SysUser user);
/**
* 查询仲裁员
* @param arbitrator
* @return
*/
public List<SysUser> selectUserListByAdRole(Arbitrator arbitrator);
/**
@@ -8,6 +8,8 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.constant.Constants;
@@ -528,4 +530,11 @@ public class SysMenuServiceImpl implements ISysMenuService
return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, "." },
new String[] { "", "", "", "/" });
}
@Override
public AjaxResult getMenuPermsByUser() {
AjaxResult result = AjaxResult.success();
List<String> perms = menuMapper.selectMenuPermsByUserId(SecurityUtils.getUserId());
result.put("perms",perms);
return result;
}
}
@@ -6,10 +6,17 @@ import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.mapper.*;
import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper;
import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -61,8 +68,15 @@ public class SysUserServiceImpl implements ISysUserService {
@Autowired
private ISysConfigService configService;
@Autowired
private CaseApplicationMapper caseApplicationMapper;
@Autowired
private CaseAffiliateMapper caseAffiliateMapper;
@Autowired
protected Validator validator;
@Autowired
protected ICaseApplicationService caseApplicationService;
/**
* 根据条件分页查询用户列表
@@ -76,9 +90,41 @@ public class SysUserServiceImpl implements ISysUserService {
return userMapper.selectUserList(user);
}
/**
* 查询仲裁员
* @param arbitrator
* @return
*/
@Override
public List<SysUser> selectUserListByAdRole(Arbitrator arbitrator) {
return userMapper.selectUserListByAdRole(arbitrator);
// 根据案件id查询案件
List<CaseAffiliateEntity> caseAffiliates = caseApplicationService.selectAfflicatesByCaseId(arbitrator.getCaseId());
List<Long> userIds=new ArrayList<>();
if(CollectionUtil.isNotEmpty(caseAffiliates)){
for (CaseAffiliateEntity affiliate : caseAffiliates) {
if(null!=affiliate.getUserId()) {
userIds.add(affiliate.getUserId());
}
}
}
List<SysUser> sysUsers = userMapper.selectUserListByAdRole(arbitrator);
List<SysUser> arbitrators = new ArrayList<>();
if(CollectionUtil.isNotEmpty(sysUsers)){
for(SysUser sysUser: sysUsers){
if(!userIds.contains(sysUser.getUserId())) {
Long userId = sysUser.getUserId();
int todoCount = caseApplicationMapper.selectCasenum(userId.toString());
String nickName = sysUser.getNickName();
String nickNamenew = nickName + "(待办案件数量" + todoCount + "个)";
sysUser.setNickNameAndNum(nickNamenew);
arbitrators.add(sysUser);
}
}
}
return arbitrators;
}
/**
@@ -243,6 +289,13 @@ public class SysUserServiceImpl implements ISysUserService {
@Override
@Transactional
public AjaxResult insertUser(SysUser user) {
// 校验手机号是否重复
if(StrUtil.isNotEmpty(user.getPhonenumber())){
if(userMapper.checkPhoneUnique(user.getPhonenumber())!=null){
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
}
}
Long deptId = user.getDeptId();
Long[] postIds = user.getPostIds();
if (deptId != null) {
@@ -280,6 +333,11 @@ public class SysUserServiceImpl implements ISysUserService {
*/
@Override
public boolean registerUser(SysUser user) {
if(StrUtil.isNotEmpty(user.getPhonenumber())){
if(userMapper.checkPhoneUnique(user.getPhonenumber())!=null){
throw new ServiceException("注册用户'" + user.getUserName() + "'失败,手机号码已存在");
}
}
return userMapper.insertUser(user) > 0;
}
@@ -299,13 +357,15 @@ public class SysUserServiceImpl implements ISysUserService {
Integer deptType = dept.getDeptType();
if (deptType != null && deptType.intValue() == 1) {
SysPost sysPost = postMapper.selectPostByPostCode("jbr");
Long postId = sysPost.getPostId();
if (postIds.length > 0) {
boolean isContain = Arrays.asList(postIds).contains(postId);
if (isContain) {
List<SysUser> sysUsers = userMapper.selectUserByDeptId(deptId);
if (sysUsers != null && sysUsers.size() > 0) {
return AjaxResult.error("部门类型为仲裁机构的部门的岗位为经办人的用户只能有一个!");
if(sysPost!=null) {
Long postId = sysPost.getPostId();
if (postIds.length > 0) {
boolean isContain = Arrays.asList(postIds).contains(postId);
if (isContain) {
List<SysUser> sysUsers = userMapper.selectUserByDeptId(deptId);
if (sysUsers != null && sysUsers.size() > 0) {
return AjaxResult.error("部门类型为仲裁机构的部门的岗位为经办人的用户只能有一个!");
}
}
}
}
@@ -506,6 +566,11 @@ public class SysUserServiceImpl implements ISysUserService {
BeanValidators.validateWithException(validator, user);
user.setPassword(SecurityUtils.encryptPassword(password));
user.setCreateBy(operName);
if(StrUtil.isNotEmpty(user.getPhonenumber())){
if(userMapper.checkPhoneUnique(user.getPhonenumber())!=null){
throw new ServiceException("导入用户'" + user.getUserName() + "'失败,手机号码已存在");
}
}
userMapper.insertUser(user);
successNum++;
successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功");
@@ -0,0 +1,26 @@
package com.ruoyi.wisdomarbitrate;
import lombok.Data;
import java.util.List;
@Data
public class StringIdsReq {
private List<String> ids;
/**
* 签署人账号(即仲裁员手机号)
*/
private String psnAccount;
/**
* 签署人id
*/
private String psnId ;
/**
* 机构账户
*/
private String orgId ;
/**
* 批号
*/
private Integer batchNumber;
}
@@ -25,8 +25,10 @@ public class ArbitrateRecord extends BaseEntity {
private String verificaOpinion;
/** 审核裁决书意见 */
private String checkOpinion;
/** 仲裁员审核裁决书意见 */
private String arbitraCheckOpinion;
/** 裁决书附件id */
private Integer annexId;
private Long annexId;
/** 被申请人是否缺席 */
private Integer isAbsence;
@@ -38,7 +40,39 @@ public class ArbitrateRecord extends BaseEntity {
private Integer appliIsAbsen;
/** 被申请人质证意见 */
private String responDefenOpini;
/**
* 本案争议焦点
*/
private String caseFocus;
/**
* 本案事实
*/
private String caseFacts;
/**
* 被申请人对上述材料的质证意见
*/
private String respondentOpinion;
/**
* 申请人对上述材料的质证意见
*/
private String applicantOpinion;
/**
* 立案审查驳回原因
*/
private String caseCheckReject;
/**
* 裁决书驳回原因
*/
private String arbitrateReject;
/**
* 部门长确认裁决书驳回
*/
private String deptorReject;
/**
* 缴费确认驳回原因
*/
private String payRejectReason;
@@ -9,6 +9,10 @@ public class Arbitrator extends BaseEntity {
/** ID */
private Long id;
/**
* 案件id
*/
private Long caseId;
/** 仲裁员姓名 */
private String arbitratorName;
/** 职称 */
@@ -47,6 +51,14 @@ public class Arbitrator extends BaseEntity {
/** 已结案数量 */
private int closedCaseNum;
public Long getCaseId() {
return caseId;
}
public void setCaseId(Long caseId) {
this.caseId = caseId;
}
public Long getId() {
return id;
}
@@ -20,4 +20,12 @@ public class BatchCaseApplication {
* 1同意,0拒绝
*/
private Integer opinion;
/** 驳回原因 */
private String caseCheckReject;
/**
* 批号
*/
private String batchNumber;
}
@@ -61,6 +61,19 @@ public class CaseAffiliate extends BaseEntity {
*/
private String changeColumn;
/**
* 代理人邮箱
*/
private String agentEmail;
public String getAgentEmail() {
return agentEmail;
}
public void setAgentEmail(String agentEmail) {
this.agentEmail = agentEmail;
}
public String getChangeColumn() {
return changeColumn;
}
@@ -126,9 +139,6 @@ public class CaseAffiliate extends BaseEntity {
this.responSex = responSex;
}
/** 身份证号 */
@Excel(name = "身份证号")
private String identityNum;
File diff suppressed because it is too large Load Diff
@@ -1,19 +1,22 @@
package com.ruoyi.wisdomarbitrate.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
import java.util.List;
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CaseAttach {
public class CaseAttach {
/**
* 附件id
* 附件id
*/
private Integer annexId;
private Long annexId;
/**
* 案件申请id
*/
@@ -22,6 +25,10 @@ public class CaseAttach {
* 案件记录id
*/
private Long caseAppliLogId;
/**
* onlyOffice附件id
*/
private String onlyOfficeFileId;
/**
* 附件名称
*/
@@ -31,7 +38,7 @@ public class CaseAttach {
*/
private String annexPath;
/**
* 附件类型,立案申请书(1)、申请人证据材料(2)、仲裁文书(3)、案件视频(4)、身份证件(5)、被申请人证据材料 (6)、庭审笔录(7)、缴费凭证(8)'
* 附件类型,立案申请书(1)、申请人证据材料(2)、裁决书(3)、案件视频(4)、身份证件(5)、被申请人证据材料 (6)、庭审笔录(7)、缴费凭证(8)'
*/
private Integer annexType;
/**
@@ -54,5 +61,9 @@ public class CaseAttach {
* 是否是证据上传,0-否,1-是
*/
private Integer isBatchUpload;
/**
* 附件ids
*/
private List<Long> fileIds;
}
@@ -34,7 +34,7 @@ public class CaseEvidenceDirectory extends BaseEntity {
/**
* 附件id
*/
private Integer annexId;
private Long annexId;
/**
* 级数
@@ -38,6 +38,31 @@ public class CaseLogRecord extends BaseEntity {
* 角色名称
*/
private String roleName;
/**
* 下一个节点角色名称
*/
private String nextRoleName;
/**
* 当前节点角色名称
*/
private String currentRoleName;
public String getCurrentRoleName() {
return currentRoleName;
}
public void setCurrentRoleName(String currentRoleName) {
this.currentRoleName = currentRoleName;
}
public String getNextRoleName() {
return nextRoleName;
}
public void setNextRoleName(String nextRoleName) {
this.nextRoleName = nextRoleName;
}
/**
* 节点名称
*/
@@ -0,0 +1,28 @@
package com.ruoyi.wisdomarbitrate.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
@Data
public class CaseNumRule extends BaseEntity {
/** ID */
private Long id;
/** 类型 */
private Integer ruleType;
/** 前缀 */
private String prefixstr;
/** 时间格式 */
private Integer dateFormat;
/** 机构名称 */
private String deptName;
/** 机构名称首字符拼写 */
private String deptNameFirchar;
/** 当前编号 */
private String currentNum;
}
@@ -0,0 +1,41 @@
package com.ruoyi.wisdomarbitrate.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.Date;
/**
* 抓取规则
*/
@Data
public class FatchRule extends BaseEntity {
private static final long serialVersionUID = 1L;
private Long id;
private String batchNumber;
private String fileName;
private String startContent;
private String endContent;
private String column;
private String columnName;
private Integer isDefault;
private Long templateId;
private String databaseName;
/**
* 顺序,开始字段重复时,指定抓取第几个
*/
private Integer startContentRepeatOrder;
/**
* 结束字段重复时指定的顺序,默认1,只能>0填正整数
*/
private Integer endContentRepeatOrder;
/**
* 抓取方向,默认0,0-从前往后抓取,1-从后往前抓取
*/
private Integer fatchOrder;
}
@@ -29,7 +29,7 @@ public class SealManage extends BaseEntity {
/**
* 附件id
*/
private Integer annexId;
private Long annexId;
/**
* 印章审核状态(0未通过,1通过)
@@ -1,7 +1,13 @@
package com.ruoyi.wisdomarbitrate.domain;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SealSignRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -25,15 +31,6 @@ public class SealSignRecord extends BaseEntity {
private String orgnizeNamepsnName;
String fileDownloadUrl;
public String getFileDownloadUrl() {
return fileDownloadUrl;
}
public void setFileDownloadUrl(String fileDownloadUrl) {
this.fileDownloadUrl = fileDownloadUrl;
}
/** 流程状态 */
private Integer signFlowStatus;
/** 签名状态 */
@@ -44,171 +41,11 @@ public class SealSignRecord extends BaseEntity {
/** 签名链接 */
private String signUrl;
public String getSignUrl() {
return signUrl;
}
public void setSignUrl(String signUrl) {
this.signUrl = signUrl;
}
public String getSealUrl() {
return sealUrl;
}
public void setSealUrl(String sealUrl) {
this.sealUrl = sealUrl;
}
/** 用印链接 */
private String sealUrl;
private Long caseAppliId;
public Long getCaseAppliId() {
return caseAppliId;
}
public void setCaseAppliId(Long caseAppliId) {
this.caseAppliId = caseAppliId;
}
public Integer getPsnsignStatus() {
return psnsignStatus;
}
public void setPsnsignStatus(Integer psnsignStatus) {
this.psnsignStatus = psnsignStatus;
}
public Integer getOrgsignStatus() {
return orgsignStatus;
}
public void setOrgsignStatus(Integer orgsignStatus) {
this.orgsignStatus = orgsignStatus;
}
public Integer getSignFlowStatus() {
return signFlowStatus;
}
public void setSignFlowStatus(Integer signFlowStatus) {
this.signFlowStatus = signFlowStatus;
}
public String getFileid() {
return fileid;
}
public void setFileid(String fileid) {
this.fileid = fileid;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public String getSignFlowid() {
return signFlowid;
}
public void setSignFlowid(String signFlowid) {
this.signFlowid = signFlowid;
}
public String getPensonAccount() {
return pensonAccount;
}
public void setPensonAccount(String pensonAccount) {
this.pensonAccount = pensonAccount;
}
public String getPensonName() {
return pensonName;
}
public void setPensonName(String pensonName) {
this.pensonName = pensonName;
}
public String getOrgnizeName() {
return orgnizeName;
}
public void setOrgnizeName(String orgnizeName) {
this.orgnizeName = orgnizeName;
}
public String getOrgnizeNamePsnAccount() {
return orgnizeNamePsnAccount;
}
public void setOrgnizeNamePsnAccount(String orgnizeNamePsnAccount) {
this.orgnizeNamePsnAccount = orgnizeNamePsnAccount;
}
public String getOrgnizeNamepsnName() {
return orgnizeNamepsnName;
}
public void setOrgnizeNamepsnName(String orgnizeNamepsnName) {
this.orgnizeNamepsnName = orgnizeNamepsnName;
}
public String getPositionPagepsn() {
return positionPagepsn;
}
public void setPositionPagepsn(String positionPagepsn) {
this.positionPagepsn = positionPagepsn;
}
public double getPositionXpsn() {
return positionXpsn;
}
public void setPositionXpsn(double positionXpsn) {
this.positionXpsn = positionXpsn;
}
public double getPositionYpsn() {
return positionYpsn;
}
public void setPositionYpsn(double positionYpsn) {
this.positionYpsn = positionYpsn;
}
public String getPositionPageorg() {
return positionPageorg;
}
public void setPositionPageorg(String positionPageorg) {
this.positionPageorg = positionPageorg;
}
public double getPositionXorg() {
return positionXorg;
}
public void setPositionXorg(double positionXorg) {
this.positionXorg = positionXorg;
}
public double getPositionYorg() {
return positionYorg;
}
public void setPositionYorg(double positionYorg) {
this.positionYorg = positionYorg;
}
/** 签名位置页数 */
private String positionPagepsn;
/** 签名位置x坐标 */
@@ -221,15 +58,15 @@ public class SealSignRecord extends BaseEntity {
private double positionXorg;
/** 印章位置y坐标 */
private double positionYorg;
/**
* 仲裁员签名状态,1-签名
*/
private Integer signStatusArbitor;
/**
* 用印状态,1用印
*/
private Integer sealStatus;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
@@ -1,45 +0,0 @@
package com.ruoyi.wisdomarbitrate.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SmsSendRecord extends BaseEntity {
/**
* ID
*/
private Long id;
/**
* 案件申请id
*/
private Long caseId;
/**
* 案件编号
*/
private String caseNum;
/**
* 手机号
*/
private String phone;
/**
* 发送时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date sendTime;
/**
* 发送内容
*/
private String sendContent;
/**
* 发送状态
*/
private Integer sendStatus;
}
@@ -3,6 +3,8 @@ package com.ruoyi.wisdomarbitrate.domain;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.List;
@Data
public class TemplateManage extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -49,4 +51,7 @@ public class TemplateManage extends BaseEntity {
* 机构关联id
*/
private String identifyName;
List<FatchRule> fatchRules;
}
@@ -0,0 +1,309 @@
package com.ruoyi.wisdomarbitrate.domain.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
import com.ruoyi.wisdomarbitrate.domain.vo.CaseAffiliateVO;
import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Classname CaseApplicationDTO
* @Description 案件申请表
* @Version 1.0.0
* @Date 2024/5/22 9:19
* @Created wangqiong
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CaseApplicationDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 案件编号
*/
private String caseNum;
/**
* 案件标的
*/
private BigDecimal caseSubjectAmount;
/**
* 立案日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date registerDate;
/**
* 仲裁方式,视频仲裁(1)、书面仲裁(2)
*/
private Long arbitratMethod;
/**
* 案件状态,立案申请(0)、待立案审查(1)、 待缴费(2)、待缴费确认(3)、 待案件质证(4)、
*/
private Integer caseStatus;
/**
* 开庭日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date hearDate;
/**
* 申请人仲裁请求及事实和理由
*/
private String arbitratClaims;
/**
* 借款开始日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date loanStartDate;
/**
* 借款结束日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date loanEndDate;
/**
* 申请人主张欠本金
*/
private BigDecimal claimPrinciOwed;
/**
* 申请人主张欠利息
*/
private BigDecimal claimInterestOwed;
/**
* 申请人主张违约金
*/
private BigDecimal claimLiquidDamag;
/**
* 仲裁应缴费用
*/
private BigDecimal feePayable;
/**
* 合同编号
*/
private String contractNumber;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date updateTime;
/**
* 创建者
*/
private String createBy;
/**
* 仲裁员id
*/
private String arbitratorId;
/**
* 案件名称
*/
private String caseName;
/**
* 仲裁结果
*/
private String caseResult;
/**
* 是否同意组庭,0否,1是
*/
private Integer isAgreePendTral;
/**
* 是否有异议需要举证,1是,0否
*/
private Integer objectionAddEviden;
/**
* 案件实缴费用
*/
private BigDecimal paidExpenses;
/**
* 裁决书URL
*/
private String filearbitraUrl;
/**
* 支付方式(0线上支付,1线下支付)
*/
private String payType;
/**
* 申请人请求仲裁庭裁决
*/
private String requestRule;
/**
* 是否仲裁反请求,1是,0否
*/
private Integer adjudicaCounter;
/**
* 仲裁反请求原因
*/
private String adjudicaCounterReason;
/**
* 是否财产保全申请,1是,0否
*/
private Integer properPreser;
/**
* 是否管辖异议申请,1是,0否
*/
private Integer objectiJuris;
/**
* 被申请人是否缺席,1是,0否
*/
private Integer isAbsence;
/**
* 被申请人质证意见
*/
private String responCrossOpin;
/**
* 申请人质证意见
*/
private String applicaCrossOpin;
/**
* 被申请人的答辩意见
*/
private String responDefenOpini;
/**
* 申请人是否缺席,1是,0否
*/
private Integer appliIsAbsen;
/**
* 是否锁定,0-否,1-是
*/
private Integer lockStatus;
/**
* 视频会议房间号id
*/
private String roomId;
/**
* 是否导入,0手动录入,1导入,默认0
*/
private Integer importFlag=0;
/**
* 版本号
*/
private Integer version;
/**
* 事实和理由
*/
private String facts;
/**
* 批次
*/
private Integer batchNumber;
/**
* 模板id
*/
private Long templateId;
/**
* 调解内容
*/
private String mediationAgreement;
/**
* 申请人是否书面审理 ,0否,1是
*/
private Integer appliIswritHear;
/**
* 被申请人是否书面审理
*/
private Integer responIsWritHear;
/**
* 案件附件相关表
*/
private List<CaseAttach> caseAttachList;
/**
* 附件类型
*/
private List<Integer> annexTypeList;
/**
* 附件类型
*/
private Integer annexType;
/**
* 自定义字段
*/
private List<ColumnValue> columnValueList;
/**
* 案件相关人员
*/
private CaseAffiliateVO affiliate;
/**
* 待办状态,0-待办,1-已办
*/
private Integer pendingStatus;
/**
* 仲裁方式名称,1-线上调解,2-线下调解
*/
private String arbitratMethodName;
/**
* 申请机构名称
*/
private String applicationName;
/**
* 被申请人姓名
*/
private String respondentName;
}
@@ -25,4 +25,5 @@ public class CaseConfirmPayDTO {
* 缴费凭证
*/
private List<CaseAttach> payOrderList;
}
@@ -38,6 +38,9 @@ public class CaseEvidenceDTO {
/** 是否管辖异议申请 */
private Integer objectiJuris;
/** 被申请人是否书面审理 */
private Integer respondentIsWrittenHear;
/**
* 案件仲裁员
@@ -35,4 +35,8 @@ public class CasePayDTO {
* 缴费凭证
*/
private List<CaseAttach> payOrderList;
/**
* 批号
*/
private String batchNumber;
}
@@ -1,11 +1,14 @@
package com.ruoyi.wisdomarbitrate.domain;
package com.ruoyi.wisdomarbitrate.domain.dto.sendrecord;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class SendMailRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -40,6 +43,16 @@ public class SendMailRecord extends BaseEntity {
private Integer sendStatus;
/** 附件id */
private String fileIds;
/** 邮件主题 */
private String mailSubject;
/** 邮件发件人地址 */
private String mailFromAddress;
private List<CaseAttach> caseAttachList;
public Integer getSendStatus() {
return sendStatus;
@@ -0,0 +1,78 @@
package com.ruoyi.wisdomarbitrate.domain.dto.sendrecord;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplateParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SmsSendRecord extends BaseEntity {
/**
* ID
*/
private Long id;
/**
* 短信模板主键id
*/
private Long msSmsTemplateId;
/**
* 案件申请id
*/
private Long caseId;
/**
* 案件编号
*/
private String caseNum;
/**
* 手机号
*/
private String phone;
/**
* 发送时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date sendTime;
/**
* 发送状态
*/
private Integer sendStatus;
/**
* 短信sid,发送的唯一标识
*/
private String sid;
/**
* 失败原因
*/
private String reason;
/**
* 短信内容
*/
private String sendContent;
/**
* 腾讯云模板id
*/
private String templateId;
/**
* 模板内容
*/
private String templateContent;
private List<MsSmsTemplateParam> templateParams;
public SmsSendRecord(Long caseId, String caseNum, String phone, Date sendTime, String sendContent,String sid) {
this.caseId = caseId;
this.caseNum = caseNum;
this.phone = phone;
this.sendTime = sendTime;
this.sendContent = sendContent;
this.sid = sid;
}
}
@@ -0,0 +1,129 @@
package com.ruoyi.wisdomarbitrate.domain.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.util.Date;
@Getter
@Setter
@ToString
@Data
public class CaseAffiliateEntity {
/**
* id
*/
private Long id;
/**
* 案件主表id,案件申请表主键
*/
private Long caseAppliId;
/**
* 案件日志表id
*/
private Long caseAppliLogId;
/**
* 用户id,用户表user_id关联
*/
private Long userId;
/**
* 申请机构id,和部门表id关联
*/
private Long applicantDeptId;
/**
* 代码(统一社会信用代码或者身份证号)
*/
private String code;
/**
* 用户名
*/
private String userName;
/**
* 法定代表人
*/
private String compLegalPerson;
/**
* 角色类别,1-申请操作人/申请人,2-申请人代理人,3-被申请人操作人/被申请人,4-被申请人代理人
*/
private Integer roleType=1;
/**
* 组别
*/
private Integer groupOrder;
/**
* 是否操作人,0-否,1-是
*/
private Integer operatorFlag=1;
/**
* 是否机构申请,0-自然人,1-申请机构,默认0
*/
private Integer organizeFlag=0;
/**
* 电话
*/
private String phone;
/**
* 邮箱
*/
private String email;
/**
* 姓名
*/
private String name;
/**
* 住所
*/
private String home;
/**
* 联系地址
*/
private String address;
/**
* 身份证号
*/
private String idCard;
/**
* '身份类别,0-身份证,1-护照,默认0'
*/
private Integer idType;
/**
* 国籍,0-境内,1-境外,默认0
*/
private Integer nationality;
/**
* 生日
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
private Date birth;
/**
* 性别,0-男,1-女
*/
private String sex;
/**
* 被申请人姓名
*/
private String resName;
/**
* 角色名称
*/
private String roleName;
/**
* 申请机构名称
*/
private String applicantOrgName;
/**
* 角色id
*/
private Long roleId;
/**
* 职位
*/
private String position;
}
@@ -0,0 +1,32 @@
package com.ruoyi.wisdomarbitrate.domain.entity.sms;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Getter
@Setter
@ToString
@Table(name = "sms_send_history_record_param")
public class MsSmsSendHistoryRecordParam {
@Id
@GeneratedValue(generator = "JDBC")
private Long id;
/**
* 短信历史记录表id
*/
@Column(name = "sms_record_history_id")
private Long smsRecordHistoryId;
/**
* 参数值
*/
@Column(name = "param_value")
private String paramValue;
}
@@ -0,0 +1,33 @@
package com.ruoyi.wisdomarbitrate.domain.entity.sms;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Getter
@Setter
@ToString
@Table(name = "sms_send_record_param")
public class MsSmsSendRecordParam {
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;
/**
* 短信记录表id
*/
@Column(name = "sms_record_id")
private Long smsRecordId;
/**
* 参数值
*/
@Column(name = "param_value")
private String paramValue;
}
@@ -0,0 +1,38 @@
package com.ruoyi.wisdomarbitrate.domain.entity.sms;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.*;
import java.util.List;
@Getter
@Setter
@ToString
@Table(name = "sms_template")
public class MsSmsTemplate {
@Id
@GeneratedValue(generator = "JDBC")
private Long id;
/**
* 腾讯云模板id
*/
@Column(name = "template_id")
private String templateId;
/**
* 模板名称
*/
private String name;
/**
* 模板内容
*/
private String content;
/**
* 模板参数
*/
@Transient
private List<MsSmsTemplateParam> templateParams;
}
@@ -0,0 +1,38 @@
package com.ruoyi.wisdomarbitrate.domain.entity.sms;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.*;
@Getter
@Setter
@ToString
@Table(name = "sms_template_param")
public class MsSmsTemplateParam {
@Id
@GeneratedValue(generator = "JDBC")
private Long id;
/**
* ms_sms_template表id
*/
@Column(name = "sms_template_id")
private Long smsTemplateId;
/**
* 参数
*/
private String param;
/**
* 参数名
*/
@Column(name = "param_name")
private String paramName;
/**
* 参数值
*/
@Transient
private String paramValue;
}
@@ -0,0 +1,60 @@
package com.ruoyi.wisdomarbitrate.domain.shortmessage;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "meeting_info")
public class MeetingInfo {
/**
* 主键Id
*/
@Id
private String uid;
/**
* 案件Id
*/
@Column(name = "case_id")
private Long caseId;
/**
* 用户Id
*/
@Column(name = "user_id")
private Long userId;
/**
* 用户名称
*/
@Column(name = "user_name")
private String userName;
/**
* 房间Id
*/
@Column(name = "room_id")
private String roomId;
/**
* 系统类型
*/
@Column(name = "system_type")
private String systemType;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
}
@@ -0,0 +1,111 @@
package com.ruoyi.wisdomarbitrate.domain.shortmessage;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Getter
@Setter
@ToString
@Table(name = "send_mail_history_record")
public class MsSendMailHistoryRecord {
@Id
@GeneratedValue(generator = "JDBC")
private Long id;
/**
* 邮件名称
*/
@Column(name = "mail_name")
private String mailName;
/**
* 邮件接收地址
*/
@Column(name = "mail_address")
private String mailAddress;
/**
* 发送时间
*/
@Column(name = "send_time")
private Date sendTime;
/**
* 案件编号
*/
@Column(name = "case_num")
private String caseNum;
/**
* 发送状态
*/
@Column(name = "send_status")
private Long sendStatus;
/**
* 立案申请id
*/
@Column(name = "case_id")
private Long caseId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 创建者
*/
@Column(name = "create_by")
private String createBy;
/**
* 更新者
*/
@Column(name = "update_by")
private String updateBy;
/**
* 更新时间
*/
@Column(name = "update_time")
private Date updateTime;
/**
* 附件id用英文逗号隔开
*/
@Column(name = "file_ids")
private String fileIds;
/**
* 邮件主题
*/
@Column(name = "mail_subject")
private String mailSubject;
/**
* 邮件发送地址
*/
@Column(name = "mail_from_address")
private String mailFromAddress;
/**
* 邮件父类id
*/
@Column(name = "parent_id")
private Long parentId;
/**
* 邮件内容
*/
@Column(name = "mail_content")
private String mailContent;
}
@@ -0,0 +1,98 @@
package com.ruoyi.wisdomarbitrate.domain.shortmessage;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Table(name = "sms_send_history_record")
public class MsSmsSendHistoryRecord {
@Id
@GeneratedValue(generator = "JDBC")
private Long id;
/**
* 案件id
*/
@Column(name = "case_appli_id")
private Long caseAppliId;
/**
* 短信模板表主键id
*/
@Column(name = "ms_sms_template_id")
private Long msSmsTemplateId;
/**
* 案件编号
*/
@Column(name = "case_num")
private String caseNum;
/**
* 手机号
*/
private String phone;
/**
* 发送时间
*/
@Column(name = "send_time")
private Date sendTime;
/**
* 发送状态,0-失败,1-成功
*/
@Column(name = "send_status")
private Long sendStatus;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 更新时间
*/
@Column(name = "update_time")
private Date updateTime;
/**
* 创建人
*/
@Column(name = "create_by")
private String createBy;
/**
* 更新者
*/
@Column(name = "update_by")
private String updateBy;
/**
* 发送短信唯一标识
*/
private String sid;
/**
* 父类短信id
*/
@Column(name = "parent_id")
private Long parentId;
/**
* 失败原因
*/
private String reason;
}
@@ -0,0 +1,33 @@
package com.ruoyi.wisdomarbitrate.domain.vo;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
import lombok.Data;
/**
* @Classname MsCaseAffiliateList
* @Description 案件人员表
* @Version 1.0.0
* @Date 2024/3/27 16:08
* @Created wangqiong
*/
@Data
public class CaseAffiliateBase {
/**
* 申请人/操作人
*/
private CaseAffiliateEntity applicant;
/**
* 申请人代理人
*/
private CaseAffiliateEntity applicantAgent;
/**
* 被申请人/操作人
*/
private CaseAffiliateEntity res;
/**
* 被申请人代理人
*/
private CaseAffiliateEntity resAgent;
}
@@ -0,0 +1,32 @@
package com.ruoyi.wisdomarbitrate.domain.vo;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.util.List;
/**
* @Classname MsCaseAffiliateVO
* @Description 案件人员表
* @Version 1.0.0
* @Date 2024/3/22 11:46
* @Created wangqiong
*/
@Getter
@Setter
@ToString
@Data
public class CaseAffiliateVO {
/**
* 申请人/操作人
*/
private List<CaseAffiliateBase> applicant;
/**
* 被申请人/操作人
*/
private List<CaseAffiliateBase> res;
}
@@ -0,0 +1,419 @@
package com.ruoyi.wisdomarbitrate.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class CaseApplicationVO {
private static final long serialVersionUID = 1L;
/**
* 查询案件时区分是否待办案件,0待办案件,1已办案件
*/
private String selectCaseStatus;
/** ID */
private Long id;
/** 案件名称 */
@Excel(name = "案件名称")
private String caseName;
/** 案件编号 */
// @Excel(name = "案件编号")
private String caseNum;
/** 案件标的 */
@Excel(name = "案件标的")
private BigDecimal caseSubjectAmount;
/**
* 模板id
*/
private Long templateId;
/** 立案日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date registerDate;
/** 仲裁方式 */
private Integer arbitratMethod;
/**
* 是否导入,0手动录入,1导入,默认0
*/
private Integer importFlag;
/** 仲裁方式名称 */
private String arbitratMethodName;
/** 案件状态 */
private Integer caseStatus;
private String caseStatusstr;
/** 申请人是否书面审理 */
private Integer applicantIsWrittenHear;
/** 被申请人是否书面审理 */
private Integer respondentIsWrittenHear;
/** 开庭方式是否一致 */
private Integer arbitraMethodIssame;
/** 仲裁方式说明 */
private String arbitratMethodIllustrate;
/** 案件申请表ID */
private Long caseAppliId;
/** 开庭日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date hearDate;
/** 借款开始日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "借款开始日期")
private Date loanStartDate;
/** 借款结束日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "借款结束日期")
private Date loanEndDate;
/** 合同编号 */
@Excel(name = "合同编号")
private String contractNumber;
/** 申请人主张欠本金 */
@Excel(name = "申请人主张欠本金")
private BigDecimal claimPrinciOwed;
/** 申请人主张欠利息 */
@Excel(name = "申请人主张欠利息")
private BigDecimal claimInterestOwed;
/** 申请人主张违约金 */
@Excel(name = "申请人主张违约金")
private BigDecimal claimLiquidDamag;
/** 申请人请求仲裁庭裁决 */
@Excel(name = "申请人请求仲裁庭裁决",width = 36)
private String requestRule;
/** 是否财产保全申请 */
@Excel(name = "是否财产保全申请",width = 26,combo= {"是","否"},readConverterExp = "0=否,1=是")
private Integer properPreser;
/** 申请人仲裁请求及事实和理由 */
@Excel(name = "申请人仲裁请求及事实和理由",width = 36)
private String arbitratClaims;
/** 仲裁应缴费用 */
private BigDecimal feePayable;
/** 开始在线视频时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date beginVideoDate;
/** 在线视频人员 */
private String onlineVideoPerson;
/** 仲裁员id */
private String arbitratorId;
/** 仲裁员名称 */
private String arbitratorName;
/** 案件描述 */
private String caseDescribe;
/** 裁决书URL */
private String filearbitraUrl;
/** 是否同意组庭 */
private Integer isAgreePendTral;
/** 是否有异议需要举证 */
private Integer objectionAddEviden;
/** 是否需要开庭审理 */
private Integer openCourtHear;
/** 是否仲裁反请求 */
private Integer adjudicaCounter;
/**
* 仲裁反请求原因
*/
private String adjudicaCounterReason;
/** 被申请人是否缺席 */
private Integer isAbsence;
/** 是否管辖异议申请 */
private Integer objectiJuris;
/** 被申请人质证意见 */
private String responCrossOpin;
/** 被申请人的答辩意见 */
private String responDefenOpini;
/** 申请人是否缺席 */
private Integer appliIsAbsen;
/** 申请人质证意见 */
private String applicaCrossOpin;
/** 支付状态 */
private Integer paymentStatus;
/** 支付状态描述 */
private String paymentStatusName;
/**
* 支付方式code,0线上支付,1线下支付
*/
private Integer payTypeCode;
/**
* 支付方式name,0线上支付,1线下支付
*/
private String payTypeName;
// 导入校验失败信息
private StringBuilder errorMsg;
/**
* 是否锁定,0-否,1-是
*/
private Integer lockStatus;
/** 案件状态名称 */
private String caseStatusName;
/** 是否同意审核 */
private Integer agreeOrNotCheck;
/** 申请人名称 */
private String applicantName;
/** 被申请人名称 */
private String respondentName;
/**
* 用户身份证号
*/
private String idCard;
/**
* 用户id
*/
private String userId;
/**
* 登录用户用户名
*/
private String loginUserName;
private List<Long> deptIds;
/**
* 部门长状态
*/
private List<Integer> deptHeadStatus;
/**
* 代理人角色有关部门
*/
private List<Long> agentDeptIds;
/**
* 财务状态
*/
private Integer financeStatus;
/**
* 是否是被申请人,仲裁员,部门长,财务,代理人,0-否,1-是
*/
private Integer isOtherRole;
/**
* 案件日志id
*/
private Long caseLogId;
/** 仲裁结果 */
private String caseResult;
/** 案件关联人信息 */
private List<CaseAffiliate> caseAffiliates;
private List<Integer> caseStatusList;
private List<Integer> annexTypeList;
private Integer annexType;
/**
* 案件附件列表
*/
private List<CaseAttach> caseAttachList;
/**
* 申请人主体信息
*/
/** 姓名 */
@Excel(name = "申请人主体信息-申请人(机构)",width = 26)
private String name;
/** 身份证号 */
@Excel(name = "申请人主体信息-代码",width = 26)
private String identityNum;
/** 申请人主体信息-法定代表人 */
@Excel(name = "申请人主体信息-法定代表人",width = 26)
private String compLegalPerson;
/** 申请人主体信息-法定代表人 */
@Excel(name = "申请人主体信息-法定代表人职位",width = 26)
private String compLegalperPost;
/**
* 申请人主体信息-申请人(机构)id
*/
private String nameId;
/** 联系电话 */
@Excel(name = "申请人主体信息-联系电话",width = 26)
private String contactTelphone;
/** 联系地址 */
@Excel(name = "申请人主体信息-联系地址",width = 26)
private String contactAddress;
/** 单位电话 */
@Excel(name = "申请人主体信息-单位电话",width = 26)
private String workTelphone;
/** 单位地址 */
@Excel(name = "申请人主体信息-单位地址",width = 26)
private String workAddress;
/** 申请人住所 */
@Excel(name = "申请人主体信息-住所",width = 26)
private String residenAffiliAppli;
/** 申请人邮箱 */
@Excel(name = "申请人主体信息-邮箱",width = 26)
private String email;
/** 代理人姓名 */
@Excel(name = "申请人主体信息-代理人姓名",width = 26)
private String nameAgent;
/** 身份证号 */
@Excel(name = "申请人主体信息-代理人身份证号",width = 26)
private String identityNumAgent;
/** 联系电话 */
@Excel(name = "申请人主体信息-代理人联系电话",width = 26)
private String contactTelphoneAgent;
/** 联系地址 */
@Excel(name = "申请人主体信息-代理人联系地址",width = 26)
private String contactAddressAgent;
/** 申请人代理人职称 */
@Excel(name = "申请人主体信息-代理人职称",width = 26)
private String appliAgentTitle;
/**
* 被申请人主体信息
*/
/** 姓名 */
@Excel(name = "被申请人主体信息-申请人姓名",width = 26)
private String debtorName;
/** 身份证号 */
@Excel(name = "被申请人主体信息-身份证号",width = 26)
private String debtorIdentityNum;
/** 被申请人主体信息-性别 */
@Excel(name = "被申请人主体信息-性别",width = 26,combo= {"男","女"},readConverterExp = "0=男,1=女")
private String responSex;
/** 被申请人主体信息-出生年月日 */
@Excel(name = "被申请人主体信息-出生年月日",width = 26)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date responBirth;
/** 联系电话 */
@Excel(name = "被申请人主体信息-联系电话",width = 26)
private String debtorContactTelphone;
/** 联系地址 */
@Excel(name = "被申请人主体信息-联系地址",width = 26)
private String debtorContactAddress;
/** 被申请人住所 */
@Excel(name = "被申请人主体信息-住所",width = 26)
private String residenAffiliRespon;
/** 单位电话 */
@Excel(name = "被申请人主体信息-单位电话",width = 26)
private String debtorWorkTelphone;
/** 单位地址 */
@Excel(name = "被申请人主体信息-单位地址",width = 26)
private String debtorWorkAddress;
/** 邮箱 */
@Excel(name = "被申请人主体信息-邮箱",width = 26)
private String debtorEmail;
/** 代理人姓名 */
@Excel(name = "被申请人主体信息-代理人姓名",width = 26)
private String debtorNameAgent;
/** 身份证号 */
@Excel(name = "被申请人主体信息-代理人身份证号",width = 26)
private String debtorIdentityNumAgent;
/** 联系电话 */
@Excel(name = "被申请人主体信息-代理人联系电话",width = 26)
private String debtorContactTelphoneAgent;
/** 联系地址 */
@Excel(name = "被申请人主体信息-代理人联系地址",width = 26)
private String debtorContactAddressAgent;
/**
* 申请机构id
*/
private String applicationOrganId;
/**
* 版本号
*/
private Integer version;
/**
* 修改案件的提交状态,0-未提交,1-已提交,2-同意,3-拒绝,4-撤销
*/
private Integer updateSubmitStatus;
/** 合同名称 */
private String contractName;
/**
* 事实和理由
*/
private String facts;
/**
* 合同甲方
*/
private String partyA;
/**
* 利率
*/
private String interestRate;
/**
* 待还金额
*/
private String outstandingMoney;
/**
* 调解达成协议内容
*/
private String mediationAgreement;
/**
* 金融消费纠纷基本情况
*/
private String disputes;
/**
* 贷款类型
*/
private String loanType;
/**
* 贷款期限
*/
private String loanTerm;
/**
* 本案争议焦点
*/
private String caseFocus;
/**
* 本案事实
*/
private String caseFacts;
/**
* 被申请人对上述材料的质证意见
*/
private String respondentOpinion;
/**
* 申请人对上述材料的质证意见
*/
private String applicantOpinion;
/**
* 批号
*/
private Integer batchNumber;
/**
* 待办状态,0待办,1已办
*/
private Integer pendingStatus;
/** e签宝流程id */
private String signFlowId;
}
@@ -30,7 +30,7 @@ public class CaseEvidenceDirectoryVO implements Serializable {
/**
* 附件id
*/
private Integer annexId;
private Long annexId;
/**
* 级数
@@ -105,11 +105,11 @@ public class CaseEvidenceDirectoryVO implements Serializable {
this.evidenceName = evidenceName;
}
public Integer getAnnexId() {
public Long getAnnexId() {
return annexId;
}
public void setAnnexId(Integer annexId) {
public void setAnnexId(Long annexId) {
this.annexId = annexId;
}
@@ -37,4 +37,8 @@ public class CaseEvidenceVO {
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date scheduleStartTime;
/**
* 案件编号
*/
private String caseStatusName;
}
@@ -4,14 +4,15 @@ import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplicationPay;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class CasePayListVO {
/**
* 订单总金额 单位:分
* 订单总金额
*/
private int totalFee;
private BigDecimal totalFee;
/**
* 案件总条数
@@ -0,0 +1,45 @@
package com.ruoyi.wisdomarbitrate.domain.vo;
import lombok.Data;
/**
* 动态配置字段表
*/
@Data
public class ColumnValue {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 字段,同一个批号,column不可重复
*/
private String column;
/**
* 字段名
*/
private String name;
/**
* 字段值
*/
private String value;
/**
* 案件id
*/
private Long caseId;
/**
* 是否为自定义字段,0-否,1-是
*/
private Integer isDefault;
/**
* 案件日志表id
*/
private Long caseAppliLogId;
}
@@ -29,6 +29,9 @@ public class CompareCaseVO {
* 变化字段,多个用,拼接
*/
private String changeColumn;
/**
* 自定义字段变化字段,多个用,拼接
*/
private String columnValueChangeColumn;
}
@@ -0,0 +1,17 @@
package com.ruoyi.wisdomarbitrate.domain.vo;
import lombok.Data;
/**
* 模板抓取规则关联表
*/
@Data
public class TemplateFatchRule {
private static final long serialVersionUID = 1L;
private Long id;
private Long templateId;
private Long fatchRuleId;
}
@@ -21,13 +21,14 @@ public class ToDoCount {
private int caseApplyArbitrateWay=0; // 待审核仲裁方式
private int caseApplyGroupOnline=0; // 待开庭审理
private int caseApplyGroupOffline=0; // 待书面审理
private int caseApplyAward=0; // 待生成仲裁文书
private int caseApplyAwardCheck=0; // 待核验仲裁文书
private int caseApplyAwardConfirm=0; // 待审核仲裁文书
private int caseApplyAwardSign=0; // 待仲裁文书签名
private int caseApplyAwardSeal=0; // 待仲裁文书用印
private int caseApplyAwardSend=0; // 待仲裁文书送达
private int caseApplyAward=0; // 待生成裁决书
private int caseApplyAwardCheck=0; // 待核验裁决书
private int caseApplyAwardConfirm=0; // 待审核裁决书
private int caseApplyAwardSign=0; // 待裁决书签名
private int caseApplyAwardSeal=0; // 待裁决书用印
private int caseApplyAwardSend=0; // 待裁决书送达
private int caseApplyStored=0; // 待案件归档
private int caseApplyArchived=0; // 已归档
private int updateOnlineHearDate=0; // 待修改开庭时间
private int arbitratorApplyAwardConfirm=0; // 待仲裁员审核裁决书
}
@@ -0,0 +1,41 @@
package com.ruoyi.wisdomarbitrate.domain.vo.shortmessage;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MeetingInfoVO {
/**
* 案件Id
*/
private Long caseId;
/**
* 用户Id
*/
private Long userId;
/**
* 用户名称
*/
private String userName;
/**
* 房间Id
*/
private String roomId;
/**
* 系统类型
*/
private String systemType;
/**
* 登录认证令牌
*/
private String token;
}
@@ -0,0 +1,34 @@
package com.ruoyi.wisdomarbitrate.domain.vo.shortmessage;
import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplateParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ReSendMessageVO {
/**
* 短信模版Id
*/
private String templateId;
/**
* 手机号
*/
private String phone;
/**
* 短信id
*/
private Long id;
/**
* 短信模版参数值
*/
private List<MsSmsTemplateParam> templateParams;
}
@@ -2,6 +2,7 @@ package com.ruoyi.wisdomarbitrate.mapper;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -10,7 +11,7 @@ import java.util.List;
public interface CaseAffiliateLogMapper {
int batchCaseAffiliate(List<CaseAffiliate> caseAffiliates);
int batchCaseAffiliate(List<CaseAffiliateEntity> caseAffiliates);
void deletecaseAffiliate(CaseApplication caseApplication);
@@ -3,6 +3,8 @@ package com.ruoyi.wisdomarbitrate.mapper;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
import com.ruoyi.wisdomarbitrate.domain.vo.BookSendVO;
import org.apache.ibatis.annotations.Param;
@@ -18,28 +20,26 @@ public interface CaseAffiliateMapper {
void batchDeletecaseAffiliate(@Param("ids") List<Long> ids);
List<CaseAffiliate> selectCaseAffiliate(CaseAffiliate caseAffiliate);
List<CaseAffiliate> selectCaseAffiliateByCaseIds(@Param("ids") List<Long> ids);
CaseAffiliate selectCaseAffiliateByIdentityType(@Param("caseAppliId") Long caseAppliId, @Param("identityType")int identityType);
int updataCaseAffiliate(CaseAffiliate caseAffiliate);
/**
* 根据案件查询邮箱
* @param id
* @return
*/
List<CaseAffiliate> emailByCaseId(@Param("caseAppliId")Long id);
/**
* 批量修改
* @param affiliateLogList
*/
void updateCaseAffiliateByCaseId(@Param("caseAppliId")Long caseAppliId,@Param("list") List<CaseAffiliate> affiliateLogList);
List<CaseAffiliateEntity> selectCaseAffiliate(CaseAffiliateEntity entity);
List<CaseAffiliateEntity> selectCaseAffiliateByCaseIds(@Param("caseIds") List<Long> ids);
/**
* 根据案件id删除
* @param caseId
*/
void deleteByCaseId(@Param("caseAppliId") Long caseId);
/**
* 新增人员
* @param affiliate
*/
void insert(CaseAffiliateEntity affiliate);
/**
* 根据案件id查询邮箱
* @param id
* @return
*/
List<CaseAffiliateEntity> emailByCaseId(Long id);
}
@@ -38,10 +38,19 @@ public interface CaseApplicationLogMapper {
Integer selectMaxVersionBySecret(@Param("caseAppliId")Long id);
/**
* 根据案件id删除案件记录表和案件关联人日志表
* 删除日志
* @param ids
*/
void batchDeleteLog(@Param("ids") List<Long> ids);
CaseApplication selectBeforeCase(@Param("caseId") Long caseId, @Param("version")Integer version);
Integer batchSave(@Param("list")List<CaseApplication> caseApplications);
/**
* 根据案件id查询所有的日志id
* @param ids
* @return
*/
List<Long> selectLogsByCaseIds(@Param("ids")List<Long> ids);
}
@@ -4,6 +4,7 @@ import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
import org.apache.ibatis.annotations.Param;
@@ -11,18 +12,9 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface CaseApplicationMapper {
List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication);
List<CaseApplication> selectCaseApplicationList1(CaseApplication caseApplication);
int selectCaseApplicationCount(CaseApplication caseApplication);
/**
* 查询超级管理员案件
* @param caseApplication
* @return
*/
List<CaseApplication> selectAdminCaseApplicationList(CaseApplication caseApplication);
int insertCaseApplication(CaseApplication caseApplication);
@@ -41,7 +33,7 @@ public interface CaseApplicationMapper {
*/
List<CaseApplication> listCaseApplicationByIds(@Param("ids")List<Long> ids);
CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication);
/**
* 查询最大编号
@@ -65,10 +57,11 @@ public interface CaseApplicationMapper {
void updatePayType(CaseConfirmPayDTO payDTO);
ToDoCount selectAdminCaseToDoCount();
ToDoCount selectTodoCountByRole(CaseApplication caseApplication);
ToDoCount selectTodoCountByRole(@Param("caseApplication") CaseApplication caseApplication,
@Param("caseStatusList") List<Integer> caseStatusList,
@Param("roleIds") List<Long> roleIds);
/**
* 修改案件锁定状态
@@ -99,12 +92,6 @@ public interface CaseApplicationMapper {
*/
Long selectCaseIdByRoomId(@Param("roomId")String roomId);
/**
* 查询已办案件
* @param caseApplication
* @return
*/
List<CaseApplication> selectHandledCase(CaseApplication caseApplication);
/**
* 查询最大房间号
* @return
@@ -118,17 +105,50 @@ public interface CaseApplicationMapper {
*/
void updateVersionById(@Param("id")Long id, @Param("version")Integer version);
/**
* 查询秘书案件
* @param caseApplication
* @return
*/
List<CaseApplication> selectSecretaryCase(CaseApplication caseApplication);
/**
* 查询申请人案件
* 查询最大批号
* @return
*/
Integer selectMaxBatchNumber();
/**
* 批量新增案件
* @param caseApplications
* @return
*/
int batchSave(@Param("list")List<CaseApplication> caseApplications);
int selectCasenum(@Param("userId") String userId);
List<CaseApplication> selectAdminCaseApplicationListBatch(CaseApplication caseApplication);
List<CaseApplication> listCaseApplicationByBatchNumber(CaseApplication caseApplication);
/**
* 案件列表查询
* @param caseApplication
* @return
*/
List<CaseApplication> selectApplicationCase(CaseApplication caseApplication);
List<CaseApplication> list(@Param("caseApplication") CaseApplication caseApplication,
@Param("caseStatusList") List<Integer> caseStatusList,
@Param("roleIds") List<Long> roleIds);
/**
* 查询当前案件节点
* @param id
* @return
*/
Integer selectCaseApplicationCaseStatus(@Param("id") Long id);
/**
* 新增
* @param caseApplication
* @return
*/
int insert(CaseApplicationDTO caseApplication);
int update(CaseApplicationDTO caseApplication);
}

Some files were not shown because too many files have changed in this diff Show More