From b37f92c1f5bea036b13af38d82a0fa9ca690eb3b Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 26 二月 2025 01:27:18 +0800 Subject: [PATCH] 三个身边 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/bootstrap.yml | 43 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemMenuService.java | 19 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintFlowMapper.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintAuditRecord.java | 101 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/ServiceSangeshenbianApplication.java | 28 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java | 42 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/LoginVo.java | 18 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemRoleService.java | 21 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ProblemTypeMapper.xml | 14 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java | 46 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java | 75 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/pom.xml | 176 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleList.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComStreetMapper.xml | 5 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/MessageNotificationMapper.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemRoleMapper.java | 25 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/DepartmentServiceImpl.java | 15 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/TokenVo.java | 33 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemRoleMapper.xml | 15 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java | 59 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintAuditRecordServiceImpl.java | 72 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintAuditRecordMapper.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintAuditRecordService.java | 23 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintProgressMapper.xml | 5 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/SwaggerConfig.java | 31 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComActController.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemUserMapper.xml | 49 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java | 529 ++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemPostServiceImpl.java | 25 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintAuditRecordController.java | 24 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintProcessDTO.java | 35 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/DepartmentMapper.java | 13 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java | 169 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintFlow.java | 62 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/MyMetaObjectHandler.java | 42 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Banner.java | 51 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDelayAuditDTO.java | 19 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BannerServiceImpl.java | 26 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java | 106 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemUserService.java | 29 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemUserMapper.java | 25 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Complaint.java | 161 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/sangeshenbian/SystemUserService.java | 24 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IDepartmentService.java | 11 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java | 132 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintProgressMapper.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ReportTypeEnum.java | 33 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java | 128 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemUserListVo.java | 30 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemRoleMenuMapper.xml | 7 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemRoleMenu.java | 24 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDelayDTO.java | 22 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComActMapper.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/BannerMapper.java | 19 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ProblemType.java | 45 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/MessageNotificationMapper.xml | 42 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java | 246 ++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleListVo.java | 18 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemPost.java | 38 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintReportDTO.java | 16 springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java | 65 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/BcRegionMapper.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IBannerService.java | 15 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComStreetServiceImpl.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDispatch.java | 18 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml | 156 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MessageNotificationList.java | 32 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/BannerMapper.xml | 14 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/MybatisPlusConfig.java | 34 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintCompletionDTO.java | 38 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/MessageNotificationVO.java | 75 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/EditSystemRole.java | 22 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/BcRegion.java | 70 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/logback-spring.xml | 78 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComActMapper.xml | 5 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintProgressController.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/MessageNotification.java | 93 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintProgressService.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java | 117 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java | 51 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ProblemTypeMapper.java | 19 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComAct.java | 106 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemRoleMenuServiceImpl.java | 15 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/scheduled/ComplaintTasks.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ProblemTypeServiceImpl.java | 26 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemMenuMapper.xml | 7 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IWorkOrderItemConfigService.java | 11 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemRoleMenuMapper.java | 13 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/DistributedLock.java | 34 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IBcRegionService.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemUser.java | 141 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/PartyCardInfoVO.java | 24 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintReporAuditDTO.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintVO.java | 57 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComStreetMapper.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemUserList.java | 28 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/BcRegionMapper.xml | 5 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/RedissonConfig.java | 57 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Department.java | 50 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/AddSystemRole.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MessageNotificationController.java | 110 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java | 85 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemPostMapper.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintFlowMapper.xml | 5 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemMenu.java | 50 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintProgress.java | 69 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sangeshenbian/SystemUserVo.java | 118 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemRoleMenuService.java | 11 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/WorkOrderItemConfigMapper.java | 13 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java | 80 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemMenuServiceImpl.java | 40 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemMenuController.java | 34 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/WorkOrderItemConfig.java | 88 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/query/ComplaintQuery.java | 23 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java | 34 springcloud_k8s_panzhihuazhihuishequ/pom.xml | 2 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintTodoVO.java | 30 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/AuditStatusEnum.java | 36 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemPostMapper.xml | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IProblemTypeService.java | 15 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/query/BasePage.java | 19 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComActService.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComStreetService.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemPostService.java | 15 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/WorkOrderItemConfigMapper.xml | 7 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemRole.java | 38 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java | 111 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintFlowService.java | 27 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComStreet.java | 69 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintAuditRecordMapper.xml | 5 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/DispatchVO.java | 14 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/test/java/com/panzhihua/ServiceSangeshenbianApplicationTest.java | 38 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemRoleServiceImpl.java | 33 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComStreetController.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/WorkOrderItemConfigServiceImpl.java | 15 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComActServiceImpl.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/DistributedLockAspect.java | 138 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/DepartmentMapper.xml | 7 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleInfo.java | 22 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemMenuMapper.java | 13 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintFlowController.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintProgressServiceImpl.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/BcRegionController.java | 20 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java | 28 145 files changed, 6,459 insertions(+), 1 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sangeshenbian/SystemUserVo.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sangeshenbian/SystemUserVo.java new file mode 100644 index 0000000..b566a02 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sangeshenbian/SystemUserVo.java @@ -0,0 +1,118 @@ +package com.panzhihua.common.model.vos.sangeshenbian; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.Set; + +/** + * @author zhibing.pu + * @Date 2025/2/23 0:28 + */ +@Data +public class SystemUserVo { + /** + * 主键 + */ + @ApiModelProperty(value = "数据ID") + private Integer id; + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名", required = true) + private String name; + /** + * 手机号 + */ + @ApiModelProperty(value = "手机号", required = true) + private String phone; + /** + * 密码 + */ + @ApiModelProperty(value = "密码", required = true) + private String password; + /** + * 一级单位id + */ + @ApiModelProperty(value = "一级单位id", required = true) + private Integer oneDepartmentId; + /** + * 二级单位id + */ + @ApiModelProperty(value = "二级单位id") + private Integer twoDepartmentId; + /** + * 三级单位id + */ + @ApiModelProperty(value = "三级单位id") + private Integer threeDepartmentId; + /** + * 四级单位id + */ + @ApiModelProperty(value = "四级单位id") + private Integer fourDepartmentId; + /** + * 是否是管理员(0=否,1=是) + */ + @ApiModelProperty(value = "是否是管理员(0=否,1=是)", required = true) + private Integer isAdmin; + /** + * 职位id + */ + @ApiModelProperty(value = "职位id", required = true) + private Integer systemPostId; + /** + * 角色id + */ + @ApiModelProperty(value = "角色id", required = true) + private Integer systemRoleId; + /** + * 账号层级(1=市级账号,2=区县账号,3=街道账号,4=社区账号) + */ + @ApiModelProperty(value = "账号层级(1=市级账号,2=区县账号,3=街道账号,4=社区账号)", required = true) + private Integer accountLevel; + /** + * 所属区县 + */ + @ApiModelProperty(value = "所属区县") + private String districts; + /** + * 区县编号 + */ + @ApiModelProperty(value = "区县编号") + private String districtsCode; + /** + * 街道 + */ + @ApiModelProperty(value = "街道") + private String street; + /** + * 街道编号 + */ + @ApiModelProperty(value = "街道编号") + private String streetCode; + /** + * 社区 + */ + @ApiModelProperty(value = "社区") + private String community; + /** + * 社区编号 + */ + @ApiModelProperty(value = "社区编号") + private String communityCode; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer status; + /** + * 添加时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime createTime; + + @ApiModelProperty("权限集合") + private Set<String> permissions; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/sangeshenbian/SystemUserService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/sangeshenbian/SystemUserService.java new file mode 100644 index 0000000..cb18ab9 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/sangeshenbian/SystemUserService.java @@ -0,0 +1,24 @@ +package com.panzhihua.common.service.sangeshenbian; + +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @author zhibing.pu + * @Date 2025/2/23 0:14 + */ +@FeignClient(name = "huacheng-sangeshenbian") +public interface SystemUserService { + + /** + * + * @param id + * 用户的ID + * @return 用户所有角色 + */ + @PostMapping("/systemUser/getUserById") + R<SystemUserVo> getUserById(@RequestParam("id") String id); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/pom.xml b/springcloud_k8s_panzhihuazhihuishequ/pom.xml index 6fbc298..e20b589 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/pom.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/pom.xml @@ -233,6 +233,8 @@ <module>service_dlz</module> <module>service_bracelet</module> <module>service_jinhui_community</module> + <!--三个身边--> + <module>service_sangeshenbian</module> </modules> <packaging>pom</packaging> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/pom.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/pom.xml new file mode 100644 index 0000000..7f16f4f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/pom.xml @@ -0,0 +1,176 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.panzhihua</groupId> + <artifactId>zhihuishequ</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + <groupId>com.panzhihua</groupId> + <artifactId>service_sangeshenbian</artifactId> + <version>0.0.1-SNAPSHOT</version> + <name>server_sangeshenbian</name> + <description>三个身边</description> + + + <dependencies> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-config</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-openfeign</artifactId> + </dependency> + + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + </dependency> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>com.netflix.hystrix</groupId> + <artifactId>hystrix-javanica</artifactId> + </dependency> + <!--jsoup爬虫爬取网页 --> + <dependency> + <groupId>org.jsoup</groupId> + <artifactId>jsoup</artifactId> + <version>1.13.1</version> + </dependency> + + <dependency> + <groupId>org.redisson</groupId> + <artifactId>redisson</artifactId> + <version>3.10.1</version> + </dependency> + + + <dependency> + <groupId>com.baomidou</groupId> + <artifactId>mybatis-plus-boot-starter</artifactId> + </dependency> + <dependency> + <groupId>com.panzhihua</groupId> + <artifactId>common</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.data</groupId> + <artifactId>spring-data-redis</artifactId> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <version>2.6</version> + </dependency> +<!-- <dependency>--> +<!-- <groupId>org.springframework.boot</groupId>--> +<!-- <artifactId>spring-boot-starter-amqp</artifactId>--> +<!-- </dependency>--> + <!--添加监控依赖包--> + <dependency> + <groupId>io.micrometer</groupId> + <artifactId>micrometer-registry-prometheus</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + <!-- zxing生成二维码 --> + <dependency> + <groupId>com.google.zxing</groupId> + <artifactId>core</artifactId> + <version>3.3.3</version> + </dependency> + <!-- lbs附近定位 --> + <dependency> + <groupId>com.spatial4j</groupId> + <artifactId>spatial4j</artifactId> + <version>0.5</version> + </dependency> + <!-- 微信小程序--> + <dependency> + <groupId>com.github.binarywang</groupId> + <artifactId>weixin-java-miniapp</artifactId> + <version>3.9.9.B</version> + </dependency> + + <dependency> + <groupId>com.google.zxing</groupId> + <artifactId>javase</artifactId> + <version>3.3.3</version> + </dependency> + </dependencies> + + + <build> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <version>2.5.0</version> + <configuration> + <mainClass>com.panzhihua.service_community.ServiceCommunityApplication</mainClass> + </configuration> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>com.spotify</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>1.2.0</version> + <configuration> + <imageName>registry.cn-chengdu.aliyuncs.com/panzhihua/service_community:v1</imageName> + <serverId></serverId> + <baseImage>java</baseImage> + <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> + <resources> + <resource> + <targetPath>/</targetPath> + <directory>${project.build.directory}</directory> + <include>${project.build.finalName}.jar</include> + </resource> + </resources> + </configuration> + </plugin> + </plugins> + </build> + + <repositories> + <repository> + <id>spring-milestones</id> + <name>Spring Milestones</name> + <url>https://repo.spring.io/milestone</url> + </repository> + </repositories> + +</project> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/ServiceSangeshenbianApplication.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/ServiceSangeshenbianApplication.java new file mode 100644 index 0000000..45291ce --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/ServiceSangeshenbianApplication.java @@ -0,0 +1,28 @@ +package com.panzhihua.sangeshenbian; + +import org.springframework.boot.SpringApplication; +import org.springframework.cloud.client.SpringCloudApplication; +import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; +import org.springframework.cloud.netflix.eureka.EnableEurekaClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.scheduling.annotation.EnableScheduling; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +/** + * Hello world! + * + */ +@SpringCloudApplication +@EnableSwagger2 +@EnableFeignClients(basePackages = {"com.panzhihua.common.service"}) +@EnableEurekaClient +@EnableCircuitBreaker +@ComponentScan({"com.panzhihua.sangeshenbian", "com.panzhihua.common"}) +@EnableScheduling +public class ServiceSangeshenbianApplication +{ + public static void main(String[] args) { + SpringApplication.run(ServiceSangeshenbianApplication.class, args); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/DistributedLock.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/DistributedLock.java new file mode 100644 index 0000000..5eadeb0 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/annotation/DistributedLock.java @@ -0,0 +1,34 @@ +package com.panzhihua.sangeshenbian.annotation; + +import java.lang.annotation.*; + +/** + * @Descreption: 分布式锁注解 + * @Author: lfl + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface DistributedLock { + + /** + * 锁名字(没有EL解析) + */ + String lockName() default ""; + + /** + * 锁前缀(有EL解析) + */ + String lockNamePre() default ""; + + /** + * 锁后缀(有EL解析) + */ + String lockNamePost() default ""; + + /** + * 锁前后缀拼接分隔符 + */ + String separator() default "_"; +} + diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java new file mode 100644 index 0000000..1881471 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/BannerController.java @@ -0,0 +1,106 @@ +package com.panzhihua.sangeshenbian.api; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.model.entity.Banner; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.service.IBannerService; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.time.LocalDateTime; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:46 + */ +@Api +@RestController +@RequestMapping("/banner") +public class BannerController extends BaseController { + + @Resource + private IBannerService bannerService; + + @Resource + private ISystemUserService systemUserService; + + + @GetMapping("/list") + @ApiOperation(value = "获取banner列表", tags = {"三个身边后台-banner管理"}) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取banner列表") + public R<IPage<Banner>> list(String name, Integer pageNum, Integer pageSize){ + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id); + if(systemUser.getAccountLevel() != 1){ + return R.ok(); + } + IPage<Banner> list = bannerService.list(name, pageNum, pageSize); + return R.ok(list); + } + + + @PostMapping("/add") + @ApiOperation(value = "添加banner", tags = {"三个身边后台-banner管理"}) + @OperLog(operModul = "三个身边后台",operType = 1, businessType = "添加banner") + public R<Banner> add(@RequestBody Banner banner){ + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id); + if(systemUser.getAccountLevel() != 1){ + return R.fail("添加失败"); + } + banner.setDel(0); + banner.setCreateTime(LocalDateTime.now()); + bannerService.save(banner); + return R.ok(banner); + } + + + @PostMapping("/edit") + @ApiOperation(value = "编辑banner", tags = {"三个身边后台-banner管理"}) + @OperLog(operModul = "三个身边后台",operType = 2, businessType = "编辑banner") + public R<Banner> edit(@RequestBody Banner banner){ + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id); + if(systemUser.getAccountLevel() != 1){ + return R.fail("编辑失败"); + } + bannerService.updateById(banner); + return R.ok(banner); + } + + + @DeleteMapping("/delete/{id}") + @ApiOperation(value = "删除banner", tags = {"三个身边后台-banner管理"}) + @OperLog(operModul = "三个身边后台",operType = 3, businessType = "删除banner") + public R delete(@PathVariable("id") Integer id){ + Integer id1 = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id1); + if(systemUser.getAccountLevel() != 1){ + return R.fail("删除失败"); + } + Banner banner = new Banner(); + banner.setId(id); + banner.setDel(1); + bannerService.updateById(banner); + return R.ok(); + } + + @GetMapping("/getBannerInfo/{id}") + @ApiOperation(value = "获取banner信息", tags = {"三个身边后台-banner管理"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "bannerID", required = true, dataType = "Integer") + }) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取banner信息") + public R<Banner> getBannerInfo(@PathVariable("id") Integer id){ + Banner banner = bannerService.getById(id); + return R.ok(banner); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java new file mode 100644 index 0000000..7f3d84c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java @@ -0,0 +1,128 @@ +package com.panzhihua.sangeshenbian.api; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.model.entity.Department; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.service.IDepartmentService; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:44 + */ +@Api +@RestController +@RequestMapping("/department") +public class DepartmentController { + + @Resource + private IDepartmentService departmentService; + + @Resource + private ISystemUserService systemUserService; + + + @GetMapping("/list") + @ApiOperation(value = "获取单位列表", tags = {"三个身边后台-用户管理"}) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取单位列表") + public R<List<Department>> list(){ + List<Department> list = departmentService.list(); + List<Department> departmentList1 = list.stream().filter(s -> s.getPid() == 0).collect(Collectors.toList()); + for (Department department : departmentList1) { + List<Department> departmentList2 = list.stream().filter(s -> s.getPid().equals(department.getId())).collect(Collectors.toList()); + for (Department department1 : departmentList2) { + List<Department> departmentList3 = list.stream().filter(s -> s.getPid().equals(department1.getId())).collect(Collectors.toList()); + for (Department department2 : departmentList3) { + List<Department> departmentList4 = list.stream().filter(s -> s.getPid().equals(department2.getId())).collect(Collectors.toList()); + department2.setChild(departmentList4); + } + department1.setChild(departmentList3); + } + department.setChild(departmentList2); + } + return R.ok(departmentList1); + } + + + + @PostMapping("/add") + @ApiOperation(value = "添加单位信息", tags = {"三个身边后台-用户管理"}) + @OperLog(operModul = "三个身边后台",operType = 1, businessType = "添加单位信息") + public R add(@RequestBody Department department){ + if(null == department.getPid()){ + department.setPid(0); + } + long count = departmentService.count(new LambdaQueryWrapper<Department>().eq(Department::getPid, department.getPid()).eq(Department::getName, department.getName())); + if(0 < count){ + return R.fail("单位名称重复。"); + } + Department department1 = departmentService.getById(department.getPid()); + if(null != department1 && 4 == department1.getTier()){ + return R.fail("层级超过4级,保存失败。"); + } + department.setTier(null == department1 ? 1 : department1.getTier() + 1); + departmentService.save(department); + return R.ok(); + } + + + @PostMapping("/edit") + @ApiOperation(value = "编辑单位信息", tags = {"三个身边后台-用户管理"}) + @OperLog(operModul = "三个身边后台",operType = 2, businessType = "编辑单位信息") + public R edit(@RequestBody Department department){ + if(null == department.getPid()){ + department.setPid(0); + } + long count = departmentService.count(new LambdaQueryWrapper<Department>().eq(Department::getPid, department.getPid()) + .eq(Department::getName, department.getName()).ne(Department::getId, department.getId())); + if(0 < count){ + return R.fail("单位名称重复。"); + } + Department department1 = departmentService.getById(department.getPid()); + if(null != department1 && 4 == department1.getTier()){ + return R.fail("层级超过4级,保存失败。"); + } + department.setTier(null == department1 ? 1 : department1.getTier() + 1); + departmentService.updateById(department); + return R.ok(); + } + + + + @DeleteMapping("/delete/{id}") + @ApiOperation(value = "删除单位信息", tags = {"三个身边后台-用户管理"}) + @OperLog(operModul = "三个身边后台",operType = 3, businessType = "删除单位信息") + public R delete(@PathVariable("id") Integer id){ + long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, id).or().eq(SystemUser::getTwoDepartmentId, id) + .or().eq(SystemUser::getThreeDepartmentId, id).or().eq(SystemUser::getFourDepartmentId, id).ne(SystemUser::getStatus, 3)); + if(0 < count){ + return R.fail("该单位已被使用,删除失败。"); + } + departmentService.removeById(id); + return R.ok(); + } + + + + @GetMapping("/getDepartmentList/{tier}") + @ApiOperation(value = "根据单位层级查询单位数据", tags = {"三个身边后台-用户管理"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "tier", value = "单位层级", required = true, dataType = "Integer") + }) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "根据单位层级查询单位数据") + public R<List<Department>> getDepartmentList(@PathVariable("tier") Integer tier){ + List<Department> list = departmentService.list(new LambdaQueryWrapper<Department>().eq(Department::getTier, tier)); + return R.ok(list); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MessageNotificationController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MessageNotificationController.java new file mode 100644 index 0000000..591ca78 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/MessageNotificationController.java @@ -0,0 +1,110 @@ +package com.panzhihua.sangeshenbian.api; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.model.entity.MessageNotification; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.service.IMessageNotificationService; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import com.panzhihua.sangeshenbian.warpper.MessageNotificationList; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @author zhibing.pu + * @Date 2025/2/23 3:05 + */ + +@Api +@RestController +@RequestMapping("/messageNotification") +public class MessageNotificationController extends BaseController { + + @Resource + private IMessageNotificationService messageNotificationService; + + @Resource + private ISystemUserService systemUserService; + + + + @GetMapping("/list") + @ApiOperation(value = "获取消息通知列表", tags = {"三个身边后台-消息通知"}) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取消息通知列表") + public R<IPage<MessageNotification>> list(MessageNotificationList query) { + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id); + switch (systemUser.getAccountLevel()){ + case 1: + query.setUserId("510400"); + break; + case 2: + query.setUserId(systemUser.getDistrictsCode()); + break; + case 3: + query.setUserId(systemUser.getStreetId().toString()); + break; + case 4: + query.setUserId(systemUser.getCommunityId().toString()); + break; + case 5: + query.setUserId(id.toString()); + break; + } + query.setUndertakerType(systemUser.getAccountLevel()); + IPage<MessageNotification> page = messageNotificationService.list(query); + return R.ok(page); + } + + + @PutMapping("/read/{id}") + @ApiOperation(value = "标记为已读", tags = {"三个身边后台-消息通知"}) + @OperLog(operModul = "三个身边后台",operType = 2, businessType = "标记为已读") + public R read(@PathVariable("id") Integer id) { + MessageNotification messageNotification = messageNotificationService.getById(id); + if(messageNotification.getReadStatus()==1){ + return R.fail("不能重复操作"); + } + messageNotification.setReadStatus(1); + messageNotificationService.updateById(messageNotification); + return R.ok(); + } + + + @GetMapping("/unreadCount") + @ApiOperation(value = "获取未读数量", tags = {"三个身边后台-消息通知"}) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取未读数量") + public R unreadCount() { + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id); + String userId = null; + switch (systemUser.getAccountLevel()){ + case 1: + userId = "510400"; + break; + case 2: + userId = systemUser.getDistrictsCode(); + break; + case 3: + userId = systemUser.getStreetId().toString(); + break; + case 4: + userId = systemUser.getCommunityId().toString(); + break; + case 5: + userId = id.toString(); + break; + } + long count = messageNotificationService.lambdaQuery() + .eq(MessageNotification::getReadStatus, 0) + .eq(MessageNotification::getUndertakerType, systemUser.getAccountLevel()) + .eq(MessageNotification::getUndertakerUserId, userId) + .count(); + return R.ok(count); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java new file mode 100644 index 0000000..a816fe3 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/ProblemTypeController.java @@ -0,0 +1,117 @@ +package com.panzhihua.sangeshenbian.api; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.model.entity.ProblemType; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.service.IProblemTypeService; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.time.LocalDateTime; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:27 + */ +@Api +@RestController +@RequestMapping("/problemType") +public class ProblemTypeController extends BaseController { + + @Resource + private IProblemTypeService problemTypeService; + + @Resource + private ISystemUserService systemUserService; + + + + + @GetMapping("/list") + @ApiOperation(value = "获取问题类型列表", tags = {"三个身边后台-问题类型管理"}) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取问题类型列表") + public R<IPage<ProblemType>> list(String name, Integer pageNum, Integer pageSize){ + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id); + if(systemUser.getAccountLevel() != 1){ + return R.ok(); + } + IPage<ProblemType> list = problemTypeService.list(name, pageNum, pageSize); + return R.ok(list); + } + + + @PostMapping("/add") + @ApiOperation(value = "添加问题类型", tags = {"三个身边后台-问题类型管理"}) + @OperLog(operModul = "三个身边后台",operType = 1, businessType = "添加问题类型") + public R add(@RequestBody ProblemType problemType){ + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id); + if(systemUser.getAccountLevel() != 1){ + return R.fail("添加失败"); + } + long count = problemTypeService.count(new LambdaQueryWrapper<ProblemType>().eq(ProblemType::getName, problemType.getName()).eq(ProblemType::getDel, 0)); + if(0 < count){ + return R.fail("该问题类型已存在"); + } + problemType.setDel(0); + problemType.setCreateTime(LocalDateTime.now()); + problemTypeService.save(problemType); + return R.ok(); + } + + + @PostMapping("/edit") + @ApiOperation(value = "编辑问题类型", tags = {"三个身边后台-问题类型管理"}) + @OperLog(operModul = "三个身边后台",operType = 2, businessType = "编辑问题类型") + public R edit(@RequestBody ProblemType problemType){ + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(id); + if(systemUser.getAccountLevel() != 1){ + return R.fail("编辑失败"); + } + long count = problemTypeService.count(new LambdaQueryWrapper<ProblemType>().eq(ProblemType::getName, problemType.getName()).eq(ProblemType::getDel, 0).ne(ProblemType::getId, problemType.getId())); + if(0 < count){ + return R.fail("该问题类型已存在"); + } + problemTypeService.updateById(problemType); + return R.ok(); + } + + + @DeleteMapping("/delete/{id}") + @ApiOperation(value = "删除问题类型", tags = {"三个身边后台-问题类型管理"}) + @OperLog(operModul = "三个身边后台",operType = 3, businessType = "删除问题类型") + public R delete(@PathVariable("id") Integer id){ + Integer userid = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser systemUser = systemUserService.getById(userid); + if(systemUser.getAccountLevel() != 1){ + return R.fail("删除失败"); + } + ProblemType problemType = new ProblemType(); + problemType.setId(id); + problemType.setDel(1); + problemTypeService.updateById(problemType); + return R.ok(); + } + + @GetMapping("/getProblemTypeInfo/{id}") + @ApiOperation(value = "获取问题类型信息", tags = {"三个身边后台-问题类型管理"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "问题类型ID", required = true, dataType = "Integer") + }) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取问题类型信息") + public R<ProblemType> getProblemTypeInfo(@PathVariable("id") Integer id){ + ProblemType problemType = problemTypeService.getById(id); + return R.ok(problemType); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemMenuController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemMenuController.java new file mode 100644 index 0000000..d29ec04 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemMenuController.java @@ -0,0 +1,34 @@ +package com.panzhihua.sangeshenbian.api; + +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.model.entity.SystemMenu; +import com.panzhihua.sangeshenbian.service.ISystemMenuService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2025/2/23 1:22 + */ +@Api +@RestController +@RequestMapping("/systemMenu") +public class SystemMenuController { + + @Resource + private ISystemMenuService systemMenuService; + + @GetMapping("/getSystemMenuList") + @ApiOperation(value = "获取菜单列表", tags = {"三个身边后台-角色管理"}) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取菜单列表") + public R<List<SystemMenu>> getSystemMenuList(){ + return R.ok(systemMenuService.getSystemMenuList()); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java new file mode 100644 index 0000000..2ca0c24 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemPostController.java @@ -0,0 +1,59 @@ +package com.panzhihua.sangeshenbian.api; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.model.entity.SystemPost; +import com.panzhihua.sangeshenbian.service.ISystemPostService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @author zhibing.pu + * @Date 2025/2/25 19:44 + */ +@Api +@RestController +@RequestMapping("/systemPost") +public class SystemPostController { + + @Resource + private ISystemPostService systemPostService; + + + @PostMapping("/add") + @ApiOperation(value = "添加职位", tags = {"三个身边后台-职位管理"}) + @OperLog(operModul = "三个身边后台",operType = 1,businessType = "添加职位") + public R add(@RequestBody SystemPost systemPost) { + systemPostService.save(systemPost); + return R.ok(); + } + + + @PostMapping("/edit") + @ApiOperation(value = "编辑职位", tags = {"三个身边后台-职位管理"}) + @OperLog(operModul = "三个身边后台",operType = 2,businessType = "编辑职位") + public R edit(@RequestBody SystemPost systemPost) { + systemPostService.updateById(systemPost); + return R.ok(); + } + + @DeleteMapping("/delete/{id}") + @ApiOperation(value = "删除职位", tags = {"三个身边后台-职位管理"}) + @OperLog(operModul = "三个身边后台",operType = 3,businessType = "删除职位") + public R delete(@PathVariable("id") Integer id) { + systemPostService.removeById(id); + return R.ok(); + } + + + @GetMapping("/list") + @ApiOperation(value = "获取列表数据", tags = {"三个身边后台-职位管理"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "获取职位列表数据") + public R<IPage<SystemPost>> list(String name, Integer pageNum, Integer pageSize) { + return R.ok(systemPostService.list(name, pageNum, pageSize)); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java new file mode 100644 index 0000000..666bd4a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemRoleController.java @@ -0,0 +1,132 @@ +package com.panzhihua.sangeshenbian.api; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.model.entity.SystemRole; +import com.panzhihua.sangeshenbian.model.entity.SystemRoleMenu; +import com.panzhihua.sangeshenbian.service.ISystemRoleMenuService; +import com.panzhihua.sangeshenbian.service.ISystemRoleService; +import com.panzhihua.sangeshenbian.warpper.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author zhibing.pu + * @Date 2025/2/19 16:41 + */ +@Api +@RestController +@RequestMapping("/systemRole") +public class SystemRoleController extends BaseController { + + @Resource + private ISystemRoleService systemRoleService; + + @Resource + private ISystemRoleMenuService systemRoleMenuService; + + + + @GetMapping("/list") + @ApiOperation(value = "获取列表数据", tags = {"三个身边后台-角色管理"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "获取角色列表数据") + public R<IPage<SystemRoleListVo>> list(SystemRoleList systemRoleList){ + IPage<SystemRoleListVo> list = systemRoleService.list(systemRoleList); + return R.ok(list); + } + + + + @PostMapping("/add") + @ApiOperation(value = "添加角色", tags = {"三个身边后台-角色管理"}) + @OperLog(operModul = "三个身边后台",operType = 1,businessType = "添加角色") + public R add(@RequestBody AddSystemRole addSystemRole){ + long count = systemRoleService.count(new LambdaQueryWrapper<SystemRole>().eq(SystemRole::getDel, 0).eq(SystemRole::getName, addSystemRole.getName())); + if(0 < count){ + return R.fail("该角色名称已存在"); + } + SystemRole systemRole = new SystemRole(); + systemRole.setName(addSystemRole.getName()); + systemRole.setDel(0); + systemRole.setCreateTime(LocalDateTime.now()); + systemRoleService.save(systemRole); + //添加角色菜单权限 + List<Integer> systemMenuIds = addSystemRole.getSystemMenuIds(); + for (Integer systemMenuId : systemMenuIds) { + SystemRoleMenu systemRoleMenu = new SystemRoleMenu(); + systemRoleMenu.setSystemRoleId(systemRole.getId()); + systemRoleMenu.setSystemMenuId(systemMenuId); + systemRoleMenuService.save(systemRoleMenu); + } + return R.ok(); + } + + @PostMapping("/edit") + @ApiOperation(value = "编辑角色", tags = {"三个身边后台-角色管理"}) + @OperLog(operModul = "三个身边后台",operType = 2,businessType = "编辑角色") + public R edit(@RequestBody EditSystemRole editSystemRole){ + long count = systemRoleService.count(new LambdaQueryWrapper<SystemRole>().eq(SystemRole::getDel, 0) + .eq(SystemRole::getName, editSystemRole.getName()).ne(SystemRole::getId, editSystemRole.getId())); + if(0 < count){ + return R.fail("该角色名称已存在"); + } + SystemRole systemRole = systemRoleService.getById(editSystemRole.getId()); + if(null == systemRole){ + return R.fail("无效的角色数据"); + } + systemRole.setName(editSystemRole.getName()); + systemRoleService.updateById(systemRole); + //添加角色菜单权限 + systemRoleMenuService.remove(new LambdaQueryWrapper<SystemRoleMenu>().eq(SystemRoleMenu::getSystemRoleId, editSystemRole.getId())); + List<Integer> systemMenuIds = editSystemRole.getSystemMenuIds(); + for (Integer systemMenuId : systemMenuIds) { + SystemRoleMenu systemRoleMenu = new SystemRoleMenu(); + systemRoleMenu.setSystemRoleId(systemRole.getId()); + systemRoleMenu.setSystemMenuId(systemMenuId); + systemRoleMenuService.save(systemRoleMenu); + } + return R.ok(); + } + + + @DeleteMapping("/delete/{id}") + @ApiOperation(value = "删除角色", tags = {"三个身边后台-角色管理"}) + @OperLog(operModul = "三个身边后台",operType = 3,businessType = "删除角色") + public R delete(@PathVariable("id") Integer id){ + SystemRole systemRole = systemRoleService.getById(id); + systemRole.setDel(1); + systemRoleService.updateById(systemRole); + //删除角色菜单权限 + systemRoleMenuService.remove(new LambdaQueryWrapper<SystemRoleMenu>().eq(SystemRoleMenu::getSystemRoleId, id)); + return R.ok(); + } + + + + @GetMapping("/getSystemRoleInfo/{id}") + @ApiOperation(value = "获取角色详情", tags = {"三个身边后台-角色管理"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "获取角色详情") + public R<SystemRoleInfo> getSystemRoleInfo(@PathVariable("id") Integer id){ + SystemRole systemRole = systemRoleService.getById(id); + if(null == systemRole){ + return R.fail("无效的角色数据"); + } + + List<SystemRoleMenu> list = systemRoleMenuService.list(new LambdaQueryWrapper<SystemRoleMenu>().eq(SystemRoleMenu::getSystemRoleId, id)); + SystemRoleInfo systemRoleInfo = new SystemRoleInfo(); + systemRoleInfo.setId(systemRole.getId()); + systemRoleInfo.setName(systemRoleInfo.getName()); + systemRoleInfo.setSystemMenuIds(list.stream().map(SystemRoleMenu::getSystemMenuId).collect(Collectors.toList())); + return R.ok(systemRoleInfo); + } + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java new file mode 100644 index 0000000..1d7edde --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java @@ -0,0 +1,246 @@ +package com.panzhihua.sangeshenbian.api; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.LoginReturnVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; +import com.panzhihua.common.service.auth.TokenService; +import com.panzhihua.sangeshenbian.model.entity.SystemMenu; +import com.panzhihua.sangeshenbian.model.entity.SystemRoleMenu; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.service.ISystemMenuService; +import com.panzhihua.sangeshenbian.service.ISystemRoleMenuService; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import com.panzhihua.sangeshenbian.warpper.LoginVo; +import com.panzhihua.sangeshenbian.warpper.SystemUserList; +import com.panzhihua.sangeshenbian.warpper.SystemUserListVo; +import com.panzhihua.sangeshenbian.warpper.TokenVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +/** + * @author zhibing.pu + * @Date 2025/2/18 22:30 + */ +@Api +@RestController +@RequestMapping("/systemUser") +public class SystemUserController extends BaseController { + + @Resource + private ISystemUserService systemUserService; + + @Resource + private RedisTemplate redisTemplate; + + @Resource + private TokenService tokenService; + + private final Integer max_err = 5; + + @Resource + private ISystemRoleMenuService systemRoleMenuService; + + @Resource + private ISystemMenuService systemMenuService; + + + + + + @PostMapping("/login") + @ApiOperation(value = "登录", tags = {"三个身边后台-登录"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "登录") + public R<TokenVo> login(@RequestBody LoginVo vo){ + String key = "login:" + vo.getPhone(); + Integer size = (Integer) redisTemplate.opsForValue().get(key); + if(null != size && max_err.equals(size)){ + return R.fail("连续登录失败,请稍后重试。"); + } + if(null == size){ + size = 0; + } + SystemUser systemUser = systemUserService.getOne(new LambdaQueryWrapper<SystemUser>() + .eq(SystemUser::getPhone, vo.getPhone()).ne(SystemUser::getStatus, 3)); + if(null == systemUser){ + size++; + redisTemplate.opsForValue().set(key, size, 5, TimeUnit.MINUTES); + return R.fail("登录失败,手机号/密码错误。"); + } + if(!vo.getPassword().equals(systemUser.getPassword())){ + size++; + redisTemplate.opsForValue().set(key, size, 5, TimeUnit.MINUTES); + return R.fail("登录失败,手机号/密码错误。"); + } + if(2 == systemUser.getStatus()){ + return R.fail("当前账号已冻结。"); + } + //创建token + R<LoginReturnVO> reult = tokenService.loginThreeAround(systemUser.getId()); + redisTemplate.delete(key); + LoginReturnVO loginReturnVO = reult.getData(); + TokenVo tokenVo = new TokenVo(); + BeanUtils.copyProperties(loginReturnVO, tokenVo); + List<SystemRoleMenu> list = systemRoleMenuService.list(new LambdaQueryWrapper<SystemRoleMenu>().eq(SystemRoleMenu::getSystemRoleId, systemUser.getSystemRoleId())); + List<Integer> collect = list.stream().map(SystemRoleMenu::getSystemMenuId).collect(Collectors.toList()); + Set<String> collect1 = new HashSet<>(); + if(collect.size() > 0){ + List<SystemMenu> systemMenus = systemMenuService.listByIds(collect); + collect1 = systemMenus.stream().map(SystemMenu::getUrl).collect(Collectors.toSet()); + } + tokenVo.setMenu(collect1); + tokenVo.setName(systemUser.getName()); + return R.ok(tokenVo); + } + + + @PostMapping("logout") + @ApiOperation(value = "退出登录", tags = {"三个身边后台-登录"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "退出登录") + public R login() { + String token = this.getToken(); + if (ObjectUtils.isEmpty(token)) { + return R.ok(); + } + return tokenService.logout(token); + } + + + @GetMapping("/list") + @ApiOperation(value = "获取列表数据", tags = {"三个身边管理后台-人员管理"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "获取人员管理列表数据") + public R<IPage<SystemUserListVo>> list(SystemUserList query){ + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser user = systemUserService.getById(id); + IPage<SystemUserListVo> list = systemUserService.list(user.getAccountLevel(), query); + return R.ok(list); + } + + + + @PostMapping("/add") + @ApiOperation(value = "添加人员", tags = {"三个身边管理后台-人员管理"}) + @OperLog(operModul = "三个身边后台",operType = 1,businessType = "添加人员") + public R add(@RequestBody SystemUser systemUser){ + Integer id = this.getLoginUserInfoSanGeShenBian().getId(); + SystemUser user = systemUserService.getById(id); + if(2 == user.getAccountLevel() && 1 == systemUser.getAccountLevel()){ + return R.fail("不能添加市级账号"); + } + if(3 == user.getAccountLevel() && 3 < systemUser.getAccountLevel()){ + return R.fail("不能添加区县和市级账号"); + } + if(4 == user.getAccountLevel() && 4 < systemUser.getAccountLevel()){ + return R.fail("不能添加街道、区县和市级账号"); + } + long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getPhone, systemUser.getPhone()).ne(SystemUser::getStatus, 3)); + if(0 < count){ + return R.fail("手机号重复。"); + } + systemUser.setStatus(1); + systemUser.setCreateTime(LocalDateTime.now()); + systemUserService.save(systemUser); + return R.ok(); + } + + + @PostMapping("/edit") + @ApiOperation(value = "编辑人员", tags = {"三个身边后台-人员管理"}) + @OperLog(operModul = "三个身边后台",operType = 2,businessType = "编辑人员") + public R edit(@RequestBody SystemUser systemUser){ + long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getPhone, systemUser.getPhone()) + .ne(SystemUser::getStatus, 3).ne(SystemUser::getId, systemUser.getId())); + if(0 < count){ + return R.fail("手机号重复。"); + } + systemUser.setStatus(1); + systemUser.setCreateTime(LocalDateTime.now()); + systemUserService.updateById(systemUser); + return R.ok(); + } + + + @DeleteMapping("/delete/{id}") + @ApiOperation(value = "删除人员", tags = {"三个身边后台-人员管理"}) + @OperLog(operModul = "三个身边后台",operType = 3,businessType = "删除人员") + public R delete(@PathVariable("id") Integer id){ + SystemUser systemUser = systemUserService.getById(id); + systemUser.setStatus(3); + systemUserService.updateById(systemUser); + return R.ok(); + } + + + @GetMapping("/getSystemUserInfo/{id}") + @ApiOperation(value = "查询人员详情", tags = {"三个身边后台-人员管理"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "查询人员详情") + public R<SystemUser> getSystemUserInfo(@PathVariable("id") Integer id){ + SystemUser systemUser = systemUserService.getById(id); + return R.ok(systemUser); + } + + + @PutMapping("/freeze/{id}") + @ApiOperation(value = "冻结账号", tags = {"三个身边后台-人员管理"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "冻结账号") + public R freeze(@PathVariable("id") Integer id){ + SystemUser systemUser = systemUserService.getById(id); + if(2 == systemUser.getStatus()){ + return R.fail("不能重复操作"); + } + systemUser.setStatus(2); + systemUserService.updateById(systemUser); + return R.ok(); + } + + + @PutMapping("/unfreeze/{id}") + @ApiOperation(value = "解冻账号", tags = {"三个身边后台-人员管理"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "解冻账号") + public R unfreeze(@PathVariable("id") Integer id){ + SystemUser systemUser = systemUserService.getById(id); + if(1 == systemUser.getStatus()){ + return R.fail("不能重复操作"); + } + systemUser.setStatus(1); + systemUserService.updateById(systemUser); + return R.ok(); + } + + + /** + * 根据用户id获取信息 + * @param id + * @return + */ + @PostMapping("/getUserById") + public R<SystemUserVo> getUserById(@RequestParam("id") String id){ + SystemUser systemUser = systemUserService.getById(id); + SystemUserVo systemUserVo = new SystemUserVo(); + List<SystemRoleMenu> list = systemRoleMenuService.list(new LambdaQueryWrapper<SystemRoleMenu>().eq(SystemRoleMenu::getSystemRoleId, systemUser.getSystemRoleId())); + List<Integer> collect = list.stream().map(SystemRoleMenu::getSystemMenuId).collect(Collectors.toList()); + Set<String> collect1 = new HashSet<>(); + if(collect.size() > 0){ + List<SystemMenu> systemMenus = systemMenuService.listByIds(collect); + collect1 = systemMenus.stream().map(SystemMenu::getUrl).collect(Collectors.toSet()); + } + systemUserVo.setPermissions(collect1); + BeanUtils.copyProperties(systemUser, systemUserVo); + return R.ok(systemUserVo); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java new file mode 100644 index 0000000..83d1223 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/WorkOrderItemConfigController.java @@ -0,0 +1,42 @@ +package com.panzhihua.sangeshenbian.api; + +import com.panzhihua.common.interfaces.OperLog; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.model.entity.WorkOrderItemConfig; +import com.panzhihua.sangeshenbian.service.IWorkOrderItemConfigService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:09 + */ +@Api +@RestController +@RequestMapping("/workOrderItemConfig") +public class WorkOrderItemConfigController { + + @Resource + private IWorkOrderItemConfigService workOrderItemConfigService; + + + @GetMapping("/getWorkOrderItemConfigInfo") + @ApiOperation(value = "获取工单事项配置", tags = {"三个身边后台-工单事项配置"}) + @OperLog(operModul = "三个身边后台",operType = 0,businessType = "获取工单事项配置") + public R<WorkOrderItemConfig> getWorkOrderItemConfigInfo(){ + WorkOrderItemConfig one = workOrderItemConfigService.getOne(null); + return R.ok(one); + } + + + @PostMapping("/addWorkOrderItemConfig") + @ApiOperation(value = "保存工单事项配置", tags = {"三个身边后台-工单事项配置"}) + @OperLog(operModul = "三个身边后台",operType = 1,businessType = "保存工单事项配置") + public R<WorkOrderItemConfig> add(@RequestBody WorkOrderItemConfig workOrderItemConfig){ + workOrderItemConfigService.saveOrUpdate(workOrderItemConfig); + return R.ok(); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/DistributedLockAspect.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/DistributedLockAspect.java new file mode 100644 index 0000000..660bd89 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/aspectj/DistributedLockAspect.java @@ -0,0 +1,138 @@ +package com.panzhihua.sangeshenbian.aspectj; + +import com.panzhihua.sangeshenbian.annotation.DistributedLock; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.aspectj.lang.reflect.MethodSignature; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; +import org.springframework.core.LocalVariableTableParameterNameDiscoverer; +import org.springframework.expression.ExpressionParser; +import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.expression.spel.support.StandardEvaluationContext; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.lang.reflect.Method; +import java.util.Objects; + +/** + * @Desecription: 分布式锁切面 + * 注意!!!分布式锁不能加在事务方法当中:因为当锁释放,事务还没有提交 + */ + +@Aspect +@Component +@Slf4j +public class DistributedLockAspect { + @Resource + private RedissonClient redissonClient; + + /** + * @Descreption: 定义切面:以注解为切面 + */ + @Pointcut("@annotation(com.panzhihua.sangeshenbian.annotation.DistributedLock)") + public void distributedLockAspect() { + } + + + @Around(value = "distributedLockAspect()") + public Object doAround(ProceedingJoinPoint pjp) throws Throwable { + + //切点所在的类 + MethodSignature methodSignature = (MethodSignature) pjp.getSignature(); + Method method = methodSignature.getMethod(); + // + DistributedLock annotation = method.getAnnotation(DistributedLock.class); + String lockName = getLockName(annotation, pjp.getArgs(), method); + //log.info("lockName:"+lockName); + RLock lock = redissonClient.getLock(lockName); + lock.lock(); + try { + return pjp.proceed(); + } finally { + if (lock.isLocked() && lock.isHeldByCurrentThread()) { + //释放锁 + lock.unlock(); + } + } + } + + /** + * @Descreption: 获取锁名字,优先获取注解中锁名 + */ + private String getLockName(DistributedLock distributedLock, Object[] args, Method method) { + //优先获取注解名称 + if (StringUtils.isNotBlank(distributedLock.lockName())) { + return distributedLock.lockName(); + } + //根据参数匹配有参数就使用动态参数,没有就使用定义参数 + String lockNamePre = distributedLock.lockNamePre(); + String lockNamePost = distributedLock.lockNamePost(); + String separator = distributedLock.separator(); + + String preExpression = parseExpression(lockNamePre, method, args); + String postExpression = parseExpression(lockNamePost, method, args); + StringBuilder sb = new StringBuilder(); + if (StringUtils.isNotBlank(preExpression)) { + sb.append(preExpression); + } else { + sb.append(lockNamePre); + } + sb.append(separator); + if (StringUtils.isNotBlank(postExpression)) { + sb.append(postExpression); + } else { + sb.append(lockNamePost); + } + return sb.toString(); + } + + /** + * el表达式解析 + * + * @param expressionString 解析值 + * @param method 方法 + * @param args 参数 + * @return + */ + private String parseExpression(String expressionString, Method method, Object[] args) { + //获取被拦截方法参数名列表 + LocalVariableTableParameterNameDiscoverer discoverer = new LocalVariableTableParameterNameDiscoverer(); + String[] paramNameArr = discoverer.getParameterNames(method); + //SPEL解析 + ExpressionParser parser = new SpelExpressionParser(); + StandardEvaluationContext context = new StandardEvaluationContext(); + for (int i = 0; i < Objects.requireNonNull(paramNameArr).length; i++) { + context.setVariable(paramNameArr[i], args[i]); + } + return parser.parseExpression(expressionString).getValue(context, String.class); + } + +// ==========================示例============================= + + // //固定静态参数锁:product_lock +// @DistributedLock(lockName = "product_lock") +// @GetMapping(value = "/test1") +// public void test1() { +// System.out.println("执行事务"); +// } +// +// //未匹配到参数,因此仍然是静态参数锁:#param1_#param2 +// @DistributedLock(lockNamePre = "#param1", lockNamePost = "#param2") +// @GetMapping(value = "/test2") +// public void test2() { +// System.out.println("执行事务"); +// } +// + //匹配到参数,动态参数锁:hello_world +// @DistributedLock(lockNamePre = "#order", lockNamePost = "#param2") +// @GetMapping(value = "/test3") + public void test3(String param1, String param2) { + System.out.println("执行事务"); + } +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/MyMetaObjectHandler.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/MyMetaObjectHandler.java new file mode 100644 index 0000000..ea4d7d2 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/MyMetaObjectHandler.java @@ -0,0 +1,42 @@ +package com.panzhihua.sangeshenbian.config; + +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.reflection.MetaObject; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: 自动填充 + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-12-11 14:23 + **/ +@Slf4j +@Component +public class MyMetaObjectHandler implements MetaObjectHandler { + @Override + public void insertFill(MetaObject metaObject) { + log.info("start insert fill ...."); + // this.strictInsertFill(metaObject, "createTime", Date.class, new Date()); // 起始版本 3.3.0(推荐使用) + // 或者 + this.strictInsertFill(metaObject, "createTime", () -> new Date(), Date.class); // 起始版本 3.3.3(推荐) + this.strictInsertFill(metaObject, "updateTime", () -> new Date(), Date.class); // 起始版本 3.3.3(推荐) + // 或者 + // this.fillStrategy(metaObject, "createTime", LocalDateTime.now()); // 也可以使用(3.3.0 该方法有bug) + this.strictInsertFill(metaObject, "createTime", () -> new Date(), Date.class); // 起始版本 3.3.3(推荐) + this.strictInsertFill(metaObject, "updateTime", () -> new Date(), Date.class); // 起始版本 3.3.3(推荐) + } + + @Override + public void updateFill(MetaObject metaObject) { + log.info("start update fill ...."); + // this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐) + // 或者 + this.strictUpdateFill(metaObject, "createTime", () -> new Date(), Date.class); // 起始版本 3.3.3(推荐) + this.strictUpdateFill(metaObject, "updateTime", () -> new Date(), Date.class); // 起始版本 3.3.3(推荐) + // 或者 + // this.fillStrategy(metaObject, "updateTime", LocalDateTime.now()); // 也可以使用(3.3.0 该方法有bug) + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/MybatisPlusConfig.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/MybatisPlusConfig.java new file mode 100644 index 0000000..d710fcb --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/MybatisPlusConfig.java @@ -0,0 +1,34 @@ +package com.panzhihua.sangeshenbian.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: 分页 + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-11-30 16:26 + **/ +@Configuration +public class MybatisPlusConfig { + + /** + * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除) + */ + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } + + @Bean + public ConfigurationCustomizer configurationCustomizer() { + return configuration -> configuration.setUseDeprecatedExecutor(false); + } + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/RedissonConfig.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/RedissonConfig.java new file mode 100644 index 0000000..9e5e13e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/RedissonConfig.java @@ -0,0 +1,57 @@ +package com.panzhihua.sangeshenbian.config; + +import org.apache.commons.lang3.StringUtils; +import org.redisson.Redisson; +import org.redisson.api.RedissonClient; +import org.redisson.config.Config; +import org.redisson.config.SingleServerConfig; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @Desecription: + */ +@Configuration +public class RedissonConfig { + + + @Value("${spring.redis.host}") + private String host; + @Value("${spring.redis.port}") + private String port; + @Value("${spring.redis.database}") + private int database; + @Value("${spring.redis.timeout}") + private String timeout; + @Value("${spring.redis.password}") + private String password; + + /** + * @Descreption: RedissonClient, 单机模式 + */ + @Bean(destroyMethod = "shutdown") + public RedissonClient redisson() { + Config config = new Config(); + SingleServerConfig singleServerConfig = config.useSingleServer(); + singleServerConfig.setAddress("redis://" + host + ":" + port); + singleServerConfig.setTimeout(10000); + singleServerConfig.setDatabase(database); + singleServerConfig.setRetryInterval(1000); + singleServerConfig.setPingConnectionInterval(1000); + if (StringUtils.isNotBlank(password)) { + singleServerConfig.setPassword(password); + } + return Redisson.create(config); + } + +// @Bean +// public RedissonLocker redissonLocker(RedissonClient redissonClient) { +// RedissonLocker locker = new RedissonLocker(redissonClient); +// redissonClient.getlo +// //设置LockUtil的锁处理对象 +// LockUtils.setLocker(locker); +// return locker; +// } +} + diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/SwaggerConfig.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/SwaggerConfig.java new file mode 100644 index 0000000..385c4e3 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/config/SwaggerConfig.java @@ -0,0 +1,31 @@ +package com.panzhihua.sangeshenbian.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: swagger3 + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-11-19 16:08 + **/ +@Configuration +public class SwaggerConfig { + @Bean + public Docket createRestApi() { + return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).enable(true).select() +// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) + .apis(RequestHandlerSelectors.basePackage("com.panzhihua.sangeshenbian")).build(); + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder().title("三个身边开发文档").description("。").contact(new Contact("lfl", "", "")) + .version("1.0").build(); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/BcRegionController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/BcRegionController.java new file mode 100644 index 0000000..af33552 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/BcRegionController.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 行政区划表 前端控制器 + * </p> + * + * @author + * @since 2025-02-23 + */ +@RestController +@RequestMapping("/bc-region") +public class BcRegionController { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComActController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComActController.java new file mode 100644 index 0000000..8ae4065 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComActController.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 社区表 前端控制器 + * </p> + * + * @author + * @since 2025-02-23 + */ +@RestController +@RequestMapping("/com-act") +public class ComActController { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComStreetController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComStreetController.java new file mode 100644 index 0000000..acbcf29 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComStreetController.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 街道表 前端控制器 + * </p> + * + * @author + * @since 2025-02-23 + */ +@RestController +@RequestMapping("/com-street") +public class ComStreetController { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintAuditRecordController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintAuditRecordController.java new file mode 100644 index 0000000..a9850ed --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintAuditRecordController.java @@ -0,0 +1,24 @@ +package com.panzhihua.sangeshenbian.controller; + + +import com.panzhihua.common.model.vos.R; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 诉求上报、延期申请审核表 前端控制器 + * </p> + * + * @author + * @since 2025-02-23 + */ +@RestController +@RequestMapping("/applet/complaint-audit-record") +public class ComplaintAuditRecordController { + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java new file mode 100644 index 0000000..ef7e064 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java @@ -0,0 +1,169 @@ +package com.panzhihua.sangeshenbian.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.sangeshenbian.annotation.DistributedLock; +import com.panzhihua.sangeshenbian.model.dto.*; +import com.panzhihua.sangeshenbian.model.entity.Complaint; +import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord; +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; +import com.panzhihua.sangeshenbian.model.entity.ProblemType; +import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; +import com.panzhihua.sangeshenbian.model.vo.DispatchVO; +import com.panzhihua.sangeshenbian.service.IComplaintService; +import com.panzhihua.sangeshenbian.service.IProblemTypeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiParam; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * <p> + * 诉求报告表 前端控制器 + * </p> + * + * @author + * @since 2025-02-22 + */ +@Validated +@RestController +@RequestMapping("/applet/complaint") +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +@Api(tags = "诉求管理") +public class ComplaintController extends BaseController { + + private final IComplaintService complaintService; + private final IProblemTypeService problemTypeService; + @GetMapping("/problem-type/list") + @ApiOperation("获取诉求问题类型列表") + public R<List<ProblemType>> problemTypeList() { + return R.ok(problemTypeService.list()); + } + /** + * 录入诉求 + */ + @PostMapping("/save") + @ApiOperation(value = "录入诉求") + @DistributedLock(lockName = "complaint_serial_number_lock") + public R<?> save(@RequestBody Complaint complaint) { + complaintService.saveComplaint(complaint, getUserId()); + return R.ok(); + } + + @PostMapping("/list") + @ApiOperation("工单列表") + public R<Page<ComplaintVO>> complaintList(@RequestBody ComplaintQuery query) { + return R.ok(complaintService.complaintList(query,getLoginUserInfo())); + } + + @GetMapping("/detail") + @ApiOperation("工单详情") + public R<ComplaintVO> detail(@ApiParam(name = "id", value = "工单id", required = true) Long id) { + return R.ok(complaintService.detail(id)); + } + + @GetMapping("/progress/{complaintId}") + @ApiOperation("办理进度") + public R<List<ComplaintProgress>> progress(@ApiParam(name = "complaintId", value = "诉求id", required = true) @PathVariable("complaintId") Long complaintId) { + return R.ok(complaintService.progress(complaintId)); + } + + @PostMapping("/save-process") + @ApiOperation("办理进度录入") + public R<?> saveProcess(@Valid @RequestBody ComplaintProcessDTO dto){ + complaintService.saveProcess(dto,getLoginUserInfo()); + return R.ok(); + } + + @PostMapping("/save-result") + @ApiOperation("办理结果录入") + public R<?> saveResult(@RequestBody ComplaintCompletionDTO dto){ + complaintService.saveResult(dto,getLoginUserInfo()); + return R.ok(); + } + + @GetMapping("/delay-detail/{complaintId}") + @ApiOperation("延期情况说明") + public R<ComplaintAuditRecord> delayDetail(@ApiParam(name = "complaintId", value = "诉求id", required = true) @PathVariable("complaintId") Long complaintId) { + return R.ok(complaintService.delayDetail(complaintId)); + } + + /** + * 问题上报 + */ + @PostMapping("/report") + @ApiOperation(value = "问题上报") + public R<?> report(@RequestBody ComplaintReportDTO complaintReportDTO) { + complaintService.saveReport(complaintReportDTO, getLoginUserInfo()); + return R.ok(); + } + + /** + * 诉求下派 + */ + @PostMapping("/saveDispatch") + @ApiOperation("诉求下派") + public R<?> saveDispatch(@RequestBody ComplaintDispatch dto){ + complaintService.saveDispatch(dto, getLoginUserInfo()); + return R.ok(); + } + + /** + * 延期申请 + */ + @PostMapping("/saveDelay") + @ApiOperation(value = "延期申请") + public R<?> saveDelay(@RequestBody ComplaintDelayDTO dto){ + complaintService.saveDelay(dto, getLoginUserInfo()); + return R.ok(); + } + + /** + * 延期审核 + */ + @PostMapping("/delayAudit") + @ApiOperation(value = "延期审核") + public R<?> delayAudit(@RequestBody ComplaintDelayAuditDTO dto) { + complaintService.delayAudit(dto, getLoginUserInfo()); + return R.ok(); + } + + /** + * 上报审核 + */ + @PostMapping("/reportAudit") + @ApiOperation(value = "问题上报审核") + public R<?> reportAudit(@RequestBody ComplaintReporAuditDTO dto) { + complaintService.reportAudit(dto, getLoginUserInfo()); + return R.ok(); + } + + /** + * 获取下派单位列表 + */ + @GetMapping("/getDispatchList") + @ApiOperation(value = "获取下派单位列表") + public R<List<DispatchVO>> getDispatchList() { + return R.ok(complaintService.getDispatchList(getLoginUserInfo())); + } + + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintFlowController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintFlowController.java new file mode 100644 index 0000000..4df371c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintFlowController.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 诉求流转记录表 前端控制器 + * </p> + * + * @author + * @since 2025-02-22 + */ +@RestController +@RequestMapping("/complaint-flow") +public class ComplaintFlowController { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintProgressController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintProgressController.java new file mode 100644 index 0000000..b9211ad --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintProgressController.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 前端控制器 + * </p> + * + * @author + * @since 2025-02-22 + */ +@RestController +@RequestMapping("/complaint-progress") +public class ComplaintProgressController { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java new file mode 100644 index 0000000..840cc85 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java @@ -0,0 +1,85 @@ +package com.panzhihua.sangeshenbian.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; +import com.panzhihua.common.service.sangeshenbian.SystemUserService; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.sangeshenbian.model.entity.Banner; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; +import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO; +import com.panzhihua.sangeshenbian.model.vo.PartyCardInfoVO; +import com.panzhihua.sangeshenbian.service.IBannerService; +import com.panzhihua.sangeshenbian.service.IComplaintService; +import com.panzhihua.sangeshenbian.service.IMessageNotificationService; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Lazy; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author mitao + * @date 2025/2/23 + */ +@RestController +@RequestMapping("/applet/home") +@RequiredArgsConstructor(onConstructor_=@Lazy) +@Api(tags = "首页相关接口") +public class HomeController extends BaseController { + private final IBannerService bannerService; + private final IMessageNotificationService messageNotificationService; + private final IComplaintService complaintService; + private final ISystemUserService systemUserService; + private final UserService userService; + @ApiOperation("获取banner列表") + @GetMapping("/banner-list") + public R<List<Banner>> getBannerList() { + return R.ok(bannerService.list()); + } + @GetMapping("/party-card-info") + @ApiOperation("获取党员证信息") + public R<PartyCardInfoVO> getPartyCardInfo() { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + PartyCardInfoVO partyCardInfoVO = new PartyCardInfoVO(); + partyCardInfoVO.setName(loginUserInfo.getName()); + partyCardInfoVO.setIdCard(loginUserInfo.getIdCard()); + partyCardInfoVO.setPartyOrganization(loginUserInfo.getCommunityName()); + return R.ok(partyCardInfoVO); + } + @PostMapping("/message") + @ApiOperation("获取消息列表") + public R<Page<MessageNotificationVO>> getMessageList(@RequestBody BasePage page) { + return R.ok(messageNotificationService.getMessageList(page,getUserId())); + } + @PostMapping("/todo-list") + @ApiOperation("获取待办诉求") + public R<Page<ComplaintTodoVO>> getTodoList(@RequestBody BasePage page) { + return R.ok(complaintService.getTodoList(page,getLoginUserInfo())); + } + @GetMapping("/current-user-info") + @ApiOperation("获取三个身边当前用户信息 用于判断用户是否是上级") + public R<SystemUser> getCurrentUserInfo() { + return R.ok(systemUserService.getSystemUserByPhone(getLoginUserInfo().getPhone()).orElse(null)); + } + /** + * 标记已读 + */ + @PostMapping("/read") + @ApiOperation("标记已读") + public R<?> read(){ + messageNotificationService.read(getLoginUserInfo()); + return R.ok(); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/BannerMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/BannerMapper.java new file mode 100644 index 0000000..3e3b280 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/BannerMapper.java @@ -0,0 +1,19 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.sangeshenbian.model.entity.Banner; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:44 + */ +@Mapper +public interface BannerMapper extends BaseMapper<Banner> { + + + IPage<Banner> list(Page page, @Param("name") String name); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/BcRegionMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/BcRegionMapper.java new file mode 100644 index 0000000..097df9f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/BcRegionMapper.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.panzhihua.sangeshenbian.model.entity.BcRegion; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 行政区划表 Mapper 接口 + * </p> + * + * @author + * @since 2025-02-23 + */ +public interface BcRegionMapper extends BaseMapper<BcRegion> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComActMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComActMapper.java new file mode 100644 index 0000000..e80674b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComActMapper.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.panzhihua.sangeshenbian.model.entity.ComAct; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 社区表 Mapper 接口 + * </p> + * + * @author + * @since 2025-02-23 + */ +public interface ComActMapper extends BaseMapper<ComAct> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComStreetMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComStreetMapper.java new file mode 100644 index 0000000..892698e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComStreetMapper.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.panzhihua.sangeshenbian.model.entity.ComStreet; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 街道表 Mapper 接口 + * </p> + * + * @author + * @since 2025-02-23 + */ +public interface ComStreetMapper extends BaseMapper<ComStreet> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintAuditRecordMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintAuditRecordMapper.java new file mode 100644 index 0000000..5577c20 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintAuditRecordMapper.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 诉求上报、延期申请审核表 Mapper 接口 + * </p> + * + * @author + * @since 2025-02-23 + */ +public interface ComplaintAuditRecordMapper extends BaseMapper<ComplaintAuditRecord> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintFlowMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintFlowMapper.java new file mode 100644 index 0000000..77b4e97 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintFlowMapper.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.panzhihua.sangeshenbian.model.entity.ComplaintFlow; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 诉求流转记录表 Mapper 接口 + * </p> + * + * @author + * @since 2025-02-22 + */ +public interface ComplaintFlowMapper extends BaseMapper<ComplaintFlow> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java new file mode 100644 index 0000000..15a4188 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java @@ -0,0 +1,46 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.sangeshenbian.model.entity.Complaint; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; +import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 问题报告表 Mapper 接口 + * </p> + * + * @author + * @since 2025-02-22 + */ +public interface ComplaintMapper extends BaseMapper<Complaint> { + /** + * 工单列表 + * @param page + * @param query + * @param targetId + * @param isSuperior + * @return + */ + Page<ComplaintVO> selectComplaintPage(Page<ComplaintVO> page, @Param("query") ComplaintQuery query, @Param("targetId") String targetId, @Param("isSuperior") Integer isSuperior); + + /** + * 工单详情 + * @param id + * @return + */ + ComplaintVO getDetail(Long id); + + /** + * 获取待办诉求 + * @param page + * @param targetId + * @param isSuperior + * @return + */ + Page<ComplaintTodoVO> getTodoList(Page<ComplaintTodoVO> page, @Param("targetId") String targetId, @Param("isSuperior") int isSuperior); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintProgressMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintProgressMapper.java new file mode 100644 index 0000000..304f39e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintProgressMapper.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author + * @since 2025-02-22 + */ +public interface ComplaintProgressMapper extends BaseMapper<ComplaintProgress> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/DepartmentMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/DepartmentMapper.java new file mode 100644 index 0000000..fe48098 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/DepartmentMapper.java @@ -0,0 +1,13 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.panzhihua.sangeshenbian.model.entity.Department; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:42 + */ +@Mapper +public interface DepartmentMapper extends BaseMapper<Department> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/MessageNotificationMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/MessageNotificationMapper.java new file mode 100644 index 0000000..964e8fd --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/MessageNotificationMapper.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.sangeshenbian.model.entity.MessageNotification; +import com.panzhihua.sangeshenbian.warpper.MessageNotificationList; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author zhibing.pu + * @Date 2025/2/23 3:03 + */ +@Mapper +public interface MessageNotificationMapper extends BaseMapper<MessageNotification> { + + + IPage<MessageNotification> list(Page page, @Param("query") MessageNotificationList query); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ProblemTypeMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ProblemTypeMapper.java new file mode 100644 index 0000000..401e1e8 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ProblemTypeMapper.java @@ -0,0 +1,19 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.sangeshenbian.model.entity.ProblemType; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:25 + */ +@Mapper +public interface ProblemTypeMapper extends BaseMapper<ProblemType> { + + + IPage<ProblemType> list(Page page, @Param("name") String name); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemMenuMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemMenuMapper.java new file mode 100644 index 0000000..d1d5789 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemMenuMapper.java @@ -0,0 +1,13 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.panzhihua.sangeshenbian.model.entity.SystemMenu; + +/** + * @author zhibing.pu + * @Date 2025/2/23 1:02 + */ +@Mapper +public interface SystemMenuMapper extends BaseMapper<SystemMenu> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemPostMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemPostMapper.java new file mode 100644 index 0000000..52cf77e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemPostMapper.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.sangeshenbian.model.entity.SystemPost; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author zhibing.pu + * @Date 2025/2/25 19:41 + */ +@Mapper +public interface SystemPostMapper extends BaseMapper<SystemPost> { + + + + IPage<SystemPost> list(Page page, @Param("name") String name); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemRoleMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemRoleMapper.java new file mode 100644 index 0000000..a42229d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemRoleMapper.java @@ -0,0 +1,25 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.sangeshenbian.model.entity.SystemRole; +import com.panzhihua.sangeshenbian.warpper.SystemRoleListVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author zhibing.pu + * @Date 2025/2/19 16:40 + */ +@Mapper +public interface SystemRoleMapper extends BaseMapper<SystemRole> { + + + /** + * 获取列表数据 + * @param name + * @return + */ + IPage<SystemRoleListVo> list(Page page, @Param("name") String name); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemRoleMenuMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemRoleMenuMapper.java new file mode 100644 index 0000000..ba5bda6 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemRoleMenuMapper.java @@ -0,0 +1,13 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.panzhihua.sangeshenbian.model.entity.SystemRoleMenu; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:24 + */ +@Mapper +public interface SystemRoleMenuMapper extends BaseMapper<SystemRoleMenu> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemUserMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemUserMapper.java new file mode 100644 index 0000000..13766a6 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/SystemUserMapper.java @@ -0,0 +1,25 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.warpper.SystemUserList; +import com.panzhihua.sangeshenbian.warpper.SystemUserListVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author zhibing.pu + * @Date 2025/2/18 22:29 + */ +@Mapper +public interface SystemUserMapper extends BaseMapper<SystemUser> { + + /** + * 获取列表数据 + * @param query + * @return + */ + IPage<SystemUserListVo> list(Page page, @Param("accountLevel") Integer accountLevel, @Param("query") SystemUserList query); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/WorkOrderItemConfigMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/WorkOrderItemConfigMapper.java new file mode 100644 index 0000000..40d2bfc --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/WorkOrderItemConfigMapper.java @@ -0,0 +1,13 @@ +package com.panzhihua.sangeshenbian.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.panzhihua.sangeshenbian.model.entity.WorkOrderItemConfig; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:06 + */ +@Mapper +public interface WorkOrderItemConfigMapper extends BaseMapper<WorkOrderItemConfig> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/AuditStatusEnum.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/AuditStatusEnum.java new file mode 100644 index 0000000..e2558b8 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/AuditStatusEnum.java @@ -0,0 +1,36 @@ +package com.panzhihua.sangeshenbian.enums; + +import lombok.Data; + +// 审核状态枚举类 +public enum AuditStatusEnum { + PENDING(0, "待审核"), + APPROVED(1, "审核通过"), + REJECTED(2, "审核驳回"); + + private final int code; + private final String description; + + AuditStatusEnum(int code, String description) { + this.code = code; + this.description = description; + } + + public int getCode() { + return code; + } + + public String getDescription() { + return description; + } + + public static String getDescriptionByCode(int code) { + for (AuditStatusEnum status : AuditStatusEnum.values()) { + if (status.getCode() == code) { + return status.getDescription(); + } + } + return null; + } +} + diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java new file mode 100644 index 0000000..2259c4b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java @@ -0,0 +1,34 @@ +package com.panzhihua.sangeshenbian.enums; + +// 流转状态枚举类(更名为 ProcessStatusEnum) +public enum ProcessStatusEnum { + PROCESSING(0, "正在办理"), + EXTENDED(1, "延期办理"), + OVERDUE(2, "超时办理"), + COMPLETED(3, "已办结"); + + private final int code; + private final String description; + + ProcessStatusEnum(int code, String description) { + this.code = code; + this.description = description; + } + + public int getCode() { + return code; + } + + public String getDescription() { + return description; + } + + public static String getDescriptionByCode(int code) { + for (ProcessStatusEnum status : ProcessStatusEnum.values()) { + if (status.getCode() == code) { + return status.getDescription(); + } + } + return null; + } +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ReportTypeEnum.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ReportTypeEnum.java new file mode 100644 index 0000000..c9c4ea8 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ReportTypeEnum.java @@ -0,0 +1,33 @@ +package com.panzhihua.sangeshenbian.enums; + +public enum ReportTypeEnum { + COMMUNITY(4, "社区"), + STREET(3, "街道"), + DISTRICT(2, "区县"), + CITY(1, "市"); + + private final int code; + private final String description; + + ReportTypeEnum(int code, String description) { + this.code = code; + this.description = description; + } + + public int getCode() { + return code; + } + + public String getDescription() { + return description; + } + + public static ReportTypeEnum fromCode(int code) { + for (ReportTypeEnum type : ReportTypeEnum.values()) { + if (type.getCode() == code) { + return type; + } + } + throw new IllegalArgumentException("Invalid code: " + code); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintCompletionDTO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintCompletionDTO.java new file mode 100644 index 0000000..e7aabaf --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintCompletionDTO.java @@ -0,0 +1,38 @@ +package com.panzhihua.sangeshenbian.model.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("办理结果录入数据传输对象") +public class ComplaintCompletionDTO { + @ApiModelProperty(value = "诉求id") + private Long complaintId; + + @ApiModelProperty(value = "办结状态: 3-已办结 4-群众撤销") + private Integer status; + + @ApiModelProperty(value = "诉求id") + private Long id; + + @ApiModelProperty(value = "办理结果描述") + private String completionDescription; + + @ApiModelProperty(value = "办理结果图片") + private String completionImages; + + @ApiModelProperty(value = "办理结果视频") + private String completionVideos; + + @ApiModelProperty(value = "办理结果其他说明") + private String completionOtherDescription; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDelayAuditDTO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDelayAuditDTO.java new file mode 100644 index 0000000..a5791dd --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDelayAuditDTO.java @@ -0,0 +1,19 @@ +package com.panzhihua.sangeshenbian.model.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "延期审核") +public class ComplaintDelayAuditDTO { + @ApiModelProperty(value = "审核记录id") + private Long id; + @ApiModelProperty(value = "诉求id") + private Long complaintId; + @ApiModelProperty(value = "审核结果: 1-通过 2-驳回") + private Integer auditResult; + @ApiModelProperty(value = "驳回原因") + private String rejectReason; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDelayDTO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDelayDTO.java new file mode 100644 index 0000000..364c2a9 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDelayDTO.java @@ -0,0 +1,22 @@ +package com.panzhihua.sangeshenbian.model.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "诉求延期") +public class ComplaintDelayDTO { + + @ApiModelProperty(value = "诉求id") + private Long complaintId; + + @ApiModelProperty("说明") + private String comment; + + @ApiModelProperty("图片") + private String images; + + @ApiModelProperty("视频") + private String videos; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDispatch.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDispatch.java new file mode 100644 index 0000000..7f1f776 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintDispatch.java @@ -0,0 +1,18 @@ +package com.panzhihua.sangeshenbian.model.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "诉求下派") +public class ComplaintDispatch { + @ApiModelProperty(value = "诉求id") + private Long complaintId; + + @ApiModelProperty(value = "单位id") + private Long dispatchId; // TODO 待实现 + + @ApiModelProperty(value = "内容") + private String comment; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintProcessDTO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintProcessDTO.java new file mode 100644 index 0000000..b94461c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintProcessDTO.java @@ -0,0 +1,35 @@ +package com.panzhihua.sangeshenbian.model.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel +public class ComplaintProcessDTO { + + @ApiModelProperty(value = "诉求id") + @NotNull(message = "诉求id不能为空") + private Long complaintId; + + @ApiModelProperty(value = "办理进度描述") + @NotBlank(message = "办理进度描述不能为空") + private String describe; + + @ApiModelProperty(value = "图片url") + private String imgUrl; + + @ApiModelProperty(value = "视频url") + private String video; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintReporAuditDTO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintReporAuditDTO.java new file mode 100644 index 0000000..576697f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintReporAuditDTO.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ComplaintReporAuditDTO { + @ApiModelProperty(value = "诉求id") + private Long id; + + @ApiModelProperty(value = "审核结果: 1-通过 2-驳回") + private Integer auditResult; + + @ApiModelProperty(value = "驳回原因") + private String rejectReason; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintReportDTO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintReportDTO.java new file mode 100644 index 0000000..60c49fa --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/dto/ComplaintReportDTO.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.model.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "诉求上报") +public class ComplaintReportDTO { + + @ApiModelProperty(value = "诉求id") + private Long complaintId; + + @ApiModelProperty(value = "诉求内容") + private String comment; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Banner.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Banner.java new file mode 100644 index 0000000..abdbf6f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Banner.java @@ -0,0 +1,51 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:42 + */ +@Data +@ApiModel +@TableName("sgsb_banner") +public class Banner { + /** + * 数据ID + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty("数据ID") + private Integer id; + /** + * 名称 + */ + @TableField("name") + @ApiModelProperty("名称") + private String name; + /** + * 地址 + */ + @TableField("url") + @ApiModelProperty("地址") + private String url; + /** + * 删除标识(0=否,1=是) + */ + @TableField("del") + @TableLogic + private Integer del; + /** + * 添加时间 + */ + @TableField("create_time") + private LocalDateTime createTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/BcRegion.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/BcRegion.java new file mode 100644 index 0000000..7c53488 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/BcRegion.java @@ -0,0 +1,70 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * 行政区划表 + * </p> + * + * @author + * @since 2025-02-23 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="BcRegion对象", description="行政区划表") +public class BcRegion implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "region_id", type = IdType.NONE) + private String regionId; + + @ApiModelProperty(value = "行政区划编码") + private String regionCode; + + @ApiModelProperty(value = "行政区划名称") + private String regionName; + + @ApiModelProperty(value = "父id") + private String parentId; + + @ApiModelProperty(value = "所在层级") + private Integer hierarchyOrder; + + @ApiModelProperty(value = "同层顺序") + private Integer levelOrder; + + @ApiModelProperty(value = "层级格式编码(格式 : `**`**` )") + private String formatCode; + + @ApiModelProperty(value = "创建者") + private Long createUserId; + + @ApiModelProperty(value = "创建时间") + private LocalDateTime createDatetime; + + @ApiModelProperty(value = "修改者") + private Long modifyUserId; + + @ApiModelProperty(value = "修改时间") + private LocalDateTime modifyDatetime; + + @ApiModelProperty(value = "删除标识(0:未删除,1:已删除)") + private Boolean deleteFlag; + + @ApiModelProperty(value = "子集数量") + private Integer childrenNum; + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComAct.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComAct.java new file mode 100644 index 0000000..204b79d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComAct.java @@ -0,0 +1,106 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * 社区表 + * </p> + * + * @author + * @since 2025-02-23 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("com_act") +@ApiModel(value="ComAct对象", description="社区表") +public class ComAct implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = ",主键") + @TableId(value = "community_id", type = IdType.NONE) + private Long communityId; + + @ApiModelProperty(value = "街道Id") + private Long streetId; + + @ApiModelProperty(value = "社区名字") + private String name; + + @ApiModelProperty(value = "社区地址") + private String address; + + @ApiModelProperty(value = "经度") + private String lng; + + @ApiModelProperty(value = "维度") + private String lat; + + @ApiModelProperty(value = "省份地址编码") + private String provinceCode; + + @ApiModelProperty(value = "市级地址编码") + private String cityCode; + + @ApiModelProperty(value = "区级地址编码") + private String areaCode; + + @ApiModelProperty(value = "社区面积") + private String square; + + @ApiModelProperty(value = "联系人") + private String contacts; + + @ApiModelProperty(value = "联系人电话") + private String contactsPhone; + + @ApiModelProperty(value = "社区总人口") + private Integer totalUser; + + @ApiModelProperty(value = "社区书记-用户ID") + private Long managerId; + + @ApiModelProperty(value = "社区书记_名称") + private String managerName; + + @ApiModelProperty(value = "社区介绍") + private String introduce; + + @ApiModelProperty(value = "层次递归字段(省>市>区县>街道>社区)") + private String path; + + @ApiModelProperty(value = "超管账号") + private String account; + + @ApiModelProperty(value = "账号密码") + private String password; + + @ApiModelProperty(value = "状态 0 启用 1 禁用") + private Integer state; + + @ApiModelProperty(value = "创建时间") + private LocalDateTime createAt; + + @ApiModelProperty(value = "是否大屏统计(1.是 2.否)") + private Integer isScreenStatistics; + + @ApiModelProperty(value = "明文密码") + private String plaintextPassword; + + private String appId; + + private String solvePhone; + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComStreet.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComStreet.java new file mode 100644 index 0000000..cbbe5ee --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComStreet.java @@ -0,0 +1,69 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * 街道表 + * </p> + * + * @author + * @since 2025-02-23 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="ComStreet对象", description="街道表") +public class ComStreet implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = ",主键") + @TableId(value = "street_id", type = IdType.NONE) + private String streetId; + + @ApiModelProperty(value = "街道名称") + private String name; + + @ApiModelProperty(value = "省份地址编码") + private Integer provinceCode; + + @ApiModelProperty(value = "市级地址编码") + private Integer cityCode; + + @ApiModelProperty(value = "区级地址编码") + private Integer areaCode; + + @ApiModelProperty(value = "街道地址") + private String address; + + @ApiModelProperty(value = "经度") + private String lng; + + @ApiModelProperty(value = "纬度") + private String lat; + + @ApiModelProperty(value = "创建时间") + private LocalDateTime createAt; + + @ApiModelProperty(value = "超管账号") + private String account; + + @ApiModelProperty(value = "账号密码") + private String password; + + @ApiModelProperty(value = "联系电话") + private String phone; + + private String appId; + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Complaint.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Complaint.java new file mode 100644 index 0000000..adaca43 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Complaint.java @@ -0,0 +1,161 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.checkerframework.checker.units.qual.A; + +/** + * <p> + * 问题报告表 + * </p> + * + * @author + * @since 2025-02-22 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("sgsb_complaint") +@ApiModel(value="Complaint对象", description="问题报告表") +public class Complaint implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = " ") + @TableId(value = "id",type = IdType.ASSIGN_ID) + @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class) + private Long id; + + @ApiModelProperty(value = "诉求号") + @TableField("serial_number") + private String serialNumber; + + @ApiModelProperty(value = "问题发生时间") + @TableField("time") + private Date time; + + @ApiModelProperty(value = "问题类型") + @TableField("problem_type") + private String problemType; + + @ApiModelProperty(value = "群众姓名") + @TableField("name") + private String name; + + @ApiModelProperty(value = "联系电话") + @TableField("contact_number") + private String contactNumber; + + @ApiModelProperty(value = "问题发生地点") + @TableField("location") + private String location; + + @ApiModelProperty(value = "详细地址描述") + @TableField("detailed_address") + private String detailedAddress; + + @ApiModelProperty(value = "问题标题") + @TableField("description_title") + private String descriptionTitle; + + @ApiModelProperty(value = "问题描述内容") + @TableField("description_content") + private String descriptionContent; + + @ApiModelProperty(value = "上传图片") + @TableField("images") + private String images; + + @ApiModelProperty(value = "上传视频") + @TableField("videos") + private String videos; + + @ApiModelProperty(value = "流转状态:0-正在办理 1-延期办理 2-超时办理 3-已办结 4-群众撤销 5-上报待审核 6-上级驳回 7-延期待审核") + @TableField("status") + private Integer status; + + @ApiModelProperty(value = "上报类型 1=市级账号,2=区县账号,3=街道账号,4=社区账号") + @TableField("report_type") + private Integer reportType; + + @ApiModelProperty(value = "上级id") + @TableField("superior_id") + private Long superiorId; + + @ApiModelProperty(value = "创建人") + @TableField("create_by") + private Long createBy; + + @ApiModelProperty(value = "创建时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "修改人") + @TableField("update_by") + private Long updateBy; + + @ApiModelProperty(value = "修改时间") + @TableField("update_time") + private Date updateTime; + + @ApiModelProperty(value = "办理结果描述") + @TableField("completion_description") + private String completionDescription; + + @ApiModelProperty(value = "办理结果图片") + @TableField("completion_images") + private String completionImages; + + @ApiModelProperty(value = "办理结果视频") + @TableField("completion_videos") + private String completionVideos; + + @ApiModelProperty(value = "办理结果其他说明") + @TableField("completion_other_description") + private String completionOtherDescription; + + @ApiModelProperty(value = "办结时间") + @TableField("completion_time") + private Date completionTime; + + @ApiModelProperty(value = "办结人员id") + @TableField("completion_user_id") + private Long completionUserId; + + @ApiModelProperty(value = "办结人员") + @TableField("completion_username") + private String completionUsername; + + @ApiModelProperty(value = "办结人员") + @TableField("completion_user_phone") + private String completionUserPhone; + + @ApiModelProperty(value = "截止日期") + @TableField("closing_time") + private Date closingTime; + + @ApiModelProperty(value = "超时天数") + @TableField("over_time_days") + private Integer overTimeDays; + + @ApiModelProperty(value = "经度") + private BigDecimal longitude; + + @ApiModelProperty(value = "纬度") + private BigDecimal latitude; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintAuditRecord.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintAuditRecord.java new file mode 100644 index 0000000..c9f3f9d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintAuditRecord.java @@ -0,0 +1,101 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * 诉求上报、延期申请审核表 + * </p> + * + * @author + * @since 2025-02-23 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("sgsb_complaint_audit_record") +@ApiModel(value="ComplaintAuditRecord对象", description="诉求上报、延期申请审核表") +public class ComplaintAuditRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_ID) + @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class) + private Long id; + + @ApiModelProperty(value = "是否最新") + @TableField("latest_flag") + private Boolean latestFlag; + + @ApiModelProperty(value = "诉求id") + @TableField("complaint_id") + private Long complaintId; + + @ApiModelProperty(value = "审核人id") + @TableField("auditor_id") + private Long auditorId; + + @ApiModelProperty(value = "审核类型(1:延期申请, 2:上报申请)") + @TableField("audit_type") + private Integer auditType; + + @ApiModelProperty(value = "审核状态 (0:待审核 1:审核通过 2:审核驳回)") + @TableField("audit_status") + private Integer auditStatus; + + @ApiModelProperty(value = "驳回原因") + @TableField("reject_reason") + private String rejectReason; + + @ApiModelProperty(value = "上报说明/延期申请说明") + @TableField("comment") + private String comment; + + @ApiModelProperty(value = "图片") + @TableField("images") + private String images; + + @ApiModelProperty(value = "视频") + @TableField("videos") + private String videos; + + @ApiModelProperty(value = "创建人") + @TableField("create_by") + private Long createBy; + + @ApiModelProperty(value = "创建时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "修改人") + @TableField("update_by") + private Long updateBy; + + @ApiModelProperty(value = "修改时间") + @TableField("update_time") + private Date updateTime; + + @ApiModelProperty("上报人") + private String reporter; + + @ApiModelProperty("所属部门") + private String departmentName; + + @ApiModelProperty("部门id") + private Integer departmentId; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintFlow.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintFlow.java new file mode 100644 index 0000000..5dd7402 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintFlow.java @@ -0,0 +1,62 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * 诉求流转记录表 + * </p> + * + * @author + * @since 2025-02-22 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("sgsb_complaint_flow") +@ApiModel(value="ComplaintFlow对象", description="诉求流转记录表") +public class ComplaintFlow implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键ID") + @TableId(value = "id",type = IdType.ASSIGN_ID) + @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class) + private Long id; + + @ApiModelProperty(value = "诉求ID") + @TableField(value = "complaint_id") + private Long complaintId; + + @ApiModelProperty(value = "处理层级: 1-市级,2-区县,3-街道,4-社区") + @TableField("level") + private Integer level; + + @ApiModelProperty(value = "处理单位名称") + @TableField("name") + private String name; + + @ApiModelProperty(value = "下派时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "流转类型 0-上报 1-下派") + @TableField("type") + private Integer type; + + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintProgress.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintProgress.java new file mode 100644 index 0000000..ce8ef58 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ComplaintProgress.java @@ -0,0 +1,69 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * + * </p> + * + * @author + * @since 2025-02-22 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("sgsb_complaint_progress") +@ApiModel(value="ComplaintProgress对象", description="") +public class ComplaintProgress implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id",type = IdType.ASSIGN_ID) + @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class) + private Long id; + + @ApiModelProperty(value = "诉求id") + @TableField("complaint_id") + private Long complaintId; + + @ApiModelProperty(value = "办理进度描述") + @TableField("`describe`") + private String describe; + + @ApiModelProperty(value = "图片url") + @TableField("img_url") + private String imgUrl; + + @ApiModelProperty(value = "视频url") + @TableField("video") + private String video; + + @ApiModelProperty(value = "创建时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "创建人") + @TableField("create_by") + private Long createBy; + + @ApiModelProperty(value = "创建人") + @TableField("create_by_name") + private String createByName; + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Department.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Department.java new file mode 100644 index 0000000..cfd7e5d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/Department.java @@ -0,0 +1,50 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:40 + */ +@Data +@ApiModel +@TableName("sgsb_department") +public class Department { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty("数据ID") + private Integer id; + /** + * 上级id + */ + @TableField("pid") + @ApiModelProperty("上级id") + private Integer pid; + /** + * 单位名称 + */ + @TableField("name") + @ApiModelProperty("单位名称") + private String name; + /** + * 层级,最多4层 + */ + @TableField("tier") + @ApiModelProperty("层级,最多4层") + private Integer tier; + + + @TableField(exist = false) + @ApiModelProperty("下级单位") + private List<Department> child; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/MessageNotification.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/MessageNotification.java new file mode 100644 index 0000000..26d3e6f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/MessageNotification.java @@ -0,0 +1,93 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:57 + */ +@Data +@ApiModel +@TableName("sgsb_message_notification") +public class MessageNotification { + /** + * 数据ID + */ + @ApiModelProperty("数据ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 标题 + */ + @TableField("title") + @ApiModelProperty("标题") + private String title; + /** + * 承办者用户id + */ + @TableField("undertaker_user_id") + @ApiModelProperty("承办者用户id") + private String undertakerUserId; + /** + * 承办人类型(1=市级,2=区县,3=街道,4=社区,5=党员) + */ + @TableField("undertaker_type") + @ApiModelProperty("承办人类型(1=市级,2=区县,3=街道,4=社区,5=党员)") + private Integer undertakerType; + /** + * 承办者 + */ + @TableField(exist = false) + @ApiModelProperty("承办者") + private String undertakerUser; + /** + * 联系电话 + */ + @TableField("phone") + @ApiModelProperty("联系电话") + private String phone; + /** + * 所在单位 + */ + @TableField(exist = false) + @ApiModelProperty(value = "所在单位") + private String department; + /** + * 所属职位 + */ + @TableField(exist = false) + @ApiModelProperty("所属职位") + private String position; + /** + * 需求应处理时间 + */ + @TableField("response_time") + @ApiModelProperty("需求应处理时间") + private LocalDateTime responseTime; + /** + * 提示类型(1=临期提醒,2=超时提醒) + */ + @TableField("prompt_type") + @ApiModelProperty("提示类型(1=临期提醒,2=超时提醒)") + private Integer promptType; + /** + * 阅读状态(0=否,1=是) + */ + @TableField("read_status") + @ApiModelProperty("阅读状态(0=否,1=是)") + private Integer readStatus; + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty("创建时间") + private LocalDateTime createTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ProblemType.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ProblemType.java new file mode 100644 index 0000000..51b843f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/ProblemType.java @@ -0,0 +1,45 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:24 + */ +@Data +@ApiModel +@TableName("sgsb_problem_type") +public class ProblemType { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty("主键") + private Integer id; + /** + * 名称 + */ + @TableField("name") + @ApiModelProperty("名称") + private String name; + /** + * 删除标识(0=否,1=是) + */ + @TableField("del") + @TableLogic + private Integer del; + /** + * 添加时间 + */ + @TableField("create_time") + private LocalDateTime createTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemMenu.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemMenu.java new file mode 100644 index 0000000..8756386 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemMenu.java @@ -0,0 +1,50 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + + +/** + * @author zhibing.pu + * @Date 2025/2/23 0:54 + */ +@Data +@ApiModel +@TableName("sgsb_system_menu") +public class SystemMenu { + /** 菜单ID */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty("菜单ID") + private Integer id; + + /** 菜单名称 */ + @TableField("name") + @ApiModelProperty("菜单名称") + private String name; + + /** 父菜单ID */ + @TableField("parent_id") + private Long parentId; + + /** 显示顺序 */ + @TableField("order_num") + private String orderNum; + + /** 菜单URL */ + @TableField("url") + @ApiModelProperty("菜单URL") + private String url; + + /** 子菜单 */ + @TableField(exist = false) + @ApiModelProperty("子菜单") + private List<SystemMenu> children = new ArrayList<SystemMenu>(); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemPost.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemPost.java new file mode 100644 index 0000000..eb3615d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemPost.java @@ -0,0 +1,38 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author zhibing.pu + * @Date 2025/2/25 19:39 + */ +@Data +@TableName("sgsb_system_post") +public class SystemPost { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 名称 + */ + @TableField("name") + private String name; + /** + * 删除标识(0=否,1=是) + */ + @TableField("del") + private Integer del; + /** + * 添加时间 + */ + @TableField("create_time") + private LocalDateTime createTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemRole.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemRole.java new file mode 100644 index 0000000..5fa6983 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemRole.java @@ -0,0 +1,38 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author zhibing.pu + * @Date 2025/2/19 16:35 + */ +@Data +@TableName("sgsb_system_role") +public class SystemRole { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 角色名称 + */ + @TableField("name") + private String name; + /** + * 删除标识(0=否,1=是) + */ + @TableField("del") + private Integer del; + /** + * 添加时间 + */ + @TableField("create_time") + private LocalDateTime createTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemRoleMenu.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemRoleMenu.java new file mode 100644 index 0000000..f7c22e4 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemRoleMenu.java @@ -0,0 +1,24 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:21 + */ +@Data +@TableName("sgsb_system_role_menu") +public class SystemRoleMenu { + /** + * 角色id + */ + @TableField("system_role_id") + private Integer systemRoleId; + /** + * 菜单id + */ + @TableField("system_menu_id") + private Integer systemMenuId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemUser.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemUser.java new file mode 100644 index 0000000..447ba36 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/SystemUser.java @@ -0,0 +1,141 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.xalan.templates.VarNameCollector; + +import java.time.LocalDateTime; + +/** + * 系统用户 + * @author zhibing.pu + * @Date 2025/2/18 22:18 + */ +@Data +@ApiModel +@TableName("sgsb_system_user") +public class SystemUser { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + private Integer id; + /** + * 姓名 + */ + @TableField("name") + @ApiModelProperty(value = "姓名", required = true) + private String name; + /** + * 手机号 + */ + @TableField("phone") + @ApiModelProperty(value = "手机号", required = true) + private String phone; + /** + * 密码 + */ + @TableField("password") + @ApiModelProperty(value = "密码", required = true) + private String password; + /** + * 一级单位id + */ + @TableField("one_department_id") + @ApiModelProperty(value = "一级单位id", required = true) + private Integer oneDepartmentId; + /** + * 二级单位id + */ + @TableField("two_department_id") + @ApiModelProperty(value = "二级单位id") + private Integer twoDepartmentId; + /** + * 三级单位id + */ + @TableField("three_department_id") + @ApiModelProperty(value = "三级单位id") + private Integer threeDepartmentId; + /** + * 四级单位id + */ + @TableField("four_department_id") + @ApiModelProperty(value = "四级单位id") + private Integer fourDepartmentId; + /** + * 是否是管理员(0=否,1=是) + */ + @TableField("is_admin") + @ApiModelProperty(value = "是否是管理员(0=否,1=是)", required = true) + private Integer isAdmin; + /** + * 职位id + */ + @TableField("system_post_id") + @ApiModelProperty(value = "职位id", required = true) + private Integer systemPostId; + /** + * 角色id + */ + @TableField("system_role_id") + @ApiModelProperty(value = "角色id", required = true) + private Integer systemRoleId; + /** + * 账号层级(1=市级账号,2=区县账号,3=街道账号,4=社区账号) + */ + @TableField("account_level") + @ApiModelProperty(value = "账号层级(1=市级账号,2=区县账号,3=街道账号,4=社区账号,5=党员账号)", required = true) + private Integer accountLevel; + /** + * 所属区县 + */ + @TableField("districts") + @ApiModelProperty(value = "所属区县") + private String districts; + /** + * 区县编号 + */ + @TableField("districts_code") + @ApiModelProperty(value = "区县编号") + private String districtsCode; + /** + * 街道 + */ + @TableField("street") + @ApiModelProperty(value = "街道") + private String street; + /** + * 街道ID + */ + @TableField("street_id") + @ApiModelProperty(value = "街道ID") + private String streetId; + /** + * 社区 + */ + @TableField("community") + @ApiModelProperty(value = "社区") + private String community; + /** + * 社区ID + */ + @TableField("community_id") + @ApiModelProperty(value = "社区ID") + private Long communityId; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + @TableField("status") + private Integer status; + /** + * 添加时间 + */ + @TableField("create_time") + private LocalDateTime createTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/WorkOrderItemConfig.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/WorkOrderItemConfig.java new file mode 100644 index 0000000..5f784fe --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/entity/WorkOrderItemConfig.java @@ -0,0 +1,88 @@ +package com.panzhihua.sangeshenbian.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:04 + */ +@Data +@TableName("sgsb_work_order_item_config") +public class WorkOrderItemConfig { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 市级账号诉求处理时间 + */ + @TableField("city_handling_time") + @ApiModelProperty(value = "市级账号诉求处理时间", required = true) + private Integer cityHandlingTime; + /** + * 区县级账号诉求处理时间 + */ + @TableField("district_handling_time") + @ApiModelProperty(value = "区县级账号诉求处理时间", required = true) + private Integer districtHandlingTime; + /** + * 街道级账号诉求处理时间 + */ + @TableField("street_handling_time") + @ApiModelProperty(value = "街道级账号诉求处理时间", required = true) + private Integer streetHandlingTime; + /** + * 社区级账号诉求处理时间 + */ + @TableField("community_handling_time") + @ApiModelProperty(value = "社区级账号诉求处理时间", required = true) + private Integer communityHandlingTime; + /** + * 党员级账号诉求处理时间 + */ + @TableField("party_member_handling_time") + @ApiModelProperty(value = "党员级账号诉求处理时间", required = true) + private Integer partyMemberHandlingTime; + /** + * 市级账号临期提醒 + */ + @TableField("city_deadline_reminder") + @ApiModelProperty(value = "市级账号临期提醒", required = true) + private Integer cityDeadlineReminder; + /** + * 区县级账号临期提醒 + */ + @TableField("district_deadline_reminder") + @ApiModelProperty(value = "区县级账号临期提醒", required = true) + private Integer districtDeadlineReminder; + /** + * 街道级账号临期提醒 + */ + @TableField("street_deadline_reminder") + @ApiModelProperty(value = "街道级账号临期提醒", required = true) + private Integer streetDeadlineReminder; + /** + * 社区级账号临期提醒 + */ + @TableField("community_deadline_reminder") + @ApiModelProperty(value = "社区级账号临期提醒", required = true) + private Integer communityDeadlineReminder; + /** + * 党员级账号临期提醒 + */ + @TableField("party_member_deadline_reminder") + @ApiModelProperty(value = "党员级账号临期提醒", required = true) + private Integer partyMemberDeadlineReminder; + /** + * 诉求处理时间 + */ + @TableField("demand_processing_time") + @ApiModelProperty(value = "诉求处理时间", required = true) + private Integer demandProcessingTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/query/BasePage.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/query/BasePage.java new file mode 100644 index 0000000..ba5e0a9 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/query/BasePage.java @@ -0,0 +1,19 @@ +package com.panzhihua.sangeshenbian.model.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +public class BasePage { + + @ApiModelProperty(value = "当前页数", example = "1") + private Long pageNum = 1L; + + @ApiModelProperty(value = "每页记录数", example = "10") + private Long pageSize = 10L; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/query/ComplaintQuery.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/query/ComplaintQuery.java new file mode 100644 index 0000000..82dd5fe --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/query/ComplaintQuery.java @@ -0,0 +1,23 @@ +package com.panzhihua.sangeshenbian.model.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("工单查询数据传输对象") +public class ComplaintQuery extends BasePage{ + + @ApiModelProperty("全部:不传,上报待审核:0,正在办理:1, 办结:2") + private Integer type; + + /** + * 当前登录用户id + */ + private Long userId; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintTodoVO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintTodoVO.java new file mode 100644 index 0000000..79407bd --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintTodoVO.java @@ -0,0 +1,30 @@ +package com.panzhihua.sangeshenbian.model.vo; + +import com.panzhihua.common.model.vos.common.SysUserVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.checkerframework.checker.units.qual.A; + +import java.util.Date; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("待办述求视图对象") +public class ComplaintTodoVO extends SysUserVo { + + @ApiModelProperty("诉求id") + private Long id; + + @ApiModelProperty("用户头像") + private String imageUrl; + + @ApiModelProperty("诉求标题") + private String descriptionTitle; + + @ApiModelProperty("最终处理期限") + private Date closingTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintVO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintVO.java new file mode 100644 index 0000000..76b4c5b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintVO.java @@ -0,0 +1,57 @@ +package com.panzhihua.sangeshenbian.model.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.panzhihua.sangeshenbian.model.entity.Complaint; +import com.panzhihua.sangeshenbian.model.entity.ComplaintFlow; +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("工单视图对象") +public class ComplaintVO extends Complaint { + + @ApiModelProperty(value = "上报人") + private String reporter; + + @ApiModelProperty(value = "所属部门") + private String departmentName; + + @ApiModelProperty(value = "上报提交时间") + private Date reportTime; + + @ApiModelProperty(value = "上报说明") + private String comment; + + @ApiModelProperty(value = "录入人") + private String nickname; + + @ApiModelProperty(value = "联系方式") + private String phone; + + @ApiModelProperty(value = "审核人") + private String auditorName; + + @ApiModelProperty(value = "审核人联系方式") + private String auditorPhone; + + @ApiModelProperty(value = "驳回原因") + private String rejectReason; + + @ApiModelProperty(value = "审核时间") + private Date auditTime; + + @ApiModelProperty(value = "诉求流转记录") + List<ComplaintFlow> complaintFlows; + + @ApiModelProperty(value = "办理进度") + List<ComplaintProgress> complaintProgresses; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/DispatchVO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/DispatchVO.java new file mode 100644 index 0000000..8aea991 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/DispatchVO.java @@ -0,0 +1,14 @@ +package com.panzhihua.sangeshenbian.model.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("下派单位") +public class DispatchVO { + @ApiModelProperty(value = "下派单位id") + private Long id; + @ApiModelProperty(value = "下派单位名称") + private String name; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/MessageNotificationVO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/MessageNotificationVO.java new file mode 100644 index 0000000..5e30418 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/MessageNotificationVO.java @@ -0,0 +1,75 @@ +package com.panzhihua.sangeshenbian.model.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("消息通知视图对象") +public class MessageNotificationVO { + /** + * 数据ID + */ + @ApiModelProperty("数据ID") + private Integer id; + /** + * 标题 + */ + @ApiModelProperty("标题") + private String title; + /** + * 承办者用户id + */ + @ApiModelProperty("承办者用户id") + private Integer undertakerUserId; + /** + * 承办者 + */ + @ApiModelProperty("承办者") + private String undertakerUser; + /** + * 联系电话 + */ + @TableField("phone") + @ApiModelProperty("联系电话") + private String phone; + /** + * 所在单位 + */ + @ApiModelProperty(value = "所在单位") + private String department; + /** + * 所属职位 + */ + @ApiModelProperty("所属职位") + private String position; + /** + * 需求应处理时间 + */ + @ApiModelProperty("需求应处理时间") + private LocalDateTime responseTime; + /** + * 提示类型(1=临期提醒,2=超时提醒) + */ + @ApiModelProperty("提示类型(1=临期提醒,2=超时提醒)") + private Integer promptType; + /** + * 阅读状态(0=否,1=是) + */ + @ApiModelProperty("阅读状态(0=否,1=是)") + private Integer readStatus; + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + private LocalDateTime createTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/PartyCardInfoVO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/PartyCardInfoVO.java new file mode 100644 index 0000000..ce71a7e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/PartyCardInfoVO.java @@ -0,0 +1,24 @@ +package com.panzhihua.sangeshenbian.model.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import net.bytebuddy.implementation.bind.annotation.Pipe; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("党员证信息") +public class PartyCardInfoVO { + + @ApiModelProperty(value = "姓名") + private String name; + + @ApiModelProperty(value = "身份证号码") + private String idCard; + + @ApiModelProperty(value = "所在党组织") + private String partyOrganization; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/scheduled/ComplaintTasks.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/scheduled/ComplaintTasks.java new file mode 100644 index 0000000..49e134e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/scheduled/ComplaintTasks.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.scheduled; + +import com.panzhihua.sangeshenbian.service.IComplaintService; +import lombok.RequiredArgsConstructor; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Component +@RequiredArgsConstructor +public class ComplaintTasks { + private final IComplaintService complaintService; + + /** + * 诉求超时处理 + */ + @Scheduled(fixedRate = 60000) + public void complaintTimeout() { + complaintService.list(); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IBannerService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IBannerService.java new file mode 100644 index 0000000..b23481c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IBannerService.java @@ -0,0 +1,15 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.Banner; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:45 + */ +public interface IBannerService extends IService<Banner> { + + + IPage<Banner> list(String name, Integer pageNum, Integer pageSize); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IBcRegionService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IBcRegionService.java new file mode 100644 index 0000000..9693f88 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IBcRegionService.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.service; + +import com.panzhihua.sangeshenbian.model.entity.BcRegion; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 行政区划表 服务类 + * </p> + * + * @author + * @since 2025-02-23 + */ +public interface IBcRegionService extends IService<BcRegion> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComActService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComActService.java new file mode 100644 index 0000000..caabbf6 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComActService.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.service; + +import com.panzhihua.sangeshenbian.model.entity.ComAct; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 社区表 服务类 + * </p> + * + * @author + * @since 2025-02-23 + */ +public interface IComActService extends IService<ComAct> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComStreetService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComStreetService.java new file mode 100644 index 0000000..96d6b21 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComStreetService.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.service; + +import com.panzhihua.sangeshenbian.model.entity.ComStreet; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 街道表 服务类 + * </p> + * + * @author + * @since 2025-02-23 + */ +public interface IComStreetService extends IService<ComStreet> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintAuditRecordService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintAuditRecordService.java new file mode 100644 index 0000000..d63548c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintAuditRecordService.java @@ -0,0 +1,23 @@ +package com.panzhihua.sangeshenbian.service; + +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; + +/** + * <p> + * 诉求上报、延期申请审核表 服务类 + * </p> + * + * @author + * @since 2025-02-23 + */ +public interface IComplaintAuditRecordService extends IService<ComplaintAuditRecord> { + // 创建审核记录 + void createComplaintAuditRecord(Long complaintId, Integer auditType, String comment, LoginUserInfoVO loginUserInfoVO, SystemUser adminUser); + + // 审核 + void audit(ComplaintAuditRecord complaintAuditRecord, Long userId, Integer auditResult, String rejectReason); + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintFlowService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintFlowService.java new file mode 100644 index 0000000..6ea96f3 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintFlowService.java @@ -0,0 +1,27 @@ +package com.panzhihua.sangeshenbian.service; + +import com.panzhihua.sangeshenbian.model.entity.Complaint; +import com.panzhihua.sangeshenbian.model.entity.ComplaintFlow; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; + +/** + * <p> + * 诉求流转记录表 服务类 + * </p> + * + * @author + * @since 2025-02-22 + */ +public interface IComplaintFlowService extends IService<ComplaintFlow> { + + /** + * 创建流程 + * @param complaintId + * @param reportType + * @param type 流转类型 0-上报 1-下派 + * @param userId + */ + void createFlow(Long complaintId , Long superiorId, Integer reportType, Integer type, Long userId); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintProgressService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintProgressService.java new file mode 100644 index 0000000..8fce8b4 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintProgressService.java @@ -0,0 +1,16 @@ +package com.panzhihua.sangeshenbian.service; + +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 服务类 + * </p> + * + * @author + * @since 2025-02-22 + */ +public interface IComplaintProgressService extends IService<ComplaintProgress> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java new file mode 100644 index 0000000..728cb97 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java @@ -0,0 +1,111 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.sangeshenbian.model.dto.ComplaintCompletionDTO; +import com.panzhihua.sangeshenbian.model.dto.ComplaintProcessDTO; +import com.panzhihua.sangeshenbian.model.dto.*; +import com.panzhihua.sangeshenbian.model.entity.Complaint; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord; +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; +import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; +import com.panzhihua.sangeshenbian.model.vo.DispatchVO; + +import java.util.List; + +/** + * <p> + * 问题报告表 服务类 + * </p> + * + * @author + * @since 2025-02-22 + */ +public interface IComplaintService extends IService<Complaint> { + void saveComplaint(Complaint complaint,Long userId); + + /** + * 诉求列表 + * + * @param query + * @param loginUserInfoVO + * @return + */ + Page<ComplaintVO> complaintList(ComplaintQuery query, LoginUserInfoVO loginUserInfoVO); + + /** + * 工单详情 + * @param id + * @return + */ + ComplaintVO detail(Long id); + /** + * 保存办理进度 + * + * @param dto + * @param loginUserInfoVO + */ + void saveProcess(ComplaintProcessDTO dto, LoginUserInfoVO loginUserInfoVO); + + /** + * 办理结果录入 + * + * @param dto + * @param loginUserInfoVO + */ + void saveResult(ComplaintCompletionDTO dto, LoginUserInfoVO loginUserInfoVO); + + /** + * 办理进度列表 + * @param complaintId + * @return + */ + List<ComplaintProgress> progress(Long complaintId); + /** + * 诉求上报 + */ + void saveReport(ComplaintReportDTO dto, LoginUserInfoVO loginUserInfoVO); + + /** + * 诉求下派 + */ + void saveDispatch(ComplaintDispatch dto, LoginUserInfoVO loginUserInfoVO); + + /** + * 上报审核 + * @param complaintReporAuditDTO + * @param loginUserInfoVO + */ + void reportAudit(ComplaintReporAuditDTO complaintReporAuditDTO, LoginUserInfoVO loginUserInfoVO); + + /** + * 延期申请 + */ + void saveDelay(ComplaintDelayDTO dto, LoginUserInfoVO loginUserInfoVO); + + /** + * 延期审核 + */ + void delayAudit(ComplaintDelayAuditDTO complaintDelayAuditDTO, LoginUserInfoVO loginUserInfoVO); + + List<DispatchVO> getDispatchList(LoginUserInfoVO loginUserInfoVO); + + /** + * 获取待办诉求 + * @param page + * @param loginUserInfo + * @return + */ + Page<ComplaintTodoVO> getTodoList(BasePage page, LoginUserInfoVO loginUserInfo); + + /** + * 延期情况说明 + * @param complaintId + * @return + */ + ComplaintAuditRecord delayDetail(Long complaintId); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IDepartmentService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IDepartmentService.java new file mode 100644 index 0000000..efbb6f0 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IDepartmentService.java @@ -0,0 +1,11 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.Department; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:43 + */ +public interface IDepartmentService extends IService<Department> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java new file mode 100644 index 0000000..9edb204 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java @@ -0,0 +1,28 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.sangeshenbian.model.entity.MessageNotification; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO; +import com.panzhihua.sangeshenbian.warpper.MessageNotificationList; + +/** + * @author zhibing.pu + * @Date 2025/2/23 3:04 + */ +public interface IMessageNotificationService extends IService<MessageNotification> { + + + IPage<MessageNotification> list(MessageNotificationList query); + + Page<MessageNotificationVO> getMessageList(BasePage page, Long userId); + + /** + * 标记已读 + * @param loginUserInfoVO + */ + void read(LoginUserInfoVO loginUserInfoVO); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IProblemTypeService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IProblemTypeService.java new file mode 100644 index 0000000..d638ed7 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IProblemTypeService.java @@ -0,0 +1,15 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.ProblemType; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:26 + */ +public interface IProblemTypeService extends IService<ProblemType> { + + + IPage<ProblemType> list(String name, Integer pageNum, Integer pageSize); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemMenuService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemMenuService.java new file mode 100644 index 0000000..0c8831b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemMenuService.java @@ -0,0 +1,19 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.SystemMenu; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2025/2/23 1:03 + */ +public interface ISystemMenuService extends IService<SystemMenu> { + + /** + * 获取获取系统菜单列表 + * @return + */ + List<SystemMenu> getSystemMenuList(); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemPostService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemPostService.java new file mode 100644 index 0000000..dcb2552 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemPostService.java @@ -0,0 +1,15 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.SystemPost; + +/** + * @author zhibing.pu + * @Date 2025/2/25 19:42 + */ +public interface ISystemPostService extends IService<SystemPost> { + + + IPage<SystemPost> list(String name, Integer pageNum, Integer pageSize); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemRoleMenuService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemRoleMenuService.java new file mode 100644 index 0000000..705203b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemRoleMenuService.java @@ -0,0 +1,11 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.SystemRoleMenu; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:25 + */ +public interface ISystemRoleMenuService extends IService<SystemRoleMenu> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemRoleService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemRoleService.java new file mode 100644 index 0000000..6b74017 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemRoleService.java @@ -0,0 +1,21 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.SystemRole; +import com.panzhihua.sangeshenbian.warpper.SystemRoleList; +import com.panzhihua.sangeshenbian.warpper.SystemRoleListVo; + +/** + * @author zhibing.pu + * @Date 2025/2/19 16:40 + */ +public interface ISystemRoleService extends IService<SystemRole> { + + /** + * 获取列表数据 + * @param systemRoleList + * @return + */ + IPage<SystemRoleListVo> list(SystemRoleList systemRoleList); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemUserService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemUserService.java new file mode 100644 index 0000000..a7de19e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/ISystemUserService.java @@ -0,0 +1,29 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.warpper.SystemUserList; +import com.panzhihua.sangeshenbian.warpper.SystemUserListVo; + +import java.util.Optional; + +/** + * @author zhibing.pu + * @Date 2025/2/18 22:30 + */ +public interface ISystemUserService extends IService<SystemUser> { + + /** + * 获取列表数据 + * @param query + * @return + */ + IPage<SystemUserListVo> list(Integer accountLevel, SystemUserList query); + + /** + * 根据手机号码查询小程序用户在三个身边的上级角色用户 + */ + Optional<SystemUser> getSystemUserByPhone(String phone); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IWorkOrderItemConfigService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IWorkOrderItemConfigService.java new file mode 100644 index 0000000..458aa93 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IWorkOrderItemConfigService.java @@ -0,0 +1,11 @@ +package com.panzhihua.sangeshenbian.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.entity.WorkOrderItemConfig; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:07 + */ +public interface IWorkOrderItemConfigService extends IService<WorkOrderItemConfig> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BannerServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BannerServiceImpl.java new file mode 100644 index 0000000..7455b86 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BannerServiceImpl.java @@ -0,0 +1,26 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.dao.BannerMapper; +import com.panzhihua.sangeshenbian.model.entity.Banner; +import com.panzhihua.sangeshenbian.service.IBannerService; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:45 + */ +@Service +public class BannerServiceImpl extends ServiceImpl<BannerMapper, Banner> implements IBannerService { + + @Override + public IPage<Banner> list(String name, Integer pageNum, Integer pageSize) { + Page page = new Page<>(); + page.setCurrent(pageNum); + page.setSize(pageSize); + IPage<Banner> list = this.baseMapper.list(page, name); + return list; + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java new file mode 100644 index 0000000..6cd06cb --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.panzhihua.sangeshenbian.model.entity.BcRegion; +import com.panzhihua.sangeshenbian.dao.BcRegionMapper; +import com.panzhihua.sangeshenbian.service.IBcRegionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 行政区划表 服务实现类 + * </p> + * + * @author + * @since 2025-02-23 + */ +@Service +public class BcRegionServiceImpl extends ServiceImpl<BcRegionMapper, BcRegion> implements IBcRegionService { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComActServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComActServiceImpl.java new file mode 100644 index 0000000..dd4b78f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComActServiceImpl.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.panzhihua.sangeshenbian.model.entity.ComAct; +import com.panzhihua.sangeshenbian.dao.ComActMapper; +import com.panzhihua.sangeshenbian.service.IComActService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 社区表 服务实现类 + * </p> + * + * @author + * @since 2025-02-23 + */ +@Service +public class ComActServiceImpl extends ServiceImpl<ComActMapper, ComAct> implements IComActService { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComStreetServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComStreetServiceImpl.java new file mode 100644 index 0000000..efc713d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComStreetServiceImpl.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.panzhihua.sangeshenbian.model.entity.ComStreet; +import com.panzhihua.sangeshenbian.dao.ComStreetMapper; +import com.panzhihua.sangeshenbian.service.IComStreetService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 街道表 服务实现类 + * </p> + * + * @author + * @since 2025-02-23 + */ +@Service +public class ComStreetServiceImpl extends ServiceImpl<ComStreetMapper, ComStreet> implements IComStreetService { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintAuditRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintAuditRecordServiceImpl.java new file mode 100644 index 0000000..faf3f8a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintAuditRecordServiceImpl.java @@ -0,0 +1,72 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord; +import com.panzhihua.sangeshenbian.dao.ComplaintAuditRecordMapper; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.service.IComplaintAuditRecordService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.Objects; + +/** + * <p> + * 诉求上报、延期申请审核表 服务实现类 + * </p> + * + * @author + * @since 2025-02-23 + */ +@Service +public class ComplaintAuditRecordServiceImpl extends ServiceImpl<ComplaintAuditRecordMapper, ComplaintAuditRecord> implements IComplaintAuditRecordService { + + @Override + public void createComplaintAuditRecord(Long complaintId, Integer auditType, String comment, LoginUserInfoVO loginUserInfoVO, SystemUser adminUser) { + ComplaintAuditRecord auditRecord = new ComplaintAuditRecord(); + auditRecord.setComplaintId(complaintId); + auditRecord.setLatestFlag(true); + auditRecord.setAuditType(auditType); + auditRecord.setAuditStatus(0); + auditRecord.setComment(comment); + auditRecord.setCreateBy(loginUserInfoVO.getUserId()); + auditRecord.setCreateTime(new Date()); + auditRecord.setUpdateBy(loginUserInfoVO.getUserId()); + auditRecord.setUpdateTime(new Date()); + + String departmentName = ""; + String reporter = loginUserInfoVO.getNickName(); + + if (Objects.nonNull(adminUser) && adminUser.getIsAdmin().equals(1)){ + switch (adminUser.getAccountLevel()) { + case 1: + departmentName = "攀枝花市";//默认市级 + break; + case 2: + departmentName = adminUser.getDistricts(); + break; + case 3: + departmentName = adminUser.getStreet(); + break; + case 4: + departmentName = adminUser.getCommunity(); + break; + } + auditRecord.setDepartmentName(departmentName); + reporter = adminUser.getName(); + } + auditRecord.setReporter(reporter); + save(auditRecord); + } + + @Override + public void audit(ComplaintAuditRecord complaintAuditRecord, Long userId, Integer auditResult, String rejectReason) { + complaintAuditRecord.setAuditStatus(auditResult); + complaintAuditRecord.setRejectReason(rejectReason); + complaintAuditRecord.setAuditorId(userId); + complaintAuditRecord.setUpdateBy(userId); + complaintAuditRecord.setUpdateTime(new Date()); + updateById(complaintAuditRecord); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java new file mode 100644 index 0000000..a11c5bb --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java @@ -0,0 +1,75 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.netflix.servo.monitor.LongGauge; +import com.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.sangeshenbian.enums.ReportTypeEnum; +import com.panzhihua.sangeshenbian.model.entity.*; +import com.panzhihua.sangeshenbian.dao.ComplaintFlowMapper; +import com.panzhihua.sangeshenbian.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; + +/** + * <p> + * 诉求流转记录表 服务实现类 + * </p> + * + * @author + * @since 2025-02-22 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class ComplaintFlowServiceImpl extends ServiceImpl<ComplaintFlowMapper, ComplaintFlow> implements IComplaintFlowService { + private final IComplaintService complaintService; + private final IBcRegionService bcRegionService; + private final IComStreetService comStreetService; + private final IComActService comActService; + private final UserService userService; + + @Override + public void createFlow(Long complaintId , Long superiorId, Integer reportType, Integer type, Long userId) { + + + String name = getFlowName(reportType, superiorId); + + ComplaintFlow complaintFlow = new ComplaintFlow(); + complaintFlow.setComplaintId(complaintId); + complaintFlow.setLevel(reportType); + complaintFlow.setName(name); + complaintFlow.setCreateTime(new Date(System.currentTimeMillis())); + complaintFlow.setType(type); + save(complaintFlow); + } + + private String getFlowName(Integer reportType, Long superiorId) { + String name; + if (reportType == ReportTypeEnum.COMMUNITY.getCode()) { + ComAct byId = comActService.getById(superiorId); + name = byId.getName(); + }else if (reportType == ReportTypeEnum.STREET.getCode()) { + ComStreet comStreet = comStreetService.getById(superiorId); + name = comStreet.getName(); + } else if (reportType == ReportTypeEnum.CITY.getCode() || reportType == ReportTypeEnum.DISTRICT.getCode()){ + BcRegion bcRegion = bcRegionService.getOne(new LambdaQueryWrapper<BcRegion>() + .eq(BcRegion::getRegionCode, superiorId)); + name = bcRegion.getRegionName(); + } else { + R<LoginUserInfoVO> userR = userService.getUserInfoByUserId(String.valueOf(superiorId)); + if (R.isOk(userR)) { + throw new ServiceException("获取用户信息失败"); + } + name = userR.getData().getNickName(); + } + return name; + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintProgressServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintProgressServiceImpl.java new file mode 100644 index 0000000..d1660c1 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintProgressServiceImpl.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; +import com.panzhihua.sangeshenbian.dao.ComplaintProgressMapper; +import com.panzhihua.sangeshenbian.service.IComplaintProgressService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 服务实现类 + * </p> + * + * @author + * @since 2025-02-22 + */ +@Service +public class ComplaintProgressServiceImpl extends ServiceImpl<ComplaintProgressMapper, ComplaintProgress> implements IComplaintProgressService { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java new file mode 100644 index 0000000..0819eb4 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java @@ -0,0 +1,529 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.sangeshenbian.model.dto.ComplaintCompletionDTO; +import com.panzhihua.sangeshenbian.model.dto.ComplaintProcessDTO; +import com.panzhihua.sangeshenbian.model.entity.Complaint; +import com.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.sangeshenbian.enums.ReportTypeEnum; +import com.panzhihua.sangeshenbian.model.dto.*; +import com.panzhihua.sangeshenbian.model.entity.*; +import com.panzhihua.sangeshenbian.enums.ProcessStatusEnum; +import com.panzhihua.sangeshenbian.dao.ComplaintMapper; +import com.panzhihua.sangeshenbian.model.entity.ComplaintFlow; +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; +import com.panzhihua.sangeshenbian.service.IComplaintFlowService; +import com.panzhihua.sangeshenbian.service.IComplaintProgressService; +import com.panzhihua.sangeshenbian.service.IComplaintService; +import com.panzhihua.sangeshenbian.model.vo.DispatchVO; +import com.panzhihua.sangeshenbian.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + +import static cn.hutool.core.util.ObjectUtil.isNull; + +/** + * <p> + * 问题报告表 服务实现类 + * </p> + * + * @author + * @since 2025-02-22 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class ComplaintServiceImpl extends ServiceImpl<ComplaintMapper, Complaint> implements IComplaintService { + private final ISystemUserService systemUserService; + private final IComplaintFlowService complaintFlowService; + private final IComplaintProgressService complaintProgressService; + + private final IComplaintAuditRecordService complaintAuditRecordService; + private final IBcRegionService bcRegionService; + private final IComStreetService comStreetService; + private final IComActService comActService; + private final IWorkOrderItemConfigService workOrderItemConfigService; + + @Override + public void saveComplaint(Complaint complaint, Long userId) { + // 获取当前日期(年月日) + String datePrefix = new SimpleDateFormat("yyyyMMdd").format(new Date()); + + // 查询当前日期的最大流水号 + Complaint lastComplaint = getOne(new LambdaQueryWrapper<Complaint>() + .likeRight(Complaint::getSerialNumber, datePrefix) // 查询以当前日期开头的流水号 + .orderByDesc(Complaint::getSerialNumber) + .last("limit 1")); + + String serialNumber; + if (isNull(lastComplaint)) { + // 如果当天没有记录,从 0001 开始 + serialNumber = datePrefix + "0001"; + } else { + // 获取当前日期的最大流水号,并递增 + String lastSerialNumber = lastComplaint.getSerialNumber(); + int num = Integer.parseInt(lastSerialNumber.substring(lastSerialNumber.length() - 4)); // 提取后4位数字 + serialNumber = datePrefix + String.format("%04d", num + 1); // 递增并格式化为4位 + } + + // 设置流水号 + complaint.setSerialNumber(serialNumber); + + // 设置其他字段 + complaint.setStatus(ProcessStatusEnum.PROCESSING.getCode()); + complaint.setCreateTime(new Date(System.currentTimeMillis())); + complaint.setCreateBy(userId); + complaint.setUpdateBy(userId); + complaint.setUpdateTime(new Date(System.currentTimeMillis())); + //查询系统配置诉求处理期限,设置截止日期 + WorkOrderItemConfig config = workOrderItemConfigService.lambdaQuery().orderByDesc(WorkOrderItemConfig::getId).last("LIMIT 1").one(); + if (Objects.isNull(config)){ + throw new ServiceException("工单事项未配置,请联系管理员"); + } + complaint.setClosingTime(new Date(System.currentTimeMillis() + config.getDemandProcessingTime() * 24 * 60 * 60 * 1000)); + // 保存诉求记录 + save(complaint); + } + + /** + * @param query + * @param loginUserInfoVO + * @return + */ + @Override + public Page<ComplaintVO> complaintList(ComplaintQuery query, LoginUserInfoVO loginUserInfoVO) { + Page<ComplaintVO> page = new Page<>(query.getPageNum(), query.getPageSize()); + //判断当前登录用户级别,查询对应工单 + Optional<SystemUser> systemUserByPhone = systemUserService.getSystemUserByPhone(loginUserInfoVO.getPhone()); + String targetId = ""; + int isSuperior = 0; + //上级 + if (systemUserByPhone.isPresent()) { + SystemUser systemUser = systemUserByPhone.get(); + Integer accountLevel = systemUser.getAccountLevel(); + switch (accountLevel) { + case 1: + //市级 + targetId = "510400"; + break; + case 2: + //区县级 + targetId = systemUser.getDistrictsCode(); + break; + case 3: + //街道 + targetId = systemUser.getStreetId().toString(); + break; + case 4: + //社区 + targetId = systemUser.getCommunityId().toString(); + break; + } + isSuperior = 1; + } else { + //党员 + targetId = loginUserInfoVO.getUserId().toString(); + } + //查询对应诉求 + query.setUserId(loginUserInfoVO.getUserId());//当前登录用户id + page = baseMapper.selectComplaintPage(page, query, targetId,isSuperior); + return page; + } + + /** + * 工单详情 + * @param id + * @return + */ + @Override + public ComplaintVO detail(Long id) { + ComplaintVO detail = baseMapper.getDetail(id); + if (detail.getStatus().equals(0)) { + List<ComplaintFlow> list = complaintFlowService.lambdaQuery().eq(ComplaintFlow::getComplaintId, id).orderByAsc(ComplaintFlow::getCreateTime).list(); + detail.setComplaintFlows(list); + } + //查询办理进度 + List<ComplaintProgress> list = complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, id) + .orderByAsc(ComplaintProgress::getCreateTime).list(); + detail.setComplaintProgresses(list); + return detail; + } + + /** + * 办理进度录入 + * + * @param dto + * @param loginUserInfoVO + */ + @Override + public void saveProcess(ComplaintProcessDTO dto, LoginUserInfoVO loginUserInfoVO) { + ComplaintProgress complaintProgress = BeanUtil.copyProperties(dto, ComplaintProgress.class); + complaintProgress.setCreateTime(new Date()); + complaintProgress.setCreateBy(loginUserInfoVO.getUserId()); + complaintProgress.setCreateByName(loginUserInfoVO.getNickName()); + complaintProgressService.save(complaintProgress); + } + + /** + * 办理结果录入 + * + * @param dto + * @param loginUserInfoVO + */ + @Override + public void saveResult(ComplaintCompletionDTO dto, LoginUserInfoVO loginUserInfoVO) { + Complaint complaint = BeanUtil.copyProperties(dto, Complaint.class); + complaint.setUpdateTime(new Date()); + complaint.setCompletionUserId(loginUserInfoVO.getUserId()); + complaint.setCompletionUsername(loginUserInfoVO.getNickName()); + complaint.setCompletionUserPhone(loginUserInfoVO.getPhone()); + complaint.setCompletionTime(new Date()); + this.updateById(complaint); + } + /** + * 办理进度列表 + * @param complaintId + * @return + */ + @Override + public List<ComplaintProgress> progress(Long complaintId) { + //查询办理进度 + return complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, complaintId) + .orderByAsc(ComplaintProgress::getCreateTime).list(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveReport(ComplaintReportDTO dto, LoginUserInfoVO loginUserInfoVO) { + String phone = loginUserInfoVO.getPhone(); + + SystemUser adminUser = systemUserService.getOne(new LambdaQueryWrapper<SystemUser>() + .eq(SystemUser::getPhone, phone) + .eq(SystemUser::getIsAdmin, 1) + .ne(SystemUser::getStatus, 3) + .last("LIMIT 1")); + + Long superiorId; + int reportType; + if (adminUser == null) { + superiorId = loginUserInfoVO.getCommunityId(); + if (Objects.isNull(superiorId)){ + throw new ServiceException("上报失败,请绑定社区"); + } + reportType = ReportTypeEnum.COMMUNITY.getCode(); + } else { + int accountLevel = adminUser.getAccountLevel(); // 改为基本类型 + if (accountLevel == 1) { + throw new ServiceException("市级账号,无法上报!"); + } + reportType = accountLevel - 1; + + // 使用基本类型比较并补充默认分支 + if (accountLevel == ReportTypeEnum.COMMUNITY.getCode()) { + superiorId = Long.parseLong(adminUser.getStreetId()); + } else if (accountLevel == ReportTypeEnum.STREET.getCode()) { + superiorId = Long.parseLong(adminUser.getDistrictsCode()); + } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { + superiorId = 510400L; // 攀枝花市 + } else { + // 处理未预期的账号等级 + throw new ServiceException("未知的账号等级"); + } + } + + Complaint complaint = getById(dto.getComplaintId()); + complaint.setReportType(reportType); + complaint.setSuperiorId(superiorId); + updateById(complaint); + + // 标记最新 + complaintAuditRecordService.update(new LambdaUpdateWrapper<ComplaintAuditRecord>() + .eq(ComplaintAuditRecord::getComplaintId, dto.getComplaintId()) + .set(ComplaintAuditRecord::getLatestFlag,false)); + + // 添加审核记录 + complaintAuditRecordService.createComplaintAuditRecord(dto.getComplaintId(), 2, dto.getComment(), loginUserInfoVO,adminUser); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveDispatch(ComplaintDispatch dto, LoginUserInfoVO loginUserInfoVO) { + String phone = loginUserInfoVO.getPhone(); + SystemUser adminUser = systemUserService.getOne(new LambdaQueryWrapper<SystemUser>() + .eq(SystemUser::getPhone, phone) + .eq(SystemUser::getIsAdmin, 1) + .ne(SystemUser::getStatus, 3) + .last("LIMIT 1")); + + if (adminUser == null) { + throw new ServiceException("无权下派"); + } + + + long superiorId; + int accountLevel = adminUser.getAccountLevel(); // 改为基本类型 + if (accountLevel == 4) { + throw new ServiceException("社区账号,无法下派!"); + } + + // 使用基本类型比较并补充默认分支 + if (accountLevel == ReportTypeEnum.STREET.getCode()) { + superiorId = adminUser.getCommunityId().longValue(); + } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { + superiorId = Long.parseLong(adminUser.getStreetId()); + } else if (accountLevel == ReportTypeEnum.CITY.getCode()) { + superiorId = Long.parseLong(adminUser.getDistrictsCode()); + } else { + // 处理未预期的账号等级 + throw new ServiceException("未知的账号等级"); + } + + Long superiorOrgId; + Complaint complaint = getById(dto.getComplaintId()); + superiorOrgId = complaint.getSuperiorId(); + complaint.setReportType(accountLevel + 1); + complaint.setSuperiorId(superiorId); + updateById(complaint); + + // 添加流转记录 + complaintFlowService.createFlow(dto.getComplaintId(), superiorOrgId, accountLevel, 1, loginUserInfoVO.getUserId()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void reportAudit(ComplaintReporAuditDTO complaintReporAuditDTO, LoginUserInfoVO loginUserInfoVO) { + Optional<SystemUser> systemUserByPhone = systemUserService.getSystemUserByPhone(loginUserInfoVO.getPhone()); + if (!systemUserByPhone.isPresent()) { + throw new ServiceException("无权审核"); + } + //查询上报审核记录 + ComplaintAuditRecord complaintAuditRecord = complaintAuditRecordService.lambdaQuery().eq(ComplaintAuditRecord::getComplaintId, complaintReporAuditDTO.getId()) + .eq(ComplaintAuditRecord::getAuditType, 2) + .eq(ComplaintAuditRecord::getLatestFlag, true) + .last("LIMIT 1").one(); + if (Objects.isNull(complaintAuditRecord)) { + throw new ServiceException("上报申请记录不存在"); + } + //查询待审核诉求 + complaintAuditRecordService.audit(complaintAuditRecord, loginUserInfoVO.getUserId(), + complaintReporAuditDTO.getAuditResult(), complaintReporAuditDTO.getRejectReason()); + + // 添加流转记录 + Complaint complaint = getById(complaintAuditRecord.getComplaintId()); + + Long superiorId = null; + if (Objects.nonNull(complaint)) { + superiorId = complaint.getCreateBy(); + if (Objects.nonNull(complaint.getSuperiorId())) { + superiorId = complaint.getSuperiorId(); + } + complaintFlowService.createFlow(complaintAuditRecord.getComplaintId(), superiorId,complaint.getReportType(),0, loginUserInfoVO.getUserId()); + } + //审核通过后,将诉求转移给上级 + if (complaintAuditRecord.getAuditType().equals(2) && complaintAuditRecord.getAuditStatus().equals(1)){ + SystemUser systemUser = systemUserByPhone.get(); + switch (systemUser.getAccountLevel()) { + case 1: + superiorId = 510400L;//默认市级 + break; + case 2: + superiorId = Long.parseLong(systemUser.getDistrictsCode()); + break; + case 3: + superiorId = Long.parseLong(systemUser.getStreetId()); + break; + case 4: + superiorId = systemUser.getCommunityId(); + break; + } + } + complaint.setSuperiorId(superiorId); + updateById(complaint ); + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveDelay(ComplaintDelayDTO dto, LoginUserInfoVO loginUserInfoVO) { + // 标记最新 + complaintAuditRecordService.update(new LambdaUpdateWrapper<ComplaintAuditRecord>() + .eq(ComplaintAuditRecord::getComplaintId, dto.getComplaintId()) + .set(ComplaintAuditRecord::getLatestFlag,false)); + SystemUser systemUser = systemUserService.getSystemUserByPhone(loginUserInfoVO.getPhone()).orElse(null); + Long superiorId; + int reportType; + if (systemUser == null) { + superiorId = loginUserInfoVO.getCommunityId(); + if (Objects.isNull(superiorId)){ + throw new ServiceException("上报失败,请绑定社区"); + } + reportType = ReportTypeEnum.COMMUNITY.getCode(); + } else { + int accountLevel = systemUser.getAccountLevel(); // 改为基本类型 + if (accountLevel == 1) { + throw new ServiceException("市级账号,无法上报!"); + } + reportType = accountLevel + 1; + + // 使用基本类型比较并补充默认分支 + if (accountLevel == ReportTypeEnum.COMMUNITY.getCode()) { + superiorId = Long.parseLong(systemUser.getStreetId()); + } else if (accountLevel == ReportTypeEnum.STREET.getCode()) { + superiorId = Long.parseLong(systemUser.getDistrictsCode()); + } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { + superiorId = 510400L; // 攀枝花市 + } else { + // 处理未预期的账号等级 + throw new ServiceException("未知的账号等级"); + } + } + + Complaint complaint = getById(dto.getComplaintId()); + complaint.setReportType(reportType); + complaint.setSuperiorId(superiorId); + updateById(complaint); + // 添加审核记录 + complaintAuditRecordService.createComplaintAuditRecord(dto.getComplaintId(), 1, dto.getComment(), loginUserInfoVO, systemUser); + } + + + @Override + public void delayAudit(ComplaintDelayAuditDTO complaintDelayAuditDTO, LoginUserInfoVO loginUserInfoVO) { + //查询待审核诉求 + ComplaintAuditRecord complaintAuditRecord = complaintAuditRecordService.lambdaQuery().eq(ComplaintAuditRecord::getComplaintId, complaintDelayAuditDTO.getComplaintId()) + .eq(ComplaintAuditRecord::getAuditType, 1) + .eq(ComplaintAuditRecord::getAuditStatus, 0) + .eq(ComplaintAuditRecord::getLatestFlag, true) + .last("LIMIT 1").one(); + if (Objects.isNull(complaintAuditRecord)) { + throw new ServiceException("诉求延期申请不存在"); + } + complaintAuditRecordService.audit(complaintAuditRecord, loginUserInfoVO.getUserId(), + complaintDelayAuditDTO.getAuditResult(), complaintDelayAuditDTO.getRejectReason()); + } + + @Override + public List<DispatchVO> getDispatchList(LoginUserInfoVO loginUserInfoVO) { + + String phone = loginUserInfoVO.getPhone(); + SystemUser adminUser = systemUserService.getOne(new LambdaQueryWrapper<SystemUser>() + .eq(SystemUser::getPhone, phone) + .eq(SystemUser::getIsAdmin, 1) + .ne(SystemUser::getStatus, 3) + .last("LIMIT 1")); + + if (adminUser == null) { + throw new ServiceException("无权下派"); + } + int accountLevel = adminUser.getAccountLevel(); // 改为基本类型 + /* if (accountLevel == 1) { + throw new ServiceException("市级账号,无法上报!"); + }*/ + + // 使用基本类型比较并补充默认分支 + List<DispatchVO> dispatchVOList = new ArrayList<>(); + if (accountLevel == ReportTypeEnum.STREET.getCode()) { + List<ComAct> list = comActService.list(); + for (ComAct comAct : list) { + DispatchVO dispatchVO = new DispatchVO(); + dispatchVO.setId(comAct.getCommunityId()); + dispatchVO.setName(comAct.getName()); + dispatchVOList.add(dispatchVO); + } + } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { + List<ComStreet> list = comStreetService.list(); + for (ComStreet street : list) { + DispatchVO dispatchVO = new DispatchVO(); + dispatchVO.setId(Long.valueOf(street.getStreetId())); + dispatchVO.setName(street.getName()); + dispatchVOList.add(dispatchVO); + } + } else if (accountLevel == ReportTypeEnum.CITY.getCode()) { + List<BcRegion> list = bcRegionService.list(new LambdaQueryWrapper<BcRegion>() + .eq(BcRegion::getHierarchyOrder, 3).eq(BcRegion::getParentId, 510400));//获取攀枝花市下的区县 + for (BcRegion region : list) { + DispatchVO dispatchVO = new DispatchVO(); + dispatchVO.setId(Long.valueOf(region.getRegionCode())); + dispatchVO.setName(region.getRegionName()); + dispatchVOList.add(dispatchVO); + } + } else { + // 处理未预期的账号等级 + throw new ServiceException("未知的账号等级"); + } + return dispatchVOList; + } + /** + * 获取待办诉求 + * @param basePage + * @param loginUserInfo + * @return + */ + @Override + public Page<ComplaintTodoVO> getTodoList(BasePage basePage, LoginUserInfoVO loginUserInfo) { + Optional<SystemUser> systemUserByPhone = systemUserService.getSystemUserByPhone(loginUserInfo.getPhone()); + String targetId = ""; + int isSuperior = 0; + //上级 + if (systemUserByPhone.isPresent()) { + SystemUser systemUser = systemUserByPhone.get(); + Integer accountLevel = systemUser.getAccountLevel(); + switch (accountLevel) { + case 1: + //市级 + targetId = "510400"; + break; + case 2: + //区县级 + targetId = systemUser.getDistrictsCode(); + break; + case 3: + //街道 + targetId = systemUser.getStreetId().toString(); + break; + case 4: + //社区 + targetId = systemUser.getCommunityId().toString(); + break; + } + isSuperior = 1; + } else { + //党员 + targetId = loginUserInfo.getUserId().toString(); + } + Page<ComplaintTodoVO> page = baseMapper.getTodoList(new Page<>(basePage.getPageNum(), basePage.getPageSize()), targetId,isSuperior); + return page; + } + /** + * 延期情况说明 + * @param complaintId + * @return + */ + @Override + public ComplaintAuditRecord delayDetail(Long complaintId) { + return complaintAuditRecordService.lambdaQuery().eq(ComplaintAuditRecord::getComplaintId, complaintId) + .eq(ComplaintAuditRecord::getAuditType, 1) + .eq(ComplaintAuditRecord::getLatestFlag, true) + .last("LIMIT 1").one(); + } +} + diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/DepartmentServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/DepartmentServiceImpl.java new file mode 100644 index 0000000..5861e68 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/DepartmentServiceImpl.java @@ -0,0 +1,15 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.dao.DepartmentMapper; +import com.panzhihua.sangeshenbian.model.entity.Department; +import com.panzhihua.sangeshenbian.service.IDepartmentService; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:43 + */ +@Service +public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements IDepartmentService { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java new file mode 100644 index 0000000..0317f8e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java @@ -0,0 +1,80 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.service.sangeshenbian.SystemUserService; +import com.panzhihua.sangeshenbian.dao.MessageNotificationMapper; +import com.panzhihua.sangeshenbian.model.entity.MessageNotification; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO; +import com.panzhihua.sangeshenbian.service.IMessageNotificationService; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import com.panzhihua.sangeshenbian.warpper.MessageNotificationList; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Objects; +import java.util.Optional; + +/** + * @author zhibing.pu + * @Date 2025/2/23 3:04 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class MessageNotificationServiceImpl extends ServiceImpl<MessageNotificationMapper, MessageNotification> implements IMessageNotificationService { + private final ISystemUserService systemUserService; + + @Override + public IPage<MessageNotification> list(MessageNotificationList query) { + Page page = new Page<>(); + page.setCurrent(query.getPageNum()); + page.setSize(query.getPageSize()); + IPage<MessageNotification> list = this.baseMapper.list(page, query); + return list; + } + + @Override + public Page<MessageNotificationVO> getMessageList(BasePage basePage, Long userId) { + //TODO 待完善 + Page<MessageNotification> page = lambdaQuery().page(new Page<>(basePage.getPageNum(),basePage.getPageSize())); + return (Page<MessageNotificationVO>) page.convert(item-> BeanUtil.copyProperties(item, MessageNotificationVO.class)); + } + + /** + * 标记已读 + * @param loginUserInfoVO + */ + @Override + public void read(LoginUserInfoVO loginUserInfoVO) { + String undertakerUserId = ""; + Optional<SystemUser> systemUserByPhone = systemUserService.getSystemUserByPhone(loginUserInfoVO.getPhone()); + if (systemUserByPhone.isPresent()) { + SystemUser systemUser = systemUserByPhone.get(); + if (systemUser.getIsAdmin().equals(1)){ + switch (systemUser.getAccountLevel()) { + case 1: + undertakerUserId = "510400";//默认市级 + break; + case 2: + undertakerUserId = systemUser.getDistrictsCode(); + break; + case 3: + undertakerUserId = systemUser.getStreetId(); + break; + case 4: + undertakerUserId = systemUser.getCommunityId().toString(); + break; + } + } + }else { + undertakerUserId = loginUserInfoVO.getUserId().toString(); + } + this.lambdaUpdate().eq(MessageNotification::getUndertakerUserId, undertakerUserId).set(MessageNotification::getReadStatus, 1).update(); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ProblemTypeServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ProblemTypeServiceImpl.java new file mode 100644 index 0000000..0756ad9 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ProblemTypeServiceImpl.java @@ -0,0 +1,26 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.dao.ProblemTypeMapper; +import com.panzhihua.sangeshenbian.model.entity.ProblemType; +import com.panzhihua.sangeshenbian.service.IProblemTypeService; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:27 + */ +@Service +public class ProblemTypeServiceImpl extends ServiceImpl<ProblemTypeMapper, ProblemType> implements IProblemTypeService { + + @Override + public IPage<ProblemType> list(String name, Integer pageNum, Integer pageSize) { + Page page = new Page<>(); + page.setCurrent(pageNum); + page.setSize(pageSize); + IPage<ProblemType> list = this.baseMapper.list(page, name); + return list; + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemMenuServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemMenuServiceImpl.java new file mode 100644 index 0000000..631b79a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemMenuServiceImpl.java @@ -0,0 +1,40 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.dao.SystemMenuMapper; +import com.panzhihua.sangeshenbian.model.entity.SystemMenu; +import com.panzhihua.sangeshenbian.service.ISystemMenuService; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author zhibing.pu + * @Date 2025/2/23 1:03 + */ +@Service +public class SystemMenuServiceImpl extends ServiceImpl<SystemMenuMapper, SystemMenu> implements ISystemMenuService { + + @Override + public List<SystemMenu> getSystemMenuList() { + List<SystemMenu> list = this.list(); + List<SystemMenu> collect = list.stream().filter(s->s.getParentId() == 0).collect(Collectors.toList()); + for (SystemMenu systemMenu : collect) { + build(systemMenu, list); + } + return list; + } + + + public void build(SystemMenu systemMenu, List<SystemMenu> list) { + List<SystemMenu> collect = list.stream().filter(s->s.getParentId().equals(systemMenu.getParentId())).collect(Collectors.toList()); + if(collect.size() == 0){ + return; + } + systemMenu.setChildren(collect); + for (SystemMenu menu : collect) { + build(menu, list); + } + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemPostServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemPostServiceImpl.java new file mode 100644 index 0000000..78ae394 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemPostServiceImpl.java @@ -0,0 +1,25 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.dao.SystemPostMapper; +import com.panzhihua.sangeshenbian.model.entity.SystemPost; +import com.panzhihua.sangeshenbian.service.ISystemPostService; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2025/2/25 19:43 + */ +@Service +public class SystemPostServiceImpl extends ServiceImpl<SystemPostMapper, SystemPost> implements ISystemPostService { + + @Override + public IPage<SystemPost> list(String name, Integer pageNum, Integer pageSize) { + Page page = new Page<>(); + page.setCurrent(pageNum); + page.setSize(pageSize); + return this.baseMapper.list(page, name); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemRoleMenuServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemRoleMenuServiceImpl.java new file mode 100644 index 0000000..d268139 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemRoleMenuServiceImpl.java @@ -0,0 +1,15 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.dao.SystemRoleMenuMapper; +import com.panzhihua.sangeshenbian.model.entity.SystemRoleMenu; +import com.panzhihua.sangeshenbian.service.ISystemRoleMenuService; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:26 + */ +@Service +public class SystemRoleMenuServiceImpl extends ServiceImpl<SystemRoleMenuMapper, SystemRoleMenu> implements ISystemRoleMenuService { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemRoleServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemRoleServiceImpl.java new file mode 100644 index 0000000..df12721 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemRoleServiceImpl.java @@ -0,0 +1,33 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.dao.SystemRoleMapper; +import com.panzhihua.sangeshenbian.model.entity.SystemRole; +import com.panzhihua.sangeshenbian.service.ISystemRoleService; +import com.panzhihua.sangeshenbian.warpper.SystemRoleList; +import com.panzhihua.sangeshenbian.warpper.SystemRoleListVo; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2025/2/19 16:41 + */ +@Service +public class SystemRoleServiceImpl extends ServiceImpl<SystemRoleMapper, SystemRole> implements ISystemRoleService { + + + /** + * 获取列表数据 + * @param query + * @return + */ + @Override + public IPage<SystemRoleListVo> list(SystemRoleList query) { + Page page = new Page<>(); + page.setCurrent(query.getPageNum()); + page.setSize(query.getPageSize()); + return this.baseMapper.list(page, query.getName()); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java new file mode 100644 index 0000000..ddfbdfa --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java @@ -0,0 +1,51 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.sangeshenbian.dao.SystemUserMapper; +import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.service.ISystemUserService; +import com.panzhihua.sangeshenbian.warpper.SystemUserList; +import com.panzhihua.sangeshenbian.warpper.SystemUserListVo; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +/** + * @author zhibing.pu + * @Date 2025/2/18 22:30 + */ +@Service +public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemUser> implements ISystemUserService { + + /** + * 获取列表数据 + * @param query + * @return + */ + @Override + public IPage<SystemUserListVo> list(Integer accountLevel, SystemUserList query) { + Page page = new Page<>(); + page.setCurrent(query.getPageNum()); + page.setSize(query.getPageSize()); + IPage<SystemUserListVo> list = this.baseMapper.list(page, accountLevel, query); + return list; + } + + /** + * 根据手机号码查询小程序用户在三个身边的上级角色用户 + * @param phone + * @return + */ + @Override + public Optional<SystemUser> getSystemUserByPhone(String phone) { + if (StringUtils.isBlank(phone)) { + return Optional.empty(); + } + return this.lambdaQuery() + .eq(SystemUser::getPhone, phone).ne(SystemUser::getStatus, 3) + .eq(SystemUser::getIsAdmin, 1).last("LIMIT 1").oneOpt(); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/WorkOrderItemConfigServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/WorkOrderItemConfigServiceImpl.java new file mode 100644 index 0000000..60f82ba --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/WorkOrderItemConfigServiceImpl.java @@ -0,0 +1,15 @@ +package com.panzhihua.sangeshenbian.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.sangeshenbian.dao.WorkOrderItemConfigMapper; +import com.panzhihua.sangeshenbian.model.entity.WorkOrderItemConfig; +import com.panzhihua.sangeshenbian.service.IWorkOrderItemConfigService; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2025/2/23 2:08 + */ +@Service +public class WorkOrderItemConfigServiceImpl extends ServiceImpl<WorkOrderItemConfigMapper, WorkOrderItemConfig> implements IWorkOrderItemConfigService { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/AddSystemRole.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/AddSystemRole.java new file mode 100644 index 0000000..5dcde6f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/AddSystemRole.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:11 + */ +@Data +@ApiModel +public class AddSystemRole { + @ApiModelProperty(value = "角色名称", required = true) + private String name; + @ApiModelProperty(value = "权限id集合", required = true) + private List<Integer> systemMenuIds; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/EditSystemRole.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/EditSystemRole.java new file mode 100644 index 0000000..38ea07a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/EditSystemRole.java @@ -0,0 +1,22 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:11 + */ +@Data +@ApiModel +public class EditSystemRole { + @ApiModelProperty(value = "角色ID", required = true) + private Integer id; + @ApiModelProperty(value = "角色名称", required = true) + private String name; + @ApiModelProperty(value = "权限id集合", required = true) + private List<Integer> systemMenuIds; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/LoginVo.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/LoginVo.java new file mode 100644 index 0000000..329559a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/LoginVo.java @@ -0,0 +1,18 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/2/18 22:33 + */ +@Data +@ApiModel +public class LoginVo { + @ApiModelProperty(value = "登录账号", required = true) + private String phone; + @ApiModelProperty(value = "登录密码", required = true) + private String password; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MessageNotificationList.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MessageNotificationList.java new file mode 100644 index 0000000..1f8f97d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MessageNotificationList.java @@ -0,0 +1,32 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/2/23 3:10 + */ +@ApiModel +@Data +public class MessageNotificationList { + @ApiModelProperty("标题") + private String title; + @ApiModelProperty("承办人") + private String undertaker; + @ApiModelProperty("电话") + private String phone; + @ApiModelProperty("所属单位id") + private Integer departmentId; + @ApiModelProperty("职位id") + private Integer positionId; + @ApiModelProperty("页码") + private Integer pageNum; + @ApiModelProperty("每页数") + private Integer pageSize; + + private Integer undertakerType; + + private String userId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleInfo.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleInfo.java new file mode 100644 index 0000000..f664fac --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleInfo.java @@ -0,0 +1,22 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2025/2/19 17:36 + */ +@Data +@ApiModel +public class SystemRoleInfo { + @ApiModelProperty("角色ID") + private Integer id; + @ApiModelProperty("角色名称") + private String name; + @ApiModelProperty("菜单id集合") + private List<Integer> systemMenuIds; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleList.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleList.java new file mode 100644 index 0000000..7ac9d0c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleList.java @@ -0,0 +1,20 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/2/19 16:58 + */ +@Data +@ApiModel +public class SystemRoleList { + @ApiModelProperty(value = "角色名称") + private String name; + @ApiModelProperty(value = "页码", required = true) + private Integer pageNum; + @ApiModelProperty(value = "每页数量", required = true) + private Integer pageSize; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleListVo.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleListVo.java new file mode 100644 index 0000000..7dc7794 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemRoleListVo.java @@ -0,0 +1,18 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/2/19 16:50 + */ +@Data +@ApiModel +public class SystemRoleListVo { + @ApiModelProperty("数据ID") + private Integer id; + @ApiModelProperty("角色名称") + private String name; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemUserList.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemUserList.java new file mode 100644 index 0000000..1fc513b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemUserList.java @@ -0,0 +1,28 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/2/20 11:01 + */ +@Data +@ApiModel +public class SystemUserList { + @ApiModelProperty(value = "姓名") + private String name; + @ApiModelProperty(value = "联系方式") + private String phone; + @ApiModelProperty(value = "所在单位") + private Integer departmentId; + @ApiModelProperty(value = "所属角色") + private Integer systemRoleId; + @ApiModelProperty(value = "账号层级(1=市级账号,2=区县账号,3=街道账号,4=社区账号)") + private Integer accountLevel; + @ApiModelProperty(value = "页码", required = true) + private Integer pageNum; + @ApiModelProperty(value = "每页数量", required = true) + private Integer pageSize; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemUserListVo.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemUserListVo.java new file mode 100644 index 0000000..660d5c8 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/SystemUserListVo.java @@ -0,0 +1,30 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/2/20 11:05 + */ +@Data +@ApiModel +public class SystemUserListVo { + @ApiModelProperty("数据ID") + private Integer id; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("联系方式") + private String phone; + @ApiModelProperty("所属单位") + private String departmentName; + @ApiModelProperty("所属职位") + private String systemPostName; + @ApiModelProperty("所属角色") + private String systemRoleName; + @ApiModelProperty(value = "账号层级(1=市级账号,2=区县账号,3=街道账号,4=社区账号)") + private Integer accountLevel; + @ApiModelProperty("账号状态(1=使用中,2=已冻结)") + private Integer status; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/TokenVo.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/TokenVo.java new file mode 100644 index 0000000..8f7efcd --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/TokenVo.java @@ -0,0 +1,33 @@ +package com.panzhihua.sangeshenbian.warpper; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; +import java.util.Set; + +/** + * @author zhibing.pu + * @Date 2025/2/18 23:32 + */ +@ApiModel +@Data +public class TokenVo { + @ApiModelProperty("接口请求令牌") + private String token; + @ApiModelProperty("刷新token有效期长") + private String refreshToken; + @ApiModelProperty("communityId") + private Long communityId; + @ApiModelProperty("openId") + private String openId; + @ApiModelProperty("社区经度") + private String lng; + @ApiModelProperty("社区维度") + private String lat; + @ApiModelProperty("权限集合") + private Set<String> menu; + @ApiModelProperty("用户名") + private String name; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/bootstrap.yml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..0500831 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/bootstrap.yml @@ -0,0 +1,43 @@ +spring: + application: + name: huacheng-sangeshenbian + cloud: + config: + discovery: + enabled: true + service-id: huacheng-config # 注册中心的服务名 + profile: ${ENV:dev} # 指定配置文件的环境 + uri: http://${CONFIG_URL:localhost}:6193/ + profiles: + active: ${ENV:dev} + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + + +eureka: + client: + service-url: + defaultZone: http://${EUREKA_URL:localhost}:8192/eureka + +#实体加密、解密、字段脱敏拦截设置 +domain: + decrypt: true + encrypt: true + aesKey: Ryo7M3n8loC5 + sensitive: true + +management: + endpoints: + web: + exposure: + include: '*' + + endpoint: + health: + show-details: always + + metrics: + tags: + application: huacheng-sangeshenbian diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/logback-spring.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..32d6659 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/logback-spring.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration debug="false"> + <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> + <springProfile name="dev"> + <property name="LOG_HOME" value="F:\log"/> + </springProfile> + <springProfile name="test"> + <property name="LOG_HOME" value="/mnt/data/gocd/log" /> + </springProfile> +<property name="LOG_HOME" value="/mnt/data/gocd/log" /> + <!-- 控制台输出 --> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> + </encoder> + </appender> + <!-- 按照每天生成日志文件 --> + <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--日志文件输出的文件名--> + <FileNamePattern>${LOG_HOME}/huachengservice_sangeshenbian.log.%d{yyyy-MM-dd}.log</FileNamePattern> + <!--日志文件保留天数--> + <MaxHistory>30</MaxHistory> + </rollingPolicy> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> + </encoder> + <!--日志文件最大的大小--> + <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <MaxFileSize>10MB</MaxFileSize> + </triggeringPolicy> + </appender> + + <!--myibatis log configure--> + <logger name="com.apache.ibatis" level="TRACE"/> + <logger name="java.sql.Connection" level="DEBUG"/> + <logger name="java.sql.Statement" level="DEBUG"/> + <logger name="java.sql.PreparedStatement" level="DEBUG"/> + <logger name="com.panzhihua.sangeshenbian" level="DEBUG"/> + + <!-- 日志输出级别 --> + <root level="DEBUG"> + <appender-ref ref="STDOUT" /> + </root> + <root level="INFO"> + <appender-ref ref="STDOUT" /> + <appender-ref ref="FILE" /> + </root> + + <!--慢接口和方法日志记录到不同的文件--> + <appender name="slowClassAndMethodAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <File>${LOG_HOME}/slow_service_community.log</File> + <append>true</append> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${LOG_HOME}/slow_service_community.%d.%i.log</fileNamePattern> + <maxHistory>10</maxHistory> + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> + <maxFileSize>10MB</maxFileSize> + </timeBasedFileNamingAndTriggeringPolicy> + </rollingPolicy> + <encoder> + <pattern>%d{yyyy/MM/dd HH:mm:ss.SSS} %-5level [%thread] [%c{0}:%L] : %msg%n</pattern> + <charset>UTF-8</charset> + </encoder> + </appender> + + <!--这是我们定义的慢接口和方法日志传入的名称--> + <logger name="slowClassAndMethodLog" additivity="false" level="INFO"> + <appender-ref ref="slowClassAndMethodAppender"/> + </logger> +</configuration> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/BannerMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/BannerMapper.xml new file mode 100644 index 0000000..d7ce1de --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/BannerMapper.xml @@ -0,0 +1,14 @@ +<?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.panzhihua.sangeshenbian.dao.BannerMapper"> + + <select id="list" resultType="com.panzhihua.sangeshenbian.model.entity.Banner"> + select * from banner where del = 0 + <if test="name != null and name != ''"> + and name like concat('%',#{name},'%') + </if> + order by create_time desc + </select> +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/BcRegionMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/BcRegionMapper.xml new file mode 100644 index 0000000..6cabf80 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/BcRegionMapper.xml @@ -0,0 +1,5 @@ +<?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.panzhihua.sangeshenbian.dao.BcRegionMapper"> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComActMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComActMapper.xml new file mode 100644 index 0000000..6dc1721 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComActMapper.xml @@ -0,0 +1,5 @@ +<?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.panzhihua.sangeshenbian.dao.ComActMapper"> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComStreetMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComStreetMapper.xml new file mode 100644 index 0000000..a38db4c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComStreetMapper.xml @@ -0,0 +1,5 @@ +<?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.panzhihua.sangeshenbian.dao.ComStreetMapper"> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintAuditRecordMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintAuditRecordMapper.xml new file mode 100644 index 0000000..7c632da --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintAuditRecordMapper.xml @@ -0,0 +1,5 @@ +<?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.panzhihua.sangeshenbian.dao.ComplaintAuditRecordMapper"> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintFlowMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintFlowMapper.xml new file mode 100644 index 0000000..7cb02af --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintFlowMapper.xml @@ -0,0 +1,5 @@ +<?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.panzhihua.sangeshenbian.dao.ComplaintFlowMapper"> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml new file mode 100644 index 0000000..2d7d32d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml @@ -0,0 +1,156 @@ +<?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.panzhihua.sangeshenbian.dao.ComplaintMapper"> + + <select id="selectComplaintPage" resultType="com.panzhihua.sangeshenbian.model.vo.ComplaintVO"> + SELECT sc.id, + sc.serial_number, + sc.time, + sc.problem_type, + sc.name, + sc.contact_number, + sc.location, + sc.detailed_address, + sc.description_title, + sc.description_content, + sc.images, + sc.videos, + CASE + WHEN scar.audit_type = 1 AND scar.audit_status = 0 THEN 7 + WHEN scar.audit_type = 2 AND scar.audit_status = 0 THEN 5 + WHEN scar.audit_status = 2 THEN 6 + ELSE sc.status + END AS status, + sc.report_type, + sc.superior_id, + sc.create_by, + sc.create_time, + sc.update_by, + sc.update_time, + sc.completion_description, + sc.completion_images, + sc.completion_videos, + sc.completion_other_description, + sc.completion_time, + sc.completion_user_id, + sc.completion_username, + sc.completion_user_phone, + sc.closing_time, + sc.over_time_days, + sc.latitude, + sc.longitude, + scar.audit_type, + scar.audit_status, + scar.comment, + scar.images, + scar.videos, + scar.create_time AS reportTime, + scar.system_user_id, + scar.reporter, + scar.department_name, + scar.department_id + FROM sgsb_complaint sc + LEFT JOIN sgsb_complaint_audit_record scar ON scar.complaint_id = sc.id AND scar.latest_flag = 1 + <where> + <if test="query.type ==null and isSuperior == 1"> + AND (scar.auditor_id IS NULL OR scar.auditor_id != #{query.userId}) + </if> + <if test="isSuperior == 1 and targetId != null"> + AND sc.superior_id = #{targetId} + </if> + <if test="isSuperior == 0 and targetId != null"> + AND sc.create_by = #{targetId} + </if> + <if test="query.type!=null and query.type == 0"> + AND(scar.audit_type = 1 AND scar.audit_status = 0) OR (scar.audit_type = 2 AND scar.audit_status = 0) + </if> + <if test="query.type!=null and query.type == 1"> + AND sc.status IN(0,1,2) + </if> + <if test="query.type!=null and query.type == 2"> + AND sc.status = 3 + </if> + </where> + ORDER BY sc.create_time DESC + </select> + <select id="getDetail" resultType="com.panzhihua.sangeshenbian.model.vo.ComplaintVO"> + SELECT sc.id, + sc.serial_number, + sc.time, + sc.problem_type, + sc.name, + sc.contact_number, + sc.location, + sc.detailed_address, + sc.description_title, + sc.description_content, + sc.images, + sc.videos, + CASE + WHEN scar.audit_type = 1 AND scar.audit_status = 0 THEN 7 + WHEN scar.audit_type = 2 AND scar.audit_status = 0 THEN 5 + WHEN scar.audit_status = 2 THEN 6 + ELSE sc.status + END AS status, + sc.report_type, + sc.superior_id, + sc.create_by, + sc.create_time, + sc.update_by, + sc.update_time, + sc.completion_description, + sc.completion_images, + sc.completion_videos, + sc.completion_other_description, + sc.completion_time, + sc.completion_user_id, + sc.completion_username, + sc.completion_user_phone, + sc.closing_time, + sc.over_time_days, + sc.latitude, + sc.longitude, + scar.audit_type, + scar.audit_status, + scar.comment, + scar.images, + scar.videos, + scar.create_time AS reportTime, + scar.system_user_id, + scar.reporter, + scar.department_name, + scar.department_id, + scar.comment, + scar.create_time AS auditTime, + scar.reject_reason, + su.nick_name, + su.phone, + su2.nick_name AS auditorName, + su2.phone AS auditorPhone + FROM sgsb_complaint sc + LEFT JOIN sys_user su ON su.user_id = sc.create_by + LEFT JOIN sgsb_complaint_audit_record scar ON scar.complaint_id = sc.id AND scar.latest_flag = 1 + LEFT JOIN sys_user su2 ON su2.user_id = scar.auditor_id AND scar.audit_status != 0 + <where> + sc.id = #{id} + </where> + </select> + <select id="getTodoList" resultType="com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO"> + SELECT sc.id, + sc.description_title, + sc.closing_time, + su.image_url + FROM sgsb_complaint sc + LEFT JOIN sys_user su ON su.user_id = sc.create_by + <where> + sc.status = 0 + <if test="isSuperior == 1 and targetId != null"> + AND sc.superior_id = #{targetId} + </if> + <if test="isSuperior == 0 and targetId != null"> + AND sc.create_by = #{targetId} + </if> + </where> + ORDER BY sc.create_time DESC + </select> +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintProgressMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintProgressMapper.xml new file mode 100644 index 0000000..7e6380a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintProgressMapper.xml @@ -0,0 +1,5 @@ +<?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.panzhihua.sangeshenbian.dao.ComplaintProgressMapper"> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/DepartmentMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/DepartmentMapper.xml new file mode 100644 index 0000000..9c394c8 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/DepartmentMapper.xml @@ -0,0 +1,7 @@ +<?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.panzhihua.sangeshenbian.dao.DepartmentMapper"> + +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/MessageNotificationMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/MessageNotificationMapper.xml new file mode 100644 index 0000000..81e9b33 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/MessageNotificationMapper.xml @@ -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.panzhihua.sangeshenbian.dao.MessageNotificationMapper"> + + + <select id="list" resultType="com.panzhihua.sangeshenbian.model.entity.MessageNotification"> + select + a.id, + a.title, + b.name as undertakerUser, + a.phone, + d.name as department, + e.name as `position`, + DATE_FORMAT(a.response_time, '%Y-%m-%d')as responseTime, + if(a.prompt_type = 1, '临期提醒', '超时提醒') as promptType, + if(a.read_status = 0, '未读', '已读') as readStatus + from sgsb_message_notification a + left join sys_user b on (a.undertaker_user_id = b.id) + left join sgsb_system_user c on (a.phone = c.phone) + left join sgsb_department d on (c.department_id = d.id) + left join sgsb_position e on (c.position_id = e.id) + where a.undertaker_type = #{query.undertakerType} and a.undertaker_user_id = #{query.userId} + <if test="query.title != null and query.title != ''"> + and a.title like concat('%', #{query.title}, '%') + </if> + <if test="query.undertakerUser != null and query.undertakerUser != ''"> + and b.name like concat('%', #{query.undertakerUser}, '%') + </if> + <if test="query.phone != null and query.phone != ''"> + and a.phone like concat('%', #{query.phone}, '%') + </if> + <if test="query.departmentId != null"> + and c.department_id = #{query.department} + </if> + <if test="query.positionId != null"> + and c.position_id = #{query.position} + </if> + order by a.read_status asc, a.create_time desc + </select> +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ProblemTypeMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ProblemTypeMapper.xml new file mode 100644 index 0000000..fe5fb3e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ProblemTypeMapper.xml @@ -0,0 +1,14 @@ +<?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.panzhihua.sangeshenbian.dao.ProblemTypeMapper"> + + <select id="list" resultType="com.panzhihua.sangeshenbian.model.entity.ProblemType"> + select * from sgsb_problem_type where del = 0 + <if test="name != null and name != ''"> + and name like concat('%', #{name}, '%') + </if> + order by create_time desc + </select> +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemMenuMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemMenuMapper.xml new file mode 100644 index 0000000..dcd49bd --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemMenuMapper.xml @@ -0,0 +1,7 @@ +<?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.panzhihua.sangeshenbian.dao.SystemMenuMapper"> + +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemPostMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemPostMapper.xml new file mode 100644 index 0000000..7ce5395 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemPostMapper.xml @@ -0,0 +1,20 @@ +<?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.panzhihua.sangeshenbian.dao.SystemPostMapper"> + + <select id="list" resultType="com.panzhihua.sangeshenbian.model.entity.SystemPost"> + select + id, + name, + del, + create_time + from sgsb_system_post + where del = 0 + <if test="name != null and name != ''"> + and name like concat('%',#{name},'%') + </if> + order by create_time desc + </select> +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemRoleMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemRoleMapper.xml new file mode 100644 index 0000000..0f2f1b7 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemRoleMapper.xml @@ -0,0 +1,15 @@ +<?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.panzhihua.sangeshenbian.dao.SystemRoleMapper"> + + + <select id="list" resultType="com.panzhihua.sangeshenbian.warpper.SystemRoleListVo"> + select id, name from sgsb_system_role where del = 0 + <if test="null != name and '' != name"> + and name like CONCAT('%', #{name}, '%') + </if> + order by create_time desc + </select> +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemRoleMenuMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemRoleMenuMapper.xml new file mode 100644 index 0000000..122c5ce --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemRoleMenuMapper.xml @@ -0,0 +1,7 @@ +<?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.panzhihua.sangeshenbian.dao.SystemRoleMenuMapper"> + +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemUserMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemUserMapper.xml new file mode 100644 index 0000000..7f015d2 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/SystemUserMapper.xml @@ -0,0 +1,49 @@ +<?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.panzhihua.sangeshenbian.dao.SystemUserMapper"> + + + <select id="list" resultType="com.panzhihua.sangeshenbian.warpper.SystemUserListVo"> + select + a.id, + a.name, + a.phone, + IF(a.four_department_id is not null, e.`name`, IF(a.three_department_id is not null, d.`name`, IF(a.two_department_id is not null, c.`name`, b.`name`))) as departmentName, + f.`name` as systemPostName, + g.`name` as systemRoleName, + a.account_level as accountLevel, + a.`status` + from sgsb_system_user a + left join sgsb_department b on (a.one_department_id = b.id) + left join sgsb_department c on (a.two_department_id = c.id) + left join sgsb_department d on (a.three_department_id = d.id) + left join sgsb_department e on (a.four_department_id = e.id) + left join sgsb_system_post f on (a.system_post_id = f.id) + left join sgsb_system_role g on (a.system_role_id = g.id) + where a.`status` != 3 + <if test="1 != accountLevel or 5 != accountLevel"> + and a.account_level <= #{accountLevel} + </if> + <if test="5 == accountLevel"> + and a.id = 0 + </if> + <if test="null != query.name and '' != query.name"> + and a.name like CONCAT('%', #{query.name}, '%') + </if> + <if test="null != query.phone and '' != query.phone"> + and a.phone like CONCAT('%', #{query.phone}, '%') + </if> + <if test="null != query.departmentId"> + and (a.one_department_id = #{query.departmentId} or a.two_department_id = #{query.departmentId} or a.three_department_id = #{query.departmentId} or a.four_department_id = #{query.departmentId}) + </if> + <if test="null != query.systemRoleId"> + and a.system_role_id = #{query.systemRoleId} + </if> + <if test="null != query.accountLevel"> + and a.account_level = #{query.accountLevel} + </if> + order by a.create_time desc + </select> +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/WorkOrderItemConfigMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/WorkOrderItemConfigMapper.xml new file mode 100644 index 0000000..3540183 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/WorkOrderItemConfigMapper.xml @@ -0,0 +1,7 @@ +<?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.panzhihua.sangeshenbian.dao.WorkOrderItemConfigMapper"> + +</mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/test/java/com/panzhihua/ServiceSangeshenbianApplicationTest.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/test/java/com/panzhihua/ServiceSangeshenbianApplicationTest.java new file mode 100644 index 0000000..0d2fbfd --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/test/java/com/panzhihua/ServiceSangeshenbianApplicationTest.java @@ -0,0 +1,38 @@ +package com.panzhihua; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class ServiceSangeshenbianApplicationTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public ServiceSangeshenbianApplicationTest(String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( ServiceSangeshenbianApplicationTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java index a0197ba..2e421c5 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java +++ b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; import com.panzhihua.common.model.vos.user.SysAppConfigVO; import com.panzhihua.common.utlis.*; import org.springframework.context.ApplicationContext; @@ -187,7 +188,69 @@ } valueOperations.set(roleAppletKey, JSONArray.toJSONString(authorities), 24, TimeUnit.HOURS); } - } else { + // 登录用户的所有信息 + String userKey = UserConstants.LOGIN_USER_INFO + userId; + Boolean hasKeyLoginUserInfo = stringRedisTemplate.hasKey(userKey); + if (hasKeyLoginUserInfo) { + String userInfo = valueOperations.get(userKey); + byte[] encrypt = AES.encrypt(userInfo, Constants.AES_KEY); + String hexStr = AES.parseByte2HexStr(encrypt); + safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); + } else { + R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId); + if (!R.isOk(r)) { + ResultUtil.responseJson(response, R.fail(HttpStatus.ERROR, "登录用户信息查询失败")); + return; + } + LoginUserInfoVO data = r.getData(); + String userInfo = JSONObject.toJSONString(data); + valueOperations.set(userKey, userInfo, 24, TimeUnit.HOURS); + byte[] encrypt = AES.encrypt(userInfo, Constants.AES_KEY); + String hexStr = AES.parseByte2HexStr(encrypt); + safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); + } + } else if(21 == type){ + //三个身边 + String key = SecurityConstants.ROLE_USER + "sangeshenbian:" + userId; + Boolean aBoolean = stringRedisTemplate.hasKey(key); + R<SystemUserVo> r = systemUserService.getUserById(userId); + if (aBoolean) { + String roles = valueOperations.get(key); + authorities = JSONArray.parseArray(roles, SimpleGrantedAuthority.class); + } else { + SystemUserVo data = r.getData(); + if (!ObjectUtils.isEmpty(data)) { + authorities.add(new SimpleGrantedAuthority(data.getSystemRoleId().toString())); + valueOperations.set(key, JSONArray.toJSONString(authorities), 24, TimeUnit.HOURS); + } + } + + UsernamePasswordAuthenticationToken authentication = + new UsernamePasswordAuthenticationToken(userId, userId, authorities);// 主要使用权限 账户 密码 不重要 + SecurityContextHolder.getContext().setAuthentication(authentication); + safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_LOGOUT, tokenHeader); + // 登录用户的所有信息 + String userKey = UserConstants.LOGIN_USER_INFO + "sangeshenbian:" + userId; + Boolean hasKeyLoginUserInfo = stringRedisTemplate.hasKey(userKey); + if (hasKeyLoginUserInfo) { + String userInfo = valueOperations.get(userKey); + byte[] encrypt = AES.encrypt(userInfo, Constants.AES_KEY); + String hexStr = AES.parseByte2HexStr(encrypt); + safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); + } else { + if (!R.isOk(r)) { + ResultUtil.responseJson(response, R.fail(HttpStatus.ERROR, "登录用户信息查询失败")); + return; + } + SystemUserVo data = r.getData(); + String userInfo = JSONObject.toJSONString(data); + valueOperations.set(userKey, userInfo, 24, TimeUnit.HOURS); + byte[] encrypt = AES.encrypt(userInfo, Constants.AES_KEY); + String hexStr = AES.parseByte2HexStr(encrypt); + safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); + } + + }else { String key = SecurityConstants.ROLE_USER + userId; Boolean aBoolean = stringRedisTemplate.hasKey(key); if (aBoolean) { -- Gitblit v1.7.1