Compare commits

...

456 Commits

Author SHA1 Message Date
f14e377565 [新增]以终端反向信号机命名的信号机同样也用此信号机作为办理进路的按钮
All checks were successful
CI / Docker-Build (push) Successful in 2m13s
2024-09-29 09:31:21 +08:00
b302bb360b [新增]开启自动进路的信号机不能开放引导信号 2024-09-26 15:20:55 +08:00
1e2ed4d305 [新增]获取用户信息的接口中增加更新时间
All checks were successful
CI / Docker-Build (push) Successful in 2m12s
2024-09-25 13:27:39 +08:00
436a07bcf4 [新增]获取所有用户信息的接口
All checks were successful
CI / Docker-Build (push) Successful in 2m9s
2024-09-25 10:51:31 +08:00
235f4dce5b [新增]按id数组查询用户信息的接口
All checks were successful
CI / Docker-Build (push) Successful in 2m14s
2024-09-24 16:43:07 +08:00
ac87b0dbe9 [bug]实训中,有多个评分规则时,仅有一个评分规则被使用
All checks were successful
CI / Docker-Build (push) Successful in 2m12s
2024-09-18 10:37:33 +08:00
3536ff75ad [修改]后备模式下,办理引导进路不再检查区段占用
All checks were successful
CI / Docker-Build (push) Successful in 2m11s
2024-09-11 19:07:55 +08:00
f57952b755 [修改]实训结束后的评分删除多余的memberId字段;查询实训按id逆序排列
All checks were successful
CI / Docker-Build (push) Successful in 2m13s
2024-09-11 14:02:16 +08:00
9c9e7c60e3 [修改]场景实训结束后的评分展示中增加非用户角色的步骤(并增加每个步骤对应的角色id,非用户角色步骤没有分数)
All checks were successful
CI / Docker-Build (push) Successful in 6m56s
2024-09-10 17:55:50 +08:00
98abf0691a Merge remote-tracking branch 'origin/develop' into develop 2024-09-10 17:01:45 +08:00
16e8dc191f [bug]对道岔区段的区故解仅解锁指定的区段,而非整个道岔计轴区段 2024-09-10 17:01:24 +08:00
tiger_zhou
4f151fae4a 修改 仿真销毁的时候发送cgy时间,有个可能是空的
All checks were successful
CI / Docker-Build (push) Successful in 2m33s
2024-08-19 09:42:14 +08:00
tiger_zhou
e93171e958 调整列车区段没有值得问题
All checks were successful
CI / Docker-Build (push) Successful in 5m14s
2024-08-16 18:59:18 +08:00
4cd80bbec5 [bug]成都工业实体信号机黄灯、绿灯控制逻辑不对 2024-07-29 13:43:06 +08:00
8125e32d7e [bug]成都工业实体信号机黄灯、绿灯控制逻辑不对 2024-07-18 16:45:00 +08:00
e23864fa72 [修改]探索如何设置maven镜像源
All checks were successful
CI / Docker-Build (push) Successful in 5m3s
2024-06-11 20:40:34 +08:00
212773e679 [修改]gitea自动构建/发布脚本文件
Some checks failed
CI / Docker-Build (push) Failing after 19m33s
2024-06-11 20:15:21 +08:00
495681db5d [修改]语音识别校验接口要求匹配率提高到70%
Some checks failed
CI / Docker-Build (push) Failing after 1m49s
2024-06-07 18:10:20 +08:00
dbe197eba6 [bug]成都工业区段联动服务没写 2024-05-24 11:40:13 +08:00
cee9eda430 [修改]校验语音识别接口增加立体声转单声道逻辑
All checks were successful
CI / Docker-Build (push) Successful in 2m36s
2024-05-17 17:38:22 +08:00
0d10203613 [修改]发布配置文件
All checks were successful
CI / Docker-Build (push) Successful in 2m29s
公网服务发布 / Docker-Build-Push (push) Successful in 10s
2024-05-16 16:59:41 +08:00
99a772a050 [修改]语音识别并与正确文本进行校验接口的参数接收方式
All checks were successful
CI / Docker-Build (push) Successful in 2m31s
2024-05-14 18:32:59 +08:00
ba1e057bce [新增]语音识别并与正确文本进行校验接口
All checks were successful
CI / Docker-Build (push) Successful in 8m28s
2024-05-14 15:14:16 +08:00
6187e6d667 [bug]成工院虚仿平台对接的统计数据同步服务bug 2024-05-11 09:09:33 +08:00
bef6dda6b2 [新增]成工院虚仿平台对接的登录接口、统计数据并同步服务 2024-05-07 16:47:32 +08:00
5d15ba3240 [修改]成都工业职业技术学院项目设备联动逻辑 2024-04-17 10:42:05 +08:00
aae729b637 【修改】试卷创建者信息查询接口GET请求参数绑定出错,改为POST 2024-04-11 13:18:17 +08:00
2416d21a4f 【新增】试卷创建者信息查询接口;查询试卷增加按创建人筛选 2024-04-10 14:53:34 +08:00
346a265164 添加readme文件说明分支及发布方式
All checks were successful
CI / Docker-Build (push) Successful in 2m29s
公网服务发布 / Docker-Build-Push (push) Successful in 15s
2024-03-25 18:57:48 +08:00
9921aea15a 修改定时任务cron 2024-03-25 18:39:10 +08:00
3e19150a48 删除测试步骤
All checks were successful
公网服务发布 / Docker-Build-Push (push) Successful in 28s
2024-03-25 18:28:52 +08:00
202037ec55 修改定时执行工作流
Some checks failed
CI / Docker-Build (push) Successful in 2m30s
公网服务发布 / Docker-Build-Push (push) Failing after 14s
添加清理docker tag为none镜像步骤
2024-03-25 18:19:31 +08:00
5045f6152a 修改触发间隔
All checks were successful
CI / Docker-Build (push) Successful in 2m28s
公网服务发布 / Docker-Build-Push (push) Successful in 3s
2024-03-25 17:14:43 +08:00
2a47dc5979 测试定时执行CI
修改工作流名称
2024-03-25 17:06:30 +08:00
6597194b9c 完善在git发布新版时的构建流程 2024-03-25 16:27:26 +08:00
319592dd19 继续测试event的release事件对象 2024-03-25 15:08:34 +08:00
585c32ac0d 测试event事件对象
测试下拉代码分支版本
2024-03-25 14:51:32 +08:00
3301634aa0 修改触发类型
Some checks failed
CI / Docker-Build (push) Has been cancelled
2024-03-25 14:32:44 +08:00
32d9a9ab21 添加新工作流 2024-03-22 16:36:16 +08:00
a440b77c7f 修改docker 构建bug
All checks were successful
CI / Docker-Build (push) Successful in 3m29s
2024-03-22 15:37:25 +08:00
82e41df1c7 添加设置maven环境操作
Some checks failed
CI / Docker-Build (push) Failing after 18m32s
2024-03-22 09:33:00 +08:00
0b7ce9d746 修改setup java版本
Some checks failed
CI / Docker-Build (push) Failing after 1m14s
2024-03-21 15:33:20 +08:00
b10ea3b6ba 添加local_test持续集成部署工作流
Some checks failed
CI / Docker-Build (push) Failing after 33s
2024-03-21 15:29:19 +08:00
f2b38a9eb2 修改submodule 2024-03-13 19:18:17 +08:00
tiger_zhou
bf87b46662 Merge branch 'test' 2024-03-12 10:36:14 +08:00
tiger_zhou
5f2c1133ca 大赛管理功能 2024-03-12 09:37:21 +08:00
tiger_zhou
352c44a280 大赛管理功能 2024-03-11 18:12:01 +08:00
tiger_zhou
d20fe5fd27 文本替换添加对应的日志 2024-03-11 17:57:12 +08:00
tiger_zhou
c085f5f778 大赛管理功能 2024-03-11 15:25:43 +08:00
tiger_zhou
5579c4f461 大赛管理功能 2024-03-11 15:05:06 +08:00
tiger_zhou
2f9ace88bd 大赛管理功能 2024-03-11 15:01:24 +08:00
tiger_zhou
287e004ee5 大赛管理功能 2024-03-11 13:35:18 +08:00
tiger_zhou
6843a987d5 大赛管理功能 2024-03-11 13:10:40 +08:00
tiger_zhou
cc7218902e 大赛管理功能 2024-03-11 13:10:04 +08:00
tiger_zhou
7404c0bfb8 大赛管理功能 2024-03-11 10:45:05 +08:00
tiger_zhou
ae06533192 大赛管理功能 2024-03-11 10:02:19 +08:00
tiger_zhou
c18a073dee 大赛管理功能 2024-03-11 09:46:46 +08:00
tiger_zhou
a5b71e159a 大赛管理功能 2024-03-11 09:26:12 +08:00
727ddd48ac Merge branch 'test' 2024-03-08 11:32:51 +08:00
tiger_zhou
f95ed6a898 大赛管理功能 2024-03-08 10:51:08 +08:00
tiger_zhou
985c1de837 大赛管理功能 2024-03-08 10:28:31 +08:00
tiger_zhou
c0ed50ccdc 大赛管理功能 2024-03-07 16:47:41 +08:00
tiger_zhou
164c26a01e 大赛管理功能 2024-03-07 14:56:38 +08:00
tiger_zhou
13451cbec0 大赛管理功能 2024-03-07 14:35:55 +08:00
tiger_zhou
2a0e126a7c 大赛管理功能 2024-03-07 14:24:54 +08:00
tiger_zhou
8b23269aba 大赛管理功能 2024-03-07 13:23:44 +08:00
2492184d0e Merge branch 'test' 2024-03-05 13:53:51 +08:00
tiger_zhou
9cda9872cd 大赛管理功能 2024-03-05 10:44:42 +08:00
200f7b5db7 赛题训练结果中添加场景ID字段 2024-03-05 10:07:27 +08:00
deb7fa11fc Merge branch 'test' 2024-03-04 17:26:29 +08:00
cbb52ddbd7 赛题模块训练接口调试修改 2024-03-04 16:29:20 +08:00
tiger_zhou
7fb4199e1b Merge remote-tracking branch 'origin/test' into test 2024-03-04 14:39:22 +08:00
tiger_zhou
08d7996f32 大赛管理功能 2024-03-04 14:38:38 +08:00
6fe2679fd8 增加赛题模块训练接口(未完) 2024-03-01 18:27:40 +08:00
tiger_zhou
9df4de84b6 大赛管理功能 2024-03-01 16:58:07 +08:00
tiger_zhou
823888ac35 大赛管理功能 2024-03-01 16:47:15 +08:00
tiger_zhou
1e927b29af 大赛管理功能 2024-03-01 13:17:40 +08:00
tiger_zhou
97b6d27952 大赛管理功能 2024-03-01 08:32:18 +08:00
58bc68876a Merge branch 'test'
# Conflicts:
#	rtss-message
2024-02-29 23:05:43 +08:00
tiger_zhou
4a1316e1bd 大赛管理功能方法注释 2024-02-29 18:00:54 +08:00
tiger_zhou
902a2e78b1 大赛管理功能 2024-02-29 16:13:42 +08:00
tiger_zhou
7b36192a9a 大赛管理功能 2024-02-29 10:45:22 +08:00
761c7e02eb 增加用功能参数创建仿真的接口; 2024-02-28 18:30:47 +08:00
tiger_zhou
8446891ba5 大赛管理功能 2024-02-28 17:42:48 +08:00
tiger_zhou
7e227fb96b 大赛管理功能 2024-02-28 13:47:48 +08:00
tiger_zhou
6c1bb1d77f 大赛管理功能 2024-02-28 10:05:04 +08:00
tiger_zhou
636f049bfe 大赛管理功能 2024-02-27 15:51:27 +08:00
tiger_zhou
6e19d7acb1 大赛管理功能 2024-02-27 15:51:13 +08:00
tiger_zhou
e647d54762 大赛管理功能 2024-02-27 15:35:49 +08:00
tiger_zhou
161e8ec469 大赛管理功能 2024-02-27 15:08:00 +08:00
tiger_zhou
eecef5ba96 大赛管理功能 2024-02-27 13:49:46 +08:00
tiger_zhou
da470b1832 大赛管理功能 2024-02-27 13:47:23 +08:00
tiger_zhou
23d46aac0c 大赛管理功能 2024-02-27 13:39:04 +08:00
tiger_zhou
37f6fd51eb 大赛管理功能删除之前的模块相关功能 2024-02-27 09:44:12 +08:00
tiger_zhou
9bf2fede2c 大赛管理功能 2024-02-27 09:26:24 +08:00
tiger_zhou
025888cbd2 大赛管理功能 2024-02-27 09:20:32 +08:00
tiger_zhou
9139c93a75 大赛管理功能 2024-02-26 17:27:07 +08:00
tiger_zhou
8200bd7c76 大赛管理功能 2024-02-26 14:03:39 +08:00
tiger_zhou
2647a26869 大赛管理功能 2024-02-26 13:35:39 +08:00
tiger_zhou
68fdecdf31 大赛管理功能 2024-02-23 17:40:04 +08:00
tiger_zhou
2be04ceca1 大赛管理功能 2024-02-23 16:50:22 +08:00
tiger_zhou
1cf7397f55 大赛管理功能 2024-02-23 11:50:44 +08:00
tiger_zhou
25396dc11c 大赛管理功能 2024-02-23 11:49:15 +08:00
tiger_zhou
49aff5b340 大赛管理功能 2024-02-23 11:27:32 +08:00
tiger_zhou
cc58504b5b 大赛管理功能 2024-02-23 11:04:38 +08:00
tiger_zhou
cade3772cd 大赛管理功能 2024-02-23 11:03:10 +08:00
tiger_zhou
6288c72829 大赛管理功能 2024-02-23 10:52:42 +08:00
tiger_zhou
1931e5f52f 大赛管理功能 2024-02-23 10:49:16 +08:00
tiger_zhou
07e23db1db 大赛管理功能 2024-02-23 10:39:11 +08:00
tiger_zhou
63c1c88312 大赛管理功能 2024-02-23 10:02:44 +08:00
tiger_zhou
e515bcb56a 大赛管理功能 2024-02-23 09:27:19 +08:00
tiger_zhou
b24c3ddaa7 大赛管理功能 2024-02-23 09:23:42 +08:00
tiger_zhou
2ce51aaac9 添加service 2024-02-18 15:12:43 +08:00
tiger_zhou
740dcefb4c 添加controller 2024-02-18 15:12:16 +08:00
tiger_zhou
d278c01d3b 添加 protobuf 2024-02-18 15:09:03 +08:00
5d07d730eb proto文件编译工具类和编译后的文件 2024-02-05 15:45:18 +08:00
76dea2b00b 竞赛接口使用的proto文件 v0.1 2024-02-05 14:05:45 +08:00
6996aae12f 添加竞赛proto定义0.1版 2024-02-02 15:30:27 +08:00
tiger_zhou
92bfa114be 添加 protobuf 2024-01-31 11:13:17 +08:00
tiger_zhou
006367f3de 添加 message子模块 2024-01-31 10:49:46 +08:00
tiger_zhou
7b4c5f0948 添加 message子模块 2024-01-31 10:47:26 +08:00
tiger_zhou
bb0cf5a83f 添加 message子模块 2024-01-31 10:45:26 +08:00
tiger_zhou
99a47d9d65 调整 2024-01-31 10:32:37 +08:00
joylink_zhangsai
5cbcd67041 修改进路接近锁闭的判定条件与信号机保持一致;回滚办理引导进路时,引导信号持续时间逻辑 2023-12-19 14:54:23 +08:00
weizhihong
5372e55b44 【车站直接转中控】 2023-12-05 18:13:17 +08:00
joylink_zhangsai
2316deb8d3 发给前端的列车状态增加停站状态 2023-12-04 17:51:24 +08:00
joylink_zhangsai
b0d30ed58c 修改机器人驾驶逻辑:停车后不会自动开ATO,修改预选模式后即可自动开启ATO 2023-12-04 12:17:43 +08:00
joylink_zhangsai
b8768e6052 修改机器人驾驶的停车制动操作 2023-12-04 11:01:00 +08:00
joylink_zhangsai
d77e70c126 Merge remote-tracking branch 'origin/test' into test 2023-12-04 10:14:19 +08:00
joylink_zhangsai
7f30126bd8 修改设置备用车预选模式无效bug 2023-12-04 10:13:57 +08:00
weizhihong
2b3b1134c5 【发布保存为草稿】【增加TMS、PIS设备类型】 2023-12-01 11:24:08 +08:00
5e5a17d79a 修改【人工驾驶默认停车】配置的生效逻辑 2023-11-30 17:01:41 +08:00
weizhihong
659b537f75 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test 2023-11-30 14:08:38 +08:00
weizhihong
441ec71627 【增加移动授权非空判断】 2023-11-30 14:08:20 +08:00
4739bb6a68 添加进路办理检查道岔人工办理优先处理逻辑 2023-11-30 14:07:44 +08:00
44e9bd5ec2 添加进路办理检查道岔征用相反位置人工办理优先处理逻辑 2023-11-29 16:52:18 +08:00
weizhihong
bdfa4d2992 【仿真背景加载列车逻辑修改】【站台跳停时,列车不开门】【calculateStationRatio方法返回值空指针处理】 2023-11-28 17:53:16 +08:00
weizhihong
d39f9dbdbb 【重复加载实训人员时出错】 2023-11-28 14:16:39 +08:00
weizhihong
700d95e4a7 【增加点击初始化清除人员操作,编制时找不到列车问题】 2023-11-27 17:56:27 +08:00
weizhihong
28c74a75cd Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test 2023-11-27 16:47:40 +08:00
weizhihong
a73c568b7f 【实训加载时人员初始化】 2023-11-27 16:47:31 +08:00
e67b7b8ad1 以ATO速度曲线的距离筛选MA(之前以EOA距离筛选的方式导致列车运行过远) 2023-11-27 16:26:07 +08:00
300804dccc 车地通信异常情况下无法同步列车信息 2023-11-27 10:06:43 +08:00
787ecb5642 修改列车供电状态的更新逻辑;列车重新通电之后重置ATP系统中的一些状态;TrainInfo中增加车地通信状态 2023-11-24 16:40:40 +08:00
29b94f0f1b 修改“驾驶”命令设置目的地时的bug 2023-11-24 10:52:23 +08:00
3e8ed7095e 实训时,用户的会话操作匹配失败后,机器人成员会发送“请重复”语音 2023-11-23 17:03:00 +08:00
6c6e254751 列车初始化时将机器人驾驶参数也初始化 2023-11-23 10:50:31 +08:00
6b14090431 场景实训中非用户的文字聊天操作会被替换为语音聊天,且车次号会被替换为专业发音 2023-11-23 09:52:02 +08:00
5eac7cc9be 进路人工办理优先于自动办理(人工办理进路会将与其冲突的、尚未办理完成的进路取消掉) 2023-11-22 17:15:51 +08:00
4becfd48cb 列车机器人驾驶需使用驾驶命令后才会自动解除EB 2023-11-22 16:16:21 +08:00
aec1a01f96 修复国赛场景编制遇到的问题。修改延续保护中道岔的延续保护及侧防解锁逻辑;修改设计划车时的计划筛选逻辑 2023-11-21 14:51:26 +08:00
0faf852aa6 更严格的限制CM模式机器人驾驶 2023-11-20 13:32:13 +08:00
tiger_zhou
3d86ae0355 中途添加计划车导致报错问题 2023-11-16 15:45:18 +08:00
618c8dc33c 修改设置计划车时,下一车站计划的筛选逻辑 2023-11-16 15:16:05 +08:00
57209785ad 修改成工院实训室项目生成设备配置的逻辑 2023-11-15 18:07:52 +08:00
352ef75923 储存TrainInfo的头码车运行路径(hctPath)信息 2023-11-15 17:58:38 +08:00
25c31fcefb 修改机器人开启ATO的逻辑;修改[延续保护太早锁闭在错误位置导致无法办理]的bug 2023-11-15 13:21:36 +08:00
f1da71f236 增加成都工业职业技术学院线下项目实体设备连接配置及服务 2023-11-15 09:26:04 +08:00
885e98dccf 修改TMS消息bug 2023-11-13 13:47:32 +08:00
f98dee79a0 Merge remote-tracking branch 'origin/test' into test 2023-11-13 09:26:06 +08:00
f281499099 增加列车TMS(司机视角左下角)消息 2023-11-13 09:17:56 +08:00
tiger_zhou
bb26f1e944 修改列车折返错误 2023-11-07 16:45:24 +08:00
48803daf24 删除到道岔转动操作接口阻塞 2023-11-01 15:07:25 +08:00
3855c3ab64 Merge branch 'test' 2023-11-01 15:02:11 +08:00
3335dea0a6 删除仿真操作接口阻塞 2023-11-01 15:00:48 +08:00
b4aa17e028 Merge branch 'test' 2023-10-31 17:52:11 +08:00
67175c5919 修改设置备用车时列车级别不正确的bug;修改机器人驾驶及ATS界面的修改预选模式操作逻辑;挤岔恢复操作增加等待 2023-10-31 17:38:18 +08:00
376590f5d1 修改联锁生成逻辑:解决同时设置“多延续保护生成多条进路”与“触发式延续保护”时,本该有且仅有一个延续保护的进路实际会没有延续保护的问题 2023-10-31 10:37:58 +08:00
361d446a19 增加进路“ars”属性的判断逻辑:延续保护有侧向道岔的不行;进路中的区段与进路方向相反的不行。 修改删除驾驶参数“无”后出现的bug 2023-10-30 18:07:39 +08:00
abbfabab40 加载备用车时,如果选择了ITC相关预选模式,当前模式会是RM,后续运行收到移动授权后升级;驾驶操作的参数,”进路闭塞法行车“替代”无“,删除原”进路闭塞法行车“ 2023-10-30 17:34:40 +08:00
9b5c54f749 根据配置决定列车转人工模式后是否默认为停车 2023-10-30 14:26:38 +08:00
9b4480f376 挤岔故障恢复逻辑修改为恢复并转换到另一个位置 2023-10-30 11:03:40 +08:00
1be9cccc4a 实现“进路中道岔故障时,区段和道岔由远及近锁闭,并且可以开放引导信号”逻辑 2023-10-30 09:49:30 +08:00
cd92403096 增加“单列车进路”属性生成及使用逻辑 2023-10-27 16:19:26 +08:00
b01ac1dc0f [办理进路][道岔转动][道岔强扳]接口阻塞式等待结果 2023-10-27 15:56:52 +08:00
2f2ec98029 加载备用车时可以选择预选模式;“多延续保护生成多条进路”联锁生成配置下也支持触发式延续保护;线路设置增加两个配置(但不生效) 2023-10-27 10:09:46 +08:00
18cfe99905 列车越过进路始端信号机后,信号机即刻降级(关闭级);进路延时解锁的同时进路即设置为人工模式;延续保护中的道岔设为延续保护锁闭;进路增加办理成功状态 2023-10-26 15:35:24 +08:00
e7c6d428ad 增加特殊情况下使用的换端操作;修改机器人驾驶列车bug 2023-10-25 14:15:10 +08:00
9259fd123b Merge branch 'test' 2023-09-27 18:09:23 +08:00
tiger_zhou
cf24e2e7f9 调整 2023-09-27 18:04:35 +08:00
tiger_zhou
42d36d8812 Merge remote-tracking branch 'origin/test' into test 2023-09-27 17:55:14 +08:00
tiger_zhou
f6021e9a2d 删除自己的实训数据,出现共享数据不能删除的错误 2023-09-27 17:53:59 +08:00
e2cd83d298 实训场景编制时,将控制权转换相关消息暂存,后续再发送;增加[车站站长]和[站务员]角色 2023-09-27 15:47:05 +08:00
d7b42ef478 修改数据构建bug 2023-08-29 16:53:26 +08:00
joylink_zhangsai
99ecac0318 修改ngy项目设备生成逻辑 2023-08-18 15:10:55 +08:00
joylink_zhangsai
8b85c0a63b 运行图编制,复制计划时,按照源计划的服务号位数决定新服务号位数 2023-08-18 09:51:32 +08:00
b4bb689dc5 增加南工院沙盘服务 2023-08-14 13:11:05 +08:00
813d13d768 添加新设备类型 2023-07-06 11:13:42 +08:00
c686a8d23e 泰国沙盘删除多次出清才算出清逻辑 2023-06-13 10:32:50 +08:00
3c6cb3a994 泰国沙盘增加进路解锁逻辑 2023-06-12 15:54:42 +08:00
weizhihong
88d9ae234c Merge branch 'test' 2023-06-07 18:01:10 +08:00
joylink_zhangsai
9001cb5df9 Merge remote-tracking branch 'origin/test' into test
# Conflicts:
#	src/main/java/club/joylink/rtss/simulation/cbtc/robot/SimulationRobotService.java
2023-06-07 17:56:08 +08:00
joylink_zhangsai
6a9b4c43c9 修改泰国沙盘逻辑,提高UDP真实设备逻辑运行速度 2023-06-07 17:54:58 +08:00
weizhihong
4937d22a0d 【回库匹配逻辑】 2023-06-07 16:21:15 +08:00
weizhihong
bf7f8510be 【连挂车停位BUG】 2023-06-07 16:02:59 +08:00
weizhihong
389f393a7d 【道岔转动联动处理】 2023-06-07 14:41:47 +08:00
weizhihong
8764511650 【学生成绩统计BUG】 2023-06-07 10:16:20 +08:00
weizhihong
c84538bc4f 【修改连挂后,故障车到达位置】 2023-06-07 08:55:21 +08:00
weizhihong
8cb9d9bb84 【回库BUG】 2023-06-06 17:01:37 +08:00
weizhihong
4de0b5e0e8 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test 2023-06-06 16:42:35 +08:00
weizhihong
c13e5ab742 【连挂车设置驾驶目的地时,给故障车赋值】 2023-06-06 16:42:29 +08:00
tiger_zhou
ba5ec61c5e 应急调度日志 2023-06-06 16:01:34 +08:00
tiger_zhou
c9c8c75be3 应急调度日志 2023-06-06 13:49:29 +08:00
joylink_zhangsai
b70d829c65 Merge remote-tracking branch 'origin/test' into test 2023-06-05 11:42:12 +08:00
joylink_zhangsai
b41ea03502 泰国沙盘禁用列车自动上线逻辑 2023-06-05 11:41:59 +08:00
tiger_zhou
a6f75d5cbf 考试回调参数 2023-06-05 10:48:25 +08:00
joylink_zhangsai
5cc2c02ccc 修改本地环境的数据连接配置 2023-06-04 18:45:39 +08:00
joylink_zhangsai
7d678f3d61 泰国沙盘停站延时改动 2023-06-04 18:28:16 +08:00
joylink_zhangsai
74b9ab80da 泰国沙盘调试改动 2023-06-04 17:23:46 +08:00
weizhihong
f968066501 Merge branch 'test' 2023-06-01 18:27:55 +08:00
weizhihong
f3ec423779 【实训导出BUG修复】 2023-06-01 18:26:29 +08:00
weizhihong
8f9316c3c9 Merge branch 'test' 2023-06-01 18:18:27 +08:00
weizhihong
ec6e78dbcb 【进路解锁逻辑修改】 2023-06-01 15:38:37 +08:00
weizhihong
dad1bfc982 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test 2023-06-01 14:37:30 +08:00
weizhihong
c23d97ae86 【红光带引导,进路取消逻辑修改】 2023-06-01 14:37:24 +08:00
tiger_zhou
daee0d2c67 Merge remote-tracking branch 'origin/test' 2023-06-01 09:11:59 +08:00
tiger_zhou
a1be780b13 南宁设备逻辑 2023-06-01 09:00:34 +08:00
tiger_zhou
35b9f0cca2 Merge remote-tracking branch 'origin/test' 2023-05-31 16:07:29 +08:00
tiger_zhou
966c70cd2f Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-31 16:06:16 +08:00
tiger_zhou
3189b6b51a 南宁设备逻辑 2023-05-31 16:05:48 +08:00
weizhihong
a1a9929f4d 【实训加载到某步出现提示BUG】
【角色替换扮演置NULL问题】
【信号机增加引导关键道岔属性】
2023-05-31 15:20:43 +08:00
weizhihong
4e5e83202c 【IBP按钮时间使用仿真时间处理】 2023-05-30 17:30:53 +08:00
tiger_zhou
38c30520f4 武汉8修改日志 2023-05-30 16:49:45 +08:00
weizhihong
72024821b0 【增加IBP计轴复位预处理逻辑】 2023-05-30 16:46:18 +08:00
tiger_zhou
6cfa675ead Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-30 16:39:33 +08:00
tiger_zhou
25fbd9a715 武汉8 2023-05-30 16:39:06 +08:00
weizhihong
0a8082ed97 【无群组信息是给默认数据】 2023-05-30 15:52:41 +08:00
weizhihong
d9812813d7 【多人仿真调用接口时,修改实训状态】 2023-05-30 14:43:53 +08:00
tiger_zhou
33dbc54fd9 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-30 13:54:29 +08:00
weizhihong
0be6e02563 【处理实训结束操作时,暂停导致结束消息不发送问题】 2023-05-30 13:48:43 +08:00
weizhihong
488ec0a7a4 【增加实训开始结束状态消息】 2023-05-30 10:43:40 +08:00
weizhihong
cda1272d08 【发布实训导出去除地图ID】【实训加载增加模式参数】 2023-05-29 17:52:53 +08:00
tiger_zhou
06d4e50192 记录 2023-05-29 16:46:06 +08:00
weizhihong
07f8bcbd16 【上电解锁状态提交】 2023-05-29 16:23:07 +08:00
weizhihong
b505dcdbfe 【多人实训开始前发送实训ID消息】 2023-05-29 14:13:09 +08:00
weizhihong
2596ad3085 【上电解锁按钮】 2023-05-29 11:14:54 +08:00
tiger_zhou
6b30e5c066 Merge remote-tracking branch 'origin/test' 2023-05-29 09:39:49 +08:00
tiger_zhou
ecdf3de890 部署过滤 2023-05-29 09:14:00 +08:00
weizhihong
68b4c0af01 【导入、导出实训接口】 2023-05-26 18:06:59 +08:00
tiger_zhou
ee3f242162 部署过滤 2023-05-26 17:07:05 +08:00
tiger_zhou
cf6e117549 Merge remote-tracking branch 'origin/test' 2023-05-26 16:39:21 +08:00
63fbc5d0c6 修改NCC报警bug 2023-05-26 16:35:31 +08:00
8acadcd71f Merge remote-tracking branch 'origin/test' into test 2023-05-26 16:01:28 +08:00
17d42a4d63 修改NCC报警bug 2023-05-26 15:46:17 +08:00
tiger_zhou
36a3609164 Merge branch 'test' 2023-05-26 15:33:47 +08:00
tiger_zhou
49f19cdc17 Merge branch 'test-zy' into test 2023-05-26 15:33:00 +08:00
tiger_zhou
ca43e7e0ee 记录 2023-05-26 15:32:23 +08:00
3aed493654 Merge remote-tracking branch 'origin/test' into test 2023-05-26 15:27:10 +08:00
ffe8927892 修改NCC报警bug 2023-05-26 15:26:52 +08:00
weizhihong
9eaf172a99 【去除群组名称校验】 2023-05-26 15:09:09 +08:00
19f63f8f38 恢复向第三方接口同步仿真使用记录功能 2023-05-26 15:00:42 +08:00
tiger_zhou
92adfad951 部署调整白名单列表 2023-05-26 11:15:07 +08:00
957dc9bd7f 修改,NCC报警原因显示故障设备name而非code;提交转移旧仿真记录的sql 2023-05-25 13:14:41 +08:00
07b699cf7b Merge branch 'test' 2023-05-24 19:38:46 +08:00
cced32fca8 修改NCC报警逻辑bug 2023-05-24 19:33:07 +08:00
6a7931da7c 增加日志,用于调试 2023-05-24 19:22:46 +08:00
5ef51cbe56 NCC报警道岔失表故障改为汉字 2023-05-24 18:24:27 +08:00
c6b74613dc 修改NCC报警监控bug 2023-05-24 17:53:18 +08:00
4f4377f3b8 删除多余的仿真销毁消息 2023-05-24 17:19:51 +08:00
37e13abe47 Merge remote-tracking branch 'origin/test' into test 2023-05-24 17:19:12 +08:00
8e4155d6d4 NCC报警增加原因和pis模板 2023-05-24 17:18:43 +08:00
6e198efe85 NCC报警增加原因和pis模板 2023-05-24 17:17:56 +08:00
e7cab0591d 删除掉版本发布之初处理数据的接口和一些很久以前的sql 2023-05-24 16:27:49 +08:00
cc9e63842d 删除掉版本发布之初处理数据的接口和一些很久以前的sql 2023-05-24 15:07:38 +08:00
00cd87f972 登录信息增加第三方登录;将异常的默认信息改为英文 2023-05-24 15:04:24 +08:00
weizhihong
7df0a7e5f1 【会话私发自己给自己发送BUG】 2023-05-24 14:13:48 +08:00
weizhihong
7c84157e67 【会话消息发送BUG】 2023-05-24 14:04:09 +08:00
weizhihong
e016aab767 【用户给自己发送消息时,发错会话组问题】 2023-05-24 10:07:07 +08:00
weizhihong
a780b385bd 【增加OCC信息调度角色】 2023-05-23 09:32:14 +08:00
8e63848520 重新实现仿真记录、删除旧的仿真记录Service;重写Section的toString方法 2023-05-22 17:21:35 +08:00
e66bb869f3 Merge remote-tracking branch 'origin/test' into test 2023-05-22 17:17:32 +08:00
477bda4557 当移除仿真用户时,发送ws消息给前端 2023-05-22 17:17:01 +08:00
weizhihong
d981f43c12 【更新角色时,增加群主字段】 2023-05-22 15:41:03 +08:00
weizhihong
bf93d15082 【增加会话群组加入socket消息字段】 2023-05-22 15:14:57 +08:00
weizhihong
803d1a761f 【修改初始化仿真时,群组信息不重置BUG】 2023-05-22 14:58:42 +08:00
tiger_zhou
b302f7d4d4 考试定义调整 2023-05-22 10:05:31 +08:00
tiger_zhou
4fa0c0c2b7 考试定义调整 2023-05-22 09:33:26 +08:00
weizhihong
e9444302d9 【实训设备过滤规则修改】 2023-05-21 16:08:25 +08:00
tiger_zhou
f260aab664 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-21 16:00:10 +08:00
tiger_zhou
a49e910976 考试定义调整 2023-05-21 15:59:33 +08:00
weizhihong
bc874187e6 【增加实训中进路始终信号机在同一联锁站的规则】 2023-05-21 15:54:05 +08:00
tiger_zhou
12f7d33816 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-21 15:39:28 +08:00
weizhihong
6331e723eb 【根据地图原有的线路功能信息生成新的线路功能信息(模板与当前数据名称匹配)】 2023-05-21 15:26:53 +08:00
4f599acffe Merge remote-tracking branch 'origin/test' into test 2023-05-21 13:56:08 +08:00
f0243ba4e1 在仿真状态订阅路径中增加仿真倍速消息 2023-05-21 13:55:56 +08:00
tiger_zhou
827a9b75ec 考试定义调整 2023-05-21 13:27:26 +08:00
weizhihong
74193e6db7 【区故解背景设置】 2023-05-21 13:16:57 +08:00
tiger_zhou
71addf2b60 Merge branch 'master' of https://git.code.tencent.com/lian-cbtc/rtss-server 2023-05-20 18:24:58 +08:00
21c9cd242f Merge remote-tracking branch 'origin/test' 2023-05-20 18:20:38 +08:00
tiger_zhou
14fa1132fe Merge remote-tracking branch 'origin/test' 2023-05-20 18:20:22 +08:00
tiger_zhou
7f0cb1e41b 用户考试调整,支持"单操"绑定客户端的操作 2023-05-20 18:05:47 +08:00
tiger_zhou
5c19222cf4 用户考试调整,支持"单操"绑定客户端的操作 2023-05-20 16:59:55 +08:00
weizhihong
2bfdaeab63 【修改私聊消息时间控制问题】 2023-05-20 15:02:22 +08:00
weizhihong
145bc63540 【修改单操生成时背景设置逻辑】 2023-05-20 13:31:57 +08:00
tiger_zhou
d048ae9c60 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-20 11:26:51 +08:00
tiger_zhou
5e6dbb4f3c 用户考试调整
1 加载试卷返回当前系统时间
2 注释交卷时长的验证
2023-05-20 11:26:30 +08:00
3f4cccbeed 修改NCC故障信息发送到的ws 2023-05-15 17:10:03 +08:00
tiger_zhou
b62453ecc8 考试实训计算分调整 2023-05-15 16:42:22 +08:00
tiger_zhou
5d289fbc97 考试实训计算分调整 2023-05-15 14:27:42 +08:00
weizhihong
9e08c224ac Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test 2023-05-15 13:19:29 +08:00
weizhihong
1c5a9e9315 【默认客户端处理】 2023-05-15 13:19:23 +08:00
tiger_zhou
0574328ff0 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-15 13:04:26 +08:00
tiger_zhou
9e130d9f31 ncc图例铁车位置调整 2023-05-15 13:04:11 +08:00
tiger_zhou
430fe344cf ncc图例铁车位置调整 2023-05-15 13:02:59 +08:00
weizhihong
c16b415c86 【客户端生成逻辑修改】 2023-05-15 10:32:51 +08:00
weizhihong
efb68f9496 【跳转步骤时,背景加载逻辑BUG】 2023-05-13 17:03:58 +08:00
tiger_zhou
6c44d38ebd ncc图例铁车位置调整 2023-05-13 14:04:01 +08:00
weizhihong
ed357b2e4a 【修改仿真最大速度】 2023-05-12 18:00:30 +08:00
weizhihong
6fa2adb7cd 【会话信息,在用户是机器人时不发验证消息】 2023-05-12 16:51:48 +08:00
weizhihong
5073f9f788 【实训跳转至目标步骤功能】 2023-05-12 15:46:58 +08:00
aace990217 修改宁波一延续保护异常触发的问题 2023-05-11 13:44:32 +08:00
weizhihong
ecb29dbcc2 【会话群初始化空数据处理】 2023-05-10 16:20:54 +08:00
dd1238d607 Merge remote-tracking branch 'origin/test' into test 2023-05-09 17:21:40 +08:00
b0c3dabc38 增加一个ATS报警信息类型 2023-05-09 17:21:24 +08:00
tiger_zhou
f963c811f7 一个用户同时只能存在一个仿真 2023-05-08 17:26:32 +08:00
tiger_zhou
fdb53063b7 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-08 17:26:06 +08:00
bf0bd580f7 创建仿真时保存地图功能信息;接口请求的仿真信息中添加地图功能信息 2023-05-08 16:38:09 +08:00
tiger_zhou
4e6e1efda7 ncc 列车图例调整 2023-05-08 16:15:59 +08:00
tiger_zhou
459c6856b2 一个用户同时只能存在一个仿真 2023-05-08 11:10:39 +08:00
tiger_zhou
fdf503261e 一个用户同时只能存在一个仿真 2023-05-08 11:03:31 +08:00
877372b2cd 回滚创建仿真的限制 2023-05-06 18:20:56 +08:00
19acb558c2 Merge remote-tracking branch 'origin/test' into test 2023-05-06 18:12:19 +08:00
65eef78e42 增加查询“我”加入的仿真接口 2023-05-06 18:11:54 +08:00
tiger_zhou
2e630d6916 一个用户同时只能存在一个仿真 2023-05-06 17:06:11 +08:00
tiger_zhou
b85ac76d3d 一个用户同时只能存在一个仿真 2023-05-06 16:37:39 +08:00
tiger_zhou
cab64eea88 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-06 15:15:47 +08:00
tiger_zhou
94e2ca2c7f 考试单操,场景重复回答步骤的问题 2023-05-06 15:15:15 +08:00
tiger_zhou
b2ff67fe7e Merge branch 'test-zy' into test 2023-05-06 15:03:52 +08:00
tiger_zhou
9d329efa3e Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-06 15:03:33 +08:00
tiger_zhou
e6b7e71d3d 考试单操,场景重复回答步骤的问题 2023-05-06 15:03:20 +08:00
tiger_zhou
5f8511b200 考试单操,场景重复回答步骤的问题 2023-05-06 15:02:26 +08:00
weizhihong
57aa61b03c 【功能模板生成客户端逻辑】 2023-05-06 13:36:08 +08:00
tiger_zhou
c77ef0b669 考试单操,场景重复回答步骤的问题 2023-05-06 10:45:27 +08:00
tiger_zhou
28b421a073 考试单操,场景重复回答步骤的问题 2023-05-06 10:32:25 +08:00
weizhihong
346d3171f2 【增加规则设置的分数】 2023-05-06 10:06:55 +08:00
weizhihong
6a969fe843 【增加实训生成名称解析规则】 2023-05-05 18:28:24 +08:00
tiger_zhou
fba36af273 考试单操,场景重复回答步骤的问题 2023-05-05 15:41:01 +08:00
4a09b427e5 取消授权码拦截器的注释 2023-05-05 15:37:41 +08:00
weizhihong
9b188dc9d9 【生成实训时,名称生成规则修改】 2023-05-05 13:31:57 +08:00
weizhihong
440d2df836 【单操实训生成定位】 2023-05-05 13:22:26 +08:00
tiger_zhou
8d4ac98eb9 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-05 11:10:58 +08:00
tiger_zhou
806718bb7e 考试标签筛选问题 2023-05-05 11:09:12 +08:00
weizhihong
132a8c4755 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test 2023-05-05 11:03:28 +08:00
weizhihong
0b7ccabb16 【修改已发布实训label信息】 2023-05-05 11:03:22 +08:00
tiger_zhou
e516ad0be4 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-05 10:56:07 +08:00
tiger_zhou
eb16f39745 列车图例显示位置调整 2023-05-05 10:55:46 +08:00
weizhihong
1d4918f52d 【打分返回结果修改】 2023-05-05 10:31:16 +08:00
weizhihong
2f8604c6bd 【表sql】 2023-05-05 10:12:34 +08:00
weizhihong
4e7e3cb457 【实训默认打分规则】 2023-05-05 10:12:10 +08:00
tiger_zhou
edf707fbb2 列车图例显示位置调整 2023-05-04 17:42:47 +08:00
tiger_zhou
8180d2136c 列车图例显示位置调整 2023-05-04 16:11:29 +08:00
tiger_zhou
8bd766a301 列车图例显示位置调整 2023-05-04 15:53:09 +08:00
weizhihong
943c46bda7 【单操打分规则逻辑修改】 2023-05-04 15:14:10 +08:00
tiger_zhou
6825eb02bd 列车图例显示位置调整 2023-05-04 14:06:36 +08:00
tiger_zhou
c78ff9dda1 列车图例显示位置调整 2023-05-04 13:26:27 +08:00
weizhihong
867b4be020 【群组已读消息逻辑】 2023-05-04 11:21:01 +08:00
weizhihong
8a12446080 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test 2023-05-04 11:02:20 +08:00
weizhihong
1844a69c69 【根据地图ID获取客户端信息】 2023-05-04 11:02:02 +08:00
aa5cc0b333 修改机器人驾驶的判定条件 2023-05-04 11:01:07 +08:00
tiger_zhou
f51abb1865 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-05-04 10:11:40 +08:00
tiger_zhou
f3ff63431c 列车图例显示位置调整 2023-05-04 10:11:13 +08:00
weizhihong
07008b74b7 【读取群组消息逻辑修改】 2023-05-04 09:51:59 +08:00
tiger_zhou
5128cd5ea6 列车图例显示位置调整 2023-05-04 09:17:06 +08:00
77c985897a Merge remote-tracking branch 'origin/test' into test 2023-04-28 11:04:28 +08:00
41739011ed 列车接管逻辑及操作 2023-04-28 11:04:16 +08:00
tiger_zhou
f248c336b4 Merge remote-tracking branch 'origin/test' into test 2023-04-27 16:12:11 +08:00
tiger_zhou
b97ef2c036 列车图例显示位置调整 2023-04-27 16:11:00 +08:00
weizhihong
f2244ea5fa 【仿真初始化时,群组信息没初始化BUG】 2023-04-27 15:23:02 +08:00
weizhihong
6527d042ea 【操作执行事件增加结果】【实训语音结果校验结果返回】 2023-04-27 11:28:11 +08:00
weizhihong
f3dd343a1c 【客户端列表】 2023-04-27 10:25:31 +08:00
tiger_zhou
1bcf4a9e13 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-27 09:35:53 +08:00
tiger_zhou
cf6b6f5a9a 列车图例显示位置调整 2023-04-27 09:35:41 +08:00
tiger_zhou
91b61d697c Merge remote-tracking branch 'origin/test' into test 2023-04-27 09:31:17 +08:00
tiger_zhou
932718ee0b 列车图例显示位置调整 2023-04-27 09:30:11 +08:00
tiger_zhou
50053c2b36 列车图例显示位置调整 2023-04-27 09:29:34 +08:00
weizhihong
32ed729788 【增加客户端列表ID】 2023-04-27 09:26:16 +08:00
tiger_zhou
5a33c35c15 列车图例显示位置调整 2023-04-26 17:59:46 +08:00
tiger_zhou
af74502f37 列车图例显示位置调整 2023-04-26 17:55:46 +08:00
tiger_zhou
7a20c4a659 列车图例显示位置调整 2023-04-26 16:28:52 +08:00
tiger_zhou
f4df139cbb Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-26 16:18:40 +08:00
0442a5723a Merge remote-tracking branch 'origin/test' into test 2023-04-26 16:15:42 +08:00
cfcd24e04f Ats报警信息中增加报警信息处理方式;支持多点登录;仿真自动销毁时长改为30分钟;计划车越站时更新离站信息; 2023-04-26 16:15:18 +08:00
weizhihong
f9b8d0f901 【地图客户端列表】 2023-04-26 16:07:30 +08:00
tiger_zhou
c209942286 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-26 15:16:04 +08:00
weizhihong
e19e4480bd 【添加成员覆盖BUG修复】【会话私聊接口】 2023-04-26 14:32:59 +08:00
tiger_zhou
10aadf7e93 列车图例显示位置调整 2023-04-26 11:11:23 +08:00
tiger_zhou
b3b749ca80 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-26 11:03:23 +08:00
tiger_zhou
5d57a1a57b 列车图例显示位置调整 2023-04-26 11:01:43 +08:00
weizhihong
ab6dfab00b 【实训ID类型修改】 2023-04-25 16:45:34 +08:00
weizhihong
1808395ba2 【大铁运行方向多余代码删除】 2023-04-25 16:27:18 +08:00
weizhihong
5b4e99fd82 【修改操作名称】 2023-04-25 11:19:44 +08:00
ceada5f729 Merge remote-tracking branch 'origin/test' into test 2023-04-25 10:59:32 +08:00
70d99faa59 修改NCC报警信息;增加报警提示信息数据管理接口(暂时不用) 2023-04-25 10:59:20 +08:00
tiger_zhou
80f42f30f8 列车图例显示位置调整 2023-04-25 10:33:58 +08:00
tiger_zhou
7f003ec816 列车图例显示位置调整 2023-04-24 15:25:22 +08:00
tiger_zhou
786a56b8d1 列车图例显示位置调整 2023-04-24 14:04:27 +08:00
tiger_zhou
590bb3181f 列车图例显示位置调整 2023-04-24 10:25:21 +08:00
weizhihong
221200cfcd 【剧本保存会话群组草稿信息】 2023-04-23 18:14:13 +08:00
tiger_zhou
f861256107 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-23 18:04:39 +08:00
tiger_zhou
5fb422d3d0 列车图例显示位置 2023-04-23 18:04:14 +08:00
weizhihong
3e3c977329 【增加NCC调度员角色】 2023-04-23 16:48:31 +08:00
weizhihong
d9fbac8dd8 【仿真创建群组接口增加群头像信息】 2023-04-23 15:58:43 +08:00
weizhihong
d2f271fa4e 【删除无效的包引入】 2023-04-23 09:34:32 +08:00
weizhihong
a9559e2455 【批量处理机器人已读操作】 2023-04-21 17:50:17 +08:00
weizhihong
a26d883e99 【群组消息大小写问题,人员进组时名字获取】 2023-04-21 10:41:00 +08:00
weizhihong
e16437b347 【调整群组事件处理结构】 2023-04-21 10:18:08 +08:00
tiger_zhou
e83d5dfae6 列车图例显示位置 2023-04-20 17:42:05 +08:00
weizhihong
77ee7005f1 【先取消群组语音识别】 2023-04-20 16:09:30 +08:00
tiger_zhou
90d6a1200a Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-20 14:13:22 +08:00
tiger_zhou
d6ae7d4acf 列车图例显示位置 2023-04-20 14:12:29 +08:00
weizhihong
07aa27bd4e 【会话回复逻辑人家机器人消息不做回复操作】 2023-04-20 09:58:03 +08:00
weizhihong
550b85b8ea 【处理发送消息BUG】 2023-04-19 17:59:42 +08:00
weizhihong
f8f7cc03df 【修改歧义参数名】 2023-04-19 17:50:08 +08:00
weizhihong
91ad315825 【增加改方按钮抬起验证】 2023-04-19 17:21:35 +08:00
tiger_zhou
3829f12f08 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-19 17:13:15 +08:00
weizhihong
dc68b2daeb 【用户群组多余操作接口、表删除】 2023-04-19 16:53:37 +08:00
tiger_zhou
d87fb8479a Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy
 Conflicts:
	src/main/java/club/joylink/rtss/simulation/cbtc/work/MetroSimulationWorkServiceImpl.java
2023-04-19 16:15:38 +08:00
tiger_zhou
734b0bc6a9 列车图例显示位置 2023-04-19 16:14:01 +08:00
56c5c6b3d3 Merge remote-tracking branch 'origin/test' into test 2023-04-19 13:40:23 +08:00
6045cb3c2b 增加NCC绘图数据 2023-04-19 13:40:00 +08:00
weizhihong
c499eb0ec3 【修改会话保存结构】 2023-04-19 11:29:19 +08:00
weizhihong
a0ff4e6962 【会话组结构调整】 2023-04-19 09:28:03 +08:00
720154f53a NCC列车延误报警逻辑修改;修改列车最大制动力计算逻辑 2023-04-18 18:05:24 +08:00
d354ed9fd7 Merge remote-tracking branch 'origin/test' into test 2023-04-18 18:04:12 +08:00
weizhihong
5359bf1c27 【修改群组BUG】 2023-04-18 16:33:24 +08:00
4a647ffb84 Merge remote-tracking branch 'origin/test' into test 2023-04-18 15:08:25 +08:00
tiger_zhou
220d47b1a9 Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-18 15:03:11 +08:00
weizhihong
04ab5e0aef 【增加群组头像字段】 2023-04-18 14:31:41 +08:00
tiger_zhou
a51a09c23b Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-zy 2023-04-18 13:10:42 +08:00
weizhihong
c02fa14d31 【修改语音识别成员解析逻辑】 2023-04-18 11:31:47 +08:00
57eaa241bb NCC列车延误报警 2023-04-18 09:46:53 +08:00
weizhihong
0dddb9b4e8 【语音识别与群组会话事件添加】 2023-04-17 18:24:00 +08:00
tiger_zhou
6ca90b9b0d 修改ctc出入口未关联车站的问题 2023-04-17 17:45:07 +08:00
weizhihong
1eb4e2c6cf 【群组发送消息】 2023-04-17 16:58:12 +08:00
weizhihong
c88ae2b17b 【仿真会话群组通知消息事件处理】 2023-04-17 16:48:29 +08:00
weizhihong
d83de6f4bd 【会话群组消息通知事件】 2023-04-17 14:03:23 +08:00
weizhihong
ad2900926e Merge branch 'test-training2' into test 2023-04-17 09:45:11 +08:00
598e5e2491 Merge remote-tracking branch 'origin/test-training2' into test 2023-04-14 18:36:42 +08:00
b90345620a 清除报错 2023-04-14 18:27:11 +08:00
tiger_zhou
377d3d989f 数据配置 2023-04-14 17:16:13 +08:00
tiger_zhou
3580f135a0 Merge remote-tracking branch 'origin/test-training2' into test 2023-04-14 15:51:48 +08:00
6ac172edbd 删除一些无用的东西 2023-04-07 13:24:57 +08:00
tiger_zhou
db606a2745 Merge branch 'test-training2' into test 2023-04-06 18:09:48 +08:00
joylink_zhangsai
01f7105f02 增加:导入学生时创建的账号增加orgId参数 2023-03-28 11:08:31 +08:00
joylink_zhangsai
8ad4877995 修改say生成的PlcGateway配置 2023-03-25 16:42:04 +08:00
joylink_zhangsai
8f7bec9854 透传服务bug修改-by 卫 2023-03-20 14:09:05 +08:00
joylink_zhangsai
a0c94047f6 Merge remote-tracking branch 'origin/test-training2' into test 2023-03-20 11:41:21 +08:00
joylink_zhangsai
0a9d878583 Merge remote-tracking branch 'origin/test-training2' into test 2023-03-20 11:11:06 +08:00
joylink_zhangsai
5a9b7ea436 Merge remote-tracking branch 'origin/test-training2' into test 2023-03-20 10:15:59 +08:00
joylink_zhangsai
a571e1b897 修改苏安院实体设备逻辑 2023-03-12 19:36:30 +08:00
joylink_zhangsai
c2f3ddc9a0 Merge remote-tracking branch 'origin/test' into test 2023-03-11 22:21:33 +08:00
joylink_zhangsai
d4fc3ebbe0 修改苏安院实体设备逻辑 2023-03-11 22:21:21 +08:00
joylink_zhangsai
7c54f0976b 修改苏安院实体设备逻辑 2023-03-11 21:50:28 +08:00
joylink_zhangsai
e72837d793 修改苏安院实体设备逻辑 2023-03-11 21:46:07 +08:00
joylink_zhangsai
b25bf1d0ee 修改苏安院实体设备逻辑 2023-03-11 21:37:13 +08:00
joylink_zhangsai
587a7bc7cf 修改苏安院实体设备逻辑 2023-03-11 17:55:14 +08:00
579 changed files with 115039 additions and 54811 deletions

View File

@ -0,0 +1,32 @@
name: 公网服务发布
run-name: ${{ gitea.actor }} is testing out Gitea Actions
on:
schedule:
- cron: '30 3 * * 1' # 每周一的凌晨3:30
jobs:
Docker-Build-Push:
runs-on: joylink-local233
steps:
- name: 发布到正式环境1
uses: https://gitea.joylink.club/appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.PUB1_DOMAIN_SSH_HOST }}
port: ${{ secrets.PUB1_DOMAIN_SSH_PORT }}
username: ${{ secrets.PUB1_DOMAIN_SSH_USER }}
password: ${{ secrets.PUB1_DOMAIN_SSH_PASSWORD }}
script: |
docker rm -f rt-sim-training-service || echo "rt-sim-training-service not exist"
docker pull gitea.joylink.club/joylink/rt-sim-training-service:latest
docker run --name rt-sim-training-service -it -u root --restart=always -d -e APP_ENV=prd -p 9000:9000 -p 19000:19000 -v /usr/local/joylink/logs/rtss:/usr/local/joylink/logs/rtss gitea.joylink.club/joylink/rt-sim-training-service:latest
- name: 发布到正式环境2
uses: https://gitea.joylink.club/appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.PUB2_DOMAIN_SSH_HOST }}
port: ${{ secrets.PUB2_DOMAIN_SSH_PORT }}
username: ${{ secrets.PUB2_DOMAIN_SSH_USER }}
password: ${{ secrets.PUB2_DOMAIN_SSH_PASSWORD }}
script: |
docker rm -f rt-sim-training-service || echo "rt-sim-training-service not exist"
docker pull gitea.joylink.club/joylink/rt-sim-training-service:latest
docker run --name rt-sim-training-service -it -u root --restart=always -d -e APP_ENV=prd -p 9000:9000 -p 19000:19000 -v /usr/local/joylink/logs/rtss:/usr/local/joylink/logs/rtss gitea.joylink.club/joylink/rt-sim-training-service:latest

View File

@ -0,0 +1,61 @@
name: CI
run-name: ${{ gitea.actor }} is testing out Gitea Actions
on:
push:
branches:
- local-test
jobs:
Docker-Build:
runs-on: joylink-local233
steps:
- name: 检出代码
uses: https://gitea.joylink.club/actions/checkout@v4
with:
submodules: recursive
- name: 设置java环境
uses: https://gitea.joylink.club/actions/setup-java@v4
with:
java-version: '11'
distribution: 'zulu'
cache: 'maven'
cache-dependency-path: './pom.xml'
- name: 设置Maven环境
uses: https://gitea.joylink.club/actions/local-setup-maven@v0.1.1
with:
maven-version: 3.8.8
- name: 构建
run: |
mvn -Dmaven.test.skip=true clean package
- name: 设置 Docker
uses: https://gitea.joylink.club/actions/local-setup-docker-cli-action@v0.1.1
- name: 设置 Docker Buildx
uses: https://gitea.joylink.club/actions/local-setup-buildx-action@v0.1.3
- name: docker登录gitea.joylink.club
uses: https://gitea.joylink.club/docker/login-action@v3
with:
registry: gitea.joylink.club
username: shengxuqiang
password: ${{ secrets.SHENGXUQIANG_PASSWORD }}
- name: Docker Build and push
uses: https://gitea.joylink.club/docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: |
gitea.joylink.club/joylink/rt-sim-training-service:local-test
- name: 发布到本地测试环境
uses: https://gitea.joylink.club/appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.LOCAL_233_SSH_HOST }}
port: ${{ secrets.LOCAL_233_SSH_PORT }}
username: ${{ secrets.LOCAL_233_SSH_USER }}
password: ${{ secrets.LOCAL_233_SSH_PASSWORD }}
script: |
docker rm -f rt-sim-training-service || echo "rt-sim-training-service not exist"
docker pull gitea.joylink.club/joylink/rt-sim-training-service:local-test
docker run --name rt-sim-training-service --restart=always --network net --ip 192.168.53.3 -d -e APP_ENV=local-test -p 9000:9000 -p 19000:19000 -v /usr/local/joylink/logs/rtss:/usr/local/joylink/logs/rtss gitea.joylink.club/joylink/rt-sim-training-service:local-test
# - name: 清理tag为none的镜像
# run: |
# docker rmi $(docker images --filter "dangling=true" -q --no-trunc) 2>/dev/null || echo "No dangling images to remove"

View File

@ -0,0 +1,61 @@
name: 版本发布docker构建并上传
run-name: ${{ gitea.actor }} is testing out Gitea Actions
on:
release:
types: [ published ]
jobs:
Docker-Build-Push:
runs-on: joylink-local233
steps:
- name: 检出代码
uses: https://gitea.joylink.club/actions/checkout@v4
with:
submodules: recursive
- name: 设置java环境
uses: https://gitea.joylink.club/actions/setup-java@v4
with:
java-version: '11'
distribution: 'zulu'
cache: 'maven'
cache-dependency-path: './pom.xml'
- name: 设置Maven环境
uses: https://gitea.joylink.club/actions/local-setup-maven@v0.1.1
with:
maven-version: 3.8.8
- name: 构建
run: |
mvn -Dmaven.test.skip=true clean package
- name: 设置 Docker
uses: https://gitea.joylink.club/actions/local-setup-docker-cli-action@v0.1.1
- name: 设置 Docker Buildx
uses: https://gitea.joylink.club/actions/local-setup-buildx-action@v0.1.3
- name: docker登录gitea.joylink.club
uses: https://gitea.joylink.club/docker/login-action@v3
with:
registry: gitea.joylink.club
username: shengxuqiang
password: ${{ secrets.SHENGXUQIANG_PASSWORD }}
- name: Docker Build and push
uses: https://gitea.joylink.club/docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: |
gitea.joylink.club/joylink/rt-sim-training-service:${{ github.event.release.tag_name }}
gitea.joylink.club/joylink/rt-sim-training-service:latest
# - name: 清理tag为none的镜像
# run: |
# docker rmi $(docker images --filter "dangling=true" -q --no-trunc) 2>/dev/null || echo "No dangling images to remove"
# - name: 发布到本地测试环境
# uses: https://gitea.joylink.club/appleboy/ssh-action@v1.0.3
# with:
# host: ${{ secrets.LOCAL_233_SSH_HOST }}
# port: ${{ secrets.LOCAL_233_SSH_PORT }}
# username: ${{ secrets.LOCAL_233_SSH_USER }}
# password: ${{ secrets.LOCAL_233_SSH_PASSWORD }}
# script: |
# docker rm -f rt-sim-training-service || echo "rt-sim-training-service not exist"
# docker pull gitea.joylink.club/joylink/rt-sim-training-service:latest
# docker run --name rt-sim-training-service --restart=always --network net --ip 192.168.53.3 -d -e APP_ENV=prd -p 9000:9000 -p 19000:19000 -v /usr/local/joylink/logs/rtss:/usr/local/joylink/logs/rtss gitea.joylink.club/joylink/rt-sim-training-service:latest

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "rt-sim-training-message"]
path = rt-sim-training-message
url = http://120.46.212.6:3000/joylink/rt-sim-training-message.git

11
Dockerfile Normal file
View File

@ -0,0 +1,11 @@
FROM azul/zulu-openjdk-alpine:11
ADD target/rtss-0.0.1-SNAPSHOT.jar rtss-service.jar
ENV APP_ENV=prd
EXPOSE 9000 19000/tcp
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
CMD java -jar -Dfile.encoding=UTF-8 -Dspring.profiles.active=$APP_ENV /rtss-service.jar

7
README.md Normal file
View File

@ -0,0 +1,7 @@
# CI、CD说明
- 分支主要为developlocal-testmaster
- 本地233服务器部署方式为push到local-test分支即可触发
- 公网服务器发布方式:
1. push到master虽然可以用别的分支但不建议
2. 在版本发布处发布新版本触发构建docker镜像
3. 待docker镜像构建完成后点击Actions中CD_pub_deploy.yaml进入第一个任务点击重新运行所有任务进行服务发布

395
pom.xml
View File

@ -1,106 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>club.joylink</groupId>
<artifactId>rtss</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rtss</name>
<description> Rail transit simulation system</description>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>club.joylink</groupId>
<artifactId>rtss</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rtss</name>
<description>Rail transit simulation system</description>
<properties>
<java.version>11</java.version>
<pagehelper.version>4.1.1</pagehelper.version>
</properties>
<properties>
<java.version>11</java.version>
<pagehelper.version>4.1.1</pagehelper.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<!-- javax.validation -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<!-- javax.validation -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<!--spring切面aop依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!--spring切面aop依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
</dependency>
<dependency>
<groupId>com.digitalpetri.modbus</groupId>
<artifactId>modbus-codec</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
</dependency>
<dependency>
<groupId>com.digitalpetri.modbus</groupId>
<artifactId>modbus-codec</artifactId>
<version>1.1.1</version>
</dependency>
<!-- 硬件检测依赖 -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core-java11</artifactId>
<version>5.7.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.wechatpay-apiv3</groupId>
<artifactId>wechatpay-apache-httpclient</artifactId>
<version>0.2.1</version>
</dependency>
<!-- 硬件检测依赖 -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core-java11</artifactId>
<version>5.7.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.wechatpay-apiv3</groupId>
<artifactId>wechatpay-apache-httpclient</artifactId>
<version>0.2.1</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.huawei.sis</groupId>-->
@ -130,98 +130,123 @@
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>-->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.3</version>
</dependency>
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
<!-- iscs -->
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.19.3</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.3</version>
</dependency>
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
<!-- iscs -->
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.23.1</version>
</dependency>
<dependency>
<groupId>com.hubspot.jackson</groupId>
<artifactId>jackson-datatype-protobuf</artifactId>
<version>0.9.12</version>
</dependency>
<!-- <dependency>
<groupId>com.chenlb.mmseg4j</groupId>
<artifactId>mmseg4j-core</artifactId>
<version>1.10.0</version>
</dependency>-->
<!-- <dependency>
<groupId>org.ansj</groupId>
<artifactId>ansj_seg</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.11</version>
</dependency>-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
<!-- <dependency>
<groupId>info.debatty</groupId>
<artifactId>java-string-similarity</artifactId>
<version>2.0.0</version>
</dependency>-->
<!-- <dependency>
<groupId>com.chenlb.mmseg4j</groupId>
<artifactId>mmseg4j-core</artifactId>
<version>1.10.0</version>
</dependency>-->
<!-- <dependency>
<groupId>org.ansj</groupId>
<artifactId>ansj_seg</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.11</version>
</dependency>-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
<!-- <dependency>
<groupId>info.debatty</groupId>
<artifactId>java-string-similarity</artifactId>
<version>2.0.0</version>
</dependency>-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.10.0</version>
</dependency>
</dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc-maven-plugin</artifactId>
<version>2.1.9</version>
<configuration>
<!--指定生成文档的使用的配置文件,配置文件放在自己的项目中-->
<configFile>./src/main/resources/smart-doc.json</configFile>
<!--smart-doc实现自动分析依赖树加载第三方依赖的源码如果一些框架依赖库加载不到导致报错这时请使用excludes排除掉-->
<!-- <excludes>-->
<!-- &lt;!&ndash;格式为groupId:artifactId;参考如下&ndash;&gt;-->
<!-- <exclude>com.alibaba:fastjson</exclude>-->
<!-- </excludes>-->
<!-- &lt;!&ndash;自1.0.8版本开始插件提供includes支持,配置了includes后插件会按照用户配置加载而不是自动加载因此使用时需要注意&ndash;&gt;-->
<!-- &lt;!&ndash;smart-doc能自动分析依赖树加载所有依赖源码原则上会影响文档构建效率因此你可以使用includes来让插件加载你配置的组件&ndash;&gt;-->
<!-- <includes>-->
<!-- &lt;!&ndash;格式为groupId:artifactId;参考如下&ndash;&gt;-->
<!-- <include>com.alibaba:fastjson</include>-->
<!-- </includes>-->
</configuration>
<executions>
<execution>
<!--如果不需要在执行编译时启动smart-doc则将phase注释掉-->
<!-- <phase>compile</phase>-->
<goals>
<!--smart-doc提供了html、openapi、markdown等goal可按需配置-->
<goal>html</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc-maven-plugin</artifactId>
<version>2.1.9</version>
<configuration>
<!--指定生成文档的使用的配置文件,配置文件放在自己的项目中-->
<configFile>./src/main/resources/smart-doc.json</configFile>
<!--smart-doc实现自动分析依赖树加载第三方依赖的源码如果一些框架依赖库加载不到导致报错这时请使用excludes排除掉-->
<!-- <excludes>-->
<!-- &lt;!&ndash;格式为groupId:artifactId;参考如下&ndash;&gt;-->
<!-- <exclude>com.alibaba:fastjson</exclude>-->
<!-- </excludes>-->
<!-- &lt;!&ndash;自1.0.8版本开始插件提供includes支持,配置了includes后插件会按照用户配置加载而不是自动加载因此使用时需要注意&ndash;&gt;-->
<!-- &lt;!&ndash;smart-doc能自动分析依赖树加载所有依赖源码原则上会影响文档构建效率因此你可以使用includes来让插件加载你配置的组件&ndash;&gt;-->
<!-- <includes>-->
<!-- &lt;!&ndash;格式为groupId:artifactId;参考如下&ndash;&gt;-->
<!-- <include>com.alibaba:fastjson</include>-->
<!-- </includes>-->
</configuration>
<executions>
<execution>
<!--如果不需要在执行编译时启动smart-doc则将phase注释掉-->
<!-- <phase>compile</phase>-->
<goals>
<!--smart-doc提供了html、openapi、markdown等goal可按需配置-->
<goal>html</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>aliyun-central</id>
<url>https://maven.aliyun.com/repository/central</url>
</repository>
<repository>
<id>aliyun-snapshots</id>
<url>https://maven.aliyun.com/repository/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>aliyun-central</id>
<url>https://maven.aliyun.com/repository/central</url>
</pluginRepository>
</pluginRepositories>
</project>

@ -0,0 +1 @@
Subproject commit 5dd7fdb3d568c829356fa59b746b559d17da49b8

View File

@ -1,51 +0,0 @@
-- auto-generated definition
create table audio_resources
(
id bigint auto_increment,
name varchar(128) null comment '名称',
`desc` varchar(256) null comment '描述',
url varchar(256) not null comment '资源地址',
create_time datetime not null comment '创建时间',
update_time datetime null comment '更新时间',
constraint audio_resources_id_uindex
unique (id)
)
comment '音频资源';
alter table audio_resources
add primary key (id);
-- auto-generated definition
create table iscs_device
(
id bigint auto_increment,
map_id bigint not null comment '地图id',
code varchar(64) not null comment '编号',
`system` varchar(32) null comment '所属系统',
station varchar(32) null comment '所属车站',
position varchar(32) null comment '具体位置',
type varchar(32) not null comment '设备类型',
constraint iscs_device_id_uindex
unique (id)
)
comment 'ISCS设备';
alter table iscs_device
add primary key (id);
-- auto-generated definition
create table iscs_system_resources
(
id bigint auto_increment,
map_id bigint not null comment '地图id',
`system` varchar(32) not null comment '系统',
type varchar(32) null comment '类型',
resource_ids varchar(1024) null comment '资源id集合',
constraint iscs_system_resources_id_uindex
unique (id)
)
comment 'ISCS系统资源';
alter table iscs_system_resources
add primary key (id);

View File

@ -1,12 +0,0 @@
-- 20220523
alter table `draft_map_station_direction_label`
ADD COLUMN `run_model` varchar(255) NULL comment '所属模式自动闭塞A、半自动闭塞S' AFTER `signal_code`,
ADD COLUMN `run_status` varchar(255) NULL comment '默认的接发状态,R接、D发、NO空' AFTER `run_model`,
ADD COLUMN `relative_code` varchar(255) NULL comment '相对方向编码' AFTER `run_status`;
-- 20220526
alter table `draft_map_station_direction_label`
drop COLUMN `relative_code`,
ADD COLUMN `relative_station_code` varchar(255) NULL comment '相对的车站编码' AFTER `run_status`,
ADD COLUMN `relative_label_enum` varchar(255) NULL comment '相对的方向口' AFTER `relative_station_code`;

View File

@ -1 +0,0 @@
alter table `draft_map_station_direction_label` ADD COLUMN `name` varchar(225) NULL comment '运行方向名称' AFTER `id`;

View File

@ -1,2 +0,0 @@
ALTER TABLE `sys_account`
ADD COLUMN `source` varchar(32) NULL COMMENT '账号来源' AFTER `roles`;

View File

@ -1,25 +0,0 @@
-- 课程表添加字段
ALTER TABLE `ls_lesson`
ADD COLUMN `org_id` bigint(20) NULL COMMENT '创建者创建这条数据时所属组织' AFTER `update_time`;
-- 数据处理SQL
UPDATE ls_lesson lesson,
org_user ou
SET lesson.org_id = ou.org_id
WHERE
lesson.creator_id = ou.user_id
AND ou.role = 'Admin'
AND lesson.sysFault = 0;
-- 考试表添加字段
ALTER TABLE `exam_definition`
ADD COLUMN `org_id` bigint NULL COMMENT '创建者创建这条数据时所属的组织' AFTER `passing_point`;
-- 数据处理SQL
UPDATE exam_definition exam,
org_user ou
SET exam.org_id = ou.org_id
WHERE
exam.creator_id = ou.user_id
AND ou.role = 'Admin'
AND exam.system = 0;

View File

@ -1,3 +0,0 @@
-- 出入口方向添加方向属性,需要重新编辑地图中出入口方向的属性
ALTER TABLE `draft_map_station_direction_label`
ADD COLUMN `io_direction` varchar(20) NULL COMMENT '出入口方向';

View File

@ -1,48 +0,0 @@
/*
Navicat Premium Data Transfer
Source Server : walker
Source Server Type : MySQL
Source Server Version : 80029
Source Host : 192.168.3.233:3306
Source Schema : joylink
Target Server Type : MySQL
Target Server Version : 80029
File Encoding : 65001
Date: 30/08/2022 16:02:15
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for draft_training2
-- ----------------------------
DROP TABLE IF EXISTS `draft_training2`;
CREATE TABLE `draft_training2` (
`id` bigint NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实训名称',
`map_id` bigint NULL DEFAULT NULL COMMENT '实训地图id',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
`type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实训类型(单操 single场景scene',
`label_json` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标签,用于检索',
`map_location_json` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地图定位json',
`bg_scene_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '初始背景',
`final_scenes_json` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '实训编制完保存为最终场景json数据',
`run_plan_id` bigint NULL DEFAULT NULL COMMENT '运行图id',
`opera_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '操作列表json(List<Operation2VO>)',
`step_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '步骤列表json(List<Step2VO>的json)',
`scoring_rule_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '打分规则列表json(List<ScoringRuleVO>的json)',
`member_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '仿真内所有成员',
`player_id_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '参演的仿真成员id列表Json',
`failure_condition_json` varchar(555) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实训失败判定条件',
`creator_id` bigint NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `map_id_index`(`map_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 36 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,48 +0,0 @@
/*
Navicat Premium Data Transfer
Source Server : walker
Source Server Type : MySQL
Source Server Version : 80029
Source Host : 192.168.3.233:3306
Source Schema : joylink
Target Server Type : MySQL
Target Server Version : 80029
File Encoding : 65001
Date: 30/08/2022 16:02:51
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for published_training2
-- ----------------------------
DROP TABLE IF EXISTS `published_training2`;
CREATE TABLE `published_training2` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '已发布实训的id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实训名称',
`map_id` bigint NULL DEFAULT NULL COMMENT '实训地图id',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实训描述',
`type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实训类型(单操 single场景scene',
`label_json` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标签,用于检索',
`map_location_json` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地图定位json',
`bg_scene_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '初始背景',
`run_plan_id` bigint NULL DEFAULT NULL COMMENT '运行图id',
`opera_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '操作列表json(List<Operation2VO>)',
`step_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '步骤列表json(List<Step2VO>的json)',
`scoring_rule_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '打分规则列表json(List<ScoringRuleVO>的json)',
`member_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '仿真内所有成员',
`player_id_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '参演的仿真成员id列表Json',
`failure_condition_json` varchar(555) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实训失败判定条件',
`creator_id` bigint NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`state` int NULL DEFAULT NULL COMMENT '已发布实训的状态(0-默认未知1-上架2-下架)',
`final_scenes_json` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '实训编制后的最终场景json数据',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,2 +0,0 @@
-- 武汉8号线添加第三方账号
INSERT INTO `joylink`.`sys_account` ( `account`, `parent_account`, `type`, `org_id`, `name`, `nickname`, `avatar_path`, `password`, `mobile`, `nationcode`, `email`, `wx_id`, `wx_union_id`, `wm_open_id`, `status`, `roles`, `source`, `create_time`, `update_user_id`, `update_time`) VALUES ('yjddzh_train_place', NULL, '2', NULL, NULL, '武汉8号线_train_place', NULL, 'train_place', 'train_place', NULL, 'yjddzh@tests.com', NULL, NULL, NULL, '1', '01', NULL, '2022-09-14 10:00:14', NULL, NULL);

View File

@ -1,36 +0,0 @@
/*
Navicat Premium Data Transfer
Source Server : room
Source Server Type : MySQL
Source Server Version : 80029
Source Host : 192.168.3.233:3306
Source Schema : joylink
Target Server Type : MySQL
Target Server Version : 80029
File Encoding : 65001
Date: 15/09/2022 14:08:08
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for trace_training2
-- ----------------------------
DROP TABLE IF EXISTS `trace_training2`;
CREATE TABLE `trace_training2` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '实训草稿-已发布追踪表记录id',
`draft_id` bigint NULL DEFAULT NULL COMMENT 'draft_training2主键',
`draft_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实训草稿名称',
`draft_map_id` bigint NULL DEFAULT NULL COMMENT '实训草稿地图id',
`pub_id` bigint NULL DEFAULT NULL COMMENT 'published_training2主键',
`pub_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '已发布实训名称',
`trace_creator_id` bigint NULL DEFAULT NULL COMMENT '追踪轨迹生成者即发布操作者',
`trace_time` datetime NULL DEFAULT NULL COMMENT '追踪轨迹生成时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,33 +0,0 @@
/*
Navicat Premium Data Transfer
Source Server : room
Source Server Type : MySQL
Source Server Version : 80029
Source Host : 192.168.3.233:3306
Source Schema : joylink
Target Server Type : MySQL
Target Server Version : 80029
File Encoding : 65001
Date: 19/09/2022 14:54:30
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for draft_map_dis_station
-- ----------------------------
DROP TABLE IF EXISTS `draft_map_dis_station`;
CREATE TABLE `draft_map_dis_station` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '调度台逻辑数据记录id',
`map_id` bigint NULL DEFAULT NULL COMMENT '所属地图id',
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调度台编码',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调度台名称',
`station_list` varchar(600) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调度台下辖车站的code列表array json',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,194 +0,0 @@
[20220923-wei-project.sql]
create TABLE `project` (
`id` int NOT NULL AUTO_INCREMENT comment '数据库唯一ID',
`mark_key` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL comment '项目标识key,前端使用',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL comment '项目编码,后端使用',
`name` varchar(255) DEFAULT NULL comment '项目名称',
`name_en` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL comment '项目英文名称',
`simple_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL comment '项目简称',
`create_time` datetime DEFAULT NULL comment '创建时间',
`update_time` datetime DEFAULT NULL comment '修改时间',
`status` int NOT NULL comment '项目标识状态',
`view_setting` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci comment '前端界面设置',
`view_show` int NOT NULL DEFAULT '1' comment '是否供前端选择',
`server_setting` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci comment '后端服务设置',
PRIMARY KEY (`id`),
KEY `mark_key` (`mark_key`) USING BTREE,
KEY `code` (`code`),
KEY `view_show` (`view_show`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'login', 'DEFAULT','城市轨道交通实训平台',' Urban Rail Transit Practical Training Platform'
,'','{"login":{"loginInfo":{"title":"城市轨道交通实训平台","titleEn":" Urban Rail Transit Practical Training Platform","loginPath":"/login","loginParam":"DEFAULT","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login"},"design":{"loginInfo":{"title":"城市轨道交通设计平台","titleEn":" Urban Rail Transit Design Platform","loginPath":"/design/login","loginParam":"DEFAULT","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login"}}','{"defaultProject":1,"loginCreateSimulation":0}', 0
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'xty', 'XTY','西安铁路职业技术学院城市轨道交通实训平台',''
,'西铁院','{"login":{"loginInfo":{"title":"西安铁路职业技术学院城市轨道交通实训平台","loginPath":"/login?project=xty","loginParam":"XTY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"013"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=xty"},"design":{"loginInfo":{"title":"西安铁路职业技术学院城市轨道交通设计平台","loginPath":"/design/login?project=xty","loginParam":"XTY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"013"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=xty"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'gzb', 'GZB','贵州装备制造职业学院城市轨道交通实训平台',''
,'贵州装备','{"login":{"loginInfo":{"title":"贵州装备制造职业学院城市轨道交通实训平台","loginPath":"/login?project=gzb","loginParam":"GZB","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"014"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=gzb"},"design":{"loginInfo":{"title":"贵州装备制造职业学院城市轨道交通设计平台","loginPath":"/design/login?project=gzb","titleDistance":"-150px","loginParam":"GZB","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"014"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=gzb"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'xadt', 'XADT','城市轨道交通实训平台',''
,'西安地铁','{"login":{"loginInfo":{"title":"城市轨道交通实训平台","logoWidth":"60px","loginTitle":"运营一中心","homeTitle":"运营一中心","browserTitle":"西安地铁运营一中心城市轨道交通实训平台","loginPath":"/login?project=xadt","loginParam":"XADT","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"012"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=xadt"},"design":{"loginInfo":{"title":"城市轨道交通设计平台","logoWidth":"60px","loginTitle":"运营一中心","homeTitle":"运营一中心","browserTitle":"西安地铁运营一中心城市轨道交通设计平台","loginPath":"/design/login?project=xadt","loginParam":"XADT","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"012"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=xadt"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'heb', 'HEB','城市轨道交通综合行车模拟仿真系统V1.0',''
,'哈尔滨','{"login":{"loginInfo":{"title":"城市轨道交通综合行车模拟仿真系统V1.0","loginTitle":"城市轨道交通综合行车模拟仿真系统V1.0","logoWidth":"140px","loginPath":"/login?project=heb","titleDistance":"150px","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"HEB","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"019"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":1,"noSimulationQrCode":1,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=heb"},"design":{"loginInfo":{"title":"城市轨道交通设计平台V1.0","loginTitle":"城市轨道交通设计平台V1.0","logoWidth":"140px","titleDistance":"150px","loginPath":"/design/login?project=heb","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"HEB","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"019"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":1,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=heb"}}','{"defaultProject":1,"loginCreateSimulation":0,"controlDevice":1}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'nty', 'NTY','城轨高级信号系统(云平台通用版)',''
,'南铁院(通用版)','{"login":{"loginInfo":{"title":"城轨高级信号系统(云平台通用版)","loginPath":"/login?project=nty","loginParam":"NTY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=nty"},"design":{"loginInfo":{"title":"城轨高级信号设计系统(云平台通用版)","loginPath":"/design/login?project=nty","loginParam":"NTY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=nty"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'ntyc', 'NTYC','城轨高级信号系统(云平台专用版)',''
,'南铁院(专用版)','{"login":{"loginInfo":{"title":"城轨高级信号系统(云平台专用版)","loginPath":"/login?project=ntyc","loginParam":"NTYC","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=ntyc"},"design":{"loginInfo":{"title":"城轨高级信号设计系统(云平台专用版)","loginPath":"/design/login?project=ntyc","loginParam":"NTYC","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=ntyc"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'ntyl', 'NTYL','城轨高级信号系统(本地专用版)',''
,'南铁院(本地版)','{"login":{"loginInfo":{"title":"城轨高级信号系统(本地专用版)","loginPath":"/login?project=ntyl","loginParam":"NTYL","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":1,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=ntyl"},"design":{"loginInfo":{"title":"城轨高级信号设计系统(本地专用版)","loginPath":"/design/login?project=ntyl","loginParam":"NTYL","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":1,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=ntyl"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'sdy', 'SDY','江苏电子信息职业学院城市轨道交通实训平台',''
,'苏电院','{"login":{"loginInfo":{"title":"江苏电子信息职业学院城市轨道交通实训平台","loginPath":"/login?project=sdy","loginParam":"SDY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"021"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=sdy"},"design":{"loginInfo":{"title":"江苏电子信息职业学院城市轨道交通设计平台","loginPath":"/design/login?project=sdy","loginParam":"SDY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"021"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=sdy"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'bjd', 'BJD','城市轨道交通列车运行智慧辅助系统',''
,'北交大','{"login":{"loginInfo":{"title":"城市轨道交通列车运行智慧辅助系统","loginPath":"/login?project=bjd","logoWidth":"400px","bottomIcon":"@/assets/icon/favicon_bjd.png","bottomColumn":"","loginTitle":"空串","linkIcon":"@/assets/icon/link_bjd.png","loginParam":"BJD","navigationLogoWidth":"160px","navigationMarginLeft":"175px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":1,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=bjd"},"design":{"loginInfo":{"title":"城市轨道交通列车运行智慧辅助系统","loginPath":"/design/login?project=bjd","logoWidth":"400px","bottomIcon":"@/assets/icon/favicon_bjd.png","bottomColumn":"","linkIcon":"","loginParam":"BJD","navigationLogoWidth":"160px","navigationMarginLeft":"175px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=bjd"}}','{"defaultProject":1,"loginCreateSimulation":1, "createSimulationPermission":1}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'cgy', 'CGY','成都工业职业技术学院线网车站运营虚拟仿真实训中心',''
,'成都工业','{"login":{"loginInfo":{"title":"成都工业职业技术学院线网车站运营虚拟仿真实训中心","loginPath":"/login?project=cgy","loginParam":"CGY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":1,"noSimulationQrCode":0,"registerCode":1,"contectUs":0,"contectInfo":{},"noCopyRight":0},"design":{"loginInfo":{"title":"成都工业职业技术学院轨道交通虚拟仿真设计平台","loginPath":"/design/login?project=cgy","loginParam":"CGY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":1,"noSimulationQrCode":0,"registerCode":1,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":0,"freeSource":1}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'wjls', 'WJLS','微机联锁仿真系统',''
,'微机联锁','{"login":{"loginInfo":{"title":"微机联锁仿真系统","loginPath":"/login?project=wjls","loginParam":"WJLS","loginTitle":"空串","navigationLogoWidth":"40px","navigationMarginLeft":"60px","logoWidth":"0","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0},"design":{"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":1,"createLocalSimulation":1,"defaultMemberId":"2"}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'drts', 'DRTS','全国行车调度员大赛训练系统',''
,'调度大赛','{"login":{"loginInfo":{"title":"全国行车调度员大赛训练系统","loginPath":"/login?project=drts","loginParam":"DRTS","loginTitle":"空串","navigationLogoWidth":"40px","navigationMarginLeft":"60px","logoWidth":"0","systemType":"020"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0},"design":{"loginInfo":{"title":"行车调度员设计平台国赛备战版","loginPath":"/design/login?project=drts","loginParam":"DRTS","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"020"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":1,"mapNeedCharge":1}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'zzwwtest', 'ZZWWTEST','共赢列车仿真驾驶系统',''
,'郑州共赢考试','{"login":{"loginInfo":{"title":"共赢列车仿真驾驶系统","loginPath":"/login?project=zzwwtest","loginParam":"ZZWWTEST","loginTitle":"空串","logoWidth":"140px","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0},"design":{"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'richor', 'RICHOR','中航锐创城市轨道交通实训平台',''
,'中航锐创','{"login":{"loginInfo":{"title":"中航锐创城市轨道交通实训平台","loginPath":"/login?project=richor","loginParam":"RICHOR","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","navigationLogoWidth":"40px","navigationMarginLeft":"50px","systemType":"022"},"thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1},"design":{"thirdLogin":1,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'zzww', 'ZZWW','共赢列车仿真驾驶系统',''
,'郑州共赢','{"login":{"loginInfo":{"title":"共赢列车仿真驾驶系统","loginPath":"/login?project=zzww","loginParam":"ZZWW","loginTitle":"空串","logoWidth":"140px","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0},"design":{"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":0,"freeSource":1,"defaultLoadTrain":1}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'richorlesson3d', 'RICHOR','中航锐创城市轨道交通实训平台',''
,'中航锐创(三维课程)','{"login":{"loginInfo":{"title":"中航锐创城市轨道交通实训平台","loginPath":"/login?project=richorlesson3d","loginParam":"RICHOR","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","navigationLogoWidth":"40px","navigationMarginLeft":"50px","systemType":"022"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0},"design":{"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'nologo', 'NOLOGO','城市轨道交通实训平台',''
,'无logo','{"login":{"loginInfo":{"title":"城市轨道交通实训平台","loginPath":"/login?project=nologo","loginParam":"NOLOGO","bottomColumn":"","navigationLogoWidth":"10px","navigationMarginLeft":"10px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=nologo"},"design":{"loginInfo":{"title":"城市轨道交通设计平台","loginPath":"/design/login?project=nologo","loginParam":"NOLOGO","bottomColumn":"","navigationLogoWidth":"10px","navigationMarginLeft":"10px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=nologo"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'richorjoint', 'RICHOR_JOINT','中航锐创城市轨道交通实训平台',''
,'中航锐创(实训室)','{"login":{"loginInfo":{"title":"中航锐创城市轨道交通实训平台","loginPath":"/login?project=richorjoint","loginParam":"RICHOR_JOINT","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","navigationLogoWidth":"40px","navigationMarginLeft":"50px","systemType":"023"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"cctvUrl":"http://192.168.1.254","otherPlatformUrl":"/design/login?project=richorjoint"},"design":{"loginInfo":{"title":"中航锐创城市轨道交通设计平台","loginPath":"/design/login?project=richorjoint","loginParam":"RICHOR_JOINT","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","navigationLogoWidth":"40px","navigationMarginLeft":"50px","systemType":"023"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=richorjoint"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'srsandbox', 'SR_SANDBOX','上饶科技中等专业学校城市轨道交通实训平台',''
,'上饶沙盘','{"login":{"loginInfo":{"title":"上饶科技中等专业学校城市轨道交通实训平台","loginPath":"/login?project=srsandbox","loginParam":"SR_SANDBOX","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"024"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=srsandbox"},"design":{"loginInfo":{"title":"上饶科技中等专业学校城市轨道交通设计平台","loginPath":"/design/login?project=srsandbox","loginParam":"SR_SANDBOX","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"024"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=srsandbox"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'jxgm', 'JXGM','江西工业贸易职业技术学院城市轨道交通实训平台',''
,'江西工贸','{"login":{"loginInfo":{"title":"江西工业贸易职业技术学院城市轨道交通实训平台","loginPath":"/login?project=jxgm","loginParam":"JXGM","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"024"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=jxgm"},"design":{"loginInfo":{"title":"江西工业贸易职业技术学院城市轨道交通设计平台","loginPath":"/design/login?project=jxgm","loginParam":"JXGM","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"025"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=jxgm"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'richorygy', 'RICHOR_YGY','扬州工业职业技术学院城市轨道交通实训平台',''
,'扬州工业','{"login":{"loginInfo":{"title":"扬州工业职业技术学院城市轨道交通实训平台","loginPath":"/login?project=richorygy","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_YGY","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1},"design":{"loginInfo":{"title":"扬州工业职业技术学院城市轨道交通设计平台","loginPath":"/design/login?project=richorygy","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_YGY","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'say', 'SAY','江苏安全技术职业学院城市轨道交通实训平台',''
,'苏安院','{"login":{"loginInfo":{"title":"江苏安全技术职业学院城市轨道交通实训平台","loginPath":"/login?project=say","loginParam":"SAY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"026"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=say"},"design":{"loginInfo":{"title":"江苏安全技术职业学院城市轨道交通设计平台","loginPath":"/design/login?project=say","loginParam":"SAY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"026"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=say"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'unittecsty', 'UNITTEC_STY','轨道交通实训平台',''
,'众合-陕铁院','{"login":{"loginInfo":{"title":"轨道交通实训平台","loginPath":"/login?project=unittecsty","loginParam":"UNITTEC_STY","titleDistance":"-150px","titleIcon":"@/assets/icon/link_unittec.png","linkIcon":"@/assets/icon/link_unittec.png","titleImgWidth":"250px","navigationLogoWidth":"60px","navigationMarginLeft":"80px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=unittecsty"},"design":{"loginInfo":{"title":"轨道交通设计平台","loginPath":"/design/login?project=unittecsty","loginParam":"UNITTEC_STY","titleDistance":"-150px","titleIcon":"@/assets/icon/link_unittec.png","linkIcon":"@/assets/icon/link_unittec.png","titleImgWidth":"250px","navigationLogoWidth":"60px","navigationMarginLeft":"80px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=unittecsty"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'richorhhcj', 'RICHOR_HHCJ','红河财经学校城市轨道交通实训平台',''
,'红河财经','{"login":{"loginInfo":{"title":"红河财经学校城市轨道交通实训平台","loginPath":"/login?project=richorhhcj","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_HHCJ","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"027"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1,"cctvUrl":"http://192.168.0.254","otherPlatformUrl":"/design/login?project=richorhhcj"},"design":{"loginInfo":{"title":"红河财经学校城市轨道交通设计平台","loginPath":"/design/login?project=richorhhcj","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_HHCJ","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"027"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1,"otherPlatformUrl":"/login?project=richorhhcj"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'richorcxjs', 'RICHOR_CXJS','长兴技师学院城市轨道交通实训平台',''
,'长兴技校','{"login":{"loginInfo":{"title":"长兴技师学院城市轨道交通实训平台","loginPath":"/login?project=richorcxjs","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_CXJS","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"027"},"thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1},"design":{"loginInfo":{"title":"长兴技师学院城市轨道交通设计平台","loginPath":"/design/login?project=richorcxjs","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_CXJS","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'yjddzh', 'YJDDZH','应急调度指挥系统',''
,'武汉8号线','{"login":{"loginInfo":{"title":"应急调度指挥系统","loginPath":"/login?project=yjddzh","loginParam":"YJDDZH","loginTitle":"空串","navigationLogoWidth":"40px","navigationMarginLeft":"60px","logoWidth":"0","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0},"design":{"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'teaching', 'TEACHING','教学通用实训平台',''
,'教学通用','{"login":{"loginInfo":{"title":"教学通用实训平台","loginPath":"/login?project=teaching","loginParam":"TEACHING","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"028"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=teaching"},"design":{"loginInfo":{"title":"教学通用设计平台","loginPath":"/design/login?project=teaching","loginParam":"TEACHING","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"028"},"thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=teaching"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);
insert into project(`mark_key`,`code`,`name`,`name_en`,`simple_name`,`view_setting`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
(
'hydrailway', 'HYD_RAILWAY','大铁交通综合行车模拟仿真系统V1.0',''
,'哈盈达大铁','{"login":{"loginInfo":{"title":"大铁交通综合行车模拟仿真系统V1.0","loginTitle":"空串","logoWidth":"140px","loginPath":"/login?project=hydrailway","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"HYD_RAILWAY","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=hydrailway"},"design":{"loginInfo":{"title":"大铁交通设计平台V1.0","loginTitle":"空串","logoWidth":"140px","loginPath":"/login?project=hydrailway","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"HYD_RAILWAY","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=hydrailway"}}','{"defaultProject":1,"loginCreateSimulation":0}',1
,NOW(),NOW(),1
);

View File

@ -1,15 +0,0 @@
-- 新题库
DROP TABLE IF EXISTS `rts_paper_question`;
CREATE TABLE `rts_paper_question` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '类型 选择题=select,判断题=judge,多选题=multi',
`question` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '问题内容',
`create_user_id` bigint DEFAULT NULL COMMENT '创建者id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`org_id` bigint DEFAULT NULL COMMENT '公司组织id',
`tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '标签',
`question_option` varchar(612) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '问题选项',
`question_answer` varchar(255) DEFAULT NULL COMMENT '答案,号隔开',
`is_del` int DEFAULT '0' COMMENT '是否删除0=否1=是',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

View File

@ -1,154 +0,0 @@
drop table IF EXISTS `project`;
create TABLE `project` (
`id` int NOT NULL AUTO_INCREMENT comment '数据库唯一ID',
`code` varchar(50) CHARACTER SET utf8mb4 NOT NULL comment '项目编码',
`name` varchar(255) DEFAULT NULL comment '项目名称',
`name_en` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL comment '项目英文名称',
`simple_name` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL comment '项目简称',
`create_time` datetime DEFAULT NULL comment '创建时间',
`update_time` datetime DEFAULT NULL comment '修改时间',
`status` int NOT NULL comment '项目标识状态',
`view_show` int NOT NULL DEFAULT '1' comment '是否供前端选择',
`server_setting` text CHARACTER SET utf8mb4 comment '后端服务设置',
PRIMARY KEY (`id`),
KEY `code` (`code`),
KEY `view_show` (`view_show`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
drop table IF EXISTS `project_view`;
create TABLE `project_view` (
`id` int NOT NULL AUTO_INCREMENT comment '主键',
`view_setting` text comment '前端界面设置',
`mark_key` varchar(255) CHARACTER SET utf8mb4 NOT NULL comment '前端标识key',
`project` varchar(255) CHARACTER SET utf8mb4 NOT NULL comment '对应项目',
`create_time` datetime DEFAULT NULL comment '创建时间',
`update_time` datetime DEFAULT NULL comment '修改时间',
`status` int DEFAULT '1' comment '状态',
PRIMARY KEY (`id`),
UNIQUE KEY `mark_key` (`mark_key`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('DEFAULT','城市轨道交通实训平台',' Urban Rail Transit Practical Training Platform','','{"defaultProject":1,"loginCreateSimulation":0}',0,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('XTY','西安铁路职业技术学院城市轨道交通实训平台','','西铁院','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('GZB','贵州装备制造职业学院城市轨道交通实训平台','','贵州装备','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('XADT','城市轨道交通实训平台','','西安地铁','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('HEB','城市轨道交通综合行车模拟仿真系统V1.0','','哈尔滨','{"defaultProject":0,"loginCreateSimulation":0,"controlDevice":1}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('NTY','城轨高级信号系统(云平台通用版)','','南铁院(通用版)','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('NTYC','城轨高级信号系统(云平台专用版)','','南铁院(专用版)','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('NTYL','城轨高级信号系统(本地专用版)','','南铁院(本地版)','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('SDY','江苏电子信息职业学院城市轨道交通实训平台','','苏电院','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('BJD','城市轨道交通列车运行智慧辅助系统','','北交大','{"defaultProject":0,"loginCreateSimulation":1, "createSimulationPermission":1}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('CGY','成都工业职业技术学院线网车站运营虚拟仿真实训中心','','成都工业','{"defaultProject":0,"loginCreateSimulation":0,"freeSource":1}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('WJLS','微机联锁仿真系统','','微机联锁','{"defaultProject":0,"loginCreateSimulation":1,"createLocalSimulation":1,"defaultMemberId":"2"}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('DRTS','全国行车调度员大赛训练系统','','调度大赛','{"defaultProject":0,"loginCreateSimulation":1,"mapNeedCharge":1}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('ZZWWTEST','共赢列车仿真驾驶系统','','郑州共赢考试','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('RICHOR','中航锐创城市轨道交通实训平台','','中航锐创','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('ZZWW','共赢列车仿真驾驶系统','','郑州共赢','{"defaultProject":0,"loginCreateSimulation":0,"freeSource":1,"defaultLoadTrain":1}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('NOLOGO','城市轨道交通实训平台','','无logo','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('RICHOR_JOINT','中航锐创城市轨道交通实训平台','','中航锐创(实训室)','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('SR_SANDBOX','上饶科技中等专业学校城市轨道交通实训平台','','上饶沙盘','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('JXGM','江西工业贸易职业技术学院城市轨道交通实训平台','','江西工贸','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('RICHOR_YGY','扬州工业职业技术学院城市轨道交通实训平台','','扬州工业','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('SAY','江苏安全技术职业学院城市轨道交通实训平台','','苏安院','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('UNITTEC_STY','轨道交通实训平台','','众合-陕铁院','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('RICHOR_HHCJ','红河财经学校城市轨道交通实训平台','','红河财经','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('RICHOR_CXJS','长兴技师学院城市轨道交通实训平台','','长兴技校','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('YJDDZH','应急调度指挥系统','','武汉8号线','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('TEACHING','教学通用实训平台','','教学通用','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project(`code`,`name`,`name_en`,`simple_name`,`server_setting`,`view_show` ,`create_time`,`update_time`,`status`) VALUES
('HYD_RAILWAY','大铁交通综合行车模拟仿真系统V1.0','','哈盈达大铁','{"defaultProject":0,"loginCreateSimulation":0}',1,NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('xty','XTY','{"loginInfo":{"title":"西安铁路职业技术学院城市轨道交通实训平台","loginPath":"/login?project=xty","loginParam":"XTY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"013"},"projectIcon":"@/assets/icon/favicon_xty.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=xty"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('zzww','ZZWW','{"loginInfo":{"title":"共赢列车仿真驾驶系统","loginPath":"/login?project=zzww","loginParam":"ZZWW","loginTitle":"空串","logoWidth":"140px","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_zzww.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('xzexam','SAY','{"loginInfo":{"title":"城市轨道交通标准化培训软件","loginPath":"/login?project=xzexam","loginParam":"SAY","loginTitle":"空串","logoWidth":"140px","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"projectIcon":"@/assets/icon/transparent.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('zzwwtest','ZZWWTEST','{"loginInfo":{"title":"共赢列车仿真驾驶系统","loginPath":"/login?project=zzwwtest","loginParam":"ZZWWTEST","loginTitle":"空串","logoWidth":"140px","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_zzww.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('bjd','BJD','{"loginInfo":{"title":"城市轨道交通列车运行智慧辅助系统","loginPath":"/login?project=bjd","logoWidth":"400px","bottomIcon":"@/assets/icon/favicon_bjd.png","bottomColumn":"","loginTitle":"空串","linkIcon":"@/assets/icon/link_bjd.png","loginParam":"BJD","navigationLogoWidth":"160px","navigationMarginLeft":"175px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_bjd.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":1,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=bjd"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('sdy','SDY','{"loginInfo":{"title":"江苏电子信息职业学院城市轨道交通实训平台","loginPath":"/login?project=sdy","loginParam":"SDY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"021"},"projectIcon":"@/assets/icon/favicon_jdy.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=sdy"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('ntyc','NTYC','{"loginInfo":{"title":"城轨高级信号系统(云平台专用版)","loginPath":"/login?project=ntyc","loginParam":"NTYC","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_nty.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=ntyc"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('ntyl','NTYL','{"loginInfo":{"title":"城轨高级信号系统(本地专用版)","loginPath":"/login?project=ntyl","loginParam":"NTYL","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_nty.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":1,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=ntyl"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('nty','NTY','{"loginInfo":{"title":"城轨高级信号系统(云平台通用版)","loginPath":"/login?project=nty","loginParam":"NTY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_nty.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=nty"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('login','DEFAULT','{"loginInfo":{"title":"城市轨道交通实训平台","titleEn":" Urban Rail Transit Practical Training Platform","loginPath":"/login","loginParam":"DEFAULT","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('design','DEFAULT','{"loginInfo":{"title":"城市轨道交通设计平台","titleEn":" Urban Rail Transit Design Platform","loginPath":"/design/login","loginParam":"DEFAULT","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('wjls','WJLS','{"loginInfo":{"title":"微机联锁仿真系统","loginPath":"/login?project=wjls","loginParam":"WJLS","loginTitle":"空串","navigationLogoWidth":"40px","navigationMarginLeft":"60px","logoWidth":"0","systemType":"011"},"projectIcon":"@/assets/icon/favicon.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('drts','DRTS','{"loginInfo":{"title":"全国行车调度员大赛训练系统","loginPath":"/login?project=drts","loginParam":"DRTS","loginTitle":"空串","navigationLogoWidth":"40px","navigationMarginLeft":"60px","logoWidth":"0","systemType":"020"},"projectIcon":"@/assets/icon/favicon.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designdrts','DRTS','{"loginInfo":{"title":"行车调度员设计平台国赛备战版","loginPath":"/design/login?project=drts","loginParam":"DRTS","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"020"},"projectIcon":"@/assets/icon/favicon.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('yjddzh','YJDDZH','{"loginInfo":{"title":"应急调度指挥系统","loginPath":"/login?project=yjddzh","loginParam":"YJDDZH","loginTitle":"空串","navigationLogoWidth":"40px","navigationMarginLeft":"60px","logoWidth":"0","systemType":"011"},"projectIcon":"@/assets/icon/favicon.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('hlsdrts','DRTS','{"loginInfo":{"title":"城轨国赛竞赛系统","loginPath":"/login?project=hlsdrts","loginParam":"DRTS","logoWidth":"300px","linkIcon":"@/assets/icon/link_hls.png","loginTitle":"空串","navigationLogoWidth":"180px","navigationMarginLeft":"195px","systemType":"020"},"projectIcon":"@/assets/icon/favicon_hls.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designbjd','BJD','{"loginInfo":{"title":"城市轨道交通列车运行智慧辅助系统","loginPath":"/design/login?project=bjd","logoWidth":"400px","bottomIcon":"@/assets/icon/favicon_bjd.png","bottomColumn":"","linkIcon":"","loginParam":"BJD","navigationLogoWidth":"160px","navigationMarginLeft":"175px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_bjd.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=bjd"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designhlsdrts','DRTS','{"loginInfo":{"title":"城轨国赛竞赛系统","loginPath":"/design/login?project=hlsdrts","loginParam":"DRTS","logoWidth":"300px","linkIcon":"@/assets/icon/link_hls.png","loginTitle":"空串","navigationLogoWidth":"180px","navigationMarginLeft":"195px","systemType":"020"},"projectIcon":"@/assets/icon/favicon_hls.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designxty','XTY','{"loginInfo":{"title":"西安铁路职业技术学院城市轨道交通设计平台","loginPath":"/design/login?project=xty","loginParam":"XTY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"013"},"projectIcon":"@/assets/icon/favicon_xty.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=xty"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designntyl','NTYL','{"loginInfo":{"title":"城轨高级信号设计系统(本地专用版)","loginPath":"/design/login?project=ntyl","loginParam":"NTYL","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_nty.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":1,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=ntyl"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designntyc','NTYC','{"loginInfo":{"title":"城轨高级信号设计系统(云平台专用版)","loginPath":"/design/login?project=ntyc","loginParam":"NTYC","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_nty.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=ntyc"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designsdy','SDY','{"loginInfo":{"title":"江苏电子信息职业学院城市轨道交通设计平台","loginPath":"/design/login?project=sdy","loginParam":"SDY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"021"},"projectIcon":"@/assets/icon/favicon_jdy.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=sdy"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designnty','NTY','{"loginInfo":{"title":"城轨高级信号设计系统(云平台通用版)","loginPath":"/design/login?project=nty","loginParam":"NTY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_nty.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=nty"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('gzb','GZB','{"loginInfo":{"title":"贵州装备制造职业学院城市轨道交通实训平台","loginPath":"/login?project=gzb","loginParam":"GZB","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"014"},"projectIcon":"@/assets/icon/favicon_gzb.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=gzb"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designgzb','GZB','{"loginInfo":{"title":"贵州装备制造职业学院城市轨道交通设计平台","loginPath":"/design/login?project=gzb","titleDistance":"-150px","loginParam":"GZB","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"014"},"projectIcon":"@/assets/icon/favicon_gzb.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=gzb"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designcgy','CGY','{"loginInfo":{"title":"成都工业职业技术学院轨道交通虚拟仿真设计平台","loginPath":"/design/login?project=cgy","loginParam":"CGY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_cgy.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":1,"noSimulationQrCode":0,"registerCode":1,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('heb','HEB','{"loginInfo":{"title":"城市轨道交通综合行车模拟仿真系统V1.0","loginTitle":"城市轨道交通综合行车模拟仿真系统V1.0","logoWidth":"140px","loginPath":"/login?project=heb","titleDistance":"150px","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"HEB","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"019"},"projectIcon":"@/assets/icon/favicon_hyd.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":1,"noSimulationQrCode":1,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=heb"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('hyd','DEFAULT','{"loginInfo":{"title":"城市轨道交通综合行车模拟仿真系统V1.0","loginTitle":"空串","logoWidth":"140px","loginPath":"/login?project=hyd","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"DEFAULT","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_hyd.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=hyd"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designheb','HEB','{"loginInfo":{"title":"城市轨道交通设计平台V1.0","loginTitle":"城市轨道交通设计平台V1.0","logoWidth":"140px","titleDistance":"150px","loginPath":"/design/login?project=heb","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"HEB","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"019"},"projectIcon":"@/assets/icon/favicon_hyd.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":1,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=heb"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designhyd','DEFAULT','{"loginInfo":{"title":"城市轨道交通设计平台V1.0","loginTitle":"空串","logoWidth":"140px","loginPath":"/design/login?project=hyd","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"DEFAULT","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_hyd.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=hyd"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('cgy','CGY','{"loginInfo":{"title":"成都工业职业技术学院线网车站运营虚拟仿真实训中心","loginPath":"/login?project=cgy","loginParam":"CGY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_cgy.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":1,"noSimulationQrCode":0,"registerCode":1,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('hydrailway','HYD_RAILWAY','{"loginInfo":{"title":"大铁交通综合行车模拟仿真系统V1.0","loginTitle":"空串","logoWidth":"140px","loginPath":"/login?project=hydrailway","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"HYD_RAILWAY","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_hyd.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=hydrailway"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designhydrailway','HYD_RAILWAY','{"loginInfo":{"title":"大铁交通设计平台V1.0","loginTitle":"空串","logoWidth":"140px","loginPath":"/login?project=hydrailway","bottomColumn":"哈尔滨盈达科技有限公司 联系电话:0451-87001273","loginParam":"HYD_RAILWAY","navigationLogoWidth":"120px","navigationMarginLeft":"140px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_hyd.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=hydrailway"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('xadt','XADT','{"loginInfo":{"title":"城市轨道交通实训平台","logoWidth":"60px","loginTitle":"运营一中心","homeTitle":"运营一中心","browserTitle":"西安地铁运营一中心城市轨道交通实训平台","loginPath":"/login?project=xadt","loginParam":"XADT","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"012"},"projectIcon":"@/assets/icon/favicon_xas.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=xadt"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designxadt','XADT','{"loginInfo":{"title":"城市轨道交通设计平台","logoWidth":"60px","loginTitle":"运营一中心","homeTitle":"运营一中心","browserTitle":"西安地铁运营一中心城市轨道交通设计平台","loginPath":"/design/login?project=xadt","loginParam":"XADT","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"012"},"projectIcon":"@/assets/icon/favicon_xas.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=xadt"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('jyd','DEFAULT','{"loginInfo":{"title":"城市轨道交通实训平台","loginPath":"/login?project=jyd","logoWidth":"300px","navigationLogoWidth":"120px","navigationMarginLeft":"140px","loginTitle":"空串","bottomColumn":"","bottomIcon":"@/assets/icon/bottom_jyd.png","linkIcon":"@/assets/icon/link_jyd.png","loginParam":"DEFAULT","systemType":"011"},"projectIcon":"@/assets/icon/favicon_jyd.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=jyd"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designjyd','DEFAULT','{"loginInfo":{"title":"城市轨道交通设计平台","loginTitle":"空串","logoWidth":"300px","navigationLogoWidth":"120px","navigationMarginLeft":"140px","loginPath":"/design/login?project=jyd","bottomColumn":"","bottomIcon":"@/assets/icon/bottom_jyd.png","linkIcon":"@/assets/icon/link_jyd.png","loginParam":"DEFAULT","systemType":"011"},"projectIcon":"@/assets/icon/favicon_jyd.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=jyd"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('tky','DEFAULT','{"loginInfo":{"title":"城市轨道交通实训平台","loginPath":"/login?project=tky","loginTitle":"空串","bottomColumn":"","bottomIcon":"@/assets/icon/favicon_tky.png","loginParam":"DEFAULT","navigationLogoWidth":"75px","navigationMarginLeft":"90px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_tky.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=tky"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designtky','DEFAULT','{"loginInfo":{"title":"城市轨道交通设计平台","loginPath":"/design/login?project=tky","loginTitle":"空串","bottomIcon":"@/assets/icon/favicon_tky.png","bottomColumn":"","loginParam":"DEFAULT","navigationLogoWidth":"75px","navigationMarginLeft":"90px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_tky.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=tky"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('bxkc','DEFAULT','{"loginInfo":{"title":"城市轨道交通实训平台","loginPath":"/login?project=bxkc","loginTitle":"空串","logoWidth":"400px","bottomIcon":"@/assets/icon/favicon_bxkc.png","bottomColumn":"","linkIcon":"@/assets/icon/link_bxkc.png","loginParam":"DEFAULT","navigationLogoWidth":"160px","navigationMarginLeft":"175px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_bxkc.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=bxkc"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designbxkc','DEFAULT','{"loginInfo":{"title":"城市轨道交通设计平台","loginPath":"/design/login?project=bxkc","loginTitle":"空串","logoWidth":"400px","bottomIcon":"@/assets/icon/favicon_bxkc.png","bottomColumn":"","linkIcon":"@/assets/icon/link_bxkc.png","loginParam":"DEFAULT","navigationLogoWidth":"160px","navigationMarginLeft":"175px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_bxkc.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=bxkc"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('crsc','DEFAULT','{"loginInfo":{"title":"城市轨道交通实训平台","loginPath":"/login?project=crsc","loginTitle":"空串","logoWidth":"600px","bottomIcon":"@/assets/icon/favicon_crsc.png","bottomColumn":"","linkIcon":"@/assets/icon/link_crsc.png","titleIcon":"@/assets/icon/link_crsc.png","loginParam":"DEFAULT","navigationLogoWidth":"100px","navigationMarginLeft":"125px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_crsc.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=crsc"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designcrsc','DEFAULT','{"loginInfo":{"title":"城市轨道交通设计平台","loginPath":"/design/login?project=crsc","loginTitle":"空串","logoWidth":"600px","bottomIcon":"@/assets/icon/favicon_crsc.png","bottomColumn":"","linkIcon":"@/assets/icon/link_crsc.png","titleIcon":"@/assets/icon/link_crsc.png","loginParam":"DEFAULT","navigationLogoWidth":"100px","navigationMarginLeft":"125px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_crsc.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=crsc"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('richor','RICHOR','{"loginInfo":{"title":"中航锐创城市轨道交通实训平台","loginPath":"/login?project=richor","loginParam":"RICHOR","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","navigationLogoWidth":"40px","navigationMarginLeft":"50px","systemType":"022"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('richorlesson3d','RICHOR','{"loginInfo":{"title":"中航锐创城市轨道交通实训平台","loginPath":"/login?project=richorlesson3d","loginParam":"RICHOR","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","navigationLogoWidth":"40px","navigationMarginLeft":"50px","systemType":"022"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('hls','DEFAULT','{"loginInfo":{"title":"城市轨道交通实训平台","loginPath":"/login?project=hls","loginTitle":"空串","logoWidth":"300px","linkIcon":"@/assets/icon/link_hls.png","bottomColumn":"北京和利时系统工程有限公司","loginParam":"DEFAULT","navigationLogoWidth":"180px","navigationMarginLeft":"195px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_hls.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=hls"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designrichorjoint','RICHOR_JOINT','{"loginInfo":{"title":"中航锐创城市轨道交通设计平台","loginPath":"/design/login?project=richorjoint","loginParam":"RICHOR_JOINT","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","navigationLogoWidth":"40px","navigationMarginLeft":"50px","systemType":"023"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=richorjoint"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('richorjoint','RICHOR_JOINT','{"loginInfo":{"title":"中航锐创城市轨道交通实训平台","loginPath":"/login?project=richorjoint","loginParam":"RICHOR_JOINT","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","navigationLogoWidth":"40px","navigationMarginLeft":"50px","systemType":"023"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"cctvUrl":"http://192.168.1.254","otherPlatformUrl":"/design/login?project=richorjoint"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designhls','DEFAULT','{"loginInfo":{"title":"城市轨道交通设计平台","loginPath":"/design/login?project=hls","loginTitle":"空串","logoWidth":"300px","linkIcon":"@/assets/icon/link_hls.png","bottomColumn":"北京和利时系统工程有限公司","loginParam":"DEFAULT","navigationLogoWidth":"180px","navigationMarginLeft":"195px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_hls.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":0,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=hls"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designsrsandbox','SR_SANDBOX','{"loginInfo":{"title":"上饶科技中等专业学校城市轨道交通设计平台","loginPath":"/design/login?project=srsandbox","loginParam":"SR_SANDBOX","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"024"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=srsandbox"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designrichorygy','RICHOR_YGY','{"loginInfo":{"title":"扬州工业职业技术学院城市轨道交通设计平台","loginPath":"/design/login?project=richorygy","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_YGY","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('srsandbox','SR_SANDBOX','{"loginInfo":{"title":"上饶科技中等专业学校城市轨道交通实训平台","loginPath":"/login?project=srsandbox","loginParam":"SR_SANDBOX","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"024"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=srsandbox"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('richorygy','RICHOR_YGY','{"loginInfo":{"title":"扬州工业职业技术学院城市轨道交通实训平台","loginPath":"/login?project=richorygy","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_YGY","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('richorhhcj','RICHOR_HHCJ','{"loginInfo":{"title":"红河财经学校城市轨道交通实训平台","loginPath":"/login?project=richorhhcj","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_HHCJ","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"027"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1,"cctvUrl":"http://192.168.0.254","otherPlatformUrl":"/design/login?project=richorhhcj"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designrichorhhcj','RICHOR_HHCJ','{"loginInfo":{"title":"红河财经学校城市轨道交通设计平台","loginPath":"/design/login?project=richorhhcj","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_HHCJ","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"027"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":1,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1,"otherPlatformUrl":"/login?project=richorhhcj"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designrichorcxjs','RICHOR_CXJS','{"loginInfo":{"title":"长兴技师学院城市轨道交通设计平台","loginPath":"/design/login?project=richorcxjs","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_CXJS","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designjxgm','JXGM','{"loginInfo":{"title":"江西工业贸易职业技术学院城市轨道交通设计平台","loginPath":"/design/login?project=jxgm","loginParam":"JXGM","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"025"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=jxgm"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('richorcxjs','RICHOR_CXJS','{"loginInfo":{"title":"长兴技师学院城市轨道交通实训平台","loginPath":"/login?project=richorcxjs","bottomColumn":"中航锐创(北京)科技发展有限公司 联系电话:4000500081","loginParam":"RICHOR_CXJS","linkIcon":"@/assets/icon/favicon_richor.png","titleIcon":"@/assets/icon/favicon_richor.png","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"027"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":1,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":1,"contectInfo":{},"noCopyRight":1}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designnologo','NOLOGO','{"loginInfo":{"title":"城市轨道交通设计平台","loginPath":"/design/login?project=nologo","loginParam":"NOLOGO","bottomColumn":"","navigationLogoWidth":"10px","navigationMarginLeft":"10px","systemType":"011"},"projectIcon":"@/assets/icon/transparent.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=nologo"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('jxgm','JXGM','{"loginInfo":{"title":"江西工业贸易职业技术学院城市轨道交通实训平台","loginPath":"/login?project=jxgm","loginParam":"JXGM","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"024"},"projectIcon":"@/assets/icon/favicon_richor.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=jxgm"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('nologo','NOLOGO','{"loginInfo":{"title":"城市轨道交通实训平台","loginPath":"/login?project=nologo","loginParam":"NOLOGO","bottomColumn":"","navigationLogoWidth":"10px","navigationMarginLeft":"10px","systemType":"011"},"projectIcon":"@/assets/icon/transparent.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":1,"mainBodyNoShow":1,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=nologo"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('say','SAY','{"loginInfo":{"title":"江苏安全技术职业学院城市轨道交通实训平台","loginPath":"/login?project=say","loginParam":"SAY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"026"},"projectIcon":"@/assets/icon/favicon_say.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=say"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designsay','SAY','{"loginInfo":{"title":"江苏安全技术职业学院城市轨道交通设计平台","loginPath":"/design/login?project=say","loginParam":"SAY","titleDistance":"-150px","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"026"},"projectIcon":"@/assets/icon/favicon_say.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=say"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('unittecsty','UNITTEC_STY','{"loginInfo":{"title":"轨道交通实训平台","loginPath":"/login?project=unittecsty","loginParam":"UNITTEC_STY","titleDistance":"-150px","titleIcon":"@/assets/icon/link_unittec.png","linkIcon":"@/assets/icon/link_unittec.png","titleImgWidth":"250px","navigationLogoWidth":"60px","navigationMarginLeft":"80px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_unittec.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=unittecsty"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designunittecsty','UNITTEC_STY','{"loginInfo":{"title":"轨道交通设计平台","loginPath":"/design/login?project=unittecsty","loginParam":"UNITTEC_STY","titleDistance":"-150px","titleIcon":"@/assets/icon/link_unittec.png","linkIcon":"@/assets/icon/link_unittec.png","titleImgWidth":"250px","navigationLogoWidth":"60px","navigationMarginLeft":"80px","systemType":"011"},"projectIcon":"@/assets/icon/favicon_unittec.png","thirdLogin":0,"bottomColumnOnlyCon":1,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":1,"projectLoginStyle":1,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=unittecsty"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('teaching','TEACHING','{"loginInfo":{"title":"教学通用实训平台","loginPath":"/login?project=teaching","loginParam":"TEACHING","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"028"},"projectIcon":"@/assets/icon/favicon.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/design/login?project=teaching"}',NOW(),NOW(),1);
insert into project_view(`mark_key`,`project`,`view_setting`,`create_time`,`update_time`,`status`) VALUES ('designteaching','TEACHING','{"loginInfo":{"title":"教学通用设计平台","loginPath":"/design/login?project=teaching","loginParam":"TEACHING","navigationLogoWidth":"40px","navigationMarginLeft":"60px","systemType":"028"},"projectIcon":"@/assets/icon/favicon.png","thirdLogin":0,"bottomColumnOnlyCon":0,"mapList":1,"caseHide":0,"versionBaseNoShow":0,"mainBodyNoShow":0,"projectLoginStyle":0,"noQrcode":0,"noSimulationQrCode":0,"registerCode":0,"contectUs":0,"contectInfo":{},"noCopyRight":0,"otherPlatformUrl":"/login?project=teaching"}',NOW(),NOW(),1);

View File

@ -1,4 +0,0 @@
alter table `joylink`.`project`
drop COLUMN `name_en`,
CHANGE COLUMN `simple_name` `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL comment '项目简称' AFTER `code`,
CHANGE COLUMN `name` `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL comment '项目描述' AFTER `name`;

View File

@ -1,11 +0,0 @@
create TABLE `org_project` (
`id` int NOT NULL AUTO_INCREMENT comment '主键',
`org_id` int NOT NULL comment '组织ID',
`project_code` varchar(255) NOT NULL comment '项目编码',
`creator_id` int DEFAULT NULL comment '创建者',
`create_time` datetime DEFAULT NULL comment '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `org_id_2` (`org_id`,`project_code`),
KEY `org_id` (`org_id`),
KEY `project_code` (`project_code`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

View File

@ -1,12 +0,0 @@
create TABLE `minio_file_info` (
`id` bigint NOT NULL AUTO_INCREMENT comment '主键',
`title` varchar(255) DEFAULT NULL comment '文件展示名称',
`directory` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL comment '文件夹',
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL comment '存放文件名',
`create_time` datetime DEFAULT NULL comment '创建时间',
`creator` bigint DEFAULT NULL comment '创建者',
`status` int DEFAULT NULL comment '状态',
PRIMARY KEY (`id`),
KEY `type` (`directory`),
KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

View File

@ -1,3 +0,0 @@
-- 新实训标添加组织id
alter table rts_published_training2 add column org_id bigint;

View File

@ -1,89 +0,0 @@
/*
Navicat Premium Data Transfer
Source Server : room
Source Server Type : MySQL
Source Server Version : 80029
Source Host : 192.168.3.233:3306
Source Schema : joylink
Target Server Type : MySQL
Target Server Version : 80029
File Encoding : 65001
Date: 12/10/2022 17:49:36
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for rts_paper_composition
-- ----------------------------
DROP TABLE IF EXISTS `rts_paper_composition`;
CREATE TABLE `rts_paper_composition` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '试卷蓝图id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '试卷蓝图名称',
`profile` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '试卷蓝图简介',
`map_id` bigint NOT NULL COMMENT '对应的mapId',
`org_id` bigint DEFAULT NULL COMMENT '组织id',
`start_time` datetime DEFAULT NULL COMMENT '启用起始时间',
`end_time` datetime DEFAULT NULL COMMENT '启用截止时间',
`valid_duration` int DEFAULT NULL COMMENT '完成考试有效最长时长单位min',
`pass_score` int DEFAULT NULL COMMENT '及格分',
`full_score` int DEFAULT NULL COMMENT '满分',
`update_id` bigint DEFAULT NULL COMMENT '最后更新用户id',
`creator_id` bigint DEFAULT NULL COMMENT '创建者id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`state` int DEFAULT NULL COMMENT '试卷蓝图状态1-正在编辑2-封存(不能修改)3-已经被使用(不能修改删除)定于见PaperCompositionState',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rts_paper_rule
-- ----------------------------
DROP TABLE IF EXISTS `rts_paper_rule`;
CREATE TABLE `rts_paper_rule` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '试卷规则定义id',
`pc_id` bigint NULL DEFAULT NULL COMMENT 'paper_compostion的id',
`type` int NULL DEFAULT NULL COMMENT '试题类型1-理论题2-实训题',
`subType` int NULL DEFAULT NULL COMMENT '规则类型:理论题(1-单选题2-多选题3-判断题);实训题(4-单操实训5-场景实训)',
`tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '筛选题目的标签,即根据标签来筛选题目;List<String>的json',
`amount` int NULL DEFAULT NULL COMMENT '该类型题目数量',
`score` int NULL DEFAULT NULL COMMENT '每题分值',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rts_paper_user
-- ----------------------------
DROP TABLE IF EXISTS `rts_paper_user`;
CREATE TABLE `rts_paper_user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户试卷id',
`user_id` bigint NOT NULL COMMENT '用户id',
`pc_id` bigint NOT NULL COMMENT '生成用户试卷的paper_compostion的id',
`score` int NULL DEFAULT NULL COMMENT '用户最终得分',
`start_time` datetime NULL DEFAULT NULL COMMENT '用户开始做题时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '用户结束做题时间',
`cause` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原因',
`create_time` datetime NULL DEFAULT NULL COMMENT '用户试卷生成时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rts_paper_user_question
-- ----------------------------
DROP TABLE IF EXISTS `rts_paper_user_question`;
CREATE TABLE `rts_paper_user_question` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户试卷试题结果id',
`pu_id` bigint NOT NULL COMMENT '用户试卷paper_user的id',
`org_id` bigint DEFAULT NULL COMMENT '组织id',
`type` int DEFAULT NULL COMMENT '试题类型1-理论题2-实训题',
`question_id` bigint NOT NULL COMMENT '试题id',
`state` int DEFAULT NULL COMMENT '试题状态1-未做(初始)2-答对3-答错4-时间到结束',
`tmp_answer` varchar(255) DEFAULT NULL COMMENT '临时答案内容',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=373 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,2 +0,0 @@
alter table `joylink`.`project`
ADD COLUMN `default_org` bigint NULL comment '默认组织ID' AFTER `server_setting`;

View File

@ -1,2 +0,0 @@
alter table `joylink`.`project_view`
drop index `mark_key`;

View File

@ -1,10 +0,0 @@
-- 实训草稿
rename TABLE draft_training2 to rts_draft_training2;
rename TABLE published_training2 to rts_published_training2;
-- 机构与项目关系
rename TABLE org_project to rts_org_project;
-- 项目
rename TABLE project to rts_project;
rename TABLE project_view to rts_project_view;
-- MINIO
rename TABLE minio_file_info to rts_minio_file_info;

View File

@ -1,8 +0,0 @@
alter table `joylink`.`rts_draft_training2`
ADD COLUMN `map_system` varchar(255) NULL comment '子系统' AFTER `map_id`,
ADD COLUMN `terminal` varchar(255) NULL comment '客户端标识' AFTER `map_system`;
alter table `joylink`.`rts_published_training2`
ADD COLUMN `map_system` varchar(255) NULL comment '子系统' AFTER `map_id`,
ADD COLUMN `terminal` varchar(255) NULL comment '客户端标识' AFTER `map_system`;

View File

@ -1 +0,0 @@
rename TABLE trace_training2 to rts_trace_training2;

View File

@ -1,92 +0,0 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for rts_permission
-- ----------------------------
DROP TABLE IF EXISTS `rts_permission`;
CREATE TABLE `rts_permission` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '权限id,对功能(system_ability)的管理',
`project_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '对应的projectCode',
`map_id` bigint NULL DEFAULT NULL COMMENT '对应线路的mapId',
`permission_type` int NULL DEFAULT NULL COMMENT '权限类型 0=项目1=线路2=线路功能',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '权限名称',
`des` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '权限描述',
`creator_id` bigint NULL DEFAULT NULL COMMENT '创建者id',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`is_sync` tinyint(1) NULL DEFAULT NULL COMMENT '是否同步的数据',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2159 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rts_permission_distribute
-- ----------------------------
DROP TABLE IF EXISTS `rts_permission_distribute`;
CREATE TABLE `rts_permission_distribute` (
`id` bigint NOT NULL AUTO_INCREMENT,
`map_id` bigint NULL DEFAULT NULL COMMENT '地图id',
`source_subject_id` bigint NULL DEFAULT NULL COMMENT '来源主体id',
`forever` tinyint(1) NULL DEFAULT NULL COMMENT '是否永久true/false',
`status` int NULL DEFAULT NULL COMMENT '权限分发状态,1-有效2-无效',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
`start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
`creator_id` bigint NULL DEFAULT NULL COMMENT '创建者id',
`dsc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注描述',
`is_sync` tinyint(1) NULL DEFAULT NULL COMMENT '是否同步的数据',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rts_permission_distribute_ref
-- ----------------------------
DROP TABLE IF EXISTS `rts_permission_distribute_ref`;
CREATE TABLE `rts_permission_distribute_ref` (
`id` bigint NOT NULL AUTO_INCREMENT,
`distribute_id` bigint NULL DEFAULT NULL COMMENT '分发id',
`permission_id` bigint NULL DEFAULT NULL COMMENT '权限id',
`amount` int NULL DEFAULT NULL COMMENT '总数量',
`remains` int NULL DEFAULT NULL COMMENT '剩余数量',
`is_sync` tinyint(1) NULL DEFAULT NULL COMMENT '是否同步数据',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8615 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rts_permission_subject
-- ----------------------------
DROP TABLE IF EXISTS `rts_permission_subject`;
CREATE TABLE `rts_permission_subject` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '权限主体id',
`permission_id` bigint NULL DEFAULT NULL COMMENT '访问权限id',
`subject_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '主体类型(user,org)',
`subject_id` bigint NULL DEFAULT NULL COMMENT '主体id',
`amount` int NULL DEFAULT NULL COMMENT '主体对该权限的总数量',
`remains` int NULL DEFAULT NULL COMMENT '主体对该权限的剩余数量',
`status` int NULL DEFAULT NULL COMMENT '权限主体状态,1Valid-有效2InValid-无效',
`forever` tinyint(1) NULL DEFAULT NULL COMMENT '是否永久1-true/0-false',
`start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`distribute_id` bigint NOT NULL COMMENT '来自对应的分发id(rts_permission_distribute)',
`parent_id` bigint NULL DEFAULT NULL COMMENT '父级id 数据来源rts_permission_distribute表source_subject_id字段',
`is_sync` tinyint(1) NULL DEFAULT NULL COMMENT '是否同步的数据',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 60903 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rts_permission_system_ability
-- ----------------------------
DROP TABLE IF EXISTS `rts_permission_system_ability`;
CREATE TABLE `rts_permission_system_ability` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '权限功能关联记录id',
`permission_id` bigint NULL DEFAULT NULL COMMENT '权限id',
`system_ability_id` bigint NULL DEFAULT NULL COMMENT '功能(system_ability)的id',
`is_sync` tinyint(1) NULL DEFAULT NULL COMMENT '是否同步的数据',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 58719 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,38 +0,0 @@
/*
Navicat Premium Data Transfer
Source Server : test-local
Source Server Type : MySQL
Source Server Version : 80029
Source Host : 192.168.3.233:3306
Source Schema : joylink
Target Server Type : MySQL
Target Server Version : 80029
File Encoding : 65001
Date: 31/10/2022 13:14:51
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for rts_map_function
-- ----------------------------
DROP TABLE IF EXISTS `rts_map_function`;
CREATE TABLE `rts_map_function` (
`id` bigint NOT NULL AUTO_INCREMENT,
`map_id` bigint NOT NULL COMMENT '地图id',
`name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名称',
`desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
`type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '仿真类型',
`param` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '仿真创建参数',
`creator_id` bigint NOT NULL COMMENT '创建人id',
`create_time` datetime NOT NULL COMMENT '创建时间',
`updater_id` bigint NULL DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 159 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '地图功能' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,12 +0,0 @@
CREATE TABLE `rts_draft_training2_progress` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`training_id` bigint DEFAULT NULL COMMENT '实训ID',
`description` text COMMENT '描述',
`create_time` datetime DEFAULT NULL,
`map_location_json` text COMMENT '地图定位',
`bg_scene_json` text COMMENT '背景JSON',
`step_json` text COMMENT '步骤列表json',
`scoring_rule_json` text COMMENT '打分规则列表json',
`creator_id` bigint DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='实训草稿存档表';

View File

@ -1,6 +0,0 @@
ALTER TABLE `joylink`.`rts_draft_training2`
ADD COLUMN `client` varchar(255) NULL COMMENT '客户端' AFTER `update_time`;
ALTER TABLE `joylink`.`rts_published_training2`
ADD COLUMN `client` varchar(255) NULL COMMENT '客户端' AFTER `org_id`;

View File

@ -1,3 +0,0 @@
ALTER TABLE `joylink`.`rts_project`
ADD COLUMN `map_id` int NULL COMMENT '地图ID' AFTER `default_org`,
ADD COLUMN `function_id` int NULL COMMENT '功能ID' AFTER `map_id`;

View File

@ -1,35 +0,0 @@
/*
Navicat Premium Data Transfer
Source Server : room
Source Server Type : MySQL
Source Server Version : 80029
Source Host : 192.168.3.233:3306
Source Schema : joylink
Target Server Type : MySQL
Target Server Version : 80029
File Encoding : 65001
Date: 06/12/2022 09:53:18
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for rts_iscs_model_data
-- ----------------------------
DROP TABLE IF EXISTS `rts_iscs_model_data`;
CREATE TABLE `rts_iscs_model_data` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'iscs数据模型id',
`system` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'iscs一级系统(如FAS、PIS、AFC等)',
`view` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'iscs二级视图',
`place` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '场所(车站、变电所、停车场等)',
`data` blob NULL COMMENT '场所整个所有的模型的数据',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,19 +0,0 @@
CREATE TABLE `rts_training2_rule` (
`id` bigint NOT NULL AUTO_INCREMENT,
`sim_type` varchar(255) DEFAULT NULL COMMENT '仿真类型',
`line_code` varchar(255) DEFAULT NULL COMMENT '线路编码',
`device_rule` varchar(255) DEFAULT NULL COMMENT '设备列表规则',
`client` varchar(255) DEFAULT NULL COMMENT '客户端',
`name` varchar(255) DEFAULT NULL COMMENT '实训名称格式',
`description` varchar(255) DEFAULT NULL COMMENT '实训描述',
`type` varchar(255) DEFAULT NULL COMMENT '实训类型',
`labels` varchar(255) DEFAULT NULL COMMENT '实训标签',
`scene_rule` varchar(255) DEFAULT NULL COMMENT '背景生成规则',
`steps` text COMMENT '步骤列表',
`failure_rule` text COMMENT '失败规则',
`creator_id` bigint DEFAULT NULL COMMENT '创建者ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`location_rule` varchar(255) DEFAULT NULL COMMENT '地图定位规则',
PRIMARY KEY (`id`),
KEY `sim_type` (`sim_type`)
) ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

View File

@ -1,16 +0,0 @@
-- 用户答题生成对应的规则id
ALTER TABLE `rts_paper_user_question`
ADD COLUMN `rule_id` bigint not NULL COMMENT '试卷规则rts_paper_rule的id' AFTER `pu_id`;
ALTER TABLE `rts_paper_user_question`
ADD COLUMN `sub_type` int not NULL COMMENT '规则类型:理论题(1-单选题2-多选题3-判断题);实训题(4-单操实训5-场景实训)' AFTER `type`;
ALTER TABLE `rts_paper_user_question` MODIFY COLUMN tmp_answer longtext;
ALTER TABLE `rts_paper_rule` ADD COLUMN scene_detail VARCHAR(1000) COMMENT '场景实训考试的规则';
ALTER TABLE `rts_paper_user_question`
ADD COLUMN `scene_cosplay_id` varchar(10) COMMENT '场景实训考试扮演的角色';

View File

@ -1,2 +0,0 @@
ALTER TABLE `joylink`.`rts_map_function`
ADD COLUMN `bg_url` varchar(255) NULL COMMENT '背景图片的url' AFTER `desc`;

View File

@ -1,11 +0,0 @@
CREATE TABLE `rts_map_function_template` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(64) COLLATE utf8mb4_general_ci NOT NULL,
`map_function_param` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '地图功能参数',
`assistant_param` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '辅助参数(如默认角色类型)',
`create_time` datetime NOT NULL,
`creator_id` bigint NOT NULL,
`update_time` datetime DEFAULT NULL,
`updater_id` bigint DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='地图功能模板';

View File

@ -1,3 +0,0 @@
ALTER TABLE `joylink`.`rts_published_training2` ADD COLUMN `shared` int NULL DEFAULT 0 COMMENT '0 不共享1共享' AFTER `client`;
update rts_published_training2 SET shared = 1,org_id = null WHERE creator_id = 0 ;

View File

@ -1,14 +0,0 @@
CREATE TABLE `rts_voice_discriminate_config` (
`id` bigint NOT NULL AUTO_INCREMENT,
`key_word_rules` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '关键字正则',
`params_rules` json DEFAULT NULL COMMENT ' /**\r\n * 所需参数 List\r\n * {@link ParamExtractRule}\r\n */',
`exec_operate_rule` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ' /**\r\n * 执行指令(系统操作指令)\r\n * {@link OperateRule}\r\n */',
`reply_rule` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ' /**\r\n * 回复指令(系统指令操作完毕或者无系统指令时,交互回复)\r\n * {@link ReplyRule}\r\n */',
`map_id` bigint DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`operate_id` bigint DEFAULT NULL,
`describe` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '描述',
`status` int DEFAULT NULL COMMENT '状态0=编辑,1=使用',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

View File

@ -1,13 +0,0 @@
CREATE TABLE `rts_conversation_group_info` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '群组名称',
`map_id` bigint DEFAULT NULL COMMENT '所属地图ID',
`project_code` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所属项目',
`leader_id` varchar(12) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '群主角色ID',
`member_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '群组用户角色ID',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`creator_id` bigint DEFAULT NULL,
`status` int DEFAULT NULL COMMENT '状态0=编辑,1=使用',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='群组信息设置';

View File

@ -0,0 +1,41 @@
package club.joylink.rtss.aop;
import club.joylink.rtss.services.cgy.CgyStatsService;
import club.joylink.rtss.simulation.cbtc.SimulationService;
import club.joylink.rtss.vo.client.cgy.CgyThirdPartyLoginInfoVO;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
@Aspect
@Slf4j
@Component
public class CgyViewAspect {
private CgyStatsService cgyStatsService;
private RestTemplate restTemplate;
private SimulationService simulationService;
@Autowired
public CgyViewAspect(CgyStatsService cgyStatsService, RestTemplate restTemplate,
SimulationService simulationService) {
this.cgyStatsService = cgyStatsService;
this.restTemplate = restTemplate;
this.simulationService = simulationService;
}
/**
* 成工院第三方登录接口被调用后加一个浏览量并同步给虚仿平台
*/
@AfterReturning(value = "execution(public * club.joylink.rtss.controller.LoginController.cgyThirdPartyLogin(..))")
public void addViewCount(JoinPoint joinPoint) {
Object arg = joinPoint.getArgs()[0];
CgyThirdPartyLoginInfoVO loginInfoVO = (CgyThirdPartyLoginInfoVO) arg;
cgyStatsService.updateView(loginInfoVO.getAppId());
}
}

View File

@ -0,0 +1,32 @@
package club.joylink.rtss.bo.cgy;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
/**
* 成工院虚仿平台对接统计数据
*/
@Getter
@Setter
@RequiredArgsConstructor
public class CgyStatsBO {
private final String appId;
private final String appSecret;
private final Long FunctionId;
//统计数据是否发生变化
private AtomicBoolean change;
//浏览量
private AtomicLong view;
//实训人次
private AtomicLong visitor;
//实训人数
private final Set<Long> userSet = new HashSet<>();
//实训时长/s
private AtomicLong duration;
}

View File

@ -0,0 +1,101 @@
package club.joylink.rtss.bo.race;
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
import club.joylink.rtss.vo.race.RaceApplication;
import club.joylink.rtss.vo.race.RaceApplication.ResultNode;
import club.joylink.rtss.vo.race.RaceApplication.ResultNode.Builder;
import club.joylink.rtss.vo.race.RaceTask;
import club.joylink.rtss.vo.race.RaceTask.RacePaperSingleModuleGroupTask;
import club.joylink.rtss.vo.race.RaceTask.RaceTaskChildVO;
import club.joylink.rtss.vo.race.RaceTask.RaceTaskChildVO.ChildNodeType;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Data;
@Data
public class RaceContent {
private long userId;
private long paperId;
private int moduleId;
/**
* 训练使用到的任务树
*/
private RaceTask.RacePaperSingleModuleGroupTask taskTree;
/**
* 训练结果
*/
private RaceApplication.RacePracticeResult.Builder result;
/**
* 结果节点映射仅为了通过ID找节点
*/
private Map<Long, Builder> resultNodeMap = new HashMap<>();
public RaceContent(long userId, long paperId, int moduleId,
RacePaperSingleModuleGroupTask taskTree) {
this.userId = userId;
this.paperId = paperId;
this.moduleId = moduleId;
this.taskTree = taskTree;
this.result = RaceApplication.RacePracticeResult.newBuilder();
result.setCustomModuleId(taskTree.getCustomModuleId());
Builder rootNode = ResultNode.newBuilder();
buildResultNodeTree(taskTree.getChildList(), rootNode);
result.addAllNode(rootNode.getChildList());
// for (RaceTaskChildVO childVO : taskTree.getChildList()) {
// Builder nodeBuilder = result.addNodeBuilder();
// nodeBuilder.setName(childVO.getName());
// nodeBuilder.setType(childVO.getNodeType());
// nodeBuilder.setSceneId(childVO.getSceneId());
// //构建任务映射
// if (ChildNodeType.TASK == childVO.getNodeType()) {
// resultNodeMap.put(childVO.getId(), nodeBuilder);
// }
// //递归
// buildResultNodeTree(childVO, nodeBuilder);
// }
}
public Builder getResultNode(long taskId) {
Builder builder = resultNodeMap.get(taskId);
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(builder,
String.format("任务[%d]不存在", taskId));
return builder;
}
private void buildResultNodeTree(List<RaceTaskChildVO> children, Builder parentNode) {
for (RaceTaskChildVO childVO : children) {
//构建对应的结果Node
Builder nodeBuilder = parentNode.addChildBuilder();
nodeBuilder.setName(childVO.getName());
nodeBuilder.setType(childVO.getNodeType());
nodeBuilder.setSceneId(childVO.getSceneId());
//构建任务映射
if (ChildNodeType.TASK == childVO.getNodeType()) {
resultNodeMap.put(childVO.getId(), nodeBuilder);
}
//递归
buildResultNodeTree(childVO.getChildrenList(), nodeBuilder);
}
}
// private void buildResultNodeTree(RaceTaskChildVO children, Builder parentNode) {
// for (RaceTaskChildVO childVO : children.getChildrenList()) {
// //构建对应的结果Node
// Builder nodeBuilder = parentNode.addChildBuilder();
// nodeBuilder.setName(childVO.getName());
// nodeBuilder.setType(childVO.getNodeType());
// nodeBuilder.setSceneId(childVO.getSceneId());
// //构建任务映射
// if (ChildNodeType.TASK == childVO.getNodeType()) {
// resultNodeMap.put(childVO.getId(), nodeBuilder);
// }
// //递归
// buildResultNodeTree(childVO, nodeBuilder);
// }
// }
}

View File

@ -6,6 +6,7 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import com.hubspot.jackson.datatype.protobuf.ProtobufModule;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -17,36 +18,40 @@ import java.time.format.DateTimeFormatter;
@Configuration
public class LocalDateTimeSerializerConfig {
/**
* Date格式化字符串
*/
private static final String DATE_FORMAT = "yyyy-MM-dd";
/**
* DateTime格式化字符串
*/
private static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* Time格式化字符串
*/
private static final String TIME_FORMAT = "HH:mm:ss";
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
return builder -> {
builder.serializerByType(LocalDateTime.class,
new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DATETIME_FORMAT)));
builder.deserializerByType(LocalDateTime.class,
new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DATETIME_FORMAT)));
/**
* Date格式化字符串
*/
private static final String DATE_FORMAT = "yyyy-MM-dd";
/**
* DateTime格式化字符串
*/
private static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* Time格式化字符串
*/
private static final String TIME_FORMAT = "HH:mm:ss";
builder.serializerByType(LocalDate.class,
new LocalDateSerializer(DateTimeFormatter.ofPattern(DATE_FORMAT)));
builder.deserializerByType(LocalDate.class,
new LocalDateDeserializer(DateTimeFormatter.ofPattern(DATE_FORMAT)));
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
return builder -> {
builder.modulesToInstall(ProtobufModule.class);
builder.failOnUnknownProperties(false);
builder.serializerByType(LocalDateTime.class,
new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DATETIME_FORMAT)));
builder.deserializerByType(LocalDateTime.class,
new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DATETIME_FORMAT)));
builder.serializerByType(LocalTime.class,
new LocalTimeSerializer(DateTimeFormatter.ofPattern(TIME_FORMAT)));
builder.deserializerByType(LocalTime.class,
new LocalTimeDeserializer(DateTimeFormatter.ofPattern(TIME_FORMAT)));
};
}
builder.serializerByType(LocalDate.class,
new LocalDateSerializer(DateTimeFormatter.ofPattern(DATE_FORMAT)));
builder.deserializerByType(LocalDate.class,
new LocalDateDeserializer(DateTimeFormatter.ofPattern(DATE_FORMAT)));
builder.serializerByType(LocalTime.class,
new LocalTimeSerializer(DateTimeFormatter.ofPattern(TIME_FORMAT)));
builder.deserializerByType(LocalTime.class,
new LocalTimeDeserializer(DateTimeFormatter.ofPattern(TIME_FORMAT)));
};
}
}

View File

@ -14,68 +14,72 @@ import java.util.List;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Autowired
private AuthenticateInterceptor authenticateInterceptor;
@Autowired
private AuthenticateInterceptor authenticateInterceptor;
@Autowired
private LicenseInterceptor licenseInterceptor;
@Autowired
private LicenseInterceptor licenseInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
List<String> licenseWhiteList = new ArrayList<>();
licenseWhiteList.add("/api/license/validate");
licenseWhiteList.add("/api/license/local");
licenseWhiteList.add("/api/licensing/**");
registry.addInterceptor(licenseInterceptor).excludePathPatterns(licenseWhiteList);
List<String> whiteList = new ArrayList<>();
whiteList.add("/doc/**");
whiteList.add("/api/login/**");
whiteList.add("/api/wxpat/**");
whiteList.add("/api/sms/**");
whiteList.add("/api/register/**");
whiteList.add("/api/userinfo/**");
whiteList.add("/api/wechatpay/receive");
whiteList.add("/api/alipay/receive");
whiteList.add("/api/applet/**");
whiteList.add("/api/wxauth/**");
whiteList.add("/api/distribute/permission");
whiteList.add("/api/v1/jointTraining/permission");
whiteList.add("/api/jointTraining/permission");
whiteList.add("/api/user/bind/wm");
// 运行图工具
whiteList.add("/api/rpTools/**");
whiteList.add("/api/license/validate");
whiteList.add("/api/license/local");
// 微信回调接口
whiteList.add("/api/wechatPay/receive");
// 成都工业留言板
whiteList.add("/api/learn/cgy/message/create");
whiteList.add("/api/learn/cgy/{messageId}/comment");
whiteList.add("/api/learn/{postId}/message/pagedQuery/postId");
whiteList.add("GET /api/learn/{messageId}/comment");
whiteList.add("/api/learn/cgy/updateMessageTime");
// 成都工业使用记录
whiteList.add("/api/cgy/**");
//项目域名查询
whiteList.add("/api/projectServer/project/{project}");
whiteList.add("/test/simulation/**");
whiteList.add("/api/test/**");
whiteList.add("/api/project/viewSetting/simple/all");
whiteList.add("/api/project/viewSetting/project/{project}");
//旧数据处理
whiteList.add("/api/org/oldData/handle");
whiteList.add("/api/mapFunction/oldDataHandle");
whiteList.add("/api/v2/paper/composition/oldData/handle");
whiteList.add("/api/user/sync");
whiteList.add("/dataHandle");
@Override
public void addInterceptors(InterceptorRegistry registry) {
List<String> licenseWhiteList = new ArrayList<>();
licenseWhiteList.add("/api/license/validate");
licenseWhiteList.add("/api/license/local");
licenseWhiteList.add("/api/licensing/**");
licenseWhiteList.add("/api/project/viewSetting/simple/all");
licenseWhiteList.add("/api/project/viewSetting/project/{project}");
registry.addInterceptor(licenseInterceptor).excludePathPatterns(licenseWhiteList);
List<String> whiteList = new ArrayList<>();
whiteList.add("/doc/**");
whiteList.add("/api/login/**");
whiteList.add("/api/wxpat/**");
whiteList.add("/api/sms/**");
whiteList.add("/api/register/**");
whiteList.add("/api/userinfo/**");
whiteList.add("/api/wechatpay/receive");
whiteList.add("/api/alipay/receive");
whiteList.add("/api/applet/**");
whiteList.add("/api/wxauth/**");
whiteList.add("/api/distribute/permission");
whiteList.add("/api/v1/jointTraining/permission");
whiteList.add("/api/jointTraining/permission");
whiteList.add("/api/user/bind/wm");
// 运行图工具
whiteList.add("/api/rpTools/**");
whiteList.add("/api/license/validate");
whiteList.add("/api/license/local");
// 微信回调接口
whiteList.add("/api/wechatPay/receive");
// 成都工业留言板
whiteList.add("/api/learn/cgy/message/create");
whiteList.add("/api/learn/cgy/{messageId}/comment");
whiteList.add("/api/learn/{postId}/message/pagedQuery/postId");
whiteList.add("GET /api/learn/{messageId}/comment");
whiteList.add("/api/learn/cgy/updateMessageTime");
// 成都工业使用记录
whiteList.add("/api/cgy/**");
//项目域名查询
whiteList.add("/api/projectServer/project/{project}");
whiteList.add("/test/simulation/**");
whiteList.add("/api/test/**");
whiteList.add("/api/project/viewSetting/simple/all");
whiteList.add("/api/project/viewSetting/project/{project}");
//旧数据处理
whiteList.add("/api/org/oldData/handle");
whiteList.add("/api/mapFunction/oldDataHandle");
whiteList.add("/api/v2/paper/composition/oldData/handle");
whiteList.add("/api/user/sync");
whiteList.add("/dataHandle");
//modbus测试
whiteList.add("/api/test/modbus/writeCoil");
registry.addInterceptor(authenticateInterceptor).excludePathPatterns(whiteList);
}
registry.addInterceptor(authenticateInterceptor).excludePathPatterns(whiteList);
}
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new LocalDateConverter());
WebMvcConfigurer.super.addFormatters(registry);
}
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new LocalDateConverter());
WebMvcConfigurer.super.addFormatters(registry);
}
}

View File

@ -0,0 +1,11 @@
package club.joylink.rtss.constants;
public interface ProjectCode {
String THAILAND_SANDBOX = "THAILAND_SANDBOX";
String SR_SANDBOX = "SR_SANDBOX";
String NGY_SAND_TABLE = "NGY_SAND_TABLE";
String CDGXY = "CDGXY";
String CGY = "CGY";
}

View File

@ -1,9 +1,8 @@
package club.joylink.rtss.constants;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import lombok.Getter;
/**
* 项目设备类型
@ -11,80 +10,139 @@ import java.util.List;
@Getter
public enum ProjectDeviceType {
/* -----------plc device start---------- */
/** 区段 */
SECTION,
/** 道岔 */
SWITCH,
/** 信号机 */
SIGNAL,
/** 屏蔽门控制柜 */
PSC,
/** 屏蔽门 */
PSD,
/** 端头控制盒(屏蔽门控制盒) */
PSL,
/** IBP盘 */
IBP,
/** PLC网关 */
PLC_GATEWAY,
/** 单元控制器 */
DCU,
/** UDP下位机 */
UDP_LOW,
/** UDP客户端 */
UDP_CLIENT,
/** 列车 */
TRAIN,
/* -----------plc device end---------- */
/* -----------plc device start---------- */
/**
* 区段
*/
SECTION,
/**
* 道岔
*/
SWITCH,
/**
* 信号机
*/
SIGNAL,
/**
* 屏蔽门控制柜
*/
PSC,
/**
* 屏蔽门
*/
PSD,
/**
* 端头控制盒屏蔽门控制盒
*/
PSL,
/**
* IBP盘
*/
IBP,
/**
* PLC网关
*/
PLC_GATEWAY,
/**
* 单元控制器
*/
DCU,
/**
* UDP下位机
*/
UDP_LOW,
/**
* UDP客户端
*/
UDP_CLIENT,
/**
* 列车
*/
TRAIN,
/* -----------plc device end---------- */
/* -----------client device start---------- */
/** 教员机instructor machine */
IM,
/** 调度工作站control workstation */
CW,
/** 现地工作站local workstation */
LW,
/** 联锁工作站interlock workstation */
ILW,
/** 虚拟综合后备盘(Integrated Back-Up Panel) */
VR_IBP,
/** 大屏工作站large screen workstation */
LSW,
/** 列车驾驶终端 */
DRIVE,
/** 虚拟站台屏蔽门终端 */
VR_PSD,
/** 现地综合监控 */
ISCS_LW,
/** 中心综合监控 */
ISCS_CW,
/** 车辆段终端 */
DEPOT,
/** 虚拟CCTV */
CCTV,
/** 虚拟电子沙盘 */
SANDBOX,
/** 派班工作站 */
SCHEDULING,
/* -----------client device start---------- */
/**
* 教员机instructor machine
*/
IM,
/**
* 调度工作站control workstation
*/
CW,
/**
* 现地工作站local workstation
*/
LW,
/**
* 联锁工作站interlock workstation
*/
ILW,
/**
* 虚拟综合后备盘(Integrated Back-Up Panel)
*/
VR_IBP,
/**
* 大屏工作站large screen workstation
*/
LSW,
/**
* 列车驾驶终端
*/
DRIVE,
/**
* 虚拟站台屏蔽门终端
*/
VR_PSD,
/**
* 现地综合监控
*/
ISCS_LW,
/**
* 中心综合监控
*/
ISCS_CW,
/**
* 车辆段终端
*/
DEPOT,
/**
* 虚拟CCTV
*/
CCTV,
/**
* 虚拟电子沙盘
*/
SANDBOX,
/**
* 派班工作站
*/
SCHEDULING,
PIS_STAND,
PIS_TRAIN,
/* -----------client device end---------- */
;
PIS_STAND,
PIS_TRAIN,
PIS,
TMS,
/* -----------client device end---------- */
/* -----------Other start---------- */
/**
* 沙盘运行计划
*/
SAND_TABLE_RUN_PLAN;
public static List<ProjectDeviceType> PlcDeviceList() {
return Arrays.asList(PLC_GATEWAY,
PSC,
PSD,
PSL,
IBP,
SECTION,
SWITCH,
SIGNAL,
DCU,
UDP_LOW,
UDP_CLIENT,
TRAIN);
}
public static List<ProjectDeviceType> PlcDeviceList() {
return Arrays.asList(PLC_GATEWAY,
PSC,
PSD,
PSL,
IBP,
SECTION,
SWITCH,
SIGNAL,
DCU,
UDP_LOW,
UDP_CLIENT,
TRAIN,
SAND_TABLE_RUN_PLAN);
}
}

View File

@ -281,14 +281,14 @@ public class CompanyController {
return iOrgScoringRuleService.getOrgScoringRuleDetails(ruleId);
}
/**
* 获取评价规则的评分结果
*/
@GetMapping("/orgScoringRule/score/{orgId}/{schoolYear}/{term}")
public List<OrgScoringResultVO> score(@PathVariable Long orgId, @PathVariable String schoolYear,
@PathVariable Integer term, @RequestAttribute LoginUserInfoVO loginInfo) {
return iOrgScoringRuleService.score(orgId, schoolYear, term, loginInfo);
}
// /**
// * 获取评价规则的评分结果
// */
// @GetMapping("/orgScoringRule/score/{orgId}/{schoolYear}/{term}")
// public List<OrgScoringResultVO> score(@PathVariable Long orgId, @PathVariable String schoolYear,
// @PathVariable Integer term, @RequestAttribute LoginUserInfoVO loginInfo) {
// return iOrgScoringRuleService.score(orgId, schoolYear, term, loginInfo);
// }
/**
* 删除评分规则

View File

@ -1,105 +0,0 @@
package club.joylink.rtss.controller;
import club.joylink.rtss.constants.Project;
import club.joylink.rtss.controller.org.OrgProjectController;
import club.joylink.rtss.controller.paper.PaperCompositionController;
import club.joylink.rtss.controller.publish.MapFunctionController;
import club.joylink.rtss.controller.user.UserController;
import club.joylink.rtss.dao.MapDataDAO;
import club.joylink.rtss.dao.MapInfoDAO;
import club.joylink.rtss.dao.OrgDAO;
import club.joylink.rtss.entity.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 2023.01.10版本处理接口数据
*/
@RestController
@RequestMapping("/dataHandle")
public class DataHandleController {
@Autowired
private MapInfoDAO mapInfoDAO;
@Autowired
private MapDataDAO mapDataDAO;
@Autowired
private OrgProjectController orgProjectController;
@Autowired
private MapFunctionController mapFunctionController;
@Autowired
private PaperCompositionController paperCompositionController;
@Autowired
private UserController userController;
@Autowired
private OrgDAO orgDAO;
@Transactional(rollbackFor = Exception.class)
@PostMapping
public List<String> handle(HttpServletResponse response) {
correctMapVersion();
confirmDefaultOrgExist();
orgProjectController.oldDataHandle();
List<String> msgList = new ArrayList<>(mapFunctionController.oldDataHandle());
msgList.addAll(paperCompositionController.oldDataHandle());
msgList.addAll(userController.sync());
return msgList;
}
/**
* 纠正地图信息表的版本字段使用地图数据的最后一个版本
*/
private void correctMapVersion() {
MapInfoExample mapInfoExample = new MapInfoExample();
mapInfoExample.createCriteria().andStatusEqualTo("1");
List<MapInfo> onlineMaps = mapInfoDAO.selectByExample(mapInfoExample);
Map<Long, MapInfo> onlineMapMap = onlineMaps.stream().collect(Collectors.toMap(MapInfo::getId, Function.identity()));
MapDataExample mapDataExample = new MapDataExample();
mapDataExample.createCriteria().andMapIdIn(new ArrayList<>(onlineMapMap.keySet()));
List<MapData> onlineMapDataList = mapDataDAO.selectByExample(mapDataExample);
onlineMapDataList.stream()
.collect(Collectors.toMap(MapData::getMapId, MapData::getVersion, (d1, d2) -> {
float v1 = Float.parseFloat(d1);
float v2 = Float.parseFloat(d2);
return v1 > v2 ? d1 : d2;
})).forEach((mapId, version) -> {
MapInfo mapInfo = onlineMapMap.get(mapId);
mapInfo.setVersion(version);
mapInfoDAO.updateByPrimaryKey(mapInfo);
});
}
private void confirmDefaultOrgExist() {
OrgExample orgExample = new OrgExample();
orgExample.createCriteria().andNameEqualTo("默认组织");
if (orgDAO.countByExample(orgExample) != 0) {
return;
}
Org org = new Org();
org.setName("默认组织");
org.setProjectCode(Project.DEFAULT.name());
org.setStatus("1");
org.setCreateTime(LocalDateTime.now());
org.setCreatorId(1L);
orgDAO.insert(org);
org.setRootId(org.getId());
orgDAO.updateByPrimaryKey(org);
}
}

View File

@ -7,137 +7,148 @@ import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.LoginUserInfoVO;
import club.joylink.rtss.vo.client.LoginStatusVO;
import club.joylink.rtss.vo.client.LoginUserVO;
import club.joylink.rtss.vo.client.cgy.CgyThirdPartyLoginInfoVO;
import club.joylink.rtss.vo.client.validGroup.LoginInfoCheck;
import club.joylink.rtss.vo.client.validGroup.ThirdLoginInfoCheck;
import javax.validation.constraints.NotBlank;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/login")
public class LoginController {
@Autowired
private IAuthenticateService iAuthenticateService;
@Autowired
private IAuthenticateService iAuthenticateService;
@PostMapping(path = "/third")
public String thirdPartyLogin(@RequestBody @Validated(ThirdLoginInfoCheck.class) LoginUserVO loginInfo) {
return this.iAuthenticateService.thirdPartyLogin(loginInfo);
}
@PostMapping("/cgy/third")
public String cgyThirdPartyLogin(@RequestBody @Validated CgyThirdPartyLoginInfoVO loginInfo) {
return this.iAuthenticateService.cgyThirdPartyLogin(loginInfo);
}
/**
* 获取微信小程序登陆二维码
*/
@GetMapping(path = "/wmurl")
public LoginStatusVO getWmLoginUrl(@NotBlank String clientId, @NotBlank String secret,
String project, @RequestParam(required = false) String deviceCode) {
try {
return this.iAuthenticateService.getWmLoginUrl(clientId, secret, project, deviceCode);
} catch (BaseException e) {
throw e;
} catch (Exception e) {
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("获取登录二维码失败");
}
}
@PostMapping(path = "/third")
public String thirdPartyLogin(
@RequestBody @Validated(ThirdLoginInfoCheck.class) LoginUserVO loginInfo) {
return this.iAuthenticateService.thirdPartyLogin(loginInfo);
}
/**
* 用户微信小程序扫登陆二维码
*/
@GetMapping(path = "/scan/wmLoginUrl")
public AccountVO scanWmLoginQrCode(String code, String state) {
return this.iAuthenticateService.scanWmLoginQrCode(code, state);
/**
* 获取微信小程序登陆二维码
*/
@GetMapping(path = "/wmurl")
public LoginStatusVO getWmLoginUrl(@NotBlank String clientId, @NotBlank String secret,
String project, @RequestParam(required = false) String deviceCode) {
try {
return this.iAuthenticateService.getWmLoginUrl(clientId, secret, project, deviceCode);
} catch (BaseException e) {
throw e;
} catch (Exception e) {
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("获取登录二维码失败");
}
}
/**
* 微信小程序确认登陆接口
*/
@PostMapping(path = "/wm")
public void wmConfirmLogin(String code, String state) {
this.iAuthenticateService.wmConfirmClientLogin(code, state);
}
/**
* 用户微信小程序扫登陆二维码
*/
@GetMapping(path = "/scan/wmLoginUrl")
public AccountVO scanWmLoginQrCode(String code, String state) {
return this.iAuthenticateService.scanWmLoginQrCode(code, state);
}
@PostMapping()
public String loginWithPwd(@RequestBody @Validated(LoginInfoCheck.class) LoginUserVO loginUser) {
return iAuthenticateService.loginWithPwd(loginUser);
}
/**
* 微信小程序确认登陆接口
*/
@PostMapping(path = "/wm")
public void wmConfirmLogin(String code, String state) {
this.iAuthenticateService.wmConfirmClientLogin(code, state);
}
@GetMapping("/preLogout")
public void preLogout(String token) {
this.iAuthenticateService.preLogout(token);
}
@PostMapping()
public String loginWithPwd(@RequestBody @Validated(LoginInfoCheck.class) LoginUserVO loginUser) {
return iAuthenticateService.loginWithPwd(loginUser);
}
@GetMapping(path = "/logout")
public void logout(String token) {
this.iAuthenticateService.logout(token);
}
@GetMapping("/preLogout")
public void preLogout(String token) {
this.iAuthenticateService.preLogout(token);
}
@GetMapping(path = "/checkStatus")
public LoginStatusVO checkStatus(@NotBlank String sessionId) {
return iAuthenticateService.checkStatus(sessionId);
}
@GetMapping(path = "/logout")
public void logout(String token) {
this.iAuthenticateService.logout(token);
}
/**
* 获取用户信息 - 通过token
*
* @param token
* @return
*/
@GetMapping(path = "/getUserInfo")
public AccountVO getUserInfo(String token) {
LoginUserInfoVO loginUserInfoVO = this.iAuthenticateService.getLoginUserInfoByToken(token);
System.out.println(String.format("%s ====%s =========== from getUserInfo",loginUserInfoVO,loginUserInfoVO.getAccountVO().getCompanyId()));
return loginUserInfoVO.getAccountVO();
}
@GetMapping(path = "/checkStatus")
public LoginStatusVO checkStatus(@NotBlank String sessionId) {
return iAuthenticateService.checkStatus(sessionId);
}
/**
* 获取用户登录信息包含登录的项目/客户端等
*
* @param token
* @return
*/
@GetMapping("/loginUserInfo")
public LoginUserInfoVO getLoginUserInfo(String token) {
return this.iAuthenticateService.getLoginUserInfoByToken(token);
}
/**
* 获取用户信息 - 通过token
*
* @param token
* @return
*/
@GetMapping(path = "/getUserInfo")
public AccountVO getUserInfo(String token) {
LoginUserInfoVO loginUserInfoVO = this.iAuthenticateService.getLoginUserInfoByToken(token);
return loginUserInfoVO.getAccountVO();
}
/**
* <玖琏科技>微信小程序code换取token
*/
@GetMapping(path = "/wm/token")
public String getTokenByWmCode(String code) {
return this.iAuthenticateService.getTokenByWmCode(code);
}
/**
* 获取用户登录信息包含登录的项目/客户端等
*
* @param token
* @return
*/
@GetMapping("/loginUserInfo")
public LoginUserInfoVO getLoginUserInfo(String token) {
return this.iAuthenticateService.getLoginUserInfoByToken(token);
}
/**
* 到那儿了小程序code换token
*
* @param code
* @return
*/
@GetMapping(path = "/wm2/token")
public String getTokenByWmCode2(String code) {
return this.iAuthenticateService.getTokenByWmCode2(code);
}
/**
* <玖琏科技>微信小程序code换取token
*/
@GetMapping(path = "/wm/token")
public String getTokenByWmCode(String code) {
return this.iAuthenticateService.getTokenByWmCode(code);
}
/**
* 郑州共赢小程序code换token
*
* @param code
* @return
*/
@GetMapping(path = "/wm/zzww/token")
public String getTokenByWmCode3(String code) {
return this.iAuthenticateService.getTokenByWmCode3(code);
}
/**
* 到那儿了小程序code换token
*
* @param code
* @return
*/
@GetMapping(path = "/wm2/token")
public String getTokenByWmCode2(String code) {
return this.iAuthenticateService.getTokenByWmCode2(code);
}
/**
* token是否过期
*/
@GetMapping(path = "/{token}/isExpired")
public boolean isTokenExpired(@PathVariable String token) {
return this.iAuthenticateService.isTokenExpired(token);
}
/**
* 郑州共赢小程序code换token
*
* @param code
* @return
*/
@GetMapping(path = "/wm/zzww/token")
public String getTokenByWmCode3(String code) {
return this.iAuthenticateService.getTokenByWmCode3(code);
}
/**
* token是否过期
*/
@GetMapping(path = "/{token}/isExpired")
public boolean isTokenExpired(@PathVariable String token) {
return this.iAuthenticateService.isTokenExpired(token);
}
}

View File

@ -2,11 +2,14 @@ package club.joylink.rtss.controller;
import club.joylink.rtss.services.draftData.DraftMapDataHandleService;
import club.joylink.rtss.services.publishData.PublishMapDataHandler;
import java.util.LinkedHashMap;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.LinkedHashMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 地图数据处理
@ -16,31 +19,40 @@ import java.util.LinkedHashMap;
@RequestMapping("/api/mapData/handle")
public class MapDataHandleController {
@Autowired
private DraftMapDataHandleService draftMapDataHandleService;
@Autowired
private PublishMapDataHandler publishMapDataHandler;
@Autowired
private DraftMapDataHandleService draftMapDataHandleService;
@Autowired
private PublishMapDataHandler publishMapDataHandler;
@PutMapping("")
public void dataHandle() {
this.publishMapDataHandler.dataHandle();
}
@PutMapping("")
public void dataHandle() {
this.publishMapDataHandler.dataHandle();
}
@PutMapping("/xian3")
public void overlapSetHandle() {
this.publishMapDataHandler.xian3Handle();
}
@PutMapping("/xian3")
public void overlapSetHandle() {
this.publishMapDataHandler.xian3Handle();
}
@PutMapping("/signalSd")
public void signalShowDirection() {
this.publishMapDataHandler.signalShowDirection();
}
@PutMapping("/signalSd")
public void signalShowDirection() {
this.publishMapDataHandler.signalShowDirection();
}
/**
* 批量修改线路数据和ISCS的车站名
*/
@PutMapping("/{mapId}/stationName/mapAndIscs")
public void changeStationName(@PathVariable long mapId, @RequestBody LinkedHashMap<String, String> nameMap) {
this.publishMapDataHandler.changeStationName(mapId, nameMap);
}
/**
* 批量修改线路数据和ISCS的车站名
*/
@PutMapping("/{mapId}/stationName/mapAndIscs")
public void changeStationName(@PathVariable long mapId,
@RequestBody LinkedHashMap<String, String> nameMap) {
this.publishMapDataHandler.changeStationName(mapId, nameMap);
}
/**
* 批量修改线路区段长度
*/
@PutMapping("/{mapId}/{multiple}/sectionLen")
public void updateSectionLen(@PathVariable long mapId, @PathVariable int multiple) {
publishMapDataHandler.updateSectionLen(mapId, multiple);
}
}

View File

@ -1,39 +0,0 @@
package club.joylink.rtss.controller;
import club.joylink.rtss.services.IVoiceCommandService;
import club.joylink.rtss.simulation.cbtc.command.VoiceCommandBO;
import org.springframework.beans.factory.annotation.Autowired;
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 java.util.List;
/**
* 语音指令接口
*/
@RestController
@RequestMapping("/api/voiceCommand")
public class VoiceCommandController {
@Autowired
private IVoiceCommandService iVoiceCommandService;
/**
* 添加语音指令
* @param command
*/
@PostMapping("")
public void create(VoiceCommandBO command) {
iVoiceCommandService.create(command);
}
/**
* 查询所有语音指令
* @return
*/
@GetMapping("")
public List<VoiceCommandBO> getAll() {
return iVoiceCommandService.getAll();
}
}

View File

@ -26,78 +26,79 @@ import java.util.List;
@Slf4j
public class CommonResponseBody implements ResponseBodyAdvice {
@Override
public boolean supports(MethodParameter returnType, Class converterType) {
return returnType.getMethod() != null && !returnType.getMethod().getReturnType().getSimpleName().equals("CommonJsonResponse");
}
@Override
public boolean supports(MethodParameter returnType, Class converterType) {
return returnType.getMethod() != null && !returnType.getMethod().getReturnType().getSimpleName().equals("CommonJsonResponse");
}
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
//byte[]
if(body instanceof byte[]){
response.getHeaders().setContentType(MediaType.APPLICATION_OCTET_STREAM);
return body;
}
//byte[]
if(body instanceof AbstractMessageLite){
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
//byte[]
if (body instanceof byte[]) {
response.getHeaders().setContentType(MediaType.APPLICATION_OCTET_STREAM);
return body;
}
//byte[]
/*if(body instanceof AbstractMessageLite){
response.getHeaders().setContentType(MediaType.APPLICATION_OCTET_STREAM);
final AbstractMessageLite proto = (AbstractMessageLite) body;
return proto.toByteArray();
}
if(body instanceof CommonJsonResponse) {
return body;
}
if(request.getURI().getPath().startsWith("/swagger")) {
return body;
}
if (request.getURI().getPath().equals("/api/userinfo/ifRegisted")) {
return body;
}
if (request.getURI().getPath().equals("/api/userinfo/identity")) {
return body;
}
CommonJsonResponse commonJsonResponse = CommonJsonResponse.newSuccessResponse(body);
if(returnType.getMethod().getReturnType().equals(String.class) || body instanceof String) {
return commonJsonResponse.toJSONString();
}
return commonJsonResponse;
}*/
if (body instanceof CommonJsonResponse) {
return body;
}
if (request.getURI().getPath().startsWith("/swagger")) {
return body;
}
if (request.getURI().getPath().equals("/api/userinfo/ifRegisted")) {
return body;
}
if (request.getURI().getPath().equals("/api/userinfo/identity")) {
return body;
}
CommonJsonResponse commonJsonResponse = CommonJsonResponse.newSuccessResponse(body);
if (returnType.getMethod().getReturnType().equals(String.class) || body instanceof String) {
return commonJsonResponse.toJSONString();
}
return commonJsonResponse;
}
@ExceptionHandler({PayException.class})
@ResponseStatus
public CommonJsonResponse handleException(PayException e) {
log.error("【支付异常】", e);
return CommonJsonResponse.newErrorResponse();
}
@ExceptionHandler({Exception.class})
@ResponseBody
public CommonJsonResponse handleException(Exception e) {
if (e instanceof MethodArgumentNotValidException) {
// 参数验证异常处理
MethodArgumentNotValidException validException = (MethodArgumentNotValidException) e;
List<ObjectError> errorList = validException.getBindingResult().getAllErrors();
StringBuffer sb = new StringBuffer();
errorList.forEach(error ->
sb.append(error.getDefaultMessage()).append(";"));
log.error("【参数校验异常】{}", e);
return CommonJsonResponse.newErrorResponse(ResponseConsts.VALIDATE_ERROR.getCode(), sb.toString());
}
if (e instanceof BusinessException) {
club.joylink.rtss.exception.BusinessException be = (club.joylink.rtss.exception.BusinessException) e;
log.error("【业务异常】{}", e);
return CommonJsonResponse.newErrorResponse(be.getCode(), be.getVoMessage());
} else if (e instanceof MissingServletRequestParameterException) {
log.error("【接口参数异常】", e);
return CommonJsonResponse.newErrorResponse(ResponseConsts.VALIDATE_ERROR.getCode(), "接口参数异常");
} else if (e instanceof SimulationException) {
club.joylink.rtss.simulation.cbtc.exception.SimulationException simulationException = (club.joylink.rtss.simulation.cbtc.exception.SimulationException) e;
log.error("【仿真系统异常】{}", e);
return CommonJsonResponse.newErrorResponse(simulationException.getCode(), simulationException.getMessage());
}
@ExceptionHandler({PayException.class})
@ResponseStatus
public CommonJsonResponse handleException(PayException e) {
log.error("【支付异常】", e);
return CommonJsonResponse.newErrorResponse();
}
@ExceptionHandler({Exception.class})
@ResponseBody
public CommonJsonResponse handleException(Exception e) {
if(e instanceof MethodArgumentNotValidException) {
// 参数验证异常处理
MethodArgumentNotValidException validException = (MethodArgumentNotValidException) e;
List<ObjectError> errorList = validException.getBindingResult().getAllErrors();
StringBuffer sb = new StringBuffer();
errorList.forEach(error ->
sb.append(error.getDefaultMessage()).append(";"));
log.error("【参数校验异常】{}", e);
return CommonJsonResponse.newErrorResponse(ResponseConsts.VALIDATE_ERROR.getCode(), sb.toString());
} if(e instanceof BusinessException) {
club.joylink.rtss.exception.BusinessException be = (club.joylink.rtss.exception.BusinessException) e;
log.error("【业务异常】{}", e);
return CommonJsonResponse.newErrorResponse(be.getCode(), be.getVoMessage());
} else if(e instanceof MissingServletRequestParameterException) {
log.error("【接口参数异常】", e);
return CommonJsonResponse.newErrorResponse(ResponseConsts.VALIDATE_ERROR.getCode(), "接口参数异常");
} else if (e instanceof SimulationException) {
club.joylink.rtss.simulation.cbtc.exception.SimulationException simulationException = (club.joylink.rtss.simulation.cbtc.exception.SimulationException) e;
log.error("【仿真系统异常】{}", e);
return CommonJsonResponse.newErrorResponse(simulationException.getCode(), simulationException.getMessage());
}
log.error("【系统异常】{}", e);
return CommonJsonResponse.newErrorResponse();
}
log.error("【系统异常】{}", e);
return CommonJsonResponse.newErrorResponse();
}
}

View File

@ -25,12 +25,12 @@ public class LicenseInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// if (SystemEnv.isLocalEnv(otherConfig.getEnv())) {
if (SystemEnv.isLocalEnv(otherConfig.getEnv())) {
// log.debug(String.format("本地部署许可证验证"));
// LicenseVO license = this.licenseService.getLicense();
// BusinessExceptionAssertEnum.LICENSE_EXPIRED.assertNotTrue(license.isExpire(), "本地license已过期");
LicenseVO license = this.licenseService.getLicense();
BusinessExceptionAssertEnum.LICENSE_EXPIRED.assertNotTrue(license.isExpire(), "本地license已过期");
// log.debug("本地许可证有效");
// }
}
return true;
}
}

View File

@ -0,0 +1,71 @@
package club.joylink.rtss.controller.alarm;
import club.joylink.rtss.entity.AlarmTips;
import club.joylink.rtss.services.alarm.AlarmTipsService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.alarm.AlarmQueryVO;
import club.joylink.rtss.vo.alarm.AlarmTipsCreateVO;
import club.joylink.rtss.vo.client.PageQueryVO;
import club.joylink.rtss.vo.client.PageVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 报警提示信息配置管理
*/
@RestController
@RequestMapping("/api/alarm")
public class AlarmTipsController {
@Autowired
private AlarmTipsService alarmTipsService;
/**
* 创建提示信息
*/
@PostMapping("")
public void create(@RequestBody AlarmTipsCreateVO alarmTipsCreateVO, @RequestAttribute AccountVO user) {
alarmTipsService.create(alarmTipsCreateVO, user.getId());
}
/**
* 单条查询
*/
@GetMapping("")
public AlarmTips get(AlarmQueryVO queryVO) {
return alarmTipsService.get(queryVO);
}
/**
* 列表查询
*/
@GetMapping("/list")
public List<AlarmTips> list() {
return alarmTipsService.list();
}
/**
* 分页查询
*/
@GetMapping("/page")
public PageVO<AlarmTips> page(PageQueryVO queryVO) {
return alarmTipsService.page(queryVO);
}
/**
* 更新
*/
@PutMapping("/{id}")
public void update(@PathVariable Long id, @RequestBody AlarmTipsCreateVO createVO, @RequestAttribute AccountVO user) {
alarmTipsService.update(id, createVO, user.getId());
}
/**
* 删除
*/
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
alarmTipsService.delete(id);
}
}

View File

@ -1,53 +0,0 @@
package club.joylink.rtss.controller.conversation;
import club.joylink.rtss.services.conversation.ConversationGroupServiceImpl;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.conversation.ConversationGroupQueryVO;
import club.joylink.rtss.vo.conversation.ConversationGroupVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 项目会话群设置controller
*/
@RestController
@RequestMapping("/api/conversationGroup")
public class ConversationGroupController {
@Autowired
private ConversationGroupServiceImpl conversationGroupService;
@GetMapping("/list")
public List<ConversationGroupVO> queryList(ConversationGroupQueryVO queryVO) {
return conversationGroupService.queryList(queryVO);
}
@GetMapping("/page/users")
public PageVO<ConversationGroupVO> pagingQuery(ConversationGroupQueryVO queryVO, @RequestAttribute AccountVO user) {
return conversationGroupService.pagingQuery(queryVO, user);
}
@GetMapping("/{id}")
public ConversationGroupVO getById(@PathVariable Long id) {
return conversationGroupService.getById(id);
}
@PostMapping("")
public String create(@RequestBody ConversationGroupVO vo, @RequestAttribute AccountVO user) {
return conversationGroupService.create(vo, user);
}
@PutMapping("/{id}/data")
public void update(@PathVariable Long id, @RequestBody ConversationGroupVO vo) {
vo.setId(id);
conversationGroupService.update(vo);
}
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
conversationGroupService.delete(id);
}
}

View File

@ -2,253 +2,160 @@ package club.joylink.rtss.controller.paper;
import club.joylink.rtss.constants.RoleEnum;
import club.joylink.rtss.controller.advice.Role;
import club.joylink.rtss.dao.*;
import club.joylink.rtss.dao.paper.PaperCompositionDAO;
import club.joylink.rtss.dao.paper.PaperUserDAO;
import club.joylink.rtss.entity.*;
import club.joylink.rtss.entity.paper.PaperComposition;
import club.joylink.rtss.entity.paper.PaperCompositionExample;
import club.joylink.rtss.entity.paper.PaperUser;
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
import club.joylink.rtss.services.IMapService;
import club.joylink.rtss.services.paper.PaperCompositionService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.map.MapVO;
import club.joylink.rtss.vo.paper.*;
import club.joylink.rtss.vo.paper.CreatePaperCompositionRspVo;
import club.joylink.rtss.vo.paper.FindPaperCompositionByAccountReqVo;
import club.joylink.rtss.vo.paper.FindPaperCompositionPageReqVo;
import club.joylink.rtss.vo.paper.PaperCompositionWithRuleVo;
import club.joylink.rtss.vo.paper.PaperCompositionWithRuleVo.CreatorBasic;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 试卷蓝图业务接口
* <p>
* 试卷蓝图状态解释<br>
* 编辑中-可以修改删除;封存-不可以修改删除可以用来生成试卷可以状态迁移编辑中和已使用已使用-已经被用来生成过试卷不可以修改删除状态也不能改变
* 试卷蓝图状态解释<br> 编辑中-可以修改删除;封存-不可以修改删除可以用来生成试卷可以状态迁移编辑中和已使用已使用-已经被用来生成过试卷不可以修改删除状态也不能改变
*/
@Slf4j
@RestController
@RequestMapping("/api/v2/paper/composition")
public class PaperCompositionController {
@Autowired
private PaperCompositionService compositionService;
/**
* 数据管理查询
*
* @param req
* @return
*/
@Role(value = RoleEnum.SuperAdmin)
@PostMapping(path = "/manage/paging")
public PageVO<PaperCompositionWithRuleVo> findPaperCompositionForPage(@RequestBody FindPaperCompositionPageReqVo req) {
return this.compositionService.findPaperCompositionByPage(req);
}
@Autowired
private PaperCompositionService compositionService;
/**
* 创建试卷蓝图包括规则定义
* 参数 tags 只支持单个
*
* @param orgId 组织id
*/
@PostMapping("/{orgId}")
public CreatePaperCompositionRspVo createPaperCompositionWithRuleForOrg(@PathVariable("orgId") Long orgId, @RequestBody PaperCompositionWithRuleVo req, @RequestAttribute AccountVO user) {
req.setOrgId(orgId);
return this.compositionService.createPaperCompositionWithRule(req, user);
}
/**
* 数据管理查询
*
* @param req
* @return
*/
@Role(value = RoleEnum.SuperAdmin)
@PostMapping(path = "/manage/paging")
public PageVO<PaperCompositionWithRuleVo> findPaperCompositionForPage(
@RequestBody FindPaperCompositionPageReqVo req) {
return this.compositionService.findPaperCompositionByPage(req);
}
/**
* 更新试卷蓝图包括规则定义
* 参数 tags 只支持单个
*/
@PutMapping
public void updatePaperCompositionWithRule(@RequestBody PaperCompositionWithRuleVo req, @RequestAttribute AccountVO user) {
this.compositionService.updatePaperCompositionWithRule(req, user);
}
/**
* 创建试卷蓝图包括规则定义 参数 tags 只支持单个
*
* @param orgId 组织id
*/
@PostMapping("/{orgId}")
public CreatePaperCompositionRspVo createPaperCompositionWithRuleForOrg(
@PathVariable("orgId") Long orgId, @RequestBody PaperCompositionWithRuleVo req,
@RequestAttribute AccountVO user) {
req.setOrgId(orgId);
return this.compositionService.createPaperCompositionWithRule(req, user);
}
/**
* 更新试卷蓝图包括规则定义 参数 tags 只支持单个
*/
@PutMapping
public void updatePaperCompositionWithRule(@RequestBody PaperCompositionWithRuleVo req,
@RequestAttribute AccountVO user) {
this.compositionService.updatePaperCompositionWithRule(req, user);
}
/**
* 将编辑好的试卷蓝图封存
*/
@PutMapping("/{pcId}/lock")
public void lockPaperComposition(@PathVariable("pcId") Long pcId, @RequestAttribute AccountVO user) {
compositionService.lockPaperComposition(pcId, user);
}
/**
* 将编辑好的试卷蓝图封存
*/
@PutMapping("/{pcId}/lock")
public void lockPaperComposition(@PathVariable("pcId") Long pcId,
@RequestAttribute AccountVO user) {
compositionService.lockPaperComposition(pcId, user);
}
/**
* 将封存的试卷蓝图设置失效
*/
@PutMapping("/{pcId}/invalid")
public void invalidPaperComposition(@PathVariable("pcId") Long pcId, @RequestAttribute AccountVO user) {
compositionService.unlockPaperComposition(pcId, user);
}
/**
* 将封存的试卷蓝图设置失效
*/
@PutMapping("/{pcId}/invalid")
public void invalidPaperComposition(@PathVariable("pcId") Long pcId,
@RequestAttribute AccountVO user) {
compositionService.unlockPaperComposition(pcId, user);
}
/**
* 删除试卷蓝图(只能删除处于编辑状态的)
*
* @param pcId 试卷蓝图id
*/
@DeleteMapping("/{pcId}")
public void deletePaperComposition(@PathVariable("pcId") Long pcId, @RequestAttribute AccountVO user) {
compositionService.deletePaperComposition(pcId, user);
}
/**
* 删除试卷蓝图(只能删除处于编辑状态的)
*
* @param pcId 试卷蓝图id
*/
@DeleteMapping("/{pcId}")
public void deletePaperComposition(@PathVariable("pcId") Long pcId,
@RequestAttribute AccountVO user) {
compositionService.deletePaperComposition(pcId, user);
}
/**
* 根据(组织id线路id试卷蓝图名称简介)分页查找试卷蓝图
*/
@PostMapping("/find/page")
public PageVO<PaperCompositionWithRuleVo> findPaperCompositionByPage(@RequestBody FindPaperCompositionPageReqVo req) {
return this.compositionService.findPaperCompositionByPage(req);
}
/**
* 根据(组织id线路id试卷蓝图名称简介)分页查找试卷蓝图
*/
@PostMapping("/find/page")
public PageVO<PaperCompositionWithRuleVo> findPaperCompositionByPage(
@RequestBody FindPaperCompositionPageReqVo req) {
return this.compositionService.findPaperCompositionByPage(req);
}
/**
* 根据mapId查询蓝图的基本信息
*
* @return
*/
@PostMapping("/find/list")
public List<PaperCompositionWithRuleVo> findPaperCompositionByList(@RequestBody FindPaperCompositionPageReqVo req) {
return this.compositionService.findPaperCompositionList(req);
}
/**
* 查询试卷的创建者的信息
*/
@PostMapping("/list/creatorInfo")
public List<CreatorBasic> queryCreatorList(@RequestBody FindPaperCompositionPageReqVo req) {
return compositionService.queryCreatorList(req);
}
/**
* 根据试卷蓝图名称简介分页查找某个组织的试卷蓝图
*/
@PostMapping("/find/page/for/{orgId}")
public PageVO<PaperCompositionWithRuleVo> findPaperCompositionForOrgByPage(@PathVariable("orgId") Long orgId, @RequestBody FindPaperCompositionPageReqVo req) {
req.setOrgId(orgId);
return this.compositionService.findPaperCompositionByPage(req);
}
/**
* 根据mapId查询蓝图的基本信息
*
* @return
*/
@PostMapping("/find/list")
public List<PaperCompositionWithRuleVo> findPaperCompositionByList(
@RequestBody FindPaperCompositionPageReqVo req) {
return this.compositionService.findPaperCompositionList(req);
}
/**
* 根据账户分页查找试卷蓝图
*/
@PostMapping("/find/page/by/account")
public PageVO<PaperCompositionWithRuleVo> findAccountPaperCompositionByPage(@RequestBody FindPaperCompositionByAccountReqVo req) {
return this.compositionService.findPaperCompositionByPageForAccount(req);
}
/**
* 根据试卷蓝图名称简介分页查找某个组织的试卷蓝图
*/
@PostMapping("/find/page/for/{orgId}")
public PageVO<PaperCompositionWithRuleVo> findPaperCompositionForOrgByPage(
@PathVariable("orgId") Long orgId, @RequestBody FindPaperCompositionPageReqVo req) {
req.setOrgId(orgId);
return this.compositionService.findPaperCompositionByPage(req);
}
/**
* 获取试卷完整的蓝图包括规则
*
* @param pcId 试卷蓝图id
*/
@GetMapping("/{pcId}")
public PaperCompositionWithRuleVo findPaperComposition(@PathVariable("pcId") Long pcId, @RequestAttribute AccountVO user) {
return this.compositionService.findPaperComposition(pcId, user);
}
/**
* 根据账户分页查找试卷蓝图
*/
@PostMapping("/find/page/by/account")
public PageVO<PaperCompositionWithRuleVo> findAccountPaperCompositionByPage(
@RequestBody FindPaperCompositionByAccountReqVo req) {
return this.compositionService.findPaperCompositionByPageForAccount(req);
}
@Autowired
ExamDefinitionDAO examDefinitionDAO;
@Autowired
IMapService iMapService;
@Autowired
OrgDAO orgDAO;
@Autowired
OrgProjectDAO orgProjectDAO;
@Autowired
UserExamMapper userExamMapper;
@Autowired
private PaperUserDAO paperUserDAO;
@Autowired
PaperCompositionDAO paperCompositionDAO;
@Autowired
LsLessonDAO lsLessonDAO;
/**
* 旧数据处理接口用完删除
*/
@Transactional(rollbackFor = Exception.class)
@PostMapping("/oldData/handle")
public List<String> oldDataHandle() {
paperCompositionDAO.deleteByExample(null);
paperUserDAO.deleteByExample(null);
List<String> msg = new ArrayList<>();
//所有在线地图
Map<Long, MapVO> onlineMaps = iMapService.listOnline().stream().collect(Collectors.toMap(MapVO::getId, Function.identity()));
//在线地图的有效试卷
LsLessonExample lsLessonExample = new LsLessonExample();
lsLessonExample.createCriteria().andMapIdIn(new ArrayList<>(onlineMaps.keySet())).andStatusEqualTo("1");
List<Long> validLessonIds = lsLessonDAO.selectByExample(lsLessonExample)
.stream().map(LsLesson::getId).collect(Collectors.toList());
//所有项目-组织对应关系目前仅教学通用项目
Map<String, Long> projectCode_orgId_map = orgProjectDAO.selectByExample(null).stream()
.collect(Collectors.toMap(OrgProject::getProjectCode, OrgProject::getOrgId, (oId1, oId2) -> oId1));
//转化试卷并记录试卷id变化
ExamDefinitionExample examDefinitionExample = new ExamDefinitionExample();
examDefinitionExample.createCriteria().andStatusEqualTo("1").andLessonIdIn(validLessonIds);
Map<Long, Long> old_newExamIdMap = new HashMap<>();
examDefinitionDAO.selectByExample(examDefinitionExample).stream()
.peek(exam -> {
if (exam.getOrgId() != null) {
return;
}
MapVO map = onlineMaps.get(exam.getMapId());
String projectCode = map.getProjectCode();
if (StringUtils.hasText(projectCode)) {
exam.setOrgId(projectCode_orgId_map.get(projectCode));
}
})
.filter(exam -> exam.getOrgId() != null)
.forEach(exam -> {
PaperCompositionWithRuleVo paperCompositionWithRuleVo = new PaperCompositionWithRuleVo();
paperCompositionWithRuleVo.setMapId(exam.getMapId());
paperCompositionWithRuleVo.setName(exam.getName());
paperCompositionWithRuleVo.setProfile(exam.getRemarks());
// paperCompositionWithRuleVo.setOrgId(exam.getOrgId());
paperCompositionWithRuleVo.setStartTime(exam.getStartTime());
paperCompositionWithRuleVo.setEndTime(exam.getEndTime());
paperCompositionWithRuleVo.setValidDuration(exam.getDuration() / 60);
paperCompositionWithRuleVo.setPassScore(exam.getPassingPoint());
paperCompositionWithRuleVo.setFullScore(exam.getFullPoint());
// paperCompositionWithRuleVo.setCreatorId(exam.getCreatorId());
paperCompositionWithRuleVo.setCreateTime(exam.getCreateTime());
paperCompositionWithRuleVo.setUpdateTime(null);
paperCompositionWithRuleVo.setState(PaperCompositionState.Invalid);
AccountVO creator = new AccountVO();
creator.setId(exam.getCreatorId());
CreatePaperCompositionRspVo paperComposition = createPaperCompositionWithRuleForOrg(exam.getOrgId(), paperCompositionWithRuleVo, creator);
old_newExamIdMap.put(exam.getId(), paperComposition.getId());
});
//将所有试卷状态改为失效
PaperCompositionExample paperCompositionExample = new PaperCompositionExample();
paperCompositionExample.createCriteria().andIdIn(new ArrayList<>(old_newExamIdMap.values()));
PaperComposition paperComposition = new PaperComposition();
paperComposition.setState(PaperCompositionState.Invalid.getValue());
paperCompositionDAO.updateByExampleSelective(paperComposition, paperCompositionExample);
//查询试卷记录
ArrayList<Long> oldExamIds = new ArrayList<>(old_newExamIdMap.keySet());
UserExamExample userExamExample = new UserExamExample();
userExamExample.createCriteria().andExamIdIn(oldExamIds);
List<UserExam> userExams = userExamMapper.selectByExample(userExamExample);
//转化试卷记录
LocalDateTime now = LocalDateTime.now();
for (UserExam userExam : userExams) {
PaperUser paperUser = new PaperUser();
paperUser.setUserId(userExam.getUserId());
Long newExamId = old_newExamIdMap.get(userExam.getExamId());
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(newExamId);
paperUser.setPcId(newExamId);
paperUser.setScore(userExam.getScore().intValue());
paperUser.setStartTime(userExam.getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
if (userExam.getEndTime() != null) {
paperUser.setEndTime(userExam.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
}
paperUser.setCreateTime(now);
paperUserDAO.insert(paperUser);
}
return msg;
}
/**
* 获取试卷完整的蓝图包括规则
*
* @param pcId 试卷蓝图id
*/
@GetMapping("/{pcId}")
public PaperCompositionWithRuleVo findPaperComposition(@PathVariable("pcId") Long pcId,
@RequestAttribute AccountVO user) {
return this.compositionService.findPaperComposition(pcId, user);
}
}

View File

@ -18,149 +18,119 @@ import java.util.List;
@RestController
@RequestMapping("/api/v2/paper")
public class PaperUserController {
@Autowired
private PaperUserService paperUserService;
@Autowired
private PaperUserCreateService paperUserCreateService;
@Autowired
private PaperUserLoadQuestionService paperUserLoadQuestionService;
@Autowired
private PaperUserSubmitAnswerService paperUserSubmitAnswerService;
@Autowired
private PaperUserFindPageService paperUserFindPageService;
/**
* 根据试卷蓝图生成用户的试卷
*
* @param pcId 试卷蓝图id
*/
@PostMapping("/{pcId}")
public CreatePaperRspVo createPaper(@PathVariable("pcId") Long pcId, @RequestAttribute AccountVO user) {
return this.paperUserCreateService.createPaper(pcId, user);
}
@Autowired
private PaperUserService paperUserService;
@Autowired
private PaperUserCreateService paperUserCreateService;
@Autowired
private PaperUserLoadQuestionService paperUserLoadQuestionService;
@Autowired
private PaperUserSubmitAnswerService paperUserSubmitAnswerService;
@Autowired
private PaperUserFindPageService paperUserFindPageService;
/**
* 获取用户试卷完整信息
*
* @param puId 用户试卷id
*/
@GetMapping("/user/{puId}")
public PaperUserWholeVo findPaperUser(@PathVariable("puId") Long puId, @RequestAttribute AccountVO user) {
return this.paperUserService.findPaperUser(puId);
}
/**
* 根据试卷蓝图生成用户的试卷
*
* @param pcId 试卷蓝图id
*/
@PostMapping("/{pcId}")
public CreatePaperRspVo createPaper(@PathVariable("pcId") Long pcId,
@RequestAttribute AccountVO user) {
return this.paperUserCreateService.createPaper(pcId, user);
}
/**
* 删除用户试卷
*
* @param puId 用户试卷id
*/
@DeleteMapping("/user/{puId}")
public void deletePaperUser(@PathVariable("puId") Long puId, @RequestAttribute AccountVO user) {
this.paperUserService.deletePaperUser(puId);
}
/**
* 获取用户试卷完整信息
*
* @param puId 用户试卷id
*/
@GetMapping("/user/{puId}")
public PaperUserWholeVo findPaperUser(@PathVariable("puId") Long puId,
@RequestAttribute AccountVO user) {
return this.paperUserService.findPaperUser(puId);
}
/**
* 开始答题
*
* @param puId 用户试卷id
*/
@PostMapping("/user/{puId}/start")
public void paperStart(@PathVariable("puId") Long puId, @RequestAttribute AccountVO user) {
this.paperUserService.paperStart(puId);
}
/**
* 用户交卷
*
* @param puId 用户试卷id
*/
@PostMapping("/user/{puId}/submit")
public PaperSubmitRspVo paperSubmit(@PathVariable("puId") Long puId, @RequestAttribute AccountVO user) {
return this.paperUserService.paperSubmit(puId);
}
/**
* 用户交卷
*
* @param puId 用户试卷id
*/
@PostMapping("/user/{puId}/submit")
public PaperSubmitRspVo paperSubmit(@PathVariable("puId") Long puId,
@RequestAttribute AccountVO user) {
return this.paperUserService.paperSubmit(puId, user);
}
/**
* 加载用户试卷试题
* @param groupType 试卷试题大类型:1-理论题2-实训题
* @param qId 试题id
* @param puId 试卷id
* @return
*/
@GetMapping("/user/question/{groupType}/{qId}/{puId}")
public PaperQuestionLoadRspVo loadQuestion(@PathVariable("groupType") Integer groupType, @PathVariable("qId") Long qId,@PathVariable("puId") Long puId, @RequestAttribute AccountVO user) {
PaperQType.GroupType pgType = PaperQType.GroupType.getItem(groupType);
return this.paperUserLoadQuestionService.loadQuestion(pgType, qId,puId, user);
}
/**
* 加载用户试卷试题
*
* @param groupType 试卷试题大类型:1-理论题2-实训题
* @param qId 试题id
* @param puId 试卷id
* @return
*/
@GetMapping("/user/question/{groupType}/{qId}/{puId}")
public PaperQuestionLoadRspVo loadQuestion(@PathVariable("groupType") Integer groupType,
@PathVariable("qId") Long qId, @PathVariable("puId") Long puId,
@RequestAttribute AccountVO user) {
PaperQType.GroupType pgType = PaperQType.GroupType.getItem(groupType);
return this.paperUserLoadQuestionService.loadQuestion(pgType, qId, puId, user);
}
/**
* 用户提交答案
* <p>
* 对于理论题用户完成一道题提交一道题的答案<br>
* 对于实训题用户完成实训操作后由实训系统自己评判实训是否成功完成前端提交实训是否成功完成的结果即可
*/
@PostMapping("/user/question/answer")
public PaperSubmitAnswerRspVo submitAnswer(@RequestBody PaperSubmitAnswerReqVo req, @RequestAttribute AccountVO user) {
return this.paperUserSubmitAnswerService.submitAnswer(req, user);
}
/**
* 用户提交答案
* <p>
* 对于理论题用户完成一道题提交一道题的答案<br> 对于实训题用户完成实训操作后由实训系统自己评判实训是否成功完成前端提交实训是否成功完成的结果即可
*/
@PostMapping("/user/question/answer")
public PaperSubmitAnswerRspVo submitAnswer(@RequestBody PaperSubmitAnswerReqVo req,
@RequestAttribute AccountVO user) {
return this.paperUserSubmitAnswerService.submitAnswer(req, user);
}
/**
* 分页查询某个试卷蓝图的所有用户试卷基本信息
*/
/**
* 分页查询某个试卷蓝图的所有用户试卷基本信息
*/
/* @PostMapping("/user/page/composition")
public PageVO<PaperUserInfoVo> findPaperUserByPage(@RequestBody FindPaperUserForCompositionReqVo req, @RequestAttribute AccountVO user) {
return this.paperUserFindPageService.findPaperUserByPage(req);
}*/
/**
* 查看某个班级的某个试卷蓝图的所有学生试卷
*/
@GetMapping("/user/page")
public PageVO<PageUserDetailVO> findPaperUserByPageForClass(@ModelAttribute PageUserDetailQuery req) {
return this.paperUserFindPageService.findPaperUserByPageForClass(req);
}
/**
* 查看某个班级的某个试卷蓝图的所有学生试卷
*/
@GetMapping("/user/page")
public PageVO<PageUserDetailVO> findPaperUserByPageForClass(
@ModelAttribute PageUserDetailQuery req) {
return this.paperUserFindPageService.findPaperUserByPageForClass(req);
}
/**
* 查看某个班级的某个试卷蓝图的所有学生试卷 (柱状图)
* @param req
* @return
*/
@GetMapping("/user/curve")
public CurveForClassVO curveForClass(@ModelAttribute PageUserDetailQuery req) {
return this.paperUserFindPageService.curveForClass(req);
}
/**
* 查看某个班级的某个试卷蓝图的所有学生试卷 (柱状图)
*
* @param req
* @return
*/
@GetMapping("/user/curve")
public CurveForClassVO curveForClass(@ModelAttribute PageUserDetailQuery req) {
return this.paperUserFindPageService.curveForClass(req);
}
/**
* 查看某个账户的某个试卷蓝图的用户试卷
*/
/* @PostMapping("/user/list/account")
public List<PaperUserInfoVo> findPaperUserForAccount(@RequestBody FindPaperUserForAccountReqVo req, @RequestAttribute AccountVO user) {
return this.paperUserFindPageService.findPaperUserForAccount(req);
}*/
@PostMapping("/question/label")
public Collection<String> paperAllLabel(@RequestBody FindCountForQuestionReqVo req) {
return this.paperUserService.findAllLabel(req);
}
/**
* 查看组织的某个账户的某个试卷蓝图的用户试卷
*/
/* @PostMapping("/{orgId}/user/list/account")
public List<PaperUserInfoVo> findOrgPaperUserForAccount(@PathVariable("orgId") Long orgId, @RequestBody FindPaperUserForAccountReqVo req, @RequestAttribute AccountVO user) {
req.setOrgId(orgId);
return this.paperUserFindPageService.findPaperUserForAccount(req);
}*/
@PostMapping("/question/label")
public Collection<String> paperAllLabel(@RequestBody FindCountForQuestionReqVo req){
return this.paperUserService.findAllLabel(req);
}
/**
* 查看组织下某个类型题的数量
* 参数 tags 目前只支持单个
*/
// @PostMapping("/{orgId}/question/count")
@PostMapping("/question/count")
public Long findCountForQuestion(/*@PathVariable("orgId") Long orgId,*/ @RequestBody FindCountForQuestionReqVo req) {
/**
* 查看组织下某个类型题的数量 参数 tags 目前只支持单个
*/
@PostMapping("/question/count")
public Long findCountForQuestion(@RequestBody FindCountForQuestionReqVo req) {
// req.setOrgId(orgId);
return this.paperUserService.findCountForQuestion(req);
}
return this.paperUserService.findCountForQuestion(req);
}
}

View File

@ -7,12 +7,32 @@ import club.joylink.rtss.services.project.DeviceService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.LoginUserInfoVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.client.project.*;
import club.joylink.rtss.vo.client.project.IbpConfigVO;
import club.joylink.rtss.vo.client.project.LswConfigVO;
import club.joylink.rtss.vo.client.project.LwConfigVO;
import club.joylink.rtss.vo.client.project.PlcGatewayConfigVO;
import club.joylink.rtss.vo.client.project.ProjectDevicePageQueryVO;
import club.joylink.rtss.vo.client.project.ProjectDeviceVO;
import club.joylink.rtss.vo.client.project.PscConfigVO;
import club.joylink.rtss.vo.client.project.PsdConfigVO;
import club.joylink.rtss.vo.client.project.PslConfigVO;
import club.joylink.rtss.vo.client.project.RelationLoginConfigVO;
import club.joylink.rtss.vo.client.project.SignalConfigVO;
import club.joylink.rtss.vo.client.project.SwitchConfigVO;
import club.joylink.rtss.vo.client.project.VrIbpConfigVO;
import club.joylink.rtss.vo.client.project.VrpsdConfigVO;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 项目设备管理接口()
@ -21,241 +41,278 @@ import java.util.List;
@RequestMapping(path = "/api/device")
public class DeviceController {
@Autowired
private DeviceService deviceService;
@Autowired
private DeviceService deviceService;
/**
* 分页查询项目设备
*/
@GetMapping("/paging")
public PageVO<ProjectDeviceVO> pagingQuery(ProjectDevicePageQueryVO queryVO) {
return this.deviceService.pagingQuery(queryVO);
}
/**
* 分页查询项目设备
*/
@GetMapping("/paging")
public PageVO<ProjectDeviceVO> pagingQuery(ProjectDevicePageQueryVO queryVO) {
return this.deviceService.pagingQuery(queryVO);
}
/**
* 项目设备编号是否已经存在
*/
@GetMapping("/exist/{code}")
public boolean isDeviceCodeExist(@PathVariable String code, String projectCode) {
String project = Project.isDefault(projectCode) ? Project.DEFAULT_PROJECT_CODE : projectCode;
return this.deviceService.isDeviceCodeExist(project, code);
}
/**
* 项目设备编号是否已经存在
*/
@GetMapping("/exist/{code}")
public boolean isDeviceCodeExist(@PathVariable String code, String projectCode) {
String project = Project.isDefault(projectCode) ? Project.DEFAULT_PROJECT_CODE : projectCode;
return this.deviceService.isDeviceCodeExist(project, code);
}
/**
* 新建项目设备
*/
@PostMapping("")
public String create(@RequestBody @Validated ProjectDeviceVO deviceVO,
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_INFO_KEY)
LoginUserInfoVO userLoginInfo) {
return this.deviceService.create(deviceVO, userLoginInfo);
}
/**
* 新建项目设备
*/
@PostMapping("")
public String create(@RequestBody @Validated ProjectDeviceVO deviceVO,
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_INFO_KEY)
LoginUserInfoVO userLoginInfo) {
return this.deviceService.create(deviceVO, userLoginInfo);
}
/**
* 获取设备详情包含配置信息
*/
@GetMapping("/{id}")
public ProjectDeviceVO getDeviceDetailInfoById(@PathVariable Long id) {
return this.deviceService.getDeviceDetailInfoById(id);
}
/**
* 获取设备详情包含配置信息
*/
@GetMapping("/{id}")
public ProjectDeviceVO getDeviceDetailInfoById(@PathVariable Long id) {
return this.deviceService.getDeviceDetailInfoById(id);
}
/**
* 添加/修改道岔设备网关映射配置
*/
@PutMapping("/{id}/config/plcgateway")
public void updatePlcGatewayConfig(@PathVariable Long id, @RequestBody @Validated PlcGatewayConfigVO configVO) {
this.deviceService.updatePlcGatewayConfig(id, configVO);
}
/**
* 添加/修改道岔设备网关映射配置
*/
@PutMapping("/{id}/config/plcgateway")
public void updatePlcGatewayConfig(@PathVariable Long id,
@RequestBody @Validated PlcGatewayConfigVO configVO) {
this.deviceService.updatePlcGatewayConfig(id, configVO);
}
/**
* 添加/修改道岔设备网关映射配置
*/
@PutMapping("/{id}/config/switch")
public void updateSwitchConfig(@PathVariable Long id, @RequestBody @Validated SwitchConfigVO configVO) {
this.deviceService.updateSwitchConfig(id, configVO);
}
/**
* 添加/修改道岔设备网关映射配置
*/
@PutMapping("/{id}/config/switch")
public void updateSwitchConfig(@PathVariable Long id,
@RequestBody @Validated SwitchConfigVO configVO) {
this.deviceService.updateSwitchConfig(id, configVO);
}
/**
* 添加/修改信号机设备网关映射配置
*/
@PutMapping("/{id}/config/signal")
public void updateSignalConfig(@PathVariable Long id, @RequestBody @Validated SignalConfigVO configVO) {
this.deviceService.updateSignalConfig(id, configVO);
}
/**
* 添加/修改信号机设备网关映射配置
*/
@PutMapping("/{id}/config/signal")
public void updateSignalConfig(@PathVariable Long id,
@RequestBody @Validated SignalConfigVO configVO) {
this.deviceService.updateSignalConfig(id, configVO);
}
/**
* 添加/修改屏蔽门设备网关映射配置
*/
@PutMapping("/{id}/config/psc")
public void updatePscConfig(@PathVariable Long id, @RequestBody @Validated PscConfigVO configVO) {
this.deviceService.updatePscConfig(id, configVO);
}
/**
* 添加/修改屏蔽门设备网关映射配置
*/
@PutMapping("/{id}/config/psc")
public void updatePscConfig(@PathVariable Long id, @RequestBody @Validated PscConfigVO configVO) {
this.deviceService.updatePscConfig(id, configVO);
}
/**
* 添加/修改屏蔽门设备网关映射配置
*/
@PutMapping("/{id}/config/psd")
public void updatePsdConfig(@PathVariable Long id, @RequestBody @Validated PsdConfigVO configVO) {
this.deviceService.updatePsdConfig(id, configVO);
}
/**
* 添加/修改屏蔽门设备网关映射配置
*/
@PutMapping("/{id}/config/psd")
public void updatePsdConfig(@PathVariable Long id, @RequestBody @Validated PsdConfigVO configVO) {
this.deviceService.updatePsdConfig(id, configVO);
}
/**
* 添加/修改屏蔽门设备网关映射配置
*/
@PutMapping("/{id}/config/psl")
public void updatePslConfig(@PathVariable Long id, @RequestBody @Validated PslConfigVO configVO) {
this.deviceService.updatePslConfig(id, configVO);
}
/**
* 添加/修改屏蔽门设备网关映射配置
*/
@PutMapping("/{id}/config/psl")
public void updatePslConfig(@PathVariable Long id, @RequestBody @Validated PslConfigVO configVO) {
this.deviceService.updatePslConfig(id, configVO);
}
/**
* 添加/修改屏蔽门设备网关映射配置
*/
@PutMapping("/{id}/config/ibp")
public void updateIbpConfig(@PathVariable Long id, @RequestBody @Validated IbpConfigVO configVO) {
this.deviceService.updateIbpConfig(id, configVO);
}
/**
* 添加/修改屏蔽门设备网关映射配置
*/
@PutMapping("/{id}/config/ibp")
public void updateIbpConfig(@PathVariable Long id, @RequestBody @Validated IbpConfigVO configVO) {
this.deviceService.updateIbpConfig(id, configVO);
}
/**
* 添加/修改虚拟IBP盘配置
*/
@PutMapping("/{id}/config/vribp")
public void updateVrIbpConfig(@PathVariable Long id, @RequestBody @Validated VrIbpConfigVO configVO) {
this.deviceService.updateVrIbpConfig(id, configVO);
}
/**
* 添加/修改虚拟IBP盘配置
*/
@PutMapping("/{id}/config/vribp")
public void updateVrIbpConfig(@PathVariable Long id,
@RequestBody @Validated VrIbpConfigVO configVO) {
this.deviceService.updateVrIbpConfig(id, configVO);
}
/**
* 添加/修改现地工作站配置
*/
@PutMapping("/{id}/config/lw")
public void updateLwConfig(@PathVariable Long id, @RequestBody @Validated LwConfigVO configVO) {
this.deviceService.updateLwConfig(id, configVO);
}
/**
* 添加/修改现地工作站配置
*/
@PutMapping("/{id}/config/lw")
public void updateLwConfig(@PathVariable Long id, @RequestBody @Validated LwConfigVO configVO) {
this.deviceService.updateLwConfig(id, configVO);
}
/**
* 添加/修改大屏工作站配置
*/
@PutMapping("/{id}/config/lsw")
public void updateLswConfig(@PathVariable Long id, @RequestBody @Validated LswConfigVO configVO) {
this.deviceService.updateLswConfig(id, configVO);
}
/**
* 添加/修改大屏工作站配置
*/
@PutMapping("/{id}/config/lsw")
public void updateLswConfig(@PathVariable Long id, @RequestBody @Validated LswConfigVO configVO) {
this.deviceService.updateLswConfig(id, configVO);
}
/**
* 添加/修改CCTV工作站配置
*/
@PutMapping("/{id}/config/cctv")
public void updateCctvConfig(@PathVariable Long id, @RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateCctvConfig(id, configVO);
}
/**
* 添加/修改CCTV工作站配置
*/
@PutMapping("/{id}/config/cctv")
public void updateCctvConfig(@PathVariable Long id,
@RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateCctvConfig(id, configVO);
}
/**
* 添加/修改电子沙盘工作站配置
*/
@PutMapping("/{id}/config/sandbox")
public void updateSandboxConfig(@PathVariable Long id, @RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateSandboxConfig(id, configVO);
}
/**
* 添加/修改电子沙盘工作站配置
*/
@PutMapping("/{id}/config/sandbox")
public void updateSandboxConfig(@PathVariable Long id,
@RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateSandboxConfig(id, configVO);
}
/**
* 添加/修改虚拟屏蔽门工作站配置
*/
@PutMapping("/{id}/config/vrpsd")
public void updateVrpsdConfig(@PathVariable Long id, @RequestBody @Validated VrpsdConfigVO configVO) {
this.deviceService.updateVrpsdConfig(id, configVO);
}
/**
* 添加/修改虚拟屏蔽门工作站配置
*/
@PutMapping("/{id}/config/vrpsd")
public void updateVrpsdConfig(@PathVariable Long id,
@RequestBody @Validated VrpsdConfigVO configVO) {
this.deviceService.updateVrpsdConfig(id, configVO);
}
/**
* 添加/修改现地综合监控工作站配置
*/
@PutMapping("/{id}/config/iscslw")
public void updateIscsLwConfig(@PathVariable Long id, @RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateIscsLwConfig(id, configVO);
}
/**
* 添加/修改现地综合监控工作站配置
*/
@PutMapping("/{id}/config/iscslw")
public void updateIscsLwConfig(@PathVariable Long id,
@RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateIscsLwConfig(id, configVO);
}
/**
* 添加/修改中心综合监控工作站配置
*/
@PutMapping("/{id}/config/iscscw")
public void updateIscsCwConfig(@PathVariable Long id, @RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateIscsCwConfig(id, configVO);
}
/**
* 添加/修改中心综合监控工作站配置
*/
@PutMapping("/{id}/config/iscscw")
public void updateIscsCwConfig(@PathVariable Long id,
@RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateIscsCwConfig(id, configVO);
}
/**
* 添加/修改联锁工作站配置
*/
@PutMapping("/{id}/config/ilw")
public void updateIlwConfig(@PathVariable Long id, @RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateIlwConfig(id, configVO);
}
/**
* 添加/修改联锁工作站配置
*/
@PutMapping("/{id}/config/ilw")
public void updateIlwConfig(@PathVariable Long id,
@RequestBody @Validated RelationLoginConfigVO configVO) {
this.deviceService.updateIlwConfig(id, configVO);
}
/**
* 修改配置以json的形式
*/
@PutMapping("/config/updateConfig")
public void updateConfig(@RequestBody ProjectDeviceVO projectDeviceVO) {
this.deviceService.updateConfig(projectDeviceVO);
}
/**
* 修改配置以json的形式
*/
@PutMapping("/config/updateConfig")
public void updateConfig(@RequestBody ProjectDeviceVO projectDeviceVO) {
this.deviceService.updateConfig(projectDeviceVO);
}
/**
* 删除设备
*/
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
this.deviceService.delete(id);
}
/**
* 删除设备
*/
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
this.deviceService.delete(id);
}
/**
* 查询某个类型的所有设备
*/
@GetMapping("/{project}/{type}/all")
public List<ProjectDeviceVO> queryByType(@PathVariable String project, @PathVariable ProjectDeviceType type) {
return this.deviceService.queryByType(type, project);
}
/**
* 查询某个类型的所有设备
*/
@GetMapping("/{project}/{type}/all")
public List<ProjectDeviceVO> queryByType(@PathVariable String project,
@PathVariable ProjectDeviceType type) {
return this.deviceService.queryByType(type, project);
}
//
//
// @ApiOperation(value = "查询项目下的所有设备")
// @GetMapping("/project")
// public List<ProjectDeviceVO> queryByProjectCode(String projectCode, String group) {
// return this.iProjectDeviceService.queryByProjectCode(projectCode, group);
// }
@PostMapping("/xty/addOrUpdate")
public void addOrUpdateXtyDeviceConfig(@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateXtyDeviceConfig(accountVO);
}
@PostMapping("/xty/addOrUpdate")
public void addOrUpdateXtyDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateXtyDeviceConfig(accountVO);
}
@PostMapping("/gzb/addOrUpdate")
public void addOrUpdateGzbDeviceConfig(@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateGzbDeviceConfig(accountVO);
}
@PostMapping("/gzb/addOrUpdate")
public void addOrUpdateGzbDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateGzbDeviceConfig(accountVO);
}
@PostMapping("/sdy/addOrUpdate")
public void addOrUpdateSdyDeviceConfig(@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateSdyDeviceConfig(accountVO);
}
@PostMapping("/sdy/addOrUpdate")
public void addOrUpdateSdyDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateSdyDeviceConfig(accountVO);
}
@PostMapping("/zjd/addOrUpdate")
public void addOrUpdateZjdDeviceConfig(@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateRichorDeviceConfig(accountVO);
}
@PostMapping("/zjd/addOrUpdate")
public void addOrUpdateZjdDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateRichorDeviceConfig(accountVO);
}
@PostMapping("/sr/addOrUpdate/{mapId}")
public void addOrUpdateSrDeviceConfig(@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO, @PathVariable Long mapId) {
this.deviceService.addOrUpdateSrDeviceConfig(accountVO, mapId);
}
@PostMapping("/sr/addOrUpdate/{mapId}")
public void addOrUpdateSrDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO, @PathVariable Long mapId) {
this.deviceService.addOrUpdateSrDeviceConfig(accountVO, mapId);
}
@PostMapping("/hhcj/addOrUpdate")
public void addOrUpdateHhcjDeviceConfig(@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateHhcjDeviceConfig(accountVO);
}
@PostMapping("/hhcj/addOrUpdate")
public void addOrUpdateHhcjDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateHhcjDeviceConfig(accountVO);
}
@PostMapping("/say/addOrUpdate")
public void addOrUpdateSayDeviceConfig(@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateSayDeviceConfig(accountVO);
}
@PostMapping("/say/addOrUpdate")
public void addOrUpdateSayDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO) {
this.deviceService.addOrUpdateSayDeviceConfig(accountVO);
}
@PostMapping("/thailand/addOrUpdate/{mapId}")
public void addOrUpdateThailandDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO, @PathVariable Long mapId) {
this.deviceService.addOrUpdateThailandDeviceConfig(accountVO, mapId);
}
@PostMapping("/ngy/addOrUpdate/{mapId}")
public void addOrUpdateNgyDeviceConfig(
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_USER_KEY)
AccountVO accountVO, @PathVariable Long mapId) {
this.deviceService.addOrUpdateNgyDeviceConfig(accountVO, mapId);
}
@PostMapping("/cdgxy/addOrUpdate")
public void addOrUpdateCdgxyDeviceConfig(@RequestAttribute AccountVO user) {
this.deviceService.addOrUpdateCdgxyDeviceConfig(user);
}
}

View File

@ -429,4 +429,13 @@ public class MapController {
public List<MapVO> listMapsOfUser(@RequestAttribute LoginUserInfoVO loginInfo) {
return iMapService.listMapsOfUser(loginInfo);
}
/**
* 获取地图配置的客户端信息
* @return 客户端信息
*/
@GetMapping("/{id}/mapClientMap")
public Map<Simulation.Type, List<MapClientVO>> queryMapClientMap(@PathVariable long id) {
return iMapService.queryMapClientMap(id);
}
}

View File

@ -2,27 +2,34 @@ package club.joylink.rtss.controller.publish;
import club.joylink.rtss.constants.RoleEnum;
import club.joylink.rtss.controller.advice.Role;
import club.joylink.rtss.dao.RtsMapFunctionDAO;
import club.joylink.rtss.services.IMapService;
import club.joylink.rtss.services.mapFunction.RtsMapFunctionService;
import club.joylink.rtss.services.mapFunctionTemplate.MapFunctionTemplateService;
import club.joylink.rtss.simulation.cbtc.Simulation;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.LoginUserInfoVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.client.mapFunction.*;
import club.joylink.rtss.vo.client.mapFunction.MapFunctionBatchModifyVO;
import club.joylink.rtss.vo.client.mapFunction.MapFunctionCreateVO;
import club.joylink.rtss.vo.client.mapFunction.MapFunctionGenerateParamVO;
import club.joylink.rtss.vo.client.mapFunction.MapFunctionGenerateVO;
import club.joylink.rtss.vo.client.mapFunction.MapFunctionQueryVO;
import club.joylink.rtss.vo.client.mapFunction.MapFunctionUpdateVO;
import club.joylink.rtss.vo.client.mapFunction.MapFunctionVO;
import club.joylink.rtss.vo.client.mapFunctionTemplate.MapFunctionTemplateCreateVO;
import club.joylink.rtss.vo.client.mapFunctionTemplate.MapFunctionTemplateQueryVO;
import club.joylink.rtss.vo.client.mapFunctionTemplate.MapFunctionTemplateVO;
import club.joylink.rtss.vo.map.MapVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 地图功能及模板管理接口
@ -30,189 +37,169 @@ import java.util.Map;
@RestController
@RequestMapping("/api/mapFunction")
public class MapFunctionController {
@Autowired
private RtsMapFunctionService rtsMapFunctionService;
@Autowired
private MapFunctionTemplateService mapFunctionTemplateService;
@Autowired
private RtsMapFunctionService rtsMapFunctionService;
/**
* 创建地图功能
*/
@Role(RoleEnum.Admin)
@PostMapping("")
public void create(@RequestBody MapFunctionCreateVO createVO, @RequestAttribute LoginUserInfoVO loginInfo) {
rtsMapFunctionService.create(createVO, loginInfo.getAccountVO().getId());
}
@Autowired
private MapFunctionTemplateService mapFunctionTemplateService;
/**
* 生成地图功能
*/
@Role(RoleEnum.Admin)
@PostMapping("/{mapId}/generate")
public List<String> generate(@PathVariable long mapId, @RequestBody @Validated MapFunctionGenerateParamVO paramVO,
@RequestAttribute LoginUserInfoVO loginInfo) {
return rtsMapFunctionService.generate(mapId, paramVO, loginInfo.getAccountVO().getId());
}
/**
* 创建地图功能
*/
@Role(RoleEnum.Admin)
@PostMapping("")
public void create(@RequestBody MapFunctionCreateVO createVO,
@RequestAttribute LoginUserInfoVO loginInfo) {
rtsMapFunctionService.create(createVO, loginInfo.getAccountVO().getId());
}
/**
* 列表查询地图功能
*/
@GetMapping("/list")
public List<MapFunctionVO> listQuery(MapFunctionQueryVO queryVO) {
return rtsMapFunctionService.listQuery(queryVO);
}
/**
* 生成地图功能
*/
@Role(RoleEnum.Admin)
@PostMapping("/{mapId}/generate")
public List<String> generate(@PathVariable long mapId,
@RequestBody @Validated MapFunctionGenerateParamVO paramVO,
@RequestAttribute LoginUserInfoVO loginInfo) {
return rtsMapFunctionService.generate(mapId, paramVO, loginInfo.getAccountVO().getId());
}
/**
* 分页查询地图功能
*/
@GetMapping("/paged")
public PageVO<MapFunctionVO> pagedQuery(MapFunctionQueryVO queryVO) {
return rtsMapFunctionService.pagedQuery(queryVO);
}
/**
* 列表查询地图功能
*/
@GetMapping("/list")
public List<MapFunctionVO> listQuery(MapFunctionQueryVO queryVO) {
return rtsMapFunctionService.listQuery(queryVO);
}
/**
* 删除地图功能
*/
@Role(RoleEnum.Admin)
@DeleteMapping("/{id}")
public void delete(@PathVariable long id) {
rtsMapFunctionService.delete(id);
}
/**
* 分页查询地图功能
*/
@GetMapping("/paged")
public PageVO<MapFunctionVO> pagedQuery(MapFunctionQueryVO queryVO) {
return rtsMapFunctionService.pagedQuery(queryVO);
}
/**
* 批量删除地图功能
*/
@Role(RoleEnum.Admin)
@DeleteMapping("/batch/{mapId}")
public void batchDelete(@PathVariable long mapId) {
rtsMapFunctionService.batchDelete(mapId);
}
/**
* 删除地图功能
*/
@Role(RoleEnum.Admin)
@DeleteMapping("/{id}")
public void delete(@PathVariable long id) {
rtsMapFunctionService.delete(id);
}
/**
* 更新地图功能
*/
@Role(RoleEnum.Admin)
@PutMapping("/{id}")
public void update(@PathVariable long id, @RequestBody MapFunctionUpdateVO updateVO, @RequestAttribute LoginUserInfoVO loginInfo) {
rtsMapFunctionService.update(id, updateVO, loginInfo.getAccountVO().getId());
}
/**
* 批量删除地图功能
*/
@Role(RoleEnum.Admin)
@DeleteMapping("/batch/{mapId}")
public void batchDelete(@PathVariable long mapId) {
rtsMapFunctionService.batchDelete(mapId);
}
/**
* 根据ID获取地图功能信息
*/
@GetMapping("/{id}")
public MapFunctionVO queryOne(@PathVariable Long id) {
return rtsMapFunctionService.get(id);
}
/**
* 更新地图功能
*/
@Role(RoleEnum.Admin)
@PutMapping("/{id}")
public void update(@PathVariable long id, @RequestBody MapFunctionUpdateVO updateVO,
@RequestAttribute LoginUserInfoVO loginInfo) {
rtsMapFunctionService.update(id, updateVO, loginInfo.getAccountVO().getId());
}
/**
* 更新分组
* @param groupMap k- group v-mapFunctionIds
*/
@PutMapping("/group")
public void updateGroup(@RequestBody Map<String, List<Long>> groupMap,
@RequestAttribute AccountVO user) {
rtsMapFunctionService.updateGroup(groupMap, user.getId());
}
/**
* 根据ID获取地图功能信息
*/
@GetMapping("/{id}")
public MapFunctionVO queryOne(@PathVariable Long id) {
return rtsMapFunctionService.get(id);
}
/**
* 跨线路批量修改线路功能
*/
@PutMapping("/crossMap/batch")
public void batchModifyDesc(@RequestBody MapFunctionBatchModifyVO vo) {
rtsMapFunctionService.batchModify(vo);
}
/**
* 更新分组
*
* @param groupMap k- group v-mapFunctionIds
*/
@PutMapping("/group")
public void updateGroup(@RequestBody Map<String, List<Long>> groupMap,
@RequestAttribute AccountVO user) {
rtsMapFunctionService.updateGroup(groupMap, user.getId());
}
/**
* 创建线路功能模板
*/
@PostMapping("/template")
public void create(@RequestBody MapFunctionTemplateCreateVO createVO, @RequestAttribute AccountVO user) {
mapFunctionTemplateService.create(createVO, user.getId());
}
/**
* 跨线路批量修改线路功能
*/
@PutMapping("/crossMap/batch")
public void batchModifyDesc(@RequestBody MapFunctionBatchModifyVO vo) {
rtsMapFunctionService.batchModify(vo);
}
/**
* 列表查询线路功能模板
*/
@GetMapping("/template/list")
public List<MapFunctionTemplateVO> listQuery(MapFunctionTemplateQueryVO queryVO) {
return mapFunctionTemplateService.listQuery(queryVO);
}
/**
* 创建线路功能模板
*/
@PostMapping("/template")
public void create(@RequestBody MapFunctionTemplateCreateVO createVO,
@RequestAttribute AccountVO user) {
mapFunctionTemplateService.create(createVO, user.getId());
}
/**
* 分页查询线路功能模板
*/
@GetMapping("/template/paged")
public PageVO<MapFunctionTemplateVO> pagedQuery(MapFunctionTemplateQueryVO queryVO) {
return mapFunctionTemplateService.pagedQuery(queryVO);
}
/**
* 列表查询线路功能模板
*/
@GetMapping("/template/list")
public List<MapFunctionTemplateVO> listQuery(MapFunctionTemplateQueryVO queryVO) {
return mapFunctionTemplateService.listQuery(queryVO);
}
/**
* 更新线路功能模板
*/
@PutMapping("/template/{id}")
public MapFunctionTemplateVO update(@PathVariable long id, @RequestBody MapFunctionTemplateCreateVO createVO,
@RequestAttribute AccountVO user) {
return mapFunctionTemplateService.update(id, createVO, user.getId());
}
/**
* 分页查询线路功能模板
*/
@GetMapping("/template/paged")
public PageVO<MapFunctionTemplateVO> pagedQuery(MapFunctionTemplateQueryVO queryVO) {
return mapFunctionTemplateService.pagedQuery(queryVO);
}
/**
* 删除线路功能模板
*/
@DeleteMapping("/template/{id}")
public void deleteTemplate(@PathVariable long id) {
mapFunctionTemplateService.delete(id);
}
/**
* 更新线路功能模板
*/
@PutMapping("/template/{id}")
public MapFunctionTemplateVO update(@PathVariable long id,
@RequestBody MapFunctionTemplateCreateVO createVO,
@RequestAttribute AccountVO user) {
return mapFunctionTemplateService.update(id, createVO, user.getId());
}
/**
* 根据模板生成地图功能
* @return 生成过程中的特殊情况日志
*/
@PostMapping("/generate/from/template")
public List<String> generateFromTemplate(@RequestBody MapFunctionGenerateVO vo, @RequestAttribute AccountVO user) {
return rtsMapFunctionService.generateFromTemplate(vo, user.getId());
}
/**
* 删除线路功能模板
*/
@DeleteMapping("/template/{id}")
public void deleteTemplate(@PathVariable long id) {
mapFunctionTemplateService.delete(id);
}
@Autowired
private IMapService iMapService;
@Autowired
private RtsMapFunctionDAO rtsMapFunctionDAO;
/**
* 根据模板生成地图功能
*
* @return 生成过程中的特殊情况日志
*/
@PostMapping("/generate/from/template")
public List<String> generateFromTemplate(@RequestBody MapFunctionGenerateVO vo,
@RequestAttribute AccountVO user) {
return rtsMapFunctionService.generateFromTemplate(vo, user.getId());
}
/**
* 旧数据处理用完删除
*/
@Transactional(rollbackFor = Exception.class)
@PostMapping("/oldDataHandle")
public List<String> oldDataHandle() {
rtsMapFunctionDAO.deleteByExample(null);
List<MapVO> onlineMaps = iMapService.listOnline();
List<String> msgList = new ArrayList<>();
for (MapVO onlineMap : onlineMaps) {
List<String> list = rtsMapFunctionService.transferOldData(onlineMap.getId());
msgList.addAll(list);
}
return msgList;
}
/**
* 为所有在线地图生成功能用完删除
*/
@Transactional
@PostMapping("/generate/all")
public void generateAll(@RequestAttribute LoginUserInfoVO loginInfo) {
for (MapVO mapVO : iMapService.listOnline()) {
MapVO mapDetail = iMapService.getMapDetail(mapVO.getId());
MapFunctionGenerateParamVO paramVO = new MapFunctionGenerateParamVO();
List<Simulation.Type> types = new ArrayList<>();
if (mapDetail.getConfigVO().isRailway()) {
types.add(Simulation.Type.RAILWAY);
} else {
types.add(Simulation.Type.METRO);
}
paramVO.setSimTypes(types);
generate(mapDetail.getId(), paramVO, loginInfo);
}
}
/**
* 根据地图原有的线路功能信息生成新的线路功能信息模板与当前数据名称匹配
*
* @param mapIds 地图ID列表
* @param user 登录用户信息
* @return 没有生成信息记录方便用户自定义操作
*/
@PostMapping("/generate/mapIds")
public List<String> generateFunByOldData(@RequestBody List<Long> mapIds,
@RequestAttribute AccountVO user) {
return rtsMapFunctionService.generateFunByOldData(mapIds, user);
}
}

View File

@ -0,0 +1,91 @@
package club.joylink.rtss.controller.racetr;
import club.joylink.rtss.services.race.RaceApplicationService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.LoginUserInfoVO;
import club.joylink.rtss.vo.paper.PaperTrainAnswerDetail;
import club.joylink.rtss.vo.race.RaceApplication;
import club.joylink.rtss.vo.race.RaceTask;
import club.joylink.rtss.vo.race.RaceTaskFinishParamDTO;
import java.util.List;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 赛题训练接口
*/
@RestController
@RequestMapping("/api/race")
@AllArgsConstructor
public class RaceApplicationController {
private RaceApplicationService raceApplicationService;
/**
* 开始训练
* <p>
* 目前用用户id作为训练上下文的ID即用户同时进行一个训练
*
* @param paperId 赛题ID
* @return 训练的信息
*/
@PostMapping("/{paperId}/{moduleId}")
public RaceTask.RacePaperSingleModuleGroupTask start(@PathVariable long paperId,
@PathVariable int moduleId, @RequestAttribute AccountVO user) {
return raceApplicationService.start(paperId, moduleId, user.getId());
}
/**
* 加载场景
*
* @param simulationId 场景依托的仿真
* @param sceneId 场景的ID
*/
@PutMapping("/{simulationId}/load/{sceneId}")
public void loadScene(@PathVariable String simulationId, @PathVariable long sceneId,
@RequestAttribute LoginUserInfoVO loginInfo) {
raceApplicationService.loadScene(simulationId, sceneId, loginInfo);
}
/**
* 完成任务
*
* @param taskId 任务ID
* @param paramDTO 完成任务所需的参数主要就是需要前端做判定的操作/步骤
* @return
*/
@PutMapping("/{taskId}/finish")
public List<PaperTrainAnswerDetail> finishTask(@PathVariable long taskId,
@RequestBody RaceTaskFinishParamDTO paramDTO, @RequestAttribute AccountVO user) {
return raceApplicationService.finishTask(taskId, paramDTO, user);
}
/**
* 完成训练
*
* @return 评分结果
*/
@PutMapping("/finish")
public RaceApplication.RacePracticeResult finish(@RequestAttribute AccountVO user) {
return raceApplicationService.finish(user.getId());
}
// /**
// * 获取用户正在进行的竞赛信息
// * <p>
// * 目前想到的使用场景就是页面刷新后
// *
// * @return 竞赛信息
// */
// @GetMapping("")
// public Object getRaceInfo() {
// return null;
// }
}

View File

@ -0,0 +1,145 @@
package club.joylink.rtss.controller.racetr;
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
import club.joylink.rtss.services.paper.PagerQuestionService;
import club.joylink.rtss.services.race.RacePaperService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.race.RacePaper.RacePaperCreateVO;
import club.joylink.rtss.vo.race.RacePaper.RacePaperDetailVO;
import club.joylink.rtss.vo.race.RacePaper.RacePaperMenuVO;
import club.joylink.rtss.vo.race.RacePaper.RacePaperModuleVO;
import club.joylink.rtss.vo.race.RacePaper.RacePaperVO;
import club.joylink.rtss.vo.race.RacePaperQueryVO;
import club.joylink.rtss.vo.race.RaceTask.RacePaperSingleModuleGroupTask;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 竞赛-试题管理
*/
@RestController
@RequestMapping("/api/exercise/race/paper")
public class RacePaperController {
@Autowired
private RacePaperService racePaperService;
@Autowired
private PagerQuestionService questionService;
@GetMapping("/questions")
public List<Long> queryQuestionFromPBank() {
return this.questionService.queryAllDefaultOrgPaperIds();
}
/**
* 创建试卷
*/
@PostMapping()
public void save(@RequestBody RacePaperCreateVO createVO, @RequestAttribute AccountVO user) {
racePaperService.create(createVO, user);
}
/**
* 更新试卷内容
*
* @param id
* @param updateVO
* @param user
*/
@PostMapping("/{id}")
public void update(@PathVariable("id") Long id, @RequestBody RacePaperCreateVO updateVO,
@RequestAttribute AccountVO user) {
this.racePaperService.update(id, updateVO, user);
}
/**
* 分页查询
*/
@GetMapping("/page")
public PageVO<RacePaperVO> pageQuery(RacePaperQueryVO queryVO) {
return racePaperService.pageQuery(queryVO);
}
/**
* 获取赛季试卷菜单
*
* @param queryVO
* @return
*/
@GetMapping("/menu")
public RacePaperMenuVO pageMenu(RacePaperQueryVO queryVO) {
return this.racePaperService.pageMenuQuery(queryVO);
}
/**
* 试卷配置
*
* @param id
* @param moduleVO
* @param user
*/
@PostMapping("/{id}/config")
public void configSeting(@PathVariable("id") Long id, @RequestBody RacePaperModuleVO moduleVO,
@RequestAttribute AccountVO user) {
this.racePaperService.configSeting(id, moduleVO, user);
}
/**
* 获取明细
*
* @param id
* @return
*/
@GetMapping("/{id}")
public RacePaperDetailVO detail(@PathVariable("id") Long id) {
return this.racePaperService.detail(id);
}
/**
* 拷贝功能
*
* @param id
* @param user
*/
@PutMapping("/{id}/copy")
public void copy(@PathVariable("id") Long id, @RequestAttribute AccountVO user) {
this.racePaperService.copy(id, user);
}
/**
* 删除
*/
@DeleteMapping("/{id}")
public void delete(@PathVariable("id") Long id) {
BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.assertNotNull(id);
racePaperService.delete(id);
}
/**
* 获取试卷对应模块的模块任务树
*
* @param id
* @param moduleId
* @return
*/
@GetMapping("/{paperId}/module/{moduleId}/task")
public RacePaperSingleModuleGroupTask paperModuleTask(@PathVariable("paperId") Long id,
@PathVariable("moduleId") Integer moduleId) {
return this.racePaperService.singlePaperModuleTask(id, moduleId);
}
}

View File

@ -0,0 +1,85 @@
package club.joylink.rtss.controller.racetr;
import club.joylink.rtss.services.race.RaceSceneService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.race.RaceSceneOuterClass.RaceSceneListVO;
import club.joylink.rtss.vo.race.RaceSceneOuterClass.RaceScenePublishVO;
import club.joylink.rtss.vo.race.RaceSceneOuterClass.RaceSceneVO;
import club.joylink.rtss.vo.race.RaceSceneOuterClass.SceneCustomCreateVO;
import club.joylink.rtss.vo.race.RaceSceneQueryVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 竞赛-场景管理-发布的管理
*/
@RestController
@RequestMapping("/api/exercise/race/scene")
public class RaceSceneController {
@Autowired
private RaceSceneService sceneService;
@PostMapping("/custom/edit")
public void customSave(@RequestBody SceneCustomCreateVO vo, @RequestAttribute AccountVO user) {
this.sceneService.customSave(vo, user);
}
@PostMapping("/custom/{id}/edit")
public void customUpdate(@PathVariable("id") Long id, @RequestBody SceneCustomCreateVO vo, @RequestAttribute AccountVO user) {
this.sceneService.customUpdate(id, vo, user);
}
/**
* 草稿实训发布到场景
*
* @param vo
* @param user
*/
@PostMapping("/publish/training")
public void publishHere(@RequestBody RaceScenePublishVO vo, @RequestAttribute AccountVO user) {
this.sceneService.publishHere(vo, user);
}
/**
* 获取明细
*
* @param id
* @return
*/
@GetMapping("/{id}")
public RaceSceneVO detail(@PathVariable("id") Long id) {
return this.sceneService.detail(id);
}
/**
* 分页
*
* @param query
* @return
*/
@GetMapping("/page")
public PageVO<RaceSceneListVO> page(RaceSceneQueryVO query) {
return this.sceneService.page(query);
}
/**
* 删除
*
* @param id
*/
@DeleteMapping("/{id}")
public void delete(@PathVariable("id") Long id) {
this.sceneService.delete(id);
}
}

View File

@ -0,0 +1,88 @@
package club.joylink.rtss.controller.racetr;
import club.joylink.rtss.services.race.RaceScoreRuleService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.race.RaceScoringRule.RaceScoringRuleListVO;
import club.joylink.rtss.vo.race.RaceScoringRule.RaceScoringRuleVO;
import club.joylink.rtss.vo.race.RaceScoringRule.Rule;
import club.joylink.rtss.vo.race.TaskRuleQueryVO;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 竞赛-评分
*/
@RestController
@RequestMapping("/api/exercise/race/score")
public class RaceScoreRuleController {
@Autowired
private RaceScoreRuleService scoreRuleService;
/**
* 1.创建基础信息
*
* @param nameMap
* @param user
*/
@PostMapping
public void saveBasic(@RequestBody Map<String, String> nameMap, @RequestAttribute AccountVO user) {
this.scoreRuleService.saveBasic(nameMap.get("name"), user);
}
/**
* 评分配置
*
* @param ruleId
* @param rule
* @param user
*/
@PostMapping("/edit/rule/{ruleId}")
public void editRule(@PathVariable("ruleId") Long ruleId, @RequestBody Rule rule, @RequestAttribute AccountVO user) {
this.scoreRuleService.editRule(ruleId, rule, user);
}
/**
* 明细
*
* @param id
* @return
*/
@GetMapping(value = "/{id}")
public RaceScoringRuleVO detail(@PathVariable("id") Long id) {
return this.scoreRuleService.detail(id);
}
/**
* 分页
*
* @param query
* @return
*/
@GetMapping("/page")
public PageVO<RaceScoringRuleListVO> page(TaskRuleQueryVO query) {
return this.scoreRuleService.page(query);
}
/**
* 删除
*
* @param id
*/
@DeleteMapping("{id}")
public void delete(@PathVariable("id") Long id) {
this.scoreRuleService.delete(id);
}
}

View File

@ -0,0 +1,102 @@
package club.joylink.rtss.controller.racetr;
import club.joylink.rtss.services.race.RaceSeasonService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.race.RaceSeasonOuterClass.RaceSeasonCreateVO;
import club.joylink.rtss.vo.race.RaceSeasonOuterClass.RaceSeasonVO;
import club.joylink.rtss.vo.race.RaceSeasonQueryVO;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 竞赛-赛季管理
*/
@RestController
@RequestMapping("/api/exercise/race/season")
public class RaceSeasonController {
@Autowired
private RaceSeasonService raceSeasonService;
/**
* 添加
*
* @param dto
* @param user
*/
@PostMapping
public void save(@RequestBody RaceSeasonCreateVO dto, @RequestAttribute AccountVO user) {
this.raceSeasonService.save(dto, user);
}
/**
* 修改
*
* @param id
* @param dto
* @param user
*/
@PostMapping("/{id}")
public void update(@PathVariable("id") Long id, @RequestBody RaceSeasonCreateVO dto, @RequestAttribute AccountVO user) {
this.raceSeasonService.update(id, dto, user);
}
/**
* 编辑html内容
*
* @param id
* @param user
*/
@PostMapping("/{id}/html")
public void updateHtmlContent(@PathVariable("id") Long id, @RequestBody Map<String, String> contentMap, @RequestAttribute AccountVO user) {
String content = contentMap.get("htmlContent");
this.raceSeasonService.updateHtmlContent(id, content, user);
}
/**
* 查找对应的html content
*
* @param id
* @return
*/
@GetMapping("/{id}/html")
public Map<String, String> queryHtmlContent(@PathVariable("id") Long id) {
String html = this.raceSeasonService.queryHtmlContent(id);
return Map.of("html", StringUtils.hasText(html) ? html : "");
}
/**
* 查找
*
* @param query
* @return
*/
@GetMapping(value = "/page")
public PageVO<RaceSeasonVO> page(RaceSeasonQueryVO query) {
return raceSeasonService.page(query);
}
/**
* 删除
*
* @param id
*/
//绑定过的数据不能删除没有绑定的可以删除物理删除
@DeleteMapping("/{id}")
public void delete(@PathVariable("id") Long id) {
this.raceSeasonService.delete(id);
}
}

View File

@ -0,0 +1,94 @@
package club.joylink.rtss.controller.racetr;
import club.joylink.rtss.services.race.RaceTaskService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.race.RaceTask.RaceTaskBind;
import club.joylink.rtss.vo.race.RaceTask.RaceTaskCreateVO;
import club.joylink.rtss.vo.race.RaceTask.RaceTaskDetailVO;
import club.joylink.rtss.vo.race.RaceTaskTreeVO;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/exercise/race/task")
public class RaceTaskController {
@Autowired
private RaceTaskService taskService;
/**
* 创建任务并绑定对应的发布场景
*
* @param vo
* @param user
*/
@PostMapping
public void save(@RequestBody RaceTaskCreateVO vo, @RequestAttribute AccountVO user) {
this.taskService.save(vo, user);
}
@PostMapping("/{id}")
public void update(@PathVariable("id") Long id, @RequestBody RaceTaskCreateVO vo,
@RequestAttribute AccountVO user) {
this.taskService.update(id, vo, user);
}
@PostMapping("/{taskId}/bind")
public void bind(@PathVariable("taskId") Long taskId, @RequestBody List<RaceTaskBind> bind,
@RequestAttribute AccountVO user) {
this.taskService.bind(taskId, bind, user);
}
/**
* 返回任务数据以""的结构
*
* @return
*/
@GetMapping("/tree")
public List<RaceTaskTreeVO> tree() {
return this.taskService.tree();
}
/**
* 删除
*
* @param id
*/
@DeleteMapping("/{id}")
public void delete(@PathVariable("id") Long id) {
this.taskService.delete(id);
}
/**
* 获取一个节点下的所有数据
*
* @param id
* @return
*/
@GetMapping("/{id}/children")
public List<RaceTaskTreeVO> childList(@PathVariable("id") Long id) {
return this.taskService.findChildren(id);
}
/**
* 获取一个节点的明细
*
* @param id
* @return
*/
@GetMapping("/{id}")
public RaceTaskDetailVO detail(@PathVariable("id") Long id) {
return this.taskService.detail(id);
}
}

View File

@ -112,7 +112,7 @@ public class SimulationConversationController {
* @return 用户群组
*/
@GetMapping("/group/list")
public List<ConversationGroupVO> groupList(@PathVariable String group) {
return conversationGroupHandlerService.getAllConversationsGroup(group);
public List<ConversationGroupVO> groupList(@PathVariable String group, @RequestAttribute AccountVO user) {
return conversationGroupHandlerService.getAllConversationsGroup(group, user);
}
}

View File

@ -70,7 +70,8 @@ public class SimulationTrainingV2Controller {
* 结束实训
*/
@PutMapping("/{group}/finish")
public Double finishTraining2(@PathVariable String group, @RequestAttribute AccountVO user, @RequestBody List<PaperTrainAnswerDetail> scoreList) {
public List<PaperTrainAnswerDetail> finishTraining2(@PathVariable String group, @RequestAttribute AccountVO user
, @RequestBody List<PaperTrainAnswerDetail> scoreList) {
return training2Service.finishTraining2(group, user, scoreList);
}
@ -86,8 +87,8 @@ public class SimulationTrainingV2Controller {
* 客户端步骤完成后操作回调
*/
@PutMapping("/{group}/completion/step/{stepId}/operation/{id}")
public Integer completionClientStepOperation(@PathVariable String group, @PathVariable Integer stepId
, @PathVariable Integer id, @RequestAttribute AccountVO user) {
public Integer completionClientStepOperation(@PathVariable String group, @PathVariable Long stepId
, @PathVariable Long id, @RequestAttribute AccountVO user) {
return training2Service.completionClientStepOperation(group, stepId, id, user);
}
@ -98,4 +99,24 @@ public class SimulationTrainingV2Controller {
public void drawTraining(@PathVariable String group, @PathVariable Long trainingId) {
training2Service.drawTraining(group, trainingId);
}
/**
* 加载实训到第{stepId}
* @param group 仿真ID
* @param stepId 步数ID
*/
@PutMapping("/{group}/jumpTo/{stepId}")
public void jumpToStep(@PathVariable String group, @PathVariable Long stepId){
training2Service.jumpToStep(group, stepId);
}
/**
* 实训开始准备给实训参与人员发送准备开始执行
* @param group 仿真ID
* @param user 操作人
*/
@PostMapping("/{group}/prepare/start")
public void prepareStart(@PathVariable String group, @RequestAttribute AccountVO user, ScriptBO.Mode mode) {
training2Service.prepareStart(group, user, mode);
}
}

View File

@ -8,13 +8,12 @@ import club.joylink.rtss.services.training.ITrainingV1Service;
import club.joylink.rtss.services.training.data.GenerateConfig;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.client.training.TrainingNewVO;
import club.joylink.rtss.vo.client.training.TrainingQueryVO;
import club.joylink.rtss.vo.client.training.TrainingStepVO;
import club.joylink.rtss.vo.client.trainingUsage.UserTrainingListVO;
import club.joylink.rtss.vo.client.trainingUsage.UserTrainingQueryVO;
import club.joylink.rtss.vo.client.trainingUsage.UserTrainingVO;
import club.joylink.rtss.vo.client.training.TrainingNewVO;
import club.joylink.rtss.vo.client.training.TrainingQueryVO;
import club.joylink.rtss.vo.client.training.TrainingResultVO;
import club.joylink.rtss.vo.client.training.TrainingStepVO;
import club.joylink.rtss.vo.client.validGroup.DraftTrainingCreateCheck;
import club.joylink.rtss.vo.client.validGroup.DraftTrainingStepCheck;
import club.joylink.rtss.vo.client.validGroup.GenerateConfigDeleteCheck;
@ -22,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import java.util.Map;
import java.util.Set;
@ -113,28 +111,6 @@ public class TrainingV1Controller {
this.iTrainingService.nextStep(id, group, step);
}
/**
*实训结束
*/
@GetMapping(path="/{lessonId}/{id}/end")
public TrainingResultVO trainingEnd(@PathVariable Long lessonId, @PathVariable Long id, String group,
@NotBlank String mode, @NotBlank String usedTime,
@RequestAttribute AccountVO user) {
return this.iTrainingService.trainingEnd(lessonId, id, group, mode, usedTime, user);
}
// @ApiOperation(value = "清除实训数据")
// @DeleteMapping(path = "/{id}")
// public void clear(@PathVariable Long id) {
// this.iTrainingService.clear(id);
// }
// @ApiOperation(value = "删除实训")
// @DeleteMapping(path = "/{trainingId}")
// public void delTraining(@PathVariable String trainingId, @RequestAttribute UserVO user) {
// iTrainingService.delTraining(trainingId, user);
// }
/**
*分页查询实训
*/
@ -143,12 +119,6 @@ public class TrainingV1Controller {
return this.iTrainingService.pagedQueryTrainings(queryVO);
}
// @ApiOperation(value = "自动生成实训")
// @PostMapping(path = "/generate")
// public void generateTrainingTask(@RequestBody @Validated(GenerateConfigCheck.class) GenerateConfig config) {
// this.generateTask.execute(config);
// }
/**
*一键生成地图实训生成中返回true
*/

View File

@ -82,4 +82,12 @@ public class TrainingRuleController {
return training2RuleService.generateTrainingByMapIdAndRuleId(mapRuleIdMap, loginUserInfoVO);
}
/**
* 填充默认打分规则
*/
@PostMapping("fill/scoreRule")
public void fillDefaultScoreRule() {
training2RuleService.updateScoreRule();
}
}

View File

@ -4,16 +4,35 @@ import club.joylink.rtss.constants.BusinessConsts;
import club.joylink.rtss.constants.RoleEnum;
import club.joylink.rtss.controller.advice.AuthenticateInterceptor;
import club.joylink.rtss.controller.advice.Role;
import club.joylink.rtss.entity.training2.ExportTraining2;
import club.joylink.rtss.entity.training2.PublishedTraining2;
import club.joylink.rtss.services.training2.Training2DraftPublishService;
import club.joylink.rtss.services.training2.Training2PublishService;
import club.joylink.rtss.services.training2.Training2TypeEnum;
import club.joylink.rtss.vo.LoginUserInfoVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.training2.publish.*;
import club.joylink.rtss.vo.training2.publish.DeletePublishedTraining2ReqVo;
import club.joylink.rtss.vo.training2.publish.DeletePublishedTraining2RspVo;
import club.joylink.rtss.vo.training2.publish.PublishedTraining2DetailRspVo;
import club.joylink.rtss.vo.training2.publish.PublishedTraining2InfoPageReqVo;
import club.joylink.rtss.vo.training2.publish.PublishedTraining2InfoRspVo;
import club.joylink.rtss.vo.training2.publish.PublishedTrainingListRspVo;
import club.joylink.rtss.vo.training2.publish.PullOffPublishedTraining2ReqVo;
import club.joylink.rtss.vo.training2.publish.PullOffPublishedTraining2RspVo;
import club.joylink.rtss.vo.training2.publish.PutOnPublishedTraining2ReqVo;
import club.joylink.rtss.vo.training2.publish.PutOnPublishedTraining2RspVo;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 已发布实训管理接口
@ -22,88 +41,171 @@ import java.util.List;
@RestController
@RequestMapping("/api/v2/training/published")
public class TrainingV2PublishController {
@Autowired
private Training2PublishService publishService;
/**
* 已发布实训分页列表
*/
@PostMapping("/page")
public PageVO<PublishedTraining2InfoRspVo> publishedTrainingsPage(@RequestBody PublishedTraining2InfoPageReqVo req){
return this.publishService.publishedTrainingsPage(req);
}
/**
* 已发布实训上架
*/
@PostMapping("/put/on")
public PutOnPublishedTraining2RspVo putOnPublishedTrainings(@RequestBody PutOnPublishedTraining2ReqVo req,@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO){
return this.publishService.putOnPublishedTrainings(req,userInfoVO);
}
/**
* 已发布实训下架
*/
@PostMapping("/pull/off")
public PullOffPublishedTraining2RspVo pullOffPublishedTrainings(@RequestBody PullOffPublishedTraining2ReqVo req,@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO){
return this.publishService.pullOffPublishedTrainings(req,userInfoVO);
}
@Autowired
private Training2PublishService publishService;
/**
* 变更共享状态
* @param id
* @param shared
* @param userInfoVO
*/
@GetMapping("/{id}/{shared}")
public void changeSharedStatus(@PathVariable(name="id") Long id,@PathVariable(name="shared") Integer shared,@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO){
this.publishService.changeSharedStatus(id,shared,userInfoVO);
}
/**
* 删除已发布实训
*/
@DeleteMapping
public DeletePublishedTraining2RspVo deletePublishedTrainings(@RequestBody DeletePublishedTraining2ReqVo req,@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO){
return this.publishService.deletePublishedTrainings(req,userInfoVO);
}
@Autowired
private Training2DraftPublishService training2DraftPublishService;
/**
* 已发布实训分页列表
*/
@PostMapping("/page")
public PageVO<PublishedTraining2InfoRspVo> publishedTrainingsPage(
@RequestBody PublishedTraining2InfoPageReqVo req) {
return this.publishService.publishedTrainingsPage(req);
}
/**
* 已发布实训上架
*/
@PostMapping("/put/on")
public PutOnPublishedTraining2RspVo putOnPublishedTrainings(
@RequestBody PutOnPublishedTraining2ReqVo req,
@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
return this.publishService.putOnPublishedTrainings(req, userInfoVO);
}
/**
* 已发布实训下架
*/
@PostMapping("/pull/off")
public PullOffPublishedTraining2RspVo pullOffPublishedTrainings(
@RequestBody PullOffPublishedTraining2ReqVo req,
@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
return this.publishService.pullOffPublishedTrainings(req, userInfoVO);
}
/**
* 变更共享状态
*
* @param id
* @param shared
* @param userInfoVO
*/
@GetMapping("/{id}/{shared}")
public void changeSharedStatus(@PathVariable(name = "id") Long id,
@PathVariable(name = "shared") Integer shared,
@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
this.publishService.changeSharedStatus(id, shared, userInfoVO);
}
/**
* 删除已发布实训
*/
@DeleteMapping
public DeletePublishedTraining2RspVo deletePublishedTrainings(
@RequestBody DeletePublishedTraining2ReqVo req,
@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
return this.publishService.deletePublishedTrainings(req, userInfoVO);
}
/**
* 实训查询用户管理
* @param vo
* @return
*/
@PostMapping("/manage/infos")
public PageVO<PublishedTraining2InfoRspVo> findTrainingListManageInfosForPage(@RequestBody PublishedTrainingListRspVo vo,@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO){
vo.setOrgId(userInfoVO.getTopOrgId());
return this.publishService.findTrainingInfoForPage(vo,userInfoVO,true);
}
/**
* 实训查询用户管理
*
* @param vo
* @return
*/
@PostMapping("/manage/infos")
public PageVO<PublishedTraining2InfoRspVo> findTrainingListManageInfosForPage(
@RequestBody PublishedTrainingListRspVo vo,
@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
vo.setOrgId(userInfoVO.getTopOrgId());
return this.publishService.findTrainingInfoForPage(vo, userInfoVO, true);
}
/**
* 实训查询
* @param vo
* @return
*/
@PostMapping("/infos")
public List<PublishedTraining2InfoRspVo> findTrainingListInfos(@RequestBody PublishedTrainingListRspVo vo
,@RequestAttribute(name = AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO loginUserInfoVO){
//只查询以上架
vo.setState(BusinessConsts.STATUS_USE_INT);
vo.setOrgId(loginUserInfoVO.getTopOrgId());
return this.publishService.findTrainingInfo(vo,loginUserInfoVO);
}
/**
* 查所有的已发布场景实训的基础信息
*/
@Role(value = RoleEnum.SuperAdmin)
@GetMapping("/list")
public PageVO<PublishedTraining2InfoRspVo> findTrainingList(@ModelAttribute PublishedTrainingListRspVo vo,@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO){
return this.publishService.findTrainingInfoForPage(vo,userInfoVO,false);
}
/**
* 实训查询
*
* @param vo
* @return
*/
@PostMapping("/infos")
public List<PublishedTraining2InfoRspVo> findTrainingListInfos(
@RequestBody PublishedTrainingListRspVo vo,
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO loginUserInfoVO) {
//只查询以上架
vo.setState(BusinessConsts.STATUS_USE_INT);
vo.setOrgId(loginUserInfoVO.getTopOrgId());
return this.publishService.findTrainingInfo(vo, loginUserInfoVO);
}
/**
* 根据实训id查该已发布实训的所有信息
*/
@GetMapping("/{trainingId}")
public PublishedTraining2DetailRspVo findTrainingAllInfo(@PathVariable("trainingId") Long trainingId){
return this.publishService.findTrainingAllInfoById(trainingId);
}
/**
* 查所有的已发布场景实训的基础信息
*/
@Role(value = RoleEnum.SuperAdmin)
@GetMapping("/list")
public PageVO<PublishedTraining2InfoRspVo> findTrainingList(
@ModelAttribute PublishedTrainingListRspVo vo,
@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
return this.publishService.findTrainingInfoForPage(vo, userInfoVO, false);
}
/**
* 根据实训id查该已发布实训的所有信息
*/
@GetMapping("/{trainingId}")
public PublishedTraining2DetailRspVo findTrainingAllInfo(
@PathVariable("trainingId") Long trainingId) {
return this.publishService.findTrainingAllInfoById(trainingId);
}
/**
* 更新实训label
*/
@PutMapping("/update/label")
public void updateTrainingLabel(@RequestBody PublishedTraining2 training2) {
publishService.updateTrainingLabel(training2);
}
/**
* 更新发布实训信息
*/
@PutMapping("/update")
public void updateTraining(@RequestBody PublishedTraining2 training2) {
publishService.updateTrainingBaseInfo(training2);
}
/**
* 批量更新实训label
*/
@PutMapping("/update/batch/label")
public void updateTrainingLabelList(
@RequestBody List<PublishedTraining2> publishedTraining2List) {
publishService.updateTrainingLabelList(publishedTraining2List);
}
/**
* 导出所选实训
*
* @param tidList 实训ID列表
* @return 实训详情信息
*/
@PostMapping("/export")
public List<ExportTraining2> exportTraining(@RequestBody List<Long> tidList) {
return publishService.exportTraining(tidList);
}
/**
* 导入实训信息
*
* @return 导入结果
*/
@PostMapping("/import")
public List<String> importTraining(@RequestBody List<ExportTraining2> trainingList,
@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
return publishService.importTraining(trainingList, userInfoVO);
}
/**
* 保存为草稿
*/
@PostMapping("/{trainingId}/saveAsDraft")
public void saveAsDraft(@PathVariable("trainingId") Long trainingId,
@RequestAttribute(AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
training2DraftPublishService.saveAsDraft(trainingId, userInfoVO);
}
}

View File

@ -4,15 +4,25 @@ import club.joylink.rtss.services.ISysUserService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.UserQueryVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.client.user.*;
import club.joylink.rtss.vo.client.user.MobileInfoVO;
import club.joylink.rtss.vo.client.user.RetrievePwdVO;
import club.joylink.rtss.vo.client.user.UpdateEmailVO;
import club.joylink.rtss.vo.client.user.UpdateMobileVO;
import club.joylink.rtss.vo.client.user.UpdatePasswordVO;
import club.joylink.rtss.vo.user.AccountCreateVO;
import club.joylink.rtss.vo.user.AccountRegisterVO;
import club.joylink.rtss.vo.user.UserRegisterCheck;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 系统账户接口
@ -21,165 +31,186 @@ import java.util.List;
@RequestMapping("/api/userinfo")
public class SysAccountController {
@Autowired
private ISysUserService iSysUserService;
@Autowired
private ISysUserService iSysUserService;
@PostMapping("/register")
public void register(@RequestBody @Validated(value = UserRegisterCheck.class) AccountCreateVO accountCreateVO) {
this.iSysUserService.register(accountCreateVO);
}
@PostMapping("/register")
public void register(
@RequestBody @Validated(value = UserRegisterCheck.class) AccountCreateVO accountCreateVO) {
this.iSysUserService.register(accountCreateVO);
}
/**
* 新注册接口
*/
@PostMapping("/register2")
public void register2(@RequestBody @Validated AccountRegisterVO registerVO) {
this.iSysUserService.register2(registerVO);
}
/**
* 新注册接口
*/
@PostMapping("/register2")
public void register2(@RequestBody @Validated AccountRegisterVO registerVO) {
this.iSysUserService.register2(registerVO);
}
/**
*根据姓名或电话号查询用户
*/
@GetMapping(path="/nameOrMobile")
public List<AccountVO> queryUserByNameOrMobile(String query) {
List<AccountVO> list = this.iSysUserService.queryUserByNameOrMobile(query);
return list;
}
/**
* 根据姓名或电话号查询用户
*/
@GetMapping(path = "/nameOrMobile")
public List<AccountVO> queryUserByNameOrMobile(String query) {
List<AccountVO> list = this.iSysUserService.queryUserByNameOrMobile(query);
return list;
}
/**
* 手机号是否已经注册
*/
@GetMapping("/isExist/mobile")
public boolean isMobileExist(String mobile) {
return iSysUserService.isSameMobileExist(mobile);
}
/**
* 手机号是否已经注册
*/
@GetMapping("/isExist/mobile")
public boolean isMobileExist(String mobile) {
return iSysUserService.isSameMobileExist(mobile);
}
/**
* 邮箱是否已经注册
*/
@GetMapping("/isExist/email")
public boolean isEmailExist(String email) {
return iSysUserService.isSameEmailExist(email);
}
/**
* 邮箱是否已经注册
*/
@GetMapping("/isExist/email")
public boolean isEmailExist(String email) {
return iSysUserService.isSameEmailExist(email);
}
/**
*根据用户id获取用户信息
*/
@GetMapping(path = "/{id}")
public AccountVO getUserBaseInfoById(@PathVariable Long id) {
return this.iSysUserService.getUserBaseInfoById(id);
}
/**
* 根据用户id获取用户信息
*/
@GetMapping(path = "/{id}")
public AccountVO getUserBaseInfoById(@PathVariable Long id) {
return this.iSysUserService.getUserBaseInfoById(id);
}
/**
*修改用户信息
*/
@PutMapping(path = "/{id}")
public void modify(@PathVariable Long id, @RequestBody AccountVO userInfo, String vdcode) {
this.iSysUserService.modify(id, userInfo, vdcode);
}
/**
* 修改用户信息
*/
@PutMapping(path = "/{id}")
public void modify(@PathVariable Long id, @RequestBody AccountVO userInfo, String vdcode) {
this.iSysUserService.modify(id, userInfo, vdcode);
}
/**
*微信关注事件
*/
@GetMapping(path = "/wxsubscribe")
public void wxSubscribe(@RequestParam String wxId) {
iSysUserService.wxSubscribeEventHandle(wxId);
}
/**
* 微信关注事件
*/
@GetMapping(path = "/wxsubscribe")
public void wxSubscribe(@RequestParam String wxId) {
iSysUserService.wxSubscribeEventHandle(wxId);
}
/**
*批量修改用户的openId为unionId
*/
@PutMapping(path = "/batchchange/unionid")
public void batchChangeOpenId2UnionId() {
this.iSysUserService.batchChangeOpenId2UnionId();
}
/**
* 批量修改用户的openId为unionId
*/
@PutMapping(path = "/batchchange/unionid")
public void batchChangeOpenId2UnionId() {
this.iSysUserService.batchChangeOpenId2UnionId();
}
/**
*更新用户真实姓名
*/
@PutMapping(path = "/{id}/name")
public void updateName(@PathVariable Long id, String name) {
this.iSysUserService.updateUserName(id, name);
}
/**
* 更新用户真实姓名
*/
@PutMapping(path = "/{id}/name")
public void updateName(@PathVariable Long id, String name) {
this.iSysUserService.updateUserName(id, name);
}
/**
*更新用户昵称
*/
@PutMapping(path = "/{id}/nickname")
public void updateNickname(@PathVariable Long id, String nickname) {
this.iSysUserService.updateNickname(id, nickname);
}
/**
* 更新用户昵称
*/
@PutMapping(path = "/{id}/nickname")
public void updateNickname(@PathVariable Long id, String nickname) {
this.iSysUserService.updateNickname(id, nickname);
}
/**
*用户上传头像
*/
@PostMapping(path = "/{id}/avatar")
public void uploadAvatar(@PathVariable Long id, @RequestBody AccountVO accountVO) {
this.iSysUserService.updateAvatar(id, accountVO.getAvatarPath());
}
/**
* 用户上传头像
*/
@PostMapping(path = "/{id}/avatar")
public void uploadAvatar(@PathVariable Long id, @RequestBody AccountVO accountVO) {
this.iSysUserService.updateAvatar(id, accountVO.getAvatarPath());
}
/**
*发送手机验证码
*/
@PostMapping(path = "/mobile/code")
public String sendMobileValidCode(@RequestBody MobileInfoVO mobileInfoVO) {
return this.iSysUserService.sendMobileValidCode(mobileInfoVO);
}
/**
* 发送手机验证码
*/
@PostMapping(path = "/mobile/code")
public String sendMobileValidCode(@RequestBody MobileInfoVO mobileInfoVO) {
return this.iSysUserService.sendMobileValidCode(mobileInfoVO);
}
/**
*发送邮箱验证码
*/
@PostMapping(path = "/email/code")
public String sendEmailValidCode(String email) {
return this.iSysUserService.sendEmailValidCode(email);
}
/**
* 发送邮箱验证码
*/
@PostMapping(path = "/email/code")
public String sendEmailValidCode(String email) {
return this.iSysUserService.sendEmailValidCode(email);
}
/**
*更新用户手机号
*/
@PutMapping(path = "/{id}/mobile")
public void updateMobile(@PathVariable Long id, @RequestBody @Validated UpdateMobileVO updateMobileVO) {
this.iSysUserService.updateMobile(id, updateMobileVO);
}
/**
* 更新用户手机号
*/
@PutMapping(path = "/{id}/mobile")
public void updateMobile(@PathVariable Long id,
@RequestBody @Validated UpdateMobileVO updateMobileVO) {
this.iSysUserService.updateMobile(id, updateMobileVO);
}
/**
*更新用户邮箱
*/
@PutMapping(path = "/{id}/email")
public void updateEmail(@PathVariable Long id, @RequestBody @Validated UpdateEmailVO updateEmailVO) {
this.iSysUserService.updateEmail(id, updateEmailVO);
}
/**
* 更新用户邮箱
*/
@PutMapping(path = "/{id}/email")
public void updateEmail(@PathVariable Long id,
@RequestBody @Validated UpdateEmailVO updateEmailVO) {
this.iSysUserService.updateEmail(id, updateEmailVO);
}
/**
*更新用户登陆密码
*/
@PutMapping(path = "/{id}/password")
public void updatePassword(@PathVariable Long id, @RequestBody @Validated UpdatePasswordVO updatePasswordVO) {
this.iSysUserService.updatePassword(id, updatePasswordVO);
}
/**
* 更新用户登陆密码
*/
@PutMapping(path = "/{id}/password")
public void updatePassword(@PathVariable Long id,
@RequestBody @Validated UpdatePasswordVO updatePasswordVO) {
this.iSysUserService.updatePassword(id, updatePasswordVO);
}
/**
* 按条件分页查询指定来源的账号
*/
@GetMapping("/page/criteria/{source}")
public PageVO<AccountVO> queryPagedAccountOfTheSource(UserQueryVO queryVO, @PathVariable String source) {
queryVO.setSource(source);
return this.iSysUserService.queryPagedUser(queryVO);
}
/**
* 按条件分页查询指定来源的账号
*/
@GetMapping("/page/criteria/{source}")
public PageVO<AccountVO> queryPagedAccountOfTheSource(UserQueryVO queryVO,
@PathVariable String source) {
queryVO.setSource(source);
return this.iSysUserService.queryPagedUser(queryVO);
}
/**
* 超管重置用户密码
*/
@PutMapping("/{id}/reset/pwd")
public void resetPwd(@PathVariable long id) {
iSysUserService.resetPwd(id);
}
/**
* 超管重置用户密码
*/
@PutMapping("/{id}/reset/pwd")
public void resetPwd(@PathVariable long id) {
iSysUserService.resetPwd(id);
}
/**
* 找回密码
*/
@PutMapping("/retrieve/pwd")
public void retrievePwd(@RequestBody @Validated RetrievePwdVO vo) {
iSysUserService.retrievePwd(vo);
}
/**
* 找回密码
*/
@PutMapping("/retrieve/pwd")
public void retrievePwd(@RequestBody @Validated RetrievePwdVO vo) {
iSysUserService.retrievePwd(vo);
}
/**
* 根据用户id列表获取用户信息
*/
@PostMapping("/list/ids")
public List<AccountVO> listByIds(@RequestBody List<Long> ids) {
return iSysUserService.listByIds(ids);
}
/**
* 查询所有用户
*/
@GetMapping("/list/all")
public List<AccountVO> listAll() {
return iSysUserService.listAll();
}
}

View File

@ -6,7 +6,6 @@ import club.joylink.rtss.services.ISysUserService;
import club.joylink.rtss.services.local.UserGenerateService;
import club.joylink.rtss.services.permission.OldPermissionDataSyncService;
import club.joylink.rtss.services.student.IDepartUserStatisticService;
import club.joylink.rtss.util.VoiceFileUtils;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.LoginUserInfoVO;
import club.joylink.rtss.vo.UserQueryVO;
@ -17,18 +16,19 @@ import club.joylink.rtss.vo.client.user.WeChatBindStatusVO;
import club.joylink.rtss.vo.user.AccountCreateVO;
import club.joylink.rtss.vo.user.CreateAccountCheck;
import club.joylink.rtss.vo.user.UserGenerateConfigVO;
import com.google.common.collect.Lists;
import org.apache.tomcat.util.http.fileupload.FileUtils;
import java.util.List;
import javax.validation.constraints.NotBlank;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import java.io.*;
import java.util.List;
import java.util.Objects;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 用户配置接口
@ -37,136 +37,135 @@ import java.util.Objects;
@RequestMapping("/api/user")
public class UserController {
@Autowired
private ISysUserService iSysUserService;
@Autowired
private ISysUserService iSysUserService;
@Autowired
private UserGenerateService userGenerateService;
@Autowired
private UserGenerateService userGenerateService;
@Autowired
private IDepartUserStatisticService iDepartUserStatisticService;
@Autowired
private IDepartUserStatisticService iDepartUserStatisticService;
@Autowired
private OldPermissionDataSyncService syncService;
/**
*生成线下环境用户
*/
@Role({RoleEnum.SuperAdmin})
@PostMapping(path = "/generate/offline")
public void generateOfflineUsers(@RequestBody @Validated UserGenerateConfigVO generateConfigVO,
@RequestAttribute AccountVO user) {
this.userGenerateService.generateOfflineUser(generateConfigVO, user);
}
@Autowired
private OldPermissionDataSyncService syncService;
@Role({RoleEnum.SuperAdmin, RoleEnum.Admin})
@PostMapping(path = "")
public void createAccount(@RequestBody @Validated(CreateAccountCheck.class) AccountCreateVO accountCreateVO,
@RequestAttribute AccountVO user) {
this.iSysUserService.createAccount(accountCreateVO, user);
}
@Role({RoleEnum.SuperAdmin, RoleEnum.Admin})
@GetMapping(path = "sync")
public List<String> sync(){
if(!this.syncService.initData()){
throw new RuntimeException("正在同步。。。");
}
return this.syncService.sync();
}
/**
*分页获取用户数据
*/
@Role({RoleEnum.Admin, RoleEnum.SuperAdmin})
@GetMapping(path = "")
public PageVO<AccountVO> queryPagedUser(UserQueryVO queryVO) {
return this.iSysUserService.queryPagedUser(queryVO);
}
/**
* 生成线下环境用户
*/
@Role({RoleEnum.SuperAdmin})
@PostMapping(path = "/generate/offline")
public void generateOfflineUsers(@RequestBody @Validated UserGenerateConfigVO generateConfigVO,
@RequestAttribute AccountVO user) {
this.userGenerateService.generateOfflineUser(generateConfigVO, user);
}
/**
*修改用户角色
*/
@Role(RoleEnum.SuperAdmin)
@PutMapping(path = "/{id}/role")
public void updateUserRole(@PathVariable Long id, @RequestBody AccountVO accountVO, @RequestAttribute AccountVO user) {
this.iSysUserService.updateUserRole(id, user.getId(), accountVO);
}
@Role({RoleEnum.SuperAdmin, RoleEnum.Admin})
@PostMapping(path = "")
public void createAccount(
@RequestBody @Validated(CreateAccountCheck.class) AccountCreateVO accountCreateVO,
@RequestAttribute AccountVO user) {
this.iSysUserService.createAccount(accountCreateVO, user);
}
/**
*超管修改用户信息
*/
@Role(RoleEnum.SuperAdmin)
@PutMapping("/superAdmin/update/userInfo")
public void superAdminUpdateUserInfo(@RequestBody AccountVO updateUser, @RequestAttribute AccountVO user) {
iSysUserService.superAdminUpdateUserInfo(updateUser, user);
}
/**
* 分页获取用户数据
*/
@Role({RoleEnum.Admin, RoleEnum.SuperAdmin})
@GetMapping(path = "")
public PageVO<AccountVO> queryPagedUser(UserQueryVO queryVO) {
return this.iSysUserService.queryPagedUser(queryVO);
}
@Role(RoleEnum.SuperAdmin)
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
this.iSysUserService.logicDelete(id);
}
/**
* 修改用户角色
*/
@Role(RoleEnum.SuperAdmin)
@PutMapping(path = "/{id}/role")
public void updateUserRole(@PathVariable Long id, @RequestBody AccountVO accountVO,
@RequestAttribute AccountVO user) {
this.iSysUserService.updateUserRole(id, user.getId(), accountVO);
}
/**
* 修改用户密码
*/
@PutMapping(path = "/{id}/password")
public void updateUserPassword(@PathVariable Long id, @RequestBody AccountVO accountVO, @RequestAttribute AccountVO user) {
this.iSysUserService.updateUserPassword(id, accountVO.getPassword());
}
/**
* 超管修改用户信息
*/
@Role(RoleEnum.SuperAdmin)
@PutMapping("/superAdmin/update/userInfo")
public void superAdminUpdateUserInfo(@RequestBody AccountVO updateUser,
@RequestAttribute AccountVO user) {
iSysUserService.superAdminUpdateUserInfo(updateUser, user);
}
/**
* 获取微信小程序绑定二维码
*/
@GetMapping(path = "/bind/wm/url")
public WeChatBindStatusVO getWeChatBindUrl(@RequestAttribute LoginUserInfoVO loginInfo) {
return this.iSysUserService.getWeChatBindUrl(loginInfo);
}
@Role(RoleEnum.SuperAdmin)
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
this.iSysUserService.logicDelete(id);
}
/**
* 用户绑定微信小程序
*/
@PutMapping(path = "/bind/wm")
public void userBindWm(String code, Long userId) {
this.iSysUserService.userBindWm(code, userId);
}
/**
* 修改用户密码
*/
@PutMapping(path = "/{id}/password")
public void updateUserPassword(@PathVariable Long id, @RequestBody AccountVO accountVO,
@RequestAttribute AccountVO user) {
this.iSysUserService.updateUserPassword(id, accountVO.getPassword());
}
/**
* 获取用户总数量
*/
@GetMapping(path = "/amount")
public int getUserAmount() {
return iSysUserService.getUserAmount();
}
/**
* 获取微信小程序绑定二维码
*/
@GetMapping(path = "/bind/wm/url")
public WeChatBindStatusVO getWeChatBindUrl(@RequestAttribute LoginUserInfoVO loginInfo) {
return this.iSysUserService.getWeChatBindUrl(loginInfo);
}
/**
* 分页获取用户数据模糊查询
*/
@GetMapping(path = "/fuzzy")
public List<AccountVO> fuzzyQueryPagedUser(@NotBlank(message = "参数不能为空") String fuzzyParam) {
return this.iSysUserService.fuzzyQueryPagedUser(fuzzyParam);
}
/**
* 用户绑定微信小程序
*/
@PutMapping(path = "/bind/wm")
public void userBindWm(String code, Long userId) {
this.iSysUserService.userBindWm(code, userId);
}
/**
* 导出部门学生信息及成绩接口
*/
@PutMapping(path = "/scores")
public List<ExportStudentInfo> getStudentSores(@Validated @RequestBody StudentInfoExportParam infoExportParam) {
return this.iDepartUserStatisticService.studentInfoStatistics(infoExportParam);
}
/**
* 获取用户总数量
*/
@GetMapping(path = "/amount")
public int getUserAmount() {
return iSysUserService.getUserAmount();
}
/**
* 查询销售人员
*/
@GetMapping("/seller")
public List<AccountVO> querySellers() {
return iSysUserService.querySellers();
}
/**
* 分页获取用户数据模糊查询
*/
@GetMapping(path = "/fuzzy")
public List<AccountVO> fuzzyQueryPagedUser(@NotBlank(message = "参数不能为空") String fuzzyParam) {
return this.iSysUserService.fuzzyQueryPagedUser(fuzzyParam);
}
/**
*查询管理和超管
*/
@Role({RoleEnum.Admin, RoleEnum.SuperAdmin})
@GetMapping("/adminAndSuperAdmin")
public List<AccountVO> queryAdminsAndSuperAdmins() {
return iSysUserService.queryAdminsAndSuperAdmins();
}
/**
* 导出部门学生信息及成绩接口
*/
@PutMapping(path = "/scores")
public List<ExportStudentInfo> getStudentSores(
@Validated @RequestBody StudentInfoExportParam infoExportParam) {
return this.iDepartUserStatisticService.studentInfoStatistics(infoExportParam);
}
/**
* 查询销售人员
*/
@GetMapping("/seller")
public List<AccountVO> querySellers() {
return iSysUserService.querySellers();
}
/**
* 查询管理和超管
*/
@Role({RoleEnum.Admin, RoleEnum.SuperAdmin})
@GetMapping("/adminAndSuperAdmin")
public List<AccountVO> queryAdminsAndSuperAdmins() {
return iSysUserService.queryAdminsAndSuperAdmins();
}
}

View File

@ -0,0 +1,49 @@
package club.joylink.rtss.controller.user;
import club.joylink.rtss.services.user.UserSimulationRecordService;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.client.simulationUsage.UserSimulationQueryVO;
import club.joylink.rtss.vo.client.simulationUsage.UserSimulationRecordVO;
import club.joylink.rtss.vo.client.simulationUsage.UserSimulationStatsVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 用户使用记录管理接口
*/
@RestController
@RequestMapping(path = "/api/record")
public class UserUsageRecordController {
@Autowired
private UserSimulationRecordService userSimulationRecordService;
/**
* 列表查询用户使用记录统计
*/
@GetMapping("/stats/list/criteria/{userId}")
public List<UserSimulationStatsVO> listSimulationUsageStats(@PathVariable long userId, UserSimulationQueryVO queryVO) {
return userSimulationRecordService.listSimulationUsageStats(userId, queryVO);
}
/**
* 查询项目下所有地图的仿真使用统计
*/
@GetMapping("/stats/list/criteria/project/{projectCode}")
public List<UserSimulationStatsVO> listSimulationUsageStats(@PathVariable String projectCode, UserSimulationQueryVO queryVO) {
return userSimulationRecordService.listSimulationUsageStats(projectCode, queryVO);
}
/**
* 分页查询仿真使用记录
*/
@GetMapping("/page/criteria/{accountSource}")
public PageVO<UserSimulationRecordVO> pagedQuerySimulationRecord(@PathVariable String accountSource, UserSimulationQueryVO queryVO) {
return userSimulationRecordService.pagedQueryUserSimulationRecord(accountSource, queryVO);
}
}

View File

@ -1,180 +0,0 @@
package club.joylink.rtss.controller.user;
import club.joylink.rtss.constants.RoleEnum;
import club.joylink.rtss.controller.advice.Role;
import club.joylink.rtss.services.IUserUsageStatsService;
import club.joylink.rtss.services.user.IUserSimulationStatService;
import club.joylink.rtss.vo.AccountVO;
import club.joylink.rtss.vo.client.*;
import club.joylink.rtss.vo.client.simulationUsage.*;
import club.joylink.rtss.vo.client.trainingUsage.UserTrainingRecordVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*用户使用数据统计接口
*/
@RestController
@RequestMapping(path = "/api/stats")
public class UserUsageStatsController {
@Autowired
private IUserUsageStatsService iUserUsageStatsService;
@Autowired
private IUserSimulationStatService iUserSimulationStatService;
/**
* 课程列表
*/
@GetMapping(path = "/lesson/list")
public List<UserRankStatsVO> queryLessonList(@RequestAttribute AccountVO user) {
return this.iUserUsageStatsService.queryLessonList(user);
}
/**
* 课程统计排名
*/
@GetMapping(path = "/lesson/{lessonId}/rank")
public List<UserRankStatsVO> lessonRank(@PathVariable Long lessonId, @RequestAttribute AccountVO user) {
return this.iUserUsageStatsService.lessonRank(lessonId, user);
}
/**
* 个人课程实训数据统计
*/
@GetMapping(path = "/lesson/{lessonId}/stats")
public List<UserRankStatsVO> lessonPersonalStats(@PathVariable Long lessonId, @RequestAttribute AccountVO user) {
return this.iUserUsageStatsService.personalLessonStats(lessonId, user);
}
/**
* 查询参与考试的课程列表
*/
@GetMapping(path = "/exam/lessonList")
public List<UserRankStatsVO> queryExamLessonList(@RequestAttribute AccountVO user) {
return this.iUserUsageStatsService.queryExamLessonList(user);
}
/**
* 查询参与考试的试题列表
*/
@GetMapping(path = "/exam/{lessonId}/list")
public List<UserRankStatsVO> queryExamList(@PathVariable Long lessonId, @RequestAttribute AccountVO user) {
return this.iUserUsageStatsService.queryExamList(lessonId, user);
}
/**
* 考试排名
*/
@GetMapping(path = "/exam/{examId}/rank")
public List<UserRankStatsVO> examRank(@PathVariable long examId, @RequestAttribute AccountVO user) {
return this.iUserUsageStatsService.examRank(examId, user);
}
/**
* 个人考试数据统计
*/
@GetMapping(path = "/exam/{examId}/stats")
public List<UserRankStatsVO> examPersonalStats(@PathVariable long examId, @RequestAttribute AccountVO user) {
return this.iUserUsageStatsService.examPersonalStats(examId, user);
}
/**
* 查询参与仿真的地图列表
*/
@GetMapping(path = "/simulation/mapList")
public List<UserRankStatsVO> querySimulationMapList(@RequestAttribute AccountVO user) {
return iUserSimulationStatService.querySimulationMapList(user);
}
/**
* 查询参与仿真的产品列表
*/
@GetMapping(path = "/simulation/{mapId}/prdList")
public List<UserRankStatsVO> querySimulationPrdList(@PathVariable Long mapId, @RequestAttribute AccountVO user) {
return iUserSimulationStatService.querySimulationPrdList(mapId, user);
}
/**
* 仿真时长排名
*/
@GetMapping(path = "/simulation/{mapId}/{prdType}/rank")
public List<UserRankStatsVO> simulationRank(@PathVariable Long mapId, @PathVariable String prdType, @RequestAttribute AccountVO user) {
return iUserSimulationStatService.simulationRank(mapId, prdType, user);
}
/**
* 个人仿真数据统计
*/
@GetMapping(path = "/simulation/{mapId}/stats")
public List<UserRankStatsVO> simulationPersonalStats(@PathVariable Long mapId, @RequestAttribute AccountVO user) {
return iUserSimulationStatService.simulationPersonalStats(mapId, user);
}
/**
* 统计各系统总时长
*/
@GetMapping(path = "/total")
public List<UsageTotalStatsVO> totalSimulationDuration(boolean filter) {
return iUserUsageStatsService.totalDuration(filter);
}
/**
* 分页查询用户仿真数据
*/
@GetMapping("/simulation")
public PageVO<UserSimulationStatsListVO> queryPagedStats(UserSimulationStatsQueryVO queryVO) {
return iUserSimulationStatService.queryPagedStats(queryVO);
}
/**
* 添加用户仿真数据
*/
@Role(value = {RoleEnum.SuperAdmin, RoleEnum.Admin})
@PostMapping(path = "/simulation")
public void addUserSimulationStats(@RequestBody @Validated UserSimulationStatsVO statsVO,
@RequestAttribute AccountVO user) {
iUserSimulationStatService.addUserSimulationStats(statsVO, user);
}
/**
* 更新用户仿真数据
*/
@Role(value = {RoleEnum.SuperAdmin, RoleEnum.Admin})
@PutMapping(path = "/{statsId}")
public void updateUserSimulationStats(@PathVariable Long statsId,
@RequestBody UserSimulationStatsVO statsVO,
@RequestAttribute AccountVO user) {
iUserSimulationStatService.updateUserSimulationStats(statsId, statsVO, user);
}
/**
* 删除用户仿真数据
*/
@Role(value = {RoleEnum.SuperAdmin, RoleEnum.Admin})
@DeleteMapping(path = "/{statsId}")
public void deleteUserSimulationStats(@PathVariable Long statsId, @RequestAttribute AccountVO user) {
iUserSimulationStatService.deleteUserSimulationStats(statsId, user);
}
/**
* 分页查询仿真使用记录
*/
@GetMapping("/simulation/page/criteria/{accountSource}")
public PageVO<UserSimulationRecordVO> pagedQuerySimulationRecord(@PathVariable String accountSource, UserSimulationQueryVO queryVO) {
return iUserSimulationStatService.pagedQuerySimulationRecord(accountSource, queryVO);
}
/**
* 分页查询实训使用记录
*/
@GetMapping("/training/page/criteria/{accountSource}")
public PageVO<UserTrainingRecordVO> pagedQueryTrainingRecord(@PathVariable String accountSource, UserSimulationQueryVO queryVO) {
return iUserUsageStatsService.pagedQueryTrainingRecord(accountSource, queryVO);
}
}

View File

@ -4,11 +4,14 @@ import club.joylink.rtss.services.voice.IVoiceTrainingService;
import club.joylink.rtss.services.voice.baidu.TokenHolder;
import club.joylink.rtss.vo.client.PageQueryVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.client.voice.VoiceRecognitionResult;
import club.joylink.rtss.vo.client.competition.VoiceErrorVO;
import club.joylink.rtss.vo.client.voice.VoiceRecognitionResult;
import club.joylink.rtss.vo.voice.VoiceVerifyResultVO;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
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;
import org.springframework.web.multipart.MultipartFile;
@ -20,34 +23,46 @@ import org.springframework.web.multipart.MultipartFile;
@RequestMapping("/api/voice")
public class VoiceController {
@Autowired
private IVoiceTrainingService iVoiceTrainingService;
@Autowired
private IVoiceTrainingService iVoiceTrainingService;
/**
* 语音识别
* @param file
* @return
*/
@PostMapping("recognition")
public VoiceRecognitionResult voiceRecognition(MultipartFile file) {
return iVoiceTrainingService.voiceRecognition(file);
}
/**
* 语音识别
*
* @param file
* @return
*/
@PostMapping("recognition")
public VoiceRecognitionResult voiceRecognition(MultipartFile file) {
return iVoiceTrainingService.voiceRecognition(file);
}
/**
* 查询语音识别错误集
* @param queryVO
* @return
*/
@GetMapping("/errorSet/paged")
public PageVO<VoiceErrorVO> pagedQueryErrorSet(PageQueryVO queryVO) {
return iVoiceTrainingService.pagedQueryErrorSet(queryVO);
}
/**
* 查询语音识别错误集
*
* @param queryVO
* @return
*/
@GetMapping("/errorSet/paged")
public PageVO<VoiceErrorVO> pagedQueryErrorSet(PageQueryVO queryVO) {
return iVoiceTrainingService.pagedQueryErrorSet(queryVO);
}
/**
* 获取百度语音识别token
*/
@GetMapping("/token/baidu")
public String getBaiduToken() {
return TokenHolder.getInstance().getToken();
}
/**
* 获取百度语音识别token
*/
@GetMapping("/token/baidu")
public String getBaiduToken() {
return TokenHolder.getInstance().getToken();
}
/**
* 校验语音识别结果
*/
@PostMapping("/verify")
public VoiceVerifyResultVO verifyVoice(HttpServletRequest request, @RequestBody byte[] fileData,
String text) {
String contentType = request.getHeader("Content-Type");
return iVoiceTrainingService.verifyVoice(contentType, fileData, text);
}
}

View File

@ -2,51 +2,55 @@ package club.joylink.rtss.controller.voice;
import club.joylink.rtss.controller.advice.AuthenticateInterceptor;
import club.joylink.rtss.services.voice.IVoiceDataConfigService;
import club.joylink.rtss.services.voice.IVoiceTrainingService;
import club.joylink.rtss.services.voice.baidu.TokenHolder;
import club.joylink.rtss.vo.LoginUserInfoVO;
import club.joylink.rtss.vo.client.PageQueryVO;
import club.joylink.rtss.vo.client.PageVO;
import club.joylink.rtss.vo.client.competition.VoiceErrorVO;
import club.joylink.rtss.vo.client.voice.VoiceRecognitionResult;
import club.joylink.rtss.vo.voice.VoiceDiscriminateConfigVO;
import club.joylink.rtss.vo.voice.VoiceQueryVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 语音AI接口
* 语音管理接口
*/
@RestController
@RequestMapping("/api/voice/manage")
public class VoiceManageController {
@Autowired
private IVoiceDataConfigService configService;
@Autowired
private IVoiceDataConfigService configService;
@PostMapping("saveOrUpdate")
public void saveOrUpdate(@RequestBody VoiceDiscriminateConfigVO configVO, @RequestAttribute(name= AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
this.configService.saveOrUpdate(configVO,userInfoVO);
}
@PostMapping("saveOrUpdate")
public void saveOrUpdate(@RequestBody VoiceDiscriminateConfigVO configVO,
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
this.configService.saveOrUpdate(configVO, userInfoVO);
}
@GetMapping("find/{id}")
public VoiceDiscriminateConfigVO find(@PathVariable(value = "id") Long id) {
return this.configService.byId(id);
}
@GetMapping("find/{id}")
public VoiceDiscriminateConfigVO find(@PathVariable(value = "id") Long id) {
return this.configService.byId(id);
}
@GetMapping("query")
public PageVO<VoiceDiscriminateConfigVO> query(@ModelAttribute VoiceQueryVO queryVO){
return this.configService.query(queryVO);
}
@GetMapping("query")
public PageVO<VoiceDiscriminateConfigVO> query(@ModelAttribute VoiceQueryVO queryVO) {
return this.configService.query(queryVO);
}
/**
* 获取百度语音识别token
*/
@GetMapping("{id}/{status}")
public void changeStatus(@PathVariable(value = "id") Long id,@PathVariable(value = "status")Integer status,@RequestAttribute(name= AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
this.configService.changeStatus(id,status,userInfoVO);
}
/**
* 获取百度语音识别token
*/
@GetMapping("{id}/{status}")
public void changeStatus(@PathVariable(value = "id") Long id,
@PathVariable(value = "status") Integer status,
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_INFO_KEY) LoginUserInfoVO userInfoVO) {
this.configService.changeStatus(id, status, userInfoVO);
}
}

View File

@ -0,0 +1,12 @@
package club.joylink.rtss.dao;
import club.joylink.rtss.entity.AlarmTips;
import club.joylink.rtss.entity.AlarmTipsExample;
import org.springframework.stereotype.Repository;
/**
* AlarmTipsDAO继承基类
*/
@Repository
public interface AlarmTipsDAO extends MyBatisBaseDao<AlarmTips, Long, AlarmTipsExample> {
}

View File

@ -0,0 +1,12 @@
package club.joylink.rtss.dao;
import club.joylink.rtss.entity.CgyView;
import club.joylink.rtss.entity.CgyViewExample;
import org.springframework.stereotype.Repository;
/**
* CgyViewDAO继承基类
*/
@Repository
public interface CgyViewDAO extends MyBatisBaseDao<CgyView, String, CgyViewExample> {
}

View File

@ -1,12 +0,0 @@
//package club.joylink.rtss.dao;
//
//import club.joylink.rtss.entity.Company;
//import club.joylink.rtss.entity.CompanyExample;
//import org.springframework.stereotype.Repository;
//
///**
// * CompanyDAO继承基类
// */
////@Repository
////public interface CompanyDAO extends MyBatisBaseDao<Company, Integer, CompanyExample> {
////}

View File

@ -74,4 +74,6 @@ public interface PublishedTraining2DAO {
List<Long> selectTrainingIdByRuleNameAndMapId(@Param("ruleNameList") List<Map<String,String>> ruleNameMapList, @Param("mapId") Long mapId);
int updateTrainingOrgByMapIdList(@Param("orgId") Long orgId, @Param("mapIdList") List<Long> mapIdList);
void updateTrainingLabelList(@Param("list") List<PublishedTraining2> training2List);
}

View File

@ -1,15 +0,0 @@
package club.joylink.rtss.dao;
import club.joylink.rtss.entity.conversation.RtsConversationGroupInfo;
import club.joylink.rtss.entity.conversation.RtsConversationGroupInfoExample;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface RtsConversationGroupInfoMapper extends MyBatisBaseDao<RtsConversationGroupInfo, Long, RtsConversationGroupInfoExample> {
List<RtsConversationGroupInfo> selectByExampleWithBLOBs(RtsConversationGroupInfoExample example);
int updateByExampleWithBLOBs(@Param("record") RtsConversationGroupInfo record, @Param("example") RtsConversationGroupInfoExample example);
int updateByPrimaryKeyWithBLOBs(RtsConversationGroupInfo record);
}

View File

@ -0,0 +1,12 @@
package club.joylink.rtss.dao;
import club.joylink.rtss.entity.UserSimulationRecord;
import club.joylink.rtss.entity.UserSimulationRecordExample;
import org.springframework.stereotype.Repository;
/**
* UserSimulationRecordDAO继承基类
*/
@Repository
public interface UserSimulationRecordDAO extends MyBatisBaseDao<UserSimulationRecord, Long, UserSimulationRecordExample> {
}

View File

@ -14,8 +14,9 @@ import java.util.List;
@Mapper
@Repository
public interface PaperQuestionDAO {
@Select("<script>" +
"select * from rts_paper_question where 1 = 1 " +
@Select("<script>" +
"select * from rts_paper_question where 1 = 1 " +
// "<choose>" +
// "<when test=\"projectCode == '"+ Project.DEFAULT_PROJECT_CODE +"'\">"+
// " and project_code is null" +
@ -24,48 +25,54 @@ public interface PaperQuestionDAO {
// " and project_code = #{projectCode} "+
// " </otherwise>" +
// "</choose>" +
" and org_id = #{companyId,jdbcType=BIGINT} " +
" and org_id = #{companyId,jdbcType=BIGINT} " +
// "<if test=\"companyIdList != null and companyIdList.size > 0\">"+
// "<foreach collection=\"companyIdList\" open=\" and company_id in (\" close=\")\" item=\"d\" separator=\",\">"+
// " #{d} "+
// "</foreach></if>"+
" and is_del= #{isDelete,jdbcType=INTEGER} " +
"<if test=\"types != null and types.size > 0\">"+
"<foreach collection=\"types\" open=\" and type in (\" close=\")\" item=\"d\" separator=\",\">"+
" #{d} "+
"</foreach></if>"+
"<if test=\"lable != null and lable.size > 0\"> " +
" <foreach collection=\"lable\" open=\" and (\" close=\")\" item=\"d\" separator=\" or \"> "+
" find_in_set(#{d},race_lable) > 0 "+
" </foreach>" +
"</if>" +
"</script>")
List<PaperQuestionWithBLOBs> findFromAndRaceLable(Long companyId,int isDelete, List<String> lable, List<String> types);
long countByExample(PaperQuestionExample example);
" and is_del= #{isDelete,jdbcType=INTEGER} " +
"<if test=\"types != null and types.size > 0\">" +
"<foreach collection=\"types\" open=\" and type in (\" close=\")\" item=\"d\" separator=\",\">" +
" #{d} " +
"</foreach></if>" +
"<if test=\"lable != null and lable.size > 0\"> " +
" <foreach collection=\"lable\" open=\" and (\" close=\")\" item=\"d\" separator=\" or \"> " +
" find_in_set(#{d},race_lable) > 0 " +
" </foreach>" +
"</if>" +
"</script>")
List<PaperQuestionWithBLOBs> findFromAndRaceLable(Long companyId, int isDelete, List<String> lable, List<String> types);
int deleteByExample(PaperQuestionExample example);
@Select("<script>" +
"select id from rts_paper_question where org_id = #{orgId} "
+ "</script>")
List<Long> findAllId(@Param("orgId") Long id);
int deleteByPrimaryKey(Long id);
long countByExample(PaperQuestionExample example);
int insert(PaperQuestionWithBLOBs record);
int deleteByExample(PaperQuestionExample example);
int insertSelective(PaperQuestionWithBLOBs record);
int deleteByPrimaryKey(Long id);
List<PaperQuestionWithBLOBs> selectByExampleWithBLOBs(PaperQuestionExample example);
int insert(PaperQuestionWithBLOBs record);
List<PaperQuestion> selectByExample(PaperQuestionExample example);
int insertSelective(PaperQuestionWithBLOBs record);
PaperQuestionWithBLOBs selectByPrimaryKey(Long id);
List<PaperQuestionWithBLOBs> selectByExampleWithBLOBs(PaperQuestionExample example);
int updateByExampleSelective(@Param("record") PaperQuestionWithBLOBs record, @Param("example") PaperQuestionExample example);
List<PaperQuestion> selectByExample(PaperQuestionExample example);
int updateByExampleWithBLOBs(@Param("record") PaperQuestionWithBLOBs record, @Param("example") PaperQuestionExample example);
PaperQuestionWithBLOBs selectByPrimaryKey(Long id);
int updateByExample(@Param("record") PaperQuestion record, @Param("example") PaperQuestionExample example);
int updateByExampleSelective(@Param("record") PaperQuestionWithBLOBs record, @Param("example") PaperQuestionExample example);
int updateByPrimaryKeySelective(PaperQuestionWithBLOBs record);
int updateByExampleWithBLOBs(@Param("record") PaperQuestionWithBLOBs record, @Param("example") PaperQuestionExample example);
int updateByPrimaryKeyWithBLOBs(PaperQuestionWithBLOBs record);
int updateByExample(@Param("record") PaperQuestion record, @Param("example") PaperQuestionExample example);
int updateByPrimaryKey(PaperQuestion record);
int updateByPrimaryKeySelective(PaperQuestionWithBLOBs record);
int updateByPrimaryKeyWithBLOBs(PaperQuestionWithBLOBs record);
int updateByPrimaryKey(PaperQuestion record);
}

View File

@ -2,121 +2,125 @@ package club.joylink.rtss.dao.permission;
import club.joylink.rtss.entity.permission.PermissionSubject;
import club.joylink.rtss.entity.permission.PermissionSubjectExample;
import club.joylink.rtss.vo.permission.PermissionDistributeStatusEnum;
import club.joylink.rtss.vo.permission.PermissionSubjectStatusEnum;
import club.joylink.rtss.vo.permission.subject.PermissionSubjectQueryVO;
import club.joylink.rtss.vo.permission.subject.PermissionSubjectVO;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface PermissionSubjectDAO {
@Select("<script>" +
"select A.id,A.subject_type,A.subject_id," +
"(case when A.subject_type = 'user' then B.name when A.subject_type = 'org' then C.name when A.subject_type = 'project' then E.name end) as named," +
"(case when A.subject_type = 'user' then B.nickname else '' end) as nick_name," +
"(case when A.subject_type = 'project' then E.code else '' end ) as project_code,"+
" A.amount,A.remains,A.status,A.forever,A.start_time,A.end_time,A.create_time," +
" D.name as permission_name,A.permission_id,A.distribute_id,D.map_id,D.project_code as permission_project_code,D.permission_type " +
" from rts_permission_subject A left join sys_account B on A.subject_type = 'user' and A.subject_id = B.id " +
" left join org C on A.subject_type = 'org' and A.subject_id = C.id " +
" left join rts_project E on A.subject_type = 'project' and A.subject_id = E.id " +
" left join rts_permission D on A.permission_id = D.id " +
//" left join rts_distribute E on A.distribute_id = E.id " +
" where 1 = 1 " +
@Select("<script>" +
"select A.id,A.subject_type,A.subject_id," +
"(case when A.subject_type = 'user' then B.name when A.subject_type = 'org' then C.name when A.subject_type = 'project' then E.name end) as named,"
+
"(case when A.subject_type = 'user' then B.nickname else '' end) as nick_name," +
"(case when A.subject_type = 'project' then E.code else '' end ) as project_code," +
" A.amount,A.remains,A.status,A.forever,A.start_time,A.end_time,A.create_time," +
" D.name as permission_name,A.permission_id,A.distribute_id,D.map_id,D.project_code as permission_project_code,D.permission_type "
+
" from rts_permission_subject A left join sys_account B on A.subject_type = 'user' and A.subject_id = B.id "
+
" left join org C on A.subject_type = 'org' and A.subject_id = C.id " +
" left join rts_project E on A.subject_type = 'project' and A.subject_id = E.id " +
" left join rts_permission D on A.permission_id = D.id " +
//" left join rts_distribute E on A.distribute_id = E.id " +
" where 1 = 1 " +
/*"<if test=\"mapId != null and mapId != 0\"> " +
" and E.map_id = #{mapId} " +
"</if> " +*/
" and (C.id = #{orgId} or B.id = #{userId} or E.code = #{projectCode}) " +
" and A.status = #{status}" +
"</script>")
List<PermissionSubjectVO> findPermissionWithMapIdAndUserInfo(/*@Param("mapId") Long mapId,*/@Param("orgId") Long orgId,@Param("userId") Long userId,@Param("status") Integer status,@Param("projectCode") String projectCode);
@Select("<script>" +
"select A.id,A.subject_type,A.subject_id, " +
"(case when A.subject_type = 'user' then B.name when A.subject_type = 'org' then C.name when A.subject_type = 'project' then E.name end) as named," +
"(case when A.subject_type = 'user' then B.nickname else '' end) as nick_name," +
"(case when A.subject_type = 'project' then E.code else '' end ) as project_code,"+
"B.name as permission_name,A.permission_id " +
" from rts_permission_subject A left join rts_permission B on A.permission_id = B.id" +
" left join sys_account C on A.subject_type = 'user' and A.subject_id = C.id " +
" left join org D on A.subject_type = 'org' and A.subject_id = C.id " +
" left join rts_project E on A.subject_type = 'project' and A.subject_id = E.id " +
" where 1 = 1 and A.parent_id in " +
"<if test=\"idList != null and idList.size > 0\"> " +
" <foreach collection=\"idList\" open=\"(\" close=\")\" item=\"d\" separator=\" , \"> "+
" #{d}"+
" </foreach>" +
"</if> " +
"order by id asc" +
"</script>")
List<PermissionSubjectVO> findDistributePermission(List<Long> idList);
" and (C.id = #{orgId} or B.id = #{userId} or E.code = #{projectCode}) " +
" and A.status = #{status}" +
"</script>")
List<PermissionSubjectVO> findPermissionWithMapIdAndUserInfo(/*@Param("mapId") Long mapId,*/
@Param("orgId") Long orgId, @Param("userId") Long userId, @Param("status") Integer status,
@Param("projectCode") String projectCode);
@Select("<script>" +
"select A.id,A.subject_type,A.subject_id," +
"(case when A.subject_type = 'user' then B.name when A.subject_type = 'org' then C.name when A.subject_type = 'project' then E.name end) as named," +
"(case when A.subject_type = 'user' then B.nickname else '' end) as nick_name," +
"(case when A.subject_type = 'project' then E.code else '' end ) as project_code,"+
"A.amount,A.remains,A.status,A.forever,A.start_time,A.end_time,A.create_time,D.name as permission_name,A.permission_id " +
" from rts_permission_subject A left join sys_account B on A.subject_type = 'user' and A.subject_id = B.id " +
" left join org C on A.subject_type = 'org' and A.subject_id = C.id " +
" left join rts_project E on A.subject_type = 'project' and A.subject_id = E.id " +
" left join rts_permission D on A.permission_id = D.id " +
" where 1 = 1 " +
"<if test=\"vo.subType!=null and vo.subType!=''\">" +
" AND A.subject_type = #{vo.subType} " +
"</if>"+
"<if test=\"vo.named!=null and vo.named!=''\">" +
" AND (B.name = #{vo.named} or B.nickname = #{vo.named} or C.name = #{vo.named} or E.name = #{vo.named}) " +
"</if>"+
"<if test=\"vo.status!=null\">" +
" AND A.status = #{vo.status} " +
"</if>"+
" order by id desc " +
"</script>")
List<PermissionSubjectVO> customerQuery(@Param("vo") PermissionSubjectQueryVO queryVO);
@Select("<script>" +
"select A.id,A.subject_type,A.subject_id, " +
"(case when A.subject_type = 'user' then B.name when A.subject_type = 'org' then C.name when A.subject_type = 'project' then E.name end) as named,"
+
"(case when A.subject_type = 'user' then B.nickname else '' end) as nick_name," +
"(case when A.subject_type = 'project' then E.code else '' end ) as project_code," +
"B.name as permission_name,A.permission_id " +
" from rts_permission_subject A left join rts_permission B on A.permission_id = B.id" +
" left join sys_account C on A.subject_type = 'user' and A.subject_id = C.id " +
" left join org D on A.subject_type = 'org' and A.subject_id = C.id " +
" left join rts_project E on A.subject_type = 'project' and A.subject_id = E.id " +
" where 1 = 1 and A.parent_id in " +
"<if test=\"idList != null and idList.size > 0\"> " +
" <foreach collection=\"idList\" open=\"(\" close=\")\" item=\"d\" separator=\" , \"> " +
" #{d}" +
" </foreach>" +
"</if> " +
"order by id asc" +
"</script>")
List<PermissionSubjectVO> findDistributePermission(List<Long> idList);
/**
* 状态参考 {@link PermissionSubjectStatusEnum}
*/
@Update("<script> update rts_permission_subject set status = 2,update_time = now() where forever = 0 and (`status` is null or `status` = 1) " +
" <![CDATA[ and end_time < now() ]]> </script>")
void updateStatusByTimeOver();
long countByExample(PermissionSubjectExample example);
@Select("<script>" +
"select A.id,A.subject_type,A.subject_id," +
"(case when A.subject_type = 'user' then B.name when A.subject_type = 'org' then C.name when A.subject_type = 'project' then E.name end) as named,"
+
"(case when A.subject_type = 'user' then B.nickname else '' end) as nick_name," +
"(case when A.subject_type = 'project' then E.code else '' end ) as project_code," +
"A.amount,A.remains,A.status,A.forever,A.start_time,A.end_time,A.create_time,D.name as permission_name,A.permission_id "
+
" from rts_permission_subject A left join sys_account B on A.subject_type = 'user' and A.subject_id = B.id "
+
" left join org C on A.subject_type = 'org' and A.subject_id = C.id " +
" left join rts_project E on A.subject_type = 'project' and A.subject_id = E.id " +
" left join rts_permission D on A.permission_id = D.id " +
" where 1 = 1 " +
"<if test=\"vo.subType!=null and vo.subType!=''\">" +
" AND A.subject_type = #{vo.subType} " +
"</if>" +
"<if test=\"vo.named!=null and vo.named!=''\">" +
" AND (B.name = #{vo.named} or B.nickname = #{vo.named} or C.name = #{vo.named} or E.name = #{vo.named}) "
+
"</if>" +
"<if test=\"vo.status!=null\">" +
" AND A.status = #{vo.status} " +
"</if>" +
" order by id desc " +
"</script>")
List<PermissionSubjectVO> customerQuery(@Param("vo") PermissionSubjectQueryVO queryVO);
int deleteByExample(PermissionSubjectExample example);
/**
* 状态参考 {@link PermissionSubjectStatusEnum}
*/
@Update(
"<script> update rts_permission_subject set status = 2,update_time = now() where forever = 0 and (`status` is null or `status` = 1) "
+
" <![CDATA[ and end_time < now() ]]> </script>")
void updateStatusByTimeOver();
int deleteByPrimaryKey(Long id);
long countByExample(PermissionSubjectExample example);
int insert(PermissionSubject record);
int deleteByExample(PermissionSubjectExample example);
@Insert("<script>" +
"insert into rts_permission_subject (permission_id, subject_type, subject_id, amount, remains, `status`,forever, start_time, end_time,create_time, distribute_id, parent_id,is_sync)" +
" values " +
"<foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\"> " +
"(#{item.permissionId,jdbcType=BIGINT}, #{item.subjectType,jdbcType=VARCHAR}, #{item.subjectId,jdbcType=BIGINT}," +
" #{item.amount,jdbcType=INTEGER}, #{item.remains,jdbcType=INTEGER}, #{item.status,jdbcType=INTEGER}, " +
" #{item.forever,jdbcType=BIT}, #{item.startTime,jdbcType=TIMESTAMP}, #{item.endTime,jdbcType=TIMESTAMP}," +
" #{item.createTime,jdbcType=TIMESTAMP}, #{item.distributeId,jdbcType=BIGINT}, #{item.parentId,jdbcType=BIGINT}," +
" #{item.isSync,jdbcType=BIT})" +
"</foreach>" +
int deleteByPrimaryKey(Long id);
"</script>")
void batchInsert(@Param("list") List<PermissionSubject> list);
int insertSelective(PermissionSubject record);
int insert(PermissionSubject record);
List<PermissionSubject> selectByExample(PermissionSubjectExample example);
int insertSelective(PermissionSubject record);
PermissionSubject selectByPrimaryKey(Long id);
List<PermissionSubject> selectByExample(PermissionSubjectExample example);
int updateByExampleSelective(@Param("record") PermissionSubject record, @Param("example") PermissionSubjectExample example);
PermissionSubject selectByPrimaryKey(Long id);
int updateByExample(@Param("record") PermissionSubject record, @Param("example") PermissionSubjectExample example);
int updateByExampleSelective(@Param("record") PermissionSubject record,
@Param("example") PermissionSubjectExample example);
int updateByPrimaryKeySelective(PermissionSubject record);
int updateByExample(@Param("record") PermissionSubject record,
@Param("example") PermissionSubjectExample example);
int updateByPrimaryKey(PermissionSubject record);
int updateByPrimaryKeySelective(PermissionSubject record);
int updateByPrimaryKey(PermissionSubject record);
}

View File

@ -0,0 +1,55 @@
package club.joylink.rtss.dao.racetr;
import club.joylink.rtss.dao.MyBatisBaseDao;
import club.joylink.rtss.entity.racetr.RacetrPaper;
import club.joylink.rtss.entity.racetr.RacetrPaperExample;
import club.joylink.rtss.vo.race.RacePaperPageVO;
import club.joylink.rtss.vo.race.RacePaperQueryVO;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
/**
* RacetrPaperDAO继承基类
*/
@Repository
public interface RacetrPaperDAO extends MyBatisBaseDao<RacetrPaper, Long, RacetrPaperExample> {
@Select("<script>"
+ " select A.id,A.name,A.`desc`,A.season_id as seasonId ,B.code as seasonName,B.group,B.term as seasonTerm"
+ " ,A.creator_id,A.create_time,A.updater_id,A.update_time,C.nickname as creatorName,D.nickname as updaterName "
+ " from racetr_paper A left join racetr_season B on A.season_id = B.id "
+ " left join sys_account C on A.creator_id = C.id "
+ " left JOIN sys_account D on A.updater_id = D.id "
+ " where 1 = 1 "
+ "<if test='vo.name!= null and vo.name!= \"\"'> "
+ " and A.name like CONCAT('%',#{vo.name},'%') "
+ "</if> "
+ "<if test='vo.group!= null and vo.group != \"\"'> "
+ " and B.group = #{vo.group} "
+ "</if> "
+ "<if test='vo.seasonId!= null and vo.seasonId!= \"\"'> "
+ " and A.season_id = #{vo.seasonId} "
+ "</if> "
+ "<if test='vo.seasonName!= null and vo.seasonName!= \"\"'> "
+ " and B.code like CONCAT('%',#{vo.seasonName},'%') "
+ "</if> "
+ "</script>")
List<RacePaperPageVO> pages(@Param("vo") RacePaperQueryVO vo);
@Select("<script>"
+ " select A.id,A.name,A.`desc`,A.season_id as seasonId ,B.code as seasonName "
+ " ,A.configs,A.creator_id,A.create_time,A.updater_id,A.update_time,C.nickname as creatorName,D.nickname as updaterName "
+ " from racetr_paper A left join racetr_season B on A.season_id = B.id "
+ " left join sys_account C on A.creator_id = C.id "
+ " left JOIN sys_account D on A.updater_id = D.id "
+ " where 1 = 1 "
+ " and A.id = #{id}"
+ "</script>")
RacePaperPageVO detail(@Param("id") Long id);
}

View File

@ -0,0 +1,47 @@
package club.joylink.rtss.dao.racetr;
import club.joylink.rtss.dao.MyBatisBaseDao;
import club.joylink.rtss.entity.racetr.RacetrScene;
import club.joylink.rtss.entity.racetr.RacetrSceneExample;
import club.joylink.rtss.vo.race.RaceScenePageVO;
import club.joylink.rtss.vo.race.RaceSceneQueryVO;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
/**
* RacetrSceneDAO继承基类
*/
@Repository
public interface RacetrSceneDAO extends MyBatisBaseDao<RacetrScene, Long, RacetrSceneExample> {
@Select("<script>"
+ "select A.id,A.name,A.type,A.map_id as mapId, B.name as mapName, "
+ "A.creator_id,A.create_time,A.updater_id,A.update_time,C.nickname as creatorName,D.nickname as updaterName "
+ "from racetr_scene A left join map_info B on A.map_id = B.id "
+ "left join sys_account C on A.creator_id = C.id "
+ "left JOIN sys_account D on A.updater_id = D.id "
+ " where 1 = 1 "
+ "<if test='vo.name!= null and vo.name!= \"\"'> "
+ " and A.name like CONCAT('%',#{vo.name},'%') "
+ "</if> "
+ "<if test='vo.type!= null and vo.type!= \"\"'> "
+ " and A.type = #{vo.type}"
+ "</if> "
+ "</script>")
List<RaceScenePageVO> pages(@Param("vo") RaceSceneQueryVO vo);
@Select("<script>"
+ "select A.id,A.name,A.type,A.map_id as mapId, B.name as mapName, A.proto"
+ ",A.creator_id,A.create_time,A.updater_id,A.update_time,C.nickname as creatorName,D.nickname as updaterName "
+ "from racetr_scene A left join map_info B on A.map_id = B.id "
+ "left join sys_account C on A.creator_id = C.id "
+ "left JOIN sys_account D on A.updater_id = D.id "
+ " where 1 = 1 "
+ " and A.id = #{id} "
+ "</script>")
RaceScenePageVO detail(@Param("id") Long id);
}

View File

@ -0,0 +1,47 @@
package club.joylink.rtss.dao.racetr;
import club.joylink.rtss.dao.MyBatisBaseDao;
import club.joylink.rtss.entity.racetr.RacetrScoringRule;
import club.joylink.rtss.entity.racetr.RacetrScoringRuleExample;
import club.joylink.rtss.vo.race.RaceRuleListVO;
import club.joylink.rtss.vo.race.TaskRuleQueryVO;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
/**
* RacetrScoringRuleDAO继承基类
*/
@Repository
public interface RacetrScoringRuleDAO extends MyBatisBaseDao<RacetrScoringRule, Long, RacetrScoringRuleExample> {
@Select("<script>"
+ " select A.id,A.name"
+ " ,A.creator_id,A.create_time,A.updater_id,A.update_time,C.nickname as creatorName,D.nickname as updaterName "
+ " from racetr_scoring_rule A "
+ " left join sys_account C on A.creator_id = C.id "
+ " left JOIN sys_account D on A.updater_id = D.id "
+ " where 1 = 1 "
+ "<if test='vo.name!= null and vo.name!= \"\"'> "
+ " and A.name like CONCAT('%',#{vo.name},'%') "
+ "</if> "
+ "<if test='vo.id!= null and vo.id >=0'> "
+ " and A.id = #{vo.id}"
+ "</if> "
+ "</script>")
List<RaceRuleListVO> pages(@Param("vo") TaskRuleQueryVO vo);
@Select("<script>"
+ " select A.id,A.name,A.rule"
+ " ,A.creator_id,A.create_time,A.updater_id,A.update_time,C.nickname as creatorName,D.nickname as updaterName "
+ " from racetr_scoring_rule A "
+ " left join sys_account C on A.creator_id = C.id "
+ " left JOIN sys_account D on A.updater_id = D.id "
+ " where 1 = 1 "
+ " and A.id = #{id}"
+ "</script>")
RaceRuleListVO detail(@Param("id") Long id);
}

View File

@ -0,0 +1,18 @@
package club.joylink.rtss.dao.racetr;
import club.joylink.rtss.dao.MyBatisBaseDao;
import club.joylink.rtss.entity.racetr.RacetrSeason;
import club.joylink.rtss.entity.racetr.RacetrSeasonExample;
import java.util.List;
import org.springframework.stereotype.Repository;
/**
* RacetrSeasonDAO继承基类
*/
@Repository
public interface RacetrSeasonDAO extends MyBatisBaseDao<RacetrSeason, Long, RacetrSeasonExample> {
List<RacetrSeason> selectByExampleWithBLOBs(RacetrSeasonExample example);
}

View File

@ -0,0 +1,33 @@
package club.joylink.rtss.dao.racetr;
import club.joylink.rtss.dao.MyBatisBaseDao;
import club.joylink.rtss.entity.racetr.RacetrTask;
import club.joylink.rtss.entity.racetr.RacetrTaskExample;
import club.joylink.rtss.vo.race.RaceTaskDetailDTO;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
/**
* RacetrTaskDAO继承基类
*/
@Repository
public interface RacetrTaskDAO extends MyBatisBaseDao<RacetrTask, Long, RacetrTaskExample> {
@Select("<script>"
+ "select A.id,A.name,A.desc,A.content,A.standards,B.id as scene_id,B.name as sceneName, "
+ "A.score_rule_id as rule_id,C.name as ruleName,A.parent_id,"
+ "A.creator_id,A.create_time,A.updater_id,A.update_time,D.nickname as creatorName,E.nickname as updaterName "
+ " from racetr_task A left join racetr_scene B on A.scene_id = B.id "
+ " left join racetr_scoring_rule C on A.score_rule_id = C.id "
+ " left join sys_account D on A.creator_id = D.id "
+ " left JOIN sys_account E on A.updater_id = E.id "
+ " where 1 = 1 "
+ " and A.id = #{id}"
+ "</script>")
RaceTaskDetailDTO details(@Param("id") Long id);
List<RaceTaskDetailDTO> recursiveFindTask(@Param("taskIds") List<Long> taskIds);
}

View File

@ -32,4 +32,6 @@ public interface RtsTraining2RuleMapper {
int updateByPrimaryKeyWithBLOBs(RtsTraining2RuleWithBLOBs record);
int updateByPrimaryKey(RtsTraining2Rule record);
void updateScoreRule(@Param("list") List<RtsTraining2RuleWithBLOBs> list);
}

View File

@ -0,0 +1,122 @@
package club.joylink.rtss.entity;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author
* ATS报警信息提示
*/
public class AlarmTips implements Serializable {
private Long id;
private String alarmType;
private String alarmLevel;
private String tips;
private LocalDateTime updateTime;
private Long updaterId;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAlarmType() {
return alarmType;
}
public void setAlarmType(String alarmType) {
this.alarmType = alarmType;
}
public String getAlarmLevel() {
return alarmLevel;
}
public void setAlarmLevel(String alarmLevel) {
this.alarmLevel = alarmLevel;
}
public String getTips() {
return tips;
}
public void setTips(String tips) {
this.tips = tips;
}
public LocalDateTime getUpdateTime() {
return updateTime;
}
public void setUpdateTime(LocalDateTime updateTime) {
this.updateTime = updateTime;
}
public Long getUpdaterId() {
return updaterId;
}
public void setUpdaterId(Long updaterId) {
this.updaterId = updaterId;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
AlarmTips other = (AlarmTips) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getAlarmType() == null ? other.getAlarmType() == null : this.getAlarmType().equals(other.getAlarmType()))
&& (this.getAlarmLevel() == null ? other.getAlarmLevel() == null : this.getAlarmLevel().equals(other.getAlarmLevel()))
&& (this.getTips() == null ? other.getTips() == null : this.getTips().equals(other.getTips()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getUpdaterId() == null ? other.getUpdaterId() == null : this.getUpdaterId().equals(other.getUpdaterId()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getAlarmType() == null) ? 0 : getAlarmType().hashCode());
result = prime * result + ((getAlarmLevel() == null) ? 0 : getAlarmLevel().hashCode());
result = prime * result + ((getTips() == null) ? 0 : getTips().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getUpdaterId() == null) ? 0 : getUpdaterId().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", alarmType=").append(alarmType);
sb.append(", alarmLevel=").append(alarmLevel);
sb.append(", tips=").append(tips);
sb.append(", updateTime=").append(updateTime);
sb.append(", updaterId=").append(updaterId);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

View File

@ -0,0 +1,613 @@
package club.joylink.rtss.entity;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
public class AlarmTipsExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
private Integer limit;
private Long offset;
public AlarmTipsExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
public void setLimit(Integer limit) {
this.limit = limit;
}
public Integer getLimit() {
return limit;
}
public void setOffset(Long offset) {
this.offset = offset;
}
public Long getOffset() {
return offset;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andAlarmTypeIsNull() {
addCriterion("alarm_type is null");
return (Criteria) this;
}
public Criteria andAlarmTypeIsNotNull() {
addCriterion("alarm_type is not null");
return (Criteria) this;
}
public Criteria andAlarmTypeEqualTo(String value) {
addCriterion("alarm_type =", value, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeNotEqualTo(String value) {
addCriterion("alarm_type <>", value, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeGreaterThan(String value) {
addCriterion("alarm_type >", value, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeGreaterThanOrEqualTo(String value) {
addCriterion("alarm_type >=", value, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeLessThan(String value) {
addCriterion("alarm_type <", value, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeLessThanOrEqualTo(String value) {
addCriterion("alarm_type <=", value, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeLike(String value) {
addCriterion("alarm_type like", value, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeNotLike(String value) {
addCriterion("alarm_type not like", value, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeIn(List<String> values) {
addCriterion("alarm_type in", values, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeNotIn(List<String> values) {
addCriterion("alarm_type not in", values, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeBetween(String value1, String value2) {
addCriterion("alarm_type between", value1, value2, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmTypeNotBetween(String value1, String value2) {
addCriterion("alarm_type not between", value1, value2, "alarmType");
return (Criteria) this;
}
public Criteria andAlarmLevelIsNull() {
addCriterion("alarm_level is null");
return (Criteria) this;
}
public Criteria andAlarmLevelIsNotNull() {
addCriterion("alarm_level is not null");
return (Criteria) this;
}
public Criteria andAlarmLevelEqualTo(String value) {
addCriterion("alarm_level =", value, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelNotEqualTo(String value) {
addCriterion("alarm_level <>", value, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelGreaterThan(String value) {
addCriterion("alarm_level >", value, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelGreaterThanOrEqualTo(String value) {
addCriterion("alarm_level >=", value, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelLessThan(String value) {
addCriterion("alarm_level <", value, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelLessThanOrEqualTo(String value) {
addCriterion("alarm_level <=", value, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelLike(String value) {
addCriterion("alarm_level like", value, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelNotLike(String value) {
addCriterion("alarm_level not like", value, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelIn(List<String> values) {
addCriterion("alarm_level in", values, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelNotIn(List<String> values) {
addCriterion("alarm_level not in", values, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelBetween(String value1, String value2) {
addCriterion("alarm_level between", value1, value2, "alarmLevel");
return (Criteria) this;
}
public Criteria andAlarmLevelNotBetween(String value1, String value2) {
addCriterion("alarm_level not between", value1, value2, "alarmLevel");
return (Criteria) this;
}
public Criteria andTipsIsNull() {
addCriterion("tips is null");
return (Criteria) this;
}
public Criteria andTipsIsNotNull() {
addCriterion("tips is not null");
return (Criteria) this;
}
public Criteria andTipsEqualTo(String value) {
addCriterion("tips =", value, "tips");
return (Criteria) this;
}
public Criteria andTipsNotEqualTo(String value) {
addCriterion("tips <>", value, "tips");
return (Criteria) this;
}
public Criteria andTipsGreaterThan(String value) {
addCriterion("tips >", value, "tips");
return (Criteria) this;
}
public Criteria andTipsGreaterThanOrEqualTo(String value) {
addCriterion("tips >=", value, "tips");
return (Criteria) this;
}
public Criteria andTipsLessThan(String value) {
addCriterion("tips <", value, "tips");
return (Criteria) this;
}
public Criteria andTipsLessThanOrEqualTo(String value) {
addCriterion("tips <=", value, "tips");
return (Criteria) this;
}
public Criteria andTipsLike(String value) {
addCriterion("tips like", value, "tips");
return (Criteria) this;
}
public Criteria andTipsNotLike(String value) {
addCriterion("tips not like", value, "tips");
return (Criteria) this;
}
public Criteria andTipsIn(List<String> values) {
addCriterion("tips in", values, "tips");
return (Criteria) this;
}
public Criteria andTipsNotIn(List<String> values) {
addCriterion("tips not in", values, "tips");
return (Criteria) this;
}
public Criteria andTipsBetween(String value1, String value2) {
addCriterion("tips between", value1, value2, "tips");
return (Criteria) this;
}
public Criteria andTipsNotBetween(String value1, String value2) {
addCriterion("tips not between", value1, value2, "tips");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNull() {
addCriterion("update_time is null");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNotNull() {
addCriterion("update_time is not null");
return (Criteria) this;
}
public Criteria andUpdateTimeEqualTo(LocalDateTime value) {
addCriterion("update_time =", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotEqualTo(LocalDateTime value) {
addCriterion("update_time <>", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThan(LocalDateTime value) {
addCriterion("update_time >", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThanOrEqualTo(LocalDateTime value) {
addCriterion("update_time >=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThan(LocalDateTime value) {
addCriterion("update_time <", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThanOrEqualTo(LocalDateTime value) {
addCriterion("update_time <=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIn(List<LocalDateTime> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<LocalDateTime> values) {
addCriterion("update_time not in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeBetween(LocalDateTime value1, LocalDateTime value2) {
addCriterion("update_time between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdaterIdIsNull() {
addCriterion("updater_id is null");
return (Criteria) this;
}
public Criteria andUpdaterIdIsNotNull() {
addCriterion("updater_id is not null");
return (Criteria) this;
}
public Criteria andUpdaterIdEqualTo(Long value) {
addCriterion("updater_id =", value, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdNotEqualTo(Long value) {
addCriterion("updater_id <>", value, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdGreaterThan(Long value) {
addCriterion("updater_id >", value, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdGreaterThanOrEqualTo(Long value) {
addCriterion("updater_id >=", value, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdLessThan(Long value) {
addCriterion("updater_id <", value, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdLessThanOrEqualTo(Long value) {
addCriterion("updater_id <=", value, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdIn(List<Long> values) {
addCriterion("updater_id in", values, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdNotIn(List<Long> values) {
addCriterion("updater_id not in", values, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdBetween(Long value1, Long value2) {
addCriterion("updater_id between", value1, value2, "updaterId");
return (Criteria) this;
}
public Criteria andUpdaterIdNotBetween(Long value1, Long value2) {
addCriterion("updater_id not between", value1, value2, "updaterId");
return (Criteria) this;
}
}
/**
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

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