Compare commits

..

168 Commits

Author SHA1 Message Date
15683799673
2816c22a4d 设备通道增加通道状态
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m33s
2025-09-09 05:41:23 +08:00
lxj
c941443bca Merge branch 'prod' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m29s
2025-09-09 05:04:14 +08:00
lxj
8a9d74bbd5 增加设备同步状态异步任务 2025-09-09 05:03:28 +08:00
a29e680bce feat(property): 小程序添加访客管理功能
- 新增访客管理相关的接口和服务实现
- 添加访客信息同步到 E8 平台的功能
- 实现访客二维码生成和获取功能
2025-09-08 22:35:40 +08:00
021a767677 Merge pull request 'master' (#6) from master into prod
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 18m25s
Reviewed-on: #6
2025-09-08 18:51:12 +08:00
64ec07d7b2 更新 pom.xml 2025-09-08 18:50:21 +08:00
lxj
ad36d4cfd5 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks 2025-09-08 17:50:16 +08:00
lxj
ba206c4d32 修复时间上报 2025-09-08 17:50:05 +08:00
d598409b28 Merge remote-tracking branch 'origin/master' 2025-09-08 17:48:18 +08:00
6a2898e0d7 feat(Property): 优化定时任务执行逻辑并添加时间限制 2025-09-08 17:48:10 +08:00
9a6bd54fba 新增客户服务活动功能 2025-09-08 16:41:32 +08:00
15683799673
71c82fa345 处理查询当前告警数量为0 2025-09-08 01:44:27 +08:00
15683799673
68abebc90f 修复设备同步状态异常 2025-09-07 09:07:57 +08:00
15683799673
2f70cd13ad 恢复任务模块服务器端配置
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 13m11s
2025-09-07 08:46:59 +08:00
15683799673
16b883fadc 恢复任务模块服务器端配置
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m30s
2025-09-07 08:07:48 +08:00
15683799673
ce53d02a63 Merge branch 'prod' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m43s
2025-09-07 07:40:26 +08:00
15683799673
3faafb9bd6 定时任务增加SaTokenContextMockUtil 操作 2025-09-07 07:40:12 +08:00
lxj
cbdd2532c1 Merge branch 'prod' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 13m11s
2025-09-07 02:18:54 +08:00
lxj
ae652e364e 修改snail配置 2025-09-07 02:17:40 +08:00
55c54d6e6b feat(Property): 添加小程序工单处理功能 2025-09-06 23:03:27 +08:00
d5504a1a23 Merge pull request 'master' (#5) from master into prod
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 16m16s
Reviewed-on: #5
2025-09-06 20:30:56 +08:00
7f813393c5 refactor(property): 优化智能水表抄表逻辑 2025-09-06 17:07:59 +08:00
4a3097e490 修改工单类型部门下的接单人 2025-09-06 16:07:13 +08:00
bc1301518c ref(Property): 优化仪表数据获取和列表展示 2025-09-06 14:57:37 +08:00
1e4eec8401 refactor(property):
- TbMeterInfoServiceImpl 中模拟 token 上下文
 - resident服务分包
2025-09-06 14:26:44 +08:00
0bf8cf45e8 feat(property): 用 Server-Sent Events (SSE) 替代 WebSocket 实现消息推送 2025-09-06 13:16:40 +08:00
dy
22c6efea63 删除 2025-09-06 12:52:48 +08:00
0b0103ea07 修改新增单位注册管理员功能 2025-09-06 10:39:03 +08:00
dy
c565114c4c 统计逻辑修改 2025-09-06 01:14:38 +08:00
dy
e70e245cdd 删除不必要的字段 2025-09-05 22:57:30 +08:00
6538635e6d 修改了巡检明细bug 2025-09-05 19:07:41 +08:00
0bf05f52f9 Merge remote-tracking branch 'origin/master' 2025-09-05 18:02:40 +08:00
15683799673
391bf01ce7 增加告警统计接口 2025-09-05 18:02:04 +08:00
87f5ee97fa feat(property): 新增入驻员工登录功能 2025-09-05 17:55:47 +08:00
lxj
7cef50cc19 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks 2025-09-04 18:27:21 +08:00
lxj
745145ebe2 事件增加创建记录 2025-09-04 18:27:15 +08:00
1e1da7964f 修改了巡检明细bug 2025-09-04 17:25:00 +08:00
lxj
86116cbf5c 设备同步逻辑修改
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 13m12s
2025-09-04 10:46:53 +08:00
lxj
e98890cd79 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks 2025-09-03 14:24:39 +08:00
lxj
287672d28b 取消华为盒子比对失败上报,没有授权记录上报 2025-09-03 14:24:26 +08:00
06bf8220d8 修改了巡检明细bug 2025-09-03 09:35:28 +08:00
dy
ddf00d23d6 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks 2025-09-02 15:36:22 +08:00
dy
a02864c003 区域回显 2025-09-02 15:36:12 +08:00
ecc1dadb4f Merge remote-tracking branch 'origin/master' 2025-09-01 18:07:56 +08:00
863366de7e feat(property): webSocket定时推送仪表状态功能
- 新增 HeartbeatTasks 类用于管理心跳任务
2025-09-01 18:07:33 +08:00
lxj
bb4ac2bcb8 增加人员聚集,非法停车自动指派操作 2025-09-01 17:18:50 +08:00
15683799673
046e9d925a 增加人员聚集,停车消费者
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m55s
2025-08-31 22:40:48 +08:00
15683799673
0d83a93a7b Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 13m46s
2025-08-31 19:11:33 +08:00
15683799673
d29c901352 添加人员聚集报警,非法停车报警 2025-08-31 19:11:26 +08:00
4890e9c8e3 refactor(property): 1 2025-08-31 14:12:45 +08:00
f9544ad4e1 feat(property): 优化水电气表树结构和状态获取功能
- 在 queryMeterInfoTree 方法中添加 isMeter 参数,用于控制是否返回仪表信息
- 修改 getMeterStatus 方法,增加 meterType 参数,用于指定水电气类型
- 优化 TbMeterInfoController 中的路由设计,使用 query 参数替代路径参数- 在获取仪表状态时增加异常处理,确保数据获取失败时能够返回所有数据并设置通信状态为 0
- 在 HttpUtil.post 方法中增加超时设置,提高请求稳定性
2025-08-31 12:44:04 +08:00
b1f0ce3d3c refactor(Property): 修改仪表信息获取和处理逻辑 2025-08-30 22:42:12 +08:00
28f44a1c5f feat(Property): 1 2025-08-30 21:14:04 +08:00
85a943a697 Merge remote-tracking branch 'origin/master' 2025-08-30 21:03:35 +08:00
10033dd646 feat(Property): 添加水/电/气表当前读数和状态获取功能 2025-08-30 21:03:26 +08:00
15683799673
fe8c5a76f3 Merge branch 'prod' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 13m13s
2025-08-30 06:36:57 +08:00
15683799673
3c6595e591 增加事件自动指派操作 2025-08-30 06:36:27 +08:00
97a3c106cb 修复自动排班bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m33s
2025-08-30 01:13:36 +08:00
14b8370f44 Merge pull request 'master' (#4) from master into prod
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 18m10s
Reviewed-on: #4
2025-08-29 23:30:39 +08:00
0b22169649 修改了自动派单bug 2025-08-29 21:22:59 +08:00
826684ed66 修改了自动派单排序 2025-08-29 20:43:58 +08:00
e2fbd251b3 修改了自动派单排序 2025-08-29 20:19:48 +08:00
2200ef4880 修改了自动派单排序 2025-08-29 20:16:10 +08:00
ff2bc3cf93 Merge pull request 'master' (#3) from master into prod
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 18m49s
Reviewed-on: #3
2025-08-29 18:47:06 +08:00
659f3089e4 修改了自动派单排序 2025-08-29 17:19:48 +08:00
ce0c4b201c 修改了自动派单排序 2025-08-29 16:50:21 +08:00
bad3ffdf4c 修改了保洁订单排序 2025-08-29 16:46:22 +08:00
0e0646f4b8 Merge remote-tracking branch 'origin/master' 2025-08-29 15:50:12 +08:00
fbc07ac629 refactor(property): 重构能源趋势接口
-分别返回今日和昨日、本月和上月、今年和去年的趋势数据
2025-08-29 15:50:00 +08:00
lxj
d8f5713a3d Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m54s
2025-08-29 11:30:16 +08:00
lxj
8afc12f3b6 修复设备添加无法调用sdk模块登录的问题 2025-08-29 11:30:00 +08:00
710379c1a4 Merge remote-tracking branch 'origin/master' 2025-08-29 09:15:34 +08:00
ac5cff7cc6 feat(sis): 1 2025-08-29 09:15:24 +08:00
15683799673
6d2741a8a5 增加事件类型判断
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 11m56s
2025-08-28 20:40:49 +08:00
15683799673
0233dad442 修改sis模块时区问题
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m9s
2025-08-28 20:16:35 +08:00
15683799673
feb16fc4b7 Merge branch 'prod' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m7s
# Conflicts:
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/config/RocketMQClusterConfig.java
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/consumer/MeterRecordConsumer.java
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/producer/ProducerService.java
2025-08-28 19:54:41 +08:00
c773aed9c7 Merge remote-tracking branch 'origin/master' 2025-08-28 19:52:22 +08:00
db29ef77fa refactor(sis): 1 2025-08-28 19:52:11 +08:00
15683799673
fecaa7921d 增加门禁可视化 设备绑定关系解绑操作 2025-08-28 19:51:06 +08:00
15683799673
92cb1fcd63 修复门禁可视化无法播放的问题 2025-08-28 19:48:04 +08:00
lsm
fbcc6ec713 更新 ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/ZeroSensationPassageServiceImpl.java
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m35s
放开黑名单上报
2025-08-28 19:34:20 +08:00
f3591e7ff1 Merge pull request 'master' (#2) from master into prod
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 17m15s
Reviewed-on: #2
2025-08-28 17:28:27 +08:00
lxj
6d25db8c59 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks 2025-08-28 16:08:42 +08:00
15683799673
57e9ac1079 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks 2025-08-28 16:06:29 +08:00
d6623bb9da Merge remote-tracking branch 'origin/master' 2025-08-28 15:28:38 +08:00
efeafd5e13 refactor(sis): 替换图片URL 2025-08-28 15:28:05 +08:00
130e3aeb04 修改了物业排序 2025-08-28 15:18:46 +08:00
cfff5df7d0 refactor(property): 优化能源趋势查询接口返回值类型 2025-08-28 15:05:01 +08:00
lxj
1b138ab299 视频流适配内外网播放
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m27s
2025-08-28 09:09:33 +08:00
lxj
b7e9dfa148 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
# Conflicts:
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/config/RocketMQClusterConfig.java
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/consumer/MeterRecordConsumer.java
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/producer/ProducerService.java
2025-08-28 04:16:35 +08:00
76c0aa74f1 feat(property): 添加用电/水/气趋势分析功能 2025-08-28 01:21:12 +08:00
15683799673
825e1ed183 Merge branch 'prod' of http://47.109.37.87:3000/by2025/SmartParks
# Conflicts:
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/config/RocketMQClusterConfig.java
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/consumer/MeterRecordConsumer.java
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/producer/ProducerService.java
2025-08-27 20:29:15 +08:00
lxj
c2f0b64e6f 修复比对失败没写入事件表的问题
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m7s
2025-08-27 19:42:33 +08:00
e61b56b05e feat(property): 添加自动抄表功能 2025-08-27 19:28:24 +08:00
eb1b2084b5 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/consumer/MeterRecordConsumer.java
2025-08-27 19:28:05 +08:00
4d76a4df45 feat(property): 添加自动抄表功能 2025-08-27 19:27:02 +08:00
lxj
0330b023a3 修复打包失败
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m38s
2025-08-27 19:18:46 +08:00
lxj
1eb95bf6f6 修复打包失败
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 12m8s
2025-08-27 18:37:12 +08:00
lxj
df9adf700c Merge branch 'prod' of http://47.109.37.87:3000/by2025/SmartParks
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Failing after 9m11s
2025-08-27 18:22:20 +08:00
368eea91e8 修改了水电抄表bug 2025-08-27 18:14:14 +08:00
lxj
19e259a15e 修复配置文件 2025-08-27 18:10:11 +08:00
816b90e9e1 修改了水电抄表bug 2025-08-27 18:07:27 +08:00
6133d7761d 修改了水电抄表bug 2025-08-27 18:03:49 +08:00
lxj
318da3f0ee Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
# Conflicts:
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/RocketMqConstants.java
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/consumer/FaceCaptureConsumer.java
#	ruoyi-modules/Sis/src/main/java/org/dromara/sis/rocketmq/consumer/FaceCompareConsumer.java
2025-08-27 18:01:31 +08:00
lxj
3c8eb59165 rocketmq消费者组修改 2025-08-27 17:59:56 +08:00
3c480d92f0 修改了水电抄表bug 2025-08-27 17:58:28 +08:00
78d97e14ee refactor(rocketmq): 1 2025-08-27 15:46:17 +08:00
c2c1818ba6 refactor(rocketmq): 1 2025-08-27 15:43:27 +08:00
3ebc58f5e3 refactor(rocketmq): 手动装配rocketMQ 2025-08-26 21:02:38 +08:00
07b9e8b722 Merge remote-tracking branch 'origin/master' 2025-08-26 20:33:13 +08:00
b20828a800 feat(rocketmq): 添加仪表记录消费者和生产者服务 2025-08-26 20:32:51 +08:00
9c0b0bad03 修改工单bug 2025-08-26 17:28:16 +08:00
c4495d2cf2 Merge pull request '修改了车辆收费bug' (#1) from master into prod
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 11m47s
Reviewed-on: #1
2025-08-26 13:57:40 +08:00
a16c333759 修改了车辆收费bug 2025-08-26 13:12:50 +08:00
6e84a1c646 发布
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 16m48s
2025-08-26 10:52:59 +08:00
a6b0277ff6 fix:绿植租赁方案删除 2025-08-26 10:26:47 +08:00
ef0976c621 Merge remote-tracking branch 'origin/master' 2025-08-26 09:50:12 +08:00
e949122b37 修改了车辆收费bug 2025-08-26 09:47:32 +08:00
638a98a4c6 Merge remote-tracking branch 'origin/master' 2025-08-25 18:35:32 +08:00
360f87ea0d 更新 .gitea/workflows/master.yml 2025-08-25 18:35:30 +08:00
555de9f5aa refactor(property): 1 2025-08-25 18:34:30 +08:00
da131cda5c 修改了物业一些bug
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Failing after 12m36s
2025-08-25 17:31:33 +08:00
c86f887d3e 更新 .gitea/workflows/master.yml
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 17m20s
2025-08-25 16:31:56 +08:00
2c127576a0 删除 .gitea/workflows/dev.yml
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Has been cancelled
2025-08-25 16:31:11 +08:00
15a0f3f884 更新 ruoyi-modules/Property/Dockerfile
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m25s
2025-08-24 17:51:22 +08:00
0d4754eef9 Merge remote-tracking branch 'origin/master'
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m51s
2025-08-24 16:58:14 +08:00
dad6666107 feat(ImageUtil): 添加图片压缩方向处理功能 2025-08-24 16:58:03 +08:00
dy
87b77b26d1 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m22s
2025-08-23 22:55:22 +08:00
dy
0584a44601 H5新增访客 2025-08-23 22:55:11 +08:00
15683799673
18bd1724c4 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m17s
2025-08-23 19:53:54 +08:00
15683799673
c8475f818d 修复告警详情图片获取不对的问题 2025-08-23 19:53:46 +08:00
d3a1d16b8f 修改了物业一些bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m25s
2025-08-23 19:17:29 +08:00
5ec2a67049 新增了单位接口
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m20s
2025-08-23 16:36:45 +08:00
9eeca6f32e 新增了单位接口
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m55s
2025-08-23 15:27:13 +08:00
8966b52cc5 修改了移动端新增工单
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 8m6s
2025-08-23 13:52:58 +08:00
b022d3a68c 修改了会议室等bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m15s
2025-08-22 20:52:39 +08:00
63e5abc003 修改了会议室等bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m17s
2025-08-22 20:41:13 +08:00
1d8b948a13 更新 .gitea/workflows/master.yml
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m21s
2025-08-22 20:27:29 +08:00
953a545ba6 更新 .gitea/workflows/master.yml 2025-08-22 20:26:28 +08:00
a8dc8d99df 更新 .gitea/workflows/dev.yml
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m22s
2025-08-22 20:13:25 +08:00
fb7e5c7e19 更新 .gitea/workflows/dev.yml
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Has been cancelled
2025-08-22 20:12:29 +08:00
1b5204e6ed 更新 .gitea/workflows/dev.yml
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Has been cancelled
2025-08-22 20:11:57 +08:00
8340f5cf6a 修改了会议室等bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m24s
2025-08-22 20:03:34 +08:00
lxj
9897bb8db7 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m25s
2025-08-22 18:14:28 +08:00
lxj
4a62ad17c3 修改详情逻辑 2025-08-22 18:14:17 +08:00
1e39769309 更新 ruoyi-modules/Sis/Dockerfile
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m20s
2025-08-22 17:55:44 +08:00
lxj
df9e3b77ff 删除hik sdk 和宇试文档
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Failing after 5m40s
2025-08-22 17:46:07 +08:00
lxj
42b5c78658 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Has been cancelled
2025-08-22 17:44:44 +08:00
lxj
49401d42ba 增加事件处理详情 2025-08-22 17:44:33 +08:00
1aa576a9ae 修改了权限bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m25s
2025-08-22 17:33:25 +08:00
dy
d0ccd668fa 修改前端不返回设备bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m30s
2025-08-22 16:29:37 +08:00
dy
3c144d00e5 前端不传集合时状态改不了的bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m19s
2025-08-22 14:48:31 +08:00
359a380937 修正nacos配置pom,添加默认配置
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m55s
2025-08-22 13:51:40 +08:00
a36667e599 修正nacos配置pom,添加默认配置
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Has been cancelled
2025-08-22 12:16:51 +08:00
1d8ad14ebc 修正nacos配置pom,添加默认配置
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m50s
2025-08-22 11:51:23 +08:00
lxj
73e47e5127 修改开放环境参数配置
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m46s
2025-08-22 10:22:27 +08:00
2e314b2901 feat(sis): 添加图片压缩工具类并优化访客照片上传逻辑
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 7m17s
2025-08-21 23:14:12 +08:00
2103be1de5 refactor(sis): 1
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m19s
2025-08-21 18:10:30 +08:00
2a143bb147 修改了工单bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m25s
2025-08-21 17:35:28 +08:00
37966e73c1 refactor(sis): 1
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m26s
2025-08-21 15:10:54 +08:00
f01d28b21e 修改了工单bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m21s
2025-08-21 14:27:30 +08:00
db9b1e1cd3 修改了工单bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m27s
2025-08-21 14:11:51 +08:00
dy
0385bef3f4 Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m31s
2025-08-21 11:30:49 +08:00
dy
eba9e78695 反查 2025-08-21 11:30:38 +08:00
15683799673
be3992c1dc 增加人脸抓拍,人脸上报消费者
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m20s
2025-08-21 02:53:04 +08:00
dy
5c9672dc18 分包
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m17s
2025-08-20 23:51:53 +08:00
dy
5fb396575d Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m21s
2025-08-20 22:08:51 +08:00
dy
f23b02fe51 处理排班跨月且覆盖当月最后一天的情况,如排班从当月开始,下个月结束 2025-08-20 22:08:01 +08:00
479 changed files with 9280 additions and 2041 deletions

View File

@@ -1,205 +0,0 @@
run-name: ${{ gitea.actor }} 构建镜像并推送不含JAR依赖上传🚀
on:
push:
branches:
- main
jobs:
build-parent-pom:
runs-on: ubuntu
steps:
- name: 拉取代码仓库
uses: http://git.missmoc.top/mocheng/checkout@v4
- name: 配置环境变量(绝对路径)
run: |
export JAVA_HOME="/java17/java17"
export MAVEN_HOME="/maven/apache-maven-3.9.11"
if [ ! -f "$JAVA_HOME/bin/java" ]; then
echo "错误JDK可执行文件不存在于 $JAVA_HOME/bin/java"
exit 1
fi
if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then
echo "错误Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn"
exit 1
fi
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
echo "$JAVA_HOME/bin" >> $GITHUB_PATH
echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
"$JAVA_HOME/bin/java" -version
"$MAVEN_HOME/bin/mvn" -v
- name: 配置Maven仓库
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<localRepository>/root/.m2/repository</localRepository>
<profiles>
<profile>
<id>multi-repo</id>
<repositories>
<repository>
<id>local-repo</id>
<url>file:///root/.m2/repository</url>
</repository>
<repository>
<id>aliyun-public</id>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>multi-repo</activeProfile>
</activeProfiles>
</settings>
EOF
- name: 构建主POM仅本地安装不上传
run: |
MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml"
if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then
echo "错误主POM文件不存在"
exit 1
fi
retries=3
count=0
until "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do
count=$((count + 1))
if [ $count -ge $retries ]; then
echo "错误主POM构建失败"
exit 1
fi
sleep 10
done
# build-common-modules:
# needs: build-parent-pom
# runs-on: ubuntu
# steps:
# - name: 拉取代码仓库
# uses: http://git.missmoc.top/mocheng/checkout@v4
# - name: 配置环境变量
# run: |
# export JAVA_HOME="/java17/java17"
# export MAVEN_HOME="/maven/apache-maven-3.9.11"
# echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
# echo "$JAVA_HOME/bin" >> $GITHUB_PATH
# echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
# echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
# - name: 构建通用模块(仅本地使用,不上传)
# run: |
# COMMON_MODULES=(
# "ruoyi-common"
# "ruoyi-api"
# "ruoyi-common-bom"
# "ruoyi-common-alibaba-bom"
# "ruoyi-api-bom"
# )
# for module in "${COMMON_MODULES[@]}"; do
# MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml"
# if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then
# echo "警告:模块 $module 不存在,跳过"
# continue
# fi
# retries=3
# count=0
# until "$MAVEN_HOME/bin/mvn" clean compile install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do
# count=$((count + 1))
# if [ $count -ge $retries ]; then
# echo "错误:模块 $module 构建失败"
# exit 1
# fi
# sleep 10
# done
# done
build-and-push-services:
needs: build-common-modules
runs-on: ubuntu
strategy:
matrix:
service:
- ruoyi-auth
- ruoyi-gateway
- ruoyi-modules/Property
- ruoyi-modules/ruoyi-gen
- ruoyi-modules/ruoyi-job
- ruoyi-modules/ruoyi-resource
- ruoyi-modules/ruoyi-system
- ruoyi-modules/ruoyi-workflow
- ruoyi-modules/Sis
- ruoyi-visual/ruoyi-monitor
- ruoyi-visual/ruoyi-nacos
- ruoyi-seata-server
- ruoyi-sentinel-dashboard
- ruoyi-snailjob-server
steps:
- name: 拉取代码仓库
uses: http://git.missmoc.top/mocheng/checkout@v4
- name: 配置环境变量
run: |
export JAVA_HOME="/java17/java17"
export MAVEN_HOME="/maven/apache-maven-3.9.11"
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
echo "$JAVA_HOME/bin" >> $GITHUB_PATH
echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
- name: 构建服务模块
run: |
SERVICE_NAME="${{ matrix.service }}"
SERVICE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml"
if [ ! -f "$SERVICE_POM_ABSOLUTE_PATH" ]; then
echo "错误:服务 $SERVICE_NAME 的POM文件不存在"
exit 1
fi
"$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH"
- name: 配置Docker Buildx
uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3
- name: 登录到容器仓库
uses: http://git.missmoc.top/mocheng/login-action@v3
with:
registry: ${{ secrets.REGISTRY_URL }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASS }}
- name: 确定Dockerfile路径
id: dockerfile-path
run: |
SERVICE_NAME="${{ matrix.service }}"
DOCKERFILE_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile"
if [ -f "$DOCKERFILE_ABSOLUTE_PATH" ]; then
echo "dockerfile_path=$DOCKERFILE_ABSOLUTE_PATH" >> $GITHUB_OUTPUT
else
echo "dockerfile_path=${GITHUB_WORKSPACE}/Dockerfile" >> $GITHUB_OUTPUT
fi
- name: 构建并推送Docker镜像仅推送镜像不上传JAR
uses: http://git.missmoc.top/mocheng/build-push-action@v5
with:
context: "${{ github.workspace }}"
file: ${{ github.workspace }}/${{ matrix.service }}/Dockerfile
tags: 172.100.10.45:3000/by2025/smartparks/${{ matrix.service }}:latest
# tags: ${{ secrets.REGISTRY_URL }}/by2025/$(echo ${{ matrix.service }} | tr 'A-Z' 'a-z'):${{ github.sha }}
# tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:2.0.4
push: true
cache-from: type=gha
cache-to: type=gha,mode=max

View File

@@ -3,7 +3,7 @@ name: Build and Push to Target Registry
# 监听master分支的推送事件
on:
push:
branches: [ master ]
branches: [ prod ]
jobs:
build-and-deploy:
@@ -87,3 +87,8 @@ jobs:
echo "===== 清理操作 ====="
docker system prune -f
echo "===== 所有操作完成 ===="
- name: 重启服务
run: |
kubectl rollout restart deployment sis -n smartparks
kubectl rollout restart deployment property -n smartparks

12
pom.xml
View File

@@ -73,7 +73,7 @@
<id>local</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<profiles.active>dev</profiles.active>
<nacos.server>10.20.1.65:8848</nacos.server>
<logstash.address>10.20.1.65:4560</logstash.address>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
@@ -91,12 +91,12 @@
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<nacos.server>127.0.0.1:8848</nacos.server>
<logstash.address>127.0.0.1:4560</logstash.address>
<nacos.server>113.249.101.254:8848</nacos.server>
<logstash.address>113.249.101.254:4560</logstash.address>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
<nacos.password>by@2025??</nacos.password>
</properties>
</profile>
@@ -118,8 +118,8 @@
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
<nacos.server>10.20.1.185:8848</nacos.server>
<logstash.address>10.20.1.185:4560</logstash.address>
<nacos.server>127.0.0.1:8848</nacos.server>
<logstash.address>127.0.0.1:4560</logstash.address>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<nacos.username>nacos</nacos.username>

View File

@@ -18,6 +18,15 @@ public interface RemoteAttendanceService {
* @param date 查询时间
* @return 返回排班人员信息
*/
public List<RemoteAttendanceUserGroupVo> queryAttendPersonInfo(Date date);
List<RemoteAttendanceUserGroupVo> queryAttendPersonInfo(Date date);
/**
* 根据时间和设备ip查询当前设备所处区域的排班人员信息
*
* @param date 查询时间
* @param deviceIp 设备ip
* @return 返回排班人员信息
*/
List<RemoteAttendanceUserGroupVo> queryAttendByCurrDateAndDeviceIp(Date date, String deviceIp);
}

View File

@@ -1,6 +1,8 @@
package org.dromara.property.api;
import org.dromara.common.core.exception.residentPerson.ResidentPersonException;
import org.dromara.property.api.domain.vo.RemoteResidentPersonVo;
import org.dromara.property.api.model.LoginResidentPerson;
import java.util.List;
@@ -16,4 +18,13 @@ public interface RemoteResidentPersonService {
// 更新E8平台id
Boolean updateE8Id(Long personId, Long e8Id);
/**
* 通过手机号查询用户信息
*
* @param phone 手机号
* @param tenantId 租户id
* @return 结果
*/
LoginResidentPerson getResidentPersonInfo(String phone, String tenantId) throws ResidentPersonException;
}

View File

@@ -49,5 +49,4 @@ public class RemoteAttendanceUserGroupVo implements Serializable {
*/
private LocalDate endDate;
}

View File

@@ -33,10 +33,10 @@ public class RemoteFloorVo implements Serializable {
*/
private String floorName;
/**
* 楼层号
*/
private Long floorNumber;
// /**
// * 楼层号
// */
// private Long floorNumber;
/**
* 楼层类型

View File

@@ -0,0 +1,119 @@
package org.dromara.property.api.model;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.util.Set;
/**
* @author lsm
* @apiNote LoginResidentPerson
* @since 2025/9/5
*/
@Data
@NoArgsConstructor
public class LoginResidentPerson implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 租户ID
*/
private String tenantId;
/**
* 用户ID
*/
private Long userId;
/**
* 所属单位id
*/
private Long unitId;
/**
* 所属单位名称
*/
private String unitName;
/**
* 用户唯一标识
*/
private String token;
/**
* 用户类型
*/
private String userType;
/**
* 登录时间
*/
private Long loginTime;
/**
* 过期时间
*/
private Long expireTime;
/**
* 登录IP地址
*/
private String ipaddr;
/**
* 登录地点
*/
private String loginLocation;
/**
* 浏览器类型
*/
private String browser;
/**
* 操作系统
*/
private String os;
/**
* 用户名
*/
private String username;
/**
* 用户昵称
*/
private String nickname;
/**
* 密码
*/
private String password;
/**
* 用户角色(1管理员2普通用户)
*/
private Integer userRoles;
/**
* 客户端
*/
private String clientKey;
/**
* 获取登录id
*/
public String getLoginId() {
if (userType == null) {
throw new IllegalArgumentException("用户类型不能为空");
}
if (userId == null) {
throw new IllegalArgumentException("用户ID不能为空");
}
return userType + ":" + userId;
}
}

View File

@@ -23,4 +23,13 @@ public interface RemoteMessageService {
* @param message 消息内容
*/
void publishAll(String message);
/**
* 向指定的用户的指定会话发送消息
*
* @param userId 要发送消息的用户id
* @param token 用户的会话令牌
* @param message 要发送的消息内容
*/
void sendMessage(Long userId, String token, String message);
}

View File

@@ -44,4 +44,20 @@ public class RemoteMessageServiceStub implements RemoteMessageService {
log.warn("推送功能未开启或服务未找到");
}
}
/**
* 向指定的用户的指定会话发送消息
*
* @param userId 要发送消息的用户id
* @param token 用户的会话令牌
* @param message 要发送的消息内容
*/
@Override
public void sendMessage(Long userId, String token, String message) {
try {
remoteMessageService.sendMessage(userId, token, message);
} catch (Exception e) {
log.warn("推送功能未开启或服务未找到");
}
}
}

View File

@@ -25,6 +25,7 @@ public interface RemoteUserService {
* @return 结果
*/
LoginUser getUserInfo(String username, String tenantId) throws UserException;
/**
* 通过用户id查询用户信息
*
@@ -196,6 +197,10 @@ public interface RemoteUserService {
*/
Map<Long, String> selectPostNamesByIds(List<Long> postIds);
Map<String ,Integer> seelectOrgcount();
Map<String, Integer> seelectOrgcount();
/**
* 查询用户列表
*/
List<RemoteUserVo> selectUserList(List<Long> userIds);
}

View File

@@ -2,6 +2,8 @@ package org.dromara.sis.api;
import org.dromara.sis.api.domain.RemoteVisitor;
import java.util.Map;
/**
* @author lsm
* @apiNote RemoteVisitorService
@@ -15,5 +17,13 @@ public interface RemoteVisitorService {
* @param visitor 访客信息
* @return 访客ID
*/
Long syncE8PlatVisitor(RemoteVisitor visitor);
Map<String, Object> syncE8PlatVisitor(RemoteVisitor visitor);
/**
* 获取访客二维码
*
* @param id 访客id
* @return String
*/
Map<String, Object> getQrCode(Long id);
}

View File

@@ -2,9 +2,13 @@ package org.dromara.sis.api.domain;
import lombok.Data;
@Data
public class RemoteSdkChannel {
import java.io.Serial;
import java.io.Serializable;
@Data
public class RemoteSdkChannel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Long deviceId;

View File

@@ -2,9 +2,14 @@ package org.dromara.sis.api.domain;
import lombok.Data;
@Data
public class RemoteSisDeviceChannel {
import java.io.Serial;
import java.io.Serializable;
@Data
public class RemoteSisDeviceChannel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/

View File

@@ -99,6 +99,11 @@
<artifactId>ruoyi-common-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>property-api</artifactId>
</dependency>
<!-- ELK 日志收集 -->
<!-- <dependency>-->
<!-- <groupId>org.dromara</groupId>-->

View File

@@ -0,0 +1,31 @@
package org.dromara.auth.form;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.domain.model.LoginBody;
import org.hibernate.validator.constraints.Length;
/**
* @author lsm
* @apiNote ResidentLoginBody
* @since 2025/9/5
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ResidentLoginBody extends LoginBody {
/**
* 用户名
*/
@NotBlank(message = "{user.username.not.blank}")
@Length(min = 2, max = 30, message = "{user.username.length.valid}")
private String username;
/**
* 用户密码
*/
@NotBlank(message = "{user.password.not.blank}")
@Length(min = 5, max = 30, message = "{user.password.length.valid}")
private String password;
}

View File

@@ -0,0 +1,68 @@
package org.dromara.auth.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.stp.parameter.SaLoginParameter;
import cn.hutool.crypto.digest.BCrypt;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.auth.domain.vo.LoginVo;
import org.dromara.auth.form.PasswordLoginBody;
import org.dromara.auth.service.IAuthStrategy;
import org.dromara.auth.service.SysLoginService;
import org.dromara.common.core.enums.LoginType;
import org.dromara.common.core.utils.ValidatorUtils;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.property.api.RemoteResidentPersonService;
import org.dromara.property.api.model.LoginResidentPerson;
import org.dromara.system.api.domain.vo.RemoteClientVo;
import org.springframework.stereotype.Service;
/**
* @author lsm
* @apiNote ResidentAuthStrategy
* @since 2025/9/5
*/
@Slf4j
@Service("resident" + IAuthStrategy.BASE_NAME)
@RequiredArgsConstructor
public class ResidentAuthStrategy implements IAuthStrategy {
private final SysLoginService loginService;
@DubboReference
private RemoteResidentPersonService remoteResidentPersonService;
@Override
public LoginVo login(String body, RemoteClientVo client) {
PasswordLoginBody loginBody = JsonUtils.parseObject(body, PasswordLoginBody.class);
ValidatorUtils.validate(loginBody);
assert loginBody != null;
String tenantId = loginBody.getTenantId();
String username = loginBody.getUsername();
String password = loginBody.getPassword();
LoginResidentPerson loginUser = TenantHelper.dynamic(tenantId, () -> {
LoginResidentPerson user = remoteResidentPersonService.getResidentPersonInfo(username, tenantId);
loginService.checkLogin(LoginType.PASSWORD, tenantId, username, () -> !BCrypt.checkpw(password, user.getPassword()));
return user;
});
loginUser.setClientKey(client.getClientKey());
SaLoginParameter model = new SaLoginParameter();
model.setDeviceType(client.getDeviceType());
// 自定义分配 不同用户体系 不同 token 授权时间 不设置默认走全局 yml 配置
// 例如: 后台用户30分钟过期 app用户1天过期
model.setTimeout(client.getTimeout());
model.setActiveTimeout(client.getActiveTimeout());
model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId());
LoginHelper.residentLogin(loginUser, model);
LoginVo loginVo = new LoginVo();
loginVo.setAccessToken(StpUtil.getTokenValue());
loginVo.setExpireIn(StpUtil.getTokenTimeout());
loginVo.setClientId(client.getClientId());
return loginVo;
}
}

View File

@@ -0,0 +1,19 @@
package org.dromara.common.core.exception.residentPerson;
import org.dromara.common.core.exception.base.BaseException;
import java.io.Serial;
/**
* @author lsm
* @apiNote ResidentPersonException
* @since 2025/9/5
*/
public class ResidentPersonException extends BaseException {
@Serial
private static final long serialVersionUID = 1L;
public ResidentPersonException(String message) {
super("residentPerson", null, null, message);
}
}

View File

@@ -35,6 +35,11 @@
<artifactId>ruoyi-api-system</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>property-api</artifactId>
</dependency>
<!-- RuoYi Common Redis-->
<dependency>
<groupId>org.dromara</groupId>

View File

@@ -8,10 +8,13 @@ import org.dromara.common.core.service.PermissionService;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.property.api.model.LoginResidentPerson;
import org.dromara.system.api.model.LoginUser;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
* sa-token 权限管理实现类
@@ -26,15 +29,46 @@ public class SaPermissionImpl implements StpInterface {
@Override
public List<String> getPermissionList(Object loginId, String loginType) {
LoginUser loginUser = LoginHelper.getLoginUser();
if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) {
LoginResidentPerson loginResidentPerson = LoginHelper.getLoginResident();
// 使用Objects.equals进行null安全的比较
boolean isUserMatch = ObjectUtil.isNotNull(loginUser) && Objects.equals(loginUser.getLoginId(), loginId);
boolean isResidentMatch = ObjectUtil.isNotNull(loginResidentPerson) && Objects.equals(loginResidentPerson.getLoginId(), loginId);
if (isUserMatch) {
// 用户匹配时的逻辑
PermissionService permissionService = getPermissionService();
if (ObjectUtil.isNotNull(permissionService)) {
List<String> list = StringUtils.splitList(loginId.toString(), ":");
return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(list.get(1))));
} else {
if (ObjectUtil.isNull(permissionService)) {
throw new ServiceException("PermissionService 实现类不存在");
}
List<String> parts = StringUtils.splitList(loginId.toString(), ":");
return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(parts.get(1))));
} else if (isResidentMatch) {
// 居民匹配时的逻辑
return Arrays.asList(
// 入驻员工管理
"xcx:person:list",
"xcx:person:add",
"xcx:person:query",
"xcx:person:edit",
"xcx:person:remove",
// 入驻单位管理
"xcx:unit:query",
// 工单管理
"xcx:workOrders:add",
"xcx:workOrders:query",
// 工单类型管理
"xcx:workOrdersType:query",
// 访客管理
"xcx:visitorManagement:add",
"xcx:visitorManagement:query",
"xcx:visitorManagement:edit",
"xcx:visitorManagement:list",
"xcx:visitorManagement:getQrCode",
// 文件上传
"system:oss:upload"
);
}
UserType userType = UserType.getUserType(loginUser.getUserType());
if (userType == UserType.APP_USER) {
// 其他端 自行根据业务编写

View File

@@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
import org.dromara.common.core.constant.SystemConstants;
import org.dromara.common.core.constant.TenantConstants;
import org.dromara.common.core.enums.UserType;
import org.dromara.property.api.model.LoginResidentPerson;
import org.dromara.system.api.model.LoginUser;
import java.util.Set;
@@ -83,6 +84,57 @@ public class LoginHelper {
return (T) session.get(LOGIN_USER_KEY);
}
/**
* 入驻员工
*/
private static final String UNIT_KEY = "unitId";
public static final String UNIT_NAME_KEY = "unitName";
private static final String RESIDENT_PERSON_KEY = "residentPerson";
/**
* 登录系统 基于 设备类型
* 针对相同用户体系不同设备
*
* @param loginUser 登录用户信息
* @param model 配置参数
*/
public static void residentLogin(LoginResidentPerson loginUser, SaLoginParameter model) {
model = ObjectUtil.defaultIfNull(model, new SaLoginParameter());
StpUtil.login(loginUser.getLoginId(),
model.setExtra(TENANT_KEY, loginUser.getTenantId())
.setExtra(USER_KEY, loginUser.getUserId())
.setExtra(USER_NAME_KEY, loginUser.getUsername())
.setExtra(UNIT_KEY, loginUser.getUnitId())
.setExtra(UNIT_NAME_KEY, loginUser.getUnitName())
);
StpUtil.getTokenSession().set(RESIDENT_PERSON_KEY, loginUser);
}
/**
* 获取用户(多级缓存)
*/
@SuppressWarnings("unchecked cast")
public static <T extends LoginResidentPerson> T getLoginResident() {
SaSession session = StpUtil.getTokenSession();
if (ObjectUtil.isNull(session)) {
return null;
}
return (T) session.get(RESIDENT_PERSON_KEY);
}
/**
* 获取用户基于token
*/
@SuppressWarnings("unchecked cast")
public static <T extends LoginResidentPerson> T getLoginResident(String token) {
SaSession session = StpUtil.getTokenSessionByToken(token);
if (ObjectUtil.isNull(session)) {
return null;
}
return (T) session.get(RESIDENT_PERSON_KEY);
}
/**
* 获取用户id
*/

View File

@@ -132,6 +132,34 @@ public class SseEmitterManager {
}
}
/**
* 向指定的用户的指定会话发送消息
*
* @param userId 要发送消息的用户id
* @param token 用户的会话令牌
* @param message 要发送的消息内容
*/
public void sendMessage(Long userId, String token, String message) {
Map<String, SseEmitter> emitters = USER_TOKEN_EMITTERS.get(userId);
if (MapUtil.isNotEmpty(emitters)) {
for (Map.Entry<String, SseEmitter> entry : emitters.entrySet()){
if (entry.getKey().equals(token)) {
try {
entry.getValue().send(SseEmitter.event()
.name("message")
.data(message));
} catch (Exception e) {
SseEmitter remove = emitters.remove(entry.getKey());
if (remove != null) {
remove.complete();
}
}
}
}
}
}
/**
* 本机全用户会话发送消息
*

View File

@@ -38,6 +38,20 @@ public class SseMessageUtils {
MANAGER.sendMessage(userId, message);
}
/**
* 向指定的用户的指定会话发送消息
*
* @param userId 要发送消息的用户id
* @param token 用户的会话令牌
* @param message 要发送的消息内容
*/
public static void sendMessage(Long userId, String token, String message) {
if (!isEnable()) {
return;
}
MANAGER.sendMessage(userId, token, message);
}
/**
* 本机全用户会话发送消息
*

View File

@@ -11,7 +11,7 @@ RUN mkdir -p /ruoyi/Property/logs \
WORKDIR /ruoyi/Property
ENV SERVER_PORT=9201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
ENV SERVER_PORT=9201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="-Duser.timezone=Asia/Shanghai"
EXPOSE ${SERVER_PORT}

View File

@@ -125,6 +125,16 @@
<artifactId>ruoyi-common-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-sse</artifactId>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
</dependencies>
<build>

View File

@@ -62,7 +62,7 @@ public class ApplicationController extends BaseController {
*
* @param id 主键
*/
//@SaCheckPermission("property:application:query")
@SaCheckPermission("property:application:query")
@GetMapping("/{id}")
public R<ApplicationVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {

View File

@@ -24,7 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 资产申请
* 前端访问路由地址为:/domain/application
* 前端访问路由地址为:/domain/procurementApplication
*
* @author mocheng
* @date 2025-07-25
@@ -40,7 +40,7 @@ public class CapitalApplicationController extends BaseController {
/**
* 查询资产申请列表
*/
// @SaCheckPermission("domain:application:list")
@SaCheckPermission("domain:procurementApplication:list")
@GetMapping("/list")
public TableDataInfo<CapitalApplicationVo> list(CapitalApplicationBo bo, PageQuery pageQuery) {
return capitalApplicationService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class CapitalApplicationController extends BaseController {
/**
* 导出资产申请列表
*/
@SaCheckPermission("domain:application:export")
@SaCheckPermission("domain:procurementApplication:export")
@Log(title = "资产申请", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(CapitalApplicationBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class CapitalApplicationController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("domain:application:query")
@SaCheckPermission("domain:procurementApplication:query")
@GetMapping("/{id}")
public R<CapitalApplicationVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class CapitalApplicationController extends BaseController {
/**
* 新增资产申请
*/
// @SaCheckPermission("domain:application:add")
// @SaCheckPermission("domain:procurementApplication:add")
@Log(title = "资产申请", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class CapitalApplicationController extends BaseController {
/**
* 修改资产申请
*/
@SaCheckPermission("domain:application:edit")
@SaCheckPermission("domain:procurementApplication:edit")
@Log(title = "资产申请", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class CapitalApplicationController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("domain:application:remove")
@SaCheckPermission("domain:procurementApplication:remove")
@Log(title = "资产申请", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -40,7 +40,7 @@ public class CostItemsController extends BaseController {
/**
* 查询费用项设置列表
*/
@SaCheckPermission("property:costItems:list")
@SaCheckPermission("property:costItemSetting:list")
@GetMapping("/list")
public TableDataInfo<CostItemsVo> list(CostItemsBo bo, PageQuery pageQuery) {
return costItemsService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class CostItemsController extends BaseController {
/**
* 导出费用项设置列表
*/
@SaCheckPermission("property:costItems:export")
@SaCheckPermission("property:costItemSetting:export")
@Log(title = "费用项设置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(CostItemsBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class CostItemsController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("property:costItems:query")
@SaCheckPermission("property:costItemSetting:query")
@GetMapping("/{id}")
public R<CostItemsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class CostItemsController extends BaseController {
/**
* 新增费用项设置
*/
@SaCheckPermission("property:costItems:add")
@SaCheckPermission("property:costItemSetting:add")
@Log(title = "费用项设置", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class CostItemsController extends BaseController {
/**
* 修改费用项设置
*/
@SaCheckPermission("property:costItems:edit")
@SaCheckPermission("property:costItemSetting:edit")
@Log(title = "费用项设置", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class CostItemsController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("property:costItems:remove")
@SaCheckPermission("property:costItemSetting:remove")
@Log(title = "费用项设置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -40,7 +40,7 @@ public class CostMeterWaterController extends BaseController {
/**
* 查询费用-水电抄列表
*/
@SaCheckPermission("system:meterWater:list")
@SaCheckPermission("property:costMeterWater:list")
@GetMapping("/list")
public TableDataInfo<CostMeterWaterVo> list(CostMeterWaterBo bo, PageQuery pageQuery) {
return costMeterWaterService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class CostMeterWaterController extends BaseController {
/**
* 导出费用-水电抄列表
*/
@SaCheckPermission("system:meterWater:export")
@SaCheckPermission("property:costMeterWater:export")
@Log(title = "费用-水电抄", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(CostMeterWaterBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class CostMeterWaterController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("system:meterWater:query")
@SaCheckPermission("property:costMeterWater:query")
@GetMapping("/{id}")
public R<CostMeterWaterVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -82,7 +82,7 @@ public class CostMeterWaterController extends BaseController {
/**
* 新增费用-水电抄
*/
@SaCheckPermission("system:meterWater:add")
@SaCheckPermission("property:costMeterWater:add")
@Log(title = "费用-水电抄", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -93,7 +93,7 @@ public class CostMeterWaterController extends BaseController {
/**
* 修改费用-水电抄
*/
@SaCheckPermission("system:meterWater:edit")
@SaCheckPermission("property:costMeterWater:edit")
@Log(title = "费用-水电抄", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -106,7 +106,7 @@ public class CostMeterWaterController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("system:meterWater:remove")
@SaCheckPermission("property:costMeterWater:remove")
@Log(title = "费用-水电抄", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -40,7 +40,7 @@ public class CostPayFeeAuditController extends BaseController {
/**
* 查询费用-缴费审核列表
*/
// @SaCheckPermission("system:payFeeAudit:list")
@SaCheckPermission("property:payFeeAudit:list")
@GetMapping("/list")
public TableDataInfo<CostPayFeeAuditVo> list(CostPayFeeAuditBo bo, PageQuery pageQuery) {
return costPayFeeAuditService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class CostPayFeeAuditController extends BaseController {
/**
* 导出费用-缴费审核列表
*/
@SaCheckPermission("system:payFeeAudit:export")
@SaCheckPermission("property:payFeeAudit:export")
@Log(title = "费用-缴费审核", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(CostPayFeeAuditBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class CostPayFeeAuditController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("system:payFeeAudit:query")
@SaCheckPermission("property:payFeeAudit:query")
@GetMapping("/{id}")
public R<CostPayFeeAuditVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class CostPayFeeAuditController extends BaseController {
/**
* 新增费用-缴费审核
*/
@SaCheckPermission("system:payFeeAudit:add")
@SaCheckPermission("property:payFeeAudit:add")
@Log(title = "费用-缴费审核", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class CostPayFeeAuditController extends BaseController {
/**
* 修改费用-缴费审核
*/
@SaCheckPermission("system:payFeeAudit:edit")
@SaCheckPermission("property:payFeeAudit:edit")
@Log(title = "费用-缴费审核", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class CostPayFeeAuditController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("system:payFeeAudit:remove")
@SaCheckPermission("property:payFeeAudit:remove")
@Log(title = "费用-缴费审核", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -24,7 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 费用-抄类型
* 前端访问路由地址为:/system/returnPayFee
* 前端访问路由地址为:/property/returnPayFee
*
* @author mocheng
* @date 2025-07-17
@@ -40,7 +40,7 @@ public class CostReturnPayFeeController extends BaseController {
/**
* 查询费用-抄类型列表
*/
//@SaCheckPermission("system:returnPayFee:list")
@SaCheckPermission("property:returnPayFee:list")
@GetMapping("/list")
public TableDataInfo<CostReturnPayFeeVo> list(CostReturnPayFeeBo bo, PageQuery pageQuery) {
return costReturnPayFeeService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class CostReturnPayFeeController extends BaseController {
/**
* 导出费用-抄类型列表
*/
@SaCheckPermission("system:returnPayFee:export")
@SaCheckPermission("property:returnPayFee:export")
@Log(title = "费用-抄类型", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(CostReturnPayFeeBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class CostReturnPayFeeController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("system:returnPayFee:query")
@SaCheckPermission("property:returnPayFee:query")
@GetMapping("/{id}")
public R<CostReturnPayFeeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class CostReturnPayFeeController extends BaseController {
/**
* 新增费用-抄类型
*/
@SaCheckPermission("system:returnPayFee:add")
@SaCheckPermission("property:returnPayFee:add")
@Log(title = "费用-抄类型", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class CostReturnPayFeeController extends BaseController {
/**
* 修改费用-抄类型
*/
@SaCheckPermission("system:returnPayFee:edit")
@SaCheckPermission("property:returnPayFee:edit")
@Log(title = "费用-抄类型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class CostReturnPayFeeController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("system:returnPayFee:remove")
@SaCheckPermission("property:returnPayFee:remove")
@Log(title = "费用-抄类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -0,0 +1,106 @@
package org.dromara.property.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.CustomerActivityVo;
import org.dromara.property.domain.bo.CustomerActivityBo;
import org.dromara.property.service.ICustomerActivityService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 客户服务-活动
* 前端访问路由地址为:/property/activity
*
* @author yuyongle
* @date 2025-09-08
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/activity")
public class CustomerActivityController extends BaseController {
private final ICustomerActivityService customerActivityService;
/**
* 查询客户服务-活动列表
*/
@SaCheckPermission("property:activity:list")
@GetMapping("/list")
public TableDataInfo<CustomerActivityVo> list(CustomerActivityBo bo, PageQuery pageQuery) {
return customerActivityService.queryPageList(bo, pageQuery);
}
/**
* 导出客户服务-活动列表
*/
@SaCheckPermission("property:activity:export")
@Log(title = "客户服务-活动", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(CustomerActivityBo bo, HttpServletResponse response) {
List<CustomerActivityVo> list = customerActivityService.queryList(bo);
ExcelUtil.exportExcel(list, "客户服务-活动", CustomerActivityVo.class, response);
}
/**
* 获取客户服务-活动详细信息
*
* @param id 主键
*/
@SaCheckPermission("property:activity:query")
@GetMapping("/{id}")
public R<CustomerActivityVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(customerActivityService.queryById(id));
}
/**
* 新增客户服务-活动
*/
@SaCheckPermission("property:activity:add")
@Log(title = "客户服务-活动", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody CustomerActivityBo bo) {
return toAjax(customerActivityService.insertByBo(bo));
}
/**
* 修改客户服务-活动
*/
@SaCheckPermission("property:activity:edit")
@Log(title = "客户服务-活动", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CustomerActivityBo bo) {
return toAjax(customerActivityService.updateByBo(bo));
}
/**
* 删除客户服务-活动
*
* @param ids 主键串
*/
@SaCheckPermission("property:activity:remove")
@Log(title = "客户服务-活动", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable("ids") Long[] ids) {
return toAjax(customerActivityService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -62,7 +62,9 @@ public class CustomerFeedbacksController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("system:feedbacks:query")
//
//
// @SaCheckPermission("system:feedbacks:query")
@GetMapping("/{id}")
public R<CustomerFeedbacksVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {

View File

@@ -33,4 +33,15 @@ public class EnumFetcherController {
List<Map<Object, Object>> map = enumFetcherService.getEnumValues(name);
return R.ok(map);
}
/**
* 根据工单类型或部门下的排班人员
* @param type
* @return
*/
@GetMapping("/enum-getShiftScheduler/{type}")
public R<List<Map<Object, Object>>> getShiftScheduler(@PathVariable("type") String type) {
List<Map<Object, Object>> map = enumFetcherService.getShiftScheduler(type);
return R.ok(map);
}
}

View File

@@ -0,0 +1,32 @@
package org.dromara.property.controller;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.property.domain.vo.IndexCountVo;
import org.dromara.property.service.IndexService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author yuyongle
* @version 1.0
* @description: 首页展示数据
* @date 2025/9/5 14:35
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/index")
public class IndexController {
private final IndexService indexService;
/**
* 首页统计数量
*/
@GetMapping("/indexCount")
public R<IndexCountVo> indexCount() {
return R.ok(indexService.indexCount());
}
}

View File

@@ -40,7 +40,7 @@ public class InspectionItemController extends BaseController {
/**
* 查询巡检项目列表
*/
@SaCheckPermission("system:item:list")
@SaCheckPermission("property:inspectionItem:list")
@GetMapping("/list")
public TableDataInfo<InspectionItemVo> list(InspectionItemBo bo, PageQuery pageQuery) {
return inspectionItemService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class InspectionItemController extends BaseController {
/**
* 导出巡检项目列表
*/
@SaCheckPermission("system:item:export")
@SaCheckPermission("property:inspectionItem:export")
@Log(title = "巡检项目", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(InspectionItemBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class InspectionItemController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("system:item:query")
@SaCheckPermission("property:inspectionItem:query")
@GetMapping("/{id}")
public R<InspectionItemVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class InspectionItemController extends BaseController {
/**
* 新增巡检项目
*/
@SaCheckPermission("system:item:add")
@SaCheckPermission("property:inspectionItem:add")
@Log(title = "巡检项目", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class InspectionItemController extends BaseController {
/**
* 修改巡检项目
*/
@SaCheckPermission("system:item:edit")
@SaCheckPermission("property:inspectionItem:edit")
@Log(title = "巡检项目", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class InspectionItemController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("system:item:remove")
@SaCheckPermission("property:inspectionItem:remove")
@Log(title = "巡检项目", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -40,7 +40,7 @@ public class InspectionPointController extends BaseController {
/**
* 查询巡检点列表
*/
@SaCheckPermission("system:point:list")
@SaCheckPermission("property:inspectionPoint:list")
@GetMapping("/list")
public TableDataInfo<InspectionPointVo> list(InspectionPointBo bo, PageQuery pageQuery) {
return inspectionPointService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class InspectionPointController extends BaseController {
/**
* 导出巡检点列表
*/
@SaCheckPermission("system:point:export")
@SaCheckPermission("property:inspectionPoint:export")
@Log(title = "巡检点", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(InspectionPointBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class InspectionPointController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("system:point:query")
@SaCheckPermission("property:inspectionPoint:query")
@GetMapping("/{id}")
public R<InspectionPointVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class InspectionPointController extends BaseController {
/**
* 新增巡检点
*/
@SaCheckPermission("system:point:add")
@SaCheckPermission("property:inspectionPoint:add")
@Log(title = "巡检点", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class InspectionPointController extends BaseController {
/**
* 修改巡检点
*/
@SaCheckPermission("system:point:edit")
@SaCheckPermission("property:inspectionPoint:edit")
@Log(title = "巡检点", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class InspectionPointController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("system:point:remove")
@SaCheckPermission("property:inspectionPoint:remove")
@Log(title = "巡检点", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -40,7 +40,7 @@ public class InspectionRouteController extends BaseController {
/**
* 查询巡检路线列表
*/
//@SaCheckPermission("system:route:list")
@SaCheckPermission("property:inspectionRoute:list")
@GetMapping("/list")
public TableDataInfo<InspectionRouteVo> list(InspectionRouteBo bo, PageQuery pageQuery) {
return inspectionRouteService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class InspectionRouteController extends BaseController {
/**
* 导出巡检路线列表
*/
@SaCheckPermission("system:route:export")
@SaCheckPermission("property:inspectionRoute:export")
@Log(title = "巡检路线", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(InspectionRouteBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class InspectionRouteController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("system:route:query")
@SaCheckPermission("property:inspectionRoute:query")
@GetMapping("/{id}")
public R<InspectionRouteVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class InspectionRouteController extends BaseController {
/**
* 新增巡检路线
*/
@SaCheckPermission("system:route:add")
@SaCheckPermission("property:inspectionRoute:add")
@Log(title = "巡检路线", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class InspectionRouteController extends BaseController {
/**
* 修改巡检路线
*/
@SaCheckPermission("system:route:edit")
@SaCheckPermission("property:inspectionRoute:edit")
@Log(title = "巡检路线", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class InspectionRouteController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("system:route:remove")
@SaCheckPermission("property:inspectionRoute:remove")
@Log(title = "巡检路线", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -40,7 +40,7 @@ public class MachineMaintainPlanController extends BaseController {
/**
* 查询设备保养计划列表
*/
@SaCheckPermission("system:maintainPlan:list")
@SaCheckPermission("property:maintainPlan:list")
@GetMapping("/list")
public TableDataInfo<MachineMaintainPlanVo> list(MachineMaintainPlanBo bo, PageQuery pageQuery) {
return machineMaintainPlanService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class MachineMaintainPlanController extends BaseController {
/**
* 导出设备保养计划列表
*/
@SaCheckPermission("system:maintainPlan:export")
@SaCheckPermission("property:maintainPlan:export")
@Log(title = "设备保养计划", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(MachineMaintainPlanBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class MachineMaintainPlanController extends BaseController {
*
* @param id 主键
*/
//@SaCheckPermission("system:maintainPlan:query")
@SaCheckPermission("property:maintainPlan:query")
@GetMapping("/{id}")
public R<MachineMaintainPlanVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class MachineMaintainPlanController extends BaseController {
/**
* 新增设备保养计划
*/
@SaCheckPermission("system:maintainPlan:add")
@SaCheckPermission("property:maintainPlan:add")
@Log(title = "设备保养计划", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class MachineMaintainPlanController extends BaseController {
/**
* 修改设备保养计划
*/
@SaCheckPermission("system:maintainPlan:edit")
@SaCheckPermission("property:maintainPlan:edit")
@Log(title = "设备保养计划", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class MachineMaintainPlanController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("system:maintainPlan:remove")
@SaCheckPermission("property:maintainPlan:remove")
@Log(title = "设备保养计划", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -24,7 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 设备保养任务明细
* 前端访问路由地址为:/domain/maintainTaskDetail
* 前端访问路由地址为:/property/maintainTaskDetail
*
* @author mocheng
* @date 2025-07-16
@@ -40,7 +40,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
/**
* 查询设备保养任务明细列表
*/
@SaCheckPermission("domain:maintainTaskDetail:list")
@SaCheckPermission("property:maintainTaskDetail:list")
@GetMapping("/list")
public TableDataInfo<MachineMaintainTaskDetailVo> list(MachineMaintainTaskDetailBo bo, PageQuery pageQuery) {
return machineMaintainTaskDetailService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
/**
* 导出设备保养任务明细列表
*/
@SaCheckPermission("domain:maintainTaskDetail:export")
@SaCheckPermission("property:maintainTaskDetail:export")
@Log(title = "设备保养任务明细", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(MachineMaintainTaskDetailBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("domain:maintainTaskDetail:query")
@SaCheckPermission("property:maintainTaskDetail:query")
@GetMapping("/{id}")
public R<MachineMaintainTaskDetailVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
/**
* 新增设备保养任务明细
*/
@SaCheckPermission("domain:maintainTaskDetail:add")
@SaCheckPermission("property:maintainTaskDetail:add")
@Log(title = "设备保养任务明细", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
/**
* 修改设备保养任务明细
*/
@SaCheckPermission("domain:maintainTaskDetail:edit")
@SaCheckPermission("property:maintainTaskDetail:edit")
@Log(title = "设备保养任务明细", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("domain:maintainTaskDetail:remove")
@SaCheckPermission("property:maintainTaskDetail:remove")
@Log(title = "设备保养任务明细", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -40,7 +40,7 @@ public class MeetAttachController extends BaseController {
/**
* 查询分页会议室增值服务列表
*/
// @SaCheckPermission("property:attach:list")
@SaCheckPermission("property:conferenceAddServices:list")
@GetMapping("/list")
public TableDataInfo<MeetAttachVo> pageList(MeetAttachBo bo, PageQuery pageQuery) {
return meetAttachService.queryPageList(bo, pageQuery);
@@ -57,7 +57,7 @@ public class MeetAttachController extends BaseController {
*
* @param id 主键
*/
//@SaCheckPermission("property:attach:query")
@SaCheckPermission("property:conferenceAddServices:query")
@GetMapping("/{id}")
public R<MeetAttachVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -67,7 +67,7 @@ public class MeetAttachController extends BaseController {
/**
* 新增会议室增值服务
*/
@SaCheckPermission("property:attach:add")
@SaCheckPermission("property:conferenceAddServices:add")
@Log(title = "会议室增值服务", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -78,7 +78,7 @@ public class MeetAttachController extends BaseController {
/**
* 修改会议室增值服务
*/
// @SaCheckPermission("property:attach:edit")
@SaCheckPermission("property:conferenceAddServices:edit")
@Log(title = "会议室增值服务", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -91,7 +91,7 @@ public class MeetAttachController extends BaseController {
*
* @param ids 主键串
*/
// @SaCheckPermission("property:attach:remove")
@SaCheckPermission("property:conferenceAddServices:remove")
@Log(title = "会议室增值服务", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -1,5 +1,6 @@
package org.dromara.property.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
@@ -40,7 +41,7 @@ public class MeetBookingController extends BaseController {
/**
* 查询会议预约记录列表
*/
//@SaCheckPermission("property:meetbooking:list")
@SaCheckPermission("property:meetbooking:list")
@GetMapping("/list")
public TableDataInfo<MeetBookingVo> list(MeetBookingBo bo, PageQuery pageQuery) {
return meetBookingService.queryPageList(bo, pageQuery);
@@ -64,7 +65,7 @@ public class MeetBookingController extends BaseController {
*
* @param id 主键
*/
//@SaCheckPermission("property:meetbooking:query")
@SaCheckPermission("property:meetbooking:query")
@GetMapping("/{id}")
public R<MeetBookingDetailVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -74,7 +75,7 @@ public class MeetBookingController extends BaseController {
/**
* 新增会议预约
*/
//@SaCheckPermission("property:meetbooking:add")
@SaCheckPermission("property:meetbooking:add")
@Log(title = "会议预约", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -85,7 +86,7 @@ public class MeetBookingController extends BaseController {
/**
* 修改会议预约
*/
// @SaCheckPermission("property:meetbooking:edit")
@SaCheckPermission("property:meetbooking:edit")
@Log(title = "会议预约", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()

View File

@@ -43,7 +43,7 @@ public class MeetController extends BaseController {
/**
* 查询会议室管理列表
*/
// @SaCheckPermission("property:meet:list")
@SaCheckPermission("property:meet:list")
@Operation
@GetMapping("/list")
public TableDataInfo<MeetVo> list(MeetBo bo, PageQuery pageQuery) {
@@ -66,7 +66,7 @@ public class MeetController extends BaseController {
*
* @param id 主键
*/
//@SaCheckPermission("property:meet:query")
@SaCheckPermission("property:meet:query")
@Operation
@GetMapping("/{id}")
public R<MeetVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable("id") Long id) {

View File

@@ -0,0 +1,67 @@
package org.dromara.property.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.MeetParticipantsBo;
import org.dromara.property.domain.vo.MeetParticipantsVo;
import org.dromara.property.service.IMeetParticipantsService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* 会议室参会记录
* 前端访问路由地址为:/property/participants
*
* @author mocheng
* @date 2025-09-03
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/participants")
public class MeetParticipantsController extends BaseController {
private final IMeetParticipantsService meetParticipantsService;
/**
* 查询会议室参会记录列表
*/
//@SaCheckPermission("property:participants:list")
@GetMapping("/list")
public TableDataInfo<MeetParticipantsVo> list(MeetParticipantsBo bo, PageQuery pageQuery) {
return meetParticipantsService.queryPageList(bo, pageQuery);
}
/**
* 获取会议室参会记录详细信息
*
* @param id 主键
*/
@SaCheckPermission("property:participants:query")
@GetMapping("/{id}")
public R<MeetParticipantsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(meetParticipantsService.queryById(id));
}
/**
* 新增会议室参会记录
*/
@SaCheckPermission("property:participants:add")
@Log(title = "会议室参会记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody MeetParticipantsBo bo) {
return toAjax(meetParticipantsService.insertByBo(bo));
}
}

View File

@@ -26,7 +26,7 @@ import java.util.List;
/**
* 【业务管理-工单处理】
* 前端访问路由地址为:/system/workOrders
* 前端访问路由地址为:/property/workOrders
*
* @author mocheng
* @date 2025-07-07
@@ -42,7 +42,7 @@ public class ServiceWorkOrdersController extends BaseController {
/**
* 查询【工单处理】列表
*/
//@SaCheckPermission("system:workOrders:list")
@SaCheckPermission("property:workOrders:list")
@GetMapping("/list")
public TableDataInfo<ServiceWorkOrdersVo> list(ServiceWorkOrdersBo bo, PageQuery pageQuery) {
return serviceWorkOrdersService.queryPageList(bo, pageQuery);
@@ -51,7 +51,7 @@ public class ServiceWorkOrdersController extends BaseController {
/**
* 导出【工单处理】列表
*/
// @SaCheckPermission("system:workOrders:export")
@SaCheckPermission("property:workOrders:export")
@Log(title = "【工单处理】", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ServiceWorkOrdersBo bo, HttpServletResponse response) {
@@ -64,7 +64,7 @@ public class ServiceWorkOrdersController extends BaseController {
*
* @param id 主键
*/
// @SaCheckPermission("system:workOrders:query")
@SaCheckPermission("property:workOrders:query")
@GetMapping("/{id}")
public R<ServiceWorkOrdersInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -74,7 +74,7 @@ public class ServiceWorkOrdersController extends BaseController {
/**
* 新增【工单处理】
*/
// @SaCheckPermission("system:workOrders:add")
@SaCheckPermission("property:workOrders:add")
@Log(title = "【工单处理】", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -85,20 +85,40 @@ public class ServiceWorkOrdersController extends BaseController {
/**
* 修改【工单处理】
*/
//@SaCheckPermission("system:workOrders:edit")
@SaCheckPermission("property:workOrders:edit")
@Log(title = "【工单处理】", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
return toAjax(serviceWorkOrdersService.updateByBo(bo));
}
/**
* 派单【工单处理】
*/
@SaCheckPermission("property:workOrders:dispatch")
@Log(title = "【工单处理】", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/dispatch")
public R<Void> dispatch(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
return toAjax(serviceWorkOrdersService.updateByBo(bo));
}
/**
* 抢单【工单处理】
*/
@SaCheckPermission("property:workOrders:grab")
@Log(title = "【工单处理】", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("grab")
public R<Void> grab(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
return toAjax(serviceWorkOrdersService.updateByBo(bo));
}
/**
* 删除【工单处理】
*
* @param ids 主键串
*/
// @SaCheckPermission("system:workOrders:remove")
@SaCheckPermission("property:workOrders:remove")
@Log(title = "【工单处理】", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -24,7 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 【工单类型】
* 前端访问路由地址为:/system/workOrdersType
* 前端访问路由地址为:/property/workOrdersType
*
* @author mocheng
* @date 2025-07-09
@@ -40,7 +40,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
/**
* 查询【工单类型】列表
*/
@SaCheckPermission("system:workOrdersType:list")
@SaCheckPermission("property:workOrdersType:list")
@GetMapping("/list")
public TableDataInfo<ServiceWorkOrdersTypeVo> list(ServiceWorkOrdersTypeBo bo, PageQuery pageQuery) {
return serviceWorkOrdersTypeService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
/**
* 导出【工单类型】列表
*/
@SaCheckPermission("system:workOrdersType:export")
@SaCheckPermission("property:workOrdersType:export")
@Log(title = "【导出工单类型】", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ServiceWorkOrdersTypeBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("system:workOrdersType:query")
@SaCheckPermission("property:workOrdersType:query")
@GetMapping("/{id}")
public R<ServiceWorkOrdersTypeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
/**
* 新增【工单类型】
*/
@SaCheckPermission("system:workOrdersType:add")
@SaCheckPermission("property:workOrdersType:add")
@Log(title = "【新增工单类型】", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
/**
* 修改【工单类型】
*/
@SaCheckPermission("system:workOrdersType:edit")
@SaCheckPermission("property:workOrdersType:edit")
@Log(title = "【工单类型】", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("system:workOrdersType:remove")
@SaCheckPermission("property:workOrdersType:remove")
@Log(title = "【工单类型】", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@@ -62,7 +62,7 @@ public class TbRoomController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("property:room:query")
// @SaCheckPermission("property:room:query")
@GetMapping("/{id}")
public R<TbRoomVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {

View File

@@ -145,17 +145,37 @@ public class TbVisitorManagementController extends BaseController {
if (info==null){
return R.fail("请确认Qr码有效");
}
bo.setType(0);
return toAjax(tbVisitorManagementService.insertByBo(bo));
}
/**
* h5端新增访客管理
* @param bo
* @return
*/
@SaCheckPermission("property:visitorManagement:addH5VistorManagement")
@Log(title = "访客管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/addH5VistorManagement")
public R<Void> addH5VistorManagement(@Validated(AddGroup.class) @RequestBody TbVisitorManagementBo bo) {
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + bo.getQrCodeId());
if (info==null){
return R.fail("请确认Qr码有效");
}
bo.setType(0);
return toAjax(tbVisitorManagementService.insertH5ByBo(bo));
}
/**
* pc端新增访客管理
*/
@SaCheckPermission("property:visitorManagement::addVisitorManagement")
@SaCheckPermission("property:visitorManagement:addVisitorManagement")
@Log(title = "访客管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping
public R<Void> addVistorManagement(@Validated(AddGroup.class) @RequestBody TbVisitorManagementBo bo) {
bo.setType(1);
return toAjax(tbVisitorManagementService.insertVistorManagementByBo(bo));
}

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceAreaVo;
import org.dromara.property.domain.bo.AttendanceAreaBo;
import org.dromara.property.service.IAttendanceAreaService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceAreaVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceAreaBo;
import org.dromara.property.service.attendanceService.IAttendanceAreaService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceAreaDeviceVo;
import org.dromara.property.domain.bo.AttendanceAreaDeviceBo;
import org.dromara.property.service.IAttendanceAreaDeviceService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceAreaDeviceVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceAreaDeviceBo;
import org.dromara.property.service.attendanceService.IAttendanceAreaDeviceService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceArrangementAreaVo;
import org.dromara.property.domain.bo.AttendanceArrangementAreaBo;
import org.dromara.property.service.IAttendanceArrangementAreaService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceArrangementAreaVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceArrangementAreaBo;
import org.dromara.property.service.attendanceService.IAttendanceArrangementAreaService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.validation.constraints.NotEmpty;
@@ -13,9 +13,9 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.AttendanceArrangementBo;
import org.dromara.property.domain.vo.AttendanceArrangementVo;
import org.dromara.property.service.IAttendanceArrangementService;
import org.dromara.property.domain.bo.attendanceBo.AttendanceArrangementBo;
import org.dromara.property.domain.vo.attendanceVo.AttendanceArrangementVo;
import org.dromara.property.service.attendanceService.IAttendanceArrangementService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceClockDateVo;
import org.dromara.property.domain.bo.AttendanceClockDateBo;
import org.dromara.property.service.IAttendanceClockDateService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceClockDateVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceClockDateBo;
import org.dromara.property.service.attendanceService.IAttendanceClockDateService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
@@ -15,9 +15,9 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.AttendanceFixedScheduleBo;
import org.dromara.property.domain.vo.AttendanceFixedScheduleVo;
import org.dromara.property.service.IAttendanceFixedScheduleService;
import org.dromara.property.domain.bo.attendanceBo.AttendanceFixedScheduleBo;
import org.dromara.property.domain.vo.attendanceVo.AttendanceFixedScheduleVo;
import org.dromara.property.service.attendanceService.IAttendanceFixedScheduleService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceGroupVo;
import org.dromara.property.domain.bo.AttendanceGroupBo;
import org.dromara.property.service.IAttendanceGroupService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceGroupVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceGroupBo;
import org.dromara.property.service.attendanceService.IAttendanceGroupService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceScheduleCycleVo;
import org.dromara.property.domain.bo.AttendanceScheduleCycleBo;
import org.dromara.property.service.IAttendanceScheduleCycleService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceScheduleCycleVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceScheduleCycleBo;
import org.dromara.property.service.attendanceService.IAttendanceScheduleCycleService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceShiftVo;
import org.dromara.property.domain.bo.AttendanceShiftBo;
import org.dromara.property.service.IAttendanceShiftService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceShiftVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceShiftBo;
import org.dromara.property.service.attendanceService.IAttendanceShiftService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceShiftScheduleVo;
import org.dromara.property.domain.bo.AttendanceShiftScheduleBo;
import org.dromara.property.service.IAttendanceShiftScheduleService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceShiftScheduleVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceShiftScheduleBo;
import org.dromara.property.service.attendanceService.IAttendanceShiftScheduleService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
@@ -15,9 +15,9 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.AttendanceUserGroupBo;
import org.dromara.property.domain.vo.AttendanceUserGroupVo;
import org.dromara.property.service.IAttendanceUserGroupService;
import org.dromara.property.domain.bo.attendanceBo.AttendanceUserGroupBo;
import org.dromara.property.domain.vo.attendanceVo.AttendanceUserGroupVo;
import org.dromara.property.service.attendanceService.IAttendanceUserGroupService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceWeekSetVo;
import org.dromara.property.domain.bo.AttendanceWeekSetBo;
import org.dromara.property.service.IAttendanceWeekSetService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceWeekSetVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceWeekSetBo;
import org.dromara.property.service.attendanceService.IAttendanceWeekSetService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.attendance;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.AttendanceWeeksetShiftVo;
import org.dromara.property.domain.bo.AttendanceWeeksetShiftBo;
import org.dromara.property.service.IAttendanceWeeksetShiftService;
import org.dromara.property.domain.vo.attendanceVo.AttendanceWeeksetShiftVo;
import org.dromara.property.domain.bo.attendanceBo.AttendanceWeeksetShiftBo;
import org.dromara.property.service.attendanceService.IAttendanceWeeksetShiftService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.cleanOrder;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.CleanVo;
import org.dromara.property.domain.bo.CleanBo;
import org.dromara.property.service.ICleanService;
import org.dromara.property.domain.vo.cleanOrderVo.CleanVo;
import org.dromara.property.domain.bo.cleanOrderBo.CleanBo;
import org.dromara.property.service.cleanOrderService.ICleanService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -1,8 +1,7 @@
package org.dromara.property.controller;
package org.dromara.property.controller.cleanOrder;
import java.util.List;
import cn.dev33.satoken.annotation.SaIgnore;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
@@ -18,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.CleanOrderVo;
import org.dromara.property.domain.bo.CleanOrderBo;
import org.dromara.property.service.ICleanOrderService;
import org.dromara.property.domain.vo.cleanOrderVo.CleanOrderVo;
import org.dromara.property.domain.bo.cleanOrderBo.CleanOrderBo;
import org.dromara.property.service.cleanOrderService.ICleanOrderService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
@@ -41,7 +40,7 @@ public class CleanOrderController extends BaseController {
/**
* 查询保洁订单列表
*/
@SaCheckPermission("property:clean_order:list")
//@SaCheckPermission("property:clean_order:list")
@GetMapping("/list")
public TableDataInfo<CleanOrderVo> list(CleanOrderBo bo, PageQuery pageQuery) {
return cleanOrderService.queryPageList(bo, pageQuery);

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.cleanOrder;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.CleanserverOrderVo;
import org.dromara.property.domain.bo.CleanserverOrderBo;
import org.dromara.property.service.ICleanserverOrderService;
import org.dromara.property.domain.vo.cleanOrderVo.CleanserverOrderVo;
import org.dromara.property.domain.bo.cleanOrderBo.CleanserverOrderBo;
import org.dromara.property.service.cleanOrderService.ICleanserverOrderService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -0,0 +1,38 @@
package org.dromara.property.controller.mobile;
import lombok.RequiredArgsConstructor;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.property.domain.bo.CustomerNoticesBo;
import org.dromara.property.domain.vo.CustomerNoticesVo;
import org.dromara.property.service.ICustomerNoticesService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author yuyongle
* @version 1.0
* @description: TODO
* @date 2025/9/8 11:15
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/mobile/notices")
public class MCustomerNoticesController {
private final ICustomerNoticesService customerNoticesService;
/**
* 头条滚动列表
* @param bo
* @param pageQuery
* @return
*/
@GetMapping("/todayList")
public TableDataInfo<CustomerNoticesVo> todayList(CustomerNoticesBo bo, PageQuery pageQuery) {
return customerNoticesService.todayList(bo, pageQuery);
}
}

View File

@@ -0,0 +1,37 @@
package org.dromara.property.controller.mobile;
import lombok.RequiredArgsConstructor;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.InspectionTaskBo;
import org.dromara.property.domain.vo.InspectionTaskVo;
import org.dromara.property.domain.vo.mobile.MInspectionTaskVo;
import org.dromara.property.service.IInspectionTaskService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author yuyongle
* @version 1.0
* @description: 移动端巡检任务
* @date 2025/9/1 11:18
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/mobile/inspectionTask")
public class MInspectionTaskController extends BaseController {
private final IInspectionTaskService inspectionTaskService;
/**
* 移动端查询巡检任务列表
*/
@GetMapping("/list")
public TableDataInfo<MInspectionTaskVo> list(InspectionTaskBo bo, PageQuery pageQuery) {
return inspectionTaskService.mQueryPageList(bo, pageQuery);
}
}

View File

@@ -0,0 +1,59 @@
package org.dromara.property.controller.mobile;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.InspectionTaskDetailBo;
import org.dromara.property.domain.bo.mobile.InspectionTaskDetailToOrderBo;
import org.dromara.property.domain.vo.mobile.MInspectionTaskDetailVo;
import org.dromara.property.service.IInspectionTaskDetailService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @author yuyongle
* @version 1.0
* @description: 移动端巡检点任务
* @date 2025/9/1 17:13
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/mobile/taskDetail")
public class MInspectionTaskDetailController extends BaseController {
private final IInspectionTaskDetailService inspectionTaskDetailService;
/**
* 查询巡检点列表
*/
@GetMapping("/list")
public TableDataInfo<MInspectionTaskDetailVo> list(InspectionTaskDetailBo bo, PageQuery pageQuery) {
return inspectionTaskDetailService.mQueryPageList(bo,pageQuery);
}
/**
* 扫码签到
*/
@PostMapping("/signIn")
public R<Void> signIn(@Validated(EditGroup.class) @RequestBody InspectionTaskDetailBo bo) {
return toAjax(inspectionTaskDetailService.signIn(bo));
}
/**
* 提交巡检明细
*/
@PostMapping("/submit")
public R<Void> submit(@Validated(EditGroup.class) @RequestBody InspectionTaskDetailBo bo) {
return toAjax(inspectionTaskDetailService.submit(bo));
}
/**
* 巡检提报工单
*/
@PostMapping("/reportedOrder")
public R<Void> reportedOrder(@Validated(EditGroup.class) @RequestBody InspectionTaskDetailToOrderBo bo) {
return toAjax(inspectionTaskDetailService.reportedOrder(bo));
}
}

View File

@@ -3,6 +3,7 @@ package org.dromara.property.controller.mobile;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
@@ -12,6 +13,7 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
import org.dromara.property.domain.bo.mobile.MServiceWorkOrdersBo;
import org.dromara.property.domain.vo.ServiceWorkOrdersVo;
import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersVo;
import org.dromara.property.service.IServiceWorkOrdersService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -34,7 +36,6 @@ public class MServiceWorkOrdersController extends BaseController {
* 小程序新增【工单处理】
*/
@Log(title = "【小程序新增工单处理】", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody MServiceWorkOrdersBo bo) {
return toAjax(serviceWorkOrdersService.insertMServiceWorkOrdersBo(bo));
@@ -43,7 +44,16 @@ public class MServiceWorkOrdersController extends BaseController {
* 小程序查询【工单处理】
*/
@GetMapping("/list")
public TableDataInfo<ServiceWorkOrdersVo> list(ServiceWorkOrdersBo bo, PageQuery pageQuery) {
return serviceWorkOrdersService.queryPageList(bo, pageQuery);
public TableDataInfo<MServiceWorkOrdersVo> list(ServiceWorkOrdersBo bo, PageQuery pageQuery) {
return serviceWorkOrdersService.queryMobilePageList(bo, pageQuery);
}
/**
* 修改【工单处理】
*/
@Log(title = "【工单处理】", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
return toAjax(serviceWorkOrdersService.updateByBo(bo));
}
}

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.residentController;
import java.util.ArrayList;
import java.util.List;
@@ -9,8 +9,7 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.excel.core.ExcelResult;
import org.dromara.property.domain.vo.ResidentPersonImportVo;
import org.dromara.property.domain.vo.residentVo.ResidentPersonImportVo;
import org.dromara.property.listener.ResidentPersonImportListener;
import org.dromara.property.utils.UploadFaceUtil;
import org.springframework.http.MediaType;
@@ -26,9 +25,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.ResidentPersonVo;
import org.dromara.property.domain.bo.ResidentPersonBo;
import org.dromara.property.service.IResidentPersonService;
import org.dromara.property.domain.vo.residentVo.ResidentPersonVo;
import org.dromara.property.domain.bo.residentBo.ResidentPersonBo;
import org.dromara.property.service.residentService.IResidentPersonService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;

View File

@@ -1,4 +1,4 @@
package org.dromara.property.controller;
package org.dromara.property.controller.residentController;
import java.util.List;
@@ -17,9 +17,9 @@ import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.property.domain.vo.ResidentUnitVo;
import org.dromara.property.domain.bo.ResidentUnitBo;
import org.dromara.property.service.IResidentUnitService;
import org.dromara.property.domain.vo.residentVo.ResidentUnitVo;
import org.dromara.property.domain.bo.residentBo.ResidentUnitBo;
import org.dromara.property.service.residentService.IResidentUnitService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**

View File

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.common.core.domain.TreeNode;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -27,7 +28,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
* 前端访问路由地址为:/property/meterInfo
*
* @author lsm
* @date 2025-07-19
* @since 2025-07-19
*/
@Validated
@RequiredArgsConstructor
@@ -43,6 +44,8 @@ public class TbMeterInfoController extends BaseController {
@SaCheckPermission("property:meterInfo:list")
@GetMapping("/list")
public TableDataInfo<TbMeterInfoVo> list(TbMeterInfoBo bo, PageQuery pageQuery) {
pageQuery.setOrderByColumn("createTime");
pageQuery.setIsAsc("desc");
return tbMeterInfoService.queryPageList(bo, pageQuery);
}
@@ -65,7 +68,7 @@ public class TbMeterInfoController extends BaseController {
@SaCheckPermission("property:meterInfo:query")
@GetMapping("/{id}")
public R<TbMeterInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@PathVariable("id") Long id) {
return R.ok(tbMeterInfoService.queryById(id));
}
@@ -103,4 +106,29 @@ public class TbMeterInfoController extends BaseController {
@PathVariable("ids") Long[] ids) {
return toAjax(tbMeterInfoService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 生成 社区/建组/单元/楼栋/(水电气表)树结构
*
* @param meterType 水电气类型
* @param isMeter 是否返回仪表
* @return (水电气表)树结构
*/
@GetMapping("/tree")
public R<List<TreeNode<Long>>> queryMeterInfoTree(@RequestParam Long meterType, @RequestParam Boolean isMeter) {
return R.ok(tbMeterInfoService.queryMeterInfoTree(meterType, isMeter));
}
/**
* 获取水/电/气表当前读数/状态
*
* @param meterType 水电气类型
* @param floorId 楼栋id
*/
@GetMapping("/currentReading")
public R<Void> currentReading(@RequestParam Long meterType, @RequestParam Long floorId) {
tbMeterInfoService.getMeterStatus(meterType, floorId);
return R.ok();
}
}

View File

@@ -1,6 +1,7 @@
package org.dromara.property.controller.smartDevicesController;
import java.util.List;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
@@ -65,7 +66,7 @@ public class TbMeterRecordController extends BaseController {
@SaCheckPermission("property:meterRecord:query")
@GetMapping("/{id}")
public R<TbMeterRecordVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@PathVariable("id") Long id) {
return R.ok(tbMeterRecordService.queryById(id));
}
@@ -103,4 +104,25 @@ public class TbMeterRecordController extends BaseController {
@PathVariable("ids") Long[] ids) {
return toAjax(tbMeterRecordService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 获取用电/水/气趋势分析数据
*
* @param floorId 楼层id
* @param meterId 仪表id
* @param meterType 仪表类型
* @param day 日期
* @param month 月份
* @param year 年份
*/
@GetMapping("/trend")
public R<Map<String, Object>> getEnergyTrend(@RequestParam(required = false) String floorId,
@RequestParam(required = false) String meterId,
@RequestParam Long meterType,
@RequestParam String day,
@RequestParam String month,
@RequestParam String year) {
Map<String, Object> resultMap = tbMeterRecordService.getEnergyTrend(floorId, meterId, meterType, day, month, year);
return R.ok(resultMap);
}
}

View File

@@ -0,0 +1,114 @@
package org.dromara.property.controller.xcx;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.api.model.LoginResidentPerson;
import org.dromara.property.domain.bo.residentBo.ResidentPersonBo;
import org.dromara.property.domain.vo.residentVo.ResidentPersonVo;
import org.dromara.property.service.residentService.IResidentPersonService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 移动端访问入驻员工
* 前端访问路由地址为:/property/person
*
* @author mocheng
* @since 2025-06-19
*/
@Slf4j
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xcx/person")
public class XResidentPersonController extends BaseController {
private final IResidentPersonService residentPersonService;
/**
* 获取登录员工信息
*/
@GetMapping("/getInfo")
public R<ResidentPersonVo> getInfo() {
LoginResidentPerson loginUser = LoginHelper.getLoginResident();
ResidentPersonVo vo = new ResidentPersonVo();
assert loginUser != null;
vo.setId(loginUser.getUserId());
vo.setUserName(loginUser.getUsername());
vo.setUserRoles(loginUser.getUserRoles());
vo.setUnitId(loginUser.getUnitId());
vo.setUnitName(loginUser.getUnitName());
return R.ok(vo);
}
/**
* 查询入驻员工列表
*/
@SaCheckPermission("xcx:person:list")
@GetMapping("/list")
public TableDataInfo<ResidentPersonVo> list(ResidentPersonBo bo, PageQuery pageQuery) {
return residentPersonService.queryPageList(bo, pageQuery);
}
/**
* 获取入驻员工详细信息
*
* @param id 主键
*/
@SaCheckPermission("xcx:person:query")
@GetMapping("/{id}")
public R<ResidentPersonVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(residentPersonService.queryById(id));
}
/**
* 新增入驻员工
*/
@SaCheckPermission("xcx:person:add")
@Log(title = "入驻员工", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ResidentPersonBo bo) {
return toAjax(residentPersonService.insertByBo(bo));
}
/**
* 修改入驻员工
*/
@SaCheckPermission("xcx:person:edit")
@Log(title = "入驻员工", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ResidentPersonBo bo) {
return toAjax(residentPersonService.updateByBo(bo));
}
/**
* 删除入驻员工
*
* @param ids 主键串
*/
@SaCheckPermission("xcx:person:remove")
@Log(title = "入驻员工", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable("ids") Long[] ids) {
return toAjax(residentPersonService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,107 @@
package org.dromara.property.controller.xcx;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.residentBo.ResidentUnitBo;
import org.dromara.property.domain.vo.residentVo.ResidentUnitVo;
import org.dromara.property.service.residentService.IResidentUnitService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 入驻单位
* 前端访问路由地址为:/property/resident_unit
*
* @author mocheng
* @since 2025-06-19
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xcx/unit")
public class XResidentUnitController extends BaseController {
private final IResidentUnitService residentUnitService;
/**
* 查询入驻单位列表
*/
@SaCheckPermission("property:resident_unit:list")
@GetMapping("/list")
public TableDataInfo<ResidentUnitVo> list(ResidentUnitBo bo, PageQuery pageQuery) {
return residentUnitService.queryPageList(bo, pageQuery);
}
/**
* 导出入驻单位列表
*/
@SaCheckPermission("property:resident_unit:export")
@Log(title = "入驻单位", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ResidentUnitBo bo, HttpServletResponse response) {
List<ResidentUnitVo> list = residentUnitService.queryList(bo);
ExcelUtil.exportExcel(list, "入驻单位", ResidentUnitVo.class, response);
}
/**
* 获取入驻单位详细信息
*
* @param id 主键
*/
@SaCheckPermission("xcx:unit:query")
@GetMapping("/{id}")
public R<ResidentUnitVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(residentUnitService.queryById(id));
}
/**
* 新增入驻单位
*/
@SaCheckPermission("property:resident_unit:add")
@Log(title = "入驻单位", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ResidentUnitBo bo) {
return toAjax(residentUnitService.insertByBo(bo));
}
/**
* 修改入驻单位
*/
@SaCheckPermission("property:resident_unit:edit")
@Log(title = "入驻单位", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ResidentUnitBo bo) {
return toAjax(residentUnitService.updateByBo(bo));
}
/**
* 删除入驻单位
*
* @param ids 主键串
*/
@SaCheckPermission("property:resident_unit:remove")
@Log(title = "入驻单位", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable("ids") Long[] ids) {
return toAjax(residentUnitService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,50 @@
package org.dromara.property.controller.xcx;
import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
import org.dromara.property.domain.vo.ServiceWorkOrdersVo;
import org.dromara.property.service.IServiceWorkOrdersService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 【业务管理-工单处理】
*
* @author mocheng
* @since 2025-07-07
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xcx/workOrders")
public class XServiceWorkOrdersController extends BaseController {
private final IServiceWorkOrdersService serviceWorkOrdersService;
/**
* 小程序新增【工单处理】
*/
@PostMapping()
@SaCheckPermission("xcx:workOrders:add")
@Log(title = "【小程序新增工单处理】", businessType = BusinessType.INSERT)
public R<Void> add(@Validated(AddGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
return toAjax(serviceWorkOrdersService.insertOrderByXcx(bo));
}
/**
* 小程序查询【工单处理】
*/
@GetMapping("/list")
@SaCheckPermission("xcx:workOrders:query")
public R<List<ServiceWorkOrdersVo>> list() {
return R.ok(serviceWorkOrdersService.queryMyOrderByXcx());
}
}

View File

@@ -0,0 +1,62 @@
package org.dromara.property.controller.xcx;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.property.domain.bo.ServiceWorkOrdersTypeBo;
import org.dromara.property.domain.vo.ServiceWorkOrdersTypeVo;
import org.dromara.property.service.IServiceWorkOrdersTypeService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 【工单类型】
* 前端访问路由地址为:/property/workOrdersType
*
* @author mocheng
* @since 2025-07-09
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xcx/workOrdersType")
public class XServiceWorkOrdersTypeController extends BaseController {
private final IServiceWorkOrdersTypeService serviceWorkOrdersTypeService;
/**
* 获取【工单类型】详细信息
*
* @param id 主键
*/
@SaCheckPermission("xcx:workOrdersType:query")
@GetMapping("/{id}")
public R<ServiceWorkOrdersTypeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(serviceWorkOrdersTypeService.queryById(id));
}
/**
* 查询【工单类型】树结构
*/
@GetMapping("/typeTree/{id}")
public R<List<ServiceWorkOrdersTypeVo>> typeTree(@NotNull(message = "id不能为空")
@PathVariable("id") Long id) {
List<ServiceWorkOrdersTypeVo> list = serviceWorkOrdersTypeService.typeTree();
return R.ok(list.stream().filter(vo -> vo.getId().equals(id)).toList());
}
}

View File

@@ -0,0 +1,113 @@
package org.dromara.property.controller.xcx;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.stp.StpUtil;
import com.alibaba.fastjson.JSONObject;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.constant.GlobalConstants;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.websocket.dto.WebSocketMessageDto;
import org.dromara.common.websocket.holder.WebSocketSessionHolder;
import org.dromara.common.websocket.utils.WebSocketUtils;
import org.dromara.property.domain.bo.QrCodeInfo;
import org.dromara.property.domain.bo.TbVisitorManagementBo;
import org.dromara.property.domain.vo.TbVisitorManagementVo;
import org.dromara.property.service.ITbVisitorManagementService;
import org.dromara.system.api.RemoteConfigService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.time.Duration;
import java.util.List;
import java.util.UUID;
/**
* 访客管理
* 前端访问路由地址为:/property/visitorManagement
*
* @author lsm
* @since 2025-06-19
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xcx/visitorManagement")
public class XTbVisitorManagementController extends BaseController {
private final ITbVisitorManagementService tbVisitorManagementService;
/**
* 小程序新增访客邀约
*
* @param bo bean
*/
@RepeatSubmit()
@PostMapping()
@SaCheckPermission("xcx:visitorManagement:add")
public R<Void> add(@Validated(AddGroup.class) @RequestBody TbVisitorManagementBo bo) {
return toAjax(tbVisitorManagementService.insertByXcxBo(bo));
}
/**
* 小程序修改访客邀约
*
* @param bo bean
*/
@PutMapping()
@RepeatSubmit()
@SaCheckPermission("xcx:visitorManagement:edit")
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TbVisitorManagementBo bo) {
return toAjax(tbVisitorManagementService.updateByXcxBo(bo));
}
/**
* 小程序查询访客邀约详情
*
* @param id 主键
*/
@GetMapping("/{id}")
@SaCheckPermission("xcx:visitorManagement:query")
public R<TbVisitorManagementVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(tbVisitorManagementService.queryByIdForXcx(id));
}
/**
* 小程序查询本人邀约/预约列表
*/
@GetMapping("/list/{type}")
@SaCheckPermission("xcx:visitorManagement:list")
public R<List<TbVisitorManagementVo>> list(@NotNull(message = "类型不能为空")
@PathVariable("type") Integer type) {
return R.ok(tbVisitorManagementService.queryMyListByXcx(type));
}
/**
* 获取访客二维码
*
* @param id 主键
*/
@GetMapping("/qrCode/{id}")
@SaCheckPermission("xcx:visitorManagement:getQrCode")
public R<String> getQrCode(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
int code = Integer.parseInt(tbVisitorManagementService.getQrCodeByIdForXcx(id).get("code").toString());
return code == 200 ? R.ok(tbVisitorManagementService.getQrCodeByIdForXcx(id).get("data").toString()) : R.fail(tbVisitorManagementService.getQrCodeByIdForXcx(id).get("data").toString());
}
}

View File

@@ -8,8 +8,6 @@ import org.dromara.common.tenant.core.TenantEntity;
import java.io.Serial;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
/**
* 排班对象 attendance_arrangement

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;

View File

@@ -6,7 +6,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.List;
/**
* 考勤组基本信息对象 attendance_group

View File

@@ -1,15 +1,11 @@
package org.dromara.property.domain;
import cn.hutool.core.date.DateTime;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;

View File

@@ -39,20 +39,20 @@ public class AttendanceUserGroup extends TenantEntity {
*/
private Long employeeId;
/**
* 员工姓名
*/
private String employeeName;
// /**
// * 员工姓名
// */
// private String employeeName;
/**
* 部门ID
*/
private Long deptId;
/**
* 部门名称
*/
private String deptName;
// /**
// * 部门名称
// */
// private String deptName;
/**
* 开始日期

View File

@@ -0,0 +1,78 @@
package org.dromara.property.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 客户服务-活动对象 customer_activity
*
* @author yuyongle
* @date 2025-09-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("customer_activity")
public class CustomerActivity extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private Long id;
/**
* 标题
*/
private String title;
/**
* 状态(1待进行2进行中3已完成)
*/
private String status;
/**
* 活动图片
*/
private String activityImgUrl;
/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;
/**
* 活动内容
*/
private String activityContent;
/**
* 备注
*/
private String remark;
/**
* 发布人
*/
private Long issuers;
/**
* 搜索值
*/
private String searchValue;
}

View File

@@ -30,7 +30,7 @@ public class CustomerFeedbacks extends TenantEntity {
/**
* 反馈类型(0保修1保洁2会议)
*/
private String feedbackType;
private Long feedbackType;
/**
* 反馈人
@@ -58,7 +58,7 @@ public class CustomerFeedbacks extends TenantEntity {
private String feedbackImg;
/**
* 是否转至工单
* 工单id
*/
private Long orderId;
/**
@@ -72,7 +72,7 @@ public class CustomerFeedbacks extends TenantEntity {
private String status;
/**
* 客服电话
* 反馈单位
*/
private String serviceName;
private Long feedbackUnit;
}

View File

@@ -36,7 +36,10 @@ public class InspectionPoint extends TenantEntity {
* 巡检点名称
*/
private String pointName;
/**
* 巡检位置
*/
private String inspectionLocation;
/**
* 巡检点类型
*/

View File

@@ -29,6 +29,10 @@ public class InspectionTask extends TenantEntity {
@TableId(value = "id")
private Long id;
/**
* 任务名称
*/
private String taskName;
/**
* 巡检计划id
*/
@@ -45,7 +49,7 @@ public class InspectionTask extends TenantEntity {
private Long actUserId;
/**
* 巡检方式
*巡检方式(0现场拍照,1现场扫码)
*/
private String taskType;
@@ -55,7 +59,7 @@ public class InspectionTask extends TenantEntity {
private String transferDesc;
/**
* 巡检状态
* 巡检状态(0未开始1巡检中,2巡检完成3已超时)
*/
private String status;

View File

@@ -1,5 +1,6 @@
package org.dromara.property.domain;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
@@ -51,25 +52,19 @@ public class InspectionTaskDetail extends TenantEntity {
*/
private Long pointId;
/**
* 巡检方式
*/
private String patrolType;
/**
* 签到类型(1.现场拍照、2.摄像头签到、3.现场扫码)
*/
private String signType;
/**
* 实际签到状态(0未签到1.已签到)
*/
private String actualSignState;
/**
* 实际巡检时间
*/
private Date actualInspectionTime;
/**
* 实际签到状态(1已签到2.未签到)
*/
private String actualSignState;
private Date inspectionTime;
/**
* 巡检状态(0未完成,1已完成)
@@ -91,10 +86,6 @@ public class InspectionTaskDetail extends TenantEntity {
*/
private String actualInspectionPerson;
/**
* 任务状态
*/
private String taskStatus;
/**
* 巡检结果
@@ -111,11 +102,6 @@ public class InspectionTaskDetail extends TenantEntity {
*/
private String inspectionLocation;
/**
* 实际巡检时间
*/
private Date inspectionTime;
/**
* 备注
*/
@@ -130,7 +116,10 @@ public class InspectionTaskDetail extends TenantEntity {
* 点结束时间
*/
private Date pointEndTime;
/**
* 工单id
*/
private Long orderId;
/**
* 搜索值
*/

View File

@@ -1,5 +1,6 @@
package org.dromara.property.domain;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
@@ -41,6 +42,9 @@ public class Meet extends TenantEntity {
* 5圆形会议室
* 6贵宾会议室)
*/
private String secrecyGrade;
private String meetingRoomType;
/**
@@ -94,9 +98,18 @@ public class Meet extends TenantEntity {
private String appointmentTime;
/**
* 开放时段
* 图片
*/
private String openHours;
private String picture;
/**
* 开放开始时段
*/
private String openStartHours;
/**
* 开放结束时段
*/
private String openEndHours;
/**
* 状态(0启用,1禁用)

View File

@@ -0,0 +1,55 @@
package org.dromara.property.domain;
import net.sf.jsqlparser.util.validation.metadata.DatabaseException;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.Date;
/**
* 会议室参会记录对象 meet_participants
*
* @author mocheng
* @date 2025-09-03
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("meet_participants")
public class MeetParticipants extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 会议室id
*/
private Long meetBookId;
/**
* 入驻人员id
*/
private Long residentPersonId;
/**
* 签到状态
*/
private String signState;
/**
* 签到时间
*/
private Date signTime;
/**
* 搜索值
*/
private String searchValue;
}

View File

@@ -47,7 +47,7 @@ public class ServiceWorkOrders extends TenantEntity {
private Long type;
/**
* 状态
* 状态(0创建工单,1已派单2已抢单3处理中,4已完成,5已评价)
*/
private String status;
@@ -104,7 +104,7 @@ public class ServiceWorkOrders extends TenantEntity {
*/
private String orderImgUrl;
/**
* 上报类型
* 上报类型(1电话上报2现场上报,3系统上报)
*/
private String reportingType;
/**

View File

@@ -38,9 +38,13 @@ public class ServiceWorkOrdersType extends TenantEntity {
private String orderTypeName;
/**
* 运作模式
* 运作模式(0派单+抢单,1派单,2自动派单)
*/
private String operationMode;
/**
*部门id
*/
private Long deptId;
/**
* 排序值
@@ -56,7 +60,10 @@ public class ServiceWorkOrdersType extends TenantEntity {
* 是否支持转单(0支持,1不支持)
*/
private Integer isTransfers;
/**
* 权重(1一般2紧急3危急)
*/
private String processingWeight;
/**
* 搜索值
*/

View File

@@ -58,16 +58,28 @@ public class TbBuilding extends TenantEntity {
* 电梯数量
*/
private Integer elevatorCount;
/**
* 建筑面积(平方米)
*/
private Float area;
/**
* 套内面积(平方米)
*/
private Float insideInArea;
/**
* 公摊面积(平方米)
*/
private Float sharedArea;
/**
* 竣工日期
*/
private Date completionDate;
/**
* 地址
*/
private String addr;
// /**
// * 地址
// */
// private String addr;
/**
* 经度

View File

@@ -34,10 +34,10 @@ public class TbCommunity extends TenantEntity {
*/
private String communityName;
/**
* 社区类型 1园区2小区
*/
private Integer communityType;
// /**
// * 社区类型 1园区2小区
// */
// private Integer communityType;
private String cityFullCode;

View File

@@ -47,16 +47,27 @@ public class TbFloor extends TenantEntity {
*/
private String floorName;
/**
* 楼层号
*/
private Integer floorNumber;
// /**
// * 楼层号
// */
// private Integer floorNumber;
/**
* 楼层类型
*/
private Integer floorType;
/**
* 建筑面积(平方米)
*/
private Float area;
/**
* 套内面积(平方米)
*/
private Float insideInArea;
/**
* 公摊面积(平方米)
*/
private Float sharedArea;
/**
* 房间数量
*/

View File

@@ -118,6 +118,11 @@ public class TbVisitorManagement extends TenantEntity {
*/
private String searchValue;
/**
* 备注
*/
private String remark;
/**
* e8平台id
*/

View File

@@ -50,6 +50,11 @@ public class CostCarChargeBo extends BaseEntity {
* 车位
*/
private String location;
/**
* 车位名称
*/
private String locationName;
/**
* 缴费状态
*/

View File

@@ -0,0 +1,77 @@
package org.dromara.property.domain.bo;
import org.dromara.property.domain.CustomerActivity;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 客户服务-活动业务对象 customer_activity
*
* @author yuyongle
* @date 2025-09-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = CustomerActivity.class, reverseConvertGenerate = false)
public class CustomerActivityBo extends BaseEntity {
/**
* 主键
*/
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id;
/**
* 标题
*/
@NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
private String title;
/**
* 状态(1待进行2进行中3已完成)
*/
private String status;
/**
* 活动图片
*/
// @NotBlank(message = "活动图片不能为空", groups = { AddGroup.class, EditGroup.class })
private String activityImgUrl;
/**
* 开始时间
*/
@NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date startTime;
/**
* 结束时间
*/
@NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date endTime;
/**
* 活动内容
*/
@NotBlank(message = "活动内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String activityContent;
/**
* 备注
*/
private String remark;
/**
* 发布人
*/
private Long issuers;
}

View File

@@ -29,8 +29,8 @@ public class CustomerFeedbacksBo extends BaseEntity {
/**
* 反馈类型(0保修1保洁2会议)
*/
@NotBlank(message = "反馈类型(0保修1保洁2会议)不能为空", groups = { AddGroup.class, EditGroup.class })
private String feedbackType;
@NotNull (message = "反馈类型(0保修1保洁2会议)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long feedbackType;
/**
* 反馈人
@@ -76,11 +76,8 @@ public class CustomerFeedbacksBo extends BaseEntity {
* 客服电话
*/
private String serviceName;
/**
* 搜索值
* 反馈单位
*/
private String searchValue;
private Long feedbackUnit;
}

View File

@@ -43,7 +43,11 @@ public class InspectionPointBo extends BaseEntity {
*/
@NotBlank(message = "巡检点类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String pointType;
/**
* 巡检位置
*/
@NotBlank(message = "巡检位置不能为空", groups = { AddGroup.class, EditGroup.class })
private String inspectionLocation;
/**
* nfc编码
*/

View File

@@ -52,11 +52,6 @@ public class InspectionTaskDetailBo extends BaseEntity {
*/
private Long pointId;
/**
* 巡检方式
*/
private String patrolType;
/**
* 签到类型(1.现场拍照、2.摄像头签到、3.现场扫码)
*/
@@ -92,10 +87,6 @@ public class InspectionTaskDetailBo extends BaseEntity {
*/
private String actualInspectionPerson;
/**
* 任务状态
*/
private String taskStatus;
/**
* 巡检结果

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