Compare commits
220 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
3274e7e1bd | |
|
|
5ea394a7b4 | |
|
|
b0801e7122 | |
|
|
bbd77af32f | |
|
|
c4ae60c686 | |
|
|
cd4b1be635 | |
|
|
63e7b0fe69 | |
|
|
d4a7f92806 | |
|
|
e81b45fcd1 | |
|
|
113fadfe8a | |
|
|
77f915192d | |
|
|
bf0c288063 | |
|
|
56e01d59b4 | |
|
|
04f9106abd | |
|
|
d7c6c82bb8 | |
|
|
9502b52bf6 | |
|
|
2934139574 | |
|
|
aabba19ec9 | |
|
|
2f3c4eefd9 | |
|
|
93cf3cbbdc | |
|
|
12b39d78d0 | |
|
|
6dc735e057 | |
|
|
92b48e7d5f | |
|
|
5eb8642399 | |
|
|
1998cbeda7 | |
|
|
3084892564 | |
|
|
224385bb12 | |
|
|
ca0ebda107 | |
|
|
5a7a62f7ad | |
|
|
19fb2f0d43 | |
|
|
1ba3106787 | |
|
|
b2cbf09902 | |
|
|
e0401dc004 | |
|
|
1d93c0a201 | |
|
|
d999973b22 | |
|
|
11e495a15a | |
|
|
dc1432e092 | |
|
|
00de04fd98 | |
|
|
79c8688642 | |
|
|
93a36cd433 | |
|
|
481fe91e7f | |
|
|
1366309b02 | |
|
|
f8e1dcaa39 | |
|
|
8e6ea56f4f | |
|
|
4106f40aa0 | |
|
|
857efdb611 | |
|
|
3277481dc1 | |
|
|
0d36024105 | |
|
|
946a0aa2a5 | |
|
|
6bf56c1cc4 | |
|
|
1d8809bbdf | |
|
|
8509c92af8 | |
|
|
3cbc28e17f | |
|
|
81d4242c31 | |
|
|
a81c46c457 | |
|
|
d243fe5ed3 | |
|
|
83d0b39672 | |
|
|
d5a23f9768 | |
|
|
316bed23a4 | |
|
|
77b4764810 | |
|
|
c88b59b805 | |
|
|
608c51aa0a | |
|
|
897c0e43cf | |
|
|
d75f433fc2 | |
|
|
5df6cb909b | |
|
|
7667276c30 | |
|
|
2847068115 | |
|
|
5620914fb1 | |
|
|
3c49092b13 | |
|
|
3327942642 | |
|
|
a5fc467659 | |
|
|
9201f401bc | |
|
|
7e6bb4d60a | |
|
|
d1a1590752 | |
|
|
cabeab57dc | |
|
|
b697d8990d | |
|
|
d4c2779336 | |
|
|
3304e16943 | |
|
|
acd4efe71a | |
|
|
ded8ee64d7 | |
|
|
6a16b9484a | |
|
|
a84d04a9bc | |
|
|
f2b0ea637a | |
|
|
74a55d82b2 | |
|
|
b3dffc6577 | |
|
|
e2c3007c1f | |
|
|
75419ffd05 | |
|
|
145235c9de | |
|
|
74b7259593 | |
|
|
056678d640 | |
|
|
b7d7e65f28 | |
|
|
0126a0587f | |
|
|
84d835abc8 | |
|
|
3009e4edcf | |
|
|
6fda8745fe | |
|
|
a16262165f | |
|
|
1dc1f2e7da | |
|
|
94dffef375 | |
|
|
6e331ede6f | |
|
|
a033bba12b | |
|
|
a12523db72 | |
|
|
9eb2cf2d87 | |
|
|
2d57f7fec2 | |
|
|
b1a0c69d9a | |
|
|
6eabea95a5 | |
|
|
fef4ee37f1 | |
|
|
7c3f37a0cb | |
|
|
74bcd9c715 | |
|
|
77f3c6a716 | |
|
|
feb79c9153 | |
|
|
1487be91fd | |
|
|
11c49d669c | |
|
|
de642e6322 | |
|
|
ead8b19773 | |
|
|
3fbfde4be7 | |
|
|
e42df97073 | |
|
|
3b79c52000 | |
|
|
af5ec666f1 | |
|
|
67dd0c63be | |
|
|
d038170c90 | |
|
|
35efb01188 | |
|
|
e685c2566a | |
|
|
2103679364 | |
|
|
129a192a91 | |
|
|
faab3a5c5d | |
|
|
0fc4c88c1b | |
|
|
5ea22e72d2 | |
|
|
afb1ce0bc9 | |
|
|
81d4f9bb97 | |
|
|
af163bb0e7 | |
|
|
5eb1436646 | |
|
|
a65cd9e8cc | |
|
|
be85e4c374 | |
|
|
f4037f3f8b | |
|
|
2e15919054 | |
|
|
16b88246a0 | |
|
|
4b130ccbc0 | |
|
|
4b7207820e | |
|
|
7c5765e0c8 | |
|
|
9aad4222fe | |
|
|
1fc8255b1b | |
|
|
cf787542b3 | |
|
|
222b27abf7 | |
|
|
65d664b12a | |
|
|
4779ade9fd | |
|
|
74c1eda8be | |
|
|
95f9fba705 | |
|
|
6a4e893873 | |
|
|
211b07cdff | |
|
|
87d6e2fb97 | |
|
|
b1f1532c92 | |
|
|
c3b0bc977c | |
|
|
e724eadebb | |
|
|
9e4ac5e95e | |
|
|
677c5bfa76 | |
|
|
461d186534 | |
|
|
bb7aa15f73 | |
|
|
38a4991c61 | |
|
|
169e601dd1 | |
|
|
b971c628e2 | |
|
|
fc928f1f11 | |
|
|
33fd3ce749 | |
|
|
5e8c2d8772 | |
|
|
52ede3a50e | |
|
|
6cfd3a6fcf | |
|
|
ae80b0fb4f | |
|
|
8c83eac37e | |
|
|
539797753c | |
|
|
c1c9b19302 | |
|
|
c7cf2ecabc | |
|
|
45c25c8c01 | |
|
|
4cc55b5e55 | |
|
|
53bad7cf41 | |
|
|
c9a9541e96 | |
|
|
bc3016fe0a | |
|
|
b629000901 | |
|
|
9bfe085ebb | |
|
|
6eb57bfcbe | |
|
|
2a64522502 | |
|
|
8ab65b0da3 | |
|
|
3a8bd3361c | |
|
|
eae5d090a0 | |
|
|
b2538a5032 | |
|
|
d0b74ef993 | |
|
|
5dadfc06f1 | |
|
|
429446edb7 | |
|
|
679297530d | |
|
|
414f481fce | |
|
|
2f155e0957 | |
|
|
6ad47732ee | |
|
|
80755ced13 | |
|
|
c2b52adacc | |
|
|
c768c040cb | |
|
|
910d36317b | |
|
|
512280c5aa | |
|
|
1988e09c62 | |
|
|
809c3b7ffe | |
|
|
e5c0e4f9ba | |
|
|
b050ca0bd6 | |
|
|
8c52107808 | |
|
|
2d753fc63b | |
|
|
ccd008d33c | |
|
|
fd8e03cabb | |
|
|
30403abd28 | |
|
|
3c84472af5 | |
|
|
96d1c364df | |
|
|
4324babb91 | |
|
|
f3b1043092 | |
|
|
d2aedbf4a5 | |
|
|
8cb2294b0d | |
|
|
dcb0643a03 | |
|
|
b5a5405836 | |
|
|
9599de6232 | |
|
|
2929a7fc31 | |
|
|
2b4b8694d2 | |
|
|
2b927c7fd0 | |
|
|
d6c197873e | |
|
|
2a881522f6 | |
|
|
0b4ef50484 | |
|
|
33a992429e |
|
|
@ -4,6 +4,7 @@ target/
|
|||
!**/src/test/**/target/
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
.idea/modules.xml
|
||||
.idea/jarRepositories.xml
|
||||
.idea/compiler.xml
|
||||
|
|
@ -11,7 +12,7 @@ target/
|
|||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
.sisyphus
|
||||
### Eclipse ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
|
|
@ -35,4 +36,5 @@ build/
|
|||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
||||
.DS_Store
|
||||
/start/src/main/resources/templates/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
# 默认忽略的文件
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# 基于编辑器的 HTTP 客户端请求
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectStorage">
|
||||
<option name="folderId" value="17b381cfb15336" />
|
||||
<option name="path" value="海神女的私有团队->Gbs港务局->可视化大屏->口门门禁" />
|
||||
<option name="projectId" value="35be46" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="@nlb-kd2xz70qhllfet2koj.cn-beijing.nlb.aliyuncsslb.com" uuid="bae719c6-3357-4872-a8b5-26488c89acf2">
|
||||
<driver-ref>mysql.8</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://nlb-kd2xz70qhllfet2koj.cn-beijing.nlb.aliyuncsslb.com:33068</jdbc-url>
|
||||
<jdbc-additional-properties>
|
||||
<property name="com.intellij.clouds.kubernetes.db.host.port" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.container.port" />
|
||||
</jdbc-additional-properties>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,585 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="EasyCodeTableSetting">
|
||||
<option name="tableInfoMap">
|
||||
<map>
|
||||
<entry key="integrated_yjb.tb_iron_monitoring_target">
|
||||
<value>
|
||||
<TableInfoDTO>
|
||||
<option name="comment" value="监控指标表" />
|
||||
<option name="fullColumn">
|
||||
<list>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="主键" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="monitoringId" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="指标编码" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="targetCode" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="所属设备编码" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="equipCode" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="设备id" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="equipmentId" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="指标名称" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="targetName" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="指标类别" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="targetType" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="指标采集点位置" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="targetPlace" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="计量单位 模拟量必填" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="targetUnit" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="高报阈值" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="thresholdUpLimit" />
|
||||
<option name="type" value="java.lang.Double" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="高高报阈值" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="thresholdUpUpLimit" />
|
||||
<option name="type" value="java.lang.Double" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="低报阈值" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="thresholdDownLimit" />
|
||||
<option name="type" value="java.lang.Double" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="低低报阈值" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="thresholdDownDownLimit" />
|
||||
<option name="type" value="java.lang.Double" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="量程上限 模拟量指标需要填写" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="rangeUp" />
|
||||
<option name="type" value="java.lang.Double" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="量程下限 模拟量指标需要填写" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="rangeDown" />
|
||||
<option name="type" value="java.lang.Double" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="描述" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="targetDescription" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="位号" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="bitNo" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="信号类型1:模拟量; 2:开关量" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="signalType" />
|
||||
<option name="type" value="java.lang.Integer" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="开关量报警值" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="alarmValue" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="指标停用状态0:停用 ;1 正常使用" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="targetStatus" />
|
||||
<option name="type" value="java.lang.Integer" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="企业id" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="corpinfoId" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="添加人" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="creator" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="添加时间" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="creattime" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="修改人" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="operator" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="修改时间" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="operattime" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="是否删除(0:有效 1:删除)" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="isdelete" />
|
||||
<option name="type" value="java.lang.Integer" />
|
||||
</ColumnInfoDTO>
|
||||
</list>
|
||||
</option>
|
||||
<option name="name" value="TbIronMonitoringTarget" />
|
||||
<option name="preName" value="" />
|
||||
<option name="saveModelName" value="integrated_yjb" />
|
||||
<option name="savePackageName" value="com.zcloud" />
|
||||
<option name="savePath" value="./src/main/java/com/zcloud/e2myBatisP" />
|
||||
<option name="templateGroupName" value="zcloud" />
|
||||
</TableInfoDTO>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="new_template.sys_user2">
|
||||
<value>
|
||||
<TableInfoDTO>
|
||||
<option name="fullColumn">
|
||||
<list>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="用户ID" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="userId" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="用户名" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="username" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="密码" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="password" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="姓名" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="name" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="角色ID" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="roleId" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="最近登录时间" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="lastLogin" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="IP" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="ip" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="状态0.正常 99.锁定 2密码错误次数超过当天限制" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="status" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="备注" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="bz" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="皮肤" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="skin" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="邮箱" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="email" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="编码" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="number" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="电话" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="phone" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="副职角色ID组" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="roleIds" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="部门ID" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="departmentId" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="企业" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="corpinfoId" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="小程序菜单ID组" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="funIds" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="微信码" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="appid" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="岗位" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="postId" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="是否主账号" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="ismain" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="登录错误次数" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="errorCount" />
|
||||
<option name="type" value="java.lang.Integer" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="人员在部门中的排序" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="sort" />
|
||||
<option name="type" value="java.lang.Integer" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="在线学习人员类别" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="learnercategory" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="人员头像数据前缀" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="useravatarprefix" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="人员头像数据" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="useravatarurl" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="倒班类型-1级" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="shiftdutyone" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="倒班类型-2级" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="shiftdutytwo" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="工作状态持续时间(天)(上班或休班)" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="duration" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="工作状态 1-上班 2-休班" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="workstatus" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="当前工作周期数" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="workperiod" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="isRecorder" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="人员类型" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="personnelType" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="是否为隐患确认人0否1是" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="isHazardconfirmer" />
|
||||
<option name="type" value="java.lang.Integer" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="是否为临时访问审核人(0:否,1:是)" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="isAccessauditor" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="是否在线学习人员" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="isOnlinelearning" />
|
||||
<option name="type" value="java.lang.Integer" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="人员类型" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="personType" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="emis对接人员" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="jcr" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="推送id" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="pushCid" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="工号(人员定位使用)" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="empno" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="曹妃甸数据人员状态 0企业端 1监管端 此字段用于港务局给曹妃甸发起安全环保检查选择人员 只选曹妃甸该字段值为1的人员" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="cfdStatus" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="卡号(人员定位使用)" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="cardno" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="人员标识用作手机app登录(12.15新加如需删除请联系王轩)" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="userIdentity" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="baseimgpath" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="backendaddr" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="门口门禁人员编号(门口门禁使用)" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="mkmjcard" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="是否推送到中台" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="ispush" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="1监管2企业3相关方" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="userType" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="是否在人资系统存在(0:未确认,1:通过姓名和手机号确认,2:用户已手动确认,3:人资修改人员)" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="inHrUser" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="是否删除,0否1是" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="isDelete" />
|
||||
<option name="type" value="java.lang.Integer" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="创建人" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="creator" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="创建时间" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="createTime" />
|
||||
<option name="type" value="java.util.Date" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="修改人" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="operat" />
|
||||
<option name="type" value="java.lang.String" />
|
||||
</ColumnInfoDTO>
|
||||
<ColumnInfoDTO>
|
||||
<option name="comment" value="修改时间" />
|
||||
<option name="custom" value="false" />
|
||||
<option name="ext" value="{}" />
|
||||
<option name="name" value="operatTime" />
|
||||
<option name="type" value="java.util.Date" />
|
||||
</ColumnInfoDTO>
|
||||
</list>
|
||||
</option>
|
||||
<option name="name" value="SysUser2" />
|
||||
<option name="preName" value="" />
|
||||
<option name="saveModelName" value="regulatory_gwj_2.0" />
|
||||
<option name="savePackageName" value="com.zcloud.modules.sys.entity" />
|
||||
<option name="savePath" value="./src/main/java/com/zcloud/modules/sys/entity" />
|
||||
<option name="templateGroupName" value="zcloud" />
|
||||
</TableInfoDTO>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" native2AsciiForPropertiesFiles="true" defaultCharsetForPropertiesFiles="UTF-8">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/start/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/start/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/web-adapter/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/web-app/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/web-client/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/web-domain/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/web-infrastructure/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/web-infrastructure/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="AliAccessStaticViaInstance" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AliArrayNamingShouldHaveBracket" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AliControlFlowStatementWithoutBraces" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AliDeprecation" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AliEqualsAvoidNull" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AliLongLiteralsEndingWithLowercaseL" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AliMissingOverrideAnnotation" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AliWrapperTypeEquality" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAbstractClassShouldStartWithAbstractNaming" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAbstractMethodOrInterfaceMethodMustUseJavadoc" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidApacheBeanUtilsCopy" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidCallStaticSimpleDateFormat" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidCommentBehindStatement" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidComplexCondition" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidConcurrentCompetitionRandom" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidDoubleOrFloatEqualCompare" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidManuallyCreateThread" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidMissUseOfMathRandom" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidNegationOperator" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidNewDateGetTime" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidPatternCompileInMethod" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidReturnInFinally" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidStartWithDollarAndUnderLineNaming" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaAvoidUseTimer" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaBigDecimalAvoidDoubleConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaBooleanPropertyShouldNotStartWithIs" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaClassCastExceptionWithSubListToArrayList" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaClassCastExceptionWithToArray" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaClassMustHaveAuthor" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaClassNamingShouldBeCamel" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaCollectionInitShouldAssignCapacity" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaCommentsMustBeJavadocFormat" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaConcurrentExceptionWithModifyOriginSubList" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaConstantFieldShouldBeUpperCase" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaCountDownShouldInFinally" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaDontModifyInForeachCircle" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaEnumConstantsMustHaveComment" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaExceptionClassShouldEndWithException" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaIbatisMethodQueryForList" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaLockShouldWithTryFinally" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaLowerCamelCaseVariableNaming" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaMethodReturnWrapperType" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaMethodTooLong" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaPackageNaming" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaPojoMustOverrideToString" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaPojoMustUsePrimitiveField" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaPojoNoDefaultValue" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaRemoveCommentedCode" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaServiceOrDaoClassShouldEndWithImpl" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaSneakyThrowsWithoutExceptionType" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaStringConcat" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaSwitchExpression" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaSwitchStatement" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaTestClassShouldEndWithTestNaming" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaThreadLocalShouldRemove" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaThreadPoolCreation" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaThreadShouldSetName" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaTransactionMustHaveRollback" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaUndefineMagicConstant" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaUnsupportedExceptionWithModifyAsList" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaUseQuietReferenceNotation" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AlibabaUseRightCaseForDateFormat" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,java.lang.foreign.Arena,ofAuto,java.lang.foreign.Arena,global,cn.hutool.http.HttpRequest,execute" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="MapOrSetKeyShouldOverrideHashCodeEquals" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="SpringJavaInjectionPointsAutowiringInspection" enabled="false" level="ERROR" enabled_by_default="false" />
|
||||
</profile>
|
||||
</component>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
|
||||
</project>
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-23 00:09:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-176] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-23 00:09:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-176] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-23 00:09:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-23 00:13:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-177] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-23 00:13:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-177] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-23 00:13:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-23 00:19:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-178] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-23 00:19:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-178] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-23 00:19:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-23 00:24:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-179] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-23 00:24:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-179] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-23 00:24:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-23 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-180] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-23 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-180] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-23 00:59:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-25 00:09:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-179] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-25 00:09:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-179] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-25 00:09:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-25 00:13:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-180] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-25 00:13:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-180] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-25 00:13:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-25 00:19:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-181] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-25 00:19:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-181] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-25 00:19:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-25 00:24:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-182] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-25 00:24:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-182] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-25 00:24:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-25 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-183] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-25 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-183] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-25 00:59:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-26 00:09:58 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-184] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-26 00:09:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-184] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-26 00:09:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-26 00:13:58 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-185] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-26 00:13:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-185] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-26 00:13:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-26 00:19:58 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-186] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-26 00:19:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-186] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-26 00:19:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-26 00:24:58 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-187] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-26 00:24:58 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-187] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-26 00:24:58 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-26 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-188] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-26 00:59:57 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-188] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-26 00:59:57 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-27 00:09:54 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-189] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-27 00:09:54 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-189] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-27 00:09:54 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-27 00:13:53 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-190] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-27 00:13:53 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-190] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-27 00:13:53 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-27 00:19:53 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-191] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-27 00:19:53 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-191] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-27 00:19:53 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-27 00:24:53 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-192] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-27 00:24:53 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-192] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-27 00:24:53 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
2026-07-27 00:59:53 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-193] <br>----------- xxl-job job execute start -----------<br>----------- Param:null
|
||||
2026-07-27 00:59:54 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-193] <br>----------- xxl-job job execute end(finish) -----------<br>----------- Result: handleCode=200, handleMsg = null
|
||||
2026-07-27 00:59:54 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] <br>----------- xxl-job job callback finish.
|
||||
24
pom.xml
24
pom.xml
|
|
@ -15,11 +15,35 @@
|
|||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-stream-rocketmq</artifactId>
|
||||
<version>${spring-cloud-alibaba.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.zcloud.gbscommon</groupId>
|
||||
<artifactId>zcloud_gbscommon</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>5.8.25</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.jjb.saas</groupId>
|
||||
<artifactId>jjb-saas-framework-job</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 大华 SDK -->
|
||||
<dependency>
|
||||
<groupId>com.dahuatech.icc</groupId>
|
||||
<artifactId>java-sdk-oauth</artifactId>
|
||||
<version>1.0.13.15</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
</dependencies>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,373 @@
|
|||
# zcloud-gbs-primeport 项目梳理文档
|
||||
|
||||
## 一、项目概览
|
||||
|
||||
**系统名称**:港口口门门禁管理系统(primeport),应用名 `zcloud-gbs-primeport`,网关前缀 `/primeport`
|
||||
|
||||
**技术栈**:
|
||||
- Spring Boot 2.6.6 + Spring Cloud Alibaba(Nacos 配置中心/服务发现)
|
||||
- COLA 4.0 分层架构 + MyBatis-Plus + Druid + MySQL/PostgreSQL 双数据源
|
||||
- Redis、RocketMQ、XXL-JOB、Flyway、Swagger、Hutool、fastjson
|
||||
- 自研 jjb-saas 框架(网关/认证/系统客户端)
|
||||
- 大华 ICC SDK(`com.dahuatech.icc:java-sdk-oauth:1.0.13.15`)
|
||||
|
||||
**分层架构**(6 个 Maven 模块):
|
||||
|
||||
```
|
||||
start(启动) ──> web-adapter(控制器) ──> web-app(业务编排) ──> web-client(API契约+DTO) ──> web-domain(领域模型)
|
||||
│ │ │
|
||||
└──────────────────────┴──> web-infrastructure(基础设施+第三方对接) ──> web-domain
|
||||
```
|
||||
|
||||
调用链路示例:`Controller → ServiceImpl → Exe(命令执行器) → Gateway(领域接口) → GatewayImpl(基础设施) → Repository → Mapper → DB`
|
||||
|
||||
---
|
||||
|
||||
## 二、业务模块总览
|
||||
|
||||
系统按 **三类角色** 组织功能:监管端(JGD)、分公司端(FGS)、相关方/驻港单位端(XGF/ZGDW),通过 `MenuEnum` 控制约 60 项菜单权限。
|
||||
|
||||
### 1. 一级口门基础管理
|
||||
|
||||
| 模块 | Controller | 核心职责 |
|
||||
|------|-----------|---------|
|
||||
| 口门信息 | MkmjController | 口门名称、级别(1一级/2二级)、类型(人行/车行/综合)、所属港区、经纬度 |
|
||||
| 门禁通道 | MkmjPassageController | 通道类型、所属口门、状态 |
|
||||
| 闸机管理 | MkmjGateController | 闸机标识、型号、所属通道 |
|
||||
| 审批人 | MkmjApprovalUserController | 审批人企业/部门/岗位,人员/车辆/临时三类审核权限 |
|
||||
| 摄像头 | VideoController | 绑定口门或闸机,移动/平台类型 |
|
||||
| 刷卡记录 | MkmjSwipeCardRecordController | 接收大华推送的刷卡记录(`/dockSave`),分页查询 |
|
||||
|
||||
### 2. 封闭区域管理(二级口门)
|
||||
|
||||
| 模块 | Controller | 核心职责 |
|
||||
|------|-----------|---------|
|
||||
| 封闭区域 | ClosedAreaController | 树级结构(parentId)、按港区/管辖单位查询、统计 |
|
||||
| 人员申请 | ClosedAreaPersonApplyController | 申请/审批/授权(含二级门禁)、随行人员管理 |
|
||||
| 车辆申请 | ClosedAreaCarApplyController | 新增/分页/审批(auditFlag=2通过/3驳回) |
|
||||
| 临时申请 | ClosedTmpApplyController | 统一入口,按 TmpApplyEnum 路由到4种申请类型 |
|
||||
|
||||
### 3. 车辆管理
|
||||
|
||||
| 模块 | Controller | 核心职责 |
|
||||
|------|-----------|---------|
|
||||
| 车辆申请 | VehicleApplyController | 9种车辆归属、长期录入、车牌校验、相关方授权 |
|
||||
| 车辆审批 | VehicleAuditController | 待审批/审批记录/审批操作 |
|
||||
| 车辆黑名单 | VehicleBlackController | 新增/分页/删除 |
|
||||
| 车辆违规 | VehicleViolationsController | 违规记录,超阈值自动拉黑 |
|
||||
| 车辆门禁信息 | VehicleMessageController | 审批通过的固化信息,用于门禁对接 |
|
||||
| 车辆对接日志 | VehicleDockLogController | 一级/二级口门对接日志 |
|
||||
|
||||
### 4. 人员管理
|
||||
|
||||
| 模块 | Controller | 核心职责 |
|
||||
|------|-----------|---------|
|
||||
| 人员申请 | PersonApplyController | 相关方人员申请/审批/授权、临时访客H5申请、分公司人员管理 |
|
||||
| 人员门禁信息 | PersonMessageController | 审批通过的人员信息,用于门禁对接 |
|
||||
|
||||
### 5. 电动车数据接入
|
||||
|
||||
| 模块 | Controller | 核心职责 |
|
||||
|------|-----------|---------|
|
||||
| 电动车基础信息 | EVehicleBasicInfoController | 车辆备案(长期/一次性/内部/临时)、EDW数据溯源 |
|
||||
| 到离港信息 | EVehicleArrivalDepartureInfoController | 到达/离开闸口与时间记录 |
|
||||
|
||||
### 6. App 统计
|
||||
|
||||
| 模块 | Controller | 核心职责 |
|
||||
|------|-----------|---------|
|
||||
| App角标 | AppCountController | App端统计角标数据 |
|
||||
|
||||
---
|
||||
|
||||
## 三、核心业务流程
|
||||
|
||||
### 流程 A:口门车辆申请全链路
|
||||
|
||||
```
|
||||
申请提交 → VehicleApplyAddExe
|
||||
├─ 按归属类型回填(股份个人车直接 mkmjPermission=1)
|
||||
├─ 初始状态: auditFlag=1(待审), mkmjPermission=2(无权限)
|
||||
├─ 插入 VehicleAuditE 审批记录(changeAfter快照)
|
||||
└─ 推待办给审批人(RocketMQ)
|
||||
↓
|
||||
修改 → VehicleApplyUpdateExe (锁定车型/车牌/归属不可改, 重置auditFlag=1, 记录变更对比)
|
||||
↓
|
||||
审核 → VehicleAuditUpdateExe.audit
|
||||
├─ 通过(2): mkmjPermission=1 → CarDockUtil同步一级车行
|
||||
│ ├─ 临时/相关方车 → tmpVehicleSave(按港区portId)
|
||||
│ └─ 内部车 → executeInternalVehicle(先删后存)
|
||||
└─ 驳回(3): mkmjPermission=2
|
||||
```
|
||||
|
||||
### 流程 B:封闭区域车辆通行全链路
|
||||
|
||||
```
|
||||
申请 → ClosedAreaCarApplyAddExe (回填用户信息, auditFlag=1, 推待办)
|
||||
↓
|
||||
审批 → ClosedAreaCarApplyUpdateExe.auditCarApply
|
||||
└─ 通过时 → TwoCarUtil.levelTwoCarCompanyByApplyId
|
||||
├─ 二级海康: HKDeviceUtil.saveOrUpdCar + vehicleTopUp(当日有效)
|
||||
└─ 一级车行: 先查vehicle_apply是否已有有效权限,无则新增(不覆盖)
|
||||
```
|
||||
|
||||
### 流程 C:封闭区域人员授权链路(最复杂)
|
||||
|
||||
```
|
||||
申请 → ClosedAreaPersonApplyAddExe (auditFlag=1, 推待办)
|
||||
↓
|
||||
审核 → ClosedAreaPersonApplyUpdateExe.auditPersonApply
|
||||
└─ 通过时 → TwoPersonUtil.levelTwoPeopleCompanyByApplyId (海康+大华同步)
|
||||
↓
|
||||
授权 → ClosedAreaPersonApplyUpdateExe.authPerson
|
||||
├─ 删旧auth+area,重建auth+area(区域关联)
|
||||
└─ mkmjPermission=1时 → OnePersonUtil:
|
||||
├─ 查大华是否已有该身份证用户
|
||||
├─ 无 → dockLongTermUserByUserCardAndFaceImg (账号hbqa+身份证, 当日有效)
|
||||
└─ 有 → 保留不覆盖
|
||||
```
|
||||
|
||||
### 流程 D:车辆违规自动拉黑链路
|
||||
|
||||
```
|
||||
违规录入 → VehicleViolationsAddExe
|
||||
├─ 查历史违规数,若 (历史+1) >= 配置上限 → 自动拉黑
|
||||
│ ├─ vehicleBlackGateway.saveIfAbsent
|
||||
│ └─ vehicleApplyGateway.updateEvehicleBlockedByLicenceNo(...,1)
|
||||
└─ 新增违规记录(处理状态=2未处理)
|
||||
```
|
||||
|
||||
### 流程 E:相关方人员申请链路
|
||||
|
||||
```
|
||||
PersonApplyAddExe.xgfPersonSave
|
||||
├─ personBelongType∈{1,2} → auditFlag=2(自动通过) + mkmjPermission=1
|
||||
├─ 其他 → auditFlag=1(待审) + mkmjPermission=2
|
||||
├─ 推待办
|
||||
└─ 子表PersonApplyE批量保存(绑定主表XgfApplyPersonE)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、第三方接口对接
|
||||
|
||||
### 对接系统总览
|
||||
|
||||
| # | 第三方系统 | 对接方式 | 用途 | 级别 |
|
||||
|---|----------|---------|------|-----|
|
||||
| 1 | 大华 ICC 门禁 | SDK + HTTP(RSA加密) | 一级人员门禁:用户创建/有效期/冻结 | 一级 |
|
||||
| 2 | 海康威视门禁 | SDK(静态工具类) | 二级口门人员/车辆授权 | 二级 |
|
||||
| 3 | 秦皇岛港车行系统 | Hutool HTTP POST | 一级口门车辆(内部/临时/黑名单) | 一级 |
|
||||
| 4 | zcloud 用户中心 | Dubbo RPC | 用户信息、人脸图片base64 | 平台内 |
|
||||
| 5 | 待办列表 MQ | RocketMQ | 审批待办推送/完成 | 平台内 |
|
||||
| 6 | 大华刷卡推送 | HTTP 被动接收 | 刷卡记录入库 | 一级 |
|
||||
|
||||
### 1. 大华 ICC 对接(一级人员门禁)
|
||||
|
||||
**配置类**:
|
||||
- `web-domain/.../config/DaHuaOauthProperties.java`(`@ConfigurationProperties(prefix = "dahua.oauth")`:host / clientId / clientSecret / username / password / http / port)
|
||||
- `web-domain/.../config/DaHuaSdkConfig.java`(注入 `OauthConfigUserPwdInfo` Bean)
|
||||
- `start/src/main/resources/sdk.yml` 中 `dahua.oauth` 配置
|
||||
|
||||
**对接工具类**:
|
||||
- `web-infrastructure/.../plan/mjDevice/OnePersonUtil.java`
|
||||
- `web-infrastructure/.../plan/mjDevice/TwoPersonUtil.java`
|
||||
- `web-infrastructure/.../plan/mjDevice/OauthUtil.java`
|
||||
|
||||
**核心方法**:
|
||||
- `dockLongTermUserByUserCardAndFaceImg` - 按身份证查用户,不存在则新增(含人脸图片、有效期)
|
||||
- `expirationDateRefreshedUserCard` - 刷新用户门禁有效期
|
||||
- `freezeByUserCard` - 用户冻结(2)/解冻(1)
|
||||
- `getMkmjUserInfoByUserCard` - 按身份证批量查询用户
|
||||
|
||||
**OauthUtil 调用流程**:
|
||||
1. `getPublicKey()` - GET 公钥接口(忽略SSL证书的 RestTemplate)
|
||||
2. `getToken()` - POST 获取 Token(密码通过 RSA 加密)
|
||||
3. `getGenerateId() / getGenerateIdList(idCount)` - 获取全局用户ID(单个/批量)
|
||||
4. `getDepartmentId() / getDepartmentIdList(idCount)` - 获取部门ID
|
||||
5. `imgInspect(map)` - 图片质量检测,支持文件/URL/base64 三种格式
|
||||
|
||||
**配置项**(Nacos 下发,`icc.*`):
|
||||
- `icc.clientId` / `icc.clientSecret` / `icc.username` / `icc.password`
|
||||
- `icc.url` - ICC 基础地址
|
||||
- `icc.publicKeyUrl` - 公钥获取地址
|
||||
- `icc.request.getGenerateIdUrl` / `icc.request.getGenerateIdListUrl` - 全局用户ID接口
|
||||
- `icc.request.imgInspectUrl` - 图片质检接口
|
||||
- `icc.request.getDepartmentIdUrl` - 部门ID接口
|
||||
|
||||
### 2. 海康威视对接(二级口门)
|
||||
|
||||
**对接工具类**:
|
||||
- `web-infrastructure/.../plan/mjDevice/TwoCarUtil.java`
|
||||
- `web-infrastructure/.../plan/mjDevice/TwoPersonUtil.java`
|
||||
|
||||
**核心方法**:
|
||||
- 车辆:
|
||||
- `HKDeviceUtil.saveOrUpdCar(licenceNo, 0)` - 新增/更新车辆
|
||||
- `HKDeviceUtil.vehicleTopUp(licenceNo, 0, hkIndexCode, khParkSysCode, startDate, endDate)` - 车辆授权充值
|
||||
- 人员:
|
||||
- `HKDeviceUtil.getUserListByPhone(phoneList)` - 按手机号查人(限20人/次)
|
||||
- `HKDeviceUtil.getUserListByUserCard(userCard)` - 按身份证查人
|
||||
- `HKDeviceUtil.saveUser(name, cardNo, faceBase64, phone)` - 新增人员
|
||||
- `HKDeviceUtil.authPersonArea(personIds, resourceInfos, startTime, endTime)` - 授权门禁范围(限1000人/次)
|
||||
|
||||
**业务要点**:
|
||||
- 同步前通过 Dubbo `listBase64ByUrl` 把人脸URL转base64
|
||||
- 随行人员一并同步授权
|
||||
- 手机号查不到再用身份证查(处理手机号变更场景)
|
||||
|
||||
### 3. 秦皇岛港车行系统对接(一级口门车辆)
|
||||
|
||||
**对接工具类**:
|
||||
- `web-infrastructure/.../plan/mjDevice/OneLevelCarUtil.java`
|
||||
- `web-infrastructure/.../plan/mjDevice/CarDockUtil.java`
|
||||
|
||||
**配置**:
|
||||
- `${kmmj.dockflag}` - 对接开关(1=启用)
|
||||
- `${oneLevelCar.prefix}` - 服务前缀
|
||||
|
||||
**接口列表**(HTTP POST,前缀 `HD_QHD_IGATE_1.0`):
|
||||
|
||||
| 方法 | URL后缀 | 用途 |
|
||||
|------|--------|------|
|
||||
| internalVehicleSave | `/webresources/login/CTruck/qaSaveInternal` | 内部车辆保存 |
|
||||
| internalVehicleRemove | `/webresources/login/CTruck/qaDeleteInternal` | 内部车辆删除 |
|
||||
| tmpVehicleSave | `/webresources/login/CTruck/qaSaveTemp` | 临时车辆保存 |
|
||||
| tmpVehicleRemove | `/webresources/login/CTruck/qaDeleTemp` | 临时车辆删除 |
|
||||
| blackVehicleSave | `/webresources/login/CTruck/qaSaveBlack` | 黑名单新增 |
|
||||
| blackVehicleRemove | `/webresources/login/CTruck/qaDeleteBlack` | 黑名单删除 |
|
||||
|
||||
**CarDockUtil 协调器**:
|
||||
- `execute(licenceNo)` - 临时/相关方车走 `tmpVehicleSave`
|
||||
- `executeInternalVehicle(applyE)` - 内部车先 `internalVehicleRemove` 再 `internalVehicleSave`(覆盖更新)
|
||||
- `executeBlackSave / executeBlackRemove` - 黑名单新增/删除
|
||||
|
||||
每次对接写入 `VehicleDockLogDO` 日志表(level=1一级、dockFlag=2已对接、dockStatus=返回code、reasonsRefusal=返回msg)。
|
||||
|
||||
### 4. zcloud 用户中心(Dubbo)
|
||||
|
||||
通过 `@DubboReference ZcloudUserFacade`:
|
||||
|
||||
| 调用位置 | 方法 | 用途 |
|
||||
|---------|------|------|
|
||||
| TwoPersonUtil | `listBase64ByUrl(zcloudUserImgQry)` | 根据人脸URL列表批量获取 base64 |
|
||||
| ClosedAreaCarApplyAddExe | Dubbo 引用 | 闭区车辆申请新增时回填用户信息 |
|
||||
| ClosedAreaPersonApplyAddExe | Dubbo 引用 | 闭区人员申请新增时回填用户信息 |
|
||||
| ClosedAreaPersonApplyUpdateExe.authPerson | `getInfoByUserId(userId)` | 授权时获取用户身份证/姓名/人脸URL |
|
||||
|
||||
### 5. 待办列表 MQ(RocketMQ)
|
||||
|
||||
依赖:`spring-cloud-starter-stream-rocketmq`,工具类 `TodoListEventPusherUtil`
|
||||
|
||||
| 触发时机 | 事件类型 | 场景 |
|
||||
|---------|---------|------|
|
||||
| 申请提交 | TodoListAddEvent | 车辆/闭区车辆/闭区人员申请 |
|
||||
| 审批完成 | TodoListCompleteEvent | 车辆/闭区车辆/闭区人员审批 |
|
||||
|
||||
### 6. 大华刷卡记录推送(被动接收)
|
||||
|
||||
- **接收入口**:`POST /primeport/mkmjSwipeCardRecord/dockSave`
|
||||
- **数据结构**:`SwipeRecordPushVo`(外层)→ `SwipeRecordPushInfo`(info,含节点编码/设备编号/报警时间/报警状态)→ `SwipeRecordPushExtend`(extend,含刷卡人详细信息/进出/开门结果/抓拍图/卡信息)
|
||||
- **处理逻辑**:Controller 将三层嵌套结构扁平化为 `MkmjSwipeCardRecordAddCmd`,调用 Service 入库到 `mkmj_swipe_card_record` 表
|
||||
|
||||
---
|
||||
|
||||
## 五、定时任务(XXL-JOB)
|
||||
|
||||
全部位于 `web-infrastructure/plan/` 目录,每日凌晨执行:
|
||||
|
||||
| 任务类 | Cron | 职责 | 调用 |
|
||||
|-------|------|------|------|
|
||||
| VehicleExpiredExpirationXxlJob | `0 10 0 * * ?` | 车辆过期处理(更新状态+关闭门禁权限) | 仅更新数据库,门禁移除已注释 |
|
||||
| OneLevelUserXxlJon | `0 14 0 * * ?` | 一级人员门禁当日授权(相关方/临时访客) | `onePersonUtil.execute()` |
|
||||
| VehicleXgfVehicleXxlJob | `0 15 0 * * ?` | 相关方/临时车辆当日可进港区判断+推送一级门禁 | `carDockUtil.execute(param)` |
|
||||
| TwoLevelPersonXxlJob | `0 20 0 * * ?` | 二级门禁人员同步(含一级大华) | `twoPersonUtil.scheduledPeopleCompany()` |
|
||||
| TwoLevelCarXxlJob | `0 25 0 * * ?` | 二级门禁车辆同步(含一级车行) | `twoCarUtil.scheduledCarCompany()` |
|
||||
|
||||
> 二级任务支持"单个异常跳过不影响其他"模式。
|
||||
|
||||
---
|
||||
|
||||
## 六、领域模型
|
||||
|
||||
| 实体 | 中文 | 关键字段 |
|
||||
|------|------|---------|
|
||||
| MkmjE | 门口信息 | mkmjName、mkmjLevel(1一级/2二级)、mkmjType(人行/车行/综合)、hgAuthArea、出入方向区域、经纬度、closedAreaId |
|
||||
| MkmjPassageE | 通道 | passageName、passageType、mkmjId |
|
||||
| MkmjGateE | 闸机 | gateNumber、gateName、gateType、passageId、mkmjId |
|
||||
| MkmjApprovalUserE | 门禁审批人 | corpId/deptId/userId、人员/车辆/临时审核权限 |
|
||||
| MkmjSwipeCardRecordE | 刷卡记录 | 节点/报警/通道/人员/卡号/进出/开门结果/抓拍图 |
|
||||
| ClosedAreaE | 封闭区域 | parentId、hgAuthArea、closedAreaName、jurisdictionalCorpId、location |
|
||||
| ClosedAreaPersonApplyE | 封闭区域人员申请 | personBelongType、一级/二级口门、closedAreaId、申请/审批信息、随行人员 |
|
||||
| ClosedAreaCarApplyE | 封闭区域车辆申请 | carBelongType、车牌、一级/二级口门、行驶证、随行人员 |
|
||||
| ClosedAreaFgsPersonAreaE | 分公司人员区域授权 | fgsPersonAuthId、closedAreaId |
|
||||
| ClosedAreaFgsPersonAuthE | 分公司人员授权 | corpId、departmentId、userId、mkmjPermission |
|
||||
| VehicleApplyE | 车辆申请 | 车牌/类型/所属类型(1-9)、授权范围、审核状态、访问时间、企业/部门/申请人/审批人 |
|
||||
| VehicleAuditE | 车辆审批 | vehicleApplyId、batchType(普通/危化)、审批人、审批状态、变更前后 |
|
||||
| VehicleBlackE | 车辆黑名单 | licenceNo、blockReason |
|
||||
| VehicleViolationsE | 车辆违规 | vehicleId、violationType、location、illegalImagesId、processingStatus |
|
||||
| VehicleMessageE | 车辆门禁对接信息 | vehicleApplyId、syncStatus、syncRemarks |
|
||||
| VehicleDockLogE | 车辆对接日志 | level(1一级/2二级)、portArea(0全部/1东港/2西港)、dockFlag/dockStatus |
|
||||
| PersonApplyE | 人员申请 | 企业/部门/人员、头像/手机/身份证 |
|
||||
| XgfApplyPersonE | 相关方人员申请 | personBelongType、mkmjId、gateLevelAuthArea、审批/驳回信息 |
|
||||
| PersonMessageE | 人员门禁对接信息 | personApplyId、syncStatus、syncRemarks |
|
||||
| VideoE | 摄像头 | foreignId、deviceType(1口门/2闸机)、videoType(移动/平台) |
|
||||
| EVehicleBasicInfoE | 一级口门车辆基础信息 | vehicleRecordId、备案字段、EDW数据溯源字段 |
|
||||
| EVehicleArrivalDepartureInfoE | 一级口门车辆到离信息 | 到达/离开闸口与时间、车辆序列号 |
|
||||
|
||||
---
|
||||
|
||||
## 七、关键状态枚举
|
||||
|
||||
| 枚举类 | 值 | 说明 |
|
||||
|-------|---|------|
|
||||
| **AuditEnum** | 1审核中 / 2通过 / 3驳回 / 4无需审批(检查部门车) | 审批状态 |
|
||||
| **VehicleBelongTypeEnum** | 1股份员工 / 2股份单位 / 3分公司员工 / 4分公司单位 / 5相关方 / 6临时 / 7检查部门 / 8驻港单位员工 / 9驻港单位公车 | 车辆归属类型 |
|
||||
| **CloseCarBelongTypeEnum** | 1股份 / 2分公司 / 3相关方 / 4临时车 / 5分公司内部车 | 封闭区域车辆申请归属 |
|
||||
| **TmpApplyEnum** | CAR_APPLY/PERSON_APPLY × 一级/二级 | 临时申请类型 |
|
||||
| **FileTypeEnum** | File / url / base64 | 文件格式 |
|
||||
| **SaveTypeEnum** | 保留 / 删除 / 检测通过保留 | 图片保存策略 |
|
||||
| **MenuEnum** | 约60项(JGD_*/FGS_*/XGS_*/ZGDW_*) | 菜单与权限枚举 |
|
||||
|
||||
---
|
||||
|
||||
## 八、审批触发对接入口汇总
|
||||
|
||||
| 执行类 | 方法 | 触发对接 |
|
||||
|-------|------|---------|
|
||||
| VehicleAuditUpdateExe.audit | 车辆审批通过(auditStatus=2) | 临时/相关方车 → `carDockUtil.execute`;其他 → `carDockUtil.executeInternalVehicle` |
|
||||
| VehicleBlackAddExe.execute | 车辆拉黑 | `carDockUtil.executeBlackSave` |
|
||||
| VehicleBlackRemoveExe.execute | 车辆解除黑名单 | `carDockUtil.executeBlackRemove` |
|
||||
| ClosedAreaCarApplyUpdateExe.auditCarApply | 闭区车辆审批通过 | `twoCarUtil.levelTwoCarCompanyByApplyId`(先二级海康,再一级车行) |
|
||||
| ClosedAreaPersonApplyUpdateExe.auditPersonApply | 闭区人员审批通过 | `twoPersonUtil.levelTwoPeopleCompanyByApplyId`(二级海康+一级大华) |
|
||||
| ClosedAreaPersonApplyUpdateExe.authPerson | 人员授权开启(mkmjPermission=1) | 查大华已有权限,没有则 `onePersonUtil.dockLongTermUserByUserCardAndFaceImg` |
|
||||
|
||||
---
|
||||
|
||||
## 九、配置文件结构
|
||||
|
||||
| 文件 | 作用 |
|
||||
|------|------|
|
||||
| bootstrap.yml | 主入口,import prodnacos.yml + sdk.yml + swagger.yml |
|
||||
| prodnacos.yml | 生产 Nacos 配置(prod-nacos:8848,namespace=jjb-dragon,profile=prod) |
|
||||
| nacos.yml | 测试 Nacos 配置(192.168.20.100:30290,profile=test) |
|
||||
| ds.yml | 多数据源配置:MySQL(Druid) + PostgreSQL |
|
||||
| sdk.yml | SDK网关路由、开放平台OpenAPI(SM2加密)、大华oauth配置 |
|
||||
| swagger.yml | Swagger 文档开关与路径 |
|
||||
|
||||
**Nacos 共享配置**:`config-common.yml`、`config-port.yml`、`config-mq.yml`、`config-log.yml`、`config-sdk-server.yml`、`config-actuator.yml`、`config-job.yml`、`config-mysql.yml`、`config-redis.yml`、`config-cache.yml`、`config-spring.yml`、`config-mybatis.yml`、`config-sdk.yml`、`config-flyway.yml` 以及 `${application.name}-conf.yml`
|
||||
|
||||
---
|
||||
|
||||
## 十、关键风险点
|
||||
|
||||
1. **硬编码凭据**:OnePersonUtil/TwoPersonUtil 中大华 URL、用户名、密码、clientId/clientSecret 全部硬编码(`https://skqhdg.porthebei.com:9008/yjkmRy/`、`shuangkong`、`qinan@202604`),存在安全隐患
|
||||
2. **对接开关失效**:`dockFlag` 是 static 字段且默认 0,`@Value` 注解被注释掉,无法通过配置切换对接开关
|
||||
3. **有效期仅当日**:大华用户新增时有效期仅 `今天 00:00~23:59`,依赖每日定时任务刷新,任务中断则权限失效
|
||||
4. **事务边界风险**:外部调用(Dubbo/HK/大华/MQ)在 `@Transactional` 内执行,外部系统已写入的数据无法回滚,存在数据不一致风险
|
||||
5. **不覆盖策略**:一级门禁对接普遍采用"先查再决定是否新增",避免覆盖已有长期权限;但二级海康按当日有效期充值
|
||||
6. **电动车模块薄弱**:两个 Exe 均为纯 CRUD,到离港记录未与基本信息做关联校验,无状态机
|
||||
7. **残留代码**:ClosedAreaPersonApplyAddExe 含 main 方法(Base64 测试);ClosedAreaCountExe 的 corpId 过滤被注释
|
||||
8. **架构不一致**:MkmjApprovalUserAddExe 直接注入 Repository 而非 Gateway,绕过了领域层抽象
|
||||
9. **硬编码状态值**:部分 Exe 使用字面量(如 `1`、`equals(2)`)而非 AuditEnum 枚举,可读性差
|
||||
10. **DaHuaSdkUtil 是占位类**:login() 返回 null,实际大华调用走的是 gbscommon 包中的 DaHuaDeviceCommon
|
||||
|
|
@ -30,6 +30,11 @@
|
|||
<groupId>com.jjb.saas</groupId>
|
||||
<artifactId>jjb-saas-framework-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.dahuatech.icc</groupId>
|
||||
<artifactId>java-sdk-oauth</artifactId>
|
||||
<version>1.0.13.15</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ import org.springframework.boot.SpringApplication;
|
|||
mapperPackages = {"com.zcloud.primeport.persistence.mapper"}
|
||||
)
|
||||
public class Application {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(Application.class, args);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
dahua:
|
||||
resource:
|
||||
sync-enabled: true
|
||||
sync-page-size: 200
|
||||
subsystem: evo-accesscontrol
|
||||
auto-match-by-name: true
|
||||
oauth:
|
||||
host: 123.183.159.35
|
||||
client-id: 123.183.159.35
|
||||
client-secret: 4edfdcd2-67e6-41db-a1ae-b98d47a70266
|
||||
username: system
|
||||
password: zcloud88888
|
||||
http: false
|
||||
port: 4443
|
||||
|
|
@ -2,5 +2,7 @@ spring:
|
|||
config:
|
||||
import:
|
||||
- classpath:nacos.yml
|
||||
# - classpath:prodnacos.yml
|
||||
- classpath:sdk.yml
|
||||
- classpath:swagger.yml
|
||||
# - classpath:ds.yml
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
spring:
|
||||
datasource:
|
||||
mysql:
|
||||
url: jdbc:mysql://${mysql.host}:${mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||
username: ${mysql.username}
|
||||
password: ${mysql.password}
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
# 降级
|
||||
# driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
initial-size: 6
|
||||
min-idle: 1
|
||||
maxActive: 100
|
||||
# 配置获取连接等待超时的时间
|
||||
maxWait: 60000
|
||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||
timeBetweenEvictionRunsMillis: 60000
|
||||
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||
minEvictableIdleTimeMillis: 300000
|
||||
#Oracle需要打开注释
|
||||
#validationQuery: SELECT 1 FROM DUAL
|
||||
testWhileIdle: true
|
||||
testOnBorrow: false
|
||||
testOnReturn: false
|
||||
# 打开PSCache,并且指定每个连接上PSCache的大小
|
||||
poolPreparedStatements: true
|
||||
maxPoolPreparedStatementPerConnectionSize: 20
|
||||
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
|
||||
filters: stat,slf4j
|
||||
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
|
||||
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||
wall:
|
||||
multi-statement-allow: true
|
||||
pgsql:
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
driver-class-name: org.postgresql.Driver # PG专属驱动
|
||||
url: jdbc:postgresql://39.100.115.58:15431/postgres?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: postgres
|
||||
password: DjIGYM8k0h
|
||||
# PG专属Druid配置(适配PG特性,统一为驼峰格式匹配原有风格)
|
||||
initial-size: 6
|
||||
min-idle: 1
|
||||
maxActive: 100
|
||||
maxWait: 60000
|
||||
timeBetweenEvictionRunsMillis: 60000
|
||||
minEvictableIdleTimeMillis: 300000
|
||||
testWhileIdle: true
|
||||
testOnBorrow: false
|
||||
testOnReturn: false
|
||||
poolPreparedStatements: true
|
||||
maxPoolPreparedStatementPerConnectionSize: 20
|
||||
validationQuery: SELECT 1 # PG必须配置连接检测语句(MySQL可省略)
|
||||
filters: stat,slf4j # PG不兼容wall过滤器,需移除
|
||||
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||
|
|
@ -6,12 +6,16 @@ application:
|
|||
version:
|
||||
gateway: primeport
|
||||
cn-name: 一级口门管理
|
||||
server:
|
||||
port: 80
|
||||
debug: true
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: ${application.name}${application.version}
|
||||
profiles:
|
||||
# 环境配置
|
||||
active: test
|
||||
active: test,local
|
||||
cloud:
|
||||
nacos:
|
||||
config:
|
||||
|
|
@ -20,13 +24,15 @@ spring:
|
|||
file-extension: yml
|
||||
shared-configs:
|
||||
- config-common.yml
|
||||
- config-port.yml
|
||||
# - config-port.yml
|
||||
- config-mq.yml
|
||||
- config-log.yml
|
||||
- config-sdk-server.yml
|
||||
- config-actuator.yml
|
||||
- config-job.yml
|
||||
- config-mysql.yml
|
||||
# - config-pgsql.yml
|
||||
# - config-mysql-copy.yml
|
||||
- config-redis.yml
|
||||
- config-cache.yml
|
||||
- config-spring.yml
|
||||
|
|
@ -35,4 +41,4 @@ spring:
|
|||
- config-flyway.yml
|
||||
discovery:
|
||||
server-addr: ${spring.cloud.nacos.config.server-addr}
|
||||
namespace: ${spring.cloud.nacos.config.namespace}
|
||||
namespace: ${spring.cloud.nacos.config.namespace}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
management:
|
||||
endpoints:
|
||||
web:
|
||||
base-path: /${application.gateway}${application.version}/actuator
|
||||
enabled-by-default: true
|
||||
endpoint:
|
||||
health:
|
||||
enabled: true
|
||||
info:
|
||||
enabled: false
|
||||
auditevents:
|
||||
enabled: false
|
||||
metrics:
|
||||
enabled: false
|
||||
loggers:
|
||||
enabled: false
|
||||
logfile:
|
||||
enabled: false
|
||||
httptrace:
|
||||
enabled: false
|
||||
env:
|
||||
enabled: false
|
||||
flyway:
|
||||
enabled: false
|
||||
liquidbase:
|
||||
enabled: false
|
||||
shutdown:
|
||||
enabled: false
|
||||
mappings:
|
||||
enabled: false
|
||||
scheduledtasks:
|
||||
enabled: false
|
||||
threaddump:
|
||||
enabled: false
|
||||
heapdump:
|
||||
enabled: false
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
spring:
|
||||
cache:
|
||||
redis:
|
||||
time-to-live: 1800s
|
||||
|
||||
|
||||
# 二级缓存配置
|
||||
# 注:caffeine 不适用于数据量大,并且缓存命中率极低的业务场景,如用户维度的缓存。请慎重选择。
|
||||
l2cache:
|
||||
config:
|
||||
# 是否存储空值,默认true,防止缓存穿透
|
||||
allowNullValues: true
|
||||
# 组合缓存配置
|
||||
composite:
|
||||
# 是否全部启用一级缓存,默认false
|
||||
l1AllOpen: false
|
||||
# 一级缓存
|
||||
caffeine:
|
||||
# 是否自动刷新过期缓存 true 是 false 否
|
||||
autoRefreshExpireCache: false
|
||||
# 缓存刷新调度线程池的大小
|
||||
refreshPoolSize: 2
|
||||
# 缓存刷新的频率(秒)
|
||||
refreshPeriod: 10
|
||||
# 写入后过期时间(秒)
|
||||
expireAfterWrite: 180
|
||||
# 访问后过期时间(秒)
|
||||
expireAfterAccess: 180
|
||||
# 初始化大小
|
||||
initialCapacity: 1
|
||||
# 最大缓存对象个数,超过此数量时之前放入的缓存将失效
|
||||
maximumSize: 3
|
||||
|
||||
# 二级缓存
|
||||
redis:
|
||||
# 全局过期时间,单位毫秒,默认不过期
|
||||
defaultExpiration: 1800000
|
||||
# 缓存更新时通知其他节点的topic名称 默认 cache:redis:caffeine:topic
|
||||
topic: cache:redis:caffeine:topic
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
common:
|
||||
mysql:
|
||||
host: 192.168.2.166
|
||||
port: 3306
|
||||
username: root
|
||||
password: root
|
||||
redis:
|
||||
host: 10.43.253.4
|
||||
password: jjb123456
|
||||
port: 6379
|
||||
mq:
|
||||
host: 10.43.163.23:9876
|
||||
xxl-job:
|
||||
address: http://10.43.98.135:8080/xxl-job-admin/
|
||||
username: admin
|
||||
password: jjb123456
|
||||
gateway:
|
||||
network:
|
||||
http:
|
||||
#网关的外网访问地址 必须配置为HTTPS协议
|
||||
external: https://testdragon.cqjjb.cn
|
||||
#网关的内网访问地址 固定配置为http://jjb-saas-gateway
|
||||
intranet: http://10.43.250.65
|
||||
wx:
|
||||
#webSocket外网地址
|
||||
external: wx://testdragon.cqjjb.cn
|
||||
swagger:
|
||||
#是否打开swagger 测试及UAT配置为true,生产环境配置为false
|
||||
enabled: true
|
||||
base:
|
||||
# base应用访问外网访问地址
|
||||
host-url: http://10.43.12.158
|
||||
desk:
|
||||
# desk工程的外网地址
|
||||
host-url: http://10.43.12.158
|
||||
login:
|
||||
# login工程的外网访问地址
|
||||
host-url: http://10.43.12.158
|
||||
|
||||
#所有的前端域名配置 避免iframe跨域
|
||||
x-frame-options: ${common.desk.host-url}/ ${common.login.host-url}/ ${common.base.host-url}/ ${common.gateway.network.http.external}/ http://10.43.250.65/
|
||||
|
||||
k8s:
|
||||
namespace: test-dragon
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
# JOB 配置
|
||||
xxl-job:
|
||||
admin:
|
||||
address: ${common.xxl-job.address}
|
||||
username: ${common.xxl-job.username}
|
||||
password: ${common.xxl-job.password}
|
||||
executor:
|
||||
app-name: ${spring.application.name}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
common:
|
||||
log:
|
||||
jjb-saas-system:
|
||||
- com.jjb:info
|
||||
jjb-saas-auth1:
|
||||
- com.jjb:info
|
||||
jjb-saas-user:
|
||||
- com.jjb:info
|
||||
gray:
|
||||
log:
|
||||
host: 192.168.1.1
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
mq:
|
||||
topic: springcloudStream-jjb-dragon-test
|
||||
server: ${common.mq.host}
|
||||
spring:
|
||||
cloud:
|
||||
stream:
|
||||
bindings:
|
||||
input:
|
||||
destination: springcloudStream-jjb-dragon-test
|
||||
group: ${spring.application.name}-${spring.profiles.active}
|
||||
output:
|
||||
destination: springcloudStream-jjb-dragon-test
|
||||
group: ${spring.application.name}-${spring.profiles.active}
|
||||
rocketmq:
|
||||
binder:
|
||||
name-server: ${common.mq.host}
|
||||
group: ${spring.application.name}-${spring.profiles.active}
|
||||
bindings:
|
||||
input:
|
||||
consumer:
|
||||
tags: a
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
mybatis-plus:
|
||||
mapper-locations: classpath*:mapper/*.xml,classpath*:mapper/**/*Mapper.xml
|
||||
type-handlers-package: com.jjb.saas.framework.datascope.handler
|
||||
global-config:
|
||||
banner: false
|
||||
db-config:
|
||||
id-type: assign_id
|
||||
logic-delete-value: 1
|
||||
logic-not-delete-value: 0
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
mysql:
|
||||
db: ${spring.application.name}
|
||||
spring:
|
||||
shardingsphere:
|
||||
druid:
|
||||
username: admin
|
||||
password: jjb123456
|
||||
allows:
|
||||
denys:
|
||||
props:
|
||||
sql:
|
||||
show: true
|
||||
enabled: true
|
||||
masterslave:
|
||||
name: ms # 名字,任意,需要保证唯一
|
||||
master-data-source-name: master # 主库数据源
|
||||
slave-data-source-names: slave-1 # 从库数据源
|
||||
datasource:
|
||||
names: master,slave-1
|
||||
master:
|
||||
#url: jdbc:mysql://10.43.123.226:3306/${spring.application.name}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||
url: jdbc:mysql://${common.mysql.host}:${common.mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||
username: ${common.mysql.username}
|
||||
password: ${common.mysql.password}
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
initial-size: 6
|
||||
min-idle: 4
|
||||
maxActive: 40
|
||||
# 配置获取连接等待超时的时间
|
||||
maxWait: 60000
|
||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||
timeBetweenEvictionRunsMillis: 60000
|
||||
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||
minEvictableIdleTimeMillis: 300000
|
||||
#Oracle需要打开注释
|
||||
#validationQuery: SELECT 1 FROM DUAL
|
||||
testWhileIdle: true
|
||||
testOnBorrow: false
|
||||
testOnReturn: false
|
||||
# 打开PSCache,并且指定每个连接上PSCache的大小
|
||||
poolPreparedStatements: true
|
||||
maxPoolPreparedStatementPerConnectionSize: 20
|
||||
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
|
||||
filters: slf4j
|
||||
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
|
||||
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||
wall:
|
||||
multi-statement-allow: true
|
||||
slave-1:
|
||||
# url: jdbc:mysql://10.43.123.226:3306/${spring.application.name}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||
url: jdbc:mysql://${common.mysql.host}:${common.mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||
username: ${common.mysql.username}
|
||||
password: ${common.mysql.password}
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
initial-size: 6
|
||||
min-idle: 4
|
||||
maxActive: 20
|
||||
# 配置获取连接等待超时的时间
|
||||
maxWait: 60000
|
||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||
timeBetweenEvictionRunsMillis: 60000
|
||||
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||
minEvictableIdleTimeMillis: 300000
|
||||
#Oracle需要打开注释
|
||||
#validationQuery: SELECT 1 FROM DUAL
|
||||
testWhileIdle: true
|
||||
testOnBorrow: false
|
||||
testOnReturn: false
|
||||
# 打开PSCache,并且指定每个连接上PSCache的大小
|
||||
poolPreparedStatements: true
|
||||
maxPoolPreparedStatementPerConnectionSize: 20
|
||||
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙,stat已去掉
|
||||
filters: slf4j
|
||||
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
|
||||
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||
wall:
|
||||
multi-statement-allow: true
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
server:
|
||||
port: 80
|
||||
debug: true
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
spring:
|
||||
redis:
|
||||
host: ${common.redis.host}
|
||||
password: ${common.redis.password}
|
||||
port: ${common.redis.port}
|
||||
timeout: 15000
|
||||
database: 0
|
||||
prefix: dragon
|
||||
jedis:
|
||||
pool:
|
||||
max-active: 600
|
||||
max-idle: 300
|
||||
max-wait: 15000
|
||||
min-idle: 10
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
sdk:
|
||||
server:
|
||||
symmetry-url: jjb-saas-application/application/applications/server/secure/
|
||||
app-key: jjb-saas-dragon
|
||||
client:
|
||||
security:
|
||||
gateway: ${gateway.network.http.external}
|
||||
appKey: ${sdk.client.app-key}
|
||||
desensitization:
|
||||
symmetric-key: 1234567887654321
|
||||
logging:
|
||||
gateway: ${sdk.client.security.gateway}
|
||||
appKey: ${sdk.client.security.app-key}
|
||||
clientLoggingEnable: true
|
||||
level: debug
|
||||
username: user
|
||||
password: 123456
|
||||
showConsoleLog: true
|
||||
formatConsoleLogJson: true
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
spring:
|
||||
zipkin:
|
||||
#zipkin服务所在地址
|
||||
base-url: http://jjb-saas-zipkin/
|
||||
sender:
|
||||
type: web #使用http的方式传输数据
|
||||
#配置采样百分比
|
||||
sleuth:
|
||||
sampler:
|
||||
probability: 1 # 将采样比例设置为 1.0,也就是全部都需要。默认是0.1也就是10%,一般情况下,10%就够用了
|
||||
web:
|
||||
resources:
|
||||
cache:
|
||||
cachecontrol:
|
||||
no-store: false
|
||||
max-age: 10000
|
||||
no-cache: false
|
||||
autoconfigure:
|
||||
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
mvc:
|
||||
pathmatch:
|
||||
matching-strategy: ant_path_matcher
|
||||
messages:
|
||||
basename: i18n.message
|
||||
encoding: UTF-8
|
||||
flyway:
|
||||
# 是否启用flyway
|
||||
enabled: true
|
||||
# 编码格式,默认UTF-8
|
||||
encoding: UTF-8
|
||||
# 迁移sql脚本文件存放路径,默认db/migration
|
||||
locations: classpath:db/migration
|
||||
# 迁移sql脚本文件名称的前缀,默认V
|
||||
sql-migration-prefix: V
|
||||
# 迁移sql脚本文件名称的分隔符,默认2个下划线__
|
||||
sql-migration-separator: __
|
||||
# 迁移sql脚本文件名称的后缀
|
||||
sql-migration-suffixes: .sql
|
||||
# 迁移时是否进行校验,默认true
|
||||
validate-on-migrate: true
|
||||
# 当迁移发现数据库非空且存在没有元数据的表时,自动执行基准迁移,新建schema_version表
|
||||
baseline-on-migrate: true
|
||||
server:
|
||||
tomcat:
|
||||
max-http-post-size: 200MB
|
||||
connection-timeout: 180000
|
||||
fastjson:
|
||||
parser:
|
||||
safeMode: true
|
||||
mvc:
|
||||
pathmatch:
|
||||
matching-strategy: ANT_PATH_MATCHER
|
||||
thymeleaf:
|
||||
prefix: classpath:/templates/
|
||||
cache: false
|
||||
dubbo:
|
||||
application:
|
||||
name: ${spring.application.name}
|
||||
registry:
|
||||
timeout: 20000
|
||||
address: nacos://${spring.cloud.nacos.config.server-addr}?namespace=${spring.cloud.nacos.config.namespace}-facade
|
||||
check: false
|
||||
filter: providerContextFilter
|
||||
protocol:
|
||||
port: -1
|
||||
name: dubbo
|
||||
consumer:
|
||||
timeout: 20000
|
||||
check: false
|
||||
filter: consumerContextFilter
|
||||
logging:
|
||||
config: classpath:jjb-saas-logback-spring.xml
|
||||
level:
|
||||
com.alibaba.nacos.client.naming: OFF
|
||||
com.alibaba.nacos.client.config.impl: OFF
|
||||
com.alibaba.nacos.common.remote.client: OFF
|
||||
|
||||
datapermssion:
|
||||
tenantcondition:
|
||||
defaultversion: NEWERSION
|
||||
|
||||
easy-retry:
|
||||
server:
|
||||
host: http://jjb-saas-config
|
||||
port: 1788
|
||||
|
||||
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
sdk:
|
||||
client:
|
||||
app-key: e6ab3c9abda747b39d7cc12b6dc0f5a0
|
||||
gateway:
|
||||
url: ${common.gateway.network.http.intranet}
|
||||
swagger:
|
||||
enabled: ${common.swagger.enabled}
|
||||
title: 例子
|
||||
description: 这是例子项目
|
||||
version: ${application.version}
|
||||
group-name: 例子
|
||||
springfox:
|
||||
documentation:
|
||||
swagger-ui:
|
||||
base-url: ${application.gateway}
|
||||
swagger:
|
||||
v2:
|
||||
path: /${application.gateway}/v2/api-docs
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
nacos:
|
||||
url: prod-nacos:8848
|
||||
namespace: jjb-dragon
|
||||
application:
|
||||
name: zcloud-gbs-primeport
|
||||
version:
|
||||
gateway: primeport
|
||||
cn-name: 口门门禁管理
|
||||
spring:
|
||||
application:
|
||||
name: ${application.name}${application.version}
|
||||
profiles:
|
||||
# 环境配置
|
||||
active: prod
|
||||
cloud:
|
||||
nacos:
|
||||
config:
|
||||
namespace: ${nacos.namespace}
|
||||
server-addr: ${nacos.url}
|
||||
username: nacos
|
||||
password: u9Hc7tLFBY
|
||||
file-extension: yml
|
||||
shared-configs:
|
||||
- config-common.yml
|
||||
- config-port.yml
|
||||
- config-mq.yml
|
||||
- config-log.yml
|
||||
- config-sdk-server.yml
|
||||
- config-actuator.yml
|
||||
- config-job.yml
|
||||
- config-mysql.yml
|
||||
- config-redis.yml
|
||||
- config-cache.yml
|
||||
- config-spring.yml
|
||||
- config-mybatis.yml
|
||||
- config-sdk.yml
|
||||
- config-flyway.yml
|
||||
# 这个配置文件需要放到nacos里边
|
||||
- ${application.name}-conf.yml
|
||||
discovery:
|
||||
server-addr: ${spring.cloud.nacos.config.server-addr}
|
||||
namespace: ${spring.cloud.nacos.config.namespace}
|
||||
username: nacos
|
||||
password: u9Hc7tLFBY
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
sdk:
|
||||
server:
|
||||
app-key: 722091ff53dd4abba078c2a00efd4a42
|
||||
app-key: bbab676d39e443cfacc037ee15fdad37
|
||||
# app-key: c7fbb137c1a0484c8b0cca8ac9937c55
|
||||
#港务局线上appKey c7fbb137c1a0484c8b0cca8ac9937c55
|
||||
client:
|
||||
gateway:
|
||||
url: ${common.gateway.network.http.external}
|
||||
|
|
@ -14,7 +16,7 @@ sdk:
|
|||
name: ${application.cn-name}-后端
|
||||
group-code: public_api
|
||||
strip-prefix: 0
|
||||
uri: lb://${application.name}
|
||||
uri: http://${application.name}
|
||||
path: /${application.gateway}/**
|
||||
- client:
|
||||
system-code: ${application.name}-container
|
||||
|
|
@ -25,9 +27,21 @@ sdk:
|
|||
name: ${application.cn-name}-前端
|
||||
group-code: public_api
|
||||
strip-prefix: 0
|
||||
uri: lb://jjb-saas-base
|
||||
uri: http://jjb-saas-base
|
||||
path: /${application.gateway}/container/**
|
||||
order: -2
|
||||
- client:
|
||||
system-code: ${application.name}-h5
|
||||
name: ${application.cn-name}-h5-前端
|
||||
group-code: public_api
|
||||
service:
|
||||
system-code: ${application.name}-h5
|
||||
name: ${application.cn-name}-h5-前端
|
||||
group-code: public_api
|
||||
strip-prefix: 0
|
||||
uri: http://${application.name}
|
||||
path: /${application.gateway}-h5/**
|
||||
order: -3
|
||||
openapi:
|
||||
appId: 1871106785124999168
|
||||
appKey: 7314ecfc11ff4d5fad1ac19284ed2ac3
|
||||
|
|
@ -49,3 +63,44 @@ openapi:
|
|||
apiCode: test:01
|
||||
#多个可以逗号隔开,可以为空
|
||||
tenantIds: 1838408702262321152
|
||||
archives:
|
||||
async:
|
||||
pool:
|
||||
maxPoolSize: 2
|
||||
corePoolSize: 1
|
||||
queueCapacity: 60
|
||||
namePrefix: async-task-
|
||||
keepAliveSeconds: 60
|
||||
message:
|
||||
template:
|
||||
firstLevelApplyReceiveAudit: MS000152
|
||||
closedAreaApplyReceiveAudit: MS000153
|
||||
firstLevelApplyReceiveCarAudit: MS000154
|
||||
firstLevelApplyReceiveCarAuditReject: MS000155
|
||||
firstLevelPersonReceiveAudit: MS000156
|
||||
firstLevelPersonReceiveAuditReject: MS000157
|
||||
closedAreaApplyReceiveCarAudit: MS000158
|
||||
closedAreaApplyReceiveCarAuditReject: MS000159
|
||||
closedAreaPersonReceiveAudit: MS000160
|
||||
closedAreaPersonReceiveAuditReject: MS000161
|
||||
# 大华平台配置
|
||||
dahua:
|
||||
access-record:
|
||||
sync-enabled: true
|
||||
sync-page-size: 1000
|
||||
sync-delay-minutes: 5
|
||||
sync-overlap-minutes: 10
|
||||
initial-lookback-minutes: 1440
|
||||
resource:
|
||||
sync-enabled: true
|
||||
sync-page-size: 200
|
||||
subsystem: evo-accesscontrol
|
||||
auto-match-by-name: true
|
||||
oauth:
|
||||
host: 123.183.159.35
|
||||
client-id: 123.183.159.35
|
||||
client-secret: 4edfdcd2-67e6-41db-a1ae-b98d47a70266
|
||||
username: system
|
||||
password: zcloud88888
|
||||
http: false
|
||||
port: 4443
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
<!doctype html><html lang="zh"><head data-built-info="@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2025/10/17 11:07:53) App/risk"><meta charset="UTF-8"/><meta name="renderer" content="webkit"/><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1"/><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><title>--</title><script>(function () {
|
||||
const APP_ENV = {
|
||||
antd: {
|
||||
'ant-prefix': 'micro-temp',
|
||||
fontFamily: 'PingFangSC-Regular',
|
||||
colorPrimary: '#1677ff',
|
||||
borderRadius: parseInt('2')
|
||||
},
|
||||
appKey: '',
|
||||
basename: 'risk',
|
||||
API_HOST: ''
|
||||
};
|
||||
APP_ENV.API_HOST = sessionStorage.API_HOST || APP_ENV.API_HOST || window.location.origin;
|
||||
window.process = {
|
||||
env: { app: APP_ENV },
|
||||
NODE_ENV: 'production'
|
||||
};
|
||||
window.__JJB_ENVIRONMENT__ = {
|
||||
API_HOST: APP_ENV.API_HOST,
|
||||
redirect: '',
|
||||
FRAMEWORK: APP_ENV.antd
|
||||
};
|
||||
})();</script><script defer="defer" src="/risk/static/js/295.21df88c875577274cecb.js"></script><script defer="defer" src="/risk/static/js/main.4c0885586ad9a06ab444.js"></script><link href="/risk/static/css/main.40fc518bb0818fe8b8ea.css" rel="stylesheet"></head><body style="overflow: hidden"><noscript>此网页需要开启JavaScript功能。</noscript><div id="root" style="width: 100%; height: 100%; position: relative"></div><script type="text/javascript">/* @cqsjjb/script 输出当前应用基本信息、构建时间 */console.log("%c@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2025/10/17 11:07:53) App/risk Version/master Java/<branch-name>", "color: #1890ff; border-radius: 2px; padding: 0 4px; border: 1px solid #1890ff; background: #f9fcff")</script></body></html>
|
||||
|
|
@ -1 +0,0 @@
|
|||
body,html{height:100%;width:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}
|
||||
|
|
@ -1 +0,0 @@
|
|||
module.exports={compact:!1,plugins:[["@babel/plugin-proposal-decorators",{legacy:!0}]],presets:[["@babel/preset-env",{targets:{browsers:["ie >= 10"]}}],["@babel/preset-react",{runtime:"automatic"}]]};
|
||||
|
|
@ -1 +0,0 @@
|
|||
module.exports={javaGit:"<git-url>",javaGitName:"<git-name>",environment:{development:{javaGitBranch:"<branch-name>",API_HOST:"http://192.168.20.100:30140/demo2"},production:{javaGitBranch:"<branch-name>",API_HOST:""}},appIdentifier:"risk",contextInject:{appKey:""},windowInject:{title:"微应用模板",links:[],element:{root:{id:"root"}},scripts:[]},server:{port:"8080",host:"127.0.0.1",open:!0},framework:{antd:{"ant-prefix":"micro-temp",fontFamily:"PingFangSC-Regular",colorPrimary:"#1677ff",borderRadius:2}},webpackConfig:{htmlWebpackPluginOption:{inject:!0}}};
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,135 +0,0 @@
|
|||
/*!
|
||||
Copyright (c) 2018 Jed Watson.
|
||||
Licensed under the MIT License (MIT), see
|
||||
http://jedwatson.github.io/classnames
|
||||
*/
|
||||
|
||||
/*!
|
||||
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
||||
*
|
||||
* Copyright (c) 2014-2017, Jon Schlinkert.
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
/*!
|
||||
* isobject <https://github.com/jonschlinkert/isobject>
|
||||
*
|
||||
* Copyright (c) 2014-2017, Jon Schlinkert.
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-dom.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-is.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-jsx-runtime.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* scheduler.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/** @license React v16.13.1
|
||||
* react-is.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/** @license React v17.0.2
|
||||
* react-is.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/** @preserve
|
||||
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
||||
* derived from CryptoJS.mode.CTR
|
||||
* Jan Hruby jhruby.web@gmail.com
|
||||
*/
|
||||
|
||||
/** @preserve
|
||||
(c) 2012 by Cédric Mesnil. All rights reserved.
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
|
||||
/** */
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
{
|
||||
"name": "micro-app",
|
||||
"version": "2.0.0",
|
||||
"description": "建教帮微应用模板",
|
||||
"author": "JJB",
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"serve": "node node_modules/@cqsjjb/scripts/webpack.dev.server.js",
|
||||
"build": "node node_modules/@cqsjjb/scripts/webpack.build.js",
|
||||
"push": "jjb-cmd push java production",
|
||||
"clean-cache": "rimraf node_modules/.cache/webpack",
|
||||
"serve:development": "cross-env NODE_ENV=development npm run serve",
|
||||
"serve:production": "cross-env NODE_ENV=production npm run serve",
|
||||
"build:development": "cross-env NODE_ENV=development npm run build",
|
||||
"build:production": "cross-env NODE_ENV=production npm run build",
|
||||
"code-optimization": "node node_modules/@cqsjjb/scripts/code-optimization.js",
|
||||
"lint": "eslint --ext .js,.jsx,.tsx --fix src"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ant-design/icons": "latest",
|
||||
"@cqsjjb/jjb-common-decorator": "latest",
|
||||
"@cqsjjb/jjb-common-lib": "latest",
|
||||
"@cqsjjb/jjb-dva-runtime": "latest",
|
||||
"@cqsjjb/jjb-react-admin-component": "latest",
|
||||
"ahooks": "^3.9.5",
|
||||
"antd": "latest",
|
||||
"dayjs": "^1.11.7",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@antfu/eslint-config": "^5.4.1",
|
||||
"@babel/plugin-proposal-decorators": "^7.19.3",
|
||||
"@cqsjjb/scripts": "latest",
|
||||
"@eslint-react/eslint-plugin": "^2.2.2",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^9.37.0",
|
||||
"eslint-plugin-format": "^1.0.2",
|
||||
"eslint-plugin-react-hooks": "^7.0.0",
|
||||
"eslint-plugin-react-refresh": "^0.4.23",
|
||||
"typescript": "^5.9.3"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.api.DaHuaServiceI;
|
||||
import com.zcloud.primeport.domain.model.DaHuaAccessRecordCmd;
|
||||
import com.zcloud.primeport.domain.model.DaHuaCarAddCmd;
|
||||
import com.zcloud.primeport.domain.model.DaHuaCarPageCmd;
|
||||
import com.zcloud.primeport.domain.model.DaHuaPersonSyncCmd;
|
||||
import com.zcloud.primeport.domain.model.DaHuaTempVehicleSaveCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaAccessRecordSyncCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaCarDeleteCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaPersonDeleteCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaResourceSyncCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.DaHuaAccessRecordSyncResultCO;
|
||||
import com.zcloud.primeport.dto.clientobject.DaHuaResourceSyncResultCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@Api(tags = "大华平台对接")
|
||||
@RequestMapping("/${application.gateway}/dahua")
|
||||
@RestController
|
||||
public class DaHuaController {
|
||||
|
||||
@Autowired(required = false)
|
||||
private DaHuaServiceI daHuaService;
|
||||
|
||||
@ApiOperation("生成人员全局ID")
|
||||
@GetMapping("/person/generate-id")
|
||||
public SingleResponse<Long> generatePersonId() {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.generatePersonId();
|
||||
}
|
||||
|
||||
@ApiOperation("同步人员到大华平台-新增")
|
||||
@PostMapping("/person/sync")
|
||||
public SingleResponse<Object> syncPerson(@Validated @RequestBody DaHuaPersonSyncCmd cmd) {
|
||||
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.syncPerson(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("修改人员")
|
||||
@PutMapping("/person/update")
|
||||
public SingleResponse<Boolean> updatePerson(@Validated @RequestBody DaHuaPersonSyncCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.updatePerson(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("新增车辆")
|
||||
@PostMapping("/car/add")
|
||||
public SingleResponse<Boolean> addCar(@Validated @RequestBody DaHuaCarAddCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.addCar(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("修改车辆")
|
||||
@PutMapping("/car/update")
|
||||
public SingleResponse<Boolean> updateCar(@Validated @RequestBody DaHuaCarAddCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.updateCar(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("车辆分页查询(根据车牌查carCode)")
|
||||
@PostMapping("/car/page")
|
||||
public SingleResponse<Map<String, Object>> pageCar(@Validated @RequestBody DaHuaCarPageCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.pageCar(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("删除车辆")
|
||||
@PostMapping("/car/delete")
|
||||
public SingleResponse<Boolean> deleteCar(@Validated @RequestBody DaHuaCarDeleteCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.deleteCar(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("门禁事件查询(刷卡记录分页)")
|
||||
@PostMapping("/access/record")
|
||||
public SingleResponse<Map<String, Object>> queryAccessRecord(@Validated @RequestBody DaHuaAccessRecordCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.queryAccessRecord(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("同步大华门禁通行记录并落库")
|
||||
@PostMapping("/access/record/sync")
|
||||
public SingleResponse<DaHuaAccessRecordSyncResultCO> syncAccessRecords(
|
||||
@Valid @RequestBody DaHuaAccessRecordSyncCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.syncAccessRecords(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("删除人员")
|
||||
@PostMapping("/person/delete")
|
||||
public SingleResponse<Boolean> deletePerson(@Validated @RequestBody DaHuaPersonDeleteCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.deletePerson(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("临时车辆全量保存(人员+车辆+卡片+人脸)")
|
||||
@PostMapping("/temp-vehicle/save")
|
||||
public SingleResponse<Object> saveTempVehicle(@Validated @RequestBody DaHuaTempVehicleSaveCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.saveTempVehicle(cmd);
|
||||
}
|
||||
|
||||
@PostMapping("/resource/sync")
|
||||
public SingleResponse<DaHuaResourceSyncResultCO> syncResources(
|
||||
@Valid @RequestBody(required = false) DaHuaResourceSyncCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.syncResources(cmd);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.api.DashboardServiceI;
|
||||
import com.zcloud.primeport.dto.DashboardMkmjRecordCmd;
|
||||
import com.zcloud.primeport.dto.DashboardRecordStatCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.DashboardMkmjRecordCO;
|
||||
import com.zcloud.primeport.dto.clientobject.DashboardRecordStatCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
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;
|
||||
|
||||
@Api(tags = "可视化大屏-信息统计")
|
||||
@RequestMapping("/${application.gateway}/dashboard")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class DashboardController {
|
||||
private final DashboardServiceI dashboardService;
|
||||
|
||||
//统计当天的进出数量 人和车
|
||||
@ApiOperation("可视化大屏-记录统计")
|
||||
@PostMapping("/recordStat")
|
||||
public SingleResponse<DashboardRecordStatCO> recordStat(@RequestBody DashboardRecordStatCmd cmd) {
|
||||
return dashboardService.recordStat(cmd);
|
||||
}
|
||||
// 统计当天的口门进入进出记录数量,根据口门统计
|
||||
@ApiOperation("可视化大屏-口门进入进出记录统计")
|
||||
@PostMapping("/mkmjRecord")
|
||||
public MultiResponse<DashboardMkmjRecordCO> mkmjRecord(@RequestBody DashboardMkmjRecordCmd cmd) {
|
||||
return dashboardService.mkmjRecord(cmd);
|
||||
}
|
||||
|
||||
//口门进出记录,人员通道和车辆通道
|
||||
|
||||
//一个或多个企业的,进入了,没有出去的车数量和人的数量
|
||||
}
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.zcloud.primeport.api.EVehicleArrivalDepartureInfoServiceI;
|
||||
import com.zcloud.primeport.dto.EVehicleArrivalDepartureInfoAddCmd;
|
||||
import com.zcloud.primeport.dto.EVehicleArrivalDepartureInfoPageQry;
|
||||
import com.zcloud.primeport.dto.EVehicleArrivalDepartureInfoUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.EVehicleArrivalDepartureInfoCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-05-27 17:45:43
|
||||
*/
|
||||
@Api(tags = "一级口门车辆数据接入")
|
||||
@RequestMapping("/${application.gateway}/eVehicleArrivalDepartureInfo")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class EVehicleArrivalDepartureInfoController {
|
||||
private final EVehicleArrivalDepartureInfoServiceI eVehicleArrivalDepartureInfoService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<EVehicleArrivalDepartureInfoCO> add(@Validated @RequestBody EVehicleArrivalDepartureInfoAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return eVehicleArrivalDepartureInfoService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<EVehicleArrivalDepartureInfoCO> page(@RequestBody EVehicleArrivalDepartureInfoPageQry qry) {
|
||||
return eVehicleArrivalDepartureInfoService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<EVehicleArrivalDepartureInfoCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<EVehicleArrivalDepartureInfoCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<EVehicleArrivalDepartureInfoCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(eVehicleArrivalDepartureInfoService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
eVehicleArrivalDepartureInfoService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam("ids") String ids) {
|
||||
List<Long> idsList = Arrays.stream(ids.split(","))
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
eVehicleArrivalDepartureInfoService.removeBatch(idsList);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody EVehicleArrivalDepartureInfoUpdateCmd eVehicleArrivalDepartureInfoUpdateCmd) {
|
||||
eVehicleArrivalDepartureInfoService.edit(eVehicleArrivalDepartureInfoUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.zcloud.primeport.api.EVehicleBasicInfoServiceI;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:31
|
||||
*/
|
||||
@Api(tags = "一级口门车辆出入信息")
|
||||
@RequestMapping("/${application.gateway}/eVehicleBasicInfo")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoController {
|
||||
private final EVehicleBasicInfoServiceI eVehicleBasicInfoService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<EVehicleBasicInfoCO> add(@Validated @RequestBody EVehicleBasicInfoAddCmd cmd) {
|
||||
return eVehicleBasicInfoService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<EVehicleBasicInfoCO> page(@RequestBody EVehicleBasicInfoPageQry qry) {
|
||||
return eVehicleBasicInfoService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<EVehicleBasicInfoCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<EVehicleBasicInfoCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<EVehicleBasicInfoCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(eVehicleBasicInfoService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
eVehicleBasicInfoService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam("ids") String ids) {
|
||||
List<Long> idsList = Arrays.stream(ids.split(","))
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
eVehicleBasicInfoService.removeBatch(idsList);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody EVehicleBasicInfoUpdateCmd eVehicleBasicInfoUpdateCmd) {
|
||||
eVehicleBasicInfoService.edit(eVehicleBasicInfoUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.EnclosedAreaServiceI;
|
||||
import com.zcloud.primeport.dto.EnclosedAreaAddCmd;
|
||||
import com.zcloud.primeport.dto.EnclosedAreaPageQry;
|
||||
import com.zcloud.primeport.dto.EnclosedAreaUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.EnclosedAreaCO;
|
||||
import com.zcloud.primeport.dto.clientobject.EnclosedAreaTreeCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-12-12 16:49:31
|
||||
*/
|
||||
@Api(tags = "封闭区域")
|
||||
@RequestMapping("/${application.gateway}/enclosedArea")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class EnclosedAreaController {
|
||||
private final EnclosedAreaServiceI enclosedAreaService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<EnclosedAreaCO> add(@Validated @RequestBody EnclosedAreaAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
cmd.setCorpinfoId(ssoUser.getTenantId());
|
||||
cmd.setCorpinfoName(ssoUser.getTenantName());
|
||||
return enclosedAreaService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<EnclosedAreaCO> page(@RequestBody EnclosedAreaPageQry qry) {
|
||||
return enclosedAreaService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<EnclosedAreaCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<EnclosedAreaCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAllTree")
|
||||
public MultiResponse<EnclosedAreaTreeCO> listAllTree() {
|
||||
return MultiResponse.of(enclosedAreaService.listAllTree());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<EnclosedAreaCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(enclosedAreaService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
enclosedAreaService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
enclosedAreaService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody EnclosedAreaUpdateCmd enclosedAreaUpdateCmd) {
|
||||
enclosedAreaService.edit(enclosedAreaUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.MkmjApprovalUserServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjApprovalUserAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjApprovalUserPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjApprovalUserUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.AvailableResultCO;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjApprovalUserCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:16
|
||||
*/
|
||||
@Api(tags = "一级口门门禁审批人")
|
||||
@RequestMapping("/${application.gateway}/mkmjApprovalUser")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjApprovalUserController {
|
||||
private final MkmjApprovalUserServiceI mkmjApprovalUserService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjApprovalUserCO> add(@Validated @RequestBody MkmjApprovalUserAddCmd cmd) {
|
||||
return mkmjApprovalUserService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjApprovalUserCO> page(@RequestBody MkmjApprovalUserPageQry qry) {
|
||||
qry.setCorpId(AuthContext.getTenantId());
|
||||
return mkmjApprovalUserService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjApprovalUserCO> listAll(MkmjApprovalUserPageQry qry) {
|
||||
return MultiResponse.of(mkmjApprovalUserService.listAll(qry));
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjApprovalUserCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjApprovalUserService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjApprovalUserService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
@ApiOperation("校验审批人是否已录入")
|
||||
@GetMapping("/checkExistByUserId/{userId}")
|
||||
public SingleResponse<AvailableResultCO> checkExistByUserId(@PathVariable("userId") Long userId) {
|
||||
return mkmjApprovalUserService.checkExistByUserId(userId);
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjApprovalUserUpdateCmd mkmjApprovalUserUpdateCmd) {
|
||||
mkmjApprovalUserService.edit(mkmjApprovalUserUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.zcloud.primeport.api.MkmjAreaServiceI;
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.dto.MkmjAreaAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjAreaPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjAreaUpdateCmd;
|
||||
import com.zcloud.primeport.dto.StatisticsByAreaCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjAreaCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-14 08:57:41
|
||||
*/
|
||||
@Api(tags = "门口门禁区域表")
|
||||
@RequestMapping("/${application.gateway}/mkmjArea")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjAreaController {
|
||||
private final MkmjAreaServiceI mkmjAreaService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjAreaCO> add(@Validated @RequestBody MkmjAreaAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
if(ObjectUtil.isEmpty(cmd.getCorpinfoId())){
|
||||
cmd.setCorpinfoId(ssoUser.getTenantId());
|
||||
cmd.setCorpinfoName(ssoUser.getTenantName());
|
||||
}
|
||||
return mkmjAreaService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjAreaCO> page(@RequestBody MkmjAreaPageQry qry) {
|
||||
return mkmjAreaService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjAreaCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<MkmjAreaCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjAreaCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjAreaService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjAreaService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
mkmjAreaService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjAreaUpdateCmd mkmjAreaUpdateCmd) {
|
||||
mkmjAreaService.edit(mkmjAreaUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("统计")
|
||||
@PostMapping("/statistics")
|
||||
public MultiResponse<MkmjStatisticsCO> statistics(@RequestBody StatisticsByAreaCmd qry) {
|
||||
return MultiResponse.of(mkmjAreaService.statistics(qry.getIds()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.zcloud.primeport.api.MkmjAreaGateServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjAreaGateAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjAreaGatePageQry;
|
||||
import com.zcloud.primeport.dto.MkmjAreaGateUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjAreaGateCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-14 08:57:43
|
||||
*/
|
||||
@Api(tags = "门口门禁区域闸机表")
|
||||
@RequestMapping("/${application.gateway}/mkmjAreaGate")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjAreaGateController {
|
||||
private final MkmjAreaGateServiceI mkmjAreaGateService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjAreaGateCO> add(@Validated @RequestBody MkmjAreaGateAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return mkmjAreaGateService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjAreaGateCO> page(@RequestBody MkmjAreaGatePageQry qry) {
|
||||
return mkmjAreaGateService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjAreaGateCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<MkmjAreaGateCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjAreaGateCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjAreaGateService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjAreaGateService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
mkmjAreaGateService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjAreaGateUpdateCmd mkmjAreaGateUpdateCmd) {
|
||||
mkmjAreaGateService.edit(mkmjAreaGateUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.api.MkmjServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjScreenPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjUpdateCmd;
|
||||
import com.zcloud.primeport.dto.MkmjUpdateStatusCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjCO;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjScreenCO;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
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.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Api(tags = "口门信息管理")
|
||||
@RequestMapping("/${application.gateway}/mkmj")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjController {
|
||||
private final MkmjServiceI mkmjService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjCO> add(@Validated @RequestBody MkmjAddCmd cmd) {
|
||||
return mkmjService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/listNoToken")
|
||||
public PageResponse<MkmjCO> listNoToken(@RequestBody MkmjPageQry qry) {
|
||||
return mkmjService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjCO> page(@RequestBody MkmjPageQry qry) {
|
||||
return mkmjService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjCO> listAll(MkmjPageQry qry) {
|
||||
return MultiResponse.of(mkmjService.listAll(qry));
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("停用启用")
|
||||
@PutMapping("/editStatus")
|
||||
public SingleResponse editStatus(@Validated @RequestBody MkmjUpdateStatusCmd mkmjUpdateCmd) {
|
||||
MkmjUpdateCmd mkmjUpdateCmd1 = new MkmjUpdateCmd();
|
||||
mkmjUpdateCmd1.setId(mkmjUpdateCmd.getId());
|
||||
mkmjUpdateCmd1.setMkmjStatus(mkmjUpdateCmd.getMkmjStatus());
|
||||
mkmjService.edit(mkmjUpdateCmd1);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjUpdateCmd mkmjUpdateCmd) {
|
||||
mkmjService.edit(mkmjUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("名称唯一性校验")
|
||||
@GetMapping("/check-name")
|
||||
public SingleResponse<Map<String, Boolean>> checkName(@RequestParam String mkmjName, @RequestParam(required = false) Long id) {
|
||||
Boolean available = mkmjService.checkName(mkmjName, id);
|
||||
Map<String, Boolean> result = new HashMap<>();
|
||||
result.put("available", available);
|
||||
return SingleResponse.of(result);
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-口门统计")
|
||||
@GetMapping("/statistics")
|
||||
public MultiResponse<MkmjStatisticsCO> statistics() {
|
||||
return mkmjService.statistics();
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-口门列表")
|
||||
@PostMapping("/screenList")
|
||||
public PageResponse<MkmjScreenCO> screenList(@RequestBody MkmjScreenPageQry qry) {
|
||||
return mkmjService.screenList(qry);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.MkmjGateServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjGateAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjGatePageQry;
|
||||
import com.zcloud.primeport.dto.MkmjGateScreenPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjGateUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjGateCO;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjGateScreenCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:17
|
||||
*/
|
||||
@Api(tags = "门口闸机表")
|
||||
@RequestMapping("/${application.gateway}/mkmjGate")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjGateController {
|
||||
private final MkmjGateServiceI mkmjGateService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjGateCO> add(@Validated @RequestBody MkmjGateAddCmd cmd) {
|
||||
return mkmjGateService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjGateCO> page(@RequestBody MkmjGatePageQry qry) {
|
||||
return mkmjGateService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjGateCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjGateService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjGateService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjGateUpdateCmd mkmjGateUpdateCmd) {
|
||||
mkmjGateService.edit(mkmjGateUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
@ApiOperation("名称唯一性校验")
|
||||
@GetMapping("/check-name")
|
||||
public SingleResponse<Map<String, Boolean>> checkName(
|
||||
@RequestParam String gateName,
|
||||
@RequestParam Long passageId,
|
||||
@RequestParam(required = false) Long id) {
|
||||
Boolean available = mkmjGateService.checkName(gateName, passageId, id);
|
||||
Map<String, Boolean> result = new HashMap<>();
|
||||
result.put("available", available);
|
||||
return SingleResponse.of(result);
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-人员车辆闸机列表")
|
||||
@PostMapping("/screenList")
|
||||
public PageResponse<MkmjGateScreenCO> screenList(@RequestBody MkmjGateScreenPageQry qry) {
|
||||
return mkmjGateService.screenList(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.zcloud.primeport.api.MkmjGateVideoServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjGateVideoAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjGateVideoPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjGateVideoUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjGateVideoCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-14 08:57:44
|
||||
*/
|
||||
@Api(tags = "门口门禁闸机摄像头表")
|
||||
@RequestMapping("/${application.gateway}/mkmjGateVideo")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjGateVideoController {
|
||||
private final MkmjGateVideoServiceI mkmjGateVideoService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjGateVideoCO> add(@Validated @RequestBody MkmjGateVideoAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return mkmjGateVideoService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjGateVideoCO> page(@RequestBody MkmjGateVideoPageQry qry) {
|
||||
return mkmjGateVideoService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjGateVideoCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<MkmjGateVideoCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjGateVideoCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjGateVideoService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjGateVideoService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
mkmjGateVideoService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjGateVideoUpdateCmd mkmjGateVideoUpdateCmd) {
|
||||
mkmjGateVideoService.edit(mkmjGateVideoUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,33 +1,22 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.api.MkmjPassageServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjPassageAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjPassagePageQry;
|
||||
import com.zcloud.primeport.dto.MkmjPassageUpdateCmd;
|
||||
import com.zcloud.primeport.dto.StatisticsByAreaCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjPassageCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-14 08:57:45
|
||||
*/
|
||||
@Api(tags = "口门门禁通道表")
|
||||
@RequestMapping("/${application.gateway}/mkmjPassage")
|
||||
@RestController
|
||||
|
|
@ -38,7 +27,6 @@ public class MkmjPassageController {
|
|||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjPassageCO> add(@Validated @RequestBody MkmjPassageAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return mkmjPassageService.add(cmd);
|
||||
}
|
||||
|
||||
|
|
@ -48,21 +36,10 @@ public class MkmjPassageController {
|
|||
return mkmjPassageService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjPassageCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<MkmjPassageCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjPassageCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjPassageService.queryById(id));
|
||||
}
|
||||
@ApiOperation("是否重名")
|
||||
@GetMapping("/hasName/{name}")
|
||||
public SingleResponse<MkmjPassageCO> hasName(@PathVariable("name") String name) {
|
||||
return SingleResponse.of(mkmjPassageService.queryByName(name));
|
||||
return SingleResponse.of(mkmjPassageService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
|
|
@ -72,13 +49,6 @@ public class MkmjPassageController {
|
|||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
mkmjPassageService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjPassageUpdateCmd mkmjPassageUpdateCmd) {
|
||||
|
|
@ -86,10 +56,17 @@ public class MkmjPassageController {
|
|||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("统计")
|
||||
@PostMapping("/statistics")
|
||||
public MultiResponse<MkmjStatisticsCO> statistics(@RequestBody StatisticsByAreaCmd qry) {
|
||||
return MultiResponse.of(mkmjPassageService.statistics(qry.getIds()));
|
||||
@ApiOperation("名称唯一性校验")
|
||||
@GetMapping("/check-name")
|
||||
public SingleResponse<Map<String, Boolean>> checkName(
|
||||
@RequestParam String passageName,
|
||||
@RequestParam Long mkmjId,
|
||||
@RequestParam(required = false) Long id) {
|
||||
Boolean available = mkmjPassageService.checkName(passageName, mkmjId, id);
|
||||
Map<String, Boolean> result = new HashMap<>();
|
||||
result.put("available", available);
|
||||
return SingleResponse.of(result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,20 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.zcloud.primeport.api.MkmjSwipeCardRecordServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.MkmjSwipeCardRecordServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
import com.zcloud.primeport.dto.mjDock.SwipeRecordPushExtend;
|
||||
import com.zcloud.primeport.dto.mjDock.SwipeRecordPushInfo;
|
||||
import com.zcloud.primeport.dto.mjDock.SwipeRecordPushVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -19,12 +22,15 @@ import org.springframework.validation.annotation.Validated;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-22 17:04:00
|
||||
*/
|
||||
@Api(tags = "")
|
||||
@RequestMapping("/${application.gateway}/mkmjSwipeCardRecord")
|
||||
|
|
@ -33,10 +39,36 @@ import java.util.ArrayList;
|
|||
public class MkmjSwipeCardRecordController {
|
||||
private final MkmjSwipeCardRecordServiceI mkmjSwipeCardRecordService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/dockSave")
|
||||
public SingleResponse dockSave(@Validated @RequestBody SwipeRecordPushVo cmd) {
|
||||
SwipeRecordPushInfo info = cmd.getInfo();
|
||||
SwipeRecordPushExtend extend = info.getExtend();
|
||||
MkmjSwipeCardRecordAddCmd cardRecordEntity = new MkmjSwipeCardRecordAddCmd();
|
||||
cardRecordEntity
|
||||
.setNodeCode(info.getNodeCode()).setAlarmCode(info.getAlarmCode()).setAlarmPicture(info.getAlarmPicture())
|
||||
.setNodeType(info.getNodeType()).setAlarmDate(info.getAlarmDate()).setAlarmGrade(info.getAlarmGrade())
|
||||
.setUnitType(info.getUnitType()).setAlarmType(info.getAlarmType()).setChannelSeq(info.getChannelSeq())
|
||||
.setChannelName(info.getChannelName()).setAlarmStat(info.getAlarmStat()).setDeptName(extend.getDeptName())
|
||||
.setAcsChannelCode(extend.getAcsChannelCode()).setMaskState(extend.getMaskState()).setEnterOrExit(extend.getEnterOrExit())
|
||||
.setOpenTypeStr(extend.getOpenTypeStr()).setSwingTime(extend.getSwingTime()).setDeviceName(extend.getDeviceName())
|
||||
.setPersonCode(extend.getPersonCode()).setOpenType(extend.getOpenType()).setOrgCode(extend.getOrgCode())
|
||||
.setPaperType(extend.getPaperType()).setPaperNumber(extend.getPaperNumber()).setErrorDetail(extend.getErrorDetail())
|
||||
.setOpenFailedCod(extend.getOpenFailedCode()).setExtendId(extend.getId()).setBeginTime(extend.getBeginTime())
|
||||
.setAcsChannelName(extend.getAcsChannelName()).setCardStatus(extend.getCardStatus()).setOrgName(extend.getOrgName())
|
||||
.setSex(extend.getSex()).setDeptId(extend.getDeptId()).setCardType(extend.getCardType()).setDeviceCode(extend.getDeviceCode())
|
||||
.setPersonName(extend.getPersonName()).setPersonImg(extend.getPersonImg()).setOpenResult(extend.getOpenResult())
|
||||
.setPersonId(extend.getPersonId()).setRecordImage1(extend.getRecordImage1()).setCategory(extend.getCategory())
|
||||
.setCardNumber(extend.getCardNumber()).setRfidType(extend.getRfidType()).setAge(extend.getAge()).setVRecordFlag(extend.getVRecordFlag());
|
||||
|
||||
return mkmjSwipeCardRecordService.add(cardRecordEntity);
|
||||
// return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjSwipeCardRecordCO> add(@Validated @RequestBody MkmjSwipeCardRecordAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return mkmjSwipeCardRecordService.add(cmd);
|
||||
}
|
||||
|
||||
|
|
@ -46,11 +78,6 @@ public class MkmjSwipeCardRecordController {
|
|||
return mkmjSwipeCardRecordService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjSwipeCardRecordCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<MkmjSwipeCardRecordCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
|
|
@ -67,16 +94,19 @@ public class MkmjSwipeCardRecordController {
|
|||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
mkmjSwipeCardRecordService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) {
|
||||
mkmjSwipeCardRecordService.edit(mkmjSwipeCardRecordUpdateCmd);
|
||||
public Response removeBatch(@RequestParam("ids") String ids) {
|
||||
List<Long> idsList = Arrays.stream(ids.split(","))
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
mkmjSwipeCardRecordService.removeBatch(idsList);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
//
|
||||
// @ApiOperation("修改")
|
||||
// @PutMapping("/edit")
|
||||
// public SingleResponse edit(@Validated @RequestBody MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) {
|
||||
// mkmjSwipeCardRecordService.edit(mkmjSwipeCardRecordUpdateCmd);
|
||||
// return SingleResponse.buildSuccess();
|
||||
// }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,136 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.PersonApplyServiceI;
|
||||
import com.zcloud.primeport.dto.*;
|
||||
import com.zcloud.primeport.dto.clientobject.PersonApplyCO;
|
||||
import com.zcloud.primeport.dto.clientobject.PersonCountCO;
|
||||
import com.zcloud.primeport.dto.clientobject.XgfPersonApplyCO;
|
||||
import com.zcloud.primeport.dto.clientobject.XgfPersonCountCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:21
|
||||
*/
|
||||
@Api(tags = "人员申请审批信息")
|
||||
@RequestMapping("/${application.gateway}/personApply")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class PersonApplyController {
|
||||
private final PersonApplyServiceI personApplyService;
|
||||
|
||||
@ApiOperation("相关方-人员权限记录-列表")
|
||||
@PostMapping("/xgfPersonPermissionsList")
|
||||
public PageResponse<PersonApplyCO> xgfPersonPermissionsList(@RequestBody XgfApplyPersonPageQry qry) {
|
||||
if (qry.getApplyCorpId() == null) {
|
||||
qry.setApplyCorpId(AuthContext.getTenantId());
|
||||
}
|
||||
return personApplyService.xgfPersonPermissionsList(qry);
|
||||
}
|
||||
@ApiOperation("相关方-人员权限记录-详情")
|
||||
@GetMapping("/xgfPersonPermissionsInfo/{id}")
|
||||
public SingleResponse<PersonApplyCO> xgfPersonPermissionsInfo(@PathVariable("id") Long id) {
|
||||
|
||||
return personApplyService.xgfPersonPermissionsInfo(id);
|
||||
}
|
||||
@ApiOperation("相关方-人员申请-详情")
|
||||
@GetMapping("/xgfPersonApplyInfoById/{id}")
|
||||
public SingleResponse<XgfPersonApplyCO> xgfPersonApplyInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(personApplyService.xgfPersonApplyInfoById(id));
|
||||
}
|
||||
@ApiOperation("待审批的相关方申请人员入场列表-同已审批记录")
|
||||
@PostMapping("/xgfPersonAuditList")
|
||||
public PageResponse<XgfPersonApplyCO> xgfPersonAuditList(@RequestBody XgfApplyPersonPageQry qry) {
|
||||
return personApplyService.xgfPersonAuditList(qry);
|
||||
}
|
||||
@ApiOperation("相关方人员入场申请列表")
|
||||
@PostMapping("/xgfPersonApplyList")
|
||||
public PageResponse<XgfPersonApplyCO> xgfPersonApplyList(@RequestBody XgfApplyPersonPageQry qry) {
|
||||
return personApplyService.xgfPersonApplyList(qry);
|
||||
}
|
||||
@ApiOperation("临时访客人员入场申请列表-H5")
|
||||
@PostMapping("/tmpPersonApplyH5List")
|
||||
public PageResponse<PersonApplyCO> tmpPersonApplyH5List(@RequestBody XgfApplyPersonPageQry qry) {
|
||||
return personApplyService.tmpPersonApplyH5List(qry);
|
||||
}
|
||||
@ApiOperation("相关方、临时-人员申请审批")
|
||||
@PostMapping("/xgfPersonAudit")
|
||||
public Response xgfPersonAudit(@Validated @RequestBody XgfPersonApplyAuditCmd cmd) throws Exception {
|
||||
if (!(cmd.getAuditFlag().equals(2) || cmd.getAuditFlag().equals(3))) {
|
||||
throw new BizException("审批状态必须是通过或不通过");
|
||||
}
|
||||
personApplyService.xgfPersonAudit(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("相关方-人员申请新增")
|
||||
@PostMapping("/xgfPersonSave")
|
||||
public Response xgfPersonSave(@Validated @RequestBody XgfPersonApplyAddCmd cmd) {
|
||||
personApplyService.xgfPersonSave(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("人员临时申请-审批待审批分页列表")
|
||||
@PostMapping("/pendingApprovalList")
|
||||
public PageResponse<XgfPersonApplyCO> page(@RequestBody PersonApplyPageQry qry) {
|
||||
return personApplyService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<PersonApplyCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new PersonApplyCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
personApplyService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("相关方人员及车辆管理-首页分页")
|
||||
@GetMapping("/xgfPersonnelVehicleManagementList")
|
||||
public PageResponse<XgfPersonCountCO> xgfPersonnelVehicleManagementList(PersonCountPageQry qry) {
|
||||
return personApplyService.xgfPersonnelVehicleManagementList(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("股份,分公司-人员及车辆管理-分页")
|
||||
@GetMapping("/personnelVehicleManagementList")
|
||||
public PageResponse<PersonCountCO> personnelVehicleManagementList(PersonCountPageQry qry) {
|
||||
if (qry.getCorpId() == null) {
|
||||
qry.setCorpId(AuthContext.getTenantId());
|
||||
}
|
||||
return personApplyService.personnelVehicleManagementList(qry);
|
||||
}
|
||||
@ApiOperation("相关方-人员授权")
|
||||
@PostMapping("/xgfPersonAuthorization")
|
||||
public Response xgfPersonAuthorization(@RequestBody PersonAuthCmd cmd) {
|
||||
personApplyService.xgfPersonAuthorization(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
@ApiOperation("股份,分公司-人员授权")
|
||||
@PostMapping("/authorization")
|
||||
public Response authorization(@RequestBody PersonAuthCmd cmd) throws Exception {
|
||||
personApplyService.authorization(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -7,11 +7,11 @@ import com.alibaba.cola.dto.Response;
|
|||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.MkmjCarRecordServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO;
|
||||
import com.zcloud.primeport.api.PersonMessageServiceI;
|
||||
import com.zcloud.primeport.dto.PersonMessageAddCmd;
|
||||
import com.zcloud.primeport.dto.PersonMessagePageQry;
|
||||
import com.zcloud.primeport.dto.PersonMessageUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.PersonMessageCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -23,59 +23,59 @@ import java.util.ArrayList;
|
|||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:20
|
||||
*/
|
||||
@Api(tags = "车辆进出港记录")
|
||||
@RequestMapping("/${application.gateway}/mkmjCarRecord")
|
||||
@Api(tags = "审批通过的人员信息用于与门禁系统对接")
|
||||
@RequestMapping("/${application.gateway}/personMessage")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordController {
|
||||
private final MkmjCarRecordServiceI mkmjCarRecordService;
|
||||
public class PersonMessageController {
|
||||
private final PersonMessageServiceI personMessageService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjCarRecordCO> add(@Validated @RequestBody MkmjCarRecordAddCmd cmd) {
|
||||
public SingleResponse<PersonMessageCO> add(@Validated @RequestBody PersonMessageAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return mkmjCarRecordService.add(cmd);
|
||||
return personMessageService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjCarRecordCO> page(@RequestBody MkmjCarRecordPageQry qry) {
|
||||
return mkmjCarRecordService.listPage(qry);
|
||||
public PageResponse<PersonMessageCO> page(@RequestBody PersonMessagePageQry qry) {
|
||||
return personMessageService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjCarRecordCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<MkmjCarRecordCO>());
|
||||
public MultiResponse<PersonMessageCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<PersonMessageCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjCarRecordCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjCarRecordService.queryById(id));
|
||||
public SingleResponse<PersonMessageCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new PersonMessageCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjCarRecordService.remove(id);
|
||||
personMessageService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
mkmjCarRecordService.removeBatch(ids);
|
||||
personMessageService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjCarRecordUpdateCmd mkmjCarRecordUpdateCmd) {
|
||||
mkmjCarRecordService.edit(mkmjCarRecordUpdateCmd);
|
||||
public SingleResponse edit(@Validated @RequestBody PersonMessageUpdateCmd personMessageUpdateCmd) {
|
||||
personMessageService.edit(personMessageUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.VehicleApplyServiceI;
|
||||
import com.zcloud.primeport.domain.model.VehicleApplyE;
|
||||
import com.zcloud.primeport.dto.*;
|
||||
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAuditCO;
|
||||
import com.zcloud.primeport.dto.clientobject.XgfPersonApplyCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:23
|
||||
*/
|
||||
@Api(tags = "车辆申请信息")
|
||||
@RequestMapping("/${application.gateway}/vehicleApply")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class VehicleApplyController {
|
||||
private final VehicleApplyServiceI vehicleApplyService;
|
||||
|
||||
@ApiOperation("新增-长期车辆录入")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<VehicleApplyE> add(@Validated @RequestBody VehicleApplyAddCmd cmd) {
|
||||
return vehicleApplyService.add(cmd);
|
||||
}
|
||||
@ApiOperation("新增-检查部门车辆录入")
|
||||
@PostMapping("/inspectCarSave")
|
||||
public Response inspectCarSave(@Validated @RequestBody VehicleApplyInspectAddCmd cmd) {
|
||||
vehicleApplyService.inspectCarSave(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
@ApiOperation("检查部门车辆修改")
|
||||
@PutMapping("/inspectCarEdit")
|
||||
public Response inspectCarEdit(@Validated @RequestBody VehicleApplyInspectUpdateCmd cmd) {
|
||||
cmd.setRemarks(cmd.getCheckDepartmentName());
|
||||
vehicleApplyService.inspectCarEdit(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
// @ApiOperation("新增-临时访客")
|
||||
// @PostMapping("/saveTemporaryVisitors")
|
||||
// public SingleResponse<VehicleApplyCO> saveTemporaryVisitors(@Validated @RequestBody VehicleApplyAddCmd cmd) {
|
||||
// return null;
|
||||
// }
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<VehicleApplyCO> page(@RequestBody VehicleApplyPageQry qry) {
|
||||
return vehicleApplyService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("股份、相关方、临时车辆审批-详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VehicleApplyCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(vehicleApplyService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
vehicleApplyService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody VehicleApplyUpdateCmd vehicleApplyUpdateCmd) {
|
||||
vehicleApplyService.edit(vehicleApplyUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("车牌号唯一性校验")
|
||||
@GetMapping("/check-licence-no")
|
||||
public SingleResponse<Map<String, Object>> checkLicenceNo(@RequestParam String licenceNo,
|
||||
@RequestParam(required = false) Long id) {
|
||||
Map<String, Object> result = vehicleApplyService.checkLicenceNo(licenceNo, id);
|
||||
// Map<String, Boolean> result = new HashMap<>();
|
||||
// result.put("available", available);
|
||||
return SingleResponse.of(result);
|
||||
}
|
||||
@ApiOperation("车牌号黑名单校验")
|
||||
@GetMapping("/check-licence-no-black")
|
||||
public SingleResponse<Map<String, Object>> checkLicenceNoBlack(@RequestParam String licenceNo) {
|
||||
Map<String, Object> result = vehicleApplyService.checkLicenceNoBlack(licenceNo);
|
||||
return SingleResponse.of(result);
|
||||
}
|
||||
|
||||
@ApiOperation("分公司统计")
|
||||
@GetMapping("/fgsCount")
|
||||
public PageResponse<FgsVehicleCountCo> fgsCount(@RequestParam HashMap<String,Object> qry) {
|
||||
return vehicleApplyService.fgsCount(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("跟据车辆归属查询车辆分页")
|
||||
@GetMapping("/getCarByVehicleBelongType")
|
||||
public PageResponse<VehicleApplyCO> getCarByVehicleBelongType(VehicleApplyPageQry qry) {
|
||||
return vehicleApplyService.getCarByVehicleBelongType(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("相关方-车辆授权")
|
||||
@PostMapping("/xgfCarAuthorization")
|
||||
public Response xgfCarAuthorization(@RequestBody CarAuthCmd cmd) {
|
||||
vehicleApplyService.xgfCarAuthorization(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.VehicleAuditServiceI;
|
||||
import com.zcloud.primeport.dto.VehicleAuditAddCmd;
|
||||
import com.zcloud.primeport.dto.VehicleAuditPageQry;
|
||||
import com.zcloud.primeport.dto.VehicleAuditUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAuditCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:24
|
||||
*/
|
||||
@Api(tags = "车辆审批")
|
||||
@RequestMapping("/${application.gateway}/vehicleAudit")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class VehicleAuditController {
|
||||
private final VehicleAuditServiceI vehicleAuditService;
|
||||
|
||||
// @ApiOperation("新增")
|
||||
// @PostMapping("/save")
|
||||
// public SingleResponse<VehicleAuditCO> add(@Validated @RequestBody VehicleAuditAddCmd cmd) {
|
||||
// SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
// return vehicleAuditService.add(cmd);
|
||||
// }
|
||||
|
||||
@ApiOperation("待审批数据分页")
|
||||
@PostMapping("/pendingApprovalList")
|
||||
public PageResponse<VehicleAuditCO> page(@RequestBody VehicleAuditPageQry qry) {
|
||||
return vehicleAuditService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("车辆审批记录")
|
||||
@PostMapping("/carApprovalLogByvehicleApplyIdList")
|
||||
public PageResponse<VehicleAuditCO> carApprovalLogByvehicleApplyIdList(@RequestBody VehicleAuditPageQry qry) {
|
||||
return vehicleAuditService.carApprovalLogByvehicleApplyIdList(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("审批人审批")
|
||||
@PostMapping("/audit")
|
||||
public Response audit(@RequestBody VehicleAuditUpdateCmd cmd) {
|
||||
vehicleAuditService.audit(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VehicleAuditCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(vehicleAuditService.getInfoById(id));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.VehicleBlackServiceI;
|
||||
import com.zcloud.primeport.dto.VehicleBlackAddCmd;
|
||||
import com.zcloud.primeport.dto.VehicleBlackPageQry;
|
||||
import com.zcloud.primeport.dto.VehicleBlackUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleBlackCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:26
|
||||
*/
|
||||
@Api(tags = "车辆黑名单管理")
|
||||
@RequestMapping("/${application.gateway}/vehicleBlack")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class VehicleBlackController {
|
||||
private final VehicleBlackServiceI vehicleBlackService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<VehicleBlackCO> add(@Validated @RequestBody VehicleBlackAddCmd cmd) {
|
||||
return vehicleBlackService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<VehicleBlackCO> page(@RequestBody VehicleBlackPageQry qry) {
|
||||
return vehicleBlackService.listPage(qry);
|
||||
}
|
||||
|
||||
// @ApiOperation("所有数据")
|
||||
// @GetMapping("/listAll")
|
||||
// public MultiResponse<VehicleBlackCO> listAll() {
|
||||
// return MultiResponse.of(new ArrayList<VehicleBlackCO>());
|
||||
// }
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VehicleBlackCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(vehicleBlackService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
vehicleBlackService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
// @ApiOperation("删除多个")
|
||||
// @DeleteMapping("/ids")
|
||||
// public Response removeBatch(@RequestParam Long[] ids) {
|
||||
// vehicleBlackService.removeBatch(ids);
|
||||
// return SingleResponse.buildSuccess();
|
||||
// }
|
||||
|
||||
// @ApiOperation("修改")
|
||||
// @PutMapping("/edit")
|
||||
// public SingleResponse edit(@Validated @RequestBody VehicleBlackUpdateCmd vehicleBlackUpdateCmd) {
|
||||
// vehicleBlackService.edit(vehicleBlackUpdateCmd);
|
||||
// return SingleResponse.buildSuccess();
|
||||
// }
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.zcloud.primeport.api.VehicleDockLogServiceI;
|
||||
import com.zcloud.primeport.dto.VehicleDockLogAddCmd;
|
||||
import com.zcloud.primeport.dto.VehicleDockLogPageQry;
|
||||
import com.zcloud.primeport.dto.VehicleDockLogUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleDockLogCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-14 14:53:29
|
||||
*/
|
||||
@Api(tags = "车辆对接记录")
|
||||
@RequestMapping("/${application.gateway}/vehicleDockLog")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class VehicleDockLogController {
|
||||
private final VehicleDockLogServiceI vehicleDockLogService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<VehicleDockLogCO> add(@Validated @RequestBody VehicleDockLogAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return vehicleDockLogService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<VehicleDockLogCO> page(@RequestBody VehicleDockLogPageQry qry) {
|
||||
return vehicleDockLogService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<VehicleDockLogCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<VehicleDockLogCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VehicleDockLogCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(vehicleDockLogService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
vehicleDockLogService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam("ids") String ids) {
|
||||
List<Long> idsList = Arrays.stream(ids.split(","))
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
vehicleDockLogService.removeBatch(idsList);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody VehicleDockLogUpdateCmd vehicleDockLogUpdateCmd) {
|
||||
vehicleDockLogService.edit(vehicleDockLogUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.VehicleMessageServiceI;
|
||||
import com.zcloud.primeport.dto.VehicleMessageAddCmd;
|
||||
import com.zcloud.primeport.dto.VehicleMessagePageQry;
|
||||
import com.zcloud.primeport.dto.VehicleMessageUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleMessageCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:27
|
||||
*/
|
||||
@Api(tags = "审批通过的固化车辆信息用于与门禁系统对接")
|
||||
@RequestMapping("/${application.gateway}/vehicleMessage")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class VehicleMessageController {
|
||||
private final VehicleMessageServiceI vehicleMessageService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<VehicleMessageCO> add(@Validated @RequestBody VehicleMessageAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return vehicleMessageService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<VehicleMessageCO> page(@RequestBody VehicleMessagePageQry qry) {
|
||||
return vehicleMessageService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<VehicleMessageCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<VehicleMessageCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VehicleMessageCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new VehicleMessageCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
vehicleMessageService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
vehicleMessageService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody VehicleMessageUpdateCmd vehicleMessageUpdateCmd) {
|
||||
vehicleMessageService.edit(vehicleMessageUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.VehicleViolationsServiceI;
|
||||
import com.zcloud.primeport.dto.VehicleViolationsAddCmd;
|
||||
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
||||
import com.zcloud.primeport.dto.VehicleViolationsUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:29
|
||||
*/
|
||||
@Api(tags = "车辆违规记录")
|
||||
@RequestMapping("/${application.gateway}/vehicleViolations")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class VehicleViolationsController {
|
||||
private final VehicleViolationsServiceI vehicleViolationsService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<VehicleViolationsCO> add(@Validated @RequestBody VehicleViolationsAddCmd cmd) {
|
||||
return vehicleViolationsService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("违规记录分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<VehicleViolationsCO> page(@RequestBody VehicleViolationsPageQry qry) {
|
||||
return vehicleViolationsService.violationRecordslistPage(qry);
|
||||
}
|
||||
@ApiOperation("违规详情记录分页")
|
||||
@PostMapping("/detailsRecordList")
|
||||
public PageResponse<VehicleViolationsCO> detailsRecordList(@RequestBody VehicleViolationsPageQry qry) {
|
||||
return vehicleViolationsService.listPage(qry);
|
||||
}
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VehicleViolationsCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(vehicleViolationsService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
vehicleViolationsService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody VehicleViolationsUpdateCmd vehicleViolationsUpdateCmd) {
|
||||
vehicleViolationsService.edit(vehicleViolationsUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.VideoServiceI;
|
||||
import com.zcloud.primeport.dto.VideoAddCmd;
|
||||
import com.zcloud.primeport.dto.VideoPageQry;
|
||||
import com.zcloud.primeport.dto.VideoScreenPageQry;
|
||||
import com.zcloud.primeport.dto.VideoUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.VideoCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VideoScreenCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author makejava
|
||||
* @Date 2026-03-05 11:33:30
|
||||
*/
|
||||
@Api(tags = "摄像头表")
|
||||
@RequestMapping("/${application.gateway}/video")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class VideoController {
|
||||
private final VideoServiceI videoService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<VideoCO> add(@Validated @RequestBody VideoAddCmd cmd) {
|
||||
return videoService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<VideoCO> page(@RequestBody VideoPageQry qry) {
|
||||
return videoService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VideoCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(videoService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
videoService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody VideoUpdateCmd videoUpdateCmd) {
|
||||
videoService.edit(videoUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-摄像头列表不区分企业")
|
||||
@PostMapping("/screenList")
|
||||
public PageResponse<VideoScreenCO> screenList(@RequestBody VideoScreenPageQry qry) {
|
||||
return videoService.screenList(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.zcloud.primeport.web.app;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.api.VehicleApplyServiceI;
|
||||
import com.zcloud.primeport.dto.clientobject.AppCountCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Api(tags = "App统计角标")
|
||||
@RequestMapping("/${application.gateway}/appStatisticsCorner")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class AppCountController {
|
||||
private final VehicleApplyServiceI vehicleApplyService;
|
||||
@RequestMapping("/getAppCount")
|
||||
public MultiResponse<AppCountCO> getAppCount() {
|
||||
return vehicleApplyService.getAppCount();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package com.zcloud.primeport.web.close;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCarApplyAuditCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCarApplyScreenPageQry;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
|
||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyScreenCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-20 10:07:13
|
||||
*/
|
||||
@Api(tags = "封闭区域-车辆申请")
|
||||
@RequestMapping("/${application.gateway}/closedAreaCarApply")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaCarApplyController {
|
||||
private final ClosedAreaCarApplyServiceI closedAreaCarApplyService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<ClosedAreaCarApplyCO> add(@Validated @RequestBody ClosedAreaCarApplyAddCmd cmd) {
|
||||
return closedAreaCarApplyService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
// todo 完善申请人查询,审批人查询,数据权限
|
||||
public PageResponse<ClosedAreaCarApplyCO> page(@RequestBody ClosedAreaCarApplyPageQry qry) {
|
||||
return closedAreaCarApplyService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<ClosedAreaCarApplyCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(closedAreaCarApplyService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
closedAreaCarApplyService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("审批车辆申请")
|
||||
@PostMapping("/auditCarApply")
|
||||
public Response auditCarApply(@RequestBody ClosedAreaCarApplyAuditCmd auditCmd) {
|
||||
if (!(auditCmd.getAuditFlag().equals(2) || auditCmd.getAuditFlag().equals(3))) {
|
||||
throw new BizException("只能是通过或者不通过");
|
||||
}
|
||||
closedAreaCarApplyService.auditCarApply(auditCmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-车申请记录")
|
||||
@PostMapping("/screenList")
|
||||
public PageResponse<ClosedAreaCarApplyScreenCO> screenList(@RequestBody ClosedAreaCarApplyScreenPageQry qry) {
|
||||
return closedAreaCarApplyService.screenList(qry);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
package com.zcloud.primeport.web.close;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.ClosedAreaServiceI;
|
||||
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCorpStatCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPageQry;
|
||||
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaCorpStatCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
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.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Api(tags = "封闭区域")
|
||||
@RequestMapping("/${application.gateway}/closedArea")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaController {
|
||||
private final ClosedAreaServiceI closedAreaService;
|
||||
|
||||
@ApiOperation("树级结构")
|
||||
@GetMapping("/listTree")
|
||||
public MultiResponse<ClosedAreaCO> listTree(ClosedAreaPageQry qry) {
|
||||
return closedAreaService.listTree(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("统计港区里所有的封闭区域数与管辖单位数")
|
||||
@GetMapping("/getCountByHgAuthArea")
|
||||
public MultiResponse<ClosedAreaCO> getCountByHgAuthArea() {
|
||||
return closedAreaService.getCountByHgAuthArea();
|
||||
}
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<ClosedAreaCO> add(@Validated @RequestBody ClosedAreaAddCmd cmd) {
|
||||
return closedAreaService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<ClosedAreaCO> page(@RequestBody ClosedAreaPageQry qry) {
|
||||
return closedAreaService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("根据港区选择对应的封闭区域")
|
||||
@GetMapping("/listAllByhgAuthArea")
|
||||
public MultiResponse<ClosedAreaCO> listAllByhgAuthArea(@RequestParam("hgAuthArea") String hgAuthArea) {
|
||||
return closedAreaService.listAllByhgAuthArea(hgAuthArea);
|
||||
}
|
||||
|
||||
@ApiOperation("根据管辖单位查询封闭区域")
|
||||
@GetMapping("/listAllByJurisdictionalCorpId/{id}")
|
||||
public MultiResponse<ClosedAreaCO> listAllByJurisdictionalCorpId(@PathVariable("id") Long id) {
|
||||
if (id == null) {
|
||||
id = AuthContext.getTenantId();
|
||||
}
|
||||
return closedAreaService.listAllByJurisdictionalCorpId(id);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<ClosedAreaCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(closedAreaService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
closedAreaService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
closedAreaService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody ClosedAreaUpdateCmd closedAreaUpdateCmd) {
|
||||
closedAreaService.edit(closedAreaUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("区域人员和车辆统计")
|
||||
@PostMapping("/count")
|
||||
public MultiResponse count(@RequestBody ClosedAreaCountCmd closedAreaCountCmd) {
|
||||
return closedAreaService.count(closedAreaCountCmd);
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-封闭区域统计")
|
||||
@PostMapping("/corpStat")
|
||||
public SingleResponse<ClosedAreaCorpStatCO> corpStat( @RequestBody ClosedAreaCorpStatCmd cmd) {
|
||||
return closedAreaService.corpStat(cmd);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
package com.zcloud.primeport.web.close;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.*;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.api.ClosedAreaPersonApplyServiceI;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAddCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuditCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuthCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyPageQry;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyScreenPageQry;
|
||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
|
||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyDeptCO;
|
||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyScreenCO;
|
||||
import com.zcloud.primeport.dto.clientobject.UserCo;
|
||||
import com.zcloud.primeport.persistence.dataobject.UserDto;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-19 13:59:16
|
||||
*/
|
||||
@Api(tags = "人员封闭区域申请审批")
|
||||
@RequestMapping("/${application.gateway}/closedAreaPersonApply")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaPersonApplyController {
|
||||
private final ClosedAreaPersonApplyServiceI closedAreaPersonApplyService;
|
||||
|
||||
@ApiOperation("查询分公司里的人授权范围")
|
||||
@GetMapping("/getAuthorizationPersonInfo/{id}")
|
||||
public SingleResponse<ClosedAreaPersonApplyCO> getAuthorizationPersonInfo(@PathVariable("id") Long id) {
|
||||
return closedAreaPersonApplyService.getAuthorizationPersonInfo(id);
|
||||
}
|
||||
|
||||
@ApiOperation("给分公司里的人授权二级门禁")
|
||||
@PostMapping("/authorizationPerson")
|
||||
public Response authPerson(@RequestBody ClosedAreaPersonApplyAuthCmd cmd) {
|
||||
closedAreaPersonApplyService.authPerson(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("审批人员审批")
|
||||
@PostMapping("/auditPersonApply")
|
||||
public Response auditPersonApply(@RequestBody ClosedAreaPersonApplyAuditCmd auditCmd) {
|
||||
if (!(auditCmd.getAuditFlag().equals(2) || auditCmd.getAuditFlag().equals(3))) {
|
||||
throw new BizException("只能是通过或者不通过");
|
||||
}
|
||||
closedAreaPersonApplyService.auditPersonApply(auditCmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("获取本单位人员信息数据,用于随行人员,企业人员权限列表")
|
||||
@PostMapping("/getCorpUserList")
|
||||
public PageResponse<UserCo> getCorpUserList(@RequestBody ClosedAreaPersonApplyPageQry qry) {
|
||||
return closedAreaPersonApplyService.getCorpUserList(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<ClosedAreaPersonApplyCO> add(@Validated @RequestBody ClosedAreaPersonApplyAddCmd cmd) {
|
||||
return closedAreaPersonApplyService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("待审批-已审批|申请中-申请记录分页")
|
||||
// todo 需配置审批,申请的不同数据 权限
|
||||
@PostMapping("/pendingApprovalRecordList")
|
||||
public PageResponse<ClosedAreaPersonApplyCO> pendingApprovalRecordList(@RequestBody ClosedAreaPersonApplyPageQry qry) {
|
||||
return closedAreaPersonApplyService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("申请记录部门分页")
|
||||
@GetMapping("/pendingApprovalDeptList")
|
||||
public MultiResponse<ClosedAreaPersonApplyDeptCO> pendingApprovalDeptList() {
|
||||
return closedAreaPersonApplyService.deptList();
|
||||
}
|
||||
|
||||
// @ApiOperation("所有数据")
|
||||
// @GetMapping("/listAll")
|
||||
// public MultiResponse<ClosedAreaPersonApplyCO> listAll() {
|
||||
// return MultiResponse.of(new ArrayList<ClosedAreaPersonApplyCO>());
|
||||
// }
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<ClosedAreaPersonApplyCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(closedAreaPersonApplyService.queryById(id));
|
||||
}
|
||||
|
||||
// @ApiOperation("删除")
|
||||
// @DeleteMapping("/{id}")
|
||||
// public Response remove(@PathVariable("id") Long id) {
|
||||
// closedAreaPersonApplyService.remove(id);
|
||||
// return SingleResponse.buildSuccess();
|
||||
// }
|
||||
|
||||
@ApiOperation("可视化大屏-人申请记录")
|
||||
@PostMapping("/screenList")
|
||||
public PageResponse<ClosedAreaPersonApplyScreenCO> screenList(@RequestBody ClosedAreaPersonApplyScreenPageQry qry) {
|
||||
return closedAreaPersonApplyService.screenList(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
package com.zcloud.primeport.web.close;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI;
|
||||
import com.zcloud.primeport.api.ClosedAreaPersonApplyServiceI;
|
||||
import com.zcloud.primeport.api.PersonApplyServiceI;
|
||||
import com.zcloud.primeport.api.VehicleApplyServiceI;
|
||||
import com.zcloud.primeport.domain.enums.TmpApplyEnum;
|
||||
import com.zcloud.primeport.domain.model.VehicleApplyE;
|
||||
import com.zcloud.primeport.dto.*;
|
||||
import com.zcloud.primeport.dto.clientobject.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-20 10:07:13
|
||||
*/
|
||||
@Api(tags = "封闭区域-临时人员-车辆申请")
|
||||
@RequestMapping("/${application.gateway}/closedTmpApply")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class ClosedTmpApplyController {
|
||||
private final ClosedAreaCarApplyServiceI closedAreaCarApplyService;
|
||||
private final ClosedAreaPersonApplyServiceI closedAreaPersonApplyServiceI;
|
||||
private final PersonApplyServiceI personApplyServiceI;
|
||||
private final VehicleApplyServiceI vehicleApplyServiceI;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<HashMap<String, Object>> add(@Validated @RequestBody ClosedTmpApplyAddCmd cmd) {
|
||||
Long id = 0L;
|
||||
if (cmd.getTmpApplyType().equals(TmpApplyEnum.PERSON_APPLY.getCode())) {
|
||||
if (cmd.getTmpMkmjType().equals(TmpApplyEnum.TWO_LEVEL_PERSON_APPLY.getCode())) {
|
||||
id = closedAreaPersonApplyServiceI.saveTmpPersonApply(cmd);
|
||||
}
|
||||
if (cmd.getTmpMkmjType().equals(TmpApplyEnum.ONE_LEVEL_PERSON_APPLY.getCode())) {
|
||||
XgfPersonApplyAddCmd xgf = new XgfPersonApplyAddCmd();
|
||||
BeanUtils.copyProperties(cmd, xgf);
|
||||
xgf.setPersonBelongType(4);
|
||||
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
|
||||
ArrayList<HashMap<String, Object>> hashMaps = new ArrayList<>();
|
||||
stringObjectHashMap.put("bianma", cmd.getHgAuthArea());
|
||||
stringObjectHashMap.put("value", cmd.getHgAuthAreaName());
|
||||
hashMaps.add(stringObjectHashMap);
|
||||
HashMap<String, Object> stringObjectHashMap2 = new HashMap<>();
|
||||
stringObjectHashMap2.put("area", hashMaps);
|
||||
xgf.setGateLevelAuthArea(JSON.toJSONString(stringObjectHashMap2));
|
||||
xgf.setAuditCorpId(cmd.getAuditPersonCorpId());
|
||||
xgf.setAuditCorpName(cmd.getAuditPersonCorpName());
|
||||
xgf.setAuditDeptId(cmd.getAuditPersonDepartmentId());
|
||||
xgf.setAuditDeptName(cmd.getAuditPersonDepartmentName());
|
||||
xgf.setAuditUserId(cmd.getAuditPersonUserId());
|
||||
xgf.setAuditUserName(cmd.getAuditPersonUserName());
|
||||
xgf.setReasonVisit(cmd.getApplyReason());
|
||||
xgf.setMkmjId(cmd.getLevelOneMkmjId());
|
||||
xgf.setMkmjName(cmd.getLevelOneMkmjName());
|
||||
XgfPersonApplyAddCmd.PersonApplyAddCmdExt personApplyAddCmdExt = new XgfPersonApplyAddCmd.PersonApplyAddCmdExt();
|
||||
personApplyAddCmdExt.setEmployeePersonUserName(cmd.getApplyPersonUserName());
|
||||
personApplyAddCmdExt.setUserFaceUrl(cmd.getUserFaceUrl());
|
||||
personApplyAddCmdExt.setUserPhone(cmd.getUserPhone());
|
||||
personApplyAddCmdExt.setUserCard(cmd.getUserCard());
|
||||
ArrayList<XgfPersonApplyAddCmd.PersonApplyAddCmdExt> personApplyAddCmdExts = new ArrayList<>();
|
||||
personApplyAddCmdExts.add(personApplyAddCmdExt);
|
||||
xgf.setPersonApplyList(personApplyAddCmdExts);
|
||||
id = personApplyServiceI.xgfPersonSave(xgf);
|
||||
}
|
||||
}
|
||||
if (cmd.getTmpApplyType().equals(TmpApplyEnum.CAR_APPLY.getCode())) {
|
||||
|
||||
if (cmd.getApplyPersonUserName() == null) {
|
||||
cmd.setApplyPersonUserName(cmd.getDrivingUserName());
|
||||
}
|
||||
|
||||
if (cmd.getTmpMkmjType().equals(TmpApplyEnum.ONE_LEVEL_CAR_APPLY.getCode())) {
|
||||
VehicleApplyAddCmd vehicleApplyAddCmd = new VehicleApplyAddCmd();
|
||||
BeanUtils.copyProperties(cmd, vehicleApplyAddCmd);
|
||||
vehicleApplyAddCmd.setVehicleBelongType("6");
|
||||
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
|
||||
ArrayList<HashMap<String, Object>> hashMaps = new ArrayList<>();
|
||||
stringObjectHashMap.put("bianma", cmd.getHgAuthArea());
|
||||
stringObjectHashMap.put("value", cmd.getHgAuthAreaName());
|
||||
hashMaps.add(stringObjectHashMap);
|
||||
HashMap<String, Object> stringObjectHashMap2 = new HashMap<>();
|
||||
stringObjectHashMap2.put("area", hashMaps);
|
||||
vehicleApplyAddCmd.setGateLevelAuthArea(JSON.toJSONString(stringObjectHashMap2));
|
||||
vehicleApplyAddCmd.setAuditCorpId(cmd.getAuditPersonCorpId());
|
||||
vehicleApplyAddCmd.setAuditCorpName(cmd.getAuditPersonCorpName());
|
||||
vehicleApplyAddCmd.setAuditDeptId(cmd.getAuditPersonDepartmentId());
|
||||
vehicleApplyAddCmd.setAuditDeptName(cmd.getAuditPersonDepartmentName());
|
||||
vehicleApplyAddCmd.setAuditUserId(cmd.getAuditPersonUserId());
|
||||
vehicleApplyAddCmd.setAuditUserName(cmd.getAuditPersonUserName());
|
||||
vehicleApplyAddCmd.setMkmjId(cmd.getLevelOneMkmjId());
|
||||
vehicleApplyAddCmd.setMkmjName(cmd.getLevelOneMkmjName());
|
||||
vehicleApplyAddCmd.setLsUserIdcard(cmd.getUserCard());
|
||||
vehicleApplyAddCmd.setLsUserPhone(cmd.getUserPhone());
|
||||
vehicleApplyAddCmd.setEmployeeVehicleUserName(cmd.getApplyPersonUserName());
|
||||
vehicleApplyAddCmd.setDrivingUserName(cmd.getDrivingUserName());
|
||||
vehicleApplyAddCmd.setRemarks(cmd.getApplyReason());
|
||||
SingleResponse<VehicleApplyE> add = vehicleApplyServiceI.add(vehicleApplyAddCmd);
|
||||
id = add.getData().getId();
|
||||
}
|
||||
if (cmd.getTmpMkmjType().equals(TmpApplyEnum.TWO_LEVEL_CAR_APPLY.getCode())) {
|
||||
id = closedAreaCarApplyService.saveTmpCarApply(cmd);
|
||||
}
|
||||
}
|
||||
HashMap<String, Object> stringLongHashMap = new HashMap<>();
|
||||
stringLongHashMap.put("id", id);
|
||||
stringLongHashMap.put("tmpApplyType", cmd.getTmpApplyType());
|
||||
stringLongHashMap.put("tmpMkmjType", cmd.getTmpMkmjType());
|
||||
return SingleResponse.of(stringLongHashMap);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/getInfoById")
|
||||
public SingleResponse<TmpApplyCO> getInfoById(@RequestParam("id") Long id,
|
||||
@RequestParam("tmpApplyType") String tmpApplyType, @RequestParam("tmpMkmjType") String tmpMkmjType) {
|
||||
TmpApplyCO tmpApplyCO = new TmpApplyCO();
|
||||
if (TmpApplyEnum.PERSON_APPLY.getCode().equals(tmpApplyType)) {
|
||||
if (TmpApplyEnum.ONE_LEVEL_PERSON_APPLY.getCode().equals(tmpMkmjType)) {
|
||||
XgfPersonApplyCO xgfPersonApplyCO = personApplyServiceI.xgfPersonApplyInfoById(id);
|
||||
tmpApplyCO.setApplyReason(xgfPersonApplyCO.getReasonVisit());
|
||||
tmpApplyCO.setAuditFlag(xgfPersonApplyCO.getAuditFlag());
|
||||
tmpApplyCO.setRefusalReason(xgfPersonApplyCO.getReasonsRefusal());
|
||||
tmpApplyCO.setAuditPersonUserId(xgfPersonApplyCO.getAuditUserId());
|
||||
tmpApplyCO.setAuditPersonUserName(xgfPersonApplyCO.getAuditUserName());
|
||||
tmpApplyCO.setVisitStartTime(xgfPersonApplyCO.getVisitStartTime());
|
||||
tmpApplyCO.setVisitEndTime(xgfPersonApplyCO.getVisitEndTime());
|
||||
tmpApplyCO.setLevelOneMkmjId(xgfPersonApplyCO.getMkmjId());
|
||||
tmpApplyCO.setLevelOneMkmjName(xgfPersonApplyCO.getMkmjName());
|
||||
tmpApplyCO.setUserPhone(xgfPersonApplyCO.getPersonApplyList().get(0).getUserPhone());
|
||||
tmpApplyCO.setApplyPersonUserName(xgfPersonApplyCO.getPersonApplyList().get(0).getEmployeePersonUserName());
|
||||
}
|
||||
if (TmpApplyEnum.TWO_LEVEL_PERSON_APPLY.getCode().equals(tmpMkmjType)) {
|
||||
ClosedAreaPersonApplyCO closedAreaPersonApplyCO = closedAreaPersonApplyServiceI.queryById(id);
|
||||
BeanUtils.copyProperties(closedAreaPersonApplyCO, tmpApplyCO);
|
||||
}
|
||||
}
|
||||
if (TmpApplyEnum.CAR_APPLY.getCode().equals(tmpApplyType)) {
|
||||
if (TmpApplyEnum.ONE_LEVEL_CAR_APPLY.getCode().equals(tmpMkmjType)) {
|
||||
VehicleApplyCO infoById = vehicleApplyServiceI.getInfoById(id);
|
||||
BeanUtils.copyProperties(infoById, tmpApplyCO);
|
||||
tmpApplyCO.setLevelOneMkmjName(infoById.getMkmjName());
|
||||
tmpApplyCO.setLevelOneMkmjId(infoById.getMkmjId());
|
||||
tmpApplyCO.setUserPhone(infoById.getLsUserPhone());
|
||||
tmpApplyCO.setApplyPersonUserName(infoById.getEmployeeVehicleUserName());
|
||||
tmpApplyCO.setRefusalReason(infoById.getCurrentRemarks());
|
||||
}
|
||||
if (TmpApplyEnum.TWO_LEVEL_CAR_APPLY.getCode().equals(tmpMkmjType)) {
|
||||
ClosedAreaCarApplyCO closedAreaCarApplyCO = closedAreaCarApplyService.queryById(id);
|
||||
BeanUtils.copyProperties(closedAreaCarApplyCO, tmpApplyCO);
|
||||
}
|
||||
}
|
||||
tmpApplyCO.setId(id);
|
||||
tmpApplyCO.setTmpApplyType(tmpApplyType);
|
||||
return SingleResponse.of(tmpApplyCO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -21,6 +21,30 @@
|
|||
<groupId>com.zcloud.primeport</groupId>
|
||||
<artifactId>web-infrastructure</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.zcloud.primeport</groupId>
|
||||
<artifactId>web-domain</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>net.bytebuddy</groupId>
|
||||
<artifactId>byte-buddy</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.bytebuddy</groupId>
|
||||
<artifactId>byte-buddy</artifactId>
|
||||
<version>1.12.23</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-stream-rocketmq</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaGateway;
|
||||
import com.zcloud.primeport.domain.model.ClosedAreaE;
|
||||
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-19 10:27:50
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaAddExe {
|
||||
private final ClosedAreaGateway closedAreaGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(ClosedAreaAddCmd cmd) {
|
||||
ClosedAreaE closedAreaE = new ClosedAreaE();
|
||||
BeanUtils.copyProperties(cmd, closedAreaE);
|
||||
boolean res = false;
|
||||
try {
|
||||
res = closedAreaGateway.add(closedAreaE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
|
||||
import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent;
|
||||
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
|
||||
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
|
||||
import com.zcloud.primeport.domain.config.MessageTemplateConfig;
|
||||
import com.zcloud.primeport.domain.enums.AuditEnum;
|
||||
import com.zcloud.primeport.domain.enums.CloseCarBelongTypeEnum;
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway;
|
||||
import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import jodd.util.Base64;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-20 10:07:13
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaCarApplyAddExe {
|
||||
private final ClosedAreaCarApplyGateway closedAreaCarApplyGateway;
|
||||
private final MessageNoticeExe messageNoticeExe;
|
||||
private final MessageTemplateConfig messageTemplateConfig;
|
||||
@DubboReference
|
||||
private ZcloudUserFacade zcloudUserFacade;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long execute(ClosedAreaCarApplyAddCmd cmd) {
|
||||
ClosedAreaCarApplyE closedAreaCarApplyE = new ClosedAreaCarApplyE();
|
||||
BeanUtils.copyProperties(cmd, closedAreaCarApplyE);
|
||||
closedAreaCarApplyE.setAuditFlag(AuditEnum.WAITING.getCode());
|
||||
closedAreaCarApplyE.setExpiredExpiration("2");
|
||||
if (!cmd.getCarBelongType().equals(CloseCarBelongTypeEnum.TEMPORARY_VEHICLES.getCode())) {
|
||||
SingleResponse<ZcloudUserCo> infoByUserId = zcloudUserFacade.getInfoByUserId(AuthContext.getUserId());
|
||||
ZcloudUserCo userData = infoByUserId.getData();
|
||||
SSOUser currentUser = AuthContext.getCurrentUser();
|
||||
if (cmd.getCarBelongType().equals(CloseCarBelongTypeEnum.FGS_INSIDE_VEHICLES.getCode())) {
|
||||
closedAreaCarApplyE.setJurisdictionalCorpId(currentUser.getTenantId());
|
||||
closedAreaCarApplyE.setJurisdictionalCorpName(currentUser.getTenantName());
|
||||
}
|
||||
closedAreaCarApplyE.setApplyPersonCorpId(currentUser.getTenantId());
|
||||
closedAreaCarApplyE.setApplyPersonCorpName(currentUser.getTenantName());
|
||||
closedAreaCarApplyE.setApplyPersonDepartmentId(currentUser.getOrgId());
|
||||
closedAreaCarApplyE.setApplyPersonDepartmentName(currentUser.getOrgName());
|
||||
closedAreaCarApplyE.setApplyPersonUserId(currentUser.getUserId());
|
||||
closedAreaCarApplyE.setApplyPersonUserName(userData.getName());
|
||||
closedAreaCarApplyE.setUserPhone(userData.getPhone());
|
||||
closedAreaCarApplyE.setUserCard(userData.getUserIdCard());
|
||||
closedAreaCarApplyE.setUserFaceUrl(userData.getUserAvatarUrl());
|
||||
} else {
|
||||
// closedAreaCarApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard()));
|
||||
}
|
||||
boolean res = closedAreaCarApplyGateway.add(closedAreaCarApplyE);
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
|
||||
// 发送消息通知 和 待办
|
||||
if (cmd.getAuditPersonUserId() != null) {
|
||||
// 发送消息提醒
|
||||
Map <String, Object> sendParams = new HashMap <>();
|
||||
messageNoticeExe.sendMessageNotice(cmd.getAuditPersonUserId(), messageTemplateConfig.getClosedAreaApplyReceiveAudit(), sendParams);
|
||||
// 发送待办
|
||||
messageNoticeExe.sendMessageTodoEvent(cmd.getAuditPersonUserId(), "您有一条封闭区域审核,请及时进行审核。", "待审核", closedAreaCarApplyE.getId(), closedAreaCarApplyE.getId(), 1, 1);
|
||||
}
|
||||
|
||||
return closedAreaCarApplyE.getId();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-20 10:07:14
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaCarApplyRemoveExe {
|
||||
private final ClosedAreaCarApplyGateway closedAreaCarApplyGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = closedAreaCarApplyGateway.deletedClosedAreaCarApplyById(id);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = closedAreaCarApplyGateway.deletedClosedAreaCarApplyByIds(ids);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
|
||||
import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent;
|
||||
import com.zcloud.gbscommon.utils.DateUtil;
|
||||
import com.zcloud.primeport.domain.config.MessageTemplateConfig;
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway;
|
||||
import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCarApplyAuditCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
|
||||
import com.zcloud.primeport.plan.mjDevice.TwoCarUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-20 10:07:15
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaCarApplyUpdateExe {
|
||||
private final ClosedAreaCarApplyGateway closedAreaCarApplyGateway;
|
||||
private final MessageNoticeExe messageNoticeExe;
|
||||
private final MessageTemplateConfig messageTemplateConfig;
|
||||
private final TwoCarUtil twoCarUtil;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(ClosedAreaCarApplyUpdateCmd closedAreaCarApplyUpdateCmd) {
|
||||
ClosedAreaCarApplyE closedAreaCarApplyE = new ClosedAreaCarApplyE();
|
||||
BeanUtils.copyProperties(closedAreaCarApplyUpdateCmd, closedAreaCarApplyE);
|
||||
boolean res = closedAreaCarApplyGateway.update(closedAreaCarApplyE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void auditCarApply(ClosedAreaCarApplyAuditCmd auditCmd) {
|
||||
ClosedAreaCarApplyE closedAreaCarApplyE = closedAreaCarApplyGateway.queryById(auditCmd.getId());
|
||||
if (closedAreaCarApplyE == null) {
|
||||
throw new BizException("车辆申请记录不存在");
|
||||
}
|
||||
closedAreaCarApplyE.setId(auditCmd.getId());
|
||||
closedAreaCarApplyE.setAuditFlag(auditCmd.getAuditFlag());
|
||||
closedAreaCarApplyE.setRefusalReason(auditCmd.getRefusalReason());
|
||||
closedAreaCarApplyE.setAuditTime(DateUtil.date2Str(new Date()));
|
||||
closedAreaCarApplyGateway.update(closedAreaCarApplyE);
|
||||
|
||||
// 完成待办
|
||||
messageNoticeExe.sendMessageCompleteEvent(auditCmd.getId());
|
||||
|
||||
// 发送通知
|
||||
if (closedAreaCarApplyE.getApplyPersonUserId() != null) {
|
||||
Map <String, Object> sendParams = new HashMap <>();
|
||||
String sourceCode = "您提交的一级口门车辆审批已通过";
|
||||
if (auditCmd.getAuditFlag().equals(2)) {
|
||||
// 通过
|
||||
sourceCode = messageTemplateConfig.getClosedAreaApplyReceiveCarAudit();
|
||||
}else {
|
||||
// 驳回
|
||||
sourceCode = messageTemplateConfig.getClosedAreaApplyReceiveCarAuditReject();
|
||||
}
|
||||
|
||||
messageNoticeExe.sendMessageNotice(closedAreaCarApplyE.getApplyPersonUserId(), sourceCode, sendParams);
|
||||
}
|
||||
|
||||
// 审批通过 → 同步门禁权限(二级海康 + 一级车行)
|
||||
// 根据carBelongType判断车辆类型,内部车不走临时接口,不覆盖一级原有权限
|
||||
if (auditCmd.getAuditFlag().equals(2)) {
|
||||
twoCarUtil.levelTwoCarCompanyByApplyId(auditCmd.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
|
||||
import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent;
|
||||
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
|
||||
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
|
||||
import com.zcloud.primeport.domain.config.MessageTemplateConfig;
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaPersonApplyGateway;
|
||||
import com.zcloud.primeport.domain.model.ClosedAreaPersonApplyE;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import jodd.util.Base64;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-19 13:59:15
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaPersonApplyAddExe {
|
||||
private final ClosedAreaPersonApplyGateway closedAreaPersonApplyGateway;
|
||||
private final MessageNoticeExe messageNoticeExe;
|
||||
private final MessageTemplateConfig messageTemplateConfig;
|
||||
|
||||
@DubboReference
|
||||
private ZcloudUserFacade zcloudUserFacade;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long execute(ClosedAreaPersonApplyAddCmd cmd) {
|
||||
ClosedAreaPersonApplyE closedAreaPersonApplyE = new ClosedAreaPersonApplyE();
|
||||
BeanUtils.copyProperties(cmd, closedAreaPersonApplyE);
|
||||
closedAreaPersonApplyE.setAuditFlag(1);
|
||||
if (!cmd.getPersonBelongType().equals(4)) {
|
||||
SingleResponse<ZcloudUserCo> infoByUserId = zcloudUserFacade.getInfoByUserId(AuthContext.getUserId());
|
||||
ZcloudUserCo userData = infoByUserId.getData();
|
||||
SSOUser currentUser = AuthContext.getCurrentUser();
|
||||
closedAreaPersonApplyE.setApplyPersonCorpId(currentUser.getTenantId());
|
||||
closedAreaPersonApplyE.setApplyPersonCorpName(currentUser.getTenantName());
|
||||
closedAreaPersonApplyE.setApplyPersonDepartmentId(currentUser.getOrgId());
|
||||
closedAreaPersonApplyE.setApplyPersonDepartmentName(currentUser.getOrgName());
|
||||
closedAreaPersonApplyE.setApplyPersonUserId(currentUser.getUserId());
|
||||
closedAreaPersonApplyE.setApplyPersonUserName(userData.getName());
|
||||
closedAreaPersonApplyE.setUserPhone(userData.getPhone());
|
||||
closedAreaPersonApplyE.setUserCard(userData.getUserIdCard());
|
||||
closedAreaPersonApplyE.setUserFaceUrl(userData.getUserAvatarUrl());
|
||||
}else {
|
||||
// closedAreaPersonApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard()));
|
||||
}
|
||||
boolean res = closedAreaPersonApplyGateway.add(closedAreaPersonApplyE);
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
|
||||
// 发送 消息通知 和 待办
|
||||
// 发送消息通知 和 待办
|
||||
if (cmd.getAuditPersonUserId() != null) {
|
||||
// 发送消息提醒
|
||||
Map <String, Object> sendParams = new HashMap <>();
|
||||
messageNoticeExe.sendMessageNotice(cmd.getAuditPersonUserId(), messageTemplateConfig.getClosedAreaApplyReceiveAudit(), sendParams);
|
||||
// 发送待办
|
||||
messageNoticeExe.sendMessageTodoEvent(cmd.getAuditPersonUserId(), "您有一条封闭区域审核,请及时进行审核。", "待审核", closedAreaPersonApplyE.getId(), closedAreaPersonApplyE.getId(), 1, 1);
|
||||
}
|
||||
|
||||
return closedAreaPersonApplyE.getId();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(Base64.encodeToString("130323199504189999"));
|
||||
System.out.println(Base64.decodeToString("MTMwMzIzMTk5NTA0MTg5OTk5"));
|
||||
System.out.println(Base64.decodeToString("MTMwMzU0MTk5NzA0MDQyMDEw"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaPersonApplyGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-19 13:59:16
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaPersonApplyRemoveExe {
|
||||
private final ClosedAreaPersonApplyGateway closedAreaPersonApplyGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = closedAreaPersonApplyGateway.deletedClosedAreaPersonApplyById(id);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = closedAreaPersonApplyGateway.deletedClosedAreaPersonApplyByIds(ids);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,156 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
|
||||
import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent;
|
||||
import com.zcloud.gbscommon.utils.DateUtil;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
|
||||
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
|
||||
import com.zcloud.primeport.domain.config.MessageTemplateConfig;
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAreaGateway;
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAuthGateway;
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaPersonApplyGateway;
|
||||
import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE;
|
||||
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAreaE;
|
||||
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAuthE;
|
||||
import com.zcloud.primeport.domain.model.ClosedAreaPersonApplyE;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuditCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuthCmd;
|
||||
import com.zcloud.primeport.dto.ClosedAreaPersonApplyUpdateCmd;
|
||||
import com.zcloud.primeport.plan.mjDevice.OnePersonUtil;
|
||||
import com.zcloud.primeport.plan.mjDevice.TwoPersonUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-19 13:59:16
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaPersonApplyUpdateExe {
|
||||
private final ClosedAreaPersonApplyGateway closedAreaPersonApplyGateway;
|
||||
private final ClosedAreaFgsPersonAuthGateway areaFgsPersonAuthGateway;
|
||||
private final ClosedAreaFgsPersonAreaGateway areaFgsPersonAreaGateway;
|
||||
private final MessageNoticeExe messageNoticeExe;
|
||||
private final MessageTemplateConfig messageTemplateConfig;
|
||||
private final TwoPersonUtil twoPersonUtil;
|
||||
private final OnePersonUtil onePersonUtil;
|
||||
|
||||
@DubboReference
|
||||
private ZcloudUserFacade zcloudUserFacade;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(ClosedAreaPersonApplyUpdateCmd closedAreaPersonApplyUpdateCmd) {
|
||||
ClosedAreaPersonApplyE closedAreaPersonApplyE = new ClosedAreaPersonApplyE();
|
||||
BeanUtils.copyProperties(closedAreaPersonApplyUpdateCmd, closedAreaPersonApplyE);
|
||||
boolean res = closedAreaPersonApplyGateway.update(closedAreaPersonApplyE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void auditPersonApply(ClosedAreaPersonApplyAuditCmd auditCmd) {
|
||||
ClosedAreaPersonApplyE closedAreaPersonApplyE = closedAreaPersonApplyGateway.queryById(auditCmd.getId());
|
||||
if (closedAreaPersonApplyE == null) {
|
||||
throw new BizException("车辆申请记录不存在");
|
||||
};
|
||||
closedAreaPersonApplyE.setId(auditCmd.getId());
|
||||
closedAreaPersonApplyE.setAuditFlag(auditCmd.getAuditFlag());
|
||||
closedAreaPersonApplyE.setRefusalReason(auditCmd.getRefusalReason());
|
||||
closedAreaPersonApplyE.setAuditTime(DateUtil.date2Str(new Date()));
|
||||
closedAreaPersonApplyGateway.update(closedAreaPersonApplyE);
|
||||
|
||||
// 完成待办
|
||||
messageNoticeExe.sendMessageCompleteEvent(auditCmd.getId());
|
||||
|
||||
// 发送通知
|
||||
if (closedAreaPersonApplyE.getApplyPersonUserId() != null) {
|
||||
Map <String, Object> sendParams = new HashMap <>();
|
||||
if (closedAreaPersonApplyE.getProjectName() != null) {
|
||||
sendParams.put("projectName", closedAreaPersonApplyE.getProjectName());
|
||||
}
|
||||
|
||||
String sourceCode = "您提交的一级口门车辆审批已通过";
|
||||
if (auditCmd.getAuditFlag().equals(2)) {
|
||||
// 通过
|
||||
sourceCode = messageTemplateConfig.getClosedAreaPersonReceiveAudit();
|
||||
}else {
|
||||
// 驳回
|
||||
sourceCode = messageTemplateConfig.getClosedAreaPersonReceiveAuditReject();
|
||||
}
|
||||
|
||||
messageNoticeExe.sendMessageNotice(closedAreaPersonApplyE.getApplyPersonUserId(), sourceCode, sendParams);
|
||||
}
|
||||
|
||||
// 审批通过 → 同步门禁权限(二级海康 + 一级大华)
|
||||
// 内部会先查大华系统判断是否已有权限,不覆盖原有权限
|
||||
if (auditCmd.getAuditFlag().equals(2)) {
|
||||
twoPersonUtil.levelTwoPeopleCompanyByApplyId(auditCmd.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void authPerson(ClosedAreaPersonApplyAuthCmd cmd) {
|
||||
areaFgsPersonAuthGateway.removeByUserId(cmd.getUserId());
|
||||
ClosedAreaFgsPersonAuthE closedAreaFgsPersonAuthE = new ClosedAreaFgsPersonAuthE();
|
||||
closedAreaFgsPersonAuthE.setUserId(cmd.getUserId());
|
||||
closedAreaFgsPersonAuthE.setCorpId(cmd.getCorpId());
|
||||
closedAreaFgsPersonAuthE.setMkmjPermission(cmd.getMkmjPermission());
|
||||
closedAreaFgsPersonAuthE.setDepartmentId(cmd.getDepartmentId());
|
||||
areaFgsPersonAuthGateway.addOrUpdate(closedAreaFgsPersonAuthE);
|
||||
areaFgsPersonAreaGateway.removeByFgspersonAuthId(cmd.getUserId());
|
||||
ArrayList<ClosedAreaFgsPersonAreaE> objects = new ArrayList<>();
|
||||
List<ClosedAreaPersonApplyAuthCmd.FgsPersonArea> areaList = cmd.getAreaList();
|
||||
for (ClosedAreaPersonApplyAuthCmd.FgsPersonArea fgsPersonArea : areaList) {
|
||||
ClosedAreaFgsPersonAreaE closedAreaFgsPersonAreaE = new ClosedAreaFgsPersonAreaE();
|
||||
closedAreaFgsPersonAreaE.setClosedAreaId(fgsPersonArea.getClosedAreaId());
|
||||
closedAreaFgsPersonAreaE.setClosedAreaName(fgsPersonArea.getClosedAreaName());
|
||||
closedAreaFgsPersonAreaE.setFgsPersonAuthId(fgsPersonArea.getFgsPersonAuthId());
|
||||
objects.add(closedAreaFgsPersonAreaE);
|
||||
}
|
||||
areaFgsPersonAreaGateway.saveBatch(objects);
|
||||
// 开启门禁权限时,查一级大华是否有已有权限,不覆盖
|
||||
if (cmd.getMkmjPermission() != null && cmd.getMkmjPermission().equals(1)) {
|
||||
// 获取人员身份证号
|
||||
SingleResponse<ZcloudUserCo> userInfo = zcloudUserFacade.getInfoByUserId(cmd.getUserId());
|
||||
if (userInfo != null && userInfo.getData() != null) {
|
||||
String userCard = userInfo.getData().getUserIdCard();
|
||||
String userName = userInfo.getData().getName();
|
||||
String userFaceUrl = userInfo.getData().getUserAvatarUrl();
|
||||
if (Tools.notEmpty(userCard)) {
|
||||
// 查询一级门禁(大华)是否已有权限
|
||||
try {
|
||||
cn.hutool.json.JSONArray dahuaUsers = onePersonUtil.getMkmjUserInfoByUserCard(Collections.singletonList(userCard));
|
||||
if (dahuaUsers == null || dahuaUsers.isEmpty()) {
|
||||
// 大华没有该用户 → 新增(有效期按每日任务刷新)
|
||||
onePersonUtil.dockLongTermUserByUserCardAndFaceImg(
|
||||
userCard,
|
||||
"hbqa" + userCard,
|
||||
userName,
|
||||
userFaceUrl,
|
||||
DateUtil.date2Str(new Date(), "yyyy-MM-dd") + " 00:00:00",
|
||||
DateUtil.date2Str(new Date(), "yyyy-MM-dd") + " 23:59:59"
|
||||
);
|
||||
}
|
||||
// 已有大华权限 → 保留,不覆盖
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.ClosedAreaGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author dearLin
|
||||
* @Date 2026-03-19 10:27:51
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ClosedAreaRemoveExe {
|
||||
private final ClosedAreaGateway closedAreaGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = closedAreaGateway.deletedClosedAreaById(id);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = closedAreaGateway.deletedClosedAreaByIds(ids);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue