liujie
2025-11-11 bb38f6c6274d4e2cc656a005fd7ba526566adcfc
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mobile_community
83个文件已添加
44个文件已修改
4843 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppealServicesController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCommunityActivityController.java 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeliberationVoteController.java 253 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/THtmlConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeDeptController.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeKeyGridUserController.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeKeyPersonnelTypeController.java 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeOrganizationController.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeResourceController.java 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeResourceTypeController.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeSocialWorkerController.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeUserController.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeVolunteerController.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TMicroWishController.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOldsterWarningController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOtherConfigController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPartyBuildingController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/filter/RequestFilterConfig.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/HandlingWishesDTO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/ReviewWishesDTO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/TCommunityActivityDTO.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/TDeliberationVoteDTO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCommunityActivityMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCommunityActivityRegistrationMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeliberationVoteMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeDeptMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeKeyGridUserMapper.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeKeyPersonnelTypeMapper.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeOrganizationMapper.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeResourceMapper.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeResourceTypeMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeSocialWorkerMapper.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeUserMapper.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeVolunteerMapper.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TMicroWishMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOldsterWarningMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TDeliberationVoteOption.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/THtmlConfig.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeDept.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeKeyGridUser.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeKeyPersonnelType.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeOrganization.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeResource.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeResourceType.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeSocialWorker.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeUser.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeVolunteer.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TOldster.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TPartyBuilding.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/OldsterListQuery.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/RegistrationPageListQuery.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TCommunityActivityQuery.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TDeliberationVoteQuery.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeKeyGridUserQuery.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeOrganizationQuery.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeResourceQuery.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeSocialWorkerQuery.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeUserQuery.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeVolunteerQuery.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TMicroWishQuery.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TCommunityActivityRegistrationService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TCommunityActivityService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TDeliberationVoteService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeDeptService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeKeyGridUserService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeKeyPersonnelTypeService.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeOrganizationService.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeResourceService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeResourceTypeService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeSocialWorkerService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeUserService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeVolunteerService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TMicroWishService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TOldsterWarningService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCommunityActivityRegistrationServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCommunityActivityServiceImpl.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeliberationVoteServiceImpl.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeDeptServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeKeyGridUserServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeKeyPersonnelTypeServiceImpl.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeOrganizationServiceImpl.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeResourceServiceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeResourceTypeServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeSocialWorkerServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeUserServiceImpl.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeVolunteerServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMicroWishServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOldsterWarningServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/base/QuartzManager.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/exceptions/TimeException.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/ActivityPush.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/DeliberationVotePush.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/utils/SpringContextsUtil.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCommunityActivityVO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TDeliberationVoteVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TLargeKeyGridUserVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TLargeResourceVO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TLargeUserVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TMicroWishVO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TOldsterWarningVO.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCommunityActivityMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCommunityActivityRegistrationMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TDeliberationVoteMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeDeptMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeKeyGridUserMapper.xml 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeKeyPersonnelTypeMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeOrganizationMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeResourceMapper.xml 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeResourceTypeMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeSocialWorkerMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeUserMapper.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TLargeVolunteerMapper.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TMicroWishMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TOldsterWarningMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TPartyBuildingMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java
New file
@@ -0,0 +1,156 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.model.*;
import com.ruoyi.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Api(tags = "数据大屏")
@RestController
@RequestMapping("/statistics")
public class DataStatisticsController {
    private final TAppealServicesService appealServicesService;
    private final TOldsterWarningService oldsterWarningService;
    private final THtmlConfigService htmlConfigService;
    private final TLargeDeptService largeDeptService;
    private final TLargeUserService largeUserService;
    private final TLargeOrganizationService largeOrganizationService;
    private final TLargeResourceService largeResourceService;
    private final TLargeSocialWorkerService largeSocialWorkerService;
    private final TLargeVolunteerService largeVolunteerService;
    private final TLargeKeyGridUserService largeKeyGridUserService;
    private final TLargeKeyPersonnelTypeService largeKeyPersonnelTypeService;
    @Autowired
    public DataStatisticsController(TAppealServicesService appealServicesService, TOldsterWarningService oldsterWarningService, THtmlConfigService htmlConfigService, TLargeDeptService largeDeptService, TLargeUserService largeUserService, TLargeOrganizationService largeOrganizationService, TLargeResourceService largeResourceService, TLargeSocialWorkerService largeSocialWorkerService, TLargeVolunteerService largeVolunteerService, TLargeKeyGridUserService largeKeyGridUserService, TLargeKeyPersonnelTypeService largeKeyPersonnelTypeService) {
        this.appealServicesService = appealServicesService;
        this.oldsterWarningService = oldsterWarningService;
        this.htmlConfigService = htmlConfigService;
        this.largeDeptService = largeDeptService;
        this.largeUserService = largeUserService;
        this.largeOrganizationService = largeOrganizationService;
        this.largeResourceService = largeResourceService;
        this.largeSocialWorkerService = largeSocialWorkerService;
        this.largeVolunteerService = largeVolunteerService;
        this.largeKeyGridUserService = largeKeyGridUserService;
        this.largeKeyPersonnelTypeService = largeKeyPersonnelTypeService;
    }
    /**
     * 获取组织部门管理列表
     */
    @ApiOperation(value = "获取组织部门列表")
    @GetMapping(value = "/deptList")
    public R<List<TLargeDept>> deptList() {
        return R.ok(largeDeptService.list(Wrappers.lambdaQuery(TLargeDept.class).orderByDesc(TLargeDept::getCreateTime)));
    }
    /**
     * 获取组织人员管理列表
     */
    @ApiOperation(value = "获取组织人员分页列表")
    @GetMapping(value = "/largeUserList")
    public R<List<TLargeUser>> largeUserList(@RequestParam String deptId) {
        List<TLargeUser> list = largeUserService.list(Wrappers.lambdaQuery(TLargeUser.class)
                .eq(TLargeUser::getDeptId, deptId)
                .orderByDesc(TLargeUser::getCreateTime));
        return R.ok(list);
    }
    /**
     * 事件中心
     */
    @ApiOperation(value = "事件中心",notes = "appealServicesCount:居民上报事件,warningCount:养老告警事件")
    @GetMapping(value = "/eventCenter")
    public R<Map<String,Long>> eventCenter() {
        // 居民上报事件
        long appealServicesCount = appealServicesService.count();
        // 养老告警事件
        long warningCount = oldsterWarningService.count();
        Map<String,Long> map = new HashMap<>();
        map.put("appealServicesCount",appealServicesCount);
        map.put("warningCount",warningCount);
        return R.ok(map);
    }
    /**
     * 社区地图-社区概况
     */
    @ApiOperation(value = "社区地图-社区概况",notes = "14=社区地图 15=社区概况")
    @GetMapping(value = "/communityProfile")
    public R<THtmlConfig> communityProfile(@RequestParam Integer configType) {
        THtmlConfig sysConfig = htmlConfigService.getOne(Wrappers.<THtmlConfig>lambdaQuery().eq(THtmlConfig::getConfigType, configType)
                .last("LIMIT 1"));
        return R.ok(sysConfig);
    }
    /**
     * 五社联动
     */
    @ApiOperation(value = "五社联动",notes = "resourceCount:社区资源,socialWorkerCount:社区工作者,volunteerCount:社区志愿者,organizationCount:社区组织")
    @GetMapping(value = "/fiveSocietyLinkage")
    public R<Map<String,Long>> fiveSocietyLinkage() {
        // 社区资源
        long resourceCount = largeResourceService.count();
        // 社区工作者
        long socialWorkerCount = largeSocialWorkerService.count();
        // 社区志愿者
        long volunteerCount = largeVolunteerService.count();
        // 社区组织
        long organizationCount = largeOrganizationService.count();
        Map<String,Long> map = new HashMap<>();
        map.put("resourceCount",resourceCount);
        map.put("socialWorkerCount",socialWorkerCount);
        map.put("volunteerCount",volunteerCount);
        map.put("organizationCount",organizationCount);
        return R.ok(map);
    }
    /**
     * 网格-重点人数
     */
    @ApiOperation(value = "网格-重点人数",notes = "keyCount:重点人数,gridCount:网格人数")
    @GetMapping(value = "/keyGridUserCount")
    public R<Map<String,Long>> keyGridUserCount() {
        // 重点人数
        long keyCount = largeKeyGridUserService.count(Wrappers.lambdaQuery(TLargeKeyGridUser.class)
                .eq(TLargeKeyGridUser::getUserType, 1));
        // 网格人数
        long gridCount = largeKeyGridUserService.count(Wrappers.lambdaQuery(TLargeKeyGridUser.class)
                .eq(TLargeKeyGridUser::getUserType, 2));
        Map<String,Long> map = new HashMap<>();
        map.put("keyCount",keyCount);
        map.put("gridCount",gridCount);
        return R.ok(map);
    }
    /**
     * 重点人员情况
     */
    @ApiOperation(value = "重点人员情况",notes = "keyCount:重点人数,gridCount:网格人数")
    @GetMapping(value = "/keyPersonnelSituation")
    public R<List<TLargeKeyPersonnelType>> keyPersonnelSituation() {
        List<TLargeKeyPersonnelType> list = largeKeyPersonnelTypeService.list();
        List<TLargeKeyGridUser> largeKeyGridUsers = largeKeyGridUserService.list();
        for (TLargeKeyPersonnelType largeKeyPersonnelType : list) {
            if(largeKeyPersonnelType.getShowType() == 2 && !CollectionUtils.isEmpty(largeKeyGridUsers)){
                // 查询真实的汇总数据
                List<TLargeKeyGridUser> users = largeKeyGridUsers.stream().filter(largeKeyGridUser -> largeKeyGridUser.getTypeId().equals(largeKeyPersonnelType.getId())).collect(Collectors.toList());
                largeKeyPersonnelType.setShowNumber(users.size());
            }
        }
        return R.ok(list);
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppealServicesController.java
@@ -49,6 +49,14 @@
    public R<PageInfo<TAppealServicesVO>> pageList(@RequestBody TAppealServicesQuery query) {
        return R.ok(appealServicesService.pageList(query));
    }
    /**
     * 获取诉求服务管理管理列表
     */
    @ApiOperation(value = "获取诉求服务管理分页列表-大屏使用")
    @PostMapping(value = "/pageListLarge")
    public R<PageInfo<TAppealServicesVO>> pageListLarge(@RequestBody TAppealServicesQuery query) {
        return R.ok(appealServicesService.pageList(query));
    }
    /**
     * 获取诉求服务管理管理列表
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCommunityActivityController.java
@@ -1,9 +1,33 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.ImmutableMap;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.dto.TCommunityActivityDTO;
import com.ruoyi.system.model.TCommunityActivity;
import com.ruoyi.system.model.TCommunityActivityRegistration;
import com.ruoyi.system.query.RegistrationPageListQuery;
import com.ruoyi.system.query.TCommunityActivityQuery;
import com.ruoyi.system.service.TCommunityActivityRegistrationService;
import com.ruoyi.system.service.TCommunityActivityService;
import com.ruoyi.system.task.base.QuartzManager;
import com.ruoyi.system.task.base.TimeJobType;
import com.ruoyi.system.task.jobs.ActivityPush;
import com.ruoyi.system.vo.TCommunityActivityVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
 * <p>
@@ -13,9 +37,204 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "社区活动管理")
@RestController
@RequestMapping("/t-community-activity")
public class TCommunityActivityController {
    private final TCommunityActivityService communityActivityService;
    private final TCommunityActivityRegistrationService communityActivityRegistrationService;
    @Autowired
    public TCommunityActivityController(TCommunityActivityService communityActivityService, TCommunityActivityRegistrationService communityActivityRegistrationService) {
        this.communityActivityService = communityActivityService;
        this.communityActivityRegistrationService = communityActivityRegistrationService;
    }
    /**
     * 获取社区活动管理管理列表
     */
    @ApiOperation(value = "获取社区活动管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TCommunityActivityVO>> pageList(@RequestBody TCommunityActivityQuery query) {
        return R.ok(communityActivityService.pageList(query));
    }
    /**
     * 获取社区活动管理管理列表
     */
    @ApiOperation(value = "获取社区活动报名信息分页列表")
    @PostMapping(value = "/registrationPageList")
    public R<PageInfo<TCommunityActivityRegistration>> registrationPageList(@RequestBody RegistrationPageListQuery query) {
        return R.ok(communityActivityRegistrationService.registrationPageList(query));
    }
    /**
     * 添加社区活动管理管理
     */
    @Log(title = "社区活动管理信息-新增社区活动管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加社区活动管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TCommunityActivityDTO dto) {
        if (communityActivityService.isExit(dto)) {
            return R.fail("社区活动标题已存在");
        }
        LocalDateTime startTime = dto.getStartTime();
        LocalDateTime endTime = dto.getEndTime();
        LocalDateTime now = LocalDateTime.now();
        if(now.isBefore(startTime)){
            dto.setStatus(1);
        }
        if(now.isAfter(startTime) && now.isBefore(endTime)){
            dto.setStatus(2);
        }
        if(now.isAfter(endTime)){
            dto.setStatus(3);
        }
        communityActivityService.save(dto);
        if(now.isBefore(startTime)){
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", dto.getId()).put("type","1")
                            .build();
            QuartzManager.addJob(
                    ActivityPush.class,
                    (ActivityPush.name+dto.getId()).toUpperCase(),
                    TimeJobType.ACTIVITY_PUSH,
                    DateUtils.localDateTimeToDate(dto.getStartTime()),
                    maps
            );
        }
        if(now.isAfter(startTime) && now.isBefore(endTime)){
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", dto.getId()).put("type","2")
                            .build();
            QuartzManager.addJob(
                    ActivityPush.class,
                    (ActivityPush.name+dto.getId()).toUpperCase(),
                    TimeJobType.ACTIVITY_PUSH,
                    DateUtils.localDateTimeToDate(dto.getEndTime()),
                    maps
            );
        }
        return R.ok();
    }
    /**
     * 修改社区活动管理
     */
    @Log(title = "社区活动管理信息-修改社区活动管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改社区活动管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TCommunityActivityDTO dto) {
        if (communityActivityService.isExit(dto)) {
            return R.fail("社区活动标题已存在");
        }
        TCommunityActivity communityActivity = communityActivityService.getById(dto.getId());
        if(communityActivity.getStatus() == 2 || communityActivity.getStatus() == 3){
            return R.fail("投票正在进行中或已结束,无法修改");
        }
        LocalDateTime startTime = dto.getStartTime();
        LocalDateTime endTime = dto.getEndTime();
        LocalDateTime now = LocalDateTime.now();
        if(now.isBefore(startTime)){
            dto.setStatus(1);
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", communityActivity.getId()).put("type","1")
                            .build();
            QuartzManager.addJob(
                    ActivityPush.class,
                    (ActivityPush.name+communityActivity.getId()).toUpperCase(),
                    TimeJobType.ACTIVITY_PUSH,
                    DateUtils.localDateTimeToDate(communityActivity.getStartTime()),
                    maps
            );
        }
        if(now.isAfter(startTime) && now.isBefore(endTime)){
            dto.setStatus(2);
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", communityActivity.getId()).put("type","2")
                            .build();
            QuartzManager.addJob(
                    ActivityPush.class,
                    (ActivityPush.name+communityActivity.getId()).toUpperCase(),
                    TimeJobType.ACTIVITY_PUSH,
                    DateUtils.localDateTimeToDate(communityActivity.getEndTime()),
                    maps
            );
        }
        if(now.isAfter(endTime)){
            dto.setStatus(3);
        }
        communityActivityService.updateById(dto);
        return R.ok();
    }
    /**
     * 查看社区活动管理详情
     */
    @ApiOperation(value = "查看社区活动管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TCommunityActivity> getDetailById(@RequestParam String id) {
        TCommunityActivity communityActivity = communityActivityService.getById(id);
        return R.ok(communityActivity);
    }
    /**
     * 删除社区活动管理
     */
    @Log(title = "社区活动管理信息-删除社区活动管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除社区活动管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(communityActivityService.removeById(id));
    }
    /**
     * 批量删除社区活动管理
     */
    @Log(title = "社区活动管理信息-删除社区活动管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除社区活动管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(communityActivityService.removeByIds(ids));
    }
    /**
     * 社区活动发布和完成
     */
    @Log(title = "社区活动管理信息-社区活动发布和完成", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "社区活动发布和完成")
    @PostMapping(value = "/updateReleaseFinish")
    public R<Boolean> updateReleaseFinish(@RequestParam(value = "id") String id,
                                          @RequestParam(value = "status") Integer status) {
        TCommunityActivity communityActivity = communityActivityService.getById(id);
        if(status == 2){
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", communityActivity.getId()).put("type","2")
                            .build();
            QuartzManager.addJob(
                    ActivityPush.class,
                    (ActivityPush.name+communityActivity.getId()).toUpperCase(),
                    TimeJobType.DELIBERATION_VOTE_PUSH,
                    DateUtils.localDateTimeToDate(communityActivity.getEndTime()),
                    maps
            );
        }
        communityActivityService.update(Wrappers.lambdaUpdate(TCommunityActivity.class)
                .set(TCommunityActivity::getStatus, status)
                .eq(TCommunityActivity::getId, id));
        return R.ok();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java
@@ -128,6 +128,19 @@
        }
        return R.ok(courseService.removeByIds(ids));
    }
    /**
     * 课程已完成
     */
    @Log(title = "课程管理信息-课程已完成", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "课程已完成")
    @PostMapping(value = "/updateFinish")
    public R<Boolean> updateFinish(@RequestParam(value = "id") String id) {
        courseService.update(Wrappers.lambdaUpdate(TCourse.class)
                .set(TCourse::getStatus, 2)
                .eq(TCourse::getId, id));
        return R.ok();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeliberationVoteController.java
@@ -1,9 +1,34 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.ImmutableMap;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.dto.TDeliberationVoteDTO;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.model.TDeliberationVoteOption;
import com.ruoyi.system.query.TDeliberationVoteQuery;
import com.ruoyi.system.service.TDeliberationVoteOptionService;
import com.ruoyi.system.service.TDeliberationVoteService;
import com.ruoyi.system.task.base.QuartzManager;
import com.ruoyi.system.task.base.TimeJobType;
import com.ruoyi.system.task.jobs.DeliberationVotePush;
import com.ruoyi.system.vo.TDeliberationVoteVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
 * <p>
@@ -13,9 +38,233 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "议事投票")
@RestController
@RequestMapping("/t-deliberation-vote")
public class TDeliberationVoteController {
    private final TDeliberationVoteService deliberationVoteService;
    private final TDeliberationVoteOptionService deliberationVoteOptionService;
    @Autowired
    public TDeliberationVoteController(TDeliberationVoteService deliberationVoteService, TDeliberationVoteOptionService deliberationVoteOptionService) {
        this.deliberationVoteService = deliberationVoteService;
        this.deliberationVoteOptionService = deliberationVoteOptionService;
    }
    /**
     * 获取议事投票管理管理列表
     */
    @ApiOperation(value = "获取议事投票管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TDeliberationVoteVO>> pageList(@RequestBody TDeliberationVoteQuery query) {
        return R.ok(deliberationVoteService.pageList(query));
    }
    /**
     * 获取议事投票管理管理列表
     */
    @ApiOperation(value = "获取议事投票管理列表")
    @PostMapping(value = "/list")
    public R<List<TDeliberationVote>> list() {
        return R.ok(deliberationVoteService.list(Wrappers.lambdaQuery(TDeliberationVote.class).orderByDesc(TDeliberationVote::getCreateTime)));
    }
    /**
     * 添加议事投票管理管理
     */
    @Log(title = "议事投票管理信息-新增议事投票管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加议事投票管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TDeliberationVoteDTO dto) {
        if (deliberationVoteService.isExit(dto)) {
            return R.fail("议事投票标题已存在");
        }
        LocalDateTime startTime = dto.getStartTime();
        LocalDateTime endTime = dto.getEndTime();
        LocalDateTime now = LocalDateTime.now();
        if(now.isBefore(startTime)){
            dto.setStatus(1);
        }
        if(now.isAfter(startTime) && now.isBefore(endTime)){
            dto.setStatus(2);
        }
        if(now.isAfter(endTime)){
            dto.setStatus(3);
        }
        deliberationVoteService.save(dto);
        if(now.isBefore(startTime)){
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", dto.getId()).put("type","1")
                            .build();
            QuartzManager.addJob(
                    DeliberationVotePush.class,
                    (DeliberationVotePush.name+dto.getId()).toUpperCase(),
                    TimeJobType.DELIBERATION_VOTE_PUSH,
                    DateUtils.localDateTimeToDate(dto.getStartTime()),
                    maps
            );
        }
        if(now.isAfter(startTime) && now.isBefore(endTime)){
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", dto.getId()).put("type","2")
                            .build();
            QuartzManager.addJob(
                    DeliberationVotePush.class,
                    (DeliberationVotePush.name+dto.getId()).toUpperCase(),
                    TimeJobType.DELIBERATION_VOTE_PUSH,
                    DateUtils.localDateTimeToDate(dto.getEndTime()),
                    maps
            );
        }
        // 存储选项
        List<TDeliberationVoteOption> deliberationVoteOptions = dto.getDeliberationVoteOptions();
        for (TDeliberationVoteOption deliberationVoteOption : deliberationVoteOptions) {
            deliberationVoteOption.setVoteId(dto.getId());
        }
        deliberationVoteOptionService.saveBatch(deliberationVoteOptions);
        return R.ok();
    }
    /**
     * 修改议事投票管理
     */
    @Log(title = "议事投票管理信息-修改议事投票管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改议事投票管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TDeliberationVoteDTO dto) {
        if (deliberationVoteService.isExit(dto)) {
            return R.fail("议事投票标题已存在");
        }
        TDeliberationVote deliberationVote = deliberationVoteService.getById(dto.getId());
        if(deliberationVote.getStatus() == 2 || deliberationVote.getStatus() == 3){
            return R.fail("投票正在进行中或已结束,无法修改");
        }
        LocalDateTime startTime = dto.getStartTime();
        LocalDateTime endTime = dto.getEndTime();
        LocalDateTime now = LocalDateTime.now();
        if(now.isBefore(startTime)){
            dto.setStatus(1);
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", deliberationVote.getId()).put("type","1")
                            .build();
            QuartzManager.addJob(
                    DeliberationVotePush.class,
                    (DeliberationVotePush.name+deliberationVote.getId()).toUpperCase(),
                    TimeJobType.DELIBERATION_VOTE_PUSH,
                    DateUtils.localDateTimeToDate(deliberationVote.getStartTime()),
                    maps
            );
        }
        if(now.isAfter(startTime) && now.isBefore(endTime)){
            dto.setStatus(2);
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", deliberationVote.getId()).put("type","2")
                            .build();
            QuartzManager.addJob(
                    DeliberationVotePush.class,
                    (DeliberationVotePush.name+deliberationVote.getId()).toUpperCase(),
                    TimeJobType.DELIBERATION_VOTE_PUSH,
                    DateUtils.localDateTimeToDate(deliberationVote.getEndTime()),
                    maps
            );
        }
        if(now.isAfter(endTime)){
            dto.setStatus(3);
        }
        deliberationVoteService.updateById(dto);
        // 删除所有选项
        deliberationVoteOptionService.remove(Wrappers.lambdaQuery(TDeliberationVoteOption.class).eq(TDeliberationVoteOption::getVoteId, dto.getId()));
        // 存储选项
        List<TDeliberationVoteOption> deliberationVoteOptions = dto.getDeliberationVoteOptions();
        for (TDeliberationVoteOption deliberationVoteOption : deliberationVoteOptions) {
            deliberationVoteOption.setVoteId(dto.getId());
        }
        deliberationVoteOptionService.saveBatch(deliberationVoteOptions);
        return R.ok();
    }
    /**
     * 查看议事投票管理详情
     */
    @ApiOperation(value = "查看议事投票管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TDeliberationVote> getDetailById(@RequestParam String id) {
        TDeliberationVote deliberationVote = deliberationVoteService.getById(id);
        // 查询选项
        List<TDeliberationVoteOption> deliberationVoteOptions = deliberationVoteOptionService.list(Wrappers.lambdaQuery(TDeliberationVoteOption.class)
                .eq(TDeliberationVoteOption::getVoteId, id));
        if(!CollectionUtils.isEmpty(deliberationVoteOptions)){
            // 查看选项人数
            for (TDeliberationVoteOption deliberationVoteOption : deliberationVoteOptions) {
                String voteCount = deliberationVoteOption.getVoteCount();
                deliberationVoteOption.setVoteCountNum(voteCount == null ? 0 : voteCount.split(",").length);
            }
        }
        deliberationVote.setOptions(deliberationVoteOptions);
        return R.ok(deliberationVote);
    }
    /**
     * 删除议事投票管理
     */
    @Log(title = "议事投票管理信息-删除议事投票管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除议事投票管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        // 先删除选项
        deliberationVoteOptionService.remove(Wrappers.lambdaQuery(TDeliberationVoteOption.class).eq(TDeliberationVoteOption::getVoteId, id));
        return R.ok(deliberationVoteService.removeById(id));
    }
    /**
     * 批量删除议事投票管理
     */
    @Log(title = "议事投票管理信息-删除议事投票管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除议事投票管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        // 先删除选项
        deliberationVoteOptionService.remove(Wrappers.lambdaQuery(TDeliberationVoteOption.class).in(TDeliberationVoteOption::getVoteId, ids));
        return R.ok(deliberationVoteService.removeByIds(ids));
    }
    /**
     * 议事投票发布和完成
     */
    @Log(title = "议事投票管理信息-议事投票发布和完成", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "议事投票发布和完成")
    @PostMapping(value = "/updateReleaseFinish")
    public R<Boolean> updateReleaseFinish(@RequestParam(value = "id") String id,
                                          @RequestParam(value = "status") Integer status) {
        TDeliberationVote deliberationVote = deliberationVoteService.getById(id);
        if(status == 2){
            // 添加定时任务
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", deliberationVote.getId()).put("type","2")
                            .build();
            QuartzManager.addJob(
                    DeliberationVotePush.class,
                    (DeliberationVotePush.name+deliberationVote.getId()).toUpperCase(),
                    TimeJobType.DELIBERATION_VOTE_PUSH,
                    DateUtils.localDateTimeToDate(deliberationVote.getEndTime()),
                    maps
            );
        }
        deliberationVoteService.update(Wrappers.lambdaUpdate(TDeliberationVote.class)
                .set(TDeliberationVote::getStatus, status)
                .eq(TDeliberationVote::getId, id));
        return R.ok();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/THtmlConfigController.java
@@ -47,7 +47,7 @@
    /**
     * 查看系统配置-协议管理详情
     */
    @ApiOperation(value = "查看系统配置-协议管理详情",notes = "配置类型 类型 1=托育服务 2=阅芽计划 3=办事指南图文指引 4=暖心服务图片 5=注册协议 6=隐私政策 7=学习申请书 8=安全告知书 9=购买支付说明 10=微心愿风险提示 11=群众诉求服务说明 12=随手拍说明")
    @ApiOperation(value = "查看系统配置-协议管理详情",notes = "配置类型 类型 1=托育服务 2=阅芽计划 3=办事指南图文指引 4=暖心服务图片 5=注册协议 6=隐私政策 7=学习申请书 8=安全告知书 9=购买支付说明 10=微心愿风险提示 11=群众诉求服务说明 12=随手拍说明 13=康年年图文介绍 14=社区地图 15=社区概况")
    @GetMapping(value = "/getDetailById")
    public R<THtmlConfig> getDetailById(@RequestParam Integer configType) {
        THtmlConfig sysConfig = htmlConfigService.getOne(Wrappers.<THtmlConfig>lambdaQuery().eq(THtmlConfig::getConfigType, configType)
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeDeptController.java
New file
@@ -0,0 +1,109 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeDept;
import com.ruoyi.system.model.TLargeUser;
import com.ruoyi.system.service.TLargeDeptService;
import com.ruoyi.system.service.TLargeUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 大屏-组织部门 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "大屏-组织部门")
@RestController
@RequestMapping("/t-large-dept")
public class TLargeDeptController {
    private final TLargeDeptService largeDeptService;
    private final TLargeUserService largeUserService;
    @Autowired
    public TLargeDeptController(TLargeDeptService largeDeptService, TLargeUserService largeUserService) {
        this.largeDeptService = largeDeptService;
        this.largeUserService = largeUserService;
    }
    /**
     * 获取组织部门管理列表
     */
    @ApiOperation(value = "获取组织部门列表")
    @PostMapping(value = "/list")
    public R<List<TLargeDept>> list() {
        return R.ok(largeDeptService.list(Wrappers.lambdaQuery(TLargeDept.class).orderByDesc(TLargeDept::getCreateTime)));
    }
    /**
     * 添加组织部门管理
     */
    @Log(title = "组织部门信息-新增组织部门", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加组织部门")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeDept dto) {
        if (largeDeptService.isExit(dto)) {
            return R.fail("组织部门已存在");
        }
        return R.ok(largeDeptService.save(dto));
    }
    /**
     * 修改组织部门
     */
    @Log(title = "组织部门信息-修改组织部门", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改组织部门")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeDept dto) {
        if (largeDeptService.isExit(dto)) {
            return R.fail("组织部门已存在");
        }
        return R.ok(largeDeptService.updateById(dto));
    }
    /**
     * 删除组织部门
     */
    @Log(title = "组织部门信息-删除组织部门", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除组织部门")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        // 查询是否存在人员
        long count = largeUserService.count(Wrappers.lambdaQuery(TLargeUser.class)
                .eq(TLargeUser::getDeptId, id));
        if (count > 0) {
            return R.fail("组织部门下存在人员,请先删除人员");
        }
        return R.ok(largeDeptService.removeById(id));
    }
    /**
     * 批量删除组织部门
     */
    @Log(title = "组织部门信息-删除组织部门", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除组织部门")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        // 查询是否存在人员
        long count = largeUserService.count(Wrappers.lambdaQuery(TLargeUser.class)
                .in(TLargeUser::getDeptId, ids));
        if (count > 0) {
            return R.fail("组织部门下存在人员,请先删除人员");
        }
        return R.ok(largeDeptService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeKeyGridUserController.java
New file
@@ -0,0 +1,116 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeKeyGridUser;
import com.ruoyi.system.query.TLargeKeyGridUserQuery;
import com.ruoyi.system.service.TLargeKeyGridUserService;
import com.ruoyi.system.vo.TLargeKeyGridUserVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 大屏-重点人员-网格人员 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "大屏-重点人员-网格人员")
@RestController
@RequestMapping("/t-large-key-grid-user")
public class TLargeKeyGridUserController {
    private final TLargeKeyGridUserService largeKeyGridUserService;
    @Autowired
    public TLargeKeyGridUserController(TLargeKeyGridUserService largeKeyGridUserService) {
        this.largeKeyGridUserService = largeKeyGridUserService;
    }
    /**
     * 获取重点人员-网格人员管理列表
     */
    @ApiOperation(value = "获取重点人员-网格人员分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TLargeKeyGridUserVO>> pageList(@Validated @RequestBody TLargeKeyGridUserQuery query) {
        return R.ok(largeKeyGridUserService.pageList(query));
    }
    /**
     * 获取重点人员-网格人员管理列表
     */
    @ApiOperation(value = "获取重点人员-网格人员分页列表-大屏使用")
    @PostMapping(value = "/pageListLarge")
    public R<PageInfo<TLargeKeyGridUserVO>> pageListLarge(@RequestBody TLargeKeyGridUserQuery query) {
        return R.ok(largeKeyGridUserService.pageList(query));
    }
    /**
     * 获取重点人员-网格人员管理列表
     */
    @ApiOperation(value = "获取重点人员-网格人员列表")
    @PostMapping(value = "/list")
    public R<List<TLargeKeyGridUser>> list() {
        return R.ok(largeKeyGridUserService.list(Wrappers.lambdaQuery(TLargeKeyGridUser.class).orderByDesc(TLargeKeyGridUser::getCreateTime)));
    }
    /**
     * 添加重点人员-网格人员管理
     */
    @Log(title = "重点人员-网格人员信息-新增重点人员-网格人员", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加重点人员-网格人员")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeKeyGridUser dto) {
        return R.ok(largeKeyGridUserService.save(dto));
    }
    /**
     * 修改重点人员-网格人员
     */
    @Log(title = "重点人员-网格人员信息-修改重点人员-网格人员", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改重点人员-网格人员")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeKeyGridUser dto) {
        return R.ok(largeKeyGridUserService.updateById(dto));
    }
    /**
     * 查看重点人员-网格人员详情
     */
    @ApiOperation(value = "查看重点人员-网格人员详情")
    @GetMapping(value = "/getDetailById")
    public R<TLargeKeyGridUser> getDetailById(@RequestParam String id) {
        return R.ok(largeKeyGridUserService.getById(id));
    }
    /**
     * 删除重点人员-网格人员
     */
    @Log(title = "重点人员-网格人员信息-删除重点人员-网格人员", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除重点人员-网格人员")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(largeKeyGridUserService.removeById(id));
    }
    /**
     * 批量删除重点人员-网格人员
     */
    @Log(title = "重点人员-网格人员信息-删除重点人员-网格人员", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除重点人员-网格人员")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(largeKeyGridUserService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeKeyPersonnelTypeController.java
New file
@@ -0,0 +1,137 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeKeyGridUser;
import com.ruoyi.system.model.TLargeKeyPersonnelType;
import com.ruoyi.system.service.TLargeKeyGridUserService;
import com.ruoyi.system.service.TLargeKeyPersonnelTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 大屏-重点人员分类 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "重点人员分类-重点人员分类")
@RestController
@RequestMapping("/t-large-key-personnel-type")
public class TLargeKeyPersonnelTypeController {
    private final TLargeKeyPersonnelTypeService largeKeyPersonnelTypeService;
    private final TLargeKeyGridUserService largeKeyGridUserService;
    @Autowired
    public TLargeKeyPersonnelTypeController(TLargeKeyPersonnelTypeService largeKeyPersonnelTypeService, TLargeKeyGridUserService largeKeyGridUserService) {
        this.largeKeyPersonnelTypeService = largeKeyPersonnelTypeService;
        this.largeKeyGridUserService = largeKeyGridUserService;
    }
    /**
     * 获取重点人员分类管理列表
     */
    @ApiOperation(value = "获取重点人员分类分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TLargeKeyPersonnelType>> pageList(@RequestBody BasePage query) {
        return R.ok(largeKeyPersonnelTypeService.pageList(query));
    }
    /**
     * 获取重点人员分类管理列表
     */
    @ApiOperation(value = "获取重点人员分类分页列表-大屏使用")
    @PostMapping(value = "/pageListLarge")
    public R<PageInfo<TLargeKeyPersonnelType>> pageListLarge(@RequestBody BasePage query) {
        return R.ok(largeKeyPersonnelTypeService.pageList(query));
    }
    /**
     * 获取重点人员分类管理列表
     */
    @ApiOperation(value = "获取重点人员分类列表")
    @PostMapping(value = "/list")
    public R<List<TLargeKeyPersonnelType>> list() {
        return R.ok(largeKeyPersonnelTypeService.list(Wrappers.lambdaQuery(TLargeKeyPersonnelType.class).orderByDesc(TLargeKeyPersonnelType::getCreateTime)));
    }
    /**
     * 添加重点人员分类管理
     */
    @Log(title = "重点人员分类信息-新增重点人员分类", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加重点人员分类")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeKeyPersonnelType dto) {
        if (largeKeyPersonnelTypeService.isExit(dto)) {
            return R.fail("人员分类已存在");
        }
        return R.ok(largeKeyPersonnelTypeService.save(dto));
    }
    /**
     * 修改重点人员分类
     */
    @Log(title = "重点人员分类信息-修改重点人员分类", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改重点人员分类")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeKeyPersonnelType dto) {
        if (largeKeyPersonnelTypeService.isExit(dto)) {
            return R.fail("人员分类已存在");
        }
        return R.ok(largeKeyPersonnelTypeService.updateById(dto));
    }
    /**
     * 查看重点人员分类详情
     */
    @ApiOperation(value = "查看重点人员分类详情")
    @GetMapping(value = "/getDetailById")
    public R<TLargeKeyPersonnelType> getDetailById(@RequestParam String id) {
        return R.ok(largeKeyPersonnelTypeService.getById(id));
    }
    /**
     * 删除重点人员分类
     */
    @Log(title = "重点人员分类信息-删除重点人员分类", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除重点人员分类")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        // 判断分类是否被使用
        long count = largeKeyGridUserService.count(Wrappers.lambdaQuery(TLargeKeyGridUser.class)
                .eq(TLargeKeyGridUser::getTypeId, id));
        if (count > 0) {
            return R.fail("该分类被使用,请先删除该分类下的人员");
        }
        return R.ok(largeKeyPersonnelTypeService.removeById(id));
    }
    /**
     * 批量删除重点人员分类
     */
    @Log(title = "重点人员分类信息-删除重点人员分类", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除重点人员分类")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        // 判断分类是否被使用
        long count = largeKeyGridUserService.count(Wrappers.lambdaQuery(TLargeKeyGridUser.class)
                .in(TLargeKeyGridUser::getTypeId, ids));
        if (count > 0) {
            return R.fail("该分类被使用,请先删除该分类下的人员");
        }
        return R.ok(largeKeyPersonnelTypeService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeOrganizationController.java
New file
@@ -0,0 +1,121 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeOrganization;
import com.ruoyi.system.query.TLargeOrganizationQuery;
import com.ruoyi.system.service.TLargeOrganizationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 大屏-社会组织 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "大屏-社会组织")
@RestController
@RequestMapping("/t-large-organization")
public class TLargeOrganizationController {
    private final TLargeOrganizationService largeOrganizationService;
    @Autowired
    public TLargeOrganizationController(TLargeOrganizationService largeOrganizationService) {
        this.largeOrganizationService = largeOrganizationService;
    }
    /**
     * 获取社会组织管理列表
     */
    @ApiOperation(value = "获取社会组织分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TLargeOrganization>> pageList(@RequestBody TLargeOrganizationQuery query) {
        return R.ok(largeOrganizationService.pageList(query));
    }
    /**
     * 获取社会组织管理列表
     */
    @ApiOperation(value = "获取社会组织分页列表-大屏使用")
    @PostMapping(value = "/pageListLarge")
    public R<PageInfo<TLargeOrganization>> pageListLarge(@RequestBody TLargeOrganizationQuery query) {
        return R.ok(largeOrganizationService.pageList(query));
    }
    /**
     * 获取社会组织管理列表
     */
    @ApiOperation(value = "获取社会组织列表")
    @PostMapping(value = "/list")
    public R<List<TLargeOrganization>> list() {
        return R.ok(largeOrganizationService.list(Wrappers.lambdaQuery(TLargeOrganization.class).orderByDesc(TLargeOrganization::getCreateTime)));
    }
    /**
     * 添加社会组织管理
     */
    @Log(title = "社会组织信息-新增社会组织", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加社会组织")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeOrganization dto) {
        if (largeOrganizationService.isExit(dto)) {
            return R.fail("组织名称已存在");
        }
        return R.ok(largeOrganizationService.save(dto));
    }
    /**
     * 修改社会组织
     */
    @Log(title = "社会组织信息-修改社会组织", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改社会组织")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeOrganization dto) {
        if (largeOrganizationService.isExit(dto)) {
            return R.fail("组织名称已存在");
        }
        return R.ok(largeOrganizationService.updateById(dto));
    }
    /**
     * 查看社会组织详情
     */
    @ApiOperation(value = "查看社会组织详情")
    @GetMapping(value = "/getDetailById")
    public R<TLargeOrganization> getDetailById(@RequestParam String id) {
        return R.ok(largeOrganizationService.getById(id));
    }
    /**
     * 删除社会组织
     */
    @Log(title = "社会组织信息-删除社会组织", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除社会组织")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(largeOrganizationService.removeById(id));
    }
    /**
     * 批量删除社会组织
     */
    @Log(title = "社会组织信息-删除社会组织", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除社会组织")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(largeOrganizationService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeResourceController.java
New file
@@ -0,0 +1,117 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeResource;
import com.ruoyi.system.query.TLargeResourceQuery;
import com.ruoyi.system.service.TLargeResourceService;
import com.ruoyi.system.vo.TLargeResourceVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 大屏-社区资源 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "大屏-社区资源")
@RestController
@RequestMapping("/t-large-resource")
public class TLargeResourceController {
    private final TLargeResourceService largeResourceService;
    @Autowired
    public TLargeResourceController(TLargeResourceService largeResourceService) {
        this.largeResourceService = largeResourceService;
    }
    /**
     * 获取社区资源管理列表
     */
    @ApiOperation(value = "获取社区资源分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TLargeResourceVO>> pageList(@RequestBody TLargeResourceQuery query) {
        return R.ok(largeResourceService.pageList(query));
    }
    /**
     * 获取社区资源管理列表
     */
    @ApiOperation(value = "获取社区资源分页列表-大屏使用")
    @PostMapping(value = "/pageListLarge")
    public R<PageInfo<TLargeResourceVO>> pageListLarge(@RequestBody TLargeResourceQuery query) {
        return R.ok(largeResourceService.pageList(query));
    }
    /**
     * 获取社区资源管理列表
     */
    @ApiOperation(value = "获取社区资源列表")
    @PostMapping(value = "/list")
    public R<List<TLargeResource>> list() {
        return R.ok(largeResourceService.list(Wrappers.lambdaQuery(TLargeResource.class).orderByDesc(TLargeResource::getCreateTime)));
    }
    /**
     * 添加社区资源管理
     */
    @Log(title = "社区资源信息-新增社区资源", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加社区资源")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeResource dto) {
        return R.ok(largeResourceService.save(dto));
    }
    /**
     * 修改社区资源
     */
    @Log(title = "社区资源信息-修改社区资源", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改社区资源")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeResource dto) {
        return R.ok(largeResourceService.updateById(dto));
    }
    /**
     * 查看社区资源详情
     */
    @ApiOperation(value = "查看社区资源详情")
    @GetMapping(value = "/getDetailById")
    public R<TLargeResource> getDetailById(@RequestParam String id) {
        return R.ok(largeResourceService.getById(id));
    }
    /**
     * 删除社区资源
     */
    @Log(title = "社区资源信息-删除社区资源", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除社区资源")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(largeResourceService.removeById(id));
    }
    /**
     * 批量删除社区资源
     */
    @Log(title = "社区资源信息-删除社区资源", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除社区资源")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(largeResourceService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeResourceTypeController.java
New file
@@ -0,0 +1,122 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeResource;
import com.ruoyi.system.model.TLargeResourceType;
import com.ruoyi.system.service.TLargeResourceService;
import com.ruoyi.system.service.TLargeResourceTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
 * 大屏-社区资源分类 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "大屏-社区资源分类")
@RestController
@RequestMapping("/t-large-resource-type")
public class TLargeResourceTypeController {
    private final TLargeResourceTypeService largeResourceTypeService;
    private final TLargeResourceService largeResourceService;
    @Autowired
    public TLargeResourceTypeController(TLargeResourceTypeService largeResourceTypeService, TLargeResourceService largeResourceService) {
        this.largeResourceTypeService = largeResourceTypeService;
        this.largeResourceService = largeResourceService;
    }
    /**
     * 获取社区资源分类管理列表
     */
    @ApiOperation(value = "获取社区资源分类列表")
    @PostMapping(value = "/list")
    public R<List<TLargeResourceType>> list() {
        List<TLargeResourceType> allList = largeResourceTypeService.list(Wrappers.lambdaQuery(TLargeResourceType.class).orderByDesc(TLargeResourceType::getCreateTime));
        List<TLargeResourceType> parent = allList.stream().filter(item -> "0".equals(item.getParentId())).collect(Collectors.toList());
        for (TLargeResourceType tLargeResourceType : parent) {
            List<TLargeResourceType> children = allList.stream().filter(item -> tLargeResourceType.getId().equals(item.getParentId())).collect(Collectors.toList());
            tLargeResourceType.setChildren(children);
        }
        return R.ok(parent);
    }
    /**
     * 添加社区资源分类管理
     */
    @Log(title = "社区资源分类信息-新增社区资源分类", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加社区资源分类")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeResourceType dto) {
        return R.ok(largeResourceTypeService.save(dto));
    }
    /**
     * 修改社区资源分类
     */
    @Log(title = "社区资源分类信息-修改社区资源分类", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改社区资源分类")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeResourceType dto) {
        return R.ok(largeResourceTypeService.updateById(dto));
    }
    /**
     * 查看社区资源分类详情
     */
    @ApiOperation(value = "查看社区资源分类详情")
    @GetMapping(value = "/getDetailById")
    public R<TLargeResourceType> getDetailById(@RequestParam String id) {
        return R.ok(largeResourceTypeService.getById(id));
    }
    /**
     * 删除社区资源分类
     */
    @Log(title = "社区资源分类信息-删除社区资源分类", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除社区资源分类")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        // 判断是否已有分类被使用
        long count = largeResourceService.count(Wrappers.lambdaQuery(TLargeResource.class)
                .and(e -> e.eq(TLargeResource::getTypeParentId, id).or().eq(TLargeResource::getTypeChildrenId, id)));
        if (count > 0) {
            return R.fail("该分类已被使用,请先删除该分类下的资源");
        }
        return R.ok(largeResourceTypeService.removeById(id));
    }
    /**
     * 批量删除社区资源分类
     */
    @Log(title = "社区资源分类信息-删除社区资源分类", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除社区资源分类")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        // 判断是否已有分类被使用
        long count = largeResourceService.count(Wrappers.lambdaQuery(TLargeResource.class)
                .and(e -> e.in(TLargeResource::getTypeParentId, ids).or().in(TLargeResource::getTypeChildrenId, ids)));
        if (count > 0) {
            return R.fail("该分类已被使用,请先删除该分类下的资源");
        }
        return R.ok(largeResourceTypeService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeSocialWorkerController.java
New file
@@ -0,0 +1,115 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeSocialWorker;
import com.ruoyi.system.query.TLargeSocialWorkerQuery;
import com.ruoyi.system.service.TLargeSocialWorkerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 大屏-社会工作者 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "大屏-社会工作者")
@RestController
@RequestMapping("/t-large-social-worker")
public class TLargeSocialWorkerController {
    private final TLargeSocialWorkerService largeSocialWorkerService;
    @Autowired
    public TLargeSocialWorkerController(TLargeSocialWorkerService largeSocialWorkerService) {
        this.largeSocialWorkerService = largeSocialWorkerService;
    }
    /**
     * 获取社会工作者管理列表
     */
    @ApiOperation(value = "获取社会工作者分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TLargeSocialWorker>> pageList(@RequestBody TLargeSocialWorkerQuery query) {
        return R.ok(largeSocialWorkerService.pageList(query));
    }
    /**
     * 获取社会工作者管理列表
     */
    @ApiOperation(value = "获取社会工作者分页列表-大屏使用")
    @PostMapping(value = "/pageListLarge")
    public R<PageInfo<TLargeSocialWorker>> pageListLarge(@RequestBody TLargeSocialWorkerQuery query) {
        return R.ok(largeSocialWorkerService.pageList(query));
    }
    /**
     * 获取社会工作者管理列表
     */
    @ApiOperation(value = "获取社会工作者列表")
    @PostMapping(value = "/list")
    public R<List<TLargeSocialWorker>> list() {
        return R.ok(largeSocialWorkerService.list(Wrappers.lambdaQuery(TLargeSocialWorker.class).orderByDesc(TLargeSocialWorker::getCreateTime)));
    }
    /**
     * 添加社会工作者管理
     */
    @Log(title = "社会工作者信息-新增社会工作者", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加社会工作者")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeSocialWorker dto) {
        return R.ok(largeSocialWorkerService.save(dto));
    }
    /**
     * 修改社会工作者
     */
    @Log(title = "社会工作者信息-修改社会工作者", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改社会工作者")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeSocialWorker dto) {
        return R.ok(largeSocialWorkerService.updateById(dto));
    }
    /**
     * 查看社会工作者详情
     */
    @ApiOperation(value = "查看社会工作者详情")
    @GetMapping(value = "/getDetailById")
    public R<TLargeSocialWorker> getDetailById(@RequestParam String id) {
        return R.ok(largeSocialWorkerService.getById(id));
    }
    /**
     * 删除社会工作者
     */
    @Log(title = "社会工作者信息-删除社会工作者", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除社会工作者")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(largeSocialWorkerService.removeById(id));
    }
    /**
     * 批量删除社会工作者
     */
    @Log(title = "社会工作者信息-删除社会工作者", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除社会工作者")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(largeSocialWorkerService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeUserController.java
New file
@@ -0,0 +1,118 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeUser;
import com.ruoyi.system.query.TLargeUserQuery;
import com.ruoyi.system.service.TLargeUserService;
import com.ruoyi.system.vo.TLargeUserVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 大屏-组织人员 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "大屏-组织人员")
@RestController
@RequestMapping("/t-large-user")
public class TLargeUserController {
    private final TLargeUserService largeUserService;
    @Autowired
    public TLargeUserController(TLargeUserService largeUserService) {
        this.largeUserService = largeUserService;
    }
    /**
     * 获取组织人员管理列表
     */
    @ApiOperation(value = "获取组织人员分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TLargeUserVO>> pageList(@RequestBody TLargeUserQuery query) {
        return R.ok(largeUserService.pageList(query));
    }
    /**
     * 获取组织人员管理列表
     */
    @ApiOperation(value = "获取组织人员分页列表-大屏使用")
    @PostMapping(value = "/pageListLarge")
    public R<PageInfo<TLargeUserVO>> pageListLarge(@RequestBody TLargeUserQuery query) {
        return R.ok(largeUserService.pageList(query));
    }
    /**
     * 获取组织人员管理列表
     */
    @ApiOperation(value = "获取组织人员列表")
    @PostMapping(value = "/list")
    public R<List<TLargeUser>> list() {
        return R.ok(largeUserService.list(Wrappers.lambdaQuery(TLargeUser.class).orderByDesc(TLargeUser::getCreateTime)));
    }
    /**
     * 添加组织人员管理
     */
    @Log(title = "组织人员信息-新增组织人员", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加组织人员")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeUser dto) {
        return R.ok(largeUserService.save(dto));
    }
    /**
     * 修改组织人员
     */
    @Log(title = "组织人员信息-修改组织人员", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改组织人员")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeUser dto) {
        return R.ok(largeUserService.updateById(dto));
    }
    /**
     * 查看组织人员详情
     */
    @ApiOperation(value = "查看组织人员详情")
    @GetMapping(value = "/getDetailById")
    public R<TLargeUser> getDetailById(@RequestParam String id) {
        return R.ok(largeUserService.getById(id));
    }
    /**
     * 删除组织人员
     */
    @Log(title = "组织人员信息-删除组织人员", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除组织人员")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(largeUserService.removeById(id));
    }
    /**
     * 批量删除组织人员
     */
    @Log(title = "组织人员信息-删除组织人员", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除组织人员")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(largeUserService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLargeVolunteerController.java
New file
@@ -0,0 +1,115 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TLargeVolunteer;
import com.ruoyi.system.query.TLargeVolunteerQuery;
import com.ruoyi.system.service.TLargeVolunteerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 大屏-社区志愿者 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Api(tags = "大屏-社区志愿者")
@RestController
@RequestMapping("/t-large-volunteer")
public class TLargeVolunteerController {
    private final TLargeVolunteerService largeVolunteerService;
    @Autowired
    public TLargeVolunteerController(TLargeVolunteerService largeVolunteerService) {
        this.largeVolunteerService = largeVolunteerService;
    }
    /**
     * 获取社区志愿者管理列表
     */
    @ApiOperation(value = "获取社区志愿者分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TLargeVolunteer>> pageList(@RequestBody TLargeVolunteerQuery query) {
        return R.ok(largeVolunteerService.pageList(query));
    }
    /**
     * 获取社区志愿者管理列表
     */
    @ApiOperation(value = "获取社区志愿者分页列表-大屏使用")
    @PostMapping(value = "/pageListLarge")
    public R<PageInfo<TLargeVolunteer>> pageListLarge(@RequestBody TLargeVolunteerQuery query) {
        return R.ok(largeVolunteerService.pageList(query));
    }
    /**
     * 获取社区志愿者管理列表
     */
    @ApiOperation(value = "获取社区志愿者列表")
    @PostMapping(value = "/list")
    public R<List<TLargeVolunteer>> list() {
        return R.ok(largeVolunteerService.list(Wrappers.lambdaQuery(TLargeVolunteer.class).orderByDesc(TLargeVolunteer::getCreateTime)));
    }
    /**
     * 添加社区志愿者管理
     */
    @Log(title = "社区志愿者信息-新增社区志愿者", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加社区志愿者")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TLargeVolunteer dto) {
        return R.ok(largeVolunteerService.save(dto));
    }
    /**
     * 修改社区志愿者
     */
    @Log(title = "社区志愿者信息-修改社区志愿者", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改社区志愿者")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TLargeVolunteer dto) {
        return R.ok(largeVolunteerService.updateById(dto));
    }
    /**
     * 查看社区志愿者详情
     */
    @ApiOperation(value = "查看社区志愿者详情")
    @GetMapping(value = "/getDetailById")
    public R<TLargeVolunteer> getDetailById(@RequestParam String id) {
        return R.ok(largeVolunteerService.getById(id));
    }
    /**
     * 删除社区志愿者
     */
    @Log(title = "社区志愿者信息-删除社区志愿者", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除社区志愿者")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(largeVolunteerService.removeById(id));
    }
    /**
     * 批量删除社区志愿者
     */
    @Log(title = "社区志愿者信息-删除社区志愿者", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除社区志愿者")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(largeVolunteerService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TMicroWishController.java
@@ -1,9 +1,26 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.dto.HandlingWishesDTO;
import com.ruoyi.system.dto.ReviewWishesDTO;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.model.TMicroWish;
import com.ruoyi.system.query.TMicroWishQuery;
import com.ruoyi.system.service.TMicroWishService;
import com.ruoyi.system.service.TMicroWishService;
import com.ruoyi.system.vo.TMicroWishVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * <p>
@@ -13,9 +30,83 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "心愿发布")
@RestController
@RequestMapping("/t-micro-wish")
public class TMicroWishController {
    private final TMicroWishService microWishService;
    @Autowired
    public TMicroWishController(TMicroWishService microWishService) {
        this.microWishService = microWishService;
    }
    /**
     * 获取心愿发布管理列表
     */
    @ApiOperation(value = "获取心愿发布分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TMicroWishVO>> pageList(@RequestBody TMicroWishQuery query) {
        return R.ok(microWishService.pageList(query));
    }
    /**
     * 查看心愿发布详情
     */
    @ApiOperation(value = "查看心愿发布详情")
    @GetMapping(value = "/getDetailById")
    public R<TMicroWish> getDetailById(@RequestParam String id) {
        return R.ok(microWishService.getById(id));
    }
    /**
     * 删除心愿发布
     */
    @Log(title = "心愿发布信息-删除心愿发布", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除心愿发布")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(microWishService.removeById(id));
    }
    /**
     * 批量删除心愿发布
     */
    @Log(title = "心愿发布信息-删除心愿发布", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除心愿发布")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(microWishService.removeByIds(ids));
    }
    /**
     * 审核心愿
     */
    @Log(title = "心愿发布信息-审核心愿", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "审核心愿")
    @PostMapping(value = "/reviewWishes")
    public R<Boolean> reviewWishes(@RequestBody ReviewWishesDTO dto) {
        microWishService.update(Wrappers.lambdaUpdate(TMicroWish.class)
                .set(TMicroWish::getStatus, dto.getStatus())
                .set(TMicroWish::getAuditRemark, dto.getAuditRemark())
                .eq(TMicroWish::getId, dto.getId()));
        return R.ok();
    }
    /**
     * 处理心愿
     */
    @Log(title = "心愿发布信息-处理心愿", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "处理心愿")
    @PostMapping(value = "/handlingWishes")
    public R<Boolean> handlingWishes(@RequestBody HandlingWishesDTO dto) {
        microWishService.update(Wrappers.lambdaUpdate(TMicroWish.class)
                .set(TMicroWish::getStatus, dto.getStatus())
                .set(TMicroWish::getProcessResult, dto.getProcessResult())
                .set(TMicroWish::getProcessPictures, dto.getProcessPictures())
                .eq(TMicroWish::getId, dto.getId()));
        return R.ok();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOldsterWarningController.java
@@ -1,8 +1,25 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.model.TOldster;
import com.ruoyi.system.model.TOldsterWarning;
import com.ruoyi.system.model.TPartyBuilding;
import com.ruoyi.system.query.OldsterListQuery;
import com.ruoyi.system.query.TPartyBuildingQuery;
import com.ruoyi.system.service.TOldsterService;
import com.ruoyi.system.service.TOldsterWarningService;
import com.ruoyi.system.service.TPartyBuildingService;
import com.ruoyi.system.vo.TOldsterWarningVO;
import com.ruoyi.system.vo.TPartyBuildingVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
/**
 * <p>
@@ -12,9 +29,54 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "老人预警管理")
@RestController
@RequestMapping("/t-oldster-warning")
public class TOldsterWarningController {
    private final TOldsterWarningService oldsterWarningService;
    private final TOldsterService oldsterService;
    @Autowired
    public TOldsterWarningController(TOldsterWarningService oldsterWarningService, TOldsterService oldsterService) {
        this.oldsterWarningService = oldsterWarningService;
        this.oldsterService = oldsterService;
    }
    /**
     * 获取老人预警管理列表
     */
    @ApiOperation(value = "获取老人预警管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TOldsterWarningVO>> pageList(@RequestBody OldsterListQuery query) {
        return R.ok(oldsterWarningService.pageList(query));
    }
    /**
     * 查看老人预警管理详情
     */
    @ApiOperation(value = "查看老人预警管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TOldsterWarningVO> getDetailById(@RequestParam String id) {
        TOldsterWarning oldsterWarning = oldsterWarningService.getById(id);
        TOldsterWarningVO oldsterWarningVO = new TOldsterWarningVO();
        BeanUtils.copyProperties(oldsterWarning, oldsterWarningVO);
        // 查询老人信息
        TOldster oldster = oldsterService.getById(oldsterWarning.getOldsterId());
        if(Objects.nonNull(oldster)){
            oldsterWarningVO.setOldsterName(oldster.getOldsterName());
            oldsterWarningVO.setOldsterAge(oldster.getOldsterAge());
            oldsterWarningVO.setOldsterSex(oldster.getOldsterSex());
            oldsterWarningVO.setContactPhone(oldster.getContactPhone());
            oldsterWarningVO.setGuardianName(oldster.getGuardianName());
            oldsterWarningVO.setGuardianPhone(oldster.getGuardianPhone());
            oldsterWarningVO.setAddress(oldster.getAddress());
            oldsterWarningVO.setPassportPhoto(oldster.getPassportPhoto());
            oldsterWarningVO.setIdCard(oldster.getIdCard());
            oldsterWarningVO.setBirthDate(oldster.getBirthDate());
            oldsterWarningVO.setOldsterType(oldster.getOldsterType());
        }
        return R.ok(oldsterWarningVO);
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOtherConfigController.java
@@ -1,8 +1,18 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TOtherConfig;
import com.ruoyi.system.model.TPartyBuilding;
import com.ruoyi.system.service.TOtherConfigService;
import com.ruoyi.system.service.TPartyBuildingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
 * <p>
@@ -12,9 +22,34 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "系统其他设置")
@RestController
@RequestMapping("/t-other-config")
public class TOtherConfigController {
    private final TOtherConfigService otherConfigService;
    @Autowired
    public TOtherConfigController(TOtherConfigService otherConfigService) {
        this.otherConfigService = otherConfigService;
    }
    /**
     * 修改系统其他设置
     */
    @Log(title = "系统其他设置管理信息-修改系统其他设置", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改系统其他设置-通知阈值管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TOtherConfig dto) {
        return R.ok(otherConfigService.updateById(dto));
    }
    /**
     * 查看系统其他设置详情
     */
    @ApiOperation(value = "查看系统其他设置详情")
    @GetMapping(value = "/getDetailById")
    public R<TOtherConfig> getDetailById() {
        return R.ok(otherConfigService.getById(1));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPartyBuildingController.java
@@ -6,6 +6,7 @@
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TPartyBuilding;
import com.ruoyi.system.query.TPartyBuildingQuery;
import com.ruoyi.system.service.TPartyBuildingService;
@@ -32,9 +33,11 @@
public class TPartyBuildingController {
    private final TPartyBuildingService partyBuildingService;
    private final TokenService tokenService;
    @Autowired
    public TPartyBuildingController(TPartyBuildingService partyBuildingService) {
    public TPartyBuildingController(TPartyBuildingService partyBuildingService, TokenService tokenService) {
        this.partyBuildingService = partyBuildingService;
        this.tokenService = tokenService;
    }
    /**
@@ -65,6 +68,8 @@
        if (partyBuildingService.isExit(dto)) {
            return R.fail("党建引领管理标题已存在");
        }
        String nickName = tokenService.getLoginUser().getUser().getNickName();
        dto.setReleasePerson(nickName);
        return R.ok(partyBuildingService.save(dto));
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -57,7 +57,7 @@
     * @return 结果
     */
    @ApiOperation(value = "账号密码登录",notes = "账号密码登录")
    @PostMapping("/api/login")
    @PostMapping("/login")
    public AjaxResult login(@RequestBody String param)
    {
        LoginBody loginBody = JSON.parseObject(param, LoginBody.class);
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -175,7 +175,7 @@
//    @PreAuthorize("@ss.hasPermi('system:role:edit')")
    @ApiOperation(value = "编辑角色",response = SysRoleDTO.class)
    @Log(title = "角色信息-编辑角色", businessType = BusinessType.UPDATE)
    @PostMapping("/api/system/role/edit")
    @PostMapping("/system/role/edit")
    public R<String> edit(@RequestBody String param)
    {
        SysRoleDTO dto = JSON.parseObject(param, SysRoleDTO.class);
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -224,7 +224,7 @@
    // @PreAuthorize("@ss.hasPermi('system:user:edit')")
    @ApiOperation(value = "修改用户签名")
    @Log(title = "用户信息-修改用户签名", businessType = BusinessType.UPDATE)
    @PostMapping("/api/system/user/editSignPicture")
    @PostMapping("/system/user/editSignPicture")
    public R editSignPicture(@RequestBody String param)
    {
        Long userId = tokenService.getLoginUser().getUserId();
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
@@ -113,9 +113,9 @@
        // 用ApiInfoBuilder进行定制
        return new ApiInfoBuilder()
                // 设置标题
                .title("标题:智能派单管理系统_接口文档")
                .title("标题:移动社区管理系统_接口文档")
                // 描述
                .description("智能派单接口文档")
                .description("移动社区接口文档")
                // 作者信息
                .contact(new Contact(ruoyiConfig.getName(), null, null))
                // 版本
ruoyi-applet/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
@@ -113,9 +113,9 @@
        // 用ApiInfoBuilder进行定制
        return new ApiInfoBuilder()
                // 设置标题
                .title("标题:智能派单管理系统_接口文档")
                .title("标题:移动社区管理系统_接口文档")
                // 描述
                .description("智能派单接口文档")
                .description("移动社区接口文档")
                // 作者信息
                .contact(new Contact(ruoyiConfig.getName(), null, null))
                // 版本
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java
@@ -40,7 +40,7 @@
        }
        String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
//        String realPath = fileUploadConfig.getLocation() + TimeDir;
        String realPath = "F:\\file\\laboratory\\" + TimeDir;
        String realPath = "F:\\file\\mobile\\" + TimeDir;
        File file = new File(realPath);
        // 没有目录就创建
        if (!file.exists()) {
ruoyi-common/src/main/java/com/ruoyi/common/filter/RequestFilterConfig.java
@@ -7,14 +7,14 @@
@Configuration
public class RequestFilterConfig {
    @Bean
    public FilterRegistrationBean<SmCryptoFilter> loggingFilter(){
        FilterRegistrationBean<SmCryptoFilter> registrationBean = new FilterRegistrationBean<>();
        registrationBean.setFilter(new SmCryptoFilter());
        registrationBean.addUrlPatterns("/api/*"); // 根据实际需求调整URL模式
//        registrationBean.addInitParameter("excludedUrls","/api/*");
        return registrationBean;
    }
//    @Bean
//    public FilterRegistrationBean<SmCryptoFilter> loggingFilter(){
//        FilterRegistrationBean<SmCryptoFilter> registrationBean = new FilterRegistrationBean<>();
//
//        registrationBean.setFilter(new SmCryptoFilter());
//        registrationBean.addUrlPatterns("/api/*"); // 根据实际需求调整URL模式
////        registrationBean.addInitParameter("excludedUrls","/api/*");
//
//        return registrationBean;
//    }
}
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
@@ -389,4 +389,13 @@
        return LocalDate.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
    }
    /**
     *  LocalDateTime转为Date
     * @param time
     * @return
     */
    public static Date localDateTimeToDate(LocalDateTime time) {
        return Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
    }
}
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -112,18 +112,23 @@
                .authorizeRequests()
                // 对于登录login 注册register 验证码captchaImage 允许匿名访问
                .antMatchers("/getPrivacyAgreement/{agreementType}",
                        "/applet/queryProtocolConfigByType","/api/loginApp",
                        "/api/login","/open/login","/applet/queryProtocolConfigByType",
                        "/applet/queryProtocolConfigByType","/loginApp",
                        "/login","/open/login","/applet/queryProtocolConfigByType",
                        "/register","/applet/getCode","/applet/loginCode",
                        "/applet/changepwd", "/captchaImage","/getCode","/loginCode",
                        "/operations/getBySingleNum/**",
                        "/user/getUserInfoByNumber/**",
                        "/index/**",
                        "/employment/**",
                        "/partyBuilding/**",
                        "/convenience/**",
                        "/merchant/**"
                        "/merchant/**",
                        "/t-appeal-services/pageListLarge","/t-large-dept/list",
                        "/t-large-key-grid-user/pageListLarge","/t-large-key-personnel-type/pageListLarge",
                        "/t-large-organization/pageListLarge","/t-large-resource/pageListLarge",
                        "/t-large-resource-type/list","/t-large-social-worker/pageListLarge",
                        "/t-large-user/pageListLarge","/t-large-volunteer/pageListLarge",
                        "/statistics/**"
                ).permitAll()
                // 静态资源,可匿名访问
                .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
ruoyi-system/src/main/java/com/ruoyi/system/dto/HandlingWishesDTO.java
New file
@@ -0,0 +1,24 @@
package com.ruoyi.system.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel(value = "处理心愿DTO")
public class HandlingWishesDTO implements Serializable {
    @ApiModelProperty(value = "心愿id")
    private String id;
    @ApiModelProperty(value = "状态 1=待审核 2=已公开 3=已驳回 4=待处理 5=已处理")
    private Integer status;
    @ApiModelProperty(value = "处理结果")
    private String processResult;
    @ApiModelProperty(value = "处理凭证")
    private String processPictures;
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/ReviewWishesDTO.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.system.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel(value = "审核心愿DTO")
public class ReviewWishesDTO implements Serializable {
    @ApiModelProperty(value = "心愿id")
    private String id;
    @ApiModelProperty(value = "状态 1=待审核 2=已公开 3=已驳回 4=待处理 5=已处理")
    private Integer status;
    @ApiModelProperty(value = "审核意见")
    private String auditRemark;
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/TCommunityActivityDTO.java
New file
@@ -0,0 +1,12 @@
package com.ruoyi.system.dto;
import com.ruoyi.system.model.TCommunityActivity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value="TCommunityActivity对象", description="社区活动")
public class TCommunityActivityDTO extends TCommunityActivity {
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/TDeliberationVoteDTO.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.dto;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.model.TDeliberationVoteOption;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "TDeliberationVote对象", description = "议事投票")
public class TDeliberationVoteDTO extends TDeliberationVote {
    @ApiModelProperty(value = "选项集合")
    private List<TDeliberationVoteOption> deliberationVoteOptions;
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCommunityActivityMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCommunityActivity;
import com.ruoyi.system.query.TCommunityActivityQuery;
import com.ruoyi.system.vo.TCommunityActivityVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,12 @@
 */
public interface TCommunityActivityMapper extends BaseMapper<TCommunityActivity> {
    /**
     * 获取社区活动分页列表
     *
     * @param query
     * @return
     */
    List<TCommunityActivityVO> pageList(@Param("query") TCommunityActivityQuery query, @Param("pageInfo")PageInfo<TCommunityActivityVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCommunityActivityRegistrationMapper.java
@@ -1,7 +1,12 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCommunityActivityRegistration;
import com.ruoyi.system.query.RegistrationPageListQuery;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +18,12 @@
 */
public interface TCommunityActivityRegistrationMapper extends BaseMapper<TCommunityActivityRegistration> {
    /**
     * 获取列表
     *
     * @param query
     * @param pageInfo
     * @return
     */
    List<TCommunityActivityRegistration> registrationPageList(@Param("query") RegistrationPageListQuery query, @Param("pageInfo")PageInfo<TCommunityActivityRegistration> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeliberationVoteMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.query.TDeliberationVoteQuery;
import com.ruoyi.system.vo.TDeliberationVoteVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,8 @@
 */
public interface TDeliberationVoteMapper extends BaseMapper<TDeliberationVote> {
    /**
     * 获取议事投票管理分页列表
     */
    List<TDeliberationVoteVO> pageList(@Param("query")TDeliberationVoteQuery query, @Param("pageInfo")PageInfo<TDeliberationVoteVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeDeptMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.model.TLargeDept;
/**
 * <p>
 * 大屏-组织部门 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeDeptMapper extends BaseMapper<TLargeDept> {
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeKeyGridUserMapper.java
New file
@@ -0,0 +1,31 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeKeyGridUser;
import com.ruoyi.system.query.TLargeKeyGridUserQuery;
import com.ruoyi.system.vo.TLargeKeyGridUserVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 大屏-重点人员-网格人员 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeKeyGridUserMapper extends BaseMapper<TLargeKeyGridUser> {
    /**
     * 获取重点人员-网格人员列表
     * @param query
     * @param pageInfo
     * @return
     */
    List<TLargeKeyGridUserVO> pageList(@Param("query") TLargeKeyGridUserQuery query, @Param("pageInfo")PageInfo<TLargeKeyGridUserVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeKeyPersonnelTypeMapper.java
New file
@@ -0,0 +1,26 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.system.model.TLargeKeyPersonnelType;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 大屏-重点人员分类 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeKeyPersonnelTypeMapper extends BaseMapper<TLargeKeyPersonnelType> {
    /**
     * 获取重点人员分类管理列表
     */
    List<TLargeKeyPersonnelType> pageList(@Param("query")BasePage query, @Param("pageInfo")PageInfo<TLargeKeyPersonnelType> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeOrganizationMapper.java
New file
@@ -0,0 +1,26 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeOrganization;
import com.ruoyi.system.query.TLargeOrganizationQuery;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 大屏-社会组织 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeOrganizationMapper extends BaseMapper<TLargeOrganization> {
    /**
     * 获取社会组织管理列表
     */
    List<TLargeOrganization> pageList(@Param("query") TLargeOrganizationQuery query, @Param("pageInfo")PageInfo<TLargeOrganization> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeResourceMapper.java
New file
@@ -0,0 +1,26 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeResource;
import com.ruoyi.system.query.TLargeResourceQuery;
import com.ruoyi.system.vo.TLargeResourceVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 大屏-社区资源 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeResourceMapper extends BaseMapper<TLargeResource> {
    /**
     * 获取社区资源列表
     */
    List<TLargeResourceVO> pageList(@Param("query") TLargeResourceQuery query, @Param("pageInfo")PageInfo<TLargeResourceVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeResourceTypeMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.model.TLargeResourceType;
/**
 * <p>
 * 大屏-社区资源分类 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeResourceTypeMapper extends BaseMapper<TLargeResourceType> {
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeSocialWorkerMapper.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeSocialWorker;
import com.ruoyi.system.query.TLargeSocialWorkerQuery;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 大屏-社会工作者 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeSocialWorkerMapper extends BaseMapper<TLargeSocialWorker> {
    /**
     * 获取社会工作者分页列表
     */
    List<TLargeSocialWorker> pageList(@Param("query") TLargeSocialWorkerQuery query, @Param("pageInfo")PageInfo<TLargeSocialWorker> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeUserMapper.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeUser;
import com.ruoyi.system.query.TLargeUserQuery;
import com.ruoyi.system.vo.TLargeUserVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 大屏-组织人员 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeUserMapper extends BaseMapper<TLargeUser> {
    /**
     * 获取组织人员管理列表
     */
    List<TLargeUserVO> pageList(@Param("query") TLargeUserQuery query, @Param("pageInfo")PageInfo<TLargeUserVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLargeVolunteerMapper.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeVolunteer;
import com.ruoyi.system.query.TLargeVolunteerQuery;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 大屏-社区志愿者 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeVolunteerMapper extends BaseMapper<TLargeVolunteer> {
    /**
     * 获取社区志愿者管理列表
     */
    List<TLargeVolunteer> pageList(@Param("query") TLargeVolunteerQuery query, @Param("pageInfo")PageInfo<TLargeVolunteer> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TMicroWishMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TMicroWish;
import com.ruoyi.system.query.TMicroWishQuery;
import com.ruoyi.system.vo.TMicroWishVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,8 @@
 */
public interface TMicroWishMapper extends BaseMapper<TMicroWish> {
    /**
     * 获取心愿发布分页列表
     */
    List<TMicroWishVO> pageList(@Param("query") TMicroWishQuery query, @Param("pageInfo")PageInfo<TMicroWishVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOldsterWarningMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TOldsterWarning;
import com.ruoyi.system.query.OldsterListQuery;
import com.ruoyi.system.vo.TOldsterWarningVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,11 @@
 */
public interface TOldsterWarningMapper extends BaseMapper<TOldsterWarning> {
    /**
     * 获取老人预警管理列表
     * @param query
     * @param pageInfo
     * @return
     */
    List<TOldsterWarningVO> pageList(@Param("query") OldsterListQuery query, @Param("pageInfo")PageInfo<TOldsterWarningVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TDeliberationVoteOption.java
@@ -42,8 +42,6 @@
    @TableField("vote_count")
    private String voteCount;
    @ApiModelProperty(value = "投票人数")
    @TableField(exist = false)
    private Integer voteCountNum;
ruoyi-system/src/main/java/com/ruoyi/system/model/THtmlConfig.java
@@ -30,7 +30,7 @@
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "类型 1=托育服务 2=阅芽计划 3=办事指南图文指引 4=暖心服务图片 5=注册协议 6=隐私政策 7=学习申请书 8=安全告知书 9=购买支付说明 10=微心愿风险提示 11=群众诉求服务说明 12=随手拍说明 13=康年年图文介绍")
    @ApiModelProperty(value = "类型 1=托育服务 2=阅芽计划 3=办事指南图文指引 4=暖心服务图片 5=注册协议 6=隐私政策 7=学习申请书 8=安全告知书 9=购买支付说明 10=微心愿风险提示 11=群众诉求服务说明 12=随手拍说明 13=康年年图文介绍 14=社区地图 15=社区概况")
    @TableField("config_type")
    private Integer configType;
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeDept.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 大屏-组织部门
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_dept")
@ApiModel(value="TLargeDept对象", description="大屏-组织部门")
public class TLargeDept extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @TableField("dept_name")
    private String deptName;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeKeyGridUser.java
New file
@@ -0,0 +1,76 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 大屏-重点人员-网格人员
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_key_grid_user")
@ApiModel(value="TLargeKeyGridUser对象", description="大屏-重点人员-网格人员")
public class TLargeKeyGridUser extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "网格")
    @TableField("grid_info")
    private String gridInfo;
    @ApiModelProperty(value = "小区名称")
    @TableField("community_name")
    private String communityName;
    @ApiModelProperty(value = "楼栋信息")
    @TableField("building_info")
    private String buildingInfo;
    @ApiModelProperty(value = "单元号")
    @TableField("unit_number")
    private String unitNumber;
    @ApiModelProperty(value = "门牌号")
    @TableField("house_number")
    private String houseNumber;
    @ApiModelProperty(value = "姓名")
    @TableField("user_name")
    private String userName;
    @ApiModelProperty(value = "性别 1=男 2=女")
    @TableField("user_sex")
    private Integer userSex;
    @ApiModelProperty(value = "身份证号")
    @TableField("id_card")
    private String idCard;
    @ApiModelProperty(value = "联系电话")
    @TableField("contact_number")
    private String contactNumber;
    @ApiModelProperty(value = "类型id")
    @TableField("type_id")
    private String typeId;
    @ApiModelProperty(value = "人员类型 1=重点人员 2=网格人员")
    @TableField("user_type")
    private Integer userType;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeKeyPersonnelType.java
New file
@@ -0,0 +1,44 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 大屏-重点人员分类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_key_personnel_type")
@ApiModel(value="TLargeKeyPersonnelType对象", description="大屏-重点人员分类")
public class TLargeKeyPersonnelType extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "分类名称")
    @TableField("type_name")
    private String typeName;
    @ApiModelProperty(value = "显示方式 1=仅显示汇总 2=显示详细人员")
    @TableField("show_type")
    private Integer showType;
    @ApiModelProperty(value = "显示数量")
    @TableField("show_number")
    private Integer showNumber;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeOrganization.java
New file
@@ -0,0 +1,52 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 大屏-社会组织
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_organization")
@ApiModel(value="TLargeOrganization对象", description="大屏-社会组织")
public class TLargeOrganization extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "组织名称")
    @TableField("organization_name")
    private String organizationName;
    @ApiModelProperty(value = "组织负责人")
    @TableField("organization_person")
    private String organizationPerson;
    @ApiModelProperty(value = "地址")
    @TableField("address")
    private String address;
    @ApiModelProperty(value = "联系电话")
    @TableField("contact_number")
    private String contactNumber;
    @ApiModelProperty(value = "业务范围")
    @TableField("business_scope")
    private String businessScope;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeResource.java
New file
@@ -0,0 +1,64 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 大屏-社区资源
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_resource")
@ApiModel(value="TLargeResource对象", description="大屏-社区资源")
public class TLargeResource extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "类型一级id")
    @TableField("type_parent_id")
    private String typeParentId;
    @ApiModelProperty(value = "类型二级id")
    @TableField("type_children_id")
    private String typeChildrenId;
    @ApiModelProperty(value = "资源单位")
    @TableField("resource_unit")
    private String resourceUnit;
    @ApiModelProperty(value = "资源名称描述")
    @TableField("resource_name_desc")
    private String resourceNameDesc;
    @ApiModelProperty(value = "资源来源")
    @TableField("resource_source")
    private String resourceSource;
    @ApiModelProperty(value = "数量规模")
    @TableField("quantity_scale")
    private String quantityScale;
    @ApiModelProperty(value = "联系人")
    @TableField("contact_person")
    private String contactPerson;
    @ApiModelProperty(value = "联系电话")
    @TableField("contact_number")
    private String contactNumber;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeResourceType.java
New file
@@ -0,0 +1,49 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
 * 大屏-社区资源分类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_resource_type")
@ApiModel(value="TLargeResourceType对象", description="大屏-社区资源分类")
public class TLargeResourceType extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "父级id 默认0")
    @TableField("parent_id")
    private String parentId;
    @ApiModelProperty(value = "分类名称")
    @TableField("type_name")
    private String typeName;
    @ApiModelProperty(value = "单位名称")
    @TableField("unit_name")
    private String unitName;
    @ApiModelProperty(value = "子项")
    @TableField(exist = false)
    private List<TLargeResourceType> children;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeSocialWorker.java
New file
@@ -0,0 +1,67 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
 * <p>
 * 大屏-社会工作者
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_social_worker")
@ApiModel(value="TLargeSocialWorker对象", description="大屏-社会工作者")
public class TLargeSocialWorker extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "姓名")
    @TableField("user_name")
    private String userName;
    @ApiModelProperty(value = "性别 1=男 2=女")
    @TableField("user_sex")
    private Integer userSex;
    @ApiModelProperty(value = "出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField("birth_date")
    private LocalDate birthDate;
    @ApiModelProperty(value = "文化程度")
    @TableField("educational_level")
    private String educationalLevel;
    @ApiModelProperty(value = "政治面貌")
    @TableField("political_status")
    private String politicalStatus;
    @ApiModelProperty(value = "联系电话")
    @TableField("contact_number")
    private String contactNumber;
    @ApiModelProperty(value = "工作单位及职务")
    @TableField("employer_position")
    private String employerPosition;
    @ApiModelProperty(value = "职业资格等级 1=初级 2=中级 3=高级")
    @TableField("qualification_level")
    private Integer qualificationLevel;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeUser.java
New file
@@ -0,0 +1,52 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 大屏-组织人员
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_user")
@ApiModel(value="TLargeUser对象", description="大屏-组织人员")
public class TLargeUser extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "部门id")
    @TableField("dept_id")
    private String deptId;
    @ApiModelProperty(value = "头像")
    @TableField("avatar")
    private String avatar;
    @ApiModelProperty(value = "姓名")
    @TableField("user_name")
    private String userName;
    @ApiModelProperty(value = "手机号")
    @TableField("user_phone")
    private String userPhone;
    @ApiModelProperty(value = "职位")
    @TableField("user_position")
    private String userPosition;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TLargeVolunteer.java
New file
@@ -0,0 +1,66 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
 * <p>
 * 大屏-社区志愿者
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_large_volunteer")
@ApiModel(value="TLargeVolunteer对象", description="大屏-社区志愿者")
public class TLargeVolunteer extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "姓名")
    @TableField("user_name")
    private String userName;
    @ApiModelProperty(value = "性别 1=男 2=女")
    @TableField("user_sex")
    private Integer userSex;
    @ApiModelProperty(value = "出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField("birth_date")
    private LocalDate birthDate;
    @ApiModelProperty(value = "服务区域")
    @TableField("service_area")
    private String serviceArea;
    @ApiModelProperty(value = "注册日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("register_date")
    private LocalDateTime registerDate;
    @ApiModelProperty(value = "总服务时长")
    @TableField("total_service_duration")
    private BigDecimal totalServiceDuration;
    @ApiModelProperty(value = "加入队伍时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("join_team_date")
    private LocalDateTime joinTeamDate;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TOldster.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -63,6 +64,7 @@
    private String idCard;
    @ApiModelProperty(value = "出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField("birth_date")
    private LocalDate birthDate;
ruoyi-system/src/main/java/com/ruoyi/system/model/TPartyBuilding.java
@@ -55,4 +55,8 @@
    @TableField("party_detail")
    private String partyDetail;
    @ApiModelProperty(value = "发布人")
    @TableField("release_person")
    private String releasePerson;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/OldsterListQuery.java
@@ -1,6 +1,5 @@
package com.ruoyi.system.query;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -9,8 +8,10 @@
@Data
@ApiModel(value = "老人户籍信息分页列表query")
public class OldsterListQuery extends BasePage {
    @ApiModelProperty(value = "老人姓名")
    private String oldsterName;
    @ApiModelProperty(value = "人员类型 1=独居老人 2=高龄老人 3=散居特困供养老人 4=失能老人")
    private Integer oldsterType;
ruoyi-system/src/main/java/com/ruoyi/system/query/RegistrationPageListQuery.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.system.query;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "报名列表查询参数RegistrationPageListQuery")
public class RegistrationPageListQuery extends BasePage {
    @ApiModelProperty(value = "用户姓名")
    private String userName;
    @ApiModelProperty(value = "用户联系方式")
    private String userPhone;
    @ApiModelProperty(value = "活动id")
    private String activityId;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TCommunityActivityQuery.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "社区活动管理查询参数TCommunityActivityQuery")
public class TCommunityActivityQuery extends BasePage {
    @ApiModelProperty(value = "活动标题")
    private String activityTitle;
    @ApiModelProperty(value = "状态 1=待发布 2=已发布 3=已结束")
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TDeliberationVoteQuery.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "议事投票查询参数TDeliberationVoteQuery")
public class TDeliberationVoteQuery extends BasePage {
    @ApiModelProperty(value = "议事标题")
    private String discussionTitle;
    @ApiModelProperty(value = "状态 1=待发布 2=进行中 3=已结束")
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeKeyGridUserQuery.java
New file
@@ -0,0 +1,30 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
@ApiModel(value = "TLargeKeyGridUserQuery对象", description = "重点人员-网格人员查询参数")
public class TLargeKeyGridUserQuery extends BasePage {
    @ApiModelProperty(value = "姓名")
    private String userName;
    @ApiModelProperty(value = "联系电话")
    private String contactNumber;
    @ApiModelProperty(value = "类型名称")
    private String typeName;
    @ApiModelProperty(value = "类型id")
    private String typeId;
    @NotNull(message = "人员类型不能为空")
    @ApiModelProperty(value = "人员类型 1=重点人员 2=网格人员")
    private Integer userType;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeOrganizationQuery.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "社会组织查询TLargeOrganizationQuery")
public class TLargeOrganizationQuery extends BasePage {
    @ApiModelProperty(value = "组织名称")
    private String organizationName;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeResourceQuery.java
New file
@@ -0,0 +1,30 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "社区资源查询参数TLargeResourceQuery")
public class TLargeResourceQuery extends BasePage {
    @ApiModelProperty(value = "类型一级id")
    private String typeParentId;
    @ApiModelProperty(value = "类型二级id")
    private String typeChildrenId;
    @ApiModelProperty(value = "资源名称描述")
    private String resourceNameDesc;
    @ApiModelProperty(value = "资源来源")
    private String resourceSource;
    @ApiModelProperty(value = "联系人")
    private String contactPerson;
    @ApiModelProperty(value = "联系电话")
    private String contactNumber;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeSocialWorkerQuery.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.system.query;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "大屏-社会工作者查询TLargeSocialWorkerQuery")
public class TLargeSocialWorkerQuery extends BasePage {
    @ApiModelProperty(value = "姓名")
    private String userName;
    @ApiModelProperty(value = "联系电话")
    private String contactNumber;
    @ApiModelProperty(value = "职业资格等级 1=初级 2=中级 3=高级")
    private Integer qualificationLevel;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeUserQuery.java
New file
@@ -0,0 +1,17 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "组织人员铲鲟参数TLargeUserQuery")
public class TLargeUserQuery extends BasePage {
    @ApiModelProperty(value = "姓名或者电话")
    private String nameOrPhone;
    @ApiModelProperty(value = "部门id")
    private String deptId;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TLargeVolunteerQuery.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "大屏-志愿者查询TLargeVolunteerQuery")
public class TLargeVolunteerQuery extends BasePage {
    @ApiModelProperty(value = "姓名")
    private String userName;
    @ApiModelProperty(value = "服务区域")
    private String serviceArea;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TMicroWishQuery.java
New file
@@ -0,0 +1,24 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "心愿发布查询参数TMicroWishQuery")
public class TMicroWishQuery extends BasePage {
    @ApiModelProperty(value = "心愿类型 1=闲置 2=互助 3=其他")
    private Integer wishType;
    @ApiModelProperty(value = "联系人")
    private String contactPerson;
    @ApiModelProperty(value = "联系电话")
    private String contactPhone;
    @ApiModelProperty(value = "状态 1=待审核 2=已公开 3=已驳回 4=待处理 5=已处理")
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TCommunityActivityRegistrationService.java
@@ -1,7 +1,9 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCommunityActivityRegistration;
import com.ruoyi.system.query.RegistrationPageListQuery;
/**
 * <p>
@@ -13,4 +15,9 @@
 */
public interface TCommunityActivityRegistrationService extends IService<TCommunityActivityRegistration> {
    /**
     * 获取报名信息分页列表
     */
    PageInfo<TCommunityActivityRegistration> registrationPageList(RegistrationPageListQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TCommunityActivityService.java
@@ -1,7 +1,11 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.dto.TCommunityActivityDTO;
import com.ruoyi.system.model.TCommunityActivity;
import com.ruoyi.system.query.TCommunityActivityQuery;
import com.ruoyi.system.vo.TCommunityActivityVO;
/**
 * <p>
@@ -13,4 +17,20 @@
 */
public interface TCommunityActivityService extends IService<TCommunityActivity> {
    /**
     * 判断社区活动
     *
     * @param dto
     * @return
     */
    boolean isExit(TCommunityActivityDTO dto);
    /**
     * 获取社区活动分页列表
     *
     * @param query
     * @return
     */
    PageInfo<TCommunityActivityVO> pageList(TCommunityActivityQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TDeliberationVoteService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.query.TDeliberationVoteQuery;
import com.ruoyi.system.vo.TDeliberationVoteVO;
/**
 * <p>
@@ -13,4 +16,17 @@
 */
public interface TDeliberationVoteService extends IService<TDeliberationVote> {
    /**
     * 判断数据是否存在
     * @param dto
     * @return
     */
    boolean isExit(TDeliberationVote dto);
    /**
     * 获取列表
     * @param query
     * @return
     */
    PageInfo<TDeliberationVoteVO> pageList(TDeliberationVoteQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeDeptService.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.model.TLargeDept;
/**
 * <p>
 * 大屏-组织部门 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeDeptService extends IService<TLargeDept> {
    /**
     * 判断是否存在
     * @param dto
     * @return
     */
    boolean isExit(TLargeDept dto);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeKeyGridUserService.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeKeyGridUser;
import com.ruoyi.system.query.TLargeKeyGridUserQuery;
import com.ruoyi.system.vo.TLargeKeyGridUserVO;
/**
 * <p>
 * 大屏-重点人员-网格人员 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeKeyGridUserService extends IService<TLargeKeyGridUser> {
    /**
     * 获取重点人员-网格人员分页列表
     * @param query
     * @return
     */
    PageInfo<TLargeKeyGridUserVO> pageList(TLargeKeyGridUserQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeKeyPersonnelTypeService.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.system.model.TLargeKeyPersonnelType;
/**
 * <p>
 * 大屏-重点人员分类 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeKeyPersonnelTypeService extends IService<TLargeKeyPersonnelType> {
    /**
     * 判断是否存在
     * @param dto
     * @return
     */
    boolean isExit(TLargeKeyPersonnelType dto);
    /**
     * 获取重点人员分类列表
     * @param query
     * @return
     */
    PageInfo<TLargeKeyPersonnelType> pageList(BasePage query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeOrganizationService.java
New file
@@ -0,0 +1,31 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeOrganization;
import com.ruoyi.system.query.TLargeOrganizationQuery;
/**
 * <p>
 * 大屏-社会组织 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeOrganizationService extends IService<TLargeOrganization> {
    /**
     * 判断是否存在
     * @param dto
     * @return
     */
    boolean isExit(TLargeOrganization dto);
    /**
     * 获取社会组织分页列表
     * @param query
     * @return
     */
    PageInfo<TLargeOrganization> pageList(TLargeOrganizationQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeResourceService.java
New file
@@ -0,0 +1,26 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeResource;
import com.ruoyi.system.query.TLargeResourceQuery;
import com.ruoyi.system.vo.TLargeResourceVO;
/**
 * <p>
 * 大屏-社区资源 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeResourceService extends IService<TLargeResource> {
    /**
     * 获取社区资源分页列表
     * @param query
     * @return
     */
    PageInfo<TLargeResourceVO> pageList(TLargeResourceQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeResourceTypeService.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.model.TLargeResourceType;
/**
 * <p>
 * 大屏-社区资源分类 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeResourceTypeService extends IService<TLargeResourceType> {
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeSocialWorkerService.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeSocialWorker;
import com.ruoyi.system.query.TLargeSocialWorkerQuery;
/**
 * <p>
 * 大屏-社会工作者 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeSocialWorkerService extends IService<TLargeSocialWorker> {
    /**
     * 获取社会工作者分页列表
     * @param query
     * @return
     */
    PageInfo<TLargeSocialWorker> pageList(TLargeSocialWorkerQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeUserService.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeUser;
import com.ruoyi.system.query.TLargeUserQuery;
import com.ruoyi.system.vo.TLargeUserVO;
/**
 * <p>
 * 大屏-组织人员 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeUserService extends IService<TLargeUser> {
    /**
     * 获取组织人员分页列表
     * @param query
     * @return
     */
    PageInfo<TLargeUserVO> pageList(TLargeUserQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TLargeVolunteerService.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TLargeVolunteer;
import com.ruoyi.system.query.TLargeVolunteerQuery;
/**
 * <p>
 * 大屏-社区志愿者 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
public interface TLargeVolunteerService extends IService<TLargeVolunteer> {
    /**
     * 获取社区志愿者分页列表
     * @param query
     * @return
     */
    PageInfo<TLargeVolunteer> pageList(TLargeVolunteerQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TMicroWishService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TMicroWish;
import com.ruoyi.system.query.TMicroWishQuery;
import com.ruoyi.system.vo.TMicroWishVO;
/**
 * <p>
@@ -13,4 +16,10 @@
 */
public interface TMicroWishService extends IService<TMicroWish> {
    /**
     * 获取心愿发布分页列表
     * @param query
     * @return
     */
    PageInfo<TMicroWishVO> pageList(TMicroWishQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TOldsterWarningService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TOldsterWarning;
import com.ruoyi.system.query.OldsterListQuery;
import com.ruoyi.system.vo.TOldsterWarningVO;
/**
 * <p>
@@ -13,4 +16,10 @@
 */
public interface TOldsterWarningService extends IService<TOldsterWarning> {
    /**
     * 获取老人预警管理分页列表
     * @param query
     * @return
     */
    PageInfo<TOldsterWarningVO> pageList(OldsterListQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCommunityActivityRegistrationServiceImpl.java
@@ -1,10 +1,15 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TCommunityActivityRegistrationMapper;
import com.ruoyi.system.model.TCommunityActivityRegistration;
import com.ruoyi.system.query.RegistrationPageListQuery;
import com.ruoyi.system.service.TCommunityActivityRegistrationService;
import com.ruoyi.system.vo.SysOperLogVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +22,11 @@
@Service
public class TCommunityActivityRegistrationServiceImpl extends ServiceImpl<TCommunityActivityRegistrationMapper, TCommunityActivityRegistration> implements TCommunityActivityRegistrationService {
    @Override
    public PageInfo<TCommunityActivityRegistration> registrationPageList(RegistrationPageListQuery query) {
        PageInfo<TCommunityActivityRegistration> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCommunityActivityRegistration> list = this.baseMapper.registrationPageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCommunityActivityServiceImpl.java
@@ -1,10 +1,23 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.dto.TCommunityActivityDTO;
import com.ruoyi.system.mapper.TCommunityActivityMapper;
import com.ruoyi.system.mapper.TCommunityActivityRegistrationMapper;
import com.ruoyi.system.model.TCommunityActivity;
import com.ruoyi.system.model.TCommunityActivityRegistration;
import com.ruoyi.system.query.TCommunityActivityQuery;
import com.ruoyi.system.service.TCommunityActivityService;
import com.ruoyi.system.vo.TCommunityActivityVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -17,4 +30,36 @@
@Service
public class TCommunityActivityServiceImpl extends ServiceImpl<TCommunityActivityMapper, TCommunityActivity> implements TCommunityActivityService {
    @Autowired
    private TCommunityActivityRegistrationMapper communityActivityRegistrationMapper;
    @Override
    public boolean isExit(TCommunityActivityDTO dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TCommunityActivity.class).ne(TCommunityActivity::getId, dto.getId()).eq(TCommunityActivity::getActivityTitle, dto.getActivityTitle())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TCommunityActivity.class).eq(TCommunityActivity::getActivityTitle, dto.getActivityTitle())) > 0;
        }
    }
    @Override
    public PageInfo<TCommunityActivityVO> pageList(TCommunityActivityQuery query) {
        PageInfo<TCommunityActivityVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCommunityActivityVO> list = this.baseMapper.pageList(query,pageInfo);
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        List<String> activityIds = list.stream().map(TCommunityActivity::getId).collect(Collectors.toList());
        List<TCommunityActivityRegistration> communityActivityRegistrationList = communityActivityRegistrationMapper.selectList(Wrappers.lambdaQuery(TCommunityActivityRegistration.class)
                .in(TCommunityActivityRegistration::getActivityId, activityIds));
        for (TCommunityActivityVO tCommunityActivityVO : list) {
            List<TCommunityActivityRegistration> communityActivityRegistrations = communityActivityRegistrationList.stream().filter(tCommunityActivityRegistration -> tCommunityActivityVO.getId().equals(tCommunityActivityRegistration.getActivityId())).collect(Collectors.toList());
            tCommunityActivityVO.setRegistrationCount(communityActivityRegistrations.size());
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeliberationVoteServiceImpl.java
@@ -1,10 +1,26 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TDeliberationVoteMapper;
import com.ruoyi.system.mapper.TDeliberationVoteOptionMapper;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.model.TDeliberationVoteOption;
import com.ruoyi.system.query.TDeliberationVoteQuery;
import com.ruoyi.system.service.TDeliberationVoteService;
import com.ruoyi.system.vo.TDeliberationVoteVO;
import io.jsonwebtoken.lang.Collections;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -17,4 +33,42 @@
@Service
public class TDeliberationVoteServiceImpl extends ServiceImpl<TDeliberationVoteMapper, TDeliberationVote> implements TDeliberationVoteService {
    @Autowired
    private TDeliberationVoteOptionMapper deliberationVoteOptionMapper;
    @Override
    public boolean isExit(TDeliberationVote dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TDeliberationVote.class).ne(TDeliberationVote::getId, dto.getId()).eq(TDeliberationVote::getDiscussionTitle, dto.getDiscussionTitle())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TDeliberationVote.class).eq(TDeliberationVote::getDiscussionTitle, dto.getDiscussionTitle())) > 0;
        }
    }
    @Override
    public PageInfo<TDeliberationVoteVO> pageList(TDeliberationVoteQuery query) {
        PageInfo<TDeliberationVoteVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TDeliberationVoteVO> list = this.baseMapper.pageList(query,pageInfo);
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        List<String> voteIds = list.stream().map(TDeliberationVoteVO::getId).collect(Collectors.toList());
        List<TDeliberationVoteOption> deliberationVoteOptions = deliberationVoteOptionMapper.selectList(Wrappers.lambdaQuery(TDeliberationVoteOption.class).in(TDeliberationVoteOption::getVoteId, voteIds));
        for (TDeliberationVoteVO deliberationVoteVO : list) {
            List<TDeliberationVoteOption> deliberationVoteOptionList = deliberationVoteOptions.stream().filter(deliberationVoteOption -> deliberationVoteVO.getId().equals(deliberationVoteOption.getVoteId())).collect(Collectors.toList());
            int count = 0;
            for (TDeliberationVoteOption tDeliberationVoteOption : deliberationVoteOptionList) {
                String voteCount = tDeliberationVoteOption.getVoteCount();
                if(StringUtils.isNotEmpty(voteCount)){
                    String[] split = voteCount.split(",");
                    count += split.length;
                }
            }
            deliberationVoteVO.setVotersTotal(count);
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeDeptServiceImpl.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TLargeDeptMapper;
import com.ruoyi.system.model.TLargeDept;
import com.ruoyi.system.model.TLargeDept;
import com.ruoyi.system.service.TLargeDeptService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 大屏-组织部门 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeDeptServiceImpl extends ServiceImpl<TLargeDeptMapper, TLargeDept> implements TLargeDeptService {
    @Override
    public boolean isExit(TLargeDept dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TLargeDept.class).ne(TLargeDept::getId, dto.getId()).eq(TLargeDept::getDeptName, dto.getDeptName())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TLargeDept.class).eq(TLargeDept::getDeptName, dto.getDeptName())) > 0;
        }
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeKeyGridUserServiceImpl.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TLargeKeyGridUserMapper;
import com.ruoyi.system.model.TLargeKeyGridUser;
import com.ruoyi.system.query.TLargeKeyGridUserQuery;
import com.ruoyi.system.service.TLargeKeyGridUserService;
import com.ruoyi.system.vo.TCourseVO;
import com.ruoyi.system.vo.TLargeKeyGridUserVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 大屏-重点人员-网格人员 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeKeyGridUserServiceImpl extends ServiceImpl<TLargeKeyGridUserMapper, TLargeKeyGridUser> implements TLargeKeyGridUserService {
    @Override
    public PageInfo<TLargeKeyGridUserVO> pageList(TLargeKeyGridUserQuery query) {
        PageInfo<TLargeKeyGridUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TLargeKeyGridUserVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeKeyPersonnelTypeServiceImpl.java
New file
@@ -0,0 +1,46 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TLargeKeyPersonnelTypeMapper;
import com.ruoyi.system.model.TAssistedDining;
import com.ruoyi.system.model.TLargeKeyPersonnelType;
import com.ruoyi.system.model.TLargeKeyPersonnelType;
import com.ruoyi.system.service.TLargeKeyPersonnelTypeService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 大屏-重点人员分类 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeKeyPersonnelTypeServiceImpl extends ServiceImpl<TLargeKeyPersonnelTypeMapper, TLargeKeyPersonnelType> implements TLargeKeyPersonnelTypeService {
    @Override
    public boolean isExit(TLargeKeyPersonnelType dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TLargeKeyPersonnelType.class).ne(TLargeKeyPersonnelType::getId, dto.getId()).eq(TLargeKeyPersonnelType::getTypeName, dto.getTypeName())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TLargeKeyPersonnelType.class).eq(TLargeKeyPersonnelType::getTypeName, dto.getTypeName())) > 0;
        }
    }
    @Override
    public PageInfo<TLargeKeyPersonnelType> pageList(BasePage query) {
        PageInfo<TLargeKeyPersonnelType> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TLargeKeyPersonnelType> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords( list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeOrganizationServiceImpl.java
New file
@@ -0,0 +1,46 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TLargeOrganizationMapper;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.model.TLargeOrganization;
import com.ruoyi.system.model.TLargeOrganization;
import com.ruoyi.system.query.TLargeOrganizationQuery;
import com.ruoyi.system.service.TLargeOrganizationService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 大屏-社会组织 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeOrganizationServiceImpl extends ServiceImpl<TLargeOrganizationMapper, TLargeOrganization> implements TLargeOrganizationService {
    @Override
    public boolean isExit(TLargeOrganization dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TLargeOrganization.class).ne(TLargeOrganization::getId, dto.getId()).eq(TLargeOrganization::getOrganizationName, dto.getOrganizationName())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TLargeOrganization.class).eq(TLargeOrganization::getOrganizationName, dto.getOrganizationName())) > 0;
        }
    }
    @Override
    public PageInfo<TLargeOrganization> pageList(TLargeOrganizationQuery query) {
        PageInfo<TLargeOrganization> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TLargeOrganization> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords( list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeResourceServiceImpl.java
New file
@@ -0,0 +1,62 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TLargeResourceMapper;
import com.ruoyi.system.mapper.TLargeResourceTypeMapper;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.model.TLargeResource;
import com.ruoyi.system.model.TLargeResourceType;
import com.ruoyi.system.query.TLargeResourceQuery;
import com.ruoyi.system.service.TLargeResourceService;
import com.ruoyi.system.vo.TLargeResourceVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
 * 大屏-社区资源 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeResourceServiceImpl extends ServiceImpl<TLargeResourceMapper, TLargeResource> implements TLargeResourceService {
    @Autowired
    private TLargeResourceTypeMapper largeResourceTypeMapper;
    @Override
    public PageInfo<TLargeResourceVO> pageList(TLargeResourceQuery query) {
        PageInfo<TLargeResourceVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TLargeResourceVO> list = this.baseMapper.pageList(query,pageInfo);
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        List<String> ids = list.stream().map(TLargeResourceVO::getTypeParentId).collect(Collectors.toList());
        List<String> childrenIds = list.stream().map(TLargeResourceVO::getTypeChildrenId).collect(Collectors.toList());
        ids.addAll(childrenIds);
        List<TLargeResourceType> largeResourceTypes = largeResourceTypeMapper.selectList(Wrappers.lambdaQuery(TLargeResourceType.class).in(TLargeResourceType::getId, ids));
        for (TLargeResourceVO tLargeResourceVO : list) {
            List<TLargeResourceType> resourceTypeParentList = largeResourceTypes.stream().filter(largeResourceType -> largeResourceType.getId().equals(tLargeResourceVO.getTypeParentId())).collect(Collectors.toList());
            if(!CollectionUtils.isEmpty(resourceTypeParentList)){
                tLargeResourceVO.setTypeParentName(resourceTypeParentList.get(0).getTypeName());
            }
            List<TLargeResourceType> resourceTypeChildrenList = largeResourceTypes.stream().filter(largeResourceType -> largeResourceType.getId().equals(tLargeResourceVO.getTypeChildrenId())).collect(Collectors.toList());
            if(!CollectionUtils.isEmpty(resourceTypeChildrenList)){
                tLargeResourceVO.setTypeChildrenName(resourceTypeChildrenList.get(0).getTypeName());
            }
        }
        pageInfo.setRecords( list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeResourceTypeServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.mapper.TLargeResourceTypeMapper;
import com.ruoyi.system.model.TLargeResourceType;
import com.ruoyi.system.service.TLargeResourceTypeService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 大屏-社区资源分类 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeResourceTypeServiceImpl extends ServiceImpl<TLargeResourceTypeMapper, TLargeResourceType> implements TLargeResourceTypeService {
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeSocialWorkerServiceImpl.java
New file
@@ -0,0 +1,32 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TLargeSocialWorkerMapper;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.model.TLargeSocialWorker;
import com.ruoyi.system.query.TLargeSocialWorkerQuery;
import com.ruoyi.system.service.TLargeSocialWorkerService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 大屏-社会工作者 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeSocialWorkerServiceImpl extends ServiceImpl<TLargeSocialWorkerMapper, TLargeSocialWorker> implements TLargeSocialWorkerService {
    @Override
    public PageInfo<TLargeSocialWorker> pageList(TLargeSocialWorkerQuery query) {
        PageInfo<TLargeSocialWorker> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TLargeSocialWorker> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords( list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeUserServiceImpl.java
New file
@@ -0,0 +1,39 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TLargeDeptMapper;
import com.ruoyi.system.mapper.TLargeUserMapper;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.model.TLargeDept;
import com.ruoyi.system.model.TLargeUser;
import com.ruoyi.system.query.TLargeUserQuery;
import com.ruoyi.system.service.TLargeUserService;
import com.ruoyi.system.vo.TLargeUserVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
 * 大屏-组织人员 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeUserServiceImpl extends ServiceImpl<TLargeUserMapper, TLargeUser> implements TLargeUserService {
    @Override
    public PageInfo<TLargeUserVO> pageList(TLargeUserQuery query) {
        PageInfo<TLargeUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TLargeUserVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords( list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLargeVolunteerServiceImpl.java
New file
@@ -0,0 +1,32 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TLargeVolunteerMapper;
import com.ruoyi.system.model.TLargeVolunteer;
import com.ruoyi.system.query.TLargeVolunteerQuery;
import com.ruoyi.system.service.TLargeVolunteerService;
import com.ruoyi.system.vo.TLargeUserVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 大屏-社区志愿者 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-11
 */
@Service
public class TLargeVolunteerServiceImpl extends ServiceImpl<TLargeVolunteerMapper, TLargeVolunteer> implements TLargeVolunteerService {
    @Override
    public PageInfo<TLargeVolunteer> pageList(TLargeVolunteerQuery query) {
        PageInfo<TLargeVolunteer> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TLargeVolunteer> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords( list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMicroWishServiceImpl.java
@@ -1,10 +1,16 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TMicroWishMapper;
import com.ruoyi.system.model.TAdvertisement;
import com.ruoyi.system.model.TMicroWish;
import com.ruoyi.system.query.TMicroWishQuery;
import com.ruoyi.system.service.TMicroWishService;
import com.ruoyi.system.vo.TMicroWishVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +23,11 @@
@Service
public class TMicroWishServiceImpl extends ServiceImpl<TMicroWishMapper, TMicroWish> implements TMicroWishService {
    @Override
    public PageInfo<TMicroWishVO> pageList(TMicroWishQuery query) {
        PageInfo<TMicroWishVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TMicroWishVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOldsterWarningServiceImpl.java
@@ -1,10 +1,16 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TOldsterWarningMapper;
import com.ruoyi.system.model.TAdvertisement;
import com.ruoyi.system.model.TOldsterWarning;
import com.ruoyi.system.query.OldsterListQuery;
import com.ruoyi.system.service.TOldsterWarningService;
import com.ruoyi.system.vo.TOldsterWarningVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +23,11 @@
@Service
public class TOldsterWarningServiceImpl extends ServiceImpl<TOldsterWarningMapper, TOldsterWarning> implements TOldsterWarningService {
    @Override
    public PageInfo<TOldsterWarningVO> pageList(OldsterListQuery query) {
        PageInfo<TOldsterWarningVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TOldsterWarningVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.system.task.base;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.system.model.TCommunityActivity;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.TCommunityActivityService;
import com.ruoyi.system.service.TDeliberationVoteService;
import com.ruoyi.system.task.utils.SpringContextsUtil;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public abstract class AbstractJob implements Job{
    protected Logger logger = LoggerFactory.getLogger(getClass());
    @Override
    public abstract void execute(JobExecutionContext context) throws JobExecutionException;
    protected ISysUserService sysUserService;
    protected RedisCache redisCache;
    protected TDeliberationVoteService deliberationVoteService;
    protected TCommunityActivityService communityActivityService;
    public AbstractJob(){
        this.sysUserService = SpringContextsUtil.getBean(ISysUserService.class);
        this.redisCache = SpringContextsUtil.getBean(RedisCache.class);
        this.deliberationVoteService = SpringContextsUtil.getBean(TDeliberationVoteService.class);
        this.communityActivityService = SpringContextsUtil.getBean(TCommunityActivityService.class);
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/base/QuartzManager.java
New file
@@ -0,0 +1,128 @@
package com.ruoyi.system.task.base;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import java.util.Date;
import java.util.Map;
public class QuartzManager {
    private static SchedulerFactory factory = new StdSchedulerFactory();
    private static final String TRIGGER_NAME_PREFIX = "TRIGGER_PREFIX_";
    private static final String JOB_NAME_PREFIX = "JOB_PREFIX_";
    /**
     * 添加定时任务:具体某个时间点执行一次的任务,如:在某个2015-06-01 12:00发送一条消息
     *
     * @param jobName
     *            具体的任务名+ID标识唯一
     * @param jobType
     * @param date
     * @param jp
     */
    public synchronized static void addJob(Class<? extends Job> jobClass, String jobName, TimeJobType jobType, Date date,
                                           Map<String,  ? extends Object> jp) {
        //logger.debug("ADD JOB {},jobName={},jobTyep={},jobDate={},",jobClass.getName(),jobName,jobType,date);
        try {
            Scheduler sched = factory.getScheduler();
            JobDetail job = JobBuilder.newJob(jobClass).withIdentity(JOB_NAME_PREFIX + jobName, jobType.getType())
                    .setJobData(new JobDataMap(jp)).build();
            SimpleTrigger trigger = (SimpleTrigger) TriggerBuilder.newTrigger()
                    .withIdentity(TRIGGER_NAME_PREFIX + jobName, jobType.getType()).startAt(date).build();
            removeJob(jobName, jobType);
            sched.scheduleJob(job, trigger);
            if (!sched.isShutdown()) {
                sched.start();
            }
        } catch (Exception e) {
            //logger.error("ADD JOB exception {},jobName={},jobTyep={},jobDate={},",jobClass.getName(),jobName,jobType,date);
        }
    }
       /**
        * 修改一个任务的触发时间(使用默认的任务组名,触发器名,触发器组名)
        * @param jobName
        * @param time
        */
        public synchronized static void modifyJobTime(String jobName,TimeJobType jobType, Date time) {
             //logger.error("Update JOB exception,jobName={},jobTyep={},jobDate={}," ,jobName,jobType,time);
            try {
                JobKey jobKey = new JobKey(JOB_NAME_PREFIX + jobName, jobType.getType());
                TriggerKey key = new TriggerKey(TRIGGER_NAME_PREFIX + jobName, jobType.getType());
                Scheduler sched = factory.getScheduler();
                SimpleTrigger trigger = (SimpleTrigger) sched.getTrigger(key);
                if(trigger == null) {
                    return;
                }
                Date oldTime = trigger.getStartTime();
                if (oldTime.getTime() != time.getTime()) {
                    JobDetail jobDetail = sched.getJobDetail(jobKey);
                    Class<? extends Job> objJobClass = jobDetail.getJobClass();
                    removeJob(jobName,jobType);
                    Map<String, Object> jp = jobDetail.getJobDataMap();
                    addJob(objJobClass, jobName, jobType, time, jp);
                }
            } catch (Exception e) {
               // logger.error("Update JOB exception,jobName={},jobTyep={},jobDate={}," ,jobName,jobType,time);
            }
        }
    /**
     * 移除一个任务
     *
     * @param jobName
     */
    public synchronized static void removeJob(String jobName, TimeJobType jobType) {
        try {
            JobKey jobKey = new JobKey(JOB_NAME_PREFIX + jobName, jobType.getType());
            TriggerKey key = new TriggerKey(TRIGGER_NAME_PREFIX + jobName, jobType.getType());
            Scheduler sched = factory.getScheduler();
            JobDetail detail = sched.getJobDetail(jobKey);
            if (detail != null) {
                sched.pauseJob(jobKey);
                sched.pauseTrigger(key);// 停止触发器
                sched.unscheduleJob(key);// 移除触发器
                sched.deleteJob(jobKey);// 删除任务
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
    /**
     * 启动所有定时任务
     */
    public synchronized static void startJobs() {
        try {
            Scheduler sched = factory.getScheduler();
            sched.start();
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
    /**
     * 关闭所有定时任务
     */
    public synchronized static void shutdownJobs() {
        try {
            Scheduler sched = factory.getScheduler();
            if (!sched.isShutdown()) {
                sched.shutdown();
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.system.task.base;
/**
 * @Description 按时间点发布的任务类型
 * @date 2025年2月17日 下午7:22:28
 */
public enum TimeJobType {
    DELIBERATION_VOTE_PUSH("deliberation_vote_push","议事投票"),
    ACTIVITY_PUSH("activity_push","社区活动");
    private String type;
    private String desc;
    private TimeJobType(String type, String desc) {
        this.type = type;
        this.desc = desc;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/exceptions/TimeException.java
New file
@@ -0,0 +1,37 @@
package com.ruoyi.system.task.exceptions;
/**
 * @文件说明:定时器任务执行异常
 * @版权所有:成都喜来达
 * @项目名称: fengsheng
 * @创建者: Leeyns
 * @创建日期: 2016年5月18日
 * @最近修改者:Leeyns
 * @最近修改日期:2016年5月18日
 */
public class TimeException extends Exception {
    /**
     *  TODO
     */
    private static final long serialVersionUID = 5703430073981692250L;
    private String message;
    public TimeException() {
        super();
    }
    public TimeException(String message) {
        super(message);
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/ActivityPush.java
New file
@@ -0,0 +1,67 @@
package com.ruoyi.system.task.jobs;
import com.google.common.collect.ImmutableMap;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.model.TCommunityActivity;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.task.base.AbstractJob;
import com.ruoyi.system.task.base.QuartzManager;
import com.ruoyi.system.task.base.TimeJobType;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.time.LocalDateTime;
import java.util.Map;
import java.util.Objects;
/**
 * 直播推送定时任务
 * @author Administrator
 *
 */
public class ActivityPush extends AbstractJob {
    public static final String name = "activityPush_";
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        JobDataMap maps = context.getMergedJobDataMap();
        String activityId = maps.getString("id");
        String type = maps.getString("type");
        try {
            TCommunityActivity communityActivity = communityActivityService.getById(activityId);
            if(Objects.isNull(communityActivity)){
                return;
            }
            LocalDateTime startTime = communityActivity.getStartTime();
            LocalDateTime endTime = communityActivity.getEndTime();
            LocalDateTime now = LocalDateTime.now();
            if("1".equals(type) && now.compareTo(startTime) > -1 && now.compareTo(endTime) < 1){
                communityActivity.setStatus(2);
                // 添加定时任务
                Map<String, ? extends Object> map =
                        new ImmutableMap.Builder<String, String>().
                                put("id", communityActivity.getId()).put("type","2")
                                .build();
                QuartzManager.addJob(
                        ActivityPush.class,
                        (DeliberationVotePush.name+communityActivity.getId()).toUpperCase(),
                        TimeJobType.ACTIVITY_PUSH,
                        DateUtils.localDateTimeToDate(communityActivity.getEndTime()),
                        map
                );
            }
            if("2".equals(type) && now.isAfter(endTime)){
                communityActivity.setStatus(3);
            }
            communityActivityService.updateById(communityActivity);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/DeliberationVotePush.java
New file
@@ -0,0 +1,66 @@
package com.ruoyi.system.task.jobs;
import com.google.common.collect.ImmutableMap;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.model.TDeliberationVote;
import com.ruoyi.system.task.base.AbstractJob;
import com.ruoyi.system.task.base.QuartzManager;
import com.ruoyi.system.task.base.TimeJobType;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.time.LocalDateTime;
import java.util.Map;
import java.util.Objects;
/**
 * 直播推送定时任务
 * @author Administrator
 *
 */
public class DeliberationVotePush extends AbstractJob {
    public static final String name = "deliberationVotePush_";
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        JobDataMap maps = context.getMergedJobDataMap();
        String voteId = maps.getString("id");
        String type = maps.getString("type");
        try {
            TDeliberationVote deliberationVote = deliberationVoteService.getById(voteId);
            if(Objects.isNull(deliberationVote)){
                return;
            }
            LocalDateTime startTime = deliberationVote.getStartTime();
            LocalDateTime endTime = deliberationVote.getEndTime();
            LocalDateTime now = LocalDateTime.now();
            if("1".equals(type) && now.compareTo(startTime) > -1 && now.compareTo(endTime) < 1){
                deliberationVote.setStatus(2);
                // 添加定时任务
                Map<String, ? extends Object> map =
                        new ImmutableMap.Builder<String, String>().
                                put("id", deliberationVote.getId()).put("type","2")
                                .build();
                QuartzManager.addJob(
                        DeliberationVotePush.class,
                        (DeliberationVotePush.name+deliberationVote.getId()).toUpperCase(),
                        TimeJobType.DELIBERATION_VOTE_PUSH,
                        DateUtils.localDateTimeToDate(deliberationVote.getEndTime()),
                        map
                );
            }
            if("2".equals(type) && now.isAfter(endTime)){
                deliberationVote.setStatus(3);
            }
            deliberationVoteService.updateById(deliberationVote);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/utils/SpringContextsUtil.java
New file
@@ -0,0 +1,37 @@
package com.ruoyi.system.task.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringContextsUtil implements ApplicationContextAware{
    private static ApplicationContext applicationContext;
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if (SpringContextsUtil.applicationContext == null) {
            SpringContextsUtil.applicationContext = applicationContext;
        }
    }
    // 获取applicationContext
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }
    // 通过name获取 Bean.
    public static Object getBean(String name) {
        return getApplicationContext().getBean(name);
    }
    // 通过class获取Bean.
    public static <T> T getBean(Class<T> clazz) {
        return getApplicationContext().getBean(clazz);
    }
    // 通过name,以及Clazz返回指定的Bean
    public static <T> T getBean(String name, Class<T> clazz) {
        System.out.println(getApplicationContext().getBean(name, clazz));
        return getApplicationContext().getBean(name, clazz);
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCommunityActivityVO.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TCommunityActivity;
import com.ruoyi.system.model.TCommunityActivityRegistration;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "TCommunityActivity对象", description = "社区活动")
public class TCommunityActivityVO extends TCommunityActivity {
    @ApiModelProperty(value = "报名人数")
    private Integer registrationCount;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TDeliberationVoteVO.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TDeliberationVote;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "TDeliberationVote对象", description = "议事投票")
public class TDeliberationVoteVO extends TDeliberationVote {
    @ApiModelProperty(value = "总投票人数")
    private Integer votersTotal;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TLargeKeyGridUserVO.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TLargeKeyGridUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value="TLargeKeyGridUser对象", description="大屏-重点人员-网格人员")
public class TLargeKeyGridUserVO extends TLargeKeyGridUser {
    @ApiModelProperty(value = "人员类别")
    private String typeName;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TLargeResourceVO.java
New file
@@ -0,0 +1,17 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TLargeResource;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "TLargeResourceVO对象", description = "大屏-社区资源VO对象")
public class TLargeResourceVO extends TLargeResource {
    @ApiModelProperty(value = "类型一级名称")
    private String typeParentName;
    @ApiModelProperty(value = "类型二级名称")
    private String typeChildrenName;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TLargeUserVO.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TLargeUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "TLargeUserVO对象", description = "大屏-组织人员VO对象")
public class TLargeUserVO extends TLargeUser {
    @ApiModelProperty(value = "部门名称")
    private String deptName;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TMicroWishVO.java
New file
@@ -0,0 +1,10 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TMicroWish;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "心愿发布视图对象TMicroWishVO")
public class TMicroWishVO extends TMicroWish {
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TOldsterWarningVO.java
New file
@@ -0,0 +1,50 @@
package com.ruoyi.system.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.model.TOldsterWarning;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
@Data
@ApiModel(value = "TOldsterWarning对象", description = "老人预警")
public class TOldsterWarningVO extends TOldsterWarning {
    @ApiModelProperty(value = "老人姓名")
    private String oldsterName;
    @ApiModelProperty(value = "老人年龄")
    private Integer oldsterAge;
    @ApiModelProperty(value = "性别 1=男 2=女")
    private Integer oldsterSex;
    @ApiModelProperty(value = "联系方式")
    private String contactPhone;
    @ApiModelProperty(value = "监护人姓名")
    private String guardianName;
    @ApiModelProperty(value = "监护人电话")
    private String guardianPhone;
    @ApiModelProperty(value = "证件照")
    private String passportPhoto;
    @ApiModelProperty(value = "身份证")
    private String idCard;
    @ApiModelProperty(value = "出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate birthDate;
    @ApiModelProperty(value = "人员类型 1=独居老人 2=高龄老人 3=散居特困供养老人 4=失能老人")
    private Integer oldsterType;
    @ApiModelProperty(value = "居住地址")
    private String address;
}
ruoyi-system/src/main/resources/mapper/system/TCommunityActivityMapper.xml
@@ -24,5 +24,20 @@
    <sql id="Base_Column_List">
        id, activity_title, activity_time, address, activity_cover, start_time, end_time, activity_content, status, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TCommunityActivityVO">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_community_activity
        <where>
            <if test="query.activityTitle != null and query.activityTitle != ''">
                AND activity_title LIKE concat('%',#{query.activityTitle},'%')
            </if>
            <if test="query.status != null">
                AND status = #{query.status}
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by create_time desc
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TCommunityActivityRegistrationMapper.xml
@@ -6,7 +6,7 @@
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TCommunityActivityRegistration">
        <id column="id" property="id" />
        <result column="activity_id" property="activityId" />
        <result column="uesr_name" property="uesrName" />
        <result column="user_name" property="userName" />
        <result column="user_phone" property="userPhone" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
@@ -17,7 +17,25 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, activity_id, uesr_name, user_phone, create_time, update_time, create_by, update_by, disabled
        id, activity_id, user_name, user_phone, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="registrationPageList" resultType="com.ruoyi.system.model.TCommunityActivityRegistration">
        select
            <include refid="Base_Column_List"/>
            from t_community_activity_registration
        <where>
            <if test="query.activityId != null and query.activityId != ''">
                and activity_id = #{query.activityId}
            </if>
            <if test="query.userName != null and query.userName != ''">
                and user_name like concat('%',#{query.userName},'%')
            </if>
            <if test="query.userPhone != null and query.userPhone != ''">
                and user_phone like concat('%',#{query.userPhone},'%')
            </if>
            and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by create_time desc
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TDeliberationVoteMapper.xml
@@ -21,5 +21,20 @@
    <sql id="Base_Column_List">
        id, discussion_title, start_time, end_time, is_open_result, status, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TDeliberationVoteVO">
        SELECT
        id, discussion_title, start_time, end_time, is_open_result, status, create_time, update_time, create_by, update_by, disabled
        FROM t_deliberation_vote
        <where>
            <if test="discussionTitle != null and discussionTitle != ''">
                AND discussion_title LIKE concat('%',#{discussionTitle},'%')
            </if>
            <if test="status != null">
                AND status = #{status}
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeDeptMapper.xml
New file
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeDeptMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeDept">
        <id column="id" property="id" />
        <result column="dept_name" property="deptName" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, dept_name, create_time, update_time, create_by, update_by, disabled
    </sql>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeKeyGridUserMapper.xml
New file
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeKeyGridUserMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeKeyGridUser">
        <id column="id" property="id" />
        <result column="grid_info" property="gridInfo" />
        <result column="community_name" property="communityName" />
        <result column="building_info" property="buildingInfo" />
        <result column="unit_number" property="unitNumber" />
        <result column="house_number" property="houseNumber" />
        <result column="user_name" property="userName" />
        <result column="user_sex" property="userSex" />
        <result column="id_card" property="idCard" />
        <result column="contact_number" property="contactNumber" />
        <result column="type_id" property="typeId" />
        <result column="user_type" property="userType" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, grid_info, community_name, building_info, unit_number, house_number, user_name, user_sex, id_card, contact_number, type_id, user_type, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TLargeKeyGridUserVO">
        select
            tlkgu.id, tlkgu.grid_info, tlkgu.community_name, tlkgu.building_info, tlkgu.unit_number, tlkgu.house_number,
            tlkgu.user_name, tlkgu.user_sex, tlkgu.id_card, tlkgu.contact_number, tlkgu.type_id, tlkgu.user_type,
            tlkgu.create_time, tlkgu.update_time, tlkgu.create_by, tlkgu.update_by, tlkgu.disabled,
            tlkpt.type_name
        from t_large_key_grid_user tlkgu
        left join t_large_key_personnel_type tlkpt on tlkgu.type_id = tlkpt.id
        <where>
            <if test="query.userName != null and query.userName != ''">
                and tlkgu.user_name like concat('%', #{query.userName}, '%')
            </if>
            <if test="query.contactNumber != null and query.contactNumber != ''">
                and tlkgu.contact_number like concat('%', #{query.contactNumber}, '%')
            </if>
            <if test="query.typeName != null and query.typeName != ''">
                and tlkpt.type_name like concat('%', #{query.typeName}, '%')
            </if>
            <if test="query.typeId != null and query.typeId != ''">
                and tlkgu.type_id = #{query.typeId}
            </if>
            <if test="query.userType != null">
                and tlkgu.user_type = #{query.userType}
            </if>
            and tlkgu.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by tlkgu.create_time desc
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeKeyPersonnelTypeMapper.xml
New file
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeKeyPersonnelTypeMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeKeyPersonnelType">
        <id column="id" property="id" />
        <result column="type_name" property="typeName" />
        <result column="show_type" property="showType" />
        <result column="show_number" property="showNumber" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, type_name, show_type, show_number, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.model.TLargeKeyPersonnelType">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_large_key_personnel_type
        where disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeOrganizationMapper.xml
New file
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeOrganizationMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeOrganization">
        <id column="id" property="id" />
        <result column="organization_name" property="organizationName" />
        <result column="organization_person" property="organizationPerson" />
        <result column="address" property="address" />
        <result column="contact_number" property="contactNumber" />
        <result column="business_scope" property="businessScope" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, organization_name, organization_person, address, contact_number, business_scope, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.model.TLargeOrganization">
        select
        <include refid="Base_Column_List"/>
            from t_large_organization
        <where>
            <if test="query.organizationName != null and query.organizationName != ''">
                and organization_name like concat('%',#{query.organizationName},'%')
            </if>
            and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeResourceMapper.xml
New file
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeResourceMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeResource">
        <id column="id" property="id" />
        <result column="type_parent_id" property="typeParentId" />
        <result column="type_children_id" property="typeChildrenId" />
        <result column="resource_unit" property="resourceUnit" />
        <result column="resource_name_desc" property="resourceNameDesc" />
        <result column="resource_source" property="resourceSource" />
        <result column="quantity_scale" property="quantityScale" />
        <result column="contact_person" property="contactPerson" />
        <result column="contact_number" property="contactNumber" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, type_parent_id, type_children_id, resource_unit, resource_name_desc, resource_source, quantity_scale, contact_person, contact_number, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TLargeResourceVO">
        SELECT
            id, type_parent_id, type_children_id, resource_unit, resource_name_desc, resource_source,
            quantity_scale, contact_person, contact_number, create_time, update_time, create_by, update_by, disabled
        from t_large_resource
        <where>
            <if test="query.typeParentId != null and query.typeParentId != ''">
                and type_parent_id = #{query.typeParentId}
            </if>
            <if test="query.typeChildrenId != null and query.typeChildrenId != ''">
                and type_children_id = #{query.typeChildrenId}
            </if>
            <if test="query.resourceNameDesc != null and query.resourceNameDesc != ''">
                and resource_name_desc like concat('%',#{query.resourceNameDesc},'%')
            </if>
            <if test="query.resourceSource != null and query.resourceSource != ''">
                and resource_source like concat('%',#{query.resourceSource},'%')
            </if>
            <if test="query.contactPerson != null and query.contactPerson != ''">
                and contact_person like concat('%',#{query.contactPerson},'%')
            </if>
            <if test="query.contactNumber != null and query.contactNumber != ''">
                and contact_number like concat('%',#{query.contactNumber},'%')
            </if>
            and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeResourceTypeMapper.xml
New file
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeResourceTypeMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeResourceType">
        <id column="id" property="id" />
        <result column="parent_id" property="parentId" />
        <result column="type_name" property="typeName" />
        <result column="unit_name" property="unitName" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, parent_id, type_name, unit_name, create_time, update_time, create_by, update_by, disabled
    </sql>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeSocialWorkerMapper.xml
New file
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeSocialWorkerMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeSocialWorker">
        <id column="id" property="id" />
        <result column="user_name" property="userName" />
        <result column="user_sex" property="userSex" />
        <result column="birth_date" property="birthDate" />
        <result column="educational_level" property="educationalLevel" />
        <result column="political_status" property="politicalStatus" />
        <result column="contact_number" property="contactNumber" />
        <result column="employer_position" property="employerPosition" />
        <result column="qualification_level" property="qualificationLevel" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, user_name, user_sex, birth_date, educational_level, political_status, contact_number, employer_position, qualification_level, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.model.TLargeSocialWorker">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_large_social_worker
        <where>
            <if test="query.userName != null and query.userName != ''">
                and user_name like concat('%',#{query.userName},'%')
            </if>
            <if test="query.contactNumber != null and query.contactNumber != ''">
                and contact_number like concat('%',#{query.contactNumber},'%')
            </if>
            <if test="query.qualificationLevel != null">
                and qualification_level = #{query.qualificationLevel}
            </if>
            and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeUserMapper.xml
New file
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeUserMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeUser">
        <id column="id" property="id" />
        <result column="dept_id" property="deptId" />
        <result column="avatar" property="avatar" />
        <result column="user_name" property="userName" />
        <result column="user_phone" property="userPhone" />
        <result column="user_position" property="userPosition" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, dept_id, avatar, user_name, user_phone, user_position, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TLargeUserVO">
        select tlu.id, tlu.dept_id, tlu.avatar, tlu.user_name, tlu.user_phone, tlu.user_position, tlu.create_time,
        tlu.update_time, tlu.create_by, tlu.update_by, tlu.disabled,tld.dept_name
        from t_large_user tlu
        left join t_large_dept tld on tld.id = tlu.dept_id
        <where>
            <if test="query.nameOrPhone != null and query.nameOrPhone != ''">
                and (tlu.user_name like concat('%',#{query.nameOrPhone},'%')
                    or tlu.user_phone like concat('%',#{query.nameOrPhone},'%'))
            </if>
            <if test="query.deptId != null and query.deptId != ''">
                and tlu.dept_id = #{query.deptId}
            </if>
            and tlu.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tlu.create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TLargeVolunteerMapper.xml
New file
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TLargeVolunteerMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TLargeVolunteer">
        <id column="id" property="id" />
        <result column="user_name" property="userName" />
        <result column="user_sex" property="userSex" />
        <result column="birth_date" property="birthDate" />
        <result column="service_area" property="serviceArea" />
        <result column="register_date" property="registerDate" />
        <result column="total_service_duration" property="totalServiceDuration" />
        <result column="join_team_date" property="joinTeamDate" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, user_name, user_sex, birth_date, service_area, register_date, total_service_duration, join_team_date, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.model.TLargeVolunteer">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_large_volunteer
        <where>
            <if test="query.userName != null and query.userName != ''">
                and user_name like concat('%',#{query.userName},'%')
            </if>
            <if test="query.serviceArea != null and query.serviceArea != ''">
                and service_area like concat('%',#{query.serviceArea},'%')
            </if>
            and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TMicroWishMapper.xml
@@ -26,7 +26,29 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, app_user_id, wish_type, wish_description, pictures, contact_person, contact_phone, address, status, audit_remark, process_result, process_pictures, process_time, create_time, update_time, create_by, update_by, disabled
        id, app_user_id, wish_type, wish_description, pictures, contact_person, contact_phone, address, status, audit_remark,
          process_result, process_pictures, process_time, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TMicroWishVO">
        select
        <include refid="Base_Column_List"/>
            from t_micro_wish
        <where>
            <if test="query.wishType != null">
                and wish_type = #{query.wishType}
            </if>
            <if test="query.status != null">
                and status = #{query.status}
            </if>
            <if test="query.contactPerson != null and query.contactPerson != ''">
                and contact_person like concat('%',#{query.contactPerson},'%')
            </if>
            <if test="query.contactPhone != null and query.contactPhone != ''">
                and contact_phone like concat('%',#{query.contactPhone},'%')
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TOldsterWarningMapper.xml
@@ -18,5 +18,25 @@
    <sql id="Base_Column_List">
        id, oldster_id, warning_time, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TOldsterWarningVO">
        select t.id, t.oldster_id, t.warning_time, t.create_time, t.update_time, t.create_by, t.update_by, t.disabled,
        tow.oldster_name, tow.oldster_age, tow.oldster_sex, tow.contact_phone, tow.guardian_name, tow.guardian_phone,
        tow.passport_photo, tow.id_card, tow.birth_date, tow.oldster_type, tow.address
        from t_oldster_warning tow
        left join t_oldster t on tow.oldster_id = t.id
        <where>
            <if test="query.oldsterName != null and query.oldsterName != ''">
                and t.oldster_name like concat('%',#{query.oldsterName},'%')
            </if>
            <if test="query.oldsterType != null and query.oldsterType != ''">
                and t.oldster_type = #{query.oldsterType}
            </if>
            <if test="query.contactPhone != null and query.contactPhone != ''">
                and t.contact_phone like concat('%',#{query.contactPhone},'%')
            </if>
            AND tow.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by tow.warning_time desc
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TPartyBuildingMapper.xml
@@ -11,6 +11,7 @@
        <result column="virtual_reading_count" property="virtualReadingCount" />
        <result column="read_count" property="readCount" />
        <result column="party_detail" property="partyDetail" />
        <result column="release_person" property="releasePerson" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
@@ -20,7 +21,7 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, party_title, party_type, party_cover, virtual_reading_count, read_count, party_detail, create_time, update_time, create_by, update_by, disabled
        id, party_title, party_type, party_cover, virtual_reading_count, read_count, party_detail, release_person,create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TPartyBuildingVO">
        SELECT