From f99c0d6614435cfe394ee0af7049b3a8b7fc885a Mon Sep 17 00:00:00 2001 From: zhulongchuan <1624729110@qq.com> Date: Thu, 11 Sep 2025 21:26:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A9=BA=E5=9F=9F=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../classes/com/djhk/DjhkApplication.class | Bin 1315 -> 1324 bytes .../com/djhk/DjhkServletInitializer.class | Bin 873 -> 873 bytes .../controller/common/CaptchaController.class | Bin 3991 -> 4252 bytes .../controller/common/CommonController.class | Bin 6485 -> 6724 bytes .../controller/monitor/CacheController.class | Bin 7526 -> 7616 bytes .../controller/monitor/ServerController.class | Bin 1145 -> 1145 bytes .../monitor/SysLogininforController.class | Bin 3876 -> 3876 bytes .../monitor/SysOperlogController.class | Bin 3260 -> 3260 bytes .../monitor/SysUserOnlineController.class | Bin 4208 -> 4491 bytes .../system/SysConfigController.class | Bin 5346 -> 5625 bytes .../controller/system/SysDeptController.class | Bin 6137 -> 6303 bytes .../system/SysDictDataController.class | Bin 5207 -> 5207 bytes .../system/SysDictTypeController.class | Bin 5444 -> 5764 bytes .../system/SysIndexController.class | Bin 1080 -> 1080 bytes .../system/SysLoginController.class | Bin 5362 -> 5362 bytes .../controller/system/SysMenuController.class | Bin 5594 -> 5982 bytes .../system/SysNoticeController.class | Bin 3582 -> 3582 bytes .../controller/system/SysPostController.class | Bin 5193 -> 5564 bytes .../system/SysProfileController.class | Bin 6638 -> 6971 bytes .../system/SysRegisterController.class | Bin 1978 -> 1978 bytes .../controller/system/SysRoleController.class | Bin 9949 -> 10325 bytes .../controller/system/SysUserController.class | Bin 12034 -> 12267 bytes .../web/controller/tool/TestController.class | Bin 4592 -> 4592 bytes .../djhk/web/controller/tool/UserEntity.class | Bin 1749 -> 1749 bytes .../djhk/web/core/config/SwaggerConfig.class | Bin 6525 -> 6685 bytes djhk-common/pom.xml | 5 + .../java/com/djhk/common/utils/DictUtils.java | 14 + .../djhk/common/annotation/Anonymous.class | Bin 450 -> 450 bytes .../djhk/common/annotation/DataScope.class | Bin 572 -> 572 bytes .../djhk/common/annotation/DataSource.class | Bin 623 -> 623 bytes .../common/annotation/Excel$ColumnType.class | Bin 1409 -> 1428 bytes .../djhk/common/annotation/Excel$Type.class | Bin 1316 -> 1335 bytes .../com/djhk/common/annotation/Excel.class | Bin 2076 -> 2102 bytes .../com/djhk/common/annotation/Excels.class | Bin 439 -> 439 bytes .../com/djhk/common/annotation/Log.class | Bin 906 -> 906 bytes .../djhk/common/annotation/RateLimiter.class | Bin 702 -> 702 bytes .../djhk/common/annotation/RepeatSubmit.class | Bin 634 -> 634 bytes .../djhk/common/annotation/Sensitive.class | Bin 674 -> 674 bytes .../com/djhk/common/config/DjhkConfig.class | Bin 2188 -> 2491 bytes .../serializer/SensitiveJsonSerializer.class | Bin 3707 -> 3707 bytes .../djhk/common/constant/CacheConstants.class | Bin 716 -> 716 bytes .../com/djhk/common/constant/Constants.class | Bin 2227 -> 2227 bytes .../djhk/common/constant/GenConstants.class | Bin 2751 -> 2751 bytes .../com/djhk/common/constant/HttpStatus.class | Bin 895 -> 895 bytes .../constant/ScheduleConstants$Status.class | Bin 1442 -> 1461 bytes .../common/constant/ScheduleConstants.class | Bin 716 -> 740 bytes .../djhk/common/constant/UserConstants.class | Bin 1187 -> 1187 bytes .../core/controller/BaseController$1.class | Bin 963 -> 982 bytes .../core/controller/BaseController.class | Bin 4569 -> 4593 bytes .../djhk/common/core/domain/AjaxResult.class | Bin 2955 -> 2955 bytes .../djhk/common/core/domain/BaseEntity.class | Bin 2786 -> 2786 bytes .../com/djhk/common/core/domain/R.class | Bin 3766 -> 3766 bytes .../djhk/common/core/domain/TreeEntity.class | Bin 1834 -> 1834 bytes .../djhk/common/core/domain/TreeSelect.class | Bin 3927 -> 3927 bytes .../common/core/domain/entity/SysDept.class | Bin 4968 -> 4968 bytes .../core/domain/entity/SysDictData.class | Bin 4745 -> 4745 bytes .../core/domain/entity/SysDictType.class | Bin 3257 -> 3257 bytes .../common/core/domain/entity/SysMenu.class | Bin 6191 -> 6191 bytes .../common/core/domain/entity/SysRole.class | Bin 6125 -> 6125 bytes .../common/core/domain/entity/SysUser.class | Bin 8161 -> 8161 bytes .../common/core/domain/model/LoginBody.class | Bin 1140 -> 1140 bytes .../common/core/domain/model/LoginUser.class | Bin 4680 -> 4680 bytes .../core/domain/model/RegisterBody.class | Bin 356 -> 356 bytes .../djhk/common/core/page/PageDomain.class | Bin 2292 -> 2614 bytes .../djhk/common/core/page/TableDataInfo.class | Bin 1635 -> 1635 bytes .../djhk/common/core/page/TableSupport.class | Bin 1509 -> 1509 bytes .../djhk/common/core/redis/RedisCache.class | Bin 8334 -> 8334 bytes .../djhk/common/core/text/CharsetKit.class | Bin 1817 -> 1817 bytes .../com/djhk/common/core/text/Convert.class | Bin 14210 -> 14552 bytes .../djhk/common/core/text/StrFormatter.class | Bin 1846 -> 1846 bytes .../djhk/common/enums/BusinessStatus.class | Bin 1039 -> 1039 bytes .../com/djhk/common/enums/BusinessType.class | Bin 1456 -> 1456 bytes .../djhk/common/enums/DataSourceType.class | Bin 1039 -> 1039 bytes .../djhk/common/enums/DesensitizedType.class | Bin 3393 -> 3393 bytes .../com/djhk/common/enums/HttpMethod.class | Bin 2165 -> 2165 bytes .../com/djhk/common/enums/LimitType.class | Bin 1002 -> 1002 bytes .../com/djhk/common/enums/OperatorType.class | Bin 1078 -> 1078 bytes .../com/djhk/common/enums/UserStatus.class | Bin 1490 -> 1490 bytes .../common/exception/DemoModeException.class | Bin 406 -> 406 bytes .../common/exception/GlobalException.class | Bin 1020 -> 1020 bytes .../common/exception/ServiceException.class | Bin 1312 -> 1312 bytes .../djhk/common/exception/UtilException.class | Bin 814 -> 814 bytes .../common/exception/base/BaseException.class | Bin 1984 -> 1984 bytes .../common/exception/file/FileException.class | Bin 630 -> 630 bytes ...FileNameLengthLimitExceededException.class | Bin 711 -> 711 bytes .../file/FileSizeLimitExceededException.class | Bin 668 -> 668 bytes .../exception/file/FileUploadException.class | Bin 1379 -> 1379 bytes ...ption$InvalidFlashExtensionException.class | Bin 769 -> 788 bytes ...ption$InvalidImageExtensionException.class | Bin 769 -> 788 bytes ...ption$InvalidMediaExtensionException.class | Bin 769 -> 788 bytes ...ption$InvalidVideoExtensionException.class | Bin 769 -> 788 bytes .../file/InvalidExtensionException.class | Bin 1898 -> 2210 bytes .../exception/job/TaskException$Code.class | Bin 1435 -> 1454 bytes .../common/exception/job/TaskException.class | Bin 1093 -> 1117 bytes .../exception/user/BlackListException.class | Bin 502 -> 502 bytes .../exception/user/CaptchaException.class | Bin 502 -> 502 bytes .../user/CaptchaExpireException.class | Bin 521 -> 521 bytes .../common/exception/user/UserException.class | Bin 630 -> 630 bytes .../user/UserNotExistsException.class | Bin 516 -> 516 bytes .../user/UserPasswordNotMatchException.class | Bin 545 -> 545 bytes ...serPasswordRetryLimitExceedException.class | Bin 740 -> 740 bytes .../filter/PropertyPreExcludeFilter.class | Bin 812 -> 812 bytes .../djhk/common/filter/RefererFilter.class | Bin 2626 -> 2857 bytes .../djhk/common/filter/RepeatableFilter.class | Bin 1695 -> 1695 bytes .../filter/RepeatedlyRequestWrapper$1.class | Bin 1427 -> 1389 bytes .../filter/RepeatedlyRequestWrapper.class | Bin 1938 -> 1827 bytes .../com/djhk/common/filter/XssFilter.class | Bin 2872 -> 2872 bytes .../XssHttpServletRequestWrapper$1.class | Bin 1414 -> 1433 bytes .../filter/XssHttpServletRequestWrapper.class | Bin 2304 -> 2328 bytes .../classes/com/djhk/common/utils/Arith.class | Bin 1915 -> 1915 bytes .../com/djhk/common/utils/DateUtils.class | Bin 4807 -> 5047 bytes .../djhk/common/utils/DesensitizedUtil.class | Bin 904 -> 904 bytes .../com/djhk/common/utils/DictUtils.class | Bin 5162 -> 5671 bytes .../com/djhk/common/utils/ExceptionUtil.class | Bin 1347 -> 1347 bytes .../com/djhk/common/utils/LogUtils.class | Bin 666 -> 977 bytes .../com/djhk/common/utils/MessageUtils.class | Bin 952 -> 952 bytes .../com/djhk/common/utils/PageUtils.class | Bin 1379 -> 1379 bytes .../com/djhk/common/utils/SecurityUtils.class | Bin 5646 -> 5646 bytes .../com/djhk/common/utils/ServletUtils.class | Bin 5969 -> 5969 bytes .../com/djhk/common/utils/StringUtils.class | Bin 10289 -> 10744 bytes .../com/djhk/common/utils/Threads.class | Bin 2554 -> 2554 bytes .../djhk/common/utils/bean/BeanUtils.class | Bin 2736 -> 2736 bytes .../common/utils/bean/BeanValidators.class | Bin 1222 -> 1222 bytes .../common/utils/file/FileTypeUtils.class | Bin 1369 -> 1369 bytes .../common/utils/file/FileUploadUtils.class | Bin 6322 -> 6599 bytes .../djhk/common/utils/file/FileUtils.class | Bin 6503 -> 6952 bytes .../djhk/common/utils/file/ImageUtils.class | Bin 2878 -> 3152 bytes .../common/utils/file/MimeTypeUtils.class | Bin 1888 -> 1888 bytes .../djhk/common/utils/html/EscapeUtil.class | Bin 2971 -> 3351 bytes .../djhk/common/utils/html/HTMLFilter.class | Bin 13348 -> 13833 bytes .../djhk/common/utils/http/HttpHelper.class | Bin 2364 -> 2364 bytes .../djhk/common/utils/http/HttpUtils$1.class | Bin 229 -> 0 bytes .../HttpUtils$TrustAnyHostnameVerifier.class | Bin 924 -> 721 bytes .../http/HttpUtils$TrustAnyTrustManager.class | Bin 1205 -> 1002 bytes .../djhk/common/utils/http/HttpUtils.class | Bin 9038 -> 9048 bytes .../djhk/common/utils/ip/AddressUtils.class | Bin 2181 -> 2412 bytes .../com/djhk/common/utils/ip/IpUtils.class | Bin 6698 -> 6698 bytes .../utils/poi/ExcelHandlerAdapter.class | Bin 294 -> 294 bytes .../com/djhk/common/utils/poi/ExcelUtil.class | Bin 50596 -> 50784 bytes .../common/utils/reflect/ReflectUtils.class | Bin 10841 -> 11049 bytes .../com/djhk/common/utils/sign/Base64.class | Bin 4498 -> 4498 bytes .../com/djhk/common/utils/sign/Md5Utils.class | Bin 2108 -> 2108 bytes .../common/utils/spring/SpringUtils.class | Bin 3729 -> 3729 bytes .../com/djhk/common/utils/sql/SqlUtil.class | Bin 1851 -> 1851 bytes .../com/djhk/common/utils/uuid/IdUtils.class | Bin 709 -> 709 bytes .../com/djhk/common/utils/uuid/Seq.class | Bin 1925 -> 2269 bytes .../djhk/common/utils/uuid/UUID$Holder.class | Bin 566 -> 585 bytes .../com/djhk/common/utils/uuid/UUID.class | Bin 6418 -> 6841 bytes .../classes/com/djhk/common/xss/Xss.class | Bin 805 -> 805 bytes .../com/djhk/common/xss/XssValidator.class | Bin 1832 -> 1832 bytes .../framework/aspectj/DataScopeAspect.class | Bin 6785 -> 7056 bytes .../framework/aspectj/DataSourceAspect.class | Bin 2751 -> 2751 bytes .../djhk/framework/aspectj/LogAspect.class | Bin 10123 -> 10424 bytes .../framework/aspectj/RateLimiterAspect.class | Bin 4904 -> 4904 bytes .../framework/config/ApplicationConfig.class | Bin 1868 -> 1868 bytes .../djhk/framework/config/CaptchaConfig.class | Bin 2432 -> 2432 bytes .../djhk/framework/config/DruidConfig$1.class | Bin 2102 -> 2121 bytes .../djhk/framework/config/DruidConfig.class | Bin 4752 -> 4776 bytes .../config/FastJson2JsonRedisSerializer.class | Bin 2755 -> 2755 bytes .../djhk/framework/config/FilterConfig.class | Bin 2875 -> 2875 bytes .../djhk/framework/config/I18nConfig.class | Bin 1878 -> 1878 bytes .../framework/config/KaptchaTextCreator.class | Bin 1697 -> 2068 bytes .../djhk/framework/config/MyBatisConfig.class | Bin 6349 -> 6596 bytes .../djhk/framework/config/RedisConfig.class | Bin 3096 -> 3096 bytes .../framework/config/ResourcesConfig.class | Bin 3932 -> 4227 bytes .../framework/config/SecurityConfig.class | Bin 11072 -> 11072 bytes .../djhk/framework/config/ServerConfig.class | Bin 1420 -> 1420 bytes .../framework/config/ThreadPoolConfig$1.class | Bin 1292 -> 1331 bytes .../framework/config/ThreadPoolConfig.class | Bin 2310 -> 2334 bytes .../config/properties/DruidProperties.class | Bin 2678 -> 2678 bytes .../properties/PermitAllUrlProperties.class | Bin 5901 -> 5901 bytes .../datasource/DynamicDataSource.class | Bin 1148 -> 1148 bytes .../DynamicDataSourceContextHolder.class | Bin 1288 -> 1288 bytes .../interceptor/RepeatSubmitInterceptor.class | Bin 2069 -> 2069 bytes .../impl/SameUrlDataInterceptor.class | Bin 4535 -> 4812 bytes .../djhk/framework/manager/AsyncManager.class | Bin 1433 -> 1433 bytes .../framework/manager/ShutdownManager.class | Bin 1329 -> 1329 bytes .../manager/factory/AsyncFactory$1.class | Bin 3173 -> 3195 bytes .../manager/factory/AsyncFactory$2.class | Bin 1181 -> 1200 bytes .../manager/factory/AsyncFactory.class | Bin 2020 -> 1968 bytes .../context/AuthenticationContextHolder.class | Bin 1160 -> 1160 bytes .../context/PermissionContextHolder.class | Bin 1150 -> 1150 bytes .../filter/JwtAuthenticationTokenFilter.class | Bin 2863 -> 2863 bytes .../handle/AuthenticationEntryPointImpl.class | Bin 1861 -> 1861 bytes .../handle/LogoutSuccessHandlerImpl.class | Bin 2748 -> 2748 bytes .../djhk/framework/web/domain/Server.class | Bin 8163 -> 8163 bytes .../framework/web/domain/server/Cpu.class | Bin 1602 -> 1602 bytes .../framework/web/domain/server/Jvm.class | Bin 2481 -> 2481 bytes .../framework/web/domain/server/Mem.class | Bin 1088 -> 1088 bytes .../framework/web/domain/server/Sys.class | Bin 1349 -> 1349 bytes .../framework/web/domain/server/SysFile.class | Bin 1727 -> 1727 bytes .../exception/GlobalExceptionHandler.class | Bin 7133 -> 7133 bytes .../web/service/PermissionService.class | Bin 3503 -> 3503 bytes .../web/service/SysLoginService.class | Bin 6199 -> 6419 bytes .../web/service/SysPasswordService.class | Bin 3385 -> 3621 bytes .../web/service/SysPermissionService.class | Bin 2850 -> 2850 bytes .../web/service/SysRegisterService.class | Bin 4246 -> 4454 bytes .../framework/web/service/TokenService.class | Bin 7393 -> 7613 bytes .../web/service/UserDetailsServiceImpl.class | Bin 3346 -> 3346 bytes .../com/djhk/generator/config/GenConfig.class | Bin 1813 -> 1813 bytes .../generator/controller/GenController.class | Bin 10138 -> 10408 bytes .../com/djhk/generator/domain/GenTable.class | Bin 7880 -> 7880 bytes .../generator/domain/GenTableColumn.class | Bin 7458 -> 7458 bytes .../mapper/GenTableColumnMapper.class | Bin 793 -> 793 bytes .../generator/mapper/GenTableMapper.class | Bin 1016 -> 1016 bytes .../service/GenTableColumnServiceImpl.class | Bin 1624 -> 1624 bytes .../service/GenTableServiceImpl.class | Bin 16067 -> 16369 bytes .../service/IGenTableColumnService.class | Bin 504 -> 504 bytes .../generator/service/IGenTableService.class | Bin 1368 -> 1368 bytes .../com/djhk/generator/util/GenUtils.class | Bin 5721 -> 5721 bytes .../generator/util/VelocityInitializer.class | Bin 1064 -> 1064 bytes .../djhk/generator/util/VelocityUtils.class | Bin 10914 -> 11157 bytes .../quartz/controller/SysJobController.class | Bin 6902 -> 7546 bytes .../controller/SysJobLogController.class | Bin 3706 -> 3706 bytes .../com/djhk/quartz/domain/SysJob.class | Bin 4869 -> 4869 bytes .../com/djhk/quartz/domain/SysJobLog.class | Bin 3384 -> 3384 bytes .../djhk/quartz/mapper/SysJobLogMapper.class | Bin 712 -> 712 bytes .../com/djhk/quartz/mapper/SysJobMapper.class | Bin 662 -> 662 bytes .../quartz/service/ISysJobLogService.class | Bin 602 -> 602 bytes .../djhk/quartz/service/ISysJobService.class | Bin 890 -> 890 bytes .../service/impl/SysJobLogServiceImpl.class | Bin 1763 -> 1763 bytes .../service/impl/SysJobServiceImpl.class | Bin 5757 -> 5757 bytes .../classes/com/djhk/quartz/task/RyTask.class | Bin 1524 -> 1807 bytes .../djhk/quartz/util/AbstractQuartzJob.class | Bin 3802 -> 4055 bytes .../com/djhk/quartz/util/CronUtils.class | Bin 1279 -> 1279 bytes .../com/djhk/quartz/util/JobInvokeUtil.class | Bin 5651 -> 5651 bytes .../QuartzDisallowConcurrentExecution.class | Bin 875 -> 875 bytes .../djhk/quartz/util/QuartzJobExecution.class | Bin 747 -> 747 bytes .../com/djhk/quartz/util/ScheduleUtils.class | Bin 6321 -> 6565 bytes djhk-system/pom.xml | 24 + .../java/com/djhk/system/domain/SysCache.java | 81 --- .../com/djhk/system/domain/SysConfig.java | 111 ---- .../com/djhk/system/domain/SysLogininfor.java | 144 ---- .../com/djhk/system/domain/SysNotice.java | 102 --- .../com/djhk/system/domain/SysOperLog.java | 269 -------- .../java/com/djhk/system/domain/SysPost.java | 124 ---- .../com/djhk/system/domain/SysRoleDept.java | 46 -- .../com/djhk/system/domain/SysRoleMenu.java | 46 -- .../com/djhk/system/domain/SysUserOnline.java | 113 ---- .../com/djhk/system/domain/SysUserPost.java | 46 -- .../com/djhk/system/domain/SysUserRole.java | 46 -- .../com/djhk/system/domain/vo/MetaVo.java | 106 --- .../com/djhk/system/domain/vo/RouterVo.java | 148 ----- .../djhk/system/mapper/SysConfigMapper.java | 77 --- .../com/djhk/system/mapper/SysDeptMapper.java | 118 ---- .../djhk/system/mapper/SysDictDataMapper.java | 95 --- .../djhk/system/mapper/SysDictTypeMapper.java | 83 --- .../system/mapper/SysLogininforMapper.java | 42 -- .../com/djhk/system/mapper/SysMenuMapper.java | 125 ---- .../djhk/system/mapper/SysNoticeMapper.java | 60 -- .../djhk/system/mapper/SysOperLogMapper.java | 48 -- .../com/djhk/system/mapper/SysPostMapper.java | 99 --- .../djhk/system/mapper/SysRoleDeptMapper.java | 44 -- .../com/djhk/system/mapper/SysRoleMapper.java | 107 --- .../djhk/system/mapper/SysRoleMenuMapper.java | 44 -- .../com/djhk/system/mapper/SysUserMapper.java | 147 ----- .../djhk/system/mapper/SysUserPostMapper.java | 44 -- .../djhk/system/mapper/SysUserRoleMapper.java | 62 -- .../system/service/ISysConfigService.java | 89 --- .../djhk/system/service/ISysDeptService.java | 124 ---- .../system/service/ISysDictDataService.java | 60 -- .../system/service/ISysDictTypeService.java | 98 --- .../system/service/ISysLogininforService.java | 40 -- .../djhk/system/service/ISysMenuService.java | 144 ---- .../system/service/ISysNoticeService.java | 60 -- .../system/service/ISysOperLogService.java | 48 -- .../djhk/system/service/ISysPostService.java | 99 --- .../djhk/system/service/ISysRoleService.java | 173 ----- .../system/service/ISysUserOnlineService.java | 48 -- .../djhk/system/service/ISysUserService.java | 217 ------ .../service/impl/SysConfigServiceImpl.java | 232 ------- .../service/impl/SysDeptServiceImpl.java | 338 ---------- .../service/impl/SysDictDataServiceImpl.java | 111 ---- .../service/impl/SysDictTypeServiceImpl.java | 223 ------- .../impl/SysLogininforServiceImpl.java | 65 -- .../service/impl/SysMenuServiceImpl.java | 543 --------------- .../service/impl/SysNoticeServiceImpl.java | 92 --- .../service/impl/SysOperLogServiceImpl.java | 76 --- .../service/impl/SysPostServiceImpl.java | 178 ----- .../service/impl/SysRoleServiceImpl.java | 427 ------------ .../impl/SysUserOnlineServiceImpl.java | 96 --- .../service/impl/SysUserServiceImpl.java | 565 ---------------- .../controller/AirplaneController.java | 136 ++++ .../controller/AirspaceController.java | 134 ++++ .../uav/airspace/domain/AirplaneApply.java | 131 ++++ .../domain/AirplaneApplyAirplane.java | 28 + .../domain/AirplaneApplyAirspace.java | 23 + .../airspace/domain/AirplaneApplyExport.java | 108 +++ .../domain/AirplaneApplyOperator.java | 24 + .../uav/airspace/domain/AirspaceApply.java | 236 +++++++ .../uav/airspace/domain/AirspaceWaypoint.java | 106 +++ .../com/djhk/uav/airspace/domain/UavInfo.java | 217 ++++++ .../djhk/uav/airspace/domain/UavOperator.java | 152 +++++ .../mapper/AirplaneAirspaceMapper.java | 38 ++ .../airspace/mapper/AirplaneFlyMapper.java | 38 ++ .../uav/airspace/mapper/AirplaneMapper.java | 67 ++ .../mapper/AirplaneOperatorMapper.java | 37 ++ .../uav/airspace/mapper/AirspaceMapper.java | 66 ++ .../mapper/AirspaceWaypointMapper.java | 49 ++ .../uav/airspace/service/AirplaneService.java | 75 +++ .../uav/airspace/service/AirspaceService.java | 58 ++ .../service/AirspaceWaypointService.java | 48 ++ .../airspace/service/impl/AirplaneImpl.java | 617 ++++++++++++++++++ .../airspace/service/impl/AirspaceImpl.java | 67 ++ .../service/impl/AirspaceWaypointImpl.java | 44 ++ .../java/com/djhk/uav/equ/domain/EquInfo.java | 210 ++++++ .../djhk/uav/equ/domain/EquInfoEntity.java | 216 ++++++ .../com/djhk/uav/equ/domain/EquModel.java | 193 ++++++ .../djhk/uav/equ/domain/EquModelParam.java | 119 ++++ .../djhk/uav/equ/domain/EquParamDefine.java | 123 ++++ .../djhk/uav/equ/domain/EquTranEntity.java | 88 +++ .../java/com/djhk/uav/equ/domain/EquType.java | 123 ++++ .../com/djhk/uav/equ/domain/EquTypeParam.java | 57 ++ .../djhk/uav/equ/domain/Metasploitable.java | 88 +++ .../com/djhk/uav/equ/domain/SysMenus.java | 260 ++++++++ .../uav/equ/domain/dto/EquInfoExportDto.java | 91 +++ .../uav/equ/domain/dto/EquModelExportDto.java | 89 +++ .../uav/equ/domain/vo/EquInfoExportVo.java | 22 + .../uav/equ/domain/vo/EquModelExportVo.java | 21 + .../djhk/uav/equ/domain/vo/TreeSelects.java | 78 +++ .../djhk/uav/equ/service/EquInfoService.java | 60 ++ .../equ/service/impl/EquInfoServiceImpl.java | 122 ++++ .../LabelController - 副本.java.txt | 264 ++++++++ .../uav/label/controller/LabelController.java | 320 +++++++++ .../djhk/uav/label/domain/AppFolderParam.java | 39 ++ .../djhk/uav/label/domain/AppOrderParam.java | 26 + .../djhk/uav/label/domain/CatalogueDto.java | 86 +++ .../djhk/uav/label/domain/CatalogueVo.java | 35 + .../com/djhk/uav/label/domain/FolderInfo.java | 95 +++ .../com/djhk/uav/label/domain/PlotDTO.java | 68 ++ .../com/djhk/uav/label/domain/PlotVo.java | 62 ++ .../com/djhk/uav/label/domain/Plotting.java | 147 +++++ .../djhk/uav/label/domain/PlottingQuery.java | 39 ++ .../djhk/uav/label/domain/SavePlotDto.java | 39 ++ .../djhk/uav/label/domain/vo/FolderVo.java | 75 +++ .../uav/label/mapper/FolderInfoMapper.java | 87 +++ .../uav/label/mapper/PlottingMappers.java | 111 ++++ .../djhk/uav/label/query/FolderTreeQuery.java | 29 + .../djhk/uav/label/service/LabelService.java | 193 ++++++ .../impl/AppFolderInfoServiceImpl.java | 505 ++++++++++++++ .../label/service/impl/LabelServiceImpl.java | 155 +++++ .../uav/uav/domain/UavOperatorExportVo.java | 28 + .../uav/uav/service/IUavOperatorService.java | 69 ++ .../service/impl/UavOperatorServiceImpl.java | 110 ++++ .../com/djhk/uav/utils/ExportWord.javatxt | 97 +++ .../airspace/airplaneAirspaceMapper.xml | 44 ++ .../mapper/airspace/airplaneFlyMapper.xml | 48 ++ .../mapper/airspace/airplaneMapper.xml | 150 +++++ .../airspace/airplaneOperatorMapper.xml | 44 ++ .../mapper/airspace/airspaceMapper.xml | 299 +++++++++ .../airspace/airspaceWaypointMapper.xml | 63 ++ .../com/djhk/system/domain/SysCache.class | Bin 1755 -> 1755 bytes .../com/djhk/system/domain/SysConfig.class | Bin 3466 -> 3466 bytes .../djhk/system/domain/SysLogininfor.class | Bin 3029 -> 3029 bytes .../com/djhk/system/domain/SysNotice.class | Bin 2785 -> 2785 bytes .../com/djhk/system/domain/SysOperLog.class | Bin 5426 -> 5426 bytes .../com/djhk/system/domain/SysPost.class | Bin 3656 -> 3656 bytes .../com/djhk/system/domain/SysRoleDept.class | Bin 1295 -> 1295 bytes .../com/djhk/system/domain/SysRoleMenu.class | Bin 1295 -> 1295 bytes .../djhk/system/domain/SysUserOnline.class | Bin 1980 -> 1980 bytes .../com/djhk/system/domain/SysUserPost.class | Bin 1295 -> 1295 bytes .../com/djhk/system/domain/SysUserRole.class | Bin 1295 -> 1295 bytes .../com/djhk/system/domain/vo/MetaVo.class | Bin 1978 -> 1978 bytes .../com/djhk/system/domain/vo/RouterVo.class | Bin 2916 -> 2916 bytes .../djhk/system/mapper/SysConfigMapper.class | Bin 779 -> 779 bytes .../djhk/system/mapper/SysDeptMapper.class | Bin 1487 -> 1487 bytes .../system/mapper/SysDictDataMapper.class | Bin 1252 -> 1252 bytes .../system/mapper/SysDictTypeMapper.class | Bin 941 -> 941 bytes .../system/mapper/SysLogininforMapper.class | Bin 509 -> 509 bytes .../djhk/system/mapper/SysMenuMapper.class | Bin 1591 -> 1591 bytes .../djhk/system/mapper/SysNoticeMapper.class | Bin 595 -> 595 bytes .../djhk/system/mapper/SysOperLogMapper.class | Bin 563 -> 563 bytes .../djhk/system/mapper/SysPostMapper.class | Bin 1077 -> 1077 bytes .../system/mapper/SysRoleDeptMapper.class | Bin 405 -> 405 bytes .../djhk/system/mapper/SysRoleMapper.class | Bin 1302 -> 1302 bytes .../system/mapper/SysRoleMenuMapper.class | Bin 396 -> 396 bytes .../djhk/system/mapper/SysUserMapper.class | Bin 1360 -> 1360 bytes .../system/mapper/SysUserPostMapper.class | Bin 395 -> 395 bytes .../system/mapper/SysUserRoleMapper.class | Bin 672 -> 672 bytes .../system/service/ISysConfigService.class | Bin 817 -> 817 bytes .../djhk/system/service/ISysDeptService.class | Bin 1471 -> 1471 bytes .../system/service/ISysDictDataService.class | Bin 720 -> 720 bytes .../system/service/ISysDictTypeService.class | Bin 1199 -> 1199 bytes .../service/ISysLogininforService.class | Bin 514 -> 514 bytes .../djhk/system/service/ISysMenuService.class | Bin 1735 -> 1735 bytes .../system/service/ISysNoticeService.class | Bin 600 -> 600 bytes .../system/service/ISysOperLogService.class | Bin 568 -> 568 bytes .../djhk/system/service/ISysPostService.class | Bin 941 -> 941 bytes .../djhk/system/service/ISysRoleService.class | Bin 1626 -> 1626 bytes .../service/ISysUserOnlineService.class | Bin 590 -> 590 bytes .../djhk/system/service/ISysUserService.class | Bin 1773 -> 1773 bytes .../service/impl/SysConfigServiceImpl.class | Bin 5872 -> 6137 bytes .../service/impl/SysDeptServiceImpl.class | Bin 10093 -> 10193 bytes .../service/impl/SysDictDataServiceImpl.class | Bin 2733 -> 2733 bytes .../service/impl/SysDictTypeServiceImpl.class | Bin 7159 -> 7159 bytes .../impl/SysLogininforServiceImpl.class | Bin 1459 -> 1459 bytes .../service/impl/SysMenuServiceImpl.class | Bin 14238 -> 14364 bytes .../service/impl/SysNoticeServiceImpl.class | Bin 1709 -> 1709 bytes .../service/impl/SysOperLogServiceImpl.class | Bin 1592 -> 1592 bytes .../service/impl/SysPostServiceImpl.class | Bin 3618 -> 3618 bytes .../service/impl/SysRoleServiceImpl.class | Bin 9203 -> 9203 bytes .../impl/SysUserOnlineServiceImpl.class | Bin 2661 -> 2661 bytes .../service/impl/SysUserServiceImpl.class | Bin 13261 -> 13562 bytes pom.xml | 24 +- 404 files changed, 7852 insertions(+), 6724 deletions(-) delete mode 100644 djhk-common/target/classes/com/djhk/common/utils/http/HttpUtils$1.class delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysCache.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysConfig.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysLogininfor.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysNotice.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysOperLog.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysPost.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysRoleDept.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysRoleMenu.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysUserOnline.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysUserPost.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/SysUserRole.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/vo/MetaVo.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/domain/vo/RouterVo.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysConfigMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysDeptMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysDictDataMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysDictTypeMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysLogininforMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysMenuMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysNoticeMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysOperLogMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysPostMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysRoleDeptMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysRoleMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysRoleMenuMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysUserMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysUserPostMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/mapper/SysUserRoleMapper.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysConfigService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysDeptService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysDictDataService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysDictTypeService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysLogininforService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysMenuService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysNoticeService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysOperLogService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysPostService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysRoleService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysUserOnlineService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/ISysUserService.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysConfigServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysDeptServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysDictDataServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysDictTypeServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysLogininforServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysMenuServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysNoticeServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysOperLogServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysPostServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysRoleServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysUserOnlineServiceImpl.java delete mode 100644 djhk-system/src/main/java/com/djhk/system/service/impl/SysUserServiceImpl.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/controller/AirplaneController.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/controller/AirspaceController.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApply.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyAirplane.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyAirspace.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyExport.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyOperator.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirspaceApply.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirspaceWaypoint.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/UavInfo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/domain/UavOperator.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneAirspaceMapper.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneFlyMapper.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneMapper.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneOperatorMapper.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirspaceMapper.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirspaceWaypointMapper.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/service/AirplaneService.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/service/AirspaceService.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/service/AirspaceWaypointService.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirplaneImpl.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirspaceImpl.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirspaceWaypointImpl.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/EquInfo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/EquInfoEntity.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/EquModel.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/EquModelParam.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/EquParamDefine.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/EquTranEntity.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/EquType.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/EquTypeParam.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/Metasploitable.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/SysMenus.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/dto/EquInfoExportDto.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/dto/EquModelExportDto.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/EquInfoExportVo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/EquModelExportVo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/TreeSelects.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/service/EquInfoService.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/equ/service/impl/EquInfoServiceImpl.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/controller/LabelController - 副本.java.txt create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/controller/LabelController.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/AppFolderParam.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/AppOrderParam.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/CatalogueDto.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/CatalogueVo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/FolderInfo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/PlotDTO.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/PlotVo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/Plotting.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/PlottingQuery.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/SavePlotDto.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/domain/vo/FolderVo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/mapper/FolderInfoMapper.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/mapper/PlottingMappers.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/query/FolderTreeQuery.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/service/LabelService.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/service/impl/AppFolderInfoServiceImpl.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/label/service/impl/LabelServiceImpl.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/uav/domain/UavOperatorExportVo.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/uav/service/IUavOperatorService.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/uav/service/impl/UavOperatorServiceImpl.java create mode 100644 djhk-system/src/main/java/com/djhk/uav/utils/ExportWord.javatxt create mode 100644 djhk-system/src/main/resources/mapper/airspace/airplaneAirspaceMapper.xml create mode 100644 djhk-system/src/main/resources/mapper/airspace/airplaneFlyMapper.xml create mode 100644 djhk-system/src/main/resources/mapper/airspace/airplaneMapper.xml create mode 100644 djhk-system/src/main/resources/mapper/airspace/airplaneOperatorMapper.xml create mode 100644 djhk-system/src/main/resources/mapper/airspace/airspaceMapper.xml create mode 100644 djhk-system/src/main/resources/mapper/airspace/airspaceWaypointMapper.xml diff --git a/djhk-admin/target/classes/com/djhk/DjhkApplication.class b/djhk-admin/target/classes/com/djhk/DjhkApplication.class index 1d163978038a6eea3c42f78db177a2526b8aa318..a0952da68b2a1072f4d0ea41a4a9e63f0a92c3fa 100644 GIT binary patch delta 44 zcmV+{0Mq}Y3aknU%Ko~(0000tu?WTi0g98)0TvJDm!Rajy5^j^=d-)#yPvb`0XPG= CaTS*U delta 35 tcmV+;0Nnqq3Zn`L%Ko~(0000qu?WTi0fCdx0Tu@6i>2hgowM`-I0OBE4x0b~ diff --git a/djhk-admin/target/classes/com/djhk/DjhkServletInitializer.class b/djhk-admin/target/classes/com/djhk/DjhkServletInitializer.class index 21b8d0e6f5a8b662a51f0d6a7fbd3795571a7ef8..0c3a2be196006204b4829ee20bd702d1c1fa81cb 100644 GIT binary patch delta 17 ZcmaFK_L7a`)W2Q(7#JALH*zF00{}%;273Si delta 17 ZcmaFK_L7a`)W2Q(7#J8#HgY5~0{}%v26zAf diff --git a/djhk-admin/target/classes/com/djhk/web/controller/common/CaptchaController.class b/djhk-admin/target/classes/com/djhk/web/controller/common/CaptchaController.class index b6403a8e5812e7dfe702ba370896d5c05d4a3a9f..05a60a8f93e5c1104aaaee682a7260c44aec7112 100644 GIT binary patch delta 1625 zcma)+X>b%p6vuzPNw#NahXfWB2PF{+7%;d|z+)2>3E_|*&ME&YltNd)CpS2WU=MXHaEUTtpzvKUodHuS#mhBvuJ@r>_ zA8;+FY$noZQ%_Tf39JfpJ9k*r+N@@cQF}IPiAMz7V$({}Vx7%W+6=lqOb028w9#}L za+e`pMxC+n4Q9O|-68H~Lx_#sV{XHBV`t&eatj%U;b?hi7=!p^B?C&pABL3!0q6i@fCUGFvs< z9JaGVF??1!?PvThuX9ntZ%sF6N`ky%vD4vIUemnp@P>gEc6ffP!<)S2P)UX6ZHIS^ zLCth{mt79KdC!pd#r^>wibuTF>vFi93Wq6Nsrks^V?NP*>ad5sntcxYIgtCcXhzLJ zhdhTABiDJ|UNo7G&abcA5Knaa$#lx0haC=w=~WaYJ6ar$@R{bQLm$T!Rk;O$s{Px7 zr`0r@&-p@868AcNNxnLsZcb!kN-?^_YfIFoQ*qC4Ncye9WqdE?XA~22UT9Qqmo-9F z?>}X2D9CEQG=KiJqP)MBb}!WuO{TijZHeeIzblz)8Hh8-i~H%Wjhd5+;KFpeZGET0 znV(7}x@z0KOeP`0w^b}WFUCNV=Xt5-_C%(9z_I!)Ecd$}nH@|w0A0SZGjR@Ju!!oW zvp&)Kwd)dbzk1R+s=*MoUVHnpq@SqPe5;u7zp7DLO8*xofdoC9%+#0tOV{&32(ZecGWh!v?=P{p*0Sv}aXP$cYz@;KX> zG5G+)4pXd%*{)sS+L4kx!}E-Y1zl0}ONDFlL}J8!{luHD1fhTRm$!frTESr3=)sf>(s z3-joP%E)D|oo9Rx<^AFw`OiL1@}0aA1x(Kci^pfDP$O-dAw8K%H8)X5ElZd!FIOFD z=CFym^0v%l3pcZs1#*oSb5Ia{ER#sLNvsw8Km$M0$WJtJnpOS%-OMmSRZ7enY(a!1 z#|?7o($~SB8}7!eq?OyxFOqte9BnZ_O98W`ymG#m5^BUYh2v64jT}pr+}XLp1*PPp zQdA9ElJzoQinAouK`F3CQuWC!EM$=+UMvY4DEgB!O}#oJzh!GCXqFgJvsA9|(xLAb zVW9ksOl$aGpdo-D4MxkOD!!$*w7`tDl6IPrE*5UNtQAeD47ZA^hGniQK|9JP{(z4$YH1rFdFXOq0t_%`-f!curHw z^EQcHE-PJLu=W=W2GhmoUrQ#FAr`F&s zHhjkChA;TilCKP3GbjfHug6e9rC~nTDuxWhj3^Eo!iUHzMh#<(XZiv)!3o18hcmwh zrWYNd-*A*;4*rg=Hp6kgQJgS*%XbddnT5XUk>$ZZ9pey;B@(Ui7Kh5r9$lE(=0*yq z%3S2&rn=8oKC;{0>Q7T57c*A|BM+a=35RP$3d>$4t2!x4pDpZs!#pua0aJ#c>xBhO%6=pPKT6M8+v}@N`uBqdIbN zmP@i+>II{s$VqvdvP|=o^^69`neM}L2bdFyPGJ;@WkwF8(NkV~(2D;#if~yp5LLrm zKFrK4MUxaudRIs|H&PPSV_exVAPI(};VfliTs2q`nPt;f4Hc2uQJrPZ7+2@SK`Htq zKk}122tQutkAl*)C+%1)4OuF*o?7k^ZX?U+WI5Ye!7l3LrPQ;Rl^kFdL)^g$?h>5U zf^@H7t>qUQ_>J}a&IbPGzFf0+k}o(Ff?A6fj}S`)Ic%Febpe)JmXg1ja zI3>YumGsK^Swhx|&69ClC0sz#JkD*x1qJp9w+p8PbV5?P6ZzY4ND`}+P$y-E?v_%t zB#9&!I8Cu)jdMoI(u#7$S}Q8nC1joZ8iaweGt46VKc{mJ;%R-9{6FMush0BXj62d! dJKqJuHOgAQ0VgS~@JTD|>~73i?Ihk0{{lpX^ymNp diff --git a/djhk-admin/target/classes/com/djhk/web/controller/common/CommonController.class b/djhk-admin/target/classes/com/djhk/web/controller/common/CommonController.class index f72ae6fcaad02097ee9b30a6e4711afb9793e229..527cc0e2c4f78d7aa66782129a035d9b3b48401c 100644 GIT binary patch delta 2721 zcma)73!GF{8ULS|J9F;bIg9M@ST4~jgzoC@?6BJkI-4jg0^06MVht-1&cXo04l~=# zEC`|3EFa|)uNh#bXhmikxU|edpp{vfsbuz|)ZUg^X%91l4iGC9q6YESotk3H$?bc%$Imf;d^-8-E3am{e6We@T9`IcuL}s!VmDYfLN~ZLp-DKBm7uk?A%&1U4{1dM# z{0sjU2xn6p=BG2Mp5(fe!fQCf%jNRv)#+?9qt~E69F$?WP_I=epCpNcIm z=F{2LWzX}ID~h@NMkyu=1iNy%{=or8bY3=_%6Ddxg+hwQZEfuOFCXO;E=*=uW>SUe zWy6l+YVLKuagoY#Wz~x|4x~EVd&8|xWw|q%$t+G6Qyo&&37q_Yogh&Ezx6Pc{Ssi) z`7v2n2a!(~0tC(>4)T5C9D>Q1i%tsjJcU+ogC)(C1#UJn(OFng2I_GhvEmNs_VDBy!c%kUwZkx?9h-{F}+qJ+ua&E)kRJ*Vx#lwrIxTBge= zp*|k41CbMLV;CnTh^9s>U|O_f{7*1&cicDz0>?m*betv-m$n>1lfX9gYSb+7Frsm@*)~aaJVdS?O|~5>vu#Cf zYXmJmBy7VDRZzeVk>`pKv`vrbvbgi;Jvu);B@&B9T1#m25+Eb*wvEwZJJU95_jEg0 z6(`&BKhkxGUlc#XUFddBY;cybWLL4)2CyENVFRwmrML+jaVs|AZhVAov6(Slh9_}3 z?XJMnxYEnnCf0E`r-8295c3%GGG(#+7kIfadBPKwj4C{eG}iLe2{?d$BAwAa$Y8C* zls4c#tm9&khtBrWEP2fFG#{>}`7pB76UZ@B?X)aA9;iAVs5%~~`W^5ZKwEy8mb!)7 z;Xlgzni4algSSy(@2!6T}t-6 z_7meP1FdiLK%4otf#&FmHY;w}26fITSBY-NGfRk%o@Ja_5j#*FWqNuU<>_UNnqG_8 zamS`to1TnJrNkCauUk3JZ$k^Va)xbV+O{)Mx3iI)yJ&I;`}0nA*N*Dwno52)d7amS zX{-W0!)CD`HxmV^U7leE59q5Vr;k-qo?(6L%q3oj_Elz>rrm^p%6e~X>AtMAr9=4k z33fRZo$~jCds9iM{s~29l+ZDRy4@6nH=gwu2snwJuHf5;k9zrt5M4?6W85t_`p3mM X$`*vE6%#~+QMi;jB}j_!;Ztt`x)v6} delta 2567 zcmZ`*33yc175?wcn|W{E+^`H{d^93K0bw!>gs=@u1t~=Y6cJ*;3WE-~2;T9`}EkWFh+vM2oHtxWk zqQA?=-MGibR&29SBj0;1%(l=bC-1Xxe-J~E5y!U6V%9{vjWAXRu^0~ou@pOGc+kX7 z(L7|K!Ne{L4@*3|EhH^8T4=KH2m5f|`-oV5)WT!3{J4!L@MN2*s(j{CCZ0C&Ok2JG zD;1oA6HNS3<4<@t-Du67{hY@0ctK+dUQ{SvRK27++EAUWkIrgsjwkCUE{-?U)-{`W zN#oCWS>rEwMM2HicolmzUc>96dPCz)beMQc<85>(^i7uZCjO`KsVG0w z*oV(GzQBHkV6txMc2vV#@8}@fP)G>+yEE1 z#v7s&nwzVaPm8y-Y6hgV3VP^~@+w0iO8=vlRzBsI$xu%;z&&MJnaWD9wTC(Z8dSDi zsiHiow5f`;>Y}=~?XkzHA^z&7rn+RULdmgH2TuDDOvfmg@nmh?vXjnAKNl=c57+&? z3X$~8ZvA@XVdoaBwK128bcc4*x9bsY)*9^MFe1#3& zsR`$`{z#}tI}Y<8;`p-Y>G&h6<1iAlFdFj^Lp8>r0b|jE@mNk^&LvbU3Dl*8N1{B1 z{XdTDGYOWDr}|SfnK-Ou{IhVX3-p>i1`HUpT~I}ugG%DT``6$!RM8hv&gG>BPNy7% zQE~vMv!K02ZeqI7@n7)ojCoKkm``Z|z4J;sl%HQe57lIG@19 zL5t*pGqNa+`5a%UuVZ9zbY+U-FlqB8=P1+@=VgbMYX8Ps|Um@VWihgqD`BAm^2 zV&<93uQ;CCE1>N_m_=Ad*xYZ-_`ksF%W3?CBcc#99kU&S6*iz&q^QEf7!tF}9E-5W z0^h^k3FLvdBaYpUp&nE^h7-t3J}1S>@1LLf9m~Z$H{Eh@z2u4)hRP$MiY$h^xiCW` z9HaAeBoo(Zb(G`pH2qHE-XQsU8M$=p9Q5Rv9#q^rwGgfNC7+FR_^_?!GjbJ{@sU`L zO;~}usC|%y{|wF}hp(i8U!eo%yLnu}GM`R3C3yiXBrizvY&OR!Zh9to_G>TN(QN77aEaBG0Ov3X-!o6dFgmJ^Cqu3l=;1d%Ek&mtmwiOY>}(U|)JR;)osaR)t0zJK?MHhG%8r-;R{ID~p&EolAw% zm|eMhOullYTgPTGF4l?k$ZkCyUxD<5=ZqZB8J&1;9?l>vxjro?P{3MxvyL=(Ip2XR zNpkBM;D!`axREVvWdysT;RA;a^ZPyUyep!7J;zcL^xzmVY>x1Egfp` zfG^}lrG}@V(!W@!K!Zny8Y&B diff --git a/djhk-admin/target/classes/com/djhk/web/controller/monitor/CacheController.class b/djhk-admin/target/classes/com/djhk/web/controller/monitor/CacheController.class index f74b9fefd96aa57e522ac2779487a9e2d31c03b9..85dc9d2c7bef00fc8be7d33a9ec2ed9d8fdf5ace 100644 GIT binary patch delta 2431 zcmaJ@X?Rmb6g@Xd`(9sP+K}#~rIoUDNo^~uK`e_PmKKo$6$?U411+>kP10iBf*U9z z3J(<({QUf-C<+!!3yQcaD())+Dv0}nyQt`$_d-HjK7VB9&Rx!&Iq%MVIpW$qrhL!w z9lHRGBBz3J&=OFAbrNouaEFXLWvo|V#$AcH8~4cAAY-GvrXVLQvL3K=*=7Zg;86)% z>>zBm!-UNeIutmtO-4;39!IB)*%G!Z$b+UJ6J2%&d?FD~Vwa3r3ZBAlJ1lrs06iz+ zc?E@dK`dTO#7lTt!XClk72$bRWWUDN80?ktxQr{u8jA@>itA~ zfDdJSB<6i$_*lYz2?sjTXrMXnAi-6o9kr%*Ot&1g&?j11!hys}OjU6%rVw(qjq$nK zXk{w>6@Ye^E9N_& zfY)2&WuQumQz@P#iDZ=$NYTctX-$=ssFF%n0W?EcNdziVDVarp9%QYA`LF`LqviO1jE?DpwJK@~NWA%;wCmwH&v zqW%gh$f0er?v*PjTP$+4Wl0;%6*QnDH#w6ADU?fj1QQhzGMe2>yc7LCk2_S`7;0dP znfO9Mt;}BBvCeicb=27x(!kSH8c0J_tilQvH;ZAp7?$B0iG~Vc3Oe?sc0W~Xh3UnPX`HFD4_Jfq zF`Z|^1(?BCpi1+nujH&_>7`+jbv7dd?U5`S8c~CpoSla`n8lU}C8)w|)N<`8W_2O^ zExgXhMa&}(bzGg!Sw?JbG&YZ87jw+QSo8H0By-jRUb%y~1Rf405bBwei8*b}$P8Dr zOPmtCUyQ#LVJ0-l=!w8kb)X=;T(l62#Njx}$FrH|{zco6R=fj4fld@u??mAo=XMlz zVaOJanjyAR7!Z8mBtEFFMxId`*;A<9z={wjs9208oG#8Qlr=m}?D-#N&CCXnxb5L* zgV2IYc?UuBD%K~C=X^o46UEMOH=HKyM#;3DFwZG=mTbrAE=!grLfE7ePSW|+p&#ZV z2lI5Dh8s9h&iN6}jEw-ZH*vNdLAK0X6ORyD`K$C{9riFkL(n#zw$&7+ZIE9Y)i}tY zLSsiyjm65@iPG9Gl*L3gIM=gcUjBj$ba67Y(ol`p2Q_1!bM?LLK})Uq2Xy~PoK{jV;8n5;<4hS zDs7x2YuGTCrNlnmX&=#rk=+=B#deSMN z_=y)#YqK-UW3SQhlZvF?MUZhzgn%j82h8Y^SY%LAu qwF07iDx^Wk!h^gnZ&CL4gIl%& zC={=Ov#>S}#aO4|E)DB-+^ypt15Rv+$GvL`(n31!*YSXk2UXTX9!_gEuo0Uyw0IzB z_P~K=4Xp-J(WYZ&JlfHrqg=xl0~uIrAO)Qs0zMUwZFpM8ECbKrSq;w_$Wq}fJg?&g z)xW5KU()chfjn$igID6G;#It+VTYphx^lgtroXAIw-of-I^NOou7UUPzK%*AAL#f{ zjXsLU$M{6YPSx*H&8Hf6Yxt~1mw`_Cyd~GQ-z8s!Gvju}mtvBM379BI53i0*59b;a z>D!~>OA~wXRd~74UT`+f5x9%%>w|${qpzXVAFQgc4D^V_*KVw0_l=2f@tub6P5gi# z1--%#L_!kE?95MwWf@EuEjjwKg{Sy5kG z>#MV71x(D8RMqqkuQ&JTX)?e-v80DrB<#?OB|{BP3eQg5;4GGbEe8@)$P=-?h6aCK zr64anAgNz?jwe1jviDKs6Rfx8;9+F9l(<_&hD6d5TMqS{C;c)_86?>zZo?`Qx2onw z)m)3~T2>~dNqAoG$zzLoL%@Tx)b5#N!3`OHpisJ?49hhayFxP zC$h@hke%C#p`IKzt)S^G?L=O=w+$z^V@NYoo#5Ib7=#DKN~KhaK!%MIAwWc2h8nJw zN@;6R$85EECA00Rr{@GT8*n+(c`F2sGz0+zxq{-nlwyTqXk;qVt;qLw;1mb8p>bSZU?D9h=fvU) zT*)I+tV739cacRq!4aixlfNn|_%cE%!Lv^wxC(h&F|4c|g;B*L8>pmwehdn+Cc0G5 zj_x2ks(J!dUwnk>%CqEHsxKv5yEv}yu6ig+TwO7B;t7gfZm1Q*|EFi`Yu7_9;&|4I znJRN;N0}v9iptSv-nII&?yE1i3!XUs$m+>zbrxp`-V%$*ab#*@eJ(^2Pppeea)gUP zR!SR*R;2A&LeEhZ*~RV}x1k;&Cb0-7U=wRcRZmeTQp;o7(0@`6&um1IE6+31>p86* zr*~k06J>dxqP{NAD9;(~7;SrU^E#kAP_~h?d6~kyQ`4=-#jeI8>mgwXMb@LCu6Pkv zSk)MZ0$k7fb;6AttfbEs-Gd#w0Z!87V@bW#T`3@4g`nkhU<^MBXxhhRza1kic}#?? z9NdJPnc(A3Jw&$zC z)Miz97?Rc<2|89sUhsmn{0 dc$niH&U=KCK8nZqv#rfh>+y*71fIm!{{ZG+oq_-W diff --git a/djhk-admin/target/classes/com/djhk/web/controller/monitor/ServerController.class b/djhk-admin/target/classes/com/djhk/web/controller/monitor/ServerController.class index e0212d74a3c468ef356b154496cc78d3439eb137..0db3be32956759172b73ec9b23b0db17fdba9da1 100644 GIT binary patch delta 17 Zcmey#@soq&)W2Q(7#JALH*yrR002j_2Cx7C delta 17 Zcmey#@soq&)W2Q(7#J8#HgXiQ002j$2CV=9 diff --git a/djhk-admin/target/classes/com/djhk/web/controller/monitor/SysLogininforController.class b/djhk-admin/target/classes/com/djhk/web/controller/monitor/SysLogininforController.class index 525bc65f84be01588136b2547dba63ff71c37620..aa0e3f2f51eb393a933198fbb0b3d4f08d9d4015 100644 GIT binary patch delta 17 ZcmZ1?w?vNP)W2Q(7#JALH*(1E0{}k<1?T_( delta 17 ZcmZ1?w?vNP)W2Q(7#J8#Hgd@D0{}kw1?2z$ diff --git a/djhk-admin/target/classes/com/djhk/web/controller/monitor/SysOperlogController.class b/djhk-admin/target/classes/com/djhk/web/controller/monitor/SysOperlogController.class index 9dd81231235eb3e00fc9b31aa5275d4978f5540f..5aac27c45bda52e44da1b27f4cee6d8f2b105da7 100644 GIT binary patch delta 17 ZcmdlZxkr-Y)W2Q(7#JALH*##@0RTdt2BQD~ delta 17 ZcmdlZxkr-Y)W2Q(7#J8#Hgas?0RTde2A}`{ diff --git a/djhk-admin/target/classes/com/djhk/web/controller/monitor/SysUserOnlineController.class b/djhk-admin/target/classes/com/djhk/web/controller/monitor/SysUserOnlineController.class index 32168feaf6f724649322ccd49c9b4f7f1247788a..9f3aa4a68a78f066905ac446e84ccb3d6c294035 100644 GIT binary patch delta 1270 zcma)*TWnNS6o$V&l-cc>-D)~fBuGo8Kq=~gs9V$5XrUTd#^{r_5fuk+iA z11n44ojCS2u!$oM&Fre9iJLSx*D~aA3%fP9IwaYZqKiE#F5@=4xSHE-cvv&y;Bkjd z8%;4rF2xqct(AAEr(mNK*7fZYI81V=g9@%cni+_SIe*mf7>~y-dVT2$!vUT&te{2nl;LTfF+9t2hUbY5 zFYuz_CF{Oy-GjWMdDZY5uN&UrO~YHfZ8*d`BC<6IqA)7Dll@*a7L0_aC3&}&_YCjz zf#I-K`H+tkn}&ml%*gmyKC{=G|4IK)v(e#WK2bCjg3+A6CkpbOA9g6kk_k8OWdncM zjRtekm{?)t`cbG@9sgdJj{ECOZ0h?CRDPB!JnI$;1G&iS)XXbZ{jWk4P5+IfMTVRnvq?}zPSA>)LfZqZIuDxYZu#80IcI&@f7EAz7V&?Ki2=M*2dp7 zWJ?y+gO-nIpAfDWYlBSN1}>0F;CMCDS{voe${puIu@X3ZFT;MZ6qV*%`CvCw!zB_w zb0OBT5bKoKr4nlbk_hD<3l!dO+C9W*D zWo6e0b5*v7UO`?Jib|hHKi6>WLK!=R3$(ra>&2*HK-L61%cVDpb%XdfF2D!*LVQR3 T&zR$LmNF%Nt@zXOS9|{kpb!ft delta 953 zcmZ9KM@&>v6o$Vyz+8NDv0!0=2!aYCh`peqfDL-Zi#h zqKQjQT)CBniA#0kRuhTmj${_(<(+cRfBsYMJ(~9`C-$l3?R#Jd&usFjX-6(g70Xgt zZnFZfVx^6n8V}{H@=!^w5kAFg6RuONvGKFkq^BN#t#_lhq#^1Ll$3|V-YwJok*MYX2Q`N{tU1C_i;i(n zz#FV9nHvrJgLRr?9CtdY0kIRBlbq7@qPL<^a~el;hO?S;oY!37qUMruFB|s?R~6SZ z*SVp&$t}%o?r83E&myC3k%|U?pw<_*NDGAO{K4hX&^li*QmVPn1IrqPfPBxcNE zYJ5i1L%z_r_ArgO$h$*-WJ(*ly%|b5>u{CAvmeHpm9eXnHnvng%`MPlK71|p@dsAp{DUf01 zGT}a9dsi&`h3$awz9+Wt=Ry)*86VPCfRBXdpzsU|?PD2-WE>tnyCZYSGL)+LL@Y~D zEaOuZaSW+Af}`oD7?8KxFBjrex|`BjyFTpO7ln!Lqi@$^90 zk})BUb6G-Zr`D%cMYL#JRY$Zh)}>c9o4p;;HmBGIt;LM>_RIK1LV9B?*0sBbEv=76 z_1?OOW*E95VR%L34LO|7ZPKEx5#1tW3bK0$A~3T+eW88@dJPkOr1fJTPM;^sC}k?<6n+#1DpH=OHhxJmw}@r;|_ zPnl}+vvbonV~a@35_>5H&Fat?(kdnq@bMCILKWl4oOyW*{6&yO&b$kZ+x!GsaaXun`_mXEG(M?FSdq{Nf&2`$x?6L@EsZl?Dd2H08aCR3;+NC delta 1740 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 delta 2211 zcmah~3s@9Y6#i!xc81vtE(?m92_=LMyKZVF2Bj!vmWqaDK2ld%2_i&xB`a$+HG7%W zm_`pwduU~bt&O0jWm#tLvZwY|%d)rC*W;_snOWAwPrp7s?z!j8x##@nKj+?E(dQ3; zWY<5NwgNZ}e`>Teq@W+JbYV8G(r9 zPsROgX<}ssFAu0#$w5}J@}P=`SU$`#9^qv*d#_RPD2I5AVLYy4t%fJCPQjB3nkBd@ zf_35YV0}Z?wBY(f1Co>0OUNS zs+x*my@b>Q%bNGEYC1T7&B5hs@&$I_MS+*FQ$n_pm6kn7;AQL-*o9XFUgh0ucwOKP zyeaS&-WGTVyD7-NZR-v!ZH)(c7rO=CLyLqwV^Uhau|xH_-^We`AF%mDfse4qkW;*= zdpX$09PAT(Y80j9tDkYA&q=9H$uIZAn+B#lDq<6;~*pbMgkOkD{u(k zMYp6BOOEgHgYlQv)!7d}O7I&qwBFHSF1MsP19f%5+6oCi<6qIS^KsZHGRBHLmjpFD z!)7UZSY%2aU6sM`s6c(NHav_XID<211!_Xk`DqIzpReceBeBY+RtKkri+UxP+L3Me z-IHBE3H*%T1ZpuOy3&23WX$!HMf%ae0}^EJHp%{^IY}0hR7uhx&{{;ApCna{WPKx~ z^|X;uOe;GBIXH_}VLRY#3?xm$Ae4|79}bdqkWAM%KrU#7L&gZ*Yr+_rp+q>0Mh<`% zF8HiaIktN&6dlB1455%NN?3|>$opLK=Y+OpC|MYL7RmF-IxK|qaRF~8Knh_v?M7fE z1!XjINHUsSMzh)2osnx{NVAOnDOVx7Q{`NejUzXXBNt^DMZwaMaTE^Q@;^96<3b9W z&P~!3b zanuo;gT*8{UTLf&E}7nn9{Og8aT^gy^`x2TP+-DM!jn#m36F`4<^tVBriqSv>{urm zCbF6-ki!}W50YqKhE$BEPL|VDjY$As8V6q*>*sjuq~x=jmrX&e=0!r7fQf|f(hw$L zau8Dxz*KT&_UM|(m`0ll`j=?5VkJp#I?iovBHW!vFhFlBQe+&f!c;P9UpC8(FzWk)=~_fywk(PeBK&up5%ppyQoFc+6&5w5@zy0k~8u_?}CQ;bFWwXlXk2J@-G@i&SUOxLs9(;A|n?ODBy zk{pB8i4v;gx5Xe*c~VMZJm$%ijY>SlM1FJ3)-z`7m0)A$W1scJ!j0is*%7YB9_W&I zH6^iu<{FY9XJ%OF^V^0ZL}au_UqjTi-SGCK?$-F3qmO*uXLB@?g*+D~3Kr^S1m2~M z$RmT#)4K(Jd+bwbxKH);u^ZfizKu|lRwK!=mJZwFZNGMf2_s!-fhGrfH0rD;is3uq y=<66HQR11T$*8wV@z5?rdKd+5uxH^{GVt~P1;67kUGF)h^SgE}rMwOi%>570=A4xP diff --git a/djhk-admin/target/classes/com/djhk/web/controller/system/SysDictDataController.class b/djhk-admin/target/classes/com/djhk/web/controller/system/SysDictDataController.class index 6cb2cdffe1f261c3eccf75dde95397db21f5ed78..331ebbcf15c84b8e9bac380d44b814243f715267 100644 GIT binary patch delta 17 Zcmcbvab1Js)W2Q(7#JALH*)xk002h*2ATi> delta 17 Zcmcbvab1Js)W2Q(7#J8#Hgfoj002hs2A2Q; diff --git a/djhk-admin/target/classes/com/djhk/web/controller/system/SysDictTypeController.class b/djhk-admin/target/classes/com/djhk/web/controller/system/SysDictTypeController.class index dacef4e64edcf8c07ee3f7c78963f3152a5ef139..752f883dba129e07911a8944b941b9db1a88ce96 100644 GIT binary patch delta 2083 zcma)7Yg<%R6n^)h3=GF%m;^EcMj1eca0;kQOiRjJkQJr{WgXzeeTJALMz^D;cD37> znxz?KcMZ};q1%`G((efWM9I*LCyzH21_u zqP>It7uOV=^CUHYRf!K5aY>=!>hY<$$uo23Ps|;@Qmc|PzRGfi(h+^gXpP5ubaVHB z*-tHD>M=8+P?J3CUmk25)W`McupaA+c9>%WvA&k%I{)8=4S)T1;p(xO>}1KN!XuU! zKgtPa6vCOnf!KI_$Z+GGTATGAGd?!q#ZL;kZSnZf-cbc@TP$XbwGQivgh2u)S7#M> zb2!b~s>gbVjYQZ9Y{|G;^CUA+bV20KiBTiVf8M<-%YR4rpwVNt)MY_#idKDixMRRH zTDOzs2=Vc+Wikfaj694ewi)Fx&WF3Oj+um835z+lD9_^9T4)Q= zR!d|(?RO`z0o5A~+=F}PX>UR+^Et6zS`@OGI<4Jkvy&QN2b|7|wgp=m zBQ>%*u`R0;+wlO6Ub(e4Dhlm*Q1VlMfl~4{MlK{L;tJ_Y|QQzK;|FjXH( zp(ur5#C5vCgA|reF)YWvd8d)vv5e`f#+-5$x zh|3-xYJSF^UOW&wx>-dAVm+M{rC<2W;3i8gyIgQv)1_!bl5pXNZ-|jQ~N~rW#!a?L~C9M3EnU6ys tUu8d04+d;&klG;kL-caq;V`an@2en?!YnRh1s{u~@!&;bFWKv%e*x9!TkHS; delta 1753 zcmbVNTXR!Y6#n*!ZPL@7w2ihER1z$u_S8@>5ig)9L{Y3oMbQ>SqOGx|mfDu$1r2EN zj*16CQBhI61Fhhx)fs*9$r;B#Vfh0-I^+1Qy-(A~z>MQV)>?aAzqR%{JL8#OyyCBa z|L_xlET&vsjA0iGF;Yb`T8(WOljHU%o`~W}7nOJ_hE>9!7UK>vJ|ohzQ50PyFdV~9 z;k#T!@mvhg%VAvHb_;ny)GtcFOLBZUhF9Dss$LbGcUU2QYX8K{;X^Y=56tZTzD46OKGFCTM-)>2R6Nz8@fnV2e2y

TjX3K}N`@OKDK{O%ri+{*mWQ14)m zLdO3y-W&^&Ec187o2wOKqgyRPe_rA*KUXte;4l{QQUC=<+9q%2sgis#c@;UwLfXnx zJGmmS@TQ<9DLC**#TiJWjZ|9)T#5`&3QHK|pw-`8x40<22}DR+aSkJE7$GrfqpJ^N zfO=ep%Nbk4%u8?udfj^JusBf&4BuWft~o+{*kG_HC5b;C6bq`oAU92C1Fw3WH8+fD^Ej z6{!PvFy^#Lbe2tGE$(DUR4(l<3JP~)o#dyyhg|aIypxEuO(X7bQcd2ENOVo1CRrO4 zQP&nA8K5qCE=hp%0@P2mc>x*%GJGBE=-(eXd8bG&3`@`#33>cDTk4?&qP4KZWl9+R}V>arTZbnC z8Ml;yDqoV#$cIZJix`ggq0_KDj2=4KJ?ynhQ=HqHM^IoH!LyuR@;xL3&ool%jBv*I zY-~4h>}!w+uYLAwI17kJ%Ruyj_4`Y8yIEi6P;2X^6*@fLrJh?nJBXbe#ICYI)P|Mi q4`mBq5>Js<O; delta 17 ZcmdnNv4ex-)W2Q(7#J8#HgXuS002J$1?m6* diff --git a/djhk-admin/target/classes/com/djhk/web/controller/system/SysLoginController.class b/djhk-admin/target/classes/com/djhk/web/controller/system/SysLoginController.class index 04007b132836e736f70903a57f82efefdec94e84..462d4a8e89280bd2686556665bc09141efa6d386 100644 GIT binary patch delta 17 ZcmeyQ`AL)G)W2Q(7#JALH*&lZ0RT&~2W}7ZZZ*t#05uM!qmViOt2G!fF*3DJhLJa${kKt`}F?8b{5eFE0a8N+nj6gsO zX+fo>Qq>v)bs>2mA`%WU97ZogAC3qZ;|=JYlDqm{92D^$!%-Y#c%K^|FnoxQBz(;9 z2@W!RisKBQ;d6!)_(H;$5>7IFh20Ea^Qpg)@GZl4Jm`BK^aFm>+wJ+%PdLKxGa23X z{G?Mjec+TmCrNPYBW*c)nk`jdoKleGz#04^pycA#t_yp1{=I3(g^gRr3i=u;Z@7T$ z6-u*O5%7BzZBe7vKw3ys{91@+*DtXGp5{t{4dRnrJz>2qGz^h_fUpD>%w z>EyjBgc+#dN-cyCZYJ#(%%q}x;0iim`gQ9&c!@Z1XNlWC!~AgFixY1r^jK;jrPcmVw5k#$UXfSQ>k_g+I+GWM4|1X zudHP1UdoZVBS`9nWJ9HXF10 ziVqI&P zUwlmzd5y*S9pp`h%{AJ%;XEp5ZBY#t(JCws;Z7`3QA;)Nrci#O1FfocADc~a}{KP~HF%cvt zG=wYZ*RvL@;6+>9rU#>p1mhSPfF##wS0W`!0wv3-))gtKi>_t6MM;@^ipfcV4IOZ} zons;x+hy@oX!(i^pXGGNGxN*A ze7N!3JBxOqfiT(7XcXfAAvBTQOgU4{Bp=R^!$FSU@CVLfDAtfY0s{~x-&#XHX~<^` J`K%$g{0kwr%)@v_dsM}x^@ zT0d^Fo((2#+S#Z}J>g}O$&)(1+2Sd-Sj)uRYVkDNOrFsx+x5?9bvawRJ4|-!$Sy6O zvv{5@ChgkUt#e+`Vvos-I(M&jUNU)E>sP$&^YZGEb7Q=b0tywEbA{qH_Ir6<@dh1= zH#wkqi?#mE5rd)SRpIiL;fm7m+9t(299A6VnBrZc2BTM$wUp)6l+{+| z&1-I~uC1K4y1J$!+-NZD;;zmM`}Y2^ZO?_RJF^vC9QTsktvErCLArffrCW;k=uy1S zNxRC-8+VExFQ*kB@S)-(?R>2Ggij4}?KEF*zTz{T{yASL&hVw;EMG~Z-%lO7xT8DX z=xg>XzR~EuHOR5o`*M7W@AR7Q^_m~}(f-rSGJoQv;+#06le3b3=9i;0lE)`mL(1yw z!?hI#A^R^iX{d{4x#4-Rx;91+9ARU&mVq;s`M6-(e6ri*8AE!Rm_ zk$qVhQp7K1#V&iuCI-H=)OE z+%7e}nuG0C2FnggNRhZ-cAhDF&u6aFHNYVGR~YYF$b1J`3OR09KUpl`ZXs!wWNMCM{|4@V zj{{r9U>ih)`T4TsUI8Ct`>e}$t0p_xO^S!zWCnWhE$reF|L`dOV3br*{t+UgjEpj> z(?3Rnmqr=ePDreA#~J@$t1jzX6%0h8q(w=0PF9*t@DOEUr{G9(W^$~|53;#oEF#1b z;dCkGEN3NU3FqD#XQ$OYlZCQs5S~zhGXd#R&7HDEES6DO(!_l%4YQ2Ma;b#FiCi!b z_lr|5pFu@0BSwd!J zn@ePoOJuHxNIO=*ABYm{bc0hoII)lubAwa+;fmdu4T5VUBiJO*-)6ZFTN0oY#i10r zZ-F}#BT^kC*|C{epr4-Veo$7(eDyv>v1cNFUnIL!#-v7|dRXOD@{3g~eqDS`{Xf$a BT8jVx diff --git a/djhk-admin/target/classes/com/djhk/web/controller/system/SysNoticeController.class b/djhk-admin/target/classes/com/djhk/web/controller/system/SysNoticeController.class index 4965dc74ecfc568f0fd94437af2ed160aeeeba68..907f7a027b6d8d6df390025cd70d8b0c3223bf81 100644 GIT binary patch delta 17 Zcmew-{ZE?X)W2Q(7#JALH*$RA1prH*2W|iW delta 17 Zcmew-{ZE?X)W2Q(7#J8#HgbI91prHs2WtQT diff --git a/djhk-admin/target/classes/com/djhk/web/controller/system/SysPostController.class b/djhk-admin/target/classes/com/djhk/web/controller/system/SysPostController.class index afd4b488a53a2bae0d7cc1903ea12d9ae89472e4..ae5fd23fead3459b1f622d5ba40667fc29f7af7a 100644 GIT binary patch delta 2049 zcma)7>t7UQ6n@@C*>#y^0RYv6lIQG>}GTu zZ;>h5J&Ukx4O08o?^pjp-<9wE1O9s6nPGR@_~3^<=e+0socFvte>PocHvhUhe+j@H zxD-SchJsjw;T0r_0_;Ij9#ejd`0;!Y`4|mAm)wxXF=-r^(hEWO@nQ+n?3KD#q;6jc zgmc_4t*=VmYts6934GXFf;?&Um*Y)oc}tSFC3(k>cl|hccKS?UO$2oc-jk#nHGWJg zcpo1q_z)inM67@EBG$nb5i^311(Yj49ld;Ua^djo!sLts3x^aO#t{WaaZJG{m{Ra5 zjtdlZq*8`%jH)BunlYH_*TebvEPxXVPGVZYDV$dDIi>>mLcy0fuHY+tt>7DctKd7F z3E=wxeo!zYl|M@5EPkF0j`^%uC{h;0Is78fvT$Vf%IOnMLyf{J2v%1Kl2S;C-)9yM&3O|Svs{i= zdiNK`O+V5S)Vx65kUFlmCe-9WYdkrg8rE8SjL~>bk}jk2Q7uFNZU~O=_|~q3Lx_U@Yrqxw^=4DF zZrMGg^%=3X9+eBAQ%xj#;)WLU*+`~19%#Z^o&=(3rdz$$9&RwDb0J>= za3hwX1!3F-8B=5HO5GTsl=c?JhM77_A0I0_nH^0VHMP`~liy6gTXfutb}95i=(vs2 z?R?%WOQ$K8S}u!3t-r%{qQSZvE;nV>c1NA5T7x@r7enc4*Y}}-oyhumC_@l;BgRy+ zlQO1uY;76aI@)AUjnv#j`+6Ps;yw)<(6QKKC+=r@*<(n@0~9ynL3-C)r;2Lq**Jsj zuxBD`fD>@$D5Xu<%$OY94|#Auj4p=wLXG*+guD(d=_`lv3OWyU;v1uA$`%#IK%R$?o=?%@?Y zj`i5?LDQW<)9v2yql{VxUuA`91FL2__d>VkOz|-e4>rI8xvD)pY~xR`$Tfj1cYrK~ z@j4g33v%@$$ciOFss!0bkQ%`Z5M-Pnhpr7|F2?OyjP>@a?7$OCgM1P@1n9Qy?FT{?c;+InFsA?+T0ck$+PdcpR1vRz^~Y121sdf;D0Y<7?U delta 1755 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 avv^(r@jiz&pZBg$de^Ue*Kc^&qyGVCaC%+< delta 3591 zcmcInd3;pW75>gl!VE8$WSDG#Aq$YCP8M807|VsX=@b~ z+cIi_w$xH3b`gW269S@E+bV9YRqSeOTS?PeYwZ$Swc78z_wq7K&|m$-Kjtpy-h0k> z&-u=|Zw@bfslk5o-Te;%m?Y;|n1^l)bFptYo1P5p#{r!_7{b929H?;Y?&i|p!KehRng?>Htrt0~32L6M$RPuHh z?}YGQ3$xL!!goV>FC^%iE^mYaB3&m8pPN2r5f&Q>u)*n=ACjPvG)XryOhWP7GMns0 z5*C=gjxBwg9_YQJvv>1uBg4fKWM1C9zIo!x=GNsC>sPfdH%jc|Hv2t0<8o`L(J3Ei;+~F!NHfTl+fV zTe7pGM)D=k$S4_YWQ?jUiZ|sH)fzcY#RW3fNTC!NDV7o=<7B*%2~tWEuROfF_x2v& zM44_Zm!kM}Sq0M;;NwP4lDv?dY-Ezu7&%2I8`PsAB-DJWOffQ5rWu@tx{ypaGDBwa zX4onyh`%?gV4;y&YIC+WbL2E5b7h{9(`CMqGqgEV&N5Ob^+p<`J|qhS8A~r~S$ajw zvbvTH?FI{Rc1Va}p`2}Gkt~jvMJ5LurK#(Z$ZG*>So7-DEv?H0Rq;o&OT(VqrpD{C zOEU!FwX0lr#{04_>RO)@k*?lcE7&!5^v-~d5|UsZ^CTSsjVT0Ya5jwnnd}34qaiZh zdx(rK8X_a=6j_9Ga)@mswNFH?a7g2^Zpa?TUK3lj4jhkj*cx{O&c%7036|h|qH2tH zj4iWuZzh6lXCMtTk%d{#nPNwl>zx5|aRENTvsu)<1Q+uBMV@9?axo=(>wNZ?a9?vf zF2zzETmWguGLBmCNj1w&+i5DDeQ_*aUpPUU;%$Zbwj!P6ihZlaSdPnhlv^G90b~$~ z+7BWR7FOVLs!}9*RPC-^?5|zHHN{j;$x5zY*^XAMYQbu>4Pab@cB)s5BigZ+!*y8C z-Hq{_q7xn8SUd-U9*HK$FKS28xW3fURk)hxQtrMX>F%GxH9W#PAow%~f@^V|+Ti#x z_NuQfwim&Q9%KdRoAI#&h%D)bJu(_iAiE-g9Cp!MHVNbKs0H5LHv-}A@H{b}_$iN3F>-Rtw1`xC9leB}#SQ4ZQ ziWc|4P>>a45@5VP&CNN> z$ut|+VTpLh7x?+33xDR@~(dmD9? z@8G-;ZhXs2mccmMRD5*WY{Jb{u53;T6cNoZRk9NmGJ5Yaabx=Dw=u&U9k9eJjxWycSQ1@$I<7H+$!xS+{b18Cw}$tz5P2g?(nsR=@S2 zMwkMbT2_*w9CV<#4^XBDz>?puuk+|##|EbNS7eiiAoGAdPhc<5@ZpaF z*f%g-uoK_(*pOq_rqI%*#LMqPiMvVIA(Ti>q+Lw=0VZ|~Qo>E7d+{wVTnl*5pgsx_ zH$^IYaB7gG7{bq2lN=H8`5EzEQl7`R$y7HUNlg79Sl=PQ?j_FY&FHe0b~k(fV%p!-3bongzvH-d69!)P~CFG!kSw2{J;ujeiqzC5TE%OTt|3W3Kivry+*>(V5I({RrhJSn_Ac9w&0f c{S0wdui}XZh%W78@ z1n>y{8w7{|NspgiCTTBObeR&MMV}9AMU^drAX9bjBp=hn2-8)krOpKdJejSu*IJjf z5#Ma9!*)S<*j_NQgAP0T5&eptbUHH#ug+M^)?w!$lH6gA%DVd5jk((EuCu>U3whcL zsjNp3$!s4)iZ+(J>{OjSP4#;C*_)^Pc!o;)Xwz4lGZooczMd!x!Y6@<=xj~imx{f= zEf$8BX9t?M#vDyD?f zQaCf6v(l1Tna;3bgtINqF}#k~TfD*WM$R?7i8mWug$WjKF^sCQTX|bLC(Gj7({a#n z9;0^{-pRX&WQ8Dx=8GC8Vv^wkF0^>J;XR6c5f>ZY%O!^Q@qWXlEEFTQkIM{~bA{mp z8udyR8m{7M!v}f4k82DcQps8!JZxCSb%u{(@VZWXEG)KeOo5ReS39EdBe@0R1bYVd8w36a7XHZyPI%{^xaX{?VEi>)W9m?$^9X=S;^U$+f4=>yG ze}inMul`$#ho)8>4|_Tuko3G-v#^tg9bYqioo^bx#f1j%;h@F0l@JFF-o`<@DzgvY zwLi@KHjl`;wrEaK{`8{qsrjYlb1KS8^2bCfOUtLai5XT@9I2?hfmmrD&7ACWr}~e# zhqdcuS7)VrExu>JkyQ{KDwSn7ea zQ^Zofd@0}Lyq(}vj_DF%G! zoa?N~a%8PzYk<}$!*p4jCZnuEX_WOcpzcJhGy-gUBoE z{I~%(iY3L?Mx42G6%va(H&^BqWv)nWlKGp%xCLDWz^%Bg0ru^fC-z;~cS!F}+$Gvm z?5N^YfNY0Yb0U20?#S&A# ztiM-!DRHc>{#*yE>Q{*V67i8FR_{wh9dcnisPAt;y)*%}Ei0B`xhC80oztbXagQem zs)=YRJkuE5Jr2fW2*z^jhtEOYxW}$!u2|IUoh0@fbF@N64`8K}qkTEsB}cQmo<2(L z>)vIdKUN8Ilws@Qp4JHk9+Y)ScnE9c=Rpb1!CJ|YH_j_p@~}v%?4w;zj*hjk&O#eY zUKJka`{*%YTatx@39mb0VZ8%1Lk!2r_*erOJz;DJVRASoNf8M!5MYvvkIL=!yDR#z88vJ7{SuYVjw$8UBDEI%Lt^rrIt-}Az`U5vK_2lnc$?txMkP%^FQGLMMXIniLwK7j zo6$#TS|Ai0C*+$Y*zbuJkK8 zJikc}hczVbg2u!-dFw5O5U{`R-X>ZgBq|n?%)$mawVSX4n}vN_5>izi=W2DV@>R)V z3*H}4aD1|Ank8!oo)>ShHN!VyEOND(n(pF1xZrviHO5Fk%(_dBKs&tA+?JY!-oA zsB2~a>k!251i0C8xY;tdOLnD7TzJ8tv#(n3V*9#Vphjbr&)L{Lct+ISdbiiXY`Mom z_jX^y-s0vM+OT4N*MT7=_Ew=i^b7J5k8V?Db1wG{ZhB5xYGw)OJ$iaq1NZ+3Un0 zPeh9bkS{a``C_bw?g(}EUF5;pNj-uW+aHBG@)G;UP==J%wmmYPtH-?(N5`Fyju+EW zv0|ErAr2rf+RGKCW!1eB^&#L&9u|o*WB@$Jq?#osR8gx*g>BblZn!h)ZCYg$uKakF zl`H=xCqUzJNut&gOS~*wuJ_VUJ-SCndm-7rR4a)~4EGUmRCw_XTH#xH1bpXk!o8?+ z;t}V>A_j7VJ-cLeGj=pj{A+R^8xsGz^!DQbJW=N@GBn2PG(B`7so`UE$1iIHrEfOi z=LB-5#et;Z4ZJDy>OLV2i7%hG(*63t6eT_ML*%RGQYG+c;c8e(8Vm z9cS*dEfw$JU74?vUot#_!4!k?d_94|U$j?wLVM8$gTjUP#kvO{IDyFjYJ4c;---*j zEc}jd$k;D`()aTn9>6L1LB{8y1%4FVKS^?qX^(yeXn2a~WjJk?({^#%o=)4#Y4aWJ JWIy}S{0}@GU)}%! delta 4211 zcmbVPd0f=h7XN-{fZsTC37iBJkwp;_P;-fLOQZ!gDNW5aief~|fEX+*b2KxpwC$%B zmZnB(o1xeUZe@FBy`{ys_*Mn&`QEFnx7N$f{rzSJM0}smdw6;FKi?Yon+t!}GyibmpW02}UmpA$-??zm z4FlhM@I3zG1?coJiqUSy(9k`XtYs$;-SoJyQI=A9LB{L3&Mtbz2+!ARy6CwC4-=WB zdtJ3kH}TD6gWcU2fFmxZNXs62I@J|mnjWPKZf0mvPl3!{S|iiN-dd8S2iY!Opa*^Q zC&$fP=ILHvJ=aew_t(7(wQPWk19dw{O9tz?0d8Kzd>1d)l1ubwi2e)}a2Ilz3l&~C zWG^Bbq2u?JhJUG69O-5OM;RZEab;t7Ub4%gSwv<2k|LwTcrtNpUi-Q=G!72B#@b=M2S}yk4<{Hz?l7Qr)}B z;LVC<^eN6_x#DcjA+pTvt}Jsze5b%Iyp=GjD*ZKM%KQp9qs-u3#oJh+Sjj5I+gVM- z7gko*_-m?5tBQR!vn$K|aWVAAvnDQ@^Wu4j;+>pt@Gix>d5^&biuZD%Vt|VjZorKO z7c1VUjVP!rALa^!D-|Ens2}BHijVUN zMU$(Dq+3ewDD6MDw4%KK#G2|k73GEV=FBbg3DVe>HTBJ#*4r`5R$R?BicfMXk(S+D zxBbM<=fB*$;&|^BqQc}&yDRY^nZJ7Qp=bHyoJ~OjY zKM+4}HJnOyFyU>*cld$gL9S5vT=I>d;}f%U`b9is7NvjVH29HuI%C|;)1<@!QE=!( z0OEQX#YkHstwZzYESd1*ESWI3oh)9)a=_$UZf@(Dm_0jW7s$aJ=_{E5qHzmum6n)` z+r(eFd9r6#K(9RyPWg@$WCe)BC`%{Zk|l(6fCN;aQgq`4@my4i{_UcpE!&c6k?8#- zN$VGBjUV%HhwjV({kT(l^KqAUD~r~Ot7vJ{bIiwjWm*`#A_B(1gRxSduR7TPSlHWwuBHGQY@=#pr#X z4@+==81_;;Aogw8%cQp)56bFtb82Q0XPX-`y9abkN6UQy~>#Jq`6XGLEteS06=i0C>)T_d% zSGPgEMl_zpQ##nDuXnFGtvSA4P?eywa82*Q&apSL2X830Zn!MutvR+O3&o<2-g#ob zHAb~ET8pQx7=7J)hs3BZYmgNqox5}l!!yDh&9IFTPaClg>qRe0+Gnvr?D{ZV=Bs2~ zm{+!BlSrNu-4Sqpj~NCMPYcDO3`{dnCnG~{Y=_luK4W60HRH5r3~aG*CySpDH@Akl z>G0zPKVHO3;-fPK(#x_)$h!`&Ovg4EzlwUjH90p0(mG_>VKbpmR-jkT9t@ba3j@7_ zf*70|#6{A0^W_u7#X($BFQOrh7+Q-9b9Ta++k{~biBrdF!_QC~afaHZ9jXN^cO%>A z*#>1f3iM&hJo^pKnDuO}vDnyuJ01S!~@Qw1E|B z55-=C40g(o;w>EH@u46e4Pn310jn28Q4_jY1HHpMvqzuQHaQqAf%rdi&{pk#$U#W0 z?>TZXCLH*&Z3Ay^?~@iN!6vDTbrRyu!nCb8B-Hy^Q;tG7aUjeHsps~w8*&atv?09S zkeq=?{I7{@!(kCW(JanQvPzRp=OGdBLqf3*Uk)M6Z*~ygFyyydA=@N=I|8{P1i4>F zkORWv_CUwC18U!fpGvjHoavL6Q6Z3u%*!?<&-4QFou-{2)kNe$F@xCjsXVwG< zhDPOiuk9N|*C~14-nos)s)egt)E1<4i)unDCHoW219{0(=a1y2Md~~-A%bc`q`DV} zs(Ty?Eu>C#mpfC}dHasm?+075NhEficbvvRM7OE%#u-Jv>lt&St;u$EzRepXQs?Cj z@}9MEWphlzp^H4Fzq==8#?Hgnl8001f^Q@b-&%RFZ_dof zjx$3$1~PF_PJw+->Q_dHNbNK7p&X=eMh;2uBYX@;z`-X1V|iyf}hI#e|d`iEZ(i(r?N;FgF0Jz2S`e5kx*Y2mk;8 diff --git a/djhk-admin/target/classes/com/djhk/web/controller/tool/TestController.class b/djhk-admin/target/classes/com/djhk/web/controller/tool/TestController.class index 2f6862d080465ceed4e120636a5e3426ae1401e9..67ec2873a8853eed6495abf791249be49e7fe9e6 100644 GIT binary patch delta 17 ZcmeyM{6U%H)W2Q(7#JALH*&lX1OQ662Uq|A delta 17 ZcmeyM{6U%H)W2Q(7#J8#HgdcW1OQ5?2UP$7 diff --git a/djhk-admin/target/classes/com/djhk/web/controller/tool/UserEntity.class b/djhk-admin/target/classes/com/djhk/web/controller/tool/UserEntity.class index 92c53053a632920e7a64a50769d35e195388219f..5f4d1acd2944e42cbd51549eca9688e1d7415db1 100644 GIT binary patch delta 17 Zcmcc0dzF{t)W2Q(7#JALH*%b10{}#V2G9Ti delta 17 Zcmcc0dzF{t)W2Q(7#J8#HgcS00{}#G2F(Bf diff --git a/djhk-admin/target/classes/com/djhk/web/core/config/SwaggerConfig.class b/djhk-admin/target/classes/com/djhk/web/core/config/SwaggerConfig.class index 473d9ab57462a658af7b5385a417d9f5a9b7d3cf..bfe74d60231bc82cdbd64caa05724c95c89aa7ac 100644 GIT binary patch delta 1642 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 Av;Y7A diff --git a/djhk-common/pom.xml b/djhk-common/pom.xml index 855166a..40d41a0 100644 --- a/djhk-common/pom.xml +++ b/djhk-common/pom.xml @@ -35,6 +35,11 @@ spring-boot-starter-security + + org.springframework.boot + spring-boot-starter-freemarker + + com.github.pagehelper diff --git a/djhk-common/src/main/java/com/djhk/common/utils/DictUtils.java b/djhk-common/src/main/java/com/djhk/common/utils/DictUtils.java index 91fb12d..87a9d29 100644 --- a/djhk-common/src/main/java/com/djhk/common/utils/DictUtils.java +++ b/djhk-common/src/main/java/com/djhk/common/utils/DictUtils.java @@ -207,6 +207,20 @@ public class DictUtils return StringUtils.stripEnd(propertyString.toString(), SEPARATOR); } + + /** + * 根据字典类型获取字典所有标签 + * + * @param dictType 字典类型 + * @return 字典值 + */ + public static List getDictDataByType(String dictType) + { + StringBuilder propertyString = new StringBuilder(); + List datas = getDictCache(dictType); + return datas; + } + /** * 删除指定字典缓存 * diff --git a/djhk-common/target/classes/com/djhk/common/annotation/Anonymous.class b/djhk-common/target/classes/com/djhk/common/annotation/Anonymous.class index c6c6d13d5d439c18d176f08d4fa67fd848d56d64..8dc58acc21803570c749f07de31296ea46fb394c 100644 GIT binary patch delta 17 ZcmX@ae2AIj)W2Q(7#JALH*)M^1OPzG27Ukl delta 17 ZcmX@ae2AIj)W2Q(7#J8#HgfD@1OPz1273Si diff --git a/djhk-common/target/classes/com/djhk/common/annotation/DataScope.class b/djhk-common/target/classes/com/djhk/common/annotation/DataScope.class index e1666906254b5832d43c537fe120d0fddda6f2cb..8f7da05e65a27a746db8eddda94357f6f8997cc0 100644 GIT binary patch delta 17 ZcmdnPvWJD^)W2Q(7#JALH*%OT0RTT91@8a= delta 17 ZcmdnPvWJD^)W2Q(7#J8#HgcFS0RTS_1?&I- diff --git a/djhk-common/target/classes/com/djhk/common/annotation/DataSource.class b/djhk-common/target/classes/com/djhk/common/annotation/DataSource.class index a787c69e40968fccf57b6352e5b30f0c3d0d5abb..333e913658f32de5140fe108bcb59b71e2c3d00b 100644 GIT binary patch delta 17 ZcmaFQ@}7m`)W2Q(7#JALH*%yi0RTnh28aLv delta 17 ZcmaFQ@}7m`)W2Q(7#J8#Hgcph0RTnS2893s diff --git a/djhk-common/target/classes/com/djhk/common/annotation/Excel$ColumnType.class b/djhk-common/target/classes/com/djhk/common/annotation/Excel$ColumnType.class index f44b90d8a13cd62b468647a823467dd1b8673371..1653fef7fe7a28e27f29d19e262ad69d246883c2 100644 GIT binary patch delta 188 zcmZqVp28h?>ff$?3=9nB46d9EEDXk63?>Yw>p*u{rZFs4=)qzQklWS&3PBGBdOMW>;ouCQTLwO`v0#81xwQ!L$K`A(%E|5CPI$ N42(caj2MI+BmtcN7pDLK delta 180 zcmW;GNeaS16olbFX(6!_6bBqgK!YHNphn{m$2c6o9LY1ZTMr@bTzCNQ;8n!5oA*%^ z6z}R>ob>&DzJQ2Ro*bcM%*4XCm`X~_^qK2sVN;fwu?|a{ns#MV*RE|E+Kt8bp2lXy z#nT(U%Z|iiZ_rmo(N;IZkuCuTmo7*3F+&xKmMVzO<19Qg5cINVOa=`9j;LlzjBGrj Gk~DuKOce$I diff --git a/djhk-common/target/classes/com/djhk/common/annotation/Excel$Type.class b/djhk-common/target/classes/com/djhk/common/annotation/Excel$Type.class index 2f5c3aafad4eb40f7f9ba3e2902fb799109f057c..f53535894d8efd0b76ce87dae2ccb05324c2909c 100644 GIT binary patch delta 186 zcmZ3&wVliJ)W2Q(7#JAL85}toSQrer7z`PV*cl|*8H~9Y_!&$yXznO*kKcglKgBs8&Obpr#I$&CtK@UvpGYA1` OE(S)RRr(Bq4w3-r#_)W2Q(7#J8#7#uhmSQzxU81xwo*cl|*8H~6X_!*2rgb7H-l!HNl3rL%R zIOZG-A|Tp=gFzHTTe34)ZS>@365wHw0O^(FVX$VfVP~+NoX@1gX2-*z%wRuxA(PJJ s4@~lt&oU`*=4bxTsL0Hq2DF)pL7PDbOzScT0ckDGnt?$G%w}X@b&v##FfwpBNCE(xLK58o delta 57 zcmV-90LK5e5S$Pe%Ko~(0000q09XeAQwIQ42LM$E09KI}9syUeHRl8YAd|5LAhSya PodN*^lj#R4lOG5d(Qpr6 diff --git a/djhk-common/target/classes/com/djhk/common/annotation/Excels.class b/djhk-common/target/classes/com/djhk/common/annotation/Excels.class index ac36c661ac7a64b846bce53c6bef836cb0fb6e2c..00b3b3f4c66f0f8bfb0f9b5111b3161f1001b8f7 100644 GIT binary patch delta 17 Zcmdnayq%fj)W2Q(7#JALH*&0J1OPu(23-IE delta 17 Zcmdnayq%fj)W2Q(7#J8#Hgc?I1OPuq23i0B diff --git a/djhk-common/target/classes/com/djhk/common/annotation/Log.class b/djhk-common/target/classes/com/djhk/common/annotation/Log.class index bf03a6bafed25a6ce95cd87f0847ee6389cf66bc..3411169f080a404a1f98910002e81a3119551838 100644 GIT binary patch delta 17 YcmeBT?_%dT^>5cc1_lQ6jT}wP06EnK-~a#s delta 17 YcmeBT?_%dT^>5cc1_lO`jT}wP06E45-2eap diff --git a/djhk-common/target/classes/com/djhk/common/annotation/RateLimiter.class b/djhk-common/target/classes/com/djhk/common/annotation/RateLimiter.class index f7db9ffd29e53e92e2c578afe5539d8e02933b3c..c3ab478390141d33ddd98893de0c788cd9effd61 100644 GIT binary patch delta 17 ZcmdnTx{sCP)W2Q(7#JALH*#!a0sugO26q4e delta 17 ZcmdnTx{sCP)W2Q(7#J8#HgarZ0sug926O-b diff --git a/djhk-common/target/classes/com/djhk/common/annotation/RepeatSubmit.class b/djhk-common/target/classes/com/djhk/common/annotation/RepeatSubmit.class index 16ca229253a0f8b5d9de45d839af46afecf64b90..4e3defb0ef6b8dc406123842887c3d10960f1faa 100644 GIT binary patch delta 17 Zcmeyx@{5Jz)W2Q(7#JALH*yp)0RTr@2B`o5 delta 17 Zcmeyx@{5Jz)W2Q(7#J8#HgXg(0RTr!2BrW2 diff --git a/djhk-common/target/classes/com/djhk/common/annotation/Sensitive.class b/djhk-common/target/classes/com/djhk/common/annotation/Sensitive.class index d321d70e602aec1b3a28df846aed8e6af66c52ac..9eaaaf83201376440735061913725ebcb32c1f89 100644 GIT binary patch delta 17 ZcmZ3)x`>tI)W2Q(7#JALH*(Bk0suV71|t9f delta 17 ZcmZ3)x`>tI)W2Q(7#J8#Hge2j0suU@1|R?c diff --git a/djhk-common/target/classes/com/djhk/common/config/DjhkConfig.class b/djhk-common/target/classes/com/djhk/common/config/DjhkConfig.class index 8078620d8c8d3ab91b1407261efc215486ebeef7..7f9891741f32844389629d4786b0d25619106ffa 100644 GIT binary patch literal 2491 zcmah}Yg-#d6h0GjBMl^AFZQCfLTdoq)p|kYqBKB@O(`vumiCK7G9*iqoqcvE6#j`n z!VhZo(Wf8$0sbf--?Irx*lct^oS8H8o_XIn=gj{7&)dI(tr7`-3%>tW6 zHcM=l*?gOU`EC;M)kzX;Vr)ieHAN3nv>_<&$fgoBSvr(Q(rQSjYHb_OcB%`4Qb)@3 zZS4peD{J?}v#T|;r=*7+*V6}f1A*hRQt_1UuQ_tRp(=vJOF`$#(lzCp+&OUpNiN!s zZI%U%6lQk8Skx7)=1R7sHe1bo9BrgQSD-4h zCGAx$-{pQe@R0b|+N)c>QJ&HUwYQ2I(j4U&6lX0Gysx$4S{ik1EOeEtJYy>#kzC%E z7f>OGopqd(bUk%oAES}D9kO(Z-px{u@>!Z-Gs)&1Hs|R=mM-$_7F`#VzXvMcc+!2O zOifq(T#~*|)59#4=uw(B)ATq^TY_%Qm`-fMZhf2hhPLr>_bptP{;pcsNKHDz7l z7G-Ik+opz@Z=_?8wOdiGH`tBAX($0oi5DfTN~eleu+a)Cn4)c#|6I^?Pm%2$>ALDX z}SwHs6>YUNe)C1{M8p@w;2QCas?OQn$ z$nQS_{;Ch(PTxZRYwa9Sl#Rx=ZPY@F@JMbB+%HO-p!fe9M>p_89LN7Ki9aEl2D2FV zO)#Q$FlM-Wf)NcAjOZbZ6ZnCm*I+NhvoH#biP=9${DMi0uD~XP#WA{ydA1FpYxEvG zNTchpXM=yE*w3NhsmS0Dpu8Qt45}DY&CdN!u^x3MSS?V3W`Ywgwox5=md5vG)gML* z83_xy9VuigTF6LP$Xy8eY={s}I18DM6cP^$nU555Gg?SIEMyTvmWBx7iVGU$9|T4& z%{7et#eby)>kxfqU4i#emvspq*C8?Yh7w`Yb&AvdKGHCxgFJKZ&qnN<5m~X{=C#ELm zrkHvTD+T1SRA8_wr?ot8iT^&2+j-o{<8BU(9DcBn_MD!wFxl91_8q(Hcy0TE30$vz z!$NLf1)-}w3u8^~KMCA+$80Mn;1fU4yKa|-<4&s;s4!ghoSm*}S+E{jIM;N1)9g5# zPkg3i7hTUa%N9neGh0Ng>lSZI4cAla{oalWHl?k}+IA4AJxv(qn6O)~OE|@2^92dls7h}x0-Sc%|HXPI8 zq!`!s9peOtaf$JYe(ZI%(>l)h$v=(@4|G3hsmG2CWF3mQgtv=$15-tu7c(v9f|xgPv52=YW#K}6 zxo`H}Zc7D4%%W1nI_`0IY&Vjzhz(REWcO5&8)3Hw`q^^bkEFA3`OJm1P(H@Jx3j03 zhU^{RS02BU`J@GWZ6^mr*>>LO!w(ae`BhKyzaWd0^vzRBT8})tr!R;Ak*5ZcrwsHH zutYA}cNp397JX*+IjrA#Na0=DY;-w>_joQICg6R7g69uVp?$UZPo#c}6;~3AKg36a z;$=dm1ZsBfFQks43(;*A8O%g)m_E!Jzza3$S6F|XNMs~VWImC|C&@%c;zX{H$kkJb zh~Pq`nn)xaCvrWJ$V@VkbezZ{i7cH$L?&)wR5qDjMkDi;U-}PZgokxvtTje+L)0Zk zGKb9EQ)J?xYe?hP3DC@N44G)X1oTtP^A$1B?5{D1bb zWtRo?v!qUQ@lH3H`*~ugxj5+01l>LbR6ZO5y)pz{h$I81|3!ZLIY$3R;Tg_N7HOVg zEKcJW)?PiUc09SZ!`f?S)s~WLeb#<)R&6=C_JAFJ$w{Sf9beIxc>0?D8!B-l#Nz)( C0(s^D diff --git a/djhk-common/target/classes/com/djhk/common/config/serializer/SensitiveJsonSerializer.class b/djhk-common/target/classes/com/djhk/common/config/serializer/SensitiveJsonSerializer.class index 14d332cecbaca7c5b56fc5cc62665b8164ca81d0..7a0de7da99c19ac2b29417e466e43805c247fae9 100644 GIT binary patch delta 24 gcmew@^IL}F)W2Q(7#JALH*#3>FmBuI!eh<^0D=|>p#T5? delta 24 gcmew@^IL}F)W2Q(7#J8#HgZ_=FmB)M!eh<^0D<@jp8x;= diff --git a/djhk-common/target/classes/com/djhk/common/constant/CacheConstants.class b/djhk-common/target/classes/com/djhk/common/constant/CacheConstants.class index f03d27a76ca1a4c1417d71d372cd64743d8232d7..1cce8a37b606911233bfcc7e2c9083b52305fada 100644 GIT binary patch delta 17 ZcmX@ZdWMzb)W2Q(7#JALH*y?d0sul>2B81| delta 17 ZcmX@ZdWMzb)W2Q(7#J8#HgX(c0suly2A%)_ diff --git a/djhk-common/target/classes/com/djhk/common/constant/Constants.class b/djhk-common/target/classes/com/djhk/common/constant/Constants.class index be6d2424163f9a695ee09a4efe99fc161dfc1933..39efaa20bd7cdbc9e28276443dc7b85c9f477438 100644 GIT binary patch delta 17 ZcmdlixLJ_n)W2Q(7#JALH*&1z002OE26O-b delta 17 ZcmdlixLJ_n)W2Q(7#J8#Hgc@y002N~25|rY diff --git a/djhk-common/target/classes/com/djhk/common/constant/GenConstants.class b/djhk-common/target/classes/com/djhk/common/constant/GenConstants.class index bd325ded184f50c200af6d920ba8d175111f59a5..93f19c1cb70d423e93581ef8df9107dbf0dceaf2 100644 GIT binary patch delta 17 Zcmdllx?hyz)W2Q(7#JALH*##}0suma2BH7} delta 17 Zcmdllx?hyz)W2Q(7#J8#Hgas|0sumL2A==` diff --git a/djhk-common/target/classes/com/djhk/common/constant/HttpStatus.class b/djhk-common/target/classes/com/djhk/common/constant/HttpStatus.class index 01f5ce7d1c7805293bea38877d0b90dbdccf8b41..a2523de78eacbeed4236aea47da68cca00fb5ace 100644 GIT binary patch delta 17 Zcmey*_MeU8)W2Q(7#JALH*%CS0{}=t2E70P delta 17 Zcmey*_MeU8)W2Q(7#J8#Hgc3R0{}=e2D$(M diff --git a/djhk-common/target/classes/com/djhk/common/constant/ScheduleConstants$Status.class b/djhk-common/target/classes/com/djhk/common/constant/ScheduleConstants$Status.class index 9c6852e8689b63880be39888f801ba7090ea7003..c98936427d72bea8dbcde011b83f7c5f6f39bfe4 100644 GIT binary patch delta 180 zcmZ3)y_MVj)W2Q(7#JAL85}toSQzxV7z`K;*%>6*8H~6X_!*2rgb7H-l!HNlgTago z$TSD>EjSoNI2bHJOe=N<>y7RmOwx=D9Db?AB_8?3CF~3~JPhI>b0l~eY#Hn(-)FL5 zv*%$@WN?@)%dF3+HMtRpy_gj@&tQJZsL8^h0(1lugBF7}nATy?1=D&ALO_~}fe~np J9)qBRBmk)w7~TK? delta 195 zcmdnWy@=cW)W2Q(7#J8#7#uhmSQvD<81xwQ*%>6*84S4?_!*2qgfU3Qgo8nVgTa&w z$TS1-%{drEI2bHIOiOkKtBvj*Ou{@2;vk(8JPg(hHtY-#5Vr6!kHGcsra^=NHg$o!g7k(ogS c=r$$>Ee35ct-~M$q`4Rvfwmej2s%gt04(YqLI3~& diff --git a/djhk-common/target/classes/com/djhk/common/constant/ScheduleConstants.class b/djhk-common/target/classes/com/djhk/common/constant/ScheduleConstants.class index ed9d0ad28a53c8442bc2ddf5739c705c63c7198a..87fbaf821a121e5ba87e5655d1b432eaeee39f06 100644 GIT binary patch delta 132 zcmX@Z`h->D)W2Q(7#JAL8PvHLm>J~R85GzV6xkV+CQ4MxDKj#N`+5euc?P-0d%FAi z11Tssn1exO;zn6U)rsfD8Pz5}pUKC_!0ne>T;iLWo0M8qyt#qVm{FOTK?Z0v6N4;+ W9FS&VU<6_|Ad3skVq#!*kOTllhZ@NM delta 107 zcmaFDdWKcv)W2Q(7#J8#7}U5Jm>J~Q8RXd+6xbOQCrVVyDKRpL`+5euc?P-0d%FAi z11Tssn1exi;zn6Um5JxY8C54fpSih@(U?(^i9rTv788Rk0~?U$Vqj!o0rFTKBmrn$ B78(Em diff --git a/djhk-common/target/classes/com/djhk/common/constant/UserConstants.class b/djhk-common/target/classes/com/djhk/common/constant/UserConstants.class index 7b18f40c3959d7403c86cab6a91dc03263e0fa68..e393e4fb0bdace49c32b759b1adc9ea2c2ba1b14 100644 GIT binary patch delta 17 ZcmZ3?xtNpV)W2Q(7#JALH*(Bo0RTN@1~32s delta 17 ZcmZ3?xtNpV)W2Q(7#J8#Hge2n0RTN!1}y*p diff --git a/djhk-common/target/classes/com/djhk/common/core/controller/BaseController$1.class b/djhk-common/target/classes/com/djhk/common/core/controller/BaseController$1.class index f9a1fd35f6e3ee4ac116b89256717a5bc33d6f18..0b71cb652f897b3d181a4ffb62f8ca9419bb02d8 100644 GIT binary patch delta 127 zcmX@ievMt_)W2Q(7#JAL8MHYWSQ(_b7}ywOxEN#^-WRoD8b$3~D?K>I@n@44MpDj0^@74fQtPWjxHt$TE2$ Xv#_`n(0nEa2?l;3&Bee7G#3m2U2qZ- delta 122 zcmW-ZxedZl5Cvzs7Jsco1Q>(C;Lqg%f#j~JhEfn20f{pgKn+xZSTV_)m&{umjqUgO z0&1#+K3QPEJg^`SewWHhDemzq#oE|V8p_Z}h|1R3u{RDJh4bxldVHjjvdh?m9VSeD Nd!)=5xdp_Ne|}HY4Z;8b diff --git a/djhk-common/target/classes/com/djhk/common/core/controller/BaseController.class b/djhk-common/target/classes/com/djhk/common/core/controller/BaseController.class index a13213ea7ffdbcb9a38478354bf9eba26aeb3eda..ccd221d03f90bea3fcf2ee50e62819fb2887b224 100644 GIT binary patch delta 453 zcmW;JxldG46vy%Jd&nHP+$bFl1<7C_855?nF(d>NDu~36*nm#KG71ce?5m0>h(5rD zWmp6iWpf1C1Z*g1sQm*ZbVy5Ke8=Wn6u3D zLHKC7Mp*b{S>Utf3zfp6Wr<~B#j;Ad@YRw}!g8IkLymXm=6FexoB5432YVc!J6WDN z?i>2uAGfUQyYFmxMRGZ9!?MYiWt$zZQ3@{pU{~0)+~$t3pE!{7)L;@-{%u^UsqyOt O9RCnk{AB(oKfphHQ)deR delta 404 zcmW-dJxo(!6o#LBqdo2C7g3kSM5jvHq$ItABOx)eIvE#ZVvH#Vu|t`njXH%Yfo6_Y{K+DTYZXl8l(`ec^%P2yx+|(MNt#Mn?@E z3u#4=Ck7eg9C)g@G?6$Ni}Fl)iDP~y1=l=&u6V&qV|sYSl)<#Yj4)gL^~bX2N;Uhu z?R#wzja+nh0>P4Vu*o{6iQ#D8kQL@NZ^^lredpR1ghfrBcfyjU6-QXstgxziPp9xf z^N}^7p!viVp{Qx&v!)%#BJ4KouzOS@CrYea=z2E4SIE`V4&g^>TmA-)+jM!Q+gzi?Q-$R<{D1ZVv3*^a diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/AjaxResult.class b/djhk-common/target/classes/com/djhk/common/core/domain/AjaxResult.class index f4b35997b40dc6b66592f04430704e619f7ece66..7a24417afa2bb474dbf3fbd51e1e4d07f823927e 100644 GIT binary patch delta 17 YcmeAc?-u7c^>5cc1_lQ6jU3I~06X6X3jhEB delta 17 YcmeAc?-u7c^>5cc1_lO`jU3I~06WkI2mk;8 diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/BaseEntity.class b/djhk-common/target/classes/com/djhk/common/core/domain/BaseEntity.class index 5cdf26c379af07d7570a2f35c8700679b3a1a204..d6c8c2abd7e888004b09b680b7aece7715e3b7b2 100644 GIT binary patch delta 17 ZcmaDP`bd=H)W2Q(7#JALH*(zK0su!a2MYiI delta 17 ZcmaDP`bd=H)W2Q(7#J8#HgeqJ0su!L2M7QF diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/R.class b/djhk-common/target/classes/com/djhk/common/core/domain/R.class index 6b23a31e3ae8eec0d97b68d39399bc6abe027cf8..6d74ed923ca8ae88b0ef6d912029d018bff30708 100644 GIT binary patch delta 17 ZcmdlcyG@qk)W2Q(7#JALH*&1w0{}uy2Aco? delta 17 ZcmdlcyG@qk)W2Q(7#J8#Hgc@v0{}uj2ABW< diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/TreeEntity.class b/djhk-common/target/classes/com/djhk/common/core/domain/TreeEntity.class index 591678c85e4d8d0e664246e16422d984c7e22a91..305fee35f09a114538f67dcc9f378e8488d995c8 100644 GIT binary patch delta 17 ZcmZ3*w~CMB)W2Q(7#JALH*zSk0{}hi1=0Wj delta 17 ZcmZ3*w~CMB)W2Q(7#J8#HgYJj0{}hT15cc1_lQ6jU0_a06j(qC;$Ke delta 17 YcmeBF?NsGB^>5cc1_lO`jU0_a06jMbB>(^b diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/entity/SysDictType.class b/djhk-common/target/classes/com/djhk/common/core/domain/entity/SysDictType.class index 0826a4a950b64fbaa2f58041de9bb4d5a7d205bf..d6ad1d4f53bd26459ea0ddeafa1fdf47c00459b8 100644 GIT binary patch delta 17 Zcmdlfxl@wk)W2Q(7#JALH*##`0RTcc2ATi> delta 17 Zcmdlfxl@wk)W2Q(7#J8#Hgas_0RTcN2A2Q; diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/entity/SysMenu.class b/djhk-common/target/classes/com/djhk/common/core/domain/entity/SysMenu.class index b90737d25fff139bb8d8bcde45cf9f80fc8a910b..32e0e2b0d4d6f54d1053d55e6e74edf67d2c9057 100644 GIT binary patch delta 17 ZcmZ2)u-<^<)W2Q(7#JALH*%;;002Uw1~vcy delta 17 ZcmZ2)u-<^<)W2Q(7#J8#Hgc#-002Uh1~UKv diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/entity/SysRole.class b/djhk-common/target/classes/com/djhk/common/core/domain/entity/SysRole.class index d2038b4a74525f7788597136c6c7e7bdcca2af8d..ccd509b0007cd4d352f7964570380f4a1daa2114 100644 GIT binary patch delta 17 ZcmaE>|5l&l)W2Q(7#JALH*!1`2LMaI2W|5l&l)W2Q(7#J8#HgY@_2LMa32WkKS diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/entity/SysUser.class b/djhk-common/target/classes/com/djhk/common/core/domain/entity/SysUser.class index ec96209325f3189adbd2ed5080c3e42a7ddb371c..d16f6f3476eec1cc7dc4231b7ecb2dd54cb9b7d6 100644 GIT binary patch delta 17 ZcmaE8|InV})W2Q(7#JALH*(yR2LMbD2XO!Z delta 17 ZcmaE8|InV})W2Q(7#J8#HgepQ2LMa}2W|iW diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/model/LoginBody.class b/djhk-common/target/classes/com/djhk/common/core/domain/model/LoginBody.class index 33e012848951fbabc12a6fc33ad1d0de33654077..1c558ea5e909801dde908dd7c3e9518deaadffb4 100644 GIT binary patch delta 17 Zcmeyu@r8rq)W2Q(7#JALH*(~#002h_2B81| delta 17 Zcmeyu@r8rq)W2Q(7#J8#Hge>!002h$2A%)_ diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/model/LoginUser.class b/djhk-common/target/classes/com/djhk/common/core/domain/model/LoginUser.class index 96c887b46c814093a0ff65656b24e8d8456bb0c3..23234b60cbce7c721e038b3b0b022d567daa6b16 100644 GIT binary patch delta 17 ZcmX@1azcgU)W2Q(7#JALH*z=#0RTjX24esK delta 17 ZcmX@1azcgU)W2Q(7#J8#HgY%!0RTjI24DaH diff --git a/djhk-common/target/classes/com/djhk/common/core/domain/model/RegisterBody.class b/djhk-common/target/classes/com/djhk/common/core/domain/model/RegisterBody.class index 5ebaa808d0f50ce48317626e1ac2bd7da0143763..dd887e28f0a00ba67c63f3f94f13386b89d37ba6 100644 GIT binary patch delta 17 ZcmaFD^n{7y)W2Q(7#JALH*&-<0surY24VmJ delta 17 ZcmaFD^n{7y)W2Q(7#J8#Hgd!;0surJ244UG diff --git a/djhk-common/target/classes/com/djhk/common/core/page/PageDomain.class b/djhk-common/target/classes/com/djhk/common/core/page/PageDomain.class index 5c730ba1c9fc0ec85244c298489020b56a88c588..f9c3bcfcca3c2fff2804e46b9524af711414d916 100644 GIT binary patch literal 2614 zcma)8YgZdp6y2AQNf;(TL!rKS)FKT~oBF8MQfW&7i-v~;sHL?!B)2dynTeSRYvC9F zhWrA*R+lKNAN&FSD3|+YCS-uA%MaYg;hcT$kzS2>|QX0!?tSHlJ7a_h*VJ(G{K&oc$ z$mK>=puf0h9+-LCbawKKjxTp)eOe%`{$H|wlmZ#IUXk_L!-8u!s*XT55>WE%ma{|u zq~$&I$^v>_nx5;J+cqPk(6g>QNU16>yOl5*YhG!XS;d z=vTJ)WZ4(E)Ha0`;Fuhkc0;bb5E#sDMa9#qk-*jS4>o+u_VPiiHq@CgmN#Fm`G*3r z?c5?C-`#LHW+kQLg6Xl^<8hsj=qwb2ju+Tr6U3+xxKcIuWx;jIrvKRTcX{%B)A32+ zP7K;buxN@QJ_~Mn%dQ_L5Gh>Xz=4)OG)$G|ndE}9PERm7jQ|bXX1CVYHs({XE|X9Cv`Ycj_DX~e&kTErAW6inMLS-zZ3!4-J#LVj`F1cv|H4_EoIKEMz8 zBs$c9@YJDZq`7m*nmfm@xpVTk8z3r1xQ_BRPk&Az`X~Q{n9Oz@BQe=|g3e8C<%!C0-E(FBz4H zpbybFf($Kf^x+Wwdec{A_&^R5;WK&eib9f*-3l$>sx^({5tQU9$4N|u!87#kV2n07 zb&T$Irh3yl#d6+gA`AvzAp-rIMOF{rh$Uj2Cvq#6$oug`jPpcplgKBpA)>mhh}=9a ze6%9kc_MdXiR5uBt|HobBKJw;!E1;pnJFS4#1cuICo&gHMy;M}qODL*=kcN@sd68=oeOP9zRw=19zPFC+*o@H6oi;S5 zzMM#2Ni2!PV0R}kAK_!JqckmZZ|a;POP(Nmgw${7S7J`8yrKf$qJW=qRGvrjYmG-J z;2vV#WhEBmyH1ORD)u;^bG)Z{pXcAg Ezb^R{LI3~& literal 2292 zcma)7YjfLF5IxrqSytrORT`H7eT0_a*lk=MEzq=Sn@1twIw4L14W*#is-x7Ff+csR zeBpQG7w|POO`0h)`~ZFw!>%M-vd5k2m)(1>ch8=?d#?QNf3N=m@EJ@6Q@A5zA&qx% zSHV5p=hY&cB?Ze^k?|mfuN0(lhxcFeYE{NJ?7!u(3Y&-gTUExIf^~c+V?#!bk2cc; zxs}3p3f~K)4)mr`?Y0FbD*O6#z1-5RW_i_eji%9=7m)e)n)#a{kg+=rqqF#8$!>Mq zmVg#XsJR`}YEpdCbnZKK0i|Q;j&13?Ey|2SFWPp?&@Bp;Zkv|rE(pX6v)clRCA&ef z*@|f~p1S&dyRNsk^^VE=;4tCtnU26rrEa&&js3l6Wm>dti(JPjGwJd=nPt1J zn_Nt38t$6UU*K$Eb`a}*G;?Hx@^26E~M~-ibvQ{aS78Z&hyESDjwq}0SKH6h2~#m zv1_(SS}LC4XBEFd7Z8_J?4qdRUA(8_eKvJYPg4!UYLM7cXs9sol(;pF-XY0|H!7NV zs$vh*0$1KfAp*IO)Y|U8QFjH-ghxRu=)FAGTU}#~s^$wjQ5E%?B``f)u+?{~@gwX5@01}@;YZhn?7AQ3>f)uM@PZfvb!nm$QW^nptv#xtc= zjK}JE5{TzXI-V!hkXK16q${#lXtzS~q#jHZUqKYL*fHY8#3>TTNdD<1eMoj3ak2^$ z$djGI4DA?(((n-qV9W*IH!p-JB1Oavv_=R5~a;x;T$ zbd0=IEFB{o-dyocOVr-09zx!a3J@sXYdROcK9Wdon8@{!L_Qu(BsWat1`)aW1|mFl zCh|#t5YdiE!$fY4B=RZ!Q;z6}G)&|!5xMsUA}l*5a$_Ws_%M;>kwk9xiToanrcgS? znL}LGw9*MC4w2Skl|PWx&iY$Po2>Bg;!M>S(gmbwy-K!%9I7PVb&}Kuseh9OxE-Ni z=nu5OA6g>M5=$bUA4|~Yb9_OTby6koKbMzCo+5vU)L%GvM3PJLy`lo%Apt+8r}HFo qzut2R1UybyU*cAPJ)ptJ>+>~OCpwJ?WvNeD0zYi#HBS^`xcxr~%Bkr9 diff --git a/djhk-common/target/classes/com/djhk/common/core/page/TableDataInfo.class b/djhk-common/target/classes/com/djhk/common/core/page/TableDataInfo.class index 430e08818413cee6be9cec684992affcc66ed7e9..3c0d0e53fb01415a8e8708bd11184a52492ade4f 100644 GIT binary patch delta 17 ZcmaFN^O%R@)W2Q(7#JALH*!R?0RTln26zAf delta 17 ZcmaFN^O%R@)W2Q(7#J8#HgZI>0RTlY26X@c diff --git a/djhk-common/target/classes/com/djhk/common/core/page/TableSupport.class b/djhk-common/target/classes/com/djhk/common/core/page/TableSupport.class index 5fab89b8d15eff75824b32c33071d33bebc05e40..769ff1849fcae909d029392cee49b609012fceac 100644 GIT binary patch delta 17 ZcmaFL{gj*I)W2Q(7#JALH*(x%1pr262KxX2 delta 17 ZcmaFL{gj*I)W2Q(7#J8#Hgeo$1pr1?2KWE~ diff --git a/djhk-common/target/classes/com/djhk/common/core/redis/RedisCache.class b/djhk-common/target/classes/com/djhk/common/core/redis/RedisCache.class index 194554e337a5eea25ea0bd47de776f80dfee12be..12a0541ad20d2ec33ab80226ac668712a6f22f01 100644 GIT binary patch delta 17 YcmeBk>~rKe^>5cc1_lQ6jT~(X06|6ueE~rKe^>5cc1_lO`jT~(X06{kfdH?_b diff --git a/djhk-common/target/classes/com/djhk/common/core/text/CharsetKit.class b/djhk-common/target/classes/com/djhk/common/core/text/CharsetKit.class index e837c69b3407b3f58c1291fa88cbd7daaf489008..dd0134e82965259e1aa3d8d13a007a2292227853 100644 GIT binary patch delta 17 ZcmbQqHDgi@+isi?Kup3zq7jU{|hn^xgTx*> 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 BDM$bS delta 5347 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 delta 17 YcmeC@=;z=#^>5cc1_lO`jU4PO06C8ZZvX%Q diff --git a/djhk-common/target/classes/com/djhk/common/enums/BusinessType.class b/djhk-common/target/classes/com/djhk/common/enums/BusinessType.class index b902e5675b05da972be109879c4b561e1b349d41..ee226fdec43cb9447a881d0be49be28c8f9400bf 100644 GIT binary patch delta 17 ZcmdnMy@8wK)W2Q(7#JALH*&0C1pq%=23!CD delta 17 ZcmdnMy@8wK)W2Q(7#J8#Hgc?B1pq%x23Y_A diff --git a/djhk-common/target/classes/com/djhk/common/enums/DataSourceType.class b/djhk-common/target/classes/com/djhk/common/enums/DataSourceType.class index 64b8962ce4b58d6553de7e757c32a04e02de5008..21d3868d0ae15a3e5b9be4cdc134e75ca8966772 100644 GIT binary patch delta 17 YcmeC@=;z=#^>5cc1_lQ6jU4PO06CroasU7T delta 17 YcmeC@=;z=#^>5cc1_lO`jU4PO06C8ZZvX%Q diff --git a/djhk-common/target/classes/com/djhk/common/enums/DesensitizedType.class b/djhk-common/target/classes/com/djhk/common/enums/DesensitizedType.class index 965ff1288d4528ef7c3dec00bc41bae230155040..14557e01114bdbd631bd18b9329f770ae29cd15e 100644 GIT binary patch delta 17 ZcmX>obx?}q)W2Q(7#JALH*#3=0sum11~mWx delta 17 ZcmX>obx?}q)W2Q(7#J8#HgZ_<0sul-1~LEu diff --git a/djhk-common/target/classes/com/djhk/common/enums/HttpMethod.class b/djhk-common/target/classes/com/djhk/common/enums/HttpMethod.class index c529490efb4dc4619a2637b4b229cb89c6f8f515..2db86af6c14dee63d0a30c03344f5cb42ecaf735 100644 GIT binary patch delta 17 Zcmew=@Ku20)W2Q(7#JALH*(~1002lH2DktK delta 17 Zcmew=@Ku20)W2Q(7#J8#Hge>0002l22DJbH diff --git a/djhk-common/target/classes/com/djhk/common/enums/LimitType.class b/djhk-common/target/classes/com/djhk/common/enums/LimitType.class index e97bc0abd852e10c111a3ea830e689ba99bf45fa..40cb9d3beb99ccb99f1e5cf0ffbb6ee1fd33a301 100644 GIT binary patch delta 17 ZcmaFG{)(OB)W2Q(7#JALH*!2;1^`Bt2LJ#7 delta 17 ZcmaFG{)(OB)W2Q(7#J8#HgY^-1^`Be2K@j4 diff --git a/djhk-common/target/classes/com/djhk/common/enums/OperatorType.class b/djhk-common/target/classes/com/djhk/common/enums/OperatorType.class index 8d1b52fe50556b587ff543ca8c6ab982f932b4be..00ff74ba68e17798a1c5c844483b48b9d489d58c 100644 GIT binary patch delta 17 ZcmdnSv5kY{)W2Q(7#JALH*)B)002JB1?K<& delta 17 ZcmdnSv5kY{)W2Q(7#J8#Hgf2(002I{1>^t# diff --git a/djhk-common/target/classes/com/djhk/common/enums/UserStatus.class b/djhk-common/target/classes/com/djhk/common/enums/UserStatus.class index 3bfdb7d5bd05e82581f2f8c80af8e93280d2e40c..6e501882045d43245921c0f687c98c31a792a6f4 100644 GIT binary patch delta 17 Zcmcb_eTkdn)W2Q(7#JALH*%a}1pq_e2EqUU delta 17 Zcmcb_eTkdn)W2Q(7#J8#HgcR|1pq_P2EPCR diff --git a/djhk-common/target/classes/com/djhk/common/exception/DemoModeException.class b/djhk-common/target/classes/com/djhk/common/exception/DemoModeException.class index 749a25fe98f2ffe4d1fcbf85b61f8ba7e2b1b7d6..768551ca49f43c3f094ff16e9ae687665654acc5 100644 GIT binary patch delta 17 ZcmbQnJdK&-)W2Q(7#JALH*)kb0suPm1^NI0 delta 17 ZcmbQnJdK&-)W2Q(7#J8#Hgfba0suPX1@`~| diff --git a/djhk-common/target/classes/com/djhk/common/exception/GlobalException.class b/djhk-common/target/classes/com/djhk/common/exception/GlobalException.class index ce0bd9c4769a38646a1feb84d574cd1539485c71..8b4a75c95d343170b0d75cfe30cfcd6f06815deb 100644 GIT binary patch delta 17 Zcmeyv{)e68)W2Q(7#JALH*$Po1^`I;2Q~lz delta 17 Zcmeyv{)e68)W2Q(7#J8#HgbGn1^`Iv2QvTw diff --git a/djhk-common/target/classes/com/djhk/common/exception/ServiceException.class b/djhk-common/target/classes/com/djhk/common/exception/ServiceException.class index 8e0b4ae46bfd8e768323783a822829a5acbfc982..27e0d990a39f2d6f71f1be9abf5521fdbd89e9ba 100644 GIT binary patch delta 17 ZcmZ3$wSbG`)W2Q(7#JALH*!d@0suT61*!l5 delta 17 ZcmZ3$wSbG`)W2Q(7#J8#HgZU?0suS?1*ZT2 diff --git a/djhk-common/target/classes/com/djhk/common/exception/UtilException.class b/djhk-common/target/classes/com/djhk/common/exception/UtilException.class index 2f88a78e237ad938d5d635c93450d3808fc40335..ad9c560a704ec5b2790647949c0f4affd442d299 100644 GIT binary patch delta 17 ZcmZ3-wvLVC)W2Q(7#JALH*%;k0{}gL12LM6l29p2) diff --git a/djhk-common/target/classes/com/djhk/common/exception/file/FileException.class b/djhk-common/target/classes/com/djhk/common/exception/file/FileException.class index 977c6010aacc48883f9dd138b62e1434629dafd8..831483b02635ced167851f78f089917dda574d1b 100644 GIT binary patch delta 17 Zcmeyy@{NV#)W2Q(7#JALH*(}L0RTqQ2Au!^ delta 17 Zcmeyy@{NV#)W2Q(7#J8#Hge=K0RTqB2ATi> diff --git a/djhk-common/target/classes/com/djhk/common/exception/file/FileNameLengthLimitExceededException.class b/djhk-common/target/classes/com/djhk/common/exception/file/FileNameLengthLimitExceededException.class index 0dfe20104c7ad543a2695bda3c70777f1c054b18..c64dd39f6c7980851db09bc762fc7e3a1519adc5 100644 GIT binary patch delta 17 ZcmX@kdYqNx)W2Q(7#JALH*)M}0suj>29f{( delta 17 ZcmX@kdYqNx)W2Q(7#J8#HgfD|0sujy29E#$ diff --git a/djhk-common/target/classes/com/djhk/common/exception/file/FileSizeLimitExceededException.class b/djhk-common/target/classes/com/djhk/common/exception/file/FileSizeLimitExceededException.class index d9dd9577a9cbebbf7abee363e732cfe2657257ae..68652822e7955107df7c1b1d33c2a3e4fc8c5cfa 100644 GIT binary patch delta 17 ZcmbQkI)|0x)W2Q(7#JALH*!p20suSw1`z-N delta 17 ZcmbQkI)|0x)W2Q(7#J8#HgZg10suSh1`YrK diff --git a/djhk-common/target/classes/com/djhk/common/exception/file/FileUploadException.class b/djhk-common/target/classes/com/djhk/common/exception/file/FileUploadException.class index a21444328b22d8b8ed5d660363de5a49f7eb23fa..425eabf6869916f02da9710569bf02d1bc712f2e 100644 GIT binary patch delta 17 ZcmaFN^_Yv})W2Q(7#JALH*!R?0sut=26F%a delta 17 ZcmaFN^_Yv})W2Q(7#J8#HgZI>0sutx25ff$?3=9nB46*69aQLMbmw4nCmux=ID9NbE e%peX_$;2SRAPJ_K83ced7Xu?ujG2L-ffE3)s0>U1 delta 61 zcmbQj*2pG$>ff$?3=9k=3^H5{%nXw33{vb2(i=s0F>b!aD9I?v#2^loWnz$E5CGC# N42(cFGXp;ZCjf^A2;Bex diff --git a/djhk-common/target/classes/com/djhk/common/exception/file/InvalidExtensionException$InvalidImageExtensionException.class b/djhk-common/target/classes/com/djhk/common/exception/file/InvalidExtensionException$InvalidImageExtensionException.class index f1a44479a77b669c211d4912777e0a059bcf5c47..5702716157adf5470d6a045ea43bea50b2486514 100644 GIT binary patch delta 81 zcmZoff$?3=9nB46*69aQLMbmw4nCmux=ID9NbE e%peX_$;2SRAPJ_K83ced7Xu?ujG2L-ffE3)s0>U1 delta 61 zcmbQj*2pG$>ff$?3=9k=3^H5{%nXw33{vb2(i=s0F>b!aD9I?v#2^loWnz$E5CGC# N42(cFGXp;ZCjf^A2;Bex diff --git a/djhk-common/target/classes/com/djhk/common/exception/file/InvalidExtensionException$InvalidMediaExtensionException.class b/djhk-common/target/classes/com/djhk/common/exception/file/InvalidExtensionException$InvalidMediaExtensionException.class index a080b74b3b112b6586d67e6a385243ab580b9159..51d1afec9ef095d0f0fcac243dd972dc3d37f628 100644 GIT binary patch delta 81 zcmZoff$?3=9nB46*69aQLMbmw4nCmux=ID9NbE e%peX_$;2SRAPJ_K83ced7Xu?ujG2L-ffE3)s0>U1 delta 61 zcmbQj*2pG$>ff$?3=9k=3^H5{%nXw33{vb2(i=s0F>b!aD9I?v#2^loWnz$E5CGC# N42(cFGXp;ZCjf^A2;Bex diff --git a/djhk-common/target/classes/com/djhk/common/exception/file/InvalidExtensionException$InvalidVideoExtensionException.class b/djhk-common/target/classes/com/djhk/common/exception/file/InvalidExtensionException$InvalidVideoExtensionException.class index cb669a4dc244b27a0b81f57f87a2bfc389d87a1a..faf7c0eba3938a0875ffd4f8ddacbbbf39fd72ff 100644 GIT binary patch delta 81 zcmZoff$?3=9nB46*69aQLMbmw4nCmux=ID9NbE e%peX_$;2SRAPJ_K83ced7Xu?ujG2L-ffE3)s0>U1 delta 61 zcmbQj*2pG$>ff$?3=9k=3^H5{%nXw33{vb2(i=s0F>b!aD9I?v#2^loWnz$E5CGC# N42(cFGXp;ZCjf^A2;Bex diff --git a/djhk-common/target/classes/com/djhk/common/exception/file/InvalidExtensionException.class b/djhk-common/target/classes/com/djhk/common/exception/file/InvalidExtensionException.class index f80ec627e9d939447362e82669c463ebe5a7010f..5cd8a9d8b28bdd09faa72335ca264395da41440d 100644 GIT binary patch literal 2210 zcmb_e%W@k<6g{2D8d*_d;|C!oI0Q^0$&Z2XNQgqf5jIhf!@`NONU>;3jWzaYMm5uN z;vGAxC|)ayWhmCXsxWZ{6(7KNI1W4hfa1(ZmYirDQv_AbboZ@uPT$+N?;ZW|_r2c% zoJBE-NlXoK{&ErtywVQ?XM)$O!Rs{xuN!#7z*&Lug0m)Vt5UKm%ALEdmE&8kGk3eJ z>Y5XQRKanSm$#+wE8oDmE@eSgEZIvj@Mae?PhK?&bH0ly)a0`2#Rv@g%Cn?hQeNQG z^}@RX;)=lGyzBT{I=Uq7hU#OG!A}q`ZQH%2Djh9>;hV)3xh73pI?Lvw_AF;PC(y5U z0u>mF0wg}NY~{$B5{O^097|smIG>Kt>LvGDG9`gn-mOqVoc!Ne?1g|Gy713P_EZ) zSMmyV3gE^*q&<@`v0rIDvGN`jDDcF}d(`d!puBgrhlSeEmTk^@o?K@EB(&SAS%K3J zRo@3oE2^w>5tlTHJlH2@w!i*l>$hKTiVyF9^~Hnc$DC|!e!l(vcMrb(;jiXrfBtxP zYxC2s<{hzpr+L5mrNGgeTvco=WvOpiy1LV1=){$DZz=p6ON4U*qY+}6l7YG4!e17c z=yog1S#wuayJ@vNo0nzndg}(*1>;56U2W6_zS%9=Cbf#`vUDo8@+Vrz++&@7hn4Od<?BoVw*{KcmWv4d~|2Y&m!S~Y$ zzAPgc;1(lX9pg6R+~|2)vn?q)^#WHE4P6l7EO3I-v;}S)b%fku&NhCw7fx{e+a6Q0rkmFMv=TX3WJho}#6O3VokNFQ>&2sJl delta 736 zcmZuuOHUJF6g}Te+nJUDY=yQesTNSnv|}w|Me73)1<{>}i6JZ+Ap}DzA?n6O-D!+3 zGKq;Rt8RS}?IU#J4{+;WCZjw``yf7X-BCiwBK*W!k_+ObF;R z>(8HVIQORo!ZVH9lji%k8?Qh7avpDftTt+o8cs>Wq=8GA67V%k&bsqVR+ij$*+2~Y z4IDt+Kri9~!#8f(-$nLwOnoJSYGU9TN%^Ivxx%b~m9X!5`}LNaoL%=!+9hwah&T`H zW>|>>%hmZT+oDwcl#hnzC@8{$}RxhEF3yhj|i0f4-A+-XJ#TW82q-5e_ zNY9BGU!H@RSpr1Ad186npd)(c|)78O*pCL>SCLgarqKC>K!D0;Ix{ zgFzBRTX8T*foN+E25As&!@(c}qHQ@CWI?nYJA?hkm?|bYMg|VQ)Z!A4{NfUJ1_vGn zIgsJ;X4aEsP0q>BOJ!sb(a`kCN-Rs%&q>Tn y*Y{7#N=+`Y-aMcAHlrpBgEr93ObmJq`e53C!4OOvF^B_cE(S)R1B@8N93%nfKq1}$ delta 177 zcmZ3-J)1k`)W2Q(7#J8#7@Rp7SQres7>pQ<*%{>78BDntL>SCKggFO;C>K!D9Hhd6 zgFzBRTXHZ+foLlZ25As&&A}i8qHQ=BWI?noJA>WEm?|a#9tJs(aq>J2_6!c}433jO zGMO_vP1a;Ko7~GR&!|1Qkx6^=D(2gaip&h!K$kEv=rQPnX#)mvAkD?V2sF-wLCirC E06~iuk^lez diff --git a/djhk-common/target/classes/com/djhk/common/exception/job/TaskException.class b/djhk-common/target/classes/com/djhk/common/exception/job/TaskException.class index b9bc25373f012c73c8c3d5ab2f7d5ff977995ff4..532ccd20c75d35c66b5d480a9ecf2bf9a25957b4 100644 GIT binary patch delta 109 zcmX@gahF5s)W2Q(7#JAL8PvHLSQr$z7+4t;Ie{!Cb_Qj31{HP&)s0HVOcIO?+15$J^>5cc1_lQ6jU0?j0616$RsaA1 delta 17 YcmeBV>15$J^>5cc1_lO`jU0?j060knQvd(} diff --git a/djhk-common/target/classes/com/djhk/common/exception/user/UserException.class b/djhk-common/target/classes/com/djhk/common/exception/user/UserException.class index 7dbaa64e2f56b8eeac2b50b56981935af17590b4..47f4bef3129d1296826a0b530bab95bd17264eeb 100644 GIT binary patch delta 17 Zcmeyy@{NV#)W2Q(7#JALH*(}L0RTqQ2Au!^ delta 17 Zcmeyy@{NV#)W2Q(7#J8#Hge=K0RTqB2ATi> diff --git a/djhk-common/target/classes/com/djhk/common/exception/user/UserNotExistsException.class b/djhk-common/target/classes/com/djhk/common/exception/user/UserNotExistsException.class index 22d41685a70d771c09ccf18594b4e4acb0b84356..fb2eebc413805e3dae04d788852782efef1d06f1 100644 GIT binary patch delta 17 YcmZo+X<^|w^>5cc1_lQ6jU0a%0XeM(MgRZ+ delta 17 YcmZo+X<^|w^>5cc1_lO`jU0a%0Xd!qLjV8( diff --git a/djhk-common/target/classes/com/djhk/common/exception/user/UserPasswordNotMatchException.class b/djhk-common/target/classes/com/djhk/common/exception/user/UserPasswordNotMatchException.class index 342f8054f32267e2886b7fce339b048e70167042..1bba11525886c4ffaf2bc6b523fe70555666e760 100644 GIT binary patch delta 17 ZcmZ3;vXF)2)W2Q(7#JALH*!ca0RTIQ1)cx^ delta 17 ZcmZ3;vXF)2)W2Q(7#J8#HgZTZ0RTIB1)Bf> diff --git a/djhk-common/target/classes/com/djhk/common/exception/user/UserPasswordRetryLimitExceedException.class b/djhk-common/target/classes/com/djhk/common/exception/user/UserPasswordRetryLimitExceedException.class index 9c5818250d87fd1188c15ba9b0818650d62f68f3..e8a1f0685fed24072b64ffb86ef3a45dc195994f 100644 GIT binary patch delta 17 ZcmaFD`h=C^)W2Q(7#JALH*(xz0suvf2I&9* delta 17 ZcmaFD`h=C^)W2Q(7#J8#Hgeoy0suvQ2Ic?& diff --git a/djhk-common/target/classes/com/djhk/common/filter/PropertyPreExcludeFilter.class b/djhk-common/target/classes/com/djhk/common/filter/PropertyPreExcludeFilter.class index 2654534cdafe66c6b6d2454aedbff012c16593fd..058bdd231623a5c7726867a8c5cf9a37df870253 100644 GIT binary patch delta 17 ZcmZ3(wuX)4)W2Q(7#JALH*%;j0{}fc1;hXV delta 17 ZcmZ3(wuX)4)W2Q(7#J8#Hgc#i0{}fN1;GFS diff --git a/djhk-common/target/classes/com/djhk/common/filter/RefererFilter.class b/djhk-common/target/classes/com/djhk/common/filter/RefererFilter.class index d3e5e625d1f175ab49eb3ab5dabcf7bfae5aca29..ddb6badc9486b8a1127df32a0d9c41d81ea128c3 100644 GIT binary patch delta 1099 zcmaJ=NmCP15dL14d6Q%Wq>vay7&OQ#xNi{`qAU{J*hE1ck`Y3}Ow0@*ibUKfxz5G% zA9$oVSaR^-QGbH}#8R|plEPS69$vrqy8HY3>z+5CE8bUXUp6;B0XT^jKZ58K5eguR zOCm1&QI0M@y3yl9C3-ooaP*0Y1t6l|4qg>;EdU>`2XF&71L(kjZ3a1p?C@{^Be+#g z>iZnN>3VsyU@6j8XxQMLdzPXx9!~G7GPN^Q2r}Kb~TVN>$|=Sc9B2WKB0^C7ssi z)dWLuMoFnrU5hK`NYb35lVK{FX>jChsux7{M@dqf(^G0eP#)B!#7#ZB!10Pfi0OK2 zHp3wGYMPpjrWM0b4TiUkF`FZvZ>K<#m))aiiL`2j^T>#kSKM{6=P%&kLPjkP=7$uq zet4^L&eRIoQR;LcX{r&9*9`UBdij?OhMNE9p^lzW5DdF%G5foc-9yjAg=%=Z=|T^I zY%RIkX=k*1n?Hc9IXN;}!Esg)6CmXiun+s`MiWOpG1Xdv*f?tEmcUK6hTdl_)s-EL z?D&EO3`orZG!WKD*^Ou-d^2G@+guFYM6%sbE3;2i< zH*AG&$X1gtntOvTr`8y;4xtQf#Ot%MTUA%7y+g!r`wrs>)v!-Taf~^5bBG*1j&kWIb}&ARj{5I#m6kcJ2tYfX_(bGJU;Kx{GwbP3z8YIquUh delta 801 zcmZXS%TH5L5XOI}uY23xARhv`~Lkt^S z_fe*WZ)khdB(Cj_77)ES)OTw8H-u&S=?vJ;sFosn5!&0$0LKs7Ol)H0%P%+ zcq|joregj1$#gc=Ii1cVl9P%G`=>Jys<(K;Q$=xoI6W24=JMfqCX<^@CM=%ud@1XC zzXZ>geO+US~a zAr@GxfdGv(Nv&7d&9q2;Ojvr99dcUPsTD;$FEO8F7VHu4Y-3%}y;0epDH~j&yd|frl)H}Kh-G}rOp_pCL$*a}Y=U9+uw?{ha*k1NYSM9a2 zUo1)W2Q(7#JALH*!p80{}f%1}*>q delta 17 ZcmbQwJD->1)W2Q(7#J8#HgZg70{}fo1}gvn diff --git a/djhk-common/target/classes/com/djhk/common/filter/RepeatedlyRequestWrapper$1.class b/djhk-common/target/classes/com/djhk/common/filter/RepeatedlyRequestWrapper$1.class index 4555cd9b7697df98ed0a7cd1b3ec0ff9c49c4861..8b4aef1279da67ea977e0baba54caf7951441f92 100644 GIT binary patch delta 161 zcmbQt{gzAf)W2Q(7#JAL8O%5t*cjA6ggO@kJA(!ngC>I(CxbGBHamk3JA>{<%~(c8 zy~*v2XAJat7z`K;85ubIQj1GG@{3D&7`Pa?c^EhtIC&U&7>w8%jCmMD7({s(Oc+cV z84M>b(4V}V=?n);QhrJ$BLmaqEzFl0w@mI}dBMmsxsX*@Tovd7CZJV9K$?qz5$Fam F003En8^-_u delta 162 zcmW-bI}UIl-cE-X37&|Xv;}wXjQ_Q^X z%|~iKc{H~>kW+ZH82xH2ahXVB5=qF^W#%%!Bs(D%`XrvgQn4acNPI;bPocDx)!-65fqGrjEqN-UoWLVLxYS!*sbs^SmSKQcZ>E{H=X1jCMXrG_8FFPKCY}h*) zj%<2tv8}0T>K;4nYW6%DG(Gwmus^bz*zdUy1bLg5`DkxBv?r<@ITD2SRD}8!E22uQ6z&A$E2&K7^I?2)uyC6-{jH zd>w0z1K#3%C-T4)SP4$Xk4D2^UZJ?Bz* z&ATtrFH=!(6Q3mAqF<6sy`rMtX97Z-!o2v`Pa*-5q!7gI`mCj}^d%n=ch*P} dR{iZ~j9%-V{{m_H+Igm}qr@z=%_5fe{s00NFZKWc diff --git a/djhk-common/target/classes/com/djhk/common/filter/XssFilter.class b/djhk-common/target/classes/com/djhk/common/filter/XssFilter.class index eee86e5a589f7f5dde6f1112b8a2add4a4f132e3..f45944a1644dd5107d7da9e6f64c8a757d8d3588 100644 GIT binary patch delta 24 gcmdlXwnL2L)W2Q(7#JALH*!>RGH%=4#JPhC5wA_6(TM^;ubFrD-waXKVPHkq delta 127 zcmW-ZI}(C07zQ_iF_QdP+1iK?0{B4jieA9Vk_#~7*jac08Ls3Q{EGdy+Pk|t|M|Y& zK*J?r!gfSH!dnc5rKB?K4Eu*~l{(yd)h&)f%}EeaVM-!coG{~TXr8SebQZA;RZYe! Pe9W2+^I#Sg;{W{s=;9AN diff --git a/djhk-common/target/classes/com/djhk/common/filter/XssHttpServletRequestWrapper.class b/djhk-common/target/classes/com/djhk/common/filter/XssHttpServletRequestWrapper.class index fec7cabee3a0ded6424a2ada2e8598cfc92d9191..ac2c3310214ba2f5d40b515335551e66e4c44861 100644 GIT binary patch delta 314 zcmW-dyG{a86h+tNj$CrRF^0ldDX~-vV>VP)o{V3375|pW=IPL z9=na{jN;00O-*rQu&EnvxeKOb%5nsAfv{$So{Wn|@G3L1Nj3PES$U89(U-qgN|Fs9 T5@Uf}s1_o;Y%C=GPa(h`g}XOS delta 292 zcmW-dyG{a87=*vGyL!mUi5dzOOR?3BLE{GTiZ{H1cmuDi!n%fR0ceYbZ?G1=hOx8o z0c?B@U&6@oFJ_XNNhb5ZCZCd>uiuYPV2V&NM9#pRWL~krqQYiLG03u!^9fcItE?&3 z*)U!~vZ>H)NwyVz>_~PK?3r*;QcAFIqGic}6S#t&hjxA3lbmVJxsY6H zuJAS2+{76>?c55c<9;V2$0kidEq<{*yG|wkwzGD?-Me;voRmej`vi+whP$i~-8KLB E2UCGC?f?J) diff --git a/djhk-common/target/classes/com/djhk/common/utils/Arith.class b/djhk-common/target/classes/com/djhk/common/utils/Arith.class index 5b515c2d54294ce1c89ac545bc8b22a042e6c6d0..6483253641aef596b3fb521676681f87300c1d6e 100644 GIT binary patch delta 17 Zcmey(_nVL7)W2Q(7#JALH*yrS0{}>^2E_mX delta 17 Zcmey(_nVL7)W2Q(7#J8#HgXiR0{}>#2EqUU diff --git a/djhk-common/target/classes/com/djhk/common/utils/DateUtils.class b/djhk-common/target/classes/com/djhk/common/utils/DateUtils.class index ddf60d979e013711d94cad18379e3882900fc8e5..49c29799896a6d4bb2c5ed3d41916560b9df42b1 100644 GIT binary patch delta 2251 zcma)633n4!6#ib5W?rV#G@aH^jz^0YXlW^-2vjHtw17~XRtSotY-1atG$ged&LFI5kakY7DBmh7~5NSkhTpi#i6+QhkN)Uv9L9{Zn-#q+lXy6f~kq z!6YGFB*9(N;s_GJseR`i}w`-a74lf3O>X~4Bpyk)QA}! zdV3&bEQz+n@?7|sF zKmbuN9yJV-kShZL1rt!SZI0v^FXI>VQFmD1_8qLRYs2x)-K=l@+7p|$G7MOzw}tAW zk!IbP+iEN!DQ4&qBSt%A_4TGM7bJGdD_LB^aRKWj!(gkaVLh_g-x^sFZ43E>Mn`L8 zu^nW(-fToWIwkzU;A)6Q+m^R8C^I9GP)A)@kHtb1c}rQtzhc-On4w2n!lBq;+p(tK ztR$5rL-kK~+jCB5yP5AUG{bJi+~e@XGx62w;c&3k2-QgVlVQmJ%FS@@f7{_an$mGJ z*Dks`)OeEIqT?2y7*7c_VU~i%jkqkvgSZMt<4{L*Dy{s)8S(7$95;@HUx#z_Dccx~PBQBBX%0SG*>=eFH zRE|K%314{j&a#)6RNEtx1F*rT{Hol;zZ#a5w0T0#;duU0G-USxlaJiNpwn^Es* z)hGKDpJy-KIHbB@9`%;S#l@IMZe)hGRItg^6A{cwS8*AE$)f#gL`ZVdX^ldZBp01V zDcVWmD5jv-k|d)HMd%<&!D#x&ND`-OV0jAC42mUA%u8c=em6=Q;xt-=lNfUP!R)56 ziHu6U)b{Jhk<;&bbXt`fbPRT-Isp^Ib#}SK;Yea=5~U3lc80+4(-YWp*oz$OLqQz- ztt?^?$)B>UB%VWkTSfU83R3y9h~JogY&KFp@wKRB2@F%q6R1#!C*V{o6Ohyq3Ant< ze)u(qIy|U3)e%80TOAqHTxxkxlT>d|<7!n<^Sabg!-z@h1w^?zny6bHLsVAB63tPo rg9#Lh$BZ5$bE{fh>Y#}ecR7v|#AVX|ir?`YoyB9c=Cs~Q|HuCZP)d*X delta 1927 zcmZ{lX>e0j6vuzBS>Da-YZ_jlwIkXhLTO742t@?}t*Ep%AO?^qAk`w4Vg&>gQG*-B zl_e^Q3o5waT8O5V0`8)?qJsM_D7bv_i!;tJp8Fcx4C2eoIsbd_|19sEb6?s@cl1l_ zJh){$FqGdcPNBtQxkU~w0Y-DPCE^y1Zq?#8y}aGz4vPRQv{C7iEbe8kHoH%o-EZ*#59YFthqU{LwRprQaTECZPsL(A8}t%}{jszYaA1bXqZWN= z(c&@1<61wV*r<3?!?hMq@wCM=JZteBt=j1(i_N6;-t&qVbo{iUP3v~Wi;69Z4wJ2l zZHn!RmwG8)R=lEkRq>kQb(1$t-rV%p9BHj|iabB0EzYcZ8+$-jNY zc{S{?IhVN2TfCht^$$(T$mC<2PuOi!!ycQ7>^Aw-<}*GwD4bots6H~MzIj$8wqSl^^Q`KHjdL1i&bRr3 zFAY3w_w5z4Wu9kX>wse_9I~Y=yT9IeTDk9nt?JIA? z*d!o_I+1>NGfY&l-AP~^<7E}#Y$haROIw!+T|cUWoOm0aR>4M=g9@RaLoCBC7Ofw1 zGv0Q5hmxx(l2#pt?Eeor4~7eSQYSlE5XH-k z!y|NEOYq2L4{!l9T+6~P%R=fUH-ig>C7p@GH<&szobIP*7p?QC^`AJPYRQU zOs-S9_ywy&R+dSVn9MnhNkHz<#crZip~`VOL;?CEvH&lOB$2D=!PPQ9*LJ{UFz}=hWd`|uJFpP zka~cd-8aVD@|YL*fjkLY>oPB6x66x zP?`aH7G?628+w!`bSFIvc%N z+@`Y15aJr?gxo#(C0Oc~VF}k|+}2BC9yvX-+~e`IQ`ydOb>dY=hz>k7K+vUjkjqxW z3AVXW^mvNBM7dsct`zkKiDwYb#LE$VW7l_NrNq-ugA++H$QhjCcxOlouQN1-=~Sig zhwN<(i+h|QvAEZ%ip71-39-1}861n7PAC>v&WW*j$nTs~Cdzb%i&V}Ckpbsqk(M)3 bWUezRmZGQrPRVB`IWJrsFt|xpIV}4JCgnX& diff --git a/djhk-common/target/classes/com/djhk/common/utils/DesensitizedUtil.class b/djhk-common/target/classes/com/djhk/common/utils/DesensitizedUtil.class index 2ccdd8e6469a6b4d90d28bc831a9039ad45f9b24..342b2e03d8e49df3fde3e034f22602f027e2a964 100644 GIT binary patch delta 17 YcmeBR?_lRR^>5cc1_lQ6jT{Zk06CEb+5i9m delta 17 YcmeBR?_lRR^>5cc1_lO`jT{Zk06BsM*8l(j diff --git a/djhk-common/target/classes/com/djhk/common/utils/DictUtils.class b/djhk-common/target/classes/com/djhk/common/utils/DictUtils.class index 8560cd069d6963f1e7285ebede350059d6267ec7..f1980137fd62247284dc3b9d416a065695c9e770 100644 GIT binary patch delta 1054 zcmaKr+iz4=6vlt2Q)W-koL&bs*wjeUrcKjy;DI1a8nJB}A6i6eFm1tloF1n`hdHHl zS{+d<-tScpSFxagf`Hmuu%+DLh4>HnfIe$@u=Lr)xb{qKnm~LwYp?a~?_1yAJL{aT zJJ~S$%RjSMfOXt7sUxoFGjVvqq?Ck70sT586+29d8BnAYX%odRT@NWTAw0!!h!HJ$ zQHPflS(6BHUA(M$yLEUa%w}E<^AxY?Flw@e*JCC{?9u5PI(t*=-qPW1EqOM3%L0u-#Sw!#e}36R{^p_*-wRfTkMfnp*Bmog z<*zXw@F#-3j~!>+;soDVe9K9TQ+#J}nllz>`QD<9A1r>Q)B-1Kvm5`+x)rpQ^%Ib^JcLg ze@`fqSb{HzTI^J+GwC@o#SMd+``F&=YVh#?^Zfd7rBOW97QUrMn`BZNWl$2b24pS0 zNTh3;y)Q`CTfRU*wbsvW@M+ z{m&qeJS#|%o?hvrZ?#5N-BH!gQj1KP_SUxv=HR~<8w!Qza;5?79P4=oWvvi?mB~)r WjVrm#HLkFdk7Oex4L+9dlYar79qtVP delta 573 zcmX|;+iy%!7{!0*46|o;zt*MG1oJT7G>wctkf;Pj(noPgBvp*I<5G7sMaOO2?-bju z>Q=W>N^6ozDm-}*|A6p@=l%;~e?$7P*Iw((T5IopPXFwI+Tzzgqo07elq|Kh8QLvb zHd!XI*%GovVXL9TQpq;McEe7KVUOy)hFpxip)BA9a+yu<4rH}H(1kEl|Q=k0KWPVWZe}fQsoWeZn{2phmTVAuU z_>(Grk>vNdr^-)SSm!AolJ`6BgM+(rp_86Rp-|TGl%>< iWRAyZ*)ulY?)_xSHwf9NBBYhw-e|qivV&cX)Bghc4{5&u diff --git a/djhk-common/target/classes/com/djhk/common/utils/ExceptionUtil.class b/djhk-common/target/classes/com/djhk/common/utils/ExceptionUtil.class index e4598fd91eac881b3c5e33fb2c03a7cf9b18bed9..8586c720375e5db803c12d105846b0344f0a3930 100644 GIT binary patch delta 17 ZcmX@ib(o9e)W2Q(7#JALH*#3B0suh61`_}P delta 17 ZcmX@ib(o9e)W2Q(7#J8#HgZ_A0sug?1`q%M diff --git a/djhk-common/target/classes/com/djhk/common/utils/LogUtils.class b/djhk-common/target/classes/com/djhk/common/utils/LogUtils.class index 9adb5a3746d2c18c7edaee31801d21c493dd746c..53586af005b0eff06fd3c95867c194d7deb7b121 100644 GIT binary patch literal 977 zcmaJ=O>fgc5Ph4ZaT=1Q358NVN(*U80@OziK^z*X0^!0Tr5q{_8)ubl?CeJNrc(b2 zKLaix^}rR0ABC8$jc{pHOWv7zo;UkuXZ`E<`40duuvbPAw@SEe?RtZ-dk*e9c)(D6 zDU~#@81k+5F+-uJhk~KzNhRLRrvnik@j*yP!_z(wk9j0*oPq^2mNCPY=j*9EoQwmP zoT*ms+{iF?Jw5thoi0OZB+P!O{eWS&*=Kz$QQH6l)a8jtM8 zSF#zZeZ&3Wkk3*f<-VRrzBrIpYW45FdzM*&gAxNO*u+DI)qSl^Y$8586lSc4ajl50 z61FRNgvSh<*LOnv|J6`$MkksX)>;cXDWi!UYUhM~VpyN@K=icox%nu~n7r6lD@LoBb2>U=A%e$<1L6ZL(#m`~*+Y O!Upb8Yz1%7d-o5Gb@%W9 delta 337 zcmYL?%}T>i6okKZSz+ zw}Lw#!q*Vbje>V^X6Br^GoSjw+5h-{c?0&?@|j@SV@0#-V;j0=aNX={9(5yXnuaF2 zkG^&TCKV{ESIKSC?k8EdeR@6YW!>YOUcZwL73w@7W+R}0sutx25C@pj^>5cc1_lQ6jT~%Z06oS9$p8QV delta 17 YcmeCv>C@pj^>5cc1_lO`jT~%Z06n(_#sB~S diff --git a/djhk-common/target/classes/com/djhk/common/utils/ServletUtils.class b/djhk-common/target/classes/com/djhk/common/utils/ServletUtils.class index f14ab4ede4ea31e78b4243c794072356ea3e730b..faacff303cb06b92bfdbd60a3e1890a79fa4aed0 100644 GIT binary patch delta 17 ZcmcbpcTtby)W2Q(7#JALH*$E20{}+p2A2Q; delta 17 ZcmcbpcTtby)W2Q(7#J8#Hgb510{}+a29y8* diff --git a/djhk-common/target/classes/com/djhk/common/utils/StringUtils.class b/djhk-common/target/classes/com/djhk/common/utils/StringUtils.class index 0a7d3fd2465bf2750ac7d4a1c89a0df8829f1ae1..ae330ebd93e75a716e637a921bac4bfa72e6269b 100644 GIT binary patch delta 4451 zcma)A33yc175>kgByX0Ng$$Vx5)-nSFa#0-*%BZScES=8h=_s%#1NJQlfjBrV=Hy( zX6@@D)U8#)trnX$AX=r`y0x{nt!-_sTJ3IIyJ%}^1pjm2Bs1vOe*M01-?_{A&$<6S z=iECyu=?%R{%1}edj!CA*&ajzUJb&J*FyL;exuTFwfS8LzxTR-u<=JfUJoLSKWX!4 zo&Jk9Zv=4x{u;#J@OSP0BZLyXsm)t9{;5mSiu6uj+5{Vi2Cnzt zE^=gGO0Z3&#$A;WagV2GxILkO`>35a@L1>yscgX-2XXANWuk*EGKmegYO~#zTK(=4 zl)7(7>A3l2y(W^E{@gijCFU` zw#IwAx;q`T$V>-U%Pei`9chr+?kkz&$IOx04nBn&Y?P|Am^x8>s61S=gJ00&LcZ=zHD^x13V|F>gnyQbsMuQ z{hRQdgBS49z^?44t*W40ATfa@LLYaf1DD}l--SIxb47bIuabHi* zl8KbUZi#KP7jie|Ztu5cvpRI4pdv|rSNFv|J310);6W~mZHf2v?zLr`AfvgbXUCr1 z0%vJ=cSmp2&RAbx2kqQg-TXcbZ|_TD-CK8d^i_C@^~q)Ki|KxbS!h(kq_@0n@9qxw zx%9C6LeO!SIpO}qY*TFK&epDYN4+gwg3ABPn4tK7uR|$IMFESC4`ZWHT|G`e_lQm-XNFEd3iVOAO0Wf*DBOJ(G| z6txJt(L-~ojC5mn(t#94E;5dIh{y9%8R<+x%zPiBjtnE7#)ty4L>fk-k!T7dy(xeN z=wo<}98q|f5l`=$NO6CXk;_x`GE?+M7-1DxbA+4AuZCc{lA@M> zx>}x5V=Y!c+-LJkrY7A#n4*@I!UZ!Y&}8#w4&Z~h%qW(Qxm4QRo5n2Ors+F}nNWvX zT#hTaS1|bc(9f?*S8_~Q>%xa9Ss2CS{xBsUCZYjXVIR^=F6F@=96}Z!4)4IW@ewI> zP7o}Bt8tAnxx8Q&O!>?(Y||Xo z9Y^E9!V%qt30)ogsBuzJ0(2u7bnJ9>;$!%@0XjCeg+NYWRf_^mrGruOqDpD(H;zCy z;uEGq>eweKStv%CG2=74^~0BE4e@D2?CTQ&y{~Y5@(iUZA*Xe`6K;DKCzRRiz<>OUM@=6Nf~ zM$Z_ROh@t3(X*93!e%zUVA%93_f5QoZpJODO!J;ci>LCR*l6th(n}#xL|s7cO}BU4)zejHtx5sp zWlSS02YmUQ)a0YlF-c1g(9%~iU?LJrJBBOD%?aAGm@N$F8uN z%@(6{a5bay+uS0_U;%!D64QsJ{YgALk$lbK>+UJ;)-q8sArYXHtfEuMMuv&dN!&gE z+))+bv!5Q>e1!ffZJoRz)8%k9XVV~NTel%SdYBY6ELTn_5rcYVe9vblqp-0quw z2*C+?-16l1eZKc>*1e-*dA&x4R@!Me(?muZe@WJx$j~z0X-*3$=WjYMGAfy{&zQ*A z_z&r&??5#9i#y3MxOTmks#%I;|*6)`XT)io}i5%;m2GZ z!1MSCzlvYO8CDQj(f1Ta>sEv2l>rMsHIEg~!=JGlzJQ;rhdMBq4r+xB@$42C=F}a< zlJ{cWYp}es9l|g0B9~JEzce?FqP?VOOpro?Y20nrU?|i`D5{zy_3rYjIu?SJ&eyz~!a3SKr>Y;$5vFWb$DgICG3qmq^mWnjGt241#qu)4U)hgYa!;aAeZZ;=0A Tu|+z0xfRG*_WkS^@?X)rDk#Xy delta 3998 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 diff --git a/djhk-common/target/classes/com/djhk/common/utils/Threads.class b/djhk-common/target/classes/com/djhk/common/utils/Threads.class index 830d5babefbda73079588e733945d85e2d059f5a..5083fd32d77b822470a31fb8e6151ec2c697cd6a 100644 GIT binary patch delta 17 Zcmew*{7abQ)W2Q(7#JALH*$R91OQ4S2TlM0 delta 17 Zcmew*{7abQ)W2Q(7#J8#HgbI81OQ4D2TK3| diff --git a/djhk-common/target/classes/com/djhk/common/utils/bean/BeanUtils.class b/djhk-common/target/classes/com/djhk/common/utils/bean/BeanUtils.class index 9cf509c266ce7a31564a48382f3cba540737fbe8..a3f5ac22058a12e06a1df127d518daf3d247557c 100644 GIT binary patch delta 17 ZcmdlWxxZVT}+zqG92q!u(hSH^R}l z2_Luc35^nb(!$La_Gy%2zes#a$ft#TM#wE1vv5G;R@^44w+rtM8~Hme+@*0h?$J1i zdo6s{#(f%R;E)L1ukipLwDFL}!x*w~I7}mtlo4-1%snpTh>#H>PiQ=eqoOie28GXw zpU(#=41XO6{0r`$$7YRYd{G>HX|06$w1sCh7UGy3zG~rX8ZF-88y3E)(dr$(ZQ(l_ zOL5G?_cYpYOu~Lva6czbzc2oNplRZ{!&}rPL6vbH4K118iPZ*|;8KGtu))F)4Ss}- z!IjwN#H^-;KgI@wPW(hT-4=do@G}wnxxp{+ONG+z)Xr40C)K+xxjNUM>D^}VJbtAR zcV_tF&H-zAQzw3Hup93%xEdP``h@gjz~DDx=LLh`;&%qW#~%#dhHITlduH^H1~1Cx zpA25Yai`sG%>Nn34c>!|7XD)JSG=rX?;cF<9&Fk@XyI=Lf5!#|*ki<4%7)V`&Jv@YmBBja#b`veI90JbOH8t_Kf9GFNUEfA3bE(6TB@93 zs49iCC+n5z-I?8yE|$%6(4N{%_q!~0nnI`}o856upTfRaJDDe z;+!9xQC76-39Q-Gmu_(`i=LY=vfENUJ*zXhbc>~G6lVQjb`{R}-*TwuOR1G-gc_{G zg?w8bJozw}=T*3f=e)7i8rE@dJOQl7 zWjuw^h0Dni<#}8^<-_nzDr*7&5(uCX>n@mL!2=MM=T@|Ex~mTahTwaMk_waFC59`p zk;c|Id!{vCEH_a`3cmUXmJru67he@64Bz`(u*tPngB0FMsm=Uj92Z)oTeuJK)^cs8 zU7M$TFDYu6q;~g7aa(1J2F%e@S4V&3BQ!nP14dWPMnv@y46~ztGppEg<8&g zusq{XyCy7k6)nl_4)oCDG)iB^1_^Mu)}xof1!=hoS?)q^a1r>&aF&X-SQcle--A@1o;V5lx)2(#IDu|hsd+ITw=`v1#6KP;YqwTK~x=--Jy zj-Vk1^*4O za1=4;VATS*XJ7A@$0^pGF}R&75A_BNa-jKe7W+o}Gl1Fb-FI>qbgNR1&={r%UPTid zl)vTWob*zl5S5zUXTpzEu}AlkCn;)3tZF>k>OU_~8JOX0td3T^X&-`tL)Qh=JttrA zAM(IDd#Y<)aPl-OIBVYJI;FPjo=dpT5b3`d$pD8 dx416l`dx%og{oGS^!+FmqEvm1K89WT)N5rc?ArhU delta 2559 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 D(P^=i diff --git a/djhk-common/target/classes/com/djhk/common/utils/file/ImageUtils.class b/djhk-common/target/classes/com/djhk/common/utils/file/ImageUtils.class index e0816b0b64a02257e6f7dfd3a7cbd78f2c7e8d56..dd0972bcc3c672fd69c2e32246340dc16ea776af 100644 GIT binary patch delta 1287 zcma)*TT>fl7{`B`ki47i&e(!N!O}t@Hf_Nm*j7zNg&t^|(8{S$v~&pz1kz2KU9eac z&*$@cs9Mk7INn%$Aya31uUCG9-Z_rnK*v#^O$F~f(L`^0fRw?6vGA^7|}VYGitDhF~uo^ zjf@B4A%llG9fse|1lB|#%9dp?NmenXV;f92GE*(j&nxlD*tNt|a)p5-~k^CmCwqRC5v zc$rsBUgb5#>n3mTrvFX2Gyayz+xQwAdkO{5^-5MTV|%lODfgx*@94a1@*ckbYj`sH zzR5*CxN@TET*&_;>a-es$VVC>P1C45Yt7re1t)8HCv)DcSgvO|p6k1+e_3%UK>19g zb-mP_vsjq7lY?F<=gd?x4_R5SP+C%ap%G0N3iAs^DeZ{k*rndQ<+`@3aWRqp7e<9} zpXE&DZMU_Om|73>Q<0kG)#oaqLrX>bhJaNPsqyukhJn~LERhMc6bdnA_@19lG|GOmje8NTgxhbfGTW<1xZk3djk|HZ(8_7 zImY)$W8A)FCW)%I=XJEGOw{BFIWCBy)u z0uboDz>G3o)_I(=4wLYEjIQMa43S|(q9#O+NZcr6oMMV`$(UeHbY66cGv#LXp}1KH z+)KA$*Hg!R+%Hu3NpTNI!$KU8GJ3=c3(k5w7w9dwGlVM*D9+oBIcR Cx&*BN delta 1008 zcmYL{$#+a!6vlt|-c+5cTW25%mBvF#1tpD;AUr+qX(A0GNJye25h1VAyhL=7=pRpi z^)c`#Xx5^ZCPM=wBSW)b`3npz>{GhQx0`eJclO!eew{rU9(wiV=_oLlyDrmM?-Hfb zrHX0;HHr;E$!rX;DMT%s&2gQ}7Pcz3xrC?>&=6p|%K~;N8ePWGWT4q)CvgWp?lj&m z11$zxUE0{KXm`nx=L!V(C^`b{b=gO!$^N5Axa83kpi9y1(nGJ}-v@VdEY+vzSM2wm zTko=C%+xGmv0^}TfPjbn(552m@qan`u^;hv2*u6ym&G8{PV1f5G5S~#eIln|Ofg(Yj@_iIDOQIkp%ud~%7;Lf%y+gsW z_2yO{4(Vhvhf-{biz$;`G3+tsF<&amB?@DI713?Q0>wfsg|Aler?84VDb`QH#lkwz zowDX9t4|7+uvAXNvPXvB^cMZWZ&;<}K$L;M+2y(Piis7)g+!e#7$Ft*5= z89TtilyxZd=7-9LYS_#++4x49iHmKKsFen~*e(^#^ot!3J1EO-{Z8HD}+0T zELO5gx-J)u{*u|*)X0zi7S9o$-;*6?b!xIUM_Kc0vgsA1eWpyNnqTpAssVW;rK`La cNli`k%ZMh)e}w;mBrSf6oh8va$=OtV1OF_nY5)KL diff --git a/djhk-common/target/classes/com/djhk/common/utils/file/MimeTypeUtils.class b/djhk-common/target/classes/com/djhk/common/utils/file/MimeTypeUtils.class index fe068ab26fb2482e4d2485458225307d2895fa1e..c8dea7f85f000d4e8494ed9fea27c9c50e3e7bcb 100644 GIT binary patch delta 17 ZcmaFB_kfS%)W2Q(7#JALH*!R<0{}%A26O-b delta 17 ZcmaFB_kfS%)W2Q(7#J8#HgZI;0{}$`25|rY diff --git a/djhk-common/target/classes/com/djhk/common/utils/html/EscapeUtil.class b/djhk-common/target/classes/com/djhk/common/utils/html/EscapeUtil.class index 035ae6742b21ea8ce9f55523856e075e13ed4bfa..5f0272b3a0db114b254ac50c107359b5f09a7ee3 100644 GIT binary patch delta 1617 zcmaJ>-*XdH6#nie?cOYlWHQ)7kWy*WA1Rp9TC@q&($E&P6*a{Q5n)N!Hci+q$+lV* zBMK`1DAH9yQBc5wzbVYr+EK@6{|m=ApL}yv20V9@(!>W}?)}cW-?``8bI#qfm8bo= zUv4h^1mHf*Drmxhf*^K_<#8E<3f#iu#uExS_Q=@F5ts3#f?n)Xpx`Ni_H!H%hQ@JF zK>|Y@y0D)Xhr?nS5$>e$jS4fxkrpWqd0=$G6mZN(8Y~6lnDBuK6vVSWNU&r)=ON>H zju%Ai5snu*avU#l9F_61j8{(myqO)F{j-X(<93BKwY&wbDjq;s#SVn+St-b06~=3L z-TqCAcAvl-Dq8TSins7K0}H5_!bt+nGTu>f3eyZyU|b+u#k+V<#rv36aay1$oDt>+ zcFMJGZ#%*=K2&iQAF1d-n8Dj+npW1zXk-1lHDV5BSCr#pj&mx`3+^W>KE(x&iz>Dt z%yEe_#iJ^kv5BF)uBN%QJ)+_>%v}G~<(GmAF5?OVPo#Ct2v;+P%0pU8kD5k8vj&sa z2%)T{8CKT*r!1WF=-GreraQ!C<3_P%nb8p~vn`X+CK=ofjq#|A&xNS38EQwh2`!Y? zjNwqym@rd%C}w4n#&AAOkCw2^%%qHONnxL9rpCt@)SZT*XQF8>o7J-nXBztGj$G*_ z`2y_FjG?rit<6V91g}8LCn@$6vgZQ_Cdc&R!vZ~Cbi=NLqk6)MG!|UBqA!SQ>2xe< z=@A)M83IdLOLCNoW2pLn9`2?&Y@#`puo@e%k>>Os#|ptuEzE5qgOiiykJfw13enDJ zFAIJLHtTTPXf1b~3N{l~^8|W-_mkxT%@lb`gXbY#{ZDXxNpOV3(BtxmsS?rlALSMG zOPN|q$Xf-OxHPa1ccZ+vh`Y6jt0K=;#A|Z6hvg~OHqCqY3+X}nF*ITqIs@JU#a|sG7?2E)=4zOzh`as z0ncE!$kah4>&FW0q)cuYxTAo8D+P&n!Y*X0q<8xu=@3miiH96TJ@yUHs$3u4kuU9W zIu$xweXIML=Hc(ZhBdU`wScw29ID9Nuz+>9@jR**sQcn*sf&IR1)QUc&Qsejq7s)- zLyxxwGfoYw^C|E!l?a4$&3MEa8csvhPDrA#M{m!{d|@o&-p(Jf{yJ)05x=+d0xGVd z#_#^2Y>&%7y*qXc?DDPO$>pv0)y^Rh6L7t+ZV}e`>KEY_U&A8o@HNiC6Nm}%F0|QQ z%R&Q-!>3T4MBm`_$OGvHwd8NCBI0A@ln}#Lv{TRU1-`+TL_bXSN;=PwFYBz&IP2uU DT~<3k delta 1268 zcmZvaOK?ygA!6EaZ}AP*8E2?R$;ASR3$RN^bfI7HMj22o?cK-8!> zsQAV}xF{+rmhS}%9#umWwaTq4x9)Yr#&YMY(C(WV4OMK;`TOtFfA{I`!>J=x`5(@G z{T;BHj{;g53|P)xdJOs89S~C{MmE5(*=N{rkI$BXjocd$aG#?44LLO)FpLB|$f#kf z+7GF7n;s7<{fKgpsySwOOjC>}*xt(yV_YlU;^M!xL&h>GM=V?kU658v2ak zS;KC_bB4Un9-rrDzE3+ZocMi_}EE+!mE}JUbDQ;8xBr`Wgl+}X!n`6?B{@k+c2qU#&VF*a)<+#w-oK;Z8Z;vV_xl0 zCtW`8Sl;D52Y+O2G&kN^XSq)4BbN91z`=~}9Len%?W}VMCdW&LWt~>&4reSYS>+IK zT-x5TMymXfqo;oHQf}BB@9e#3*Y?b|+(hrhL~hC#aB;DaZeJs(jc^&)vPP@~@(q0}xJ_<-SJpC%dt89a|G`b? z1+SIV8Z7^~K(IG2cxxoN>b&UgVzjiX7@d|}n%bTrmOU*M6o}6giG1tkX;|ho0v)(& zglEmPlMbg6eJk~oEwa1K+)6L&MY)D8WVjwrJiD2zy;?SN12;%)U-(<1a^Xgwz>yLz zzAX5IGWnV;Q6yX&d?ms^1w(li?v`HmQ_f8y9AlgXMFd|KOS+t}C|t!1H%nTb)qXZb z1@wu=CBzfwD322U#roRHa!J?EEt*c;$D~fJbaS$L)ACtT{U@n8Ly*m%=8EK%1Z=p7^+Jxt>X>E8f4&nUKR4Wz{0CV(kE60VpHR=IGStt=@_E$my17!M zmAB>Pp~n!nM{8%eLsn;n$S8`|P5iUPRU5A8`Ie=psQ0>36+ItQd6N26?3=QzmpV8& zuovfxf6fY3(Ufc`&^VxQNwTQ~8pF diff --git a/djhk-common/target/classes/com/djhk/common/utils/html/HTMLFilter.class b/djhk-common/target/classes/com/djhk/common/utils/html/HTMLFilter.class index 9ffad64660bc7f7bb40b233a6397a3edd7c468ec..d4cb3123896bc64f6a38f54791ef8fd9a8007e9a 100644 GIT binary patch delta 7080 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 delta 6790 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 diff --git a/djhk-common/target/classes/com/djhk/common/utils/http/HttpHelper.class b/djhk-common/target/classes/com/djhk/common/utils/http/HttpHelper.class index 51088872570a018111422df9474239e921adf39c..4ca6c4222a66d5250e43095759d58443778cd163 100644 GIT binary patch delta 17 ZcmdlZv`2{J)W2Q(7#JALH*%P80suhC1`+@O delta 17 ZcmdlZv`2{J)W2Q(7#J8#HgcG70sug|1`hxL diff --git a/djhk-common/target/classes/com/djhk/common/utils/http/HttpUtils$1.class b/djhk-common/target/classes/com/djhk/common/utils/http/HttpUtils$1.class deleted file mode 100644 index 2487c769c77abbe644c10295eb24c65b13944b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcma)$O$x$54255`+FC_>1Q*4ngWwHB(S^7W4^Z2oKTc<)GxcyTJb;H1(~WBrl9xc< zN8X?33&0vGIfObA5=64p~r7`(dPtj S9tNx)hTH?LkZ*_;QSb%69XmDv diff --git a/djhk-common/target/classes/com/djhk/common/utils/http/HttpUtils$TrustAnyHostnameVerifier.class b/djhk-common/target/classes/com/djhk/common/utils/http/HttpUtils$TrustAnyHostnameVerifier.class index 164f15ffbd7c57f50361f029fbb1cd0403d633b1..3311e165fd0ebee7d2beaa356819aa708527fae1 100644 GIT binary patch delta 261 zcmYL?Jx&5q6otS0hT)APfSM_X@fm>J32qFm13%cbYOMNHF} zt*Y5Nb5Ax|Rg(`!IKf6kmzRPd}qUKTrgY0)s{G($c`tI6Jv7Uu@Ez-JCuc z?&-p)CpIhZY>>8S5(1<0*&gjUO11d5>D(*ONOZ#EqDU+iI~STTnZDx|Y8-2-%{a7z zOns{su+D~-O;|mB!4@KphH5P~Eg=za zE(h3POUh`mts2djdOr4k8(XC@ZjFZN(i!OvyQ-1x(bg_w|Npf1O4?sx9S#(^a+iPO e$~|f2&%?TF4)YwAQ(cZqOxYAB%JZc9gyb9Hha5Hl delta 501 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 L5UWFc4vzf>HGY#p diff --git a/djhk-common/target/classes/com/djhk/common/utils/ip/IpUtils.class b/djhk-common/target/classes/com/djhk/common/utils/ip/IpUtils.class index 7df09d7fe54d9f7216554b0ec483ce073df8812d..e6ef963fcf4343cfb8adcff17f65a696e9086f94 100644 GIT binary patch delta 17 ZcmZ2wvdVq diff --git a/djhk-common/target/classes/com/djhk/common/utils/poi/ExcelHandlerAdapter.class b/djhk-common/target/classes/com/djhk/common/utils/poi/ExcelHandlerAdapter.class index ec89856c96b36e690452875b85cb9de2d1859fb3..89cff88f68e46ad5cc2421fc7324a25dfc4a9cdd 100644 GIT binary patch delta 17 ZcmZ3+w2X=4)W2Q(7#JALH*&}^0suSp1*iZ3 delta 17 ZcmZ3+w2X=4)W2Q(7#J8#Hgd=@0suSa1*HH0 diff --git a/djhk-common/target/classes/com/djhk/common/utils/poi/ExcelUtil.class b/djhk-common/target/classes/com/djhk/common/utils/poi/ExcelUtil.class index 2af5ecff8df1d26b8cef563c693e7f9f4e6716ba..313ea2dbb1c7f485a5aab82f24ac48f3beb0ee91 100644 GIT binary patch delta 21962 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 delta 22119 zcmdVCcYIaF);GSU?o)OO2?-nsy-5m9YLIS2DOQSz5NU!m0W0dUA&83Q*n$mEi3J-a z$pJyI;I;Rz*NVOCRjK)X*X(mnqW9kC`MkgPuUEygZLeZezUn+q7IVeWQ73bt4PhHF{E{RY_bt!kfj7MG)mHpJ^oGkTZPfsoL)D@mu9-%Jk$_VXI zS4F9-x;ms*cDy^+bWDMAxfH7~q|%W6H9xv^8z=2F-!~9^PYN% zUtSK=S^V+}zq}fzbNS^petF$fZ}9U?PrVgUZ>x7AX!&kLy{Fy}(zvi-Uxa?a`ea9I2o=biR zs~^=*T>LY`{tLJNHKcy?)W1CSdz5Zhe?-)uYPYBMgw$ScvM-|cs{_m(br?VssHO$y z;*wLvi4JKK)mD2U9pY!03nQFFIq^Bk;)-n0SLcLuE|)a&bRIwRBUG(cMRa3b5YmNq zFj$!Xi|8i0DJL;*)Qpqn5wHxeLl;FTzDl=HB!Y%50ibThHLW>m6QyptEfTeaU)zOr zd$6AFfQ9RhT)ZfxJ25N=g>`3L9Hn-;B&KE4KxM>2%N zK{I_6=Z@ye5j@gJ&W#G|(fSz99m_x*2d2=+d-{YZ#sAbNdU{MmkJaP2T5mCib!A2NrFeYfoEoAq;KM--V80FZ{aSLT(**vTN&2d7`WS``VQTT z%b=WA=~dirH79E#v{>JT1agXsyE(Zhq}N8{fUznnKi2n#^nLui-_s97#Aw#1AM15d z`Kf-8lZQP0Fh8NHKGjfF#d?waJ9&75rEWjq$r&{5?Y zI%+zYA4`3llkM@4-r)tf6>2s z`Zu2CU)&T5sH^^iHO!y!@=Q2nA`x*Puk}6?JRJ(@c}Yxm?aQikLi;556&t zIVs?Z!U&BtO|Xc#ZX2OvP1A^pnP#48?wO*9c+9l$Ov{MaW?FI5I*$Y}BWIg-T-QEA zqf7_Sbo5N8h}dZk@=RyX6i39frUXJ{N~5OCbm63H9!dQfS9FJ+Fg-kTFh6^GrWZeZ zd!|p%km(x{Z(iGDAXU=!SoUd?AKycr#pR z#G#4rvOm{{dFJrM8#(XjBRq5DhDUObQ)2iA)wtM*qc(JjtzYA0@@H8(!$UR%=XP3GuM}2n0bjQJ=+(|H)r@} z0TR8#Ec9i$93-esA~&nB`SFVu%$z&pM4)9M%otZ4?wLitIn$h#c(G^Gj-QIpfP`HS zKelVhJ%^n$W!mgrk6p5>ws!FazB${>^UOKEIoF(*i1sRNm1in^vsnDgGw1u}0&}4+ zeiwiECT=eB&Bf-D#F$J_ zs&>9vX6E_k3bWidSDLGQm8%-1DLK1h?u@R(=PsHyW7+~=wO1W{bG2FV7lMJt?GKx~ zXu-L@xyH=$&9ywib;zlBmYF3e*U{Du6rjN~*ZU@6ZV(hY<>aX)CwJ)v8s2D55G1>F z^UY1>X5ZXmDt&nrz*0liFyE{MyO>+eZN9nP+#x8te#jB?=7KJFnpJ<9=+Jp*o;rJ4 zk#AO;HG*>Ln;$-VUIp-em$^GJvQMn@J!WlsG{>`tRxFz4nJVAhYwq*S{pJDBtnw5Ui+0#a!xoG~Gi$L3H6?1&0l=RFSzIjtF7Sxqlnukcd)vxn_w|w)qdB->Jn)iIw zTD9@zM!CtCSIMh=xsT_59~F?w4}4iESNh6RA>Vw+!u+g!E^$bCi_p2|pT7A>9iFHt zZxR34eBzl;ee;?5+&8<-7oPc&U%v9q*9M6G)_jNM4p}g>0&@C2OU)1FN8kKpe)i2T z=2zeRX8r|C4))CNzWKxa>6_i=N6+l>&0e$5H~Y;2&(!&rtnjT=Eqtrc-D-2dw}x|h zma`sbL!1kn9}_wKoAj=d_xd(sqrQAl-tJo;dPOdm+P7I4-e&tY$L9LBkBeLIZV zT^)7I5xzatoRHXlNZ;baES7Wx*v1}d9`NmOhUF-Gv~NeK!v)zX^X8m7Z<23EDw$|A zpnZIl9qrp=?6JN*4p7O@)zD>{Q=Qv(tS$!~C4c8rbXP)0k2-Ihkcohj2if+u3#w7+qZLB zc*AYl4{6`M9Eoq|furqwd#Z2GunT;<&@S@rD0?P28u&bm$#ymae~$bnar?k7x#!yR ze7l&jb-uko5TH4=5RhER2JH$P=j5Wqj|1DsFJ|>_cU`;etA|$m_7d6NvzPkzGP?w@ zbUA1C!gD-(xo?-6d4l|gTEMr<>=nLU&U|+zCs*-mx|rL5h6!CJ`YKC-_pgT0v@7g2 zzP;972bDc^-n>N%7cHomKXTfl)8vPS-9BUJ~YJzWXus3@4Cg0v{Z}DuU zZ&%t|J$svPZ?|{&_D;LXS4AwFt9jft_Abxf?c00oTHjXLd!bG3eV)Cax%B}y#TBDk zcVFn+buikhu_}OHVITDEL(rINlp5_zPlkMXgnihzkATC>yB5+`0`_j47&JK6CC{!0 zWx&ODgWc%M+gQ3c*=o<$KqhRhZGjg_b zZijusvrjVWpYrX~yo{ZkJi~SWP>on3p7rc=zI|Rbf;}H+U$8H-y!||@ZDRhA?3OPv zPrj^L09mi(szbQ(J)HdN(bXBh#(rhScotgd8~g2s(6DDBA#h#A z{Q1-7CN7xTE^)``Tv3*I^{`f)OY9x_g)BNKF{C0tF}bgo$R0go!$YG@)`qPo|DqCa zOz!DN7fxF=s$$MG{@ZY3#W^C8Gv$WFms5TW+wUxg5$q2eKAO737|#B<;gVSo2(`-o zl;}45166p?aEx4-@aNoDXu-0-Sg^xM;5{`SI8|fR*u?6&2j_bB4?s9#-n`S#oG<8w zgA$GAHBJ09ccZb;1RWBu&TE-?W?o5r74^cVr71NN@ad3?iOzb7sH; zc!z_WewUbp{bKIOezki-FS;jOb@zm~?w*he_k>5C>5up)JMx)#p9K5#)FHJ3nS%oO z_vk3t#m93na(OZz9UCVK&gd@+633p=Zg?ST3V|7-V%bDC#glV9l#nsx>+70j>M(Y& zOxc_+mPN7!+BQyXJ)=py0Bryo(s#(vyRv?Cn;G2#5nrc92iR!Kbv*jTvSlz9^2cBl z9>*4!Y@*1c$SGMr`llHEvwt7GBX{_(!wYuH-15&|(50}38WmSl9{%$2*O+I}vLLZ_ z!NGBcx+i8J>XCuEM?g+4bDY4i^>Cz9u8g@tH^3P83^2w$4`97*&<;^FKZUxsD8d$s zQ3o0gAdi^(mBkw=F>m3mpiXpA07)?_3h5Hrf%%b+rjfFv>;&9QpaJqA*%@P^TL7n< zKfo!MV174i5$SzYBF1^LxDJh_N2}mo;7#nI;{X6QaRC@|I>3kkoN}O~X{Fe(bx}V7 zQ2sb`l0(XLRKASuQ>iSYFr7)WWETJsq915rDmRASl3istvNVZal-*?y3^?IHUo4c|lZPk<}1>+A2x-|Fn9M>8*3=04G<0Uvn*0I2ii zA#wovunYtkJEVKnRA+xs-ry8Zmq+FN4F7@ffGG>Xeb5JVZbl%Y|#TO6<&wg zTY#y5Ox%CY_2T5jfOB6xczMheWF_eYN#)tavFsW;rIKuwnj^|{Vt$e)2};srLFKuz z+$1=LD%Fu2hMc!T#H(ZZ)wHC%FxEIpmkX+;f=cSRg_e%5p=GYBny$!OjwICpxoWyH zXn$3zeal#0EzRHtDB;J|T(P1&uS$&K*K1Pku7V8c^w>dpoJY>9rfV^1lCG1qk_Kl+ zL%+;u*Oxc>_udUU$C@N*f}*kiW1}Rs1%mRbsFue~2+Es$Lp9yF5*j0x7i%o4=_and zbv@n84Q>&%mR7{PTB@w1%Ts`tH;H-aHDo8Llb~u^nRhFL(kMx%@@uddOtqbEOMG{J z%M)%dZx(BoBy6zDo5z~h(w*f+u_m!1^vPR|WNcO4i?JraK;G(FT2r1E%ZU{-67H(n zw=t$;IZ3)((%8$gMAg1CWBL&=4HVjjQ!eNv;uFO#HA{S{mWZ#__2OGqBfeKJiyzc) z;wRl4LBL}1o9-)q*CWNBdW_humxw+3Zm~~4DE8}(;(*>E>hx2R^ea;8ccs=JNTa_% zwD3C_V(AgHs6D+&Ir0dYvMj8pms1Bm-ABjCBgKz#2x|{&@AN^AIE)&}-f}qQiq2H# zG($GDNRd1WotsEW!{pJ(6{?r1gB-zS`axaF6b$Im3SA+mqDROn3+Uoty>c2gO)X=3W*IZEi~#u4D2L(>W;qi_N)A%Yo`O`) z%0S9GCjjLDG>4m3o(??-?IVt+Zu_VdN@qB%#y-kLn#DS}1$6H0+&XGUJ}V}g?n$Sc z*tVdC|5!7}iT2R|sN_AAwTH|BYJ#C$UBA6F6#97|X|a!5pzVGPPQ9SX_Y;(P1@c4i zS4X3`&wrgE7!K3*4LS!sQITto#o}AA%165N{$+kOOTvD3Xznbo0 zi4B|_XP9JTXP8t%1hH?UDr~x$Go|y_g(LN3zCo;OVTrL|iE$0sGAEvy zC*TAoMZgKtaYEoar8$9TydX8>#J{osBY&s*6ezl>4d!Cz4)!PE41UA$fd3lIm6idX z>%!Dr%Tp}Y`rjxkSODB=8xR(2C}d8M^8mtp%9UqOGYC&Bxv&8fwszn^vk|qM< z4&hLClo7cO02G}79?L|97~wz!P}$YAY2+5F9$yTIYHFx4$x$iDO8|Y@ zBYy*a3k@5ew>hz7X?K8Kvvk-D-fXdc$)V2jVxSCeFE!09pdz&ZNt5Iy@=`!m?~rp{ zdI8}2I_m4THlDo9xyHO0v`0{#*OI7M*1XAO)m- zTcqLdKP#8JJp$3L6cS?eg1i!C4Uxcg4hcN~%3uobr{)4Gq$8VMw?7(05g0b!9Jzw} z4U+7an7q8;AVmKeKUhZ#_!v!~79MP#_ta?vTjV`884Jg50TJ<9dOC6Y@`JK>!Y}qz z?@)2ftD$ESuP-0os)qitow}80$Fg_Q12MR|&kA_wt5xqDet9m@|H=!*^NHk@ZQ8%U z1urV9qM^mHtkRel^9w@N^!(U@Fub{v7^ZqDap1~B!5G7?y36774LCHdDbL}vP&B5N z4xa_|9-ZPgl6mwi9VS-*C;9Xo&6U@{S8GHM(XH}Yl;vQP^q{;>UJp-h6t=B{@&*hTrnX|aa|12oDMc2} zF{z;YkYmSDk`edH8&Rf!y_@7s$Z2XNR>+%?GmeK@R0HsC0Z_rTr-1^&xXmaYNalLV zuA{c(F%6l7_>ZU#L9S?n5;#3>_scb>I7cSkHeFLscIw7_LA0OxI9~}KS2maIq2BDx z!21d&iejd8@5I~{9U7O3z^1>~4;h-}a~j#_~QVmt?<-2zby+OrzwTtc1(-fx3^5t;qui@0+<#|GFM3XQm% z9oDqFa4VLKsB_>h00A0OOk%+nlGp~Tk-H!mxRn4NqQ50M3UYTxP}qa zd2c7_9Z4~ri~aSxoY6^o4^3luzAq_`rXQfGDT|rB50msy30v?Hf+Tru%7TsSf1L!g zeVn9E+_axo(`QNg+~rZYt3lxx>B27?6n>R1jDOvr^qUOiAZ;3Qn;UVEmoXs$acSPS z|0`rz%Xjr_Nnyi_dFe5|%$Qxh)S%y|1}%kCSVKP~=|@aeTv9_n1=*CZnz;SCD#tU& z1*Ayxf>^+(^5BJ#n8kMuz!N!Qio8SK32x{thRaoQHOP0oXeHOkyTJCJAgFLR%B<*x zu-ZMyc}_~5HzgJXN;Wmx-V8&m1uIlpd9M?NXRkjs?jjQp1T-oS#X`W23npx*c1ijf z^bVz&gL46Q#6pb9K7uyVFG>0}X!Ki>{*^(0I2KN$Dx5-9EF3USEXoDPv5s3Hv-zALE-!s~oOE^dOCu_W>JW`Wh0+xQb8@ zdd;a#OUJ@bxgR#$gKWO{YhZCraNk^NmWpcjbd zW_!_$g|iW<{gj{HFaA_7kn4bW9P&E!@4w;1=6`IbKg+>bN!pE5uO8cJ4-+A;Yc1_f z%(<~w^LEZ+~bj^%}1rod*ORKVBnK#~D+W#K|Wz79|LX z9Y5Yf32ap@U3z>i^)1&Wtm0TcL@xV>PFI%WLRT=9Q<(9X$p{5^u&}sF>P-^@V$QRGfU^{jBE4*@70H~7!ai{=H*4+O=|HXKrSh^Eh z7CUg16T9_-vEyQbErStQ3O&?&4W$t1h?zhNQ%)pNB7V!9v^EocvF~7c^XOOr!WlKj%7$PsXIo2SFS8nIgx<}#mg zR6L2eChEUjFB%2YuchvoacreeZUgDZto1C1_-tvQpGp8G_-Xa>0#~mN= zn83A_1RjOFU+g3(DAAJ}mg&hgq6r}8^+48K*!~olPS)QXmCL)YP4qE<)fDecp4 zokevTKBdkTxw?_)3f%S9jm0EgAWqdy-4>b;l3Ie9YhgUJ=#8x(hj+uGD|M4el!Zht zBFCGdS}pCSnR1JK3<|OiyQr^AvPwJ=%8F;|#8M`wiRA5snX5zVryqT_v=T2ebnKrJ0^6F?Zh5pi4 zK8|kn%J<0N^d>ztI6BPtaRMF72XXkHs7Y~Bv=;OXMUZJDa8%*mQw|RrWP|ZZw~A9( zx1n6!&LK45{U$DY9PmDl8go+u`~(;u*L?!^rvwxPhk9C<)QYwv^F_PTYSF%uOlV!c z=osW}u3Z;ehc<8wkTzqq=@K%!lyY>JIgAFz!5vPSxU|TX9aik(#w=)MS2A zbXF9vq9RuS?NW?e4x(gAV^Mbc3Rj7;u55b>R#GAI-2`pBoqXiF<4lV_2#O#Vse)w~ zD1G9TFM2>sF*A;p((>xux`TtVT5)i>LHqcB?~qpP|I4WE ztVw!Ti$0C0?rv&c%&UwstXPuHo!X*Bwdh+#Et>wPihgMc{qD|o@vHR+xlP@aXPjJp4wf9_a+By)`461aV~Zuar}qPw z_}W4p$0xE@7sdat%@mHUs2Iu}dyjvVdzcTG!pcK<;t;buj3-Vp%OiM#U&^DgkkhdP z`805BCG|cSUV#`S0$&2h)=;HGpj_d9r?+-7i-=RqtERbuT@cxc_gA-w4^3H#uVPU* z;-#q(7h`p4&WlCCpxm{=v1oU0HzO8}!B!0`_y1dKKJDdmP|W@x$CGqrV%(ad_@RRC zr1miz^S0AsPzCQu4})lk!>h#+N#QJ18J5q-q`@g^Auq`*VGsMJ)GGW`fjF|b09NQE z2V_Z&7+ytr62IY8ej2kF&vgucu1_Xb9U*rJ184F*Q6N1UP@LhlrKgm<6;zqFuX;K9$%mfOo1)%YQ!;aa~Y0BlHyne z<}Y)cS`dro^@k^M9B3KUNpU=!}srFAPP5@t^V|!e>bJvFD`$ z?VN^dMrI#1_2kDm9R1_~^+oE5(VqOYnFl1}-fMtrc@HMdf$BUYnx2>VX#I+sb<5}CpB5B_e@zX2v#YrhcB_;s3f2%tg zb*0;ak&|F+mR}|`F#lf$IR&%&f2VX7REi(ViU*|5PLn!2L+b1lsk2k0=65DFKU1X6 zPLn#@k(yWORvJ!slTF6_1E;Z{*Hdt-_u_G6U^N&BC3BCh58TCQtuHR^*+&G?{}(U z4dqgIm_9z%=l#GTX{Lhh;Zt}vbBCmv3OQz~IJgSg6jvda;wt1)T!mb~Rc%Cb$#)M! z5W;M^3j>C!0%4LbLkE#2gJE=o@!T**A=;|9eH$8%ZqDNYHP=d$Zr4&y>y;JnH4 z+yFjB@6I~F-QsFrM|V>Wi@q#|okclzTnOKCwI{y@ zt#?%Q_6z)i=o;!5ixl`h%Cll&)gzWwEv8md>#{W0g*7``I78w+5z?_$6u!*IsmjhO z%I6-%t^>kZy2m4zd8oLstU8OX#1Ye)bolSs`#Qw|5?x|)=}Oa_ZZa+CRuiSwri~*p zhXu!DcM;r6=?VOP3mp;0fzuiCJ4YL=+wCcU0OY<$8S9e!ogF|Niq^QRB?_#vQvSgH zkVF3{g1cYD?*8<|Z4ZRvOBw0nH0*M*N$EmajQP~ROcfVoTJ`=D#{j!22M-VfAFKTT zAx4H4@&7Yo=>I?r^*<6r*Aqk46C*FFA!reh%pqz=mugO{{Ip& z@XbL$3_1)pgsq5I!dyO$nNHT9x0~bLs$2|{Ja-I)J2q~K4NQasZYc7@H^G6V_Wh2gH;)N&o<^TiBrEA1Jt@_HdymoH93 zq%L2~M3^pLbU40R%wh?TX|zF5uLMnC_D>Jud1%AR8I5L-sG^c`T!0vq65V_;hb7m| z7C4_V#5jV(>5|$w&0r6XaKJesIN3qICHqfiE=A2e>S^ZFICCaVFbim+Swxqbv)rnA zD-y-^)_=i^(l``tFMr3)XM=caM>$vqmnoN}bu=xLsa-#E9P47kzl?pXSzyL`L(Lu1 z;UH``|DXwQg>XX0Uy!6oQkTNt#Il_<0glUD-cTHuT`T65YoLIAezyVSxFy_LgfZE3 z21m?K?0c|%;koYUI-q561MJ`I<<#3*h$Y1?2KYUR-cJ>qt+Wfy=w?umXIzmEwa%U{>aX^$cecM<9uhA8OTp zp`ei^%59=Xm7%6}-uIah9Pe$)^2MS=yN7#;?-S!6Zd1tqeBFj%1bobr-cDZoaQ{qn zZZ4wU_XBc6ZRlFb-Y+%r(E9JWMx?1w()^S1P z1&*sC_Ht!EzGXF+kW7 z3GyxwvAkMbR7vGAXo-v2pd<3l2P)fohg72K(SkNL;*xTGSs2E67xo6l9K?1-nfs=R z444eeu*dKFtE=l~pJ~w{ps4}=j zm$4hgXh#46cpp*1T-hM1X1=Cu^DX6@@2Hvio?4q9sFV50A&CRw`MCJX-(o1l;Ih)2 zO87HrHtFmZ'_kQoHpn8)Km*XiiWmGx|bxL~LHm0$(usTu$CZ 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 R^ru1Av@vZ{xo)QI{|6UlbN>JU diff --git a/djhk-common/target/classes/com/djhk/common/utils/reflect/ReflectUtils.class b/djhk-common/target/classes/com/djhk/common/utils/reflect/ReflectUtils.class index f96d9f5511ff390587a385124dab526f298e4968..aa06254a0843c5745ae6c43dc2cc3666fe5548d2 100644 GIT binary patch literal 11049 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 I^6*c80Mw82HUIzs diff --git a/djhk-common/target/classes/com/djhk/common/utils/sign/Base64.class b/djhk-common/target/classes/com/djhk/common/utils/sign/Base64.class index 9bf2908a77976939f9f7eec4cd44f5c804981cf8..0a0b2b92e0c19634491715f44f442356bdfbe9f7 100644 GIT binary patch delta 17 ZcmbQFJV}}3)W2Q(7#JALH*$0d0suZc20j1) delta 17 ZcmbQFJV}}3)W2Q(7#J8#Hga?c0suZN20H)% diff --git a/djhk-common/target/classes/com/djhk/common/utils/sign/Md5Utils.class b/djhk-common/target/classes/com/djhk/common/utils/sign/Md5Utils.class index 305d8a983a8460510b747007729293391b50f6f7..e60fac25e06944799a33b241d6e0f1c55e7814de 100644 GIT binary patch delta 17 ZcmdlZut$L7)W2Q(7#JALH*%P8002OY1`PlJ delta 17 ZcmdlZut$L7)W2Q(7#J8#HgcG7002OJ1_}TG diff --git a/djhk-common/target/classes/com/djhk/common/utils/spring/SpringUtils.class b/djhk-common/target/classes/com/djhk/common/utils/spring/SpringUtils.class index 212d6a44467199eec571e3c8670cb3dfd63b6e11..293e9e779caf5b28b011c735bf3cfa21a6705100 100644 GIT binary patch delta 17 ZcmbOzJ5iS7)W2Q(7#JALH*$3H0RTN>1}p#o delta 17 ZcmbOzJ5iS7)W2Q(7#J8#Hga_G0RTNy1}Ojl diff --git a/djhk-common/target/classes/com/djhk/common/utils/sql/SqlUtil.class b/djhk-common/target/classes/com/djhk/common/utils/sql/SqlUtil.class index 2a662ee22a9d3dea5f9090d6a9cf9d951b115900..d77de0d395a60995069d28ee7c34de85e91aa83d 100644 GIT binary patch delta 17 ZcmdnZx0{dS)W2Q(7#JALH*y%W0{}oR1_b~B delta 17 ZcmdnZx0{dS)W2Q(7#J8#HgXuV0{}oC1_A&8 diff --git a/djhk-common/target/classes/com/djhk/common/utils/uuid/IdUtils.class b/djhk-common/target/classes/com/djhk/common/utils/uuid/IdUtils.class index abf0ee762fdbed4180a8392e05ecb1efe78999ad..d65dd36219f13fb5fdd496fcc235147e67d763de 100644 GIT binary patch delta 17 ZcmX@gdX$yp)W2Q(7#JALH*)M{0suj728;jz delta 17 ZcmX@gdX$yp)W2Q(7#J8#HgfD`0sui@28jRw diff --git a/djhk-common/target/classes/com/djhk/common/utils/uuid/Seq.class b/djhk-common/target/classes/com/djhk/common/utils/uuid/Seq.class index 9724053c1bed8b73064e795aaee198e8132ccecf..900ae9e889106a46a4db6bf8b706e8bdcaadbf4e 100644 GIT binary patch literal 2269 zcma)8Yf}?f7=BI?vLUWgqJV-TTG0@!X=^XGD1uOHYC^OiR_(>Z=13McyJ53IZGS*# z`k|lg$Nq!X&L~4?`UCo#+D@OdyOKC&9AW01ec$t5p7(Z6{{C89qp_^ERvtH%K(4$Yw`I|h?s{=K@NIW}MqvMf=e7dr2CLF( zQ)qv?>3FiXr)0z?1g0bPc3?Y2%X6)^?<+Sb%D`*bR&hSuN^YRml~23vg*GG&(9jWy-3$TcTK>{-%TmAnbSK1P*^EKW#kSrkJEfjp(vEW1gSvnyF+;v;wH-Q2GX_S(V78+Ir5o~5$jDr@oH&iy zWv}g9>Z+}imf`6+U1<|1@wUMD>+?hx3)M=cx@2Ms(+}CE#qnH69+{c;;3pE4E!~?9G zsH0}W#)g4S6Al^%ToWFe0#jjszDWvoXdA@PY3ST?F9w%XER+YEIV zJyM#Px+`$Jca|1qpl<2DVi(u=y<#`ilJ_u+E%*Wn?QNtXH`&^*C4<{`P=7H`)JO;+ zaG~2_Ja%u`cLS{byjv@|maiI|wQye890xjKSETNkWYc@d4#_VrPA!t68rPOyQ~8pf zu)&T-JfZ?d*ih960>c#Qg47w}6TOoXMG>bZ)s!_y;7oUz(GbtPWHk=mKub3T;hySX zvfXWOQ^l83l*+5p3OxU@fyXRf+4DBrY!I{Ly2@X0WUHl^-zVKZV;fO3UXyOkQLR&v z;!Ia?uU6nCMSWBD5Wm-D;YHJQv0@Vo(s7pUK+PEVUSRT-_ecz!~I8_45KKkfW8y!xKv9k~>KKMh*k!8fl*lWv63VMav1EjXXtPIhQUx zgYgTDr^uA2(>v(b%E?eUhZMiha(xH;iEj|^g)oLAb)Jm!JcWZi*8t9u%0T>sL4!}8 zhNolF@GM$PazC6a JpNH!g{{z=)2de-8 delta 961 zcmYk5Nl#Nz6vuzJ(<_e$r3@`lP>Kbyv_KVcKt^Yo1&lZsS}PSRA?QYvu8fHb6Vr`b zzk!CNG?MrMT)A@RH$mgMuMO}P|1;ft&j0*x`^W#zm;d?i`ww7{oJojbgG*jUOdO0> z3538C*B1W>~`wFE_QlrOQ($ElhjHBhpholNn}pYEHwv$pW`c z7FjY_)|oq>wm>i-$Z?s0oY5#4OH|uy{h!VAW!cltr4P#Zxi{ z&n(u-8a%hy;6vx{8$Pp3^+_GmI?I?~(6Kpy>+-X7cT!Jyd zI5jfMPr_~)kTDRXPnaRq2C0SR=72H&HB_I1Lx5`VE*^J1%QJNW(nd3H_j&f(4gB+Hbr#T~YHS0lP=#ahT z(JM?oNM3K%6)oZ)X{0{%zC`24Q3;#czu=9!iUit9d4fWtSx=x ZecScw*HtzZ{og`Fua>5Y3*tMt_#andc@_Ww diff --git a/djhk-common/target/classes/com/djhk/common/utils/uuid/UUID$Holder.class b/djhk-common/target/classes/com/djhk/common/utils/uuid/UUID$Holder.class index 79f17da960a63e51dfca462d03038772076baa4d..035a57d7d14cb05232d427dda0d9b4b8f26d53b3 100644 GIT binary patch delta 103 zcmdnSa*{><)W2Q(7#JAL8RWPaSQ*5)7(^MwIT=_OB-j}w*%_oJ%HNS-WZ>{iEiUoM zFD_wckmh0FVBq9okYSMB%)uzisL0G91k}&OAj}{FrbQX}fixEbBhV0020jKZ0HT`= A`2YX_ delta 94 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 delta 17 ZcmZ3=wv>(I)W2Q(7#J8#Hgd=^0{}ce1*`x7 diff --git a/djhk-common/target/classes/com/djhk/common/xss/XssValidator.class b/djhk-common/target/classes/com/djhk/common/xss/XssValidator.class index 6b40c86f94e0517b70009d27cfbe49f9c9d832a0..a78fda750055d301a910f2a921fe69293a4815ad 100644 GIT binary patch delta 17 ZcmZ3%w}Ox3)W2Q(7#JALH*zSj0{}gz1hZ$_F%7u5cX*p!hROv z1y5*5lW;?LQs?;3IuXTlay;+EHoPFmiwa(fYH;Ia(H{}%sDf8iyeiRO6a2b{H*ieg zn+jqYoOnxY-&Qdy-!T=(6^yHxkgIpZ?p?`$LdB%GpHwlW;*?bJo{INXe4ygASbeDC zBhh{wQ1OWE-IyR7w*PRg#uEyujlqscZ{KFZ!Fk4EeU34tHyeeip4kc0 zhG0)mTPV_bg+iATii{CG%V z$%Y2pjxMffEnBLfztE`gvvtS{N*2Jn1qzn{Ivd-Qd6Md@z2m4RSj(zZw|X4*VR+r@ zDbx%j->puerpn=VjG|VrbK8|sESx|+Fpfo5vGE>2cq-`j+kr=a{tR|5qh{f z4K37+^$5d3XD|o7*uc^>PiQ0hxH_)E?11C2)X)9NGdPO~`&vwC6H7b|)(H44=_kIkedL(VZQ=avVjLIQN`{ z!^KxJ2oEnvIR})K@s$jiq%q{>5q@O-1Lip5iL9VFhRm z-Xc?%i}FH1>c8q^7q4mYx{p5I(Be&l!Kg)$1KR$U*4{RF$K+jI{XLD}w>Zcl4dVuf zEqol&u?dqQ{T((LF*s^+OuLTjxDWLCCrnQ2^ih*jCLii9PMdsW^0CPo9rcOHr`r12 zER!*9_*|!b;bSLX8hm9@$JZu3Cf{iLw>?%>D7Bn<1Dk$}?zNp;=9aYy*Q!)eS!%CNnK9t; z#80P{k}543aN|y^mCux6NsoPdw<{;x1lb!n%?d$^HrjF1 zB6_QQ-8v!^9>Nt0mnU!^6zmcYOmcknc$gxv{b zMNHRogJ?d{R?FXwo9Pg<3`{_aeI{$AYPIvTi@J1&_0n%Olj)Rud1QYh+{9XmhQ@Oz zHFER#NsZ$trLd4L)=5X}CDKIw#bQI=j8~6ep91bZ7}5eRe|#|eq*~q-8lhISELc%~9&+c!S;q^?`ZENMAKXMqqw|ilE0x&>%`+frtciM_A~lT@#f; zt37zZK-A^qfWyx=VPu6`K#$zSqDd`fBe&vJKM`URw~01J1GlqT`jxJnJ4qeUw#bcT zW}auMhrawn0!lf&7}OB^4Ec-|^@EDXZhsPcBI-`=l*B zo^aUV)4nu!YIMV$-dmE8oA2-FiU!Qz*%`q ivS^0iPZtSVKxyxbQB>-YGQ^!+lgu>U{Lr2HiS diff --git a/djhk-framework/target/classes/com/djhk/framework/aspectj/DataSourceAspect.class b/djhk-framework/target/classes/com/djhk/framework/aspectj/DataSourceAspect.class index f89dbc640263b0c43ecd1e1660287809c4a26321..6964a8464b3387fd4c99de02b5419984cda3fb79 100644 GIT binary patch delta 17 Zcmdllx?hyz)W2Q(7#JALH*##}0suma2BH7} delta 17 Zcmdllx?hyz)W2Q(7#J8#Hgas|0sumL2A==` diff --git a/djhk-framework/target/classes/com/djhk/framework/aspectj/LogAspect.class b/djhk-framework/target/classes/com/djhk/framework/aspectj/LogAspect.class index fe8f60fee4926849543d38cc15e2147428d02873..cd1c7c355585e5de0816b126e90986593060e438 100644 GIT binary patch delta 3842 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 HcRl&vp20e5 delta 3627 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 delta 17 ZcmX@ZcZQGS)W2Q(7#J8#HgdSI0{}u`1~mWx diff --git a/djhk-framework/target/classes/com/djhk/framework/config/CaptchaConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/CaptchaConfig.class index f57bedbc3cf4b1e0a0e83973585ae15b21c6b362..b1b5343754cd97350ef04dc1b45c5b0e19e2da65 100644 GIT binary patch delta 17 YcmZn=ZV=`;^>5cc1_lQ6jT{x606Fgk-~a#s delta 17 YcmZn=ZV=`;^>5cc1_lO`jT{x606E|V-2eap diff --git a/djhk-framework/target/classes/com/djhk/framework/config/DruidConfig$1.class b/djhk-framework/target/classes/com/djhk/framework/config/DruidConfig$1.class index 51e9065c7e25e075b913e34c0cc262878ef4beb2..6a2f905e57731f50932225ae8a36161f7cf6b96d 100644 GIT binary patch delta 246 zcmW-cyG{Z@07cI%t1}LxS*@tlR@4RGsL1+27hm{(S0rvEArZrp@CjB{`xCZ?#KOW} zf5tyBj@;%X=T_(4`|`r?-;YmViMs&?nbQn0pJsu@v~>l=vSx)uSWLvWH76w9u-DlA!L?wA~$`iYWJ@y5v8pZ8OGj1C^h7BW3Ne&F-97?K&qvXfQ z_8%KgI8DYDy;(9A;_?_D0Lort?87{e!TpMnayaz)& j;ZB%JJ~T7tn}xj!rEPM?&?3*d=@12qoSCH%M)^NSAn_e4 diff --git a/djhk-framework/target/classes/com/djhk/framework/config/DruidConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/DruidConfig.class index 246a72eebce19a5dd12f4e3793885e09cdf1f7df..7472a58fc9f08d7d35ae3f15fe48ced24e0dc954 100644 GIT binary patch delta 387 zcmWlVOHWf#6otPlE$7_RV?xXgY13dpXmDhi5JH&v2V~GXMY+{lTIp5W@>UD-Qo*)x z6!3{s1`ajM92lqYTbMXy&~Unwy}q@x2P;{P#Lqm&*P1uH z6>Mp4v2AY4?&v#Bjk;!(hG0jti_yHNZUQ-`KM3|T`y4oU=2wSjPGvOmQS*t3rgIqFQDdmHl=7{FWKes7ILQL2e guW*kc%T65bTTa>ySs&wub=T}aX4#&UZ77X<2^`Q*bpQYW delta 356 zcmWlVNiTy@7=@n??Y-Z1B_bkdG-`+ywO}FsgN53nHC3sa=XsuMxaN7-*h+U6Vr}8S z*jhAh-{hPp=WO2Oyj34pFMp>$K7j^a6#>GE2wfTLR`k#-=u>zIyF}?%)?&E~FqnyP zNu#2iAwfcs$FO3AQNfsCTrt6~&uDSQ;#k3N|n%r&Lo(m0(k|#kOXLUBRBFj(yW2i;534ha@#k90`s!C!A^wNwXlE z-7~?t=7LM}C4;$Fnrm(}w;Y*28OXll-uT_NoCk+y^D7EX+EY`edF06sdRUa>)W2Q(7#JALH*)Oe0suo22Ce`A delta 17 ZcmX>sdRUa>)W2Q(7#J8#HgfFd0sun;2CD!7 diff --git a/djhk-framework/target/classes/com/djhk/framework/config/FilterConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/FilterConfig.class index fc54467d0248a822f87c7a1e8e37ad64153485ad..1613a5c1db2913f4b6d8642dc2b1668c6ac2109a 100644 GIT binary patch delta 17 Zcmdljwp)zj)W2Q(7#JALH*y$r0{}rG1{nYV delta 17 Zcmdljwp)zj)W2Q(7#J8#HgXtq0{}r11{MGS diff --git a/djhk-framework/target/classes/com/djhk/framework/config/I18nConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/I18nConfig.class index 6fc27129209ba14ed36c206e000032d662abc5a6..d4665cf46983b3e2f988463d27d05cdd5b97bf44 100644 GIT binary patch delta 17 Zcmcb{ca4wZ)W2Q(7#JALH*)x~0{}zA237z7 delta 17 Zcmcb{ca4wZ)W2Q(7#J8#Hgfo}0{}y`22%h4 diff --git a/djhk-framework/target/classes/com/djhk/framework/config/KaptchaTextCreator.class b/djhk-framework/target/classes/com/djhk/framework/config/KaptchaTextCreator.class index 49443671c4b9446abf90e511359b050cdf845538..7a10e2cd0edf08a3b3c064fddbbf27d75d2bc341 100644 GIT binary patch delta 912 zcmaJ<%Tg0j5Ivnqa)&Sx3@?KbP{K3f_=ti81QNs`3CcrJ5UZwOgh-f4Wd^EPW#K1` z3%4%aNl_K6Soi_{h+l!)lf)vHmW#e~y65!i?%Vfc@O|_8w;!ip0gU2x0Ig61h~cKd ztpFs~k#Jk!P5^$W4QN5!MR#S~lQAk|Ove2X=T5rO2QsE)Ob0N7q(Dkw_IPuF=%Mq8 z;yoR>q+kw@2+eP`Lrp!fb9r@HGq%lr1!>GXXB3%eL%V{2R}v9ImvDbv`} z?6sV|%gC}d!?p+mgPBT0dCk~S=M7um(TfR(sLd%!izR{QZi#h5^qiG54$VDXU9pQf zW2Y)Qr)}A0@krnm!JjeBy@LWlnKul*n96IGrE{eZ^_6NG)oIdv4|&~+RudEF4UN@` z)P>YPGFOiZdi~F8Pl*j@N$M)qm?VeSpe;%&#V`$~o6FR|r zV+j)8CZ3+R}Ehne7a;szUWnNOukKm=FVw{rda`sB*)jkFtlM;xOr9 zMTNzbL)9Zrxtlc85vsY&xXilDxzt_eBko+37F-rxmOPd@@37)oIKaBIPgm0xGj#(x$uE=4hLwqT55Zf{!X` zF&uu4zuqac(lJ~;6#Z*xOGT#`QOktn8RfKoF)bsEF|IGOlHrV^F2N>#?BCqOaY#Gp`YaKLxXxV92jjSu{_P@A@t8hXrt)#lh9ZnP5lZzTz>&MFrp F_yhfVO|}34 diff --git a/djhk-framework/target/classes/com/djhk/framework/config/MyBatisConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/MyBatisConfig.class index 2bf07cbe5b36d40295a5b49ecc473c8847ca3854..f8c53054fff8062c2b221bbcb7e9a81544068a6e 100644 GIT binary patch delta 2468 zcma)-33yc16~}*fl9~JR<|QEsBs>iSBp_sQ2!RGCk^(7#R1y?uX}~T+m?jg#Oh^V4 zy9~CtP_?#w#cEw@Yui-2MFW!z5wzA?MYP)5+RfIsfL)=xmbS$6X3`|z=hxORU(P-6 z-2Xl2-v3$V>6*uC6UWXSJ_^*SJdEh#lK7nKMNe;N;R+CS0o1X}`Yd&pK%pLB>otnE$Y!Y|7 zU!T$3&6N+irX#L6s(D!Rh*PbOWf^>9 z@D;T@%Y0PxP0eGPZw)qhpH$h8E2^CyZ;2Dv1x~Hr>T6=PVzsl=Tj~tyE3=yTwo_x2 zhM(X`i(@>cId1VZt%@ltW3hN&yf@U-5{`Gqw)N%vc*fv67SGaZ@f_c^_#V$&e4ig! zyuc4NKeG6->*6OCKjlS>pYe0eOBTQ2DT`n7E2kl6ZsG*1ElzSuQP36I9SZDS){%G+h{;Vh$63V?64ZPXeX_oo^V)0j6om`BjAx3w$W9#@zZ6@iM2+Pg!2eTw?@;r+&JwOlmYIj0MqN-NJf>3`Na zZM9!)s%+&|l%(N3p?GISPz5GCDA^I(9&U_9+e7h9k$9(QeeqB<-Zywf?#mvv*?Bx? zP2s6K??1Kw=*b%fPK=D4IC9|RP1g>tn6kr@(8?!iRi=Z;2 z>)oT}UHI0@7sG>ZO~G-8#^BPCV1TI3qB1Y}jRdMk!d52PW@BHhD?Lc(gbo_EPGSz@KP)Z?>PlOu z$aU^2TA0XF+|J@EJ1<4PhoEU2wwYpzB1M5>n8GAQNv5Wl=3!GmW-#B*Pg1fkSM`q` zw2c(g6?aoIg572tL!1{ht6c}@3wobVFiq8C5WCQ*&N@PAiWwdrVdgMpm-bUrFv6_1 zio^0knP?Y0>_*78vy+rp3J|v_M3E>aP-lIa&apCXtPMey+ z7ME$R7M_OiN{q|M7ti%v&U*4B&K5SXF@Y(ra(EkW7i~HBu!(nI$aSul|IM;f$9)2A zM2lP3%@uNW$qw%n8yKpDckyn?U4hEuJ%r?`w(_x6ykyZXh*`2`B5WIv5S9oTR3a?f z?-kg+_(xfQ)|6^GG@Y7=W~P#w8Ks%L*V)qsfn2ER5}5(6ApidZwfrn9P4QWLqjmBo z^S>W~SCKL3ote8*Gsmr9nSgGgI$MhymgP#B8P&Ei%-l?!^y3X0>0)`lI#Vr2m^W4? z7Y@j|Y9Xy@Ec-7O2NG_E8l*GoBuhJlZbJ~~6Lsm9ozPf&xLS-JIqxQBr_k+@7P(yX z|B&pqQ^wLe#%BZBqm;RPULrK6DV^YR9!A=pn7kn@xU|eUi;@?M!#?8T%lQ{7T{(J+A#7E0IF1iiMmGRY#_Ta~2N_EuCE z3TKOx%wCe@O}2N0I)N>9o8{spLED?8en7%`q(>^J*N(F!7Z_)xi(TxNOIlKXZYg?X zD6JQk8s*A!S;dv2WlO&-;wtvYbFLPD?wESt_#k_K+VX*PoDYs$6H?qcVl(9jO)I~W ULY>M-#E>T;ZWISMrRC>e11hQ*^#A|> delta 2261 zcmai!d3;<|7017KGBfw(&7(=Cjp-{*lhU-pB*SziWx6E=O0hPLU8n(Vcb13dJu)YAF; z_?QttZuFn9xe3qWlbV|?K4tWu4&iW1h#0qq=we@p9zGM|Ha=@}JD)S;4x7y9xidsJ zcWJ(0GmX2=&lffQHq-f%`T4Tu9>c$)*=a)U*L>CDYZhO(Ihz5^y*3TpZSxHVH3u|_ zQo?-GA{%0eVT+u_eYU9bns3=0K}YYHI?WeY97`+G8hRQR{jx1RF12>O}fIX(VI(F z)8dWjsoouWx5z*8s;#NDM|o6H)sfhlh;=5qw#L?_cci+uF7HcqZb|M?Eb<=J?oFY( zvqJ5iiQe9xM0#5!?(i6oJ3PUYnjbs-gbfN6^Y+;dE9^)l7CE+n;aba;xNIsBYo zIQ){Q9e%|#nqNEo#$0~Z;TXpqPVk)Od57Pc3%}#{-tE@R%pYiR_#-D36@~Qr(y7ka z%0%zBb;-2DYF=>o6E7;t|2uhyKl2xdzw$T5lz$(t?dwXXwkI#Tsy*40PIY%FF5bRt zb0VGUtxfOhNj7(;61~aZ)B-Jmv5YHhB9=7nH0Q{#fb4 z;6EK+<+N9BN2^Db^yzwD(n>iTRX&GzvBOa%%CDGH@YZX)bt<5Oj?&6v(C)u^dw84WFmEP69ay?d9uim*Lq_EQ6#d;4Oah~(3N->)> zIHUYhUq-q6afm?#sf1eF${YeW+hu7n37L#TTT zCaprvWyJAYggQk7*0N6iO6B1jL?f3=V&bga4{D_sofKPg)b&>e=f-uOVA~KnZsoB> z2!+qcGQrhZ%7!TyFP@Y(+~BQkP?rf^s8sWHHPY+~;ux^JTFu;60*!KMT2qICrv` z{TY^t!wbb_Gb3EU<8t_v6!Tdr;Ylgt%i`!&T2zo$HI?;hF_%f$jjEY8wSvnF)!Hrf z8X>@?Y@|$FFXFAVF+l=d&Smo1;;EFk@ph4#WZS)icS@o?T*oFd2{~#MJT^-(EpCmQ zc6pUlm@T3MOEr;{7s#ZmMz*p|P;ga@l(;FOLo8~A7eib*9->o16skPA$^xdeWGU0UxMqf~LYi4VDgcc2(Df|D1+H|>Q+9`sg@+A9z-k35Q zSqasz5SUi8T+?8tKqg!08gD_>(j}GBlUCHVhB>#`RQ&|vR-v<=h!$JxAhEHYnmr)* zqEf{b#m4Xks$v;4PfKOG8l_6TBm|ZyXOcE>%SmEv#*EY_Z6s4KwR^X~?W0_(yJ;L` zGm}NlRbzlI#Xm}o0W_?cRlroh8pCrIRzaWn&jW$Mz|wFEB`+3-yVxzx%vLxlH4h5! zh#X)}cy5k)K2{gx`31S9ATKD$aeu=w=dBJm4zn=N`7-eFc)$(RXIbP18nP^Q1CeN0 zFk6yk`qC`R+(4ctF>5w+v^>iNZXnBr0}{?ht9N?xyzbXfk_5&P>5y@GuO#V6$C_63 w$zoe8D6Nu|XUh6}pGbb0m$}mE8F|jt;?JzQ4~#FvYYGuQSfG2xwb#PG011lIn*aa+ diff --git a/djhk-framework/target/classes/com/djhk/framework/config/RedisConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/RedisConfig.class index 8266a2a02eeda422c40a43abb4ca93b33fe9b901..0836729072af017b6fc78408ed625d4b9a12cbcd 100644 GIT binary patch delta 23 fcmbOsF++mm)W2Q(7#JALH*)xMGj5w4!F>P#Xr%~X delta 23 fcmbOsF++mm)W2Q(7#J8#HgfoLGj5+8!F>P#Xo(13 diff --git a/djhk-framework/target/classes/com/djhk/framework/config/ResourcesConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/ResourcesConfig.class index 21ce8a4039f86b23a4d1ab87f6d69d9f64fd80bb..c13b3f52bcc5b81a31969ce701331cfeedc7bb2c 100644 GIT binary patch delta 1300 zcmZvbeRC646vltsyxi@wv?VE_)S)!kN}Ch{D4+yIh+>OP5sTJ}s7t%FX+si{rCQ&D z;ya4UDx&r6BUo|L4juJ>zkxH3<0tSVFrH0P8b^}3=iGbGbDr~@d++|)btzi@{npK2 zf&Kho&`V13h~iP5qXv&LXfVXFkc3AJj`M`h37sbcvi5#~W=1(_@DxvbX3T>;(@YQJ z2G4Rz=Q)GZJg<1cU?VA=7d>xz=8R`1Jfa;klx{GI?d_daOc`t?<(X+k#$X#WidjWg zac=RqKYYG81MY%B6GRI4bmrdp= zxcz|>`(815mDd!no4i5UY}I&@}D~`9~`RYV&1+H&Gxv`q*l`c`Y6?yhuCieq#MHEfrcTw2iGv=pL_9P zLb|1;ebUk)X=q4V@?=G7rR%ap1oyF5glU4@Ul%x17Z{1her7|3P+ezOYPUBOGpby> zw zt%B)J4}`+;3egp|jSnnw_m7eaH=?>*`W9$w8?*KpPM8kYHEu@{pkY gJY3B`e0%qZtQTY$lJgbc@->@zT-Lg*hh?Py1z!CE@&Et; delta 979 zcmYL{X>$xw6o#Lk?RMIgs1YNAShJWJ8T%TAtEATH}-vRYkX4WqYr{= zDJgz{f1t|WP`)YW_6)kK-*fxkbKmzp=iVz5ew1au{r>zFn8hoHIBCTi#af$n4(q8? z)H_5-+ccQC!C@ntY#PnaW``|owP~{178VBcgbQe9yTcB48rWr0b{8;(Jq~-x*z9xI zPm7|}q14bGs5OH&0|yPX=b4o4aEQZZszY(aVKQk0or;K2B$II zy%|cc>d~B_*J9+MOm8ODk?CwpHTHD3ceX7%(caP0+HDa&(B9FyKy#8)iqo1ioVBo0 znsc00oY!2S*A0g^&dF*na!GMnbA_v#Yh2gd;HDHTuIf`+g|N1nG1fi-ddu<5Oa_97{xE zN@7T&v`TP>+f^9L&djetiCh5CvLc7bZ01O`n9DqqE8{o95sI#TN5fAXY6FQj@n_FNGM(u|)hMF^`dX=Ov;&%Gb)~ z#2i0u8Y84LrVBap*gx`^kT3Gd7qdiiO+TIylox6SDV5?!uTMnBc#QS2%*SzwV#W_J z(PPpelO?CTE*ULJcvK8h*_`}D)jLz8Sa5$8RjxL|<8zdGVOz}9vQ&hV3}YF~CHL=P PuJCuR^l{a{+12m|WM!LK diff --git a/djhk-framework/target/classes/com/djhk/framework/config/SecurityConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/SecurityConfig.class index 23d67db17d763b6c1371c9ccb1324322fdf19842..b6b00c8f6c1a37b3b55088801bc9464b2c902997 100644 GIT binary patch delta 17 ZcmX>Qb|8%7)W2Q(7#JALH*#2L0{}^D2FL&a delta 17 ZcmX>Qb|8%7)W2Q(7#J8#HgZ^K0{}@}2E_mX diff --git a/djhk-framework/target/classes/com/djhk/framework/config/ServerConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/ServerConfig.class index a48e167e5dc5d0283e30758616b9eac4f0b60ad8..eb24093f0212e5b4a1f2c3b334052200d2bfc370 100644 GIT binary patch delta 17 YcmeC-?&0P*^>5cc1_lQ6jT|kk06LQe@Bjb+ delta 17 YcmeC-?&0P*^>5cc1_lO`jT|kk06K&P?EnA( diff --git a/djhk-framework/target/classes/com/djhk/framework/config/ThreadPoolConfig$1.class b/djhk-framework/target/classes/com/djhk/framework/config/ThreadPoolConfig$1.class index 8aa59c017bc6f5ac79629e58ec53976b2a0a7546..b71289c32f92afca8cf3c9c346986585e90b5a08 100644 GIT binary patch delta 197 zcmeC-+RUYL>ff$?3=9nB32 zKz@EsaAs91BLkx+BLi$Lu(Ed!o2CbF1BrBJ;Q&@nA#n-uFpHUQ zRx^b#A^w_C^ci>zJw_L^k-ED(>=%M;g)c4zlb=dP{p(6dZEa+a zR{oT8G}cU*YCNhMpG4Cn@R(`l1VWN6C&kMNow!8X&O3AnZMsBssaaBp{qxfYvc4Ek diff --git a/djhk-framework/target/classes/com/djhk/framework/config/ThreadPoolConfig.class b/djhk-framework/target/classes/com/djhk/framework/config/ThreadPoolConfig.class index cd029a2b176415c6c3121c1f19fcc245585a724f..195aa2ad091f8ff8f4e696987763450edad9f676 100644 GIT binary patch delta 297 zcmXBPIZnes6vpwtg{&csXewndJnlFhrveHeNM8c`>fN| zzqz}@0g0kvIkcoCk|TZVrtUE(`rR#xQ-_Lfc_lp|rV35Y6z5zhF1b=na_tc5(1|`@ pL@KI+X>((a86uM&4n>o*W`yY>W2TMcn$~}cRjT;r+Z$}+{{!0%DLViF delta 249 zcmXBPy-osA5QgD*ImE-BoJ2yh5pC${SU^P-e^3DhS^P&6qlFcQ!W*Eor8qtJVC*bN zXuS$9!P3gG6Q+2+Vv6}@lKIGte*V9wK#4~~me6O7qEHgb!lq`+utF$o3l(8UsA~2M zcDdWv9B7UVX~Go8k|)Bc&@imh)U-5b9=0_czP{JrUOq>Ig!@Z81?RLa9pOUg($++7 zpd!`d(oI#tyK=wkIk@J=a?73Np1vi=gGb)YRQ_w6jFO&m^Hh*qk3ZT##TS=j*`(%2p^>5cc1_lQ6jU24v06pOa%K!iX delta 17 YcmeCx>(%2p^>5cc1_lO`jU24v06o$L$N&HU diff --git a/djhk-framework/target/classes/com/djhk/framework/datasource/DynamicDataSource.class b/djhk-framework/target/classes/com/djhk/framework/datasource/DynamicDataSource.class index 17ad17604a0ddc8a0aa9d2c84a1a475f3e6c44cf..5da693da716303f15053a5710b717407e272974e 100644 GIT binary patch delta 17 Zcmeyv@rQ%s)W2Q(7#JALH*%D)002lB2DtzL delta 17 Zcmeyv@rQ%s)W2Q(7#J8#Hgc4(002k{2DShI diff --git a/djhk-framework/target/classes/com/djhk/framework/datasource/DynamicDataSourceContextHolder.class b/djhk-framework/target/classes/com/djhk/framework/datasource/DynamicDataSourceContextHolder.class index 39607df618ee32cbe9d896cab6b721f5d992d257..dbf533197ea00559208b298f9730d9498477eab5 100644 GIT binary patch delta 16 XcmeC+>fquy^>5cc1_lQ6g&eE^GhhW$ delta 16 XcmeC+>fquy^>5cc1_lO`g&eE^GgJjn diff --git a/djhk-framework/target/classes/com/djhk/framework/interceptor/RepeatSubmitInterceptor.class b/djhk-framework/target/classes/com/djhk/framework/interceptor/RepeatSubmitInterceptor.class index ae16897b1faca60c03467c4d0aae7442fc6460d1..652789a966733b94df748a769173e63aae4e28f7 100644 GIT binary patch delta 17 ZcmbO#Fjau#)W2Q(7#JALH*)ZD0028)1(*N; delta 17 ZcmbO#Fjau#)W2Q(7#J8#HgfQC0028r1(g5* diff --git a/djhk-framework/target/classes/com/djhk/framework/interceptor/impl/SameUrlDataInterceptor.class b/djhk-framework/target/classes/com/djhk/framework/interceptor/impl/SameUrlDataInterceptor.class index e3d9932cca6dadd7589ef855640eae7334424faa..980d2eac75b025c917058a868929fda72d653982 100644 GIT binary patch delta 1864 zcma)6`*Raj6#h2Z<|dnMOTj5Fk5WpDp)Cd!D7Fff3WBr|Xb}+%xdj@u?zbMmg#w-PT%IdaEdzqOs<7pi? zAf!NZb#2kOrK1|5>|tNs_`N#zp-jVUDR5NB z0FEgr++=Ps!##F17H%=Sb$o%Gj^j9?qZMsB)?!e{eOMzfM8HOz6gZ{hOPtp670wXK zagUjaj&Q4;iY7XAe2tufq7i*_QfklQkb*hc5;19@%YV=_N5eNbM}M~p>(V{#@u*#| zCOcwa8p=CsW%5zE|LDPA0p0x_K^35(z8S6f@Ili}Ck`n*SBUt>9uau_0!q zD_zHi5wq+Xbxc(r&NXe@)@@y5kSEcwCOcCr%j7Ma%vh{7YFiBgmlag~FHi+#|80lK z?9r)gXB8!~#h_psS04UKWP@?t=qgmI*fLbq(jdrrI=>s!2y=tok>BufzR8KFfNjjx z?Cj>kiiSDV6~W7K9I+-qLm96rc;^(3C76p_I4h_}gY+SVg(x5la5a0SusvfG7``Et z0`;Q$7{(eRhwJP8hW`Q<82&Rb>H|i=C>X>z5Bd;x4K0TWeJFLr+CfZI zkV9D?3e^6S&{rQvp&P(Z2T|6UQCciiOyY zJJE~9*oC`r082517M$V(a2_l0Bd^5IXmfJyMIlDPhg)$QV;o=w=3zc7(aY=`DFtM< z`ASIXb}VqJa}`ZQ^00b85iP`d1~C?8=%Ohw#{GOxA8<-H%Z)Ky zoN}y0X1-IMa@@nTJT$*9Umb&quVVTt&jIWikA$Z~WY|7J-M!R$u$mvADvpxuIr{iH zhigW&5gf9WIaJlDwf|iEO4U+d#+tZe_kP(ze|H5vOC6#cdCncg>}26K@uI|>Bu>pKlrP{CF0#bix%PAY7{AP4T@7aE delta 1605 zcmZ9L+jCP@6omx@n6|OBv}tWq#7l`N z;0?S55EK;=#Y?S1F{Pl02n2dWAdk-Hy?N{$A-c#%w>bHNhyxH7lp?ebDiFj&hyeHn- ztEnSu;pBD8+d2~(&uFmlGM9W_h2nk92Yjg5ula}rnvXfC_(bz5hcdqgV(HKLT=9kG zO9nJwF{t^PZ#2`1Y7TQmGsF>#vF-5+lxEyEVr-q4|#QH4n2&6X&F6EsraHFo;hne$<@iC(RkoT8#cbRLwa~NcyY# zg~*4Nva7rvQf9oNs9%N>JH`zx44tLjE^8#L5ZY+%bAO%O^Fjk zRt+<@+|4r1Eioh@B+K}ERdbXHuF6tTA9RD~nCk{lF|j`6hTM`7Ci&QlmzOJjm>Z|Y zwOwbJ$$N?9#JUltSPU~Yv%Rchg2Zw|dDStlJ3>{K>-_@)#HJy0wrp0qpGH~ud)UE! z>|{Rsd4NF{aGph6;6X03j7!A$gXOsrw=jy)1h|{I5@S#bpC=I<@trME8VQ*q3k@*R zy%N_n<+8-SUz+RZcgYYHK3#GwNQ;Xt;SaG;lqEE=M-oRRLBD*9MN$H-k#EJl7a+eD%G3|oA(JdGITKscMQR?9}L!R4`B>t^I*6q{4Y zBcvO1-KpeJDa$A3*A%+rO5v-ed^=ZaMD8TLIK+zfG109Ntxv-H%=;5+z@8DGpm49Y z+%ABfmZfHvUH9K}AYw-XV-gixckZLa9w=@_sC<0dEb|;0f9tye&6ZsRgC zzih-LnrV^Dm6VYXDey1c#xsxGcpBVh9180%qPATq;t5f=irU9I!sb<)$JYk`0Crj& AssI20 diff --git a/djhk-framework/target/classes/com/djhk/framework/manager/AsyncManager.class b/djhk-framework/target/classes/com/djhk/framework/manager/AsyncManager.class index 91e141db5dfcc1228ddad853b926984d0a1aad2b..f039f7965fff585bdf69cdf79df94b3cf2335df1 100644 GIT binary patch delta 17 ZcmbQqJ(HW`)W2Q(7#JALH*!p51pquv1{VMT delta 17 ZcmbQqJ(HW`)W2Q(7#J8#HgZg41pqug1{44Q diff --git a/djhk-framework/target/classes/com/djhk/framework/manager/ShutdownManager.class b/djhk-framework/target/classes/com/djhk/framework/manager/ShutdownManager.class index 48e821cc6626a16eae4dc1f3e4ccfb59decd8966..cd6007e6835beacfa7dadd8a351464427424f4e9 100644 GIT binary patch delta 24 gcmdnUwULYC)W2Q(7#JALH*zSlFmBtd#lp@A0B@%UbN~PV delta 24 gcmdnUwULYC)W2Q(7#J8#HgYJkFmB(h#lp@A0B?y0asU7T diff --git a/djhk-framework/target/classes/com/djhk/framework/manager/factory/AsyncFactory$1.class b/djhk-framework/target/classes/com/djhk/framework/manager/factory/AsyncFactory$1.class index 8f15f187047b6b3a61a22114338c69503577bd3b..005925406b60e40c7f76618f5f372b62e0cdc865 100644 GIT binary patch delta 449 zcmW;J$xjqP6vy#z(als(%}WT#0TSW~Vj>qWhzW@|1B!Za2V?{pM;00B9?%g1H&9Se zXk{62!wobs!MSnZMobL<27d*K+C?2c@AqD%F7hA%->gH6t6p8;aCu=s0zyW5NR- zD!j9)AlsA)vf**3CiX~p%#*O&sX8_;Oz>2A#-uRCbKwQkni=6GuQap59HHj5@P=t& zo(0XKqB{H;uRbU&kr$RNE0(vGcb50$!+%bD)d%4ts|s~Q_(Wb&e8TrLzVMkZVa`38 z_$qv3O<3o9Vbk4H2TFomkQ@wBezGrfF9&#LJT3Ih%30gmeQc5=vyd@3#&UW z___e@;)XZUi!sETA>r!HyMG0VfpHF>{3bJVn$?=WH6ttke*6UL`4(pv2bC7(kaAdQ zRgO4z)8;tJG0SmBT$>Y|)O5~y0*TcyO7)8-<|Kw29`^! zN0!IJG*2v{@RTXx8P6>*45@G_p4uYJFe}U{FO^ryYvm2IhN{rStHQ0(#@e^SJKh^i zTKJ%&jg3Lj8wm4!3@4*|6Q6|7d=b8~Q2rHNHI>fKWU|F#DxFRnk~?;mf5&1`^S%7X Vm5hmmt+IJj!}_-zX8kAsYYnGVUKIcU diff --git a/djhk-framework/target/classes/com/djhk/framework/manager/factory/AsyncFactory$2.class b/djhk-framework/target/classes/com/djhk/framework/manager/factory/AsyncFactory$2.class index b3ba8c499c2077af50184feefcfe914d18368a8b..1c52f982ea55f2aefa87db300c60578bb781e5b5 100644 GIT binary patch delta 175 zcmW-bIT8U;6h+Th%J+Xikt*{%)8?U@9f<5gEYP7{i0y$Q5(otrrL?}uxpk6zFXn2z z&-eKPd^QF{*S{U=T!xC|Zhs86hhrc(h>#+q z83|)1nyD~jE-YA{PikUTf`>1x?+^8kxpA`LdW;D5IlnFv#6LWl@us+zg5V5!N36>DL`_H8VE^5pRTM7?S{NdYTtx7Kf;YUNsNf~Bps+F7Sg8pMg^h{Nu#Jx) zp#U}U0kroCd=BFe8mE{uXC~)NX1+pCq4N9p%Nvm6OcEj`nI&y97bHVgGS7l!ktIP+ zB3KrzNG$Ru1<5LF7K5w{HUyikazghW_4u|%uKiE!0S!yG}h- zymD?Df*qS(N`gI`eaeCZn?sH?GTwtPEn}IUw(>`(V%Z+8YMAbwn`$Z>!LiK=r#8cc z+xNatebSHC+o$rFIx4MDQy7SM(7aot5Y@xJXZ$){0(pNIBOiE0)FOd+BAJT#JDA>w z(KM`@5=gHkrY|s=`S*+V-M|V5yVz|8TFP8wTxFv_n!ra~F`Wd-epgrD5)7$2th$!M IUWi}#0Saa{h5!Hn delta 409 zcmZ9I&rTXq7{!103Ui0+R20#OaYO1t!Er`Kp;&9xRz>lDT(C3-Nt#9?BMakW%+9qB zpfyISi4V|+Flo}~XuPN^&*J>PoSd`yuHygVr9c1gAAuZuF}fJn#PKvf6E>5bOp((} zGo#5~oSY}1B>QG`$vF=c2BYcttv1xp2 zXtKTD64=36;5N-tvF)(KuD}cbO7G^P<5G%fIB%td3@g@bx+4+!O;pmtDn?qUV)OyK zl8R=sV{R&PM=ZRxnwG9)?&u7C_3^yhW|RzqKJ%U-!?q&75LbqRe&g0lI$(a1CHdA& gzcphCr^SaG#Pz%SAd)eYNnE-O6Xw!}ZP~AQ22M6T&;S4c diff --git a/djhk-framework/target/classes/com/djhk/framework/security/context/AuthenticationContextHolder.class b/djhk-framework/target/classes/com/djhk/framework/security/context/AuthenticationContextHolder.class index 8edcb2bddadc02034e5966a34ba3c729820e5dd3..ce8ac429f1a0fc47fd4f01f8de7f63747431b92b 100644 GIT binary patch delta 17 YcmeC+?BL`$^>5cc1_lQ6jT{Xu06ESD-v9sr delta 17 YcmeC+?BL`$^>5cc1_lO`jT{Xu06D(}+yDRo diff --git a/djhk-framework/target/classes/com/djhk/framework/security/context/PermissionContextHolder.class b/djhk-framework/target/classes/com/djhk/framework/security/context/PermissionContextHolder.class index bfcc9d8e4f400dc3280f2554898ac91259e00bfe..0491a4c9dcac8bf59f366a47aaf4147fe4685921 100644 GIT binary patch delta 17 Zcmeyz@sES!)W2Q(7#JALH*%D*002l_2EPCR delta 17 Zcmeyz@sES!)W2Q(7#J8#Hgc4)002l$2D|_O diff --git a/djhk-framework/target/classes/com/djhk/framework/security/filter/JwtAuthenticationTokenFilter.class b/djhk-framework/target/classes/com/djhk/framework/security/filter/JwtAuthenticationTokenFilter.class index d0c6512900b3db56aaf8eb73388b832463d26c7b..ff756d288b4424d38bede356bae5d2f3197402c8 100644 GIT binary patch delta 17 ZcmZ24wqA_m)W2Q(7#JALH*%#j4{ZPd delta 50 zcmaEC|Ja`6)W2Q(7#J8#HgeQSNN;Bl)zaC?AjZhBok3h{JA(ueOKNFvW02aud7*?8 FI{>#N4{rbf diff --git a/djhk-framework/target/classes/com/djhk/framework/web/domain/server/Cpu.class b/djhk-framework/target/classes/com/djhk/framework/web/domain/server/Cpu.class index 2b6280aa2b6ad36338af82a5a5c9ad346b77043c..b586b0518fe007af1bf0a7b3416459fe0e4a2fd5 100644 GIT binary patch delta 17 ZcmX@abBKrI)W2Q(7#JALH*#390RTYW1{DAR delta 17 ZcmX@abBKrI)W2Q(7#J8#HgZ_80RTYH1`+@O diff --git a/djhk-framework/target/classes/com/djhk/framework/web/domain/server/Jvm.class b/djhk-framework/target/classes/com/djhk/framework/web/domain/server/Jvm.class index b3715c239168751f45475d0f092fe3088afd9130..ca8cd1ebfa8f3de7b196e243c14f2d03d2ac7552 100644 GIT binary patch delta 17 Zcmdleyiu6r)W2Q(7#JALH*&1x1OPyB26F%a delta 17 Zcmdleyiu6r)W2Q(7#J8#Hgc@w1OPx{25e%GAi)W2Q(7#JALH*#E+1^`Nv2T=e3 delta 17 Zcmca>e%GAi)W2Q(7#J8#Hga5*1^`Ng2TlM0 diff --git a/djhk-framework/target/classes/com/djhk/framework/web/service/PermissionService.class b/djhk-framework/target/classes/com/djhk/framework/web/service/PermissionService.class index 3e463b635236aef430645992e2a8164918d7ef1b..3cc32ee611a55a42387157e1758fcd40e65cb96d 100644 GIT binary patch delta 31 mcmZ24yD2Fm5kb22^j2QsM;0zD| diff --git a/djhk-framework/target/classes/com/djhk/framework/web/service/SysLoginService.class b/djhk-framework/target/classes/com/djhk/framework/web/service/SysLoginService.class index f4ed69a321866f64db15d364da4fa389a1a5268a..c9ff8e013c4f1b707edd15b97c5897cc12e9dbdb 100644 GIT binary patch delta 2050 zcma)+2~?C-6vuy$S>EvRB?BXP=(K2o8K9V%m9|KfVv(q5rdc+Q6QVRj%wR6%WVX>> zUmLcVWs5DEVSu)v?PdFJ*}m^(t7X!CGX$2MPG`P(@4maf`@i?y)`8BT#M9f>J_PKq zEDJw#EJ~ScmU)`_7H&?nIGqLQ!bxOs1`EycOwA(ASr%t=j^*IdS0~QA{$M}EH;vw2ISjT$J!_5QLW|#XB&7;kIJrk6_k}))C^vKwOI`T@1k z>YB)aSc+-$7Mm1B&QyPnGdwdlVe>Zc*qlPW&0&;j-nDs;_ic`5wB`ew5BW%e=3|>r z_*CJa8Jry~sSQS|ORD1aHIZsz9TttoWAXZ6-O=IrjOg@OrkBrrd~WjvU)qe~NX=I^ zU-ONkXYx)nL&3UuXhv{=Q*s3aQ+O+)(OC_33VT!}60R?+4aQ<&aeqy}iXD8U04onh zrq_mJ`6n(<)t2@V}xccKdHV z`bdNOsYZW zkzM)@Phl%+RnpBkSxt20c~*_2zk>AioW}D7#1Y-mVAnw-u0;+{tbsa6g5U zS}AJ(%cyu_ah|t@{)?SyIeR7y#4ZfPg9KNoBSVIQpBTM~Gk^vejHgN+=Llx=1f%&> z%Wyw~1)Rr149?|p=iZXVOu@<{7L%DJl)<^N3+KizoEtId8k`#ubQ2OhL!8xevH)#B z%_MCb;{`qg=oX2t%oOcJC?pZwqO_r?jeQnl70cGtmHePo(tpc+U&(!NdvOc<`Icgv z-QROrmqn)Yd2XIvBwUY3&F*ZBaS*v8QA0K@(zz(Eq=;Py@!o#DMk zCY!G?b)XI=-wam6J zDQPjwHZ7Mh7A?^>OWJHtGi|dn%d)I2!{$B^P0xGh-kG^`XYT($GoPDYlUBa1al1`lc;vdcMxhfTgmOp0YTkFwlIk45k}D>P5o zbfir4q{UN4eA?m}o0Y86JZtpljPq)nHLSH*r+MBc)nr^ll}#e+End)6+w?TXmDE_& zYU*ry89k8=>6(oeFPdyG*=(ZTESoL1XkNC-qRhm9#pYFBi{N#(YTl@7s}6>H-qdWX zit&zAfgDCUTuGrr38ji*?t+N6?tazEUE%B8HirhyTMlpYj>AP%!D8Ha2 z)8R+Trvs-0{J|l2uzyJSpRzCU4+#H@ z!|pDBcHnRR(HwF3*W7I6sGDXFjJ=fMTHz?A!n6u^lt+0L-P|;lP_@dg@z}m#adAOm zz9PjP8%T)!ADrIq#8w3n3ahlJ$?hfu8r(5~cJ5e@U$t|0JF!(N%BRX{FQpF1EO-es zw4u0AG@tB4WDhgtJHd8I$R^lMur>L~YfrHW^C#K7qD$+@I!Yp?(o2ab$rEc(>q4<} zWi{EMGndQiG&wMuF`_BPGEUY}?tz$nD%ai7I=9?-jl(Z970nflm)jZg>IqB~3AQxf zG*XaBp=evk6DcfonlDm#NGcG?LlkS7%oO2cH8D(Onnal{=UI4;%0T%v12u^!{L5#c zH1-i=w2um(r@DkZW@^bT6JuU4K>A7sEpaOn*VDd^4vGxV>7J!5+(^gKHFS#ZQcc&C z=re0MYcq)=SCf?K73bu5Z#5}m%k;(jw$jO}#Yu{ejPB-UwT@|@DtFWBkGXZvO^)|f zlU_-uX0IN`tGuUpon3DT562LmE;K_i5nLtBP(li&^kz2wm@D*MEyP_b->!LLEn_kB zS;B%)aRv*76d|cdsPoE=F%n}^i1vyW+ACUUufUKkw2zW!qaU0_Xg<34JDSHd9h8A26&F!>| zWZ}%fGGHRnk?jKVJ3@xQ5ft)iYQiET<_Wc5loTpk@W?AJsAGVK<1=7~99By?*3jLw bcx=;+mi$ptmunb#c0y$=2Zk+5ek diff --git a/djhk-framework/target/classes/com/djhk/framework/web/service/SysPasswordService.class b/djhk-framework/target/classes/com/djhk/framework/web/service/SysPasswordService.class index 7f461bc42ccbe4fb53f69af2dddddee2db26d1cc..4e4c452ff64049efbdf78bf4aa956b59ab637e3a 100644 GIT binary patch delta 1485 zcma)+YjYG;5Qd-G+sRIbkei7K2_z6SH(bRlSxtl>kQhJ=7$a&JcE@Cs%}(4M0zq_9 z5pSr`@d9|MvPwVc2N7LDu*7dx`4{{T{sgtp?pBg2sw}JaobJ>8zJ0p;^z8NKZ(H(z z{Js1u@E~8Av@%>P`T>)JJWS4Eb$ zn|#bC2J7ZdCMTS1b|R7S`V51{S$oDAbTbLt8%udpqUAh0GCy?y(b|n_WuyVjV>AqMSqdNk!ZamAMgTmM%!MxKrT4WwO0uT_RSNI*{o25oYRh-?=b z&@W%MRf_D8wKc~b;*eLr)zL{SOQolC(*v9?gmxk+8}HFHL7oR_cVnH)LbT3 z#D0@oU_6Q(xF{MY0Og>lZ2q^12!Qr94-vS>yrv(=iBf zfrr>3wN}dKq$>79kf(8p+rO7nfYm0C6r0>uLan3~EvF?+1|@}n#FG!Z9MuuDez&$_4|H_6vls>n`E2Yl|l=}RIn*pC`n7CiejrG1koxlVk=nRN^D|ZXm4v8K=37~ zfN!Y9tAflhqaXODqo{LRU1A z?FMiU7hKk{PxGWp#Nz%2p0ehkU4~qq=0GDmIcS$>EO#hD2g9x`&$>Lv^O_f2nt0JJ zBlhf&CU5a2mlj4Xv5=t1%a%Q+8Fxw2xzGA1Tyjjh9A?TMPP=%_SZh}Eil%hsT!W+M zG-b^Z|10N@$|kak)sy+7`Rr8Q8_N!sOB3GMjw2IOg3h!;JR{eNM_eLtx=nk11I5JUDgQ8P*al!S15nFK0*C@DAzVsX! zIS>W^Kj&s|qqI{zHu^EyMFdw~ zCo;T%(;N$kXXFde--q0#WE<%fPivK5%O#QA$5zRvxSzgiR+W<)`zi^= zUIAAT(AXDE|Aa~REO1M}vY%<{izQ>fk#H7SZq0xdLTHwqSYOj}ot9zikZdQG7qJI^b4OmK0@eH`6@Xi&#}-K@ z@2}bz!H6V+M0X~rux639-^eb)Qj>RwO-@x=^|BJRvLsSQwpAh&@_=hui^8@;Ooctj zgnhj|p#4jh|I3p)SQ9VIWfHLq_S4KD?eZtHG}%=B(iBgGleHQhRJ+`WV Fe*l`)#-IQI diff --git a/djhk-framework/target/classes/com/djhk/framework/web/service/SysPermissionService.class b/djhk-framework/target/classes/com/djhk/framework/web/service/SysPermissionService.class index c53fa68081e841eeaf651f1e164de2bd18a0e433..ae4467da1ba2963ce48ae0788298a62496dd1e27 100644 GIT binary patch delta 17 ZcmZ1^wn&WQ)W2Q(7#JALH*!dE0{}hG1c diff --git a/djhk-framework/target/classes/com/djhk/framework/web/service/SysRegisterService.class b/djhk-framework/target/classes/com/djhk/framework/web/service/SysRegisterService.class index 3cd5dea58b14bda643fafe9f85cafde41c7811eb..5971c5d247ff9d5122627482e918e7c9c4fb0a09 100644 GIT binary patch delta 1639 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 Q!g?ESwH{b`zitEm0q_czF8}}l diff --git a/djhk-framework/target/classes/com/djhk/framework/web/service/UserDetailsServiceImpl.class b/djhk-framework/target/classes/com/djhk/framework/web/service/UserDetailsServiceImpl.class index 3618350344cee2955d064b890af1fb35f3d0042f..6e16c5f5a655efcd70baed007dfcee468d5c8713 100644 GIT binary patch delta 17 ZcmbOvHA#x&)W2Q(7#JALH*#?C0suTI1*iZ3 delta 17 ZcmbOvHA#x&)W2Q(7#J8#Hga(B0suT31*HH0 diff --git a/djhk-generator/target/classes/com/djhk/generator/config/GenConfig.class b/djhk-generator/target/classes/com/djhk/generator/config/GenConfig.class index 9d66ff94817fea22a8e7514f133883cd93cc6fa3..2429100cccc454ca68dcc2713cf2ca5ea59e7e10 100644 GIT binary patch delta 17 ZcmbQrHzY9xXr5@eGEgn>*J2s0rw5O5no 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 No?p}@XTH{d{2$Ft8;bw{ diff --git a/djhk-generator/target/classes/com/djhk/generator/domain/GenTable.class b/djhk-generator/target/classes/com/djhk/generator/domain/GenTable.class index 8258cfd263370732b7f5b3e84f4461596423041e..fcefacad361c050403a8a03ad9621d00cdb196fc 100644 GIT binary patch delta 17 ZcmX?Md%~9E)W2Q(7#JALH*y@10{}>X2O$6e delta 17 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 B3tj*K delta 6185 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 diff --git a/djhk-generator/target/classes/com/djhk/generator/util/VelocityInitializer.class b/djhk-generator/target/classes/com/djhk/generator/util/VelocityInitializer.class index 41c02d079c156da35d78e7f14167025e0290c058..8aee2aa1a990c1e9c83681738c7107250439cc94 100644 GIT binary patch delta 17 ZcmZ3%v4Vr+)W2Q(7#JALH*zSj002Dj1-$?O delta 17 ZcmZ3%v4Vr+)W2Q(7#J8#HgYJi002DU1-bwL diff --git a/djhk-generator/target/classes/com/djhk/generator/util/VelocityUtils.class b/djhk-generator/target/classes/com/djhk/generator/util/VelocityUtils.class index b64e2c664b3b77b6008fb422766502cd87e5047b..660286482da3e56aa91b36d8a2c7f36f43d5b70a 100644 GIT binary patch delta 4721 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 CUin%8 diff --git a/djhk-quartz/target/classes/com/djhk/quartz/controller/SysJobController.class b/djhk-quartz/target/classes/com/djhk/quartz/controller/SysJobController.class index 387ae9d95d5fba8d54067b5309b0fc61f228fa36..4eecd3ce7bfd073ee13d3ecaac187a722408d74f 100644 GIT binary patch delta 1964 zcmb7^dr(w$6vw}Z1@7hUPj>gBu#gJMLmtJBF^vN|11d9CWI7Ht#5he|afkOVu~!;v za(j$9{5&iS45J!jAF zv%9~sE6x>2gXeqq16V-uTcm|P2?8FI`MFKP0<d+Xd_pu~Whm*d>F|Cg3R%yG1;$ zr=F1!fi@9)L_8V!HiAl(nr52BN}Zo&v6lTiQ!TN zNe|6>i-7&Q`+y$3tjjC9ysGD3)8%!2%o`%!)DLe77!dGw$Jo&*VNk$3gk%PZxT0?{SXQn@=+k*FvAhN%kUoFC!}hHk*V6@n6zt-GJJp!8IIv2hL3Ta;S&rA z_>|!@oM8AILj>z$k4N>YjY`9{F15L%J6-Q??il05UNzQp}^rFh0#ZLD@z2AD5VDpXJ7T7jk$qL+F+wQCv(>}t2$)mU7oc)c$EMLd$ZG-O8LH+q%g zUR~$%rUe?EL7Q*w&QU1_!I zatbtqkRE2aJpCUuc{{@FFvbZ!{|31%!dJ+jl?eV!4dirTS~p@Jg)N(hmR?waF4)@n zL6)a?V@At=mH1#KsvimECfQzE9w{f5b|We1x+KIkQ+LgpS>-kGq20O};hLyM+H=+bL;RYyZ zKm``9g9{r`i5662Cu;diTaO;Nv52?E2gqPCius8%LJh9u4|gq(MMT>Z)6*vii(V0fI9Z#DEuL!UKtuc7UR`VH+iw8zk1L;DPU$3$g7>1wI?VjEqX482yof}Nplh+tz)2;vVDHKM6X8e+^SlUkP2;7D9z zMnep^A|7L+0$Nm5)LNN3OsQ>MQR{|Qt$R`0y5PQ`)+L@JYGxF~{`v0t-t)fqeD^%L z6OH@kxP!m#=m%!=%X)WS%;7c{FV{*o*ylzUhfR{(ZF7f9107b`>~N>#E|TO3&_m@iV=1zK44fcaO-kE zRP13?P^&w90X^bXdaYZPGsd`JmXVGwcFvDR+Z*fa1=6lA_+x3e0=hHbBNZRsf-e7<0)HITuV5p&CW{oZ_J^4S8%`_ALUu3D?Ng+!OP6k5cc1_lQ6jU0c406p9Wo&W#< delta 17 YcmZowYgOYo^>5cc1_lO`jU0c406onHn*aa+ diff --git a/djhk-quartz/target/classes/com/djhk/quartz/domain/SysJobLog.class b/djhk-quartz/target/classes/com/djhk/quartz/domain/SysJobLog.class index 86e2fbe147a7c01f078b648efd1842890719db34..789dae1ca65bba9d0c8d233e4805f0a5191e9387 100644 GIT binary patch delta 17 ZcmdlXwL^;I)W2Q(7#JALH*y&80suiZ1{weW delta 17 ZcmdlXwL^;I)W2Q(7#J8#HgXv70suiK1{VMT diff --git a/djhk-quartz/target/classes/com/djhk/quartz/mapper/SysJobLogMapper.class b/djhk-quartz/target/classes/com/djhk/quartz/mapper/SysJobLogMapper.class index c032dddb0ae0ba254206845b5d86138e8b66f9f4..b21b74482192ba47d1e73ccc455d1845323bf57d 100644 GIT binary patch delta 17 ZcmX@XdV-bX)W2Q(7#JALH*y?c0sukO29*E+ delta 17 ZcmX@XdV-bX)W2Q(7#J8#HgX(b0suk929f{( diff --git a/djhk-quartz/target/classes/com/djhk/quartz/mapper/SysJobMapper.class b/djhk-quartz/target/classes/com/djhk/quartz/mapper/SysJobMapper.class index f18015f54373c17c9eefa5b989cf6429d0014761..bc5df11628dcf489ab87f6fe5ff73bca7280bc82 100644 GIT binary patch delta 17 ZcmbQnI*pa%)W2Q(7#JALH*)kb0RTHN1^)m5 delta 17 ZcmbQnI*pa%)W2Q(7#J8#Hgfba0RTH81^fU2 diff --git a/djhk-quartz/target/classes/com/djhk/quartz/service/ISysJobLogService.class b/djhk-quartz/target/classes/com/djhk/quartz/service/ISysJobLogService.class index d129dfd49e089f187ae3a3cbd45273e3808958d0..f9fe14e313bf989b52453bf60976ba1b93bf45e1 100644 GIT binary patch delta 17 Zcmcb`a*KuI)W2Q(7#JALH*y3q0RTf921x(_ delta 17 Zcmcb`a*KuI)W2Q(7#J8#HgW_p0RTe_21Wn? diff --git a/djhk-quartz/target/classes/com/djhk/quartz/service/ISysJobService.class b/djhk-quartz/target/classes/com/djhk/quartz/service/ISysJobService.class index 8b27f96cf7f218010d517620a12457ef85ddb32c..13d77ae3b58e23b7b9c0eea379dfa31117b3c579 100644 GIT binary patch delta 17 Zcmeyx_KS_<)W2Q(7#JALH*yp)0{};t2Ce`A delta 17 Zcmeyx_KS_<)W2Q(7#J8#HgXg(0{};e2CD!7 diff --git a/djhk-quartz/target/classes/com/djhk/quartz/service/impl/SysJobLogServiceImpl.class b/djhk-quartz/target/classes/com/djhk/quartz/service/impl/SysJobLogServiceImpl.class index cd86f65535921443b6e223efe906ac943c0f8d3f..46cac93be610d8b665b563667b4592cabd8885a8 100644 GIT binary patch delta 17 ZcmaFN`fgc5Pj>ovEyu-HY6!6C442Ov=p~|1qigz(9%NSQY6l+)@nnH9mPvgPx%Q5 z`N9>66Sr~zsRu6H_%BEtI3s55C>26NSn_=AzIktE_Gk9>sPpaD;THgPv@Ga2pTP_+ zn3y#%XW=5|EnI?AAixz9R}EY{Sk|?yg{*<=oQiHlPqbI_H#u&hVc<5$9aI>`R)Ro= zvM0KaUAY@`fgfSL6e~z{m@Dk#xU_hblhg(ZwdLVEq5sjrSN6Q zU`Ov*F`CxL`y_B*F|0FGpNl==c*5Ut+Wub9ah*-sYx_G1!0qGMljW2-^9HSKT1c5xp zC}S8$fh>_ZFHtpM5AZ5FhGNWNql9vdwlRU@NX58GOvSy~IDu)5 z5b`7{N`Y=y39Z<3AEC`1!T>%Yebi<@(Jm3T9BU`+xuJFrr($h})5DqT#HeP@5NE;s zgD;_*f=R6$jh-3M>9j_*ptCqfUaioslBtC>;sZLdC|Sh@)-Z_$%1z1_>A(CN_(6;v delta 598 zcmZvY%}X0m6vcmUOfr+ntJXBe8mm>S@gwS3tF<*Ywtg*2SMADWKoLb!@vF-~cY+`? z=%Tpks%sS@R_Pz$pHVQlk#4${-kAvs(g*L}`yS_*=xcT`D7-GgIL?%iv zeHQ&Dj?DniZ3cN^GGt?tu^9I9OD~LAyfS%x=!A?|H8m!qnk-{(&iL~FjV8yq$y?1k z+7$Im`OUnuoG&Vn6w3kwq)i_3HKtBShv){m?2+vS6;%bl;~{nPUC-kC>z@NvMWU34KYT{Ds0Kg*>@)Ex!B?{Rsg@=nC+7=e_(;-}skrO_oD-5ry z=drJnrh$}?PSeN}s(f4%&Az!bPiY}6$X42d9()vxr=B{(IK!Mh!HP#q*crJcV#N}X zJKKSgI%$&hjU)r=t&tSZd?SkX+YO8e#@j$t8pQQ~^7|z*@rq*JyjgQ)V?qP|A6K1K+GM3xKxz}a{bp}=#sJB>|Cu>8PL_VuX8Y5-V zXw!>Yn~~gSpvgem!nG+h+di5NTW#1HJ0tXdL)V(k2Mj!D;2{I+Or(bm%NS^miqJ<5 z+i0;V%wvW=Zu10B+C0T(V?G_`8H*O1XL&B4GM=~CV&n0G#a1Ik3VhLGo5G(+)hVLw zg(~6?-NHCUk+;rQ6t>u|d5Im~?7*a=mo=}j(_)wARbJCnGfQ)qf!W;V?F;nt-^dv6 zbf9?n>zduXp}C2h6$LAu)lPY{Tc0SO;<$0m9$HPLH#K`1=k*MhE_#c%HSf@-*=N|h zhP`Lle#749faU`O?Hts6NLF)*gNmM$QzkRhj_YrLt$2A{w!r~Lnr+lV4Nt^d)aAd*fnp2$CoZ$<_Ag@ym%C|VH`I4^` zeY_>APy4#iZl84iYrawRQv=SgKlo70`-@_SmE;quGbOu$TVy2u&@c+eN3*QV29hJ*6KwV*X>Haf~1T*=_m5At^C~QDi z*n*2;3vywhAQv`ZM$g0$l?jQMC%0O?aHMv2ESTk*!q5>)AWLc4DF()Z(ZN}UlyxxF z-^=RkVA$AjEEo%C8NL@=POp{Is2pE+g0fifFy%f>fBa1F&P2*H32JEM4%Tod8=22$ z8U7X)vQ_?$dsxyXd9KvF5sTZIBTU3x6yJJLd}~g;IqmLUK0BBz(F5{^o0%s$f)ck% z^30ca>F%8`bAc9%UKWLcP#|D_JW}`q$q|rMOSZc&dt%c_=p7x=!S(G#jxut=Ax5>+ o(-fq*)a{sDES3@%%D#_9d@rjl9-aKicf?pPc3A93@GCa_4Mj9nsQ>@~ delta 1356 zcmZXTYfzMB6vuz>vb*o{@<6aVgRPT>QGqZ>f+0axUbeEROe?iA+<*upAX><-ixpk% z=35bVv#6-72)7nk$g~TU-LT6v)Ay)veX386(>bsMP0h~!pZ|OA=RD{6<>X%%#g80M z9RybJvqKFHHjNG*8nS5O2Ak#pH#)Si!{H`c9jdrlp-rLPrXy3%TLN@uaVs(X=(6c{ z$fLobn%fk1D%@^!heN)KJ>046E@gK+aiRApjjOOnVVA!zZzw$FO*09#i@t)$}XLyBI-74?u>H))Ryl(S`VURZs8`)&IPT>l!vyxRFnplwLuE;2Bg#e@Go%#8nJ|3BLBq#PSS*+?W>c)Q zrLB2QS4(SSQ>Wn&hb?jorhCSJ>mB~1r*FD1`RBx5m49O4pB~!(``{kKrwscHpOJ98 zeWfRUPQqr=@C9Gmd}TPo*M@IIIp(X#`quCr-y5bl>i+F3_5Wb_k)IMp{*-5xM2vQH zG_^Haloi+gx2D>q{}ZLlthG3)*j=6(3e5`wvG&n$TG^b1I%ip7 zN9QZD^Mrd?jbFIjq~JP{l*?(!=_?t*8lEwU2&xe*;Cw+dYrq9uC|?%qxkyl*r|`-T zBI9_rj^Iw3IxFIavMb~2S0cI!f?P};8ETb|pzIPZl^6jj@G>??S(l4Gn~Y-=*?895 zn4mbzGNlu3kN_GY=K#6mD>dxqD*D;XKDIEx zHS#9v8DslQBO7H#{n%o$S(sEf*HLP&qg1*h)y~d3OPEjLNVe_&S`r;Ego0J0tW1zSPPL5atOU8*kR=zY Rd!|NVaa=5tsBjP0{{!!)3!eZ0 diff --git a/djhk-quartz/target/classes/com/djhk/quartz/util/CronUtils.class b/djhk-quartz/target/classes/com/djhk/quartz/util/CronUtils.class index 843ae104a040001bc1180d19f140b750849dd72a..bff82c494a1fc33aa0f994d9ab0048a422559c71 100644 GIT binary patch delta 17 Zcmey*`Ja>H)W2Q(7#JALH*$Pu0RTyy2Sfk> delta 17 Zcmey*`Ja>H)W2Q(7#J8#HgbGt0RTyj2SES; diff --git a/djhk-quartz/target/classes/com/djhk/quartz/util/JobInvokeUtil.class b/djhk-quartz/target/classes/com/djhk/quartz/util/JobInvokeUtil.class index 0d5ad7f1f23091ea25cd9883aee4d26a63bd9018..420b68ca97c6d00a612defcf9d6f6c252e57556b 100644 GIT binary patch delta 17 ZcmbQNGg*h@)W2Q(7#JALH*#=`0RTR51=s)p delta 17 ZcmbQNGg*h@)W2Q(7#J8#Hga%_0RTQ>1=Rom diff --git a/djhk-quartz/target/classes/com/djhk/quartz/util/QuartzDisallowConcurrentExecution.class b/djhk-quartz/target/classes/com/djhk/quartz/util/QuartzDisallowConcurrentExecution.class index 9514e15c3c2b06d1f19eaee27e3ea778eb657637..fc885ea452a72d84219d25bd9ef91c40723e0183 100644 GIT binary patch delta 17 ZcmaFO_L`03)W2Q(7#JALH*zF10{}&t27v$o delta 17 ZcmaFO_L`03)W2Q(7#J8#HgY600{}&e27Ukl diff --git a/djhk-quartz/target/classes/com/djhk/quartz/util/QuartzJobExecution.class b/djhk-quartz/target/classes/com/djhk/quartz/util/QuartzJobExecution.class index 4d18ef601f758c2161212ecf06bfcf031d17865c..99a892682c5da7660c8c8399432bbdaf570867f8 100644 GIT binary patch delta 17 ZcmaFO`kIyF)W2Q(7#JALH*!2?0suyO2L1p5 delta 17 ZcmaFO`kIyF)W2Q(7#J8#HgY^>0suy92KxX2 diff --git a/djhk-quartz/target/classes/com/djhk/quartz/util/ScheduleUtils.class b/djhk-quartz/target/classes/com/djhk/quartz/util/ScheduleUtils.class index 29fbacbed207c44baaf1de9f38848e92b9999530..3be828eb707fab50eabe9b8e2eb57927a34479a4 100644 GIT binary patch delta 2259 zcmaJ@c|ep^5dY2Y$G+v`fw%~`f`|xmEU+M6fhmZ11zu2OR<_|PE3ixKYTC8kWp{3e zs2!AMhm}gL3mtYJcHgGmhu!yGlFj?p(#rZ{=gqwNy?MWxH}8GBxpaM5aQpAQ_X8M1 z<8)LaXvOI|7UK*ZtvFNQEP=Ca>^@(|3S6M$LR_R{0xnjVOO&`&$7Q%&&8<{gNQosWy%ip<0fp-aWigF z=B+B|ZL!#h+jSOqsJT1U+$KeJvlUyc=(gf6we8(Xgq7GT5V3*K8;g5zuMQ{fv*Lag zbek0q@K}NeWAP9kR#T5C@u-f+@VKhQ6FO$%Ngdnql!81h@QlE--IGWodaiq#=?qim z^8zmjyeROJz{>)!5cHa5P44!9$LIA6yxRS#mQMq!Fp)qd60c#0#Ov5e$PLZ5q=hD0 zrUVlw`g{R@pu^Q(=MFUc7Wn&Fu*-@!B;LeZ0&h#agLehqlXxE=NKC~vi4U<`;v?)3 z_*mi-d@6Ay=1P2q&n3RVml9v8jlRY=5+|TT;9H6B@V&$w)GO2v5KmHD~6mnmG;AYU%}klh}hkiQlnT60lbgNivaHkR~YxJ0)32NU|~wik0k( zmz2Q!Qa?(R)L&^fO5(&z`8R@pWs(L^vZNFxQYo3>X!5l=7c6dWakA3p^M>{$rq8p| zK+c`)f(A)SqjZTX8qCY{BxTSLR*EHM(ojKJl7>;Xq#PP9DVOpDR| z(GzH9%^z@i1AanwUhQJnQkS#U2PPZ`&vCs%QJH+RAS8yJ!s1ke=eAxxYx8$&?uGkSl(s-9v<&fUyIur1x6`N zb~Ocj9m@rk6D+kpU(1qq!m0y_?OPOWrl~IPf>yUbJBq9bt#?=0qp z^7V}1K4i74wYA<8a90SbAmsdu-@&#bWc)u4L-{?ZS&ntjj0@lQD%YU0n)BRfjewV__EJp+l1MORX2tGiq8a|QPJWGdYLI45m+}Fu>GWp57>m?vj!Z_0A7J3 z(8y6@)$RPxXtDo{Hu`{Q2Mcx-<}o3rMk`^4l{dPLN$GWtFydx7f?>#VtuTW4BD)qr zLKywRNGy+GZ~q8vrU%F`+RUGc$srok%FK$Jj*=a7IC zjCW%ppVA_Zqk1G7qnTrdy m_C}X&Dy57HqN5fo&C05o;+>C~avAf-4|`pyD8| zf(vD+pcW!&3JQoD6;W}bB5qVv9JnZW?hB$n|It74-E+=8_q%7^m$mtu^4zu^D zf;)8FiB4r(siaj3?ou0f>*&BeYU5rV_rbkdiT5k<0R?LmtQA-ngm$dA;Xxe_;o%^( zV1t5X9F&|||^8@8!CpHT3mg6#r3Y}jeT zQ+AZ@!qYkm@Qe-5D%$64cwVh9*zqEEE9oT#FY9;(dsKy9)o~8?>Ua&WE0;F}_6fY{ z%_fcLEpNVQp(*KYfp-Mn6?jizzrgzhy<}c}Lu*H4OLM!x2i|>JI)#tHSp>?J_z(vq zKEgpyh_xX$W=7rIx}2uE=4m-K9c_)x(?-o{Y?{*0<_Q&p-J{EkYicG}7FU!=e2h;N zd@Au74hVcM@ddsVI3)2EzLuy&mBcqVEb*<{{!Ze19Fe#PlO=w@j}kxOXNjZg>R<4y z#HE-g@SDW%_(S46OjKUSBzkdNxt<_Ix3qbVTBF>{vgOY+NL{cb6Lt&C4C{j`sUr*5#BPmu%PU^$#dHfs1 zzkEq?6fdc-f&_{uxawPGdAdbfBEeZZy&}$`WcPha18X43d;j1%d`k z8loZ_O6i0YPq;P8TV>1QOkk~RZEa|tLdZ(<BRDaw1;e#qh-9oB2AK{7vrQhtWuH$~vlU@T)Thgag&lF<#?#DWQ98Lfsf z4&zvs0SA<$f;C-rp1sOETOw24%2#I%7{Kd5!#~>4qcI+58@m$Ks9}!UfbTIxP_f_{ zKbLhACcv)7f%jE7M{%}DowE2woM^c0E91l4N|V?7I^$GBCO zs{@Z^+p$!DU8 z2W=MfsObrCG&6^qfqpQbz+Bh_S_E2o5{d+73$zLFx2r=S5r~Py9QL&GiMjmkw5zWN z%c|B99JR)KUd}1A!Zb3|hb+&Mn5@3pMvlqa$n}WNbmSOXgoU+`Oh>L~Z%n2;uZs&c zNI`zrHWW zaGd5xVY$mO+>g^o#A|E#6>P=`KSplMP_{G7gZwC}%<`ewhfzL^F4UY_z@ZZkC7#K? zDdjhk-common + + + + org.springframework.boot + spring-boot-starter-freemarker + + + + com.baomidou + mybatis-plus-boot-starter + + + + org.projectlombok + lombok + + + + + + com.alibaba + druid-spring-boot-starter + + \ No newline at end of file diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysCache.java b/djhk-system/src/main/java/com/djhk/system/domain/SysCache.java deleted file mode 100644 index e1fb45f..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysCache.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.djhk.system.domain; - -import com.djhk.common.utils.StringUtils; - -/** - * 缓存信息 - * - * @author djhk - */ -public class SysCache -{ - /** 缓存名称 */ - private String cacheName = ""; - - /** 缓存键名 */ - private String cacheKey = ""; - - /** 缓存内容 */ - private String cacheValue = ""; - - /** 备注 */ - private String remark = ""; - - public SysCache() - { - - } - - public SysCache(String cacheName, String remark) - { - this.cacheName = cacheName; - this.remark = remark; - } - - public SysCache(String cacheName, String cacheKey, String cacheValue) - { - this.cacheName = StringUtils.replace(cacheName, ":", ""); - this.cacheKey = StringUtils.replace(cacheKey, cacheName, ""); - this.cacheValue = cacheValue; - } - - public String getCacheName() - { - return cacheName; - } - - public void setCacheName(String cacheName) - { - this.cacheName = cacheName; - } - - public String getCacheKey() - { - return cacheKey; - } - - public void setCacheKey(String cacheKey) - { - this.cacheKey = cacheKey; - } - - public String getCacheValue() - { - return cacheValue; - } - - public void setCacheValue(String cacheValue) - { - this.cacheValue = cacheValue; - } - - public String getRemark() - { - return remark; - } - - public void setRemark(String remark) - { - this.remark = remark; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysConfig.java b/djhk-system/src/main/java/com/djhk/system/domain/SysConfig.java deleted file mode 100644 index 0531591..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysConfig.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.djhk.system.domain; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.djhk.common.annotation.Excel; -import com.djhk.common.annotation.Excel.ColumnType; -import com.djhk.common.core.domain.BaseEntity; - -/** - * 参数配置表 sys_config - * - * @author djhk - */ -public class SysConfig extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 参数主键 */ - @Excel(name = "参数主键", cellType = ColumnType.NUMERIC) - private Long configId; - - /** 参数名称 */ - @Excel(name = "参数名称") - private String configName; - - /** 参数键名 */ - @Excel(name = "参数键名") - private String configKey; - - /** 参数键值 */ - @Excel(name = "参数键值") - private String configValue; - - /** 系统内置(Y是 N否) */ - @Excel(name = "系统内置", readConverterExp = "Y=是,N=否") - private String configType; - - public Long getConfigId() - { - return configId; - } - - public void setConfigId(Long configId) - { - this.configId = configId; - } - - @NotBlank(message = "参数名称不能为空") - @Size(min = 0, max = 100, message = "参数名称不能超过100个字符") - public String getConfigName() - { - return configName; - } - - public void setConfigName(String configName) - { - this.configName = configName; - } - - @NotBlank(message = "参数键名长度不能为空") - @Size(min = 0, max = 100, message = "参数键名长度不能超过100个字符") - public String getConfigKey() - { - return configKey; - } - - public void setConfigKey(String configKey) - { - this.configKey = configKey; - } - - @NotBlank(message = "参数键值不能为空") - @Size(min = 0, max = 500, message = "参数键值长度不能超过500个字符") - public String getConfigValue() - { - return configValue; - } - - public void setConfigValue(String configValue) - { - this.configValue = configValue; - } - - public String getConfigType() - { - return configType; - } - - public void setConfigType(String configType) - { - this.configType = configType; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("configId", getConfigId()) - .append("configName", getConfigName()) - .append("configKey", getConfigKey()) - .append("configValue", getConfigValue()) - .append("configType", getConfigType()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysLogininfor.java b/djhk-system/src/main/java/com/djhk/system/domain/SysLogininfor.java deleted file mode 100644 index 9ed5157..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysLogininfor.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.djhk.system.domain; - -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.djhk.common.annotation.Excel; -import com.djhk.common.annotation.Excel.ColumnType; -import com.djhk.common.core.domain.BaseEntity; - -/** - * 系统访问记录表 sys_logininfor - * - * @author djhk - */ -public class SysLogininfor extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - @Excel(name = "序号", cellType = ColumnType.NUMERIC) - private Long infoId; - - /** 用户账号 */ - @Excel(name = "用户账号") - private String userName; - - /** 登录状态 0成功 1失败 */ - @Excel(name = "登录状态", readConverterExp = "0=成功,1=失败") - private String status; - - /** 登录IP地址 */ - @Excel(name = "登录地址") - private String ipaddr; - - /** 登录地点 */ - @Excel(name = "登录地点") - private String loginLocation; - - /** 浏览器类型 */ - @Excel(name = "浏览器") - private String browser; - - /** 操作系统 */ - @Excel(name = "操作系统") - private String os; - - /** 提示消息 */ - @Excel(name = "提示消息") - private String msg; - - /** 访问时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date loginTime; - - public Long getInfoId() - { - return infoId; - } - - public void setInfoId(Long infoId) - { - this.infoId = infoId; - } - - public String getUserName() - { - return userName; - } - - public void setUserName(String userName) - { - this.userName = userName; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getIpaddr() - { - return ipaddr; - } - - public void setIpaddr(String ipaddr) - { - this.ipaddr = ipaddr; - } - - public String getLoginLocation() - { - return loginLocation; - } - - public void setLoginLocation(String loginLocation) - { - this.loginLocation = loginLocation; - } - - public String getBrowser() - { - return browser; - } - - public void setBrowser(String browser) - { - this.browser = browser; - } - - public String getOs() - { - return os; - } - - public void setOs(String os) - { - this.os = os; - } - - public String getMsg() - { - return msg; - } - - public void setMsg(String msg) - { - this.msg = msg; - } - - public Date getLoginTime() - { - return loginTime; - } - - public void setLoginTime(Date loginTime) - { - this.loginTime = loginTime; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysNotice.java b/djhk-system/src/main/java/com/djhk/system/domain/SysNotice.java deleted file mode 100644 index d4ec046..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysNotice.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.djhk.system.domain; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.djhk.common.core.domain.BaseEntity; -import com.djhk.common.xss.Xss; - -/** - * 通知公告表 sys_notice - * - * @author djhk - */ -public class SysNotice extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 公告ID */ - private Long noticeId; - - /** 公告标题 */ - private String noticeTitle; - - /** 公告类型(1通知 2公告) */ - private String noticeType; - - /** 公告内容 */ - private String noticeContent; - - /** 公告状态(0正常 1关闭) */ - private String status; - - public Long getNoticeId() - { - return noticeId; - } - - public void setNoticeId(Long noticeId) - { - this.noticeId = noticeId; - } - - public void setNoticeTitle(String noticeTitle) - { - this.noticeTitle = noticeTitle; - } - - @Xss(message = "公告标题不能包含脚本字符") - @NotBlank(message = "公告标题不能为空") - @Size(min = 0, max = 50, message = "公告标题不能超过50个字符") - public String getNoticeTitle() - { - return noticeTitle; - } - - public void setNoticeType(String noticeType) - { - this.noticeType = noticeType; - } - - public String getNoticeType() - { - return noticeType; - } - - public void setNoticeContent(String noticeContent) - { - this.noticeContent = noticeContent; - } - - public String getNoticeContent() - { - return noticeContent; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getStatus() - { - return status; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("noticeId", getNoticeId()) - .append("noticeTitle", getNoticeTitle()) - .append("noticeType", getNoticeType()) - .append("noticeContent", getNoticeContent()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysOperLog.java b/djhk-system/src/main/java/com/djhk/system/domain/SysOperLog.java deleted file mode 100644 index 5dd9ac2..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysOperLog.java +++ /dev/null @@ -1,269 +0,0 @@ -package com.djhk.system.domain; - -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.djhk.common.annotation.Excel; -import com.djhk.common.annotation.Excel.ColumnType; -import com.djhk.common.core.domain.BaseEntity; - -/** - * 操作日志记录表 oper_log - * - * @author djhk - */ -public class SysOperLog extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 日志主键 */ - @Excel(name = "操作序号", cellType = ColumnType.NUMERIC) - private Long operId; - - /** 操作模块 */ - @Excel(name = "操作模块") - private String title; - - /** 业务类型(0其它 1新增 2修改 3删除) */ - @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据") - private Integer businessType; - - /** 业务类型数组 */ - private Integer[] businessTypes; - - /** 请求方法 */ - @Excel(name = "请求方法") - private String method; - - /** 请求方式 */ - @Excel(name = "请求方式") - private String requestMethod; - - /** 操作类别(0其它 1后台用户 2手机端用户) */ - @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户") - private Integer operatorType; - - /** 操作人员 */ - @Excel(name = "操作人员") - private String operName; - - /** 部门名称 */ - @Excel(name = "部门名称") - private String deptName; - - /** 请求url */ - @Excel(name = "请求地址") - private String operUrl; - - /** 操作地址 */ - @Excel(name = "操作地址") - private String operIp; - - /** 操作地点 */ - @Excel(name = "操作地点") - private String operLocation; - - /** 请求参数 */ - @Excel(name = "请求参数") - private String operParam; - - /** 返回参数 */ - @Excel(name = "返回参数") - private String jsonResult; - - /** 操作状态(0正常 1异常) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=异常") - private Integer status; - - /** 错误消息 */ - @Excel(name = "错误消息") - private String errorMsg; - - /** 操作时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date operTime; - - /** 消耗时间 */ - @Excel(name = "消耗时间", suffix = "毫秒") - private Long costTime; - - public Long getOperId() - { - return operId; - } - - public void setOperId(Long operId) - { - this.operId = operId; - } - - public String getTitle() - { - return title; - } - - public void setTitle(String title) - { - this.title = title; - } - - public Integer getBusinessType() - { - return businessType; - } - - public void setBusinessType(Integer businessType) - { - this.businessType = businessType; - } - - public Integer[] getBusinessTypes() - { - return businessTypes; - } - - public void setBusinessTypes(Integer[] businessTypes) - { - this.businessTypes = businessTypes; - } - - public String getMethod() - { - return method; - } - - public void setMethod(String method) - { - this.method = method; - } - - public String getRequestMethod() - { - return requestMethod; - } - - public void setRequestMethod(String requestMethod) - { - this.requestMethod = requestMethod; - } - - public Integer getOperatorType() - { - return operatorType; - } - - public void setOperatorType(Integer operatorType) - { - this.operatorType = operatorType; - } - - public String getOperName() - { - return operName; - } - - public void setOperName(String operName) - { - this.operName = operName; - } - - public String getDeptName() - { - return deptName; - } - - public void setDeptName(String deptName) - { - this.deptName = deptName; - } - - public String getOperUrl() - { - return operUrl; - } - - public void setOperUrl(String operUrl) - { - this.operUrl = operUrl; - } - - public String getOperIp() - { - return operIp; - } - - public void setOperIp(String operIp) - { - this.operIp = operIp; - } - - public String getOperLocation() - { - return operLocation; - } - - public void setOperLocation(String operLocation) - { - this.operLocation = operLocation; - } - - public String getOperParam() - { - return operParam; - } - - public void setOperParam(String operParam) - { - this.operParam = operParam; - } - - public String getJsonResult() - { - return jsonResult; - } - - public void setJsonResult(String jsonResult) - { - this.jsonResult = jsonResult; - } - - public Integer getStatus() - { - return status; - } - - public void setStatus(Integer status) - { - this.status = status; - } - - public String getErrorMsg() - { - return errorMsg; - } - - public void setErrorMsg(String errorMsg) - { - this.errorMsg = errorMsg; - } - - public Date getOperTime() - { - return operTime; - } - - public void setOperTime(Date operTime) - { - this.operTime = operTime; - } - - public Long getCostTime() - { - return costTime; - } - - public void setCostTime(Long costTime) - { - this.costTime = costTime; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysPost.java b/djhk-system/src/main/java/com/djhk/system/domain/SysPost.java deleted file mode 100644 index ef316c8..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysPost.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.djhk.system.domain; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.djhk.common.annotation.Excel; -import com.djhk.common.annotation.Excel.ColumnType; -import com.djhk.common.core.domain.BaseEntity; - -/** - * 岗位表 sys_post - * - * @author djhk - */ -public class SysPost extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 岗位序号 */ - @Excel(name = "岗位序号", cellType = ColumnType.NUMERIC) - private Long postId; - - /** 岗位编码 */ - @Excel(name = "岗位编码") - private String postCode; - - /** 岗位名称 */ - @Excel(name = "岗位名称") - private String postName; - - /** 岗位排序 */ - @Excel(name = "岗位排序") - private Integer postSort; - - /** 状态(0正常 1停用) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=停用") - private String status; - - /** 用户是否存在此岗位标识 默认不存在 */ - private boolean flag = false; - - public Long getPostId() - { - return postId; - } - - public void setPostId(Long postId) - { - this.postId = postId; - } - - @NotBlank(message = "岗位编码不能为空") - @Size(min = 0, max = 64, message = "岗位编码长度不能超过64个字符") - public String getPostCode() - { - return postCode; - } - - public void setPostCode(String postCode) - { - this.postCode = postCode; - } - - @NotBlank(message = "岗位名称不能为空") - @Size(min = 0, max = 50, message = "岗位名称长度不能超过50个字符") - public String getPostName() - { - return postName; - } - - public void setPostName(String postName) - { - this.postName = postName; - } - - @NotNull(message = "显示顺序不能为空") - public Integer getPostSort() - { - return postSort; - } - - public void setPostSort(Integer postSort) - { - this.postSort = postSort; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public boolean isFlag() - { - return flag; - } - - public void setFlag(boolean flag) - { - this.flag = flag; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("postId", getPostId()) - .append("postCode", getPostCode()) - .append("postName", getPostName()) - .append("postSort", getPostSort()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysRoleDept.java b/djhk-system/src/main/java/com/djhk/system/domain/SysRoleDept.java deleted file mode 100644 index 5745029..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysRoleDept.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.djhk.system.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 角色和部门关联 sys_role_dept - * - * @author djhk - */ -public class SysRoleDept -{ - /** 角色ID */ - private Long roleId; - - /** 部门ID */ - private Long deptId; - - public Long getRoleId() - { - return roleId; - } - - public void setRoleId(Long roleId) - { - this.roleId = roleId; - } - - public Long getDeptId() - { - return deptId; - } - - public void setDeptId(Long deptId) - { - this.deptId = deptId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("roleId", getRoleId()) - .append("deptId", getDeptId()) - .toString(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysRoleMenu.java b/djhk-system/src/main/java/com/djhk/system/domain/SysRoleMenu.java deleted file mode 100644 index a595e40..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysRoleMenu.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.djhk.system.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 角色和菜单关联 sys_role_menu - * - * @author djhk - */ -public class SysRoleMenu -{ - /** 角色ID */ - private Long roleId; - - /** 菜单ID */ - private Long menuId; - - public Long getRoleId() - { - return roleId; - } - - public void setRoleId(Long roleId) - { - this.roleId = roleId; - } - - public Long getMenuId() - { - return menuId; - } - - public void setMenuId(Long menuId) - { - this.menuId = menuId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("roleId", getRoleId()) - .append("menuId", getMenuId()) - .toString(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysUserOnline.java b/djhk-system/src/main/java/com/djhk/system/domain/SysUserOnline.java deleted file mode 100644 index 559b0f6..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysUserOnline.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.djhk.system.domain; - -/** - * 当前在线会话 - * - * @author djhk - */ -public class SysUserOnline -{ - /** 会话编号 */ - private String tokenId; - - /** 部门名称 */ - private String deptName; - - /** 用户名称 */ - private String userName; - - /** 登录IP地址 */ - private String ipaddr; - - /** 登录地址 */ - private String loginLocation; - - /** 浏览器类型 */ - private String browser; - - /** 操作系统 */ - private String os; - - /** 登录时间 */ - private Long loginTime; - - public String getTokenId() - { - return tokenId; - } - - public void setTokenId(String tokenId) - { - this.tokenId = tokenId; - } - - public String getDeptName() - { - return deptName; - } - - public void setDeptName(String deptName) - { - this.deptName = deptName; - } - - public String getUserName() - { - return userName; - } - - public void setUserName(String userName) - { - this.userName = userName; - } - - public String getIpaddr() - { - return ipaddr; - } - - public void setIpaddr(String ipaddr) - { - this.ipaddr = ipaddr; - } - - public String getLoginLocation() - { - return loginLocation; - } - - public void setLoginLocation(String loginLocation) - { - this.loginLocation = loginLocation; - } - - public String getBrowser() - { - return browser; - } - - public void setBrowser(String browser) - { - this.browser = browser; - } - - public String getOs() - { - return os; - } - - public void setOs(String os) - { - this.os = os; - } - - public Long getLoginTime() - { - return loginTime; - } - - public void setLoginTime(Long loginTime) - { - this.loginTime = loginTime; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysUserPost.java b/djhk-system/src/main/java/com/djhk/system/domain/SysUserPost.java deleted file mode 100644 index 2fdac11..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysUserPost.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.djhk.system.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 用户和岗位关联 sys_user_post - * - * @author djhk - */ -public class SysUserPost -{ - /** 用户ID */ - private Long userId; - - /** 岗位ID */ - private Long postId; - - public Long getUserId() - { - return userId; - } - - public void setUserId(Long userId) - { - this.userId = userId; - } - - public Long getPostId() - { - return postId; - } - - public void setPostId(Long postId) - { - this.postId = postId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("userId", getUserId()) - .append("postId", getPostId()) - .toString(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/SysUserRole.java b/djhk-system/src/main/java/com/djhk/system/domain/SysUserRole.java deleted file mode 100644 index cb8bad7..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/SysUserRole.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.djhk.system.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 用户和角色关联 sys_user_role - * - * @author djhk - */ -public class SysUserRole -{ - /** 用户ID */ - private Long userId; - - /** 角色ID */ - private Long roleId; - - public Long getUserId() - { - return userId; - } - - public void setUserId(Long userId) - { - this.userId = userId; - } - - public Long getRoleId() - { - return roleId; - } - - public void setRoleId(Long roleId) - { - this.roleId = roleId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("userId", getUserId()) - .append("roleId", getRoleId()) - .toString(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/vo/MetaVo.java b/djhk-system/src/main/java/com/djhk/system/domain/vo/MetaVo.java deleted file mode 100644 index 673e952..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/vo/MetaVo.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.djhk.system.domain.vo; - -import com.djhk.common.utils.StringUtils; - -/** - * 路由显示信息 - * - * @author djhk - */ -public class MetaVo -{ - /** - * 设置该路由在侧边栏和面包屑中展示的名字 - */ - private String title; - - /** - * 设置该路由的图标,对应路径src/assets/icons/svg - */ - private String icon; - - /** - * 设置为true,则不会被 缓存 - */ - private boolean noCache; - - /** - * 内链地址(http(s)://开头) - */ - private String link; - - public MetaVo() - { - } - - public MetaVo(String title, String icon) - { - this.title = title; - this.icon = icon; - } - - public MetaVo(String title, String icon, boolean noCache) - { - this.title = title; - this.icon = icon; - this.noCache = noCache; - } - - public MetaVo(String title, String icon, String link) - { - this.title = title; - this.icon = icon; - this.link = link; - } - - public MetaVo(String title, String icon, boolean noCache, String link) - { - this.title = title; - this.icon = icon; - this.noCache = noCache; - if (StringUtils.ishttp(link)) - { - this.link = link; - } - } - - public boolean isNoCache() - { - return noCache; - } - - public void setNoCache(boolean noCache) - { - this.noCache = noCache; - } - - public String getTitle() - { - return title; - } - - public void setTitle(String title) - { - this.title = title; - } - - public String getIcon() - { - return icon; - } - - public void setIcon(String icon) - { - this.icon = icon; - } - - public String getLink() - { - return link; - } - - public void setLink(String link) - { - this.link = link; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/domain/vo/RouterVo.java b/djhk-system/src/main/java/com/djhk/system/domain/vo/RouterVo.java deleted file mode 100644 index 98abedb..0000000 --- a/djhk-system/src/main/java/com/djhk/system/domain/vo/RouterVo.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.djhk.system.domain.vo; - -import com.fasterxml.jackson.annotation.JsonInclude; -import java.util.List; - -/** - * 路由配置信息 - * - * @author djhk - */ -@JsonInclude(JsonInclude.Include.NON_EMPTY) -public class RouterVo -{ - /** - * 路由名字 - */ - private String name; - - /** - * 路由地址 - */ - private String path; - - /** - * 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现 - */ - private boolean hidden; - - /** - * 重定向地址,当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 - */ - private String redirect; - - /** - * 组件地址 - */ - private String component; - - /** - * 路由参数:如 {"id": 1, "name": "ry"} - */ - private String query; - - /** - * 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 - */ - private Boolean alwaysShow; - - /** - * 其他元素 - */ - private MetaVo meta; - - /** - * 子路由 - */ - private List children; - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public String getPath() - { - return path; - } - - public void setPath(String path) - { - this.path = path; - } - - public boolean getHidden() - { - return hidden; - } - - public void setHidden(boolean hidden) - { - this.hidden = hidden; - } - - public String getRedirect() - { - return redirect; - } - - public void setRedirect(String redirect) - { - this.redirect = redirect; - } - - public String getComponent() - { - return component; - } - - public void setComponent(String component) - { - this.component = component; - } - - public String getQuery() - { - return query; - } - - public void setQuery(String query) - { - this.query = query; - } - - public Boolean getAlwaysShow() - { - return alwaysShow; - } - - public void setAlwaysShow(Boolean alwaysShow) - { - this.alwaysShow = alwaysShow; - } - - public MetaVo getMeta() - { - return meta; - } - - public void setMeta(MetaVo meta) - { - this.meta = meta; - } - - public List getChildren() - { - return children; - } - - public void setChildren(List children) - { - this.children = children; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysConfigMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysConfigMapper.java deleted file mode 100644 index 76d1d0e..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysConfigMapper.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.system.domain.SysConfig; - -/** - * 参数配置 数据层 - * - * @author djhk - */ - -public interface SysConfigMapper -{ - /** - * 查询参数配置信息 - * - * @param config 参数配置信息 - * @return 参数配置信息 - */ - public SysConfig selectConfig(SysConfig config); - - /** - * 通过ID查询配置 - * - * @param configId 参数ID - * @return 参数配置信息 - */ - public SysConfig selectConfigById(Long configId); - - /** - * 查询参数配置列表 - * - * @param config 参数配置信息 - * @return 参数配置集合 - */ - public List selectConfigList(SysConfig config); - - /** - * 根据键名查询参数配置信息 - * - * @param configKey 参数键名 - * @return 参数配置信息 - */ - public SysConfig checkConfigKeyUnique(String configKey); - - /** - * 新增参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int insertConfig(SysConfig config); - - /** - * 修改参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int updateConfig(SysConfig config); - - /** - * 删除参数配置 - * - * @param configId 参数ID - * @return 结果 - */ - public int deleteConfigById(Long configId); - - /** - * 批量删除参数信息 - * - * @param configIds 需要删除的参数ID - * @return 结果 - */ - public int deleteConfigByIds(Long[] configIds); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysDeptMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysDeptMapper.java deleted file mode 100644 index 684c1ff..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysDeptMapper.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import org.apache.ibatis.annotations.Param; -import com.djhk.common.core.domain.entity.SysDept; - -/** - * 部门管理 数据层 - * - * @author djhk - */ -public interface SysDeptMapper -{ - /** - * 查询部门管理数据 - * - * @param dept 部门信息 - * @return 部门信息集合 - */ - public List selectDeptList(SysDept dept); - - /** - * 根据角色ID查询部门树信息 - * - * @param roleId 角色ID - * @param deptCheckStrictly 部门树选择项是否关联显示 - * @return 选中部门列表 - */ - public List selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly); - - /** - * 根据部门ID查询信息 - * - * @param deptId 部门ID - * @return 部门信息 - */ - public SysDept selectDeptById(Long deptId); - - /** - * 根据ID查询所有子部门 - * - * @param deptId 部门ID - * @return 部门列表 - */ - public List selectChildrenDeptById(Long deptId); - - /** - * 根据ID查询所有子部门(正常状态) - * - * @param deptId 部门ID - * @return 子部门数 - */ - public int selectNormalChildrenDeptById(Long deptId); - - /** - * 是否存在子节点 - * - * @param deptId 部门ID - * @return 结果 - */ - public int hasChildByDeptId(Long deptId); - - /** - * 查询部门是否存在用户 - * - * @param deptId 部门ID - * @return 结果 - */ - public int checkDeptExistUser(Long deptId); - - /** - * 校验部门名称是否唯一 - * - * @param deptName 部门名称 - * @param parentId 父部门ID - * @return 结果 - */ - public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId); - - /** - * 新增部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - public int insertDept(SysDept dept); - - /** - * 修改部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - public int updateDept(SysDept dept); - - /** - * 修改所在部门正常状态 - * - * @param deptIds 部门ID组 - */ - public void updateDeptStatusNormal(Long[] deptIds); - - /** - * 修改子元素关系 - * - * @param depts 子元素 - * @return 结果 - */ - public int updateDeptChildren(@Param("depts") List depts); - - /** - * 删除部门管理信息 - * - * @param deptId 部门ID - * @return 结果 - */ - public int deleteDeptById(Long deptId); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysDictDataMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysDictDataMapper.java deleted file mode 100644 index a877852..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysDictDataMapper.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import org.apache.ibatis.annotations.Param; -import com.djhk.common.core.domain.entity.SysDictData; - -/** - * 字典表 数据层 - * - * @author djhk - */ -public interface SysDictDataMapper -{ - /** - * 根据条件分页查询字典数据 - * - * @param dictData 字典数据信息 - * @return 字典数据集合信息 - */ - public List selectDictDataList(SysDictData dictData); - - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据集合信息 - */ - public List selectDictDataByType(String dictType); - - /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * @return 字典标签 - */ - public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue); - - /** - * 根据字典数据ID查询信息 - * - * @param dictCode 字典数据ID - * @return 字典数据 - */ - public SysDictData selectDictDataById(Long dictCode); - - /** - * 查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据 - */ - public int countDictDataByType(String dictType); - - /** - * 通过字典ID删除字典数据信息 - * - * @param dictCode 字典数据ID - * @return 结果 - */ - public int deleteDictDataById(Long dictCode); - - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - * @return 结果 - */ - public int deleteDictDataByIds(Long[] dictCodes); - - /** - * 新增字典数据信息 - * - * @param dictData 字典数据信息 - * @return 结果 - */ - public int insertDictData(SysDictData dictData); - - /** - * 修改字典数据信息 - * - * @param dictData 字典数据信息 - * @return 结果 - */ - public int updateDictData(SysDictData dictData); - - /** - * 同步修改字典类型 - * - * @param oldDictType 旧字典类型 - * @param newDictType 新旧字典类型 - * @return 结果 - */ - public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysDictTypeMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysDictTypeMapper.java deleted file mode 100644 index 4862757..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysDictTypeMapper.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.common.core.domain.entity.SysDictType; - -/** - * 字典表 数据层 - * - * @author djhk - */ -public interface SysDictTypeMapper -{ - /** - * 根据条件分页查询字典类型 - * - * @param dictType 字典类型信息 - * @return 字典类型集合信息 - */ - public List selectDictTypeList(SysDictType dictType); - - /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - public List selectDictTypeAll(); - - /** - * 根据字典类型ID查询信息 - * - * @param dictId 字典类型ID - * @return 字典类型 - */ - public SysDictType selectDictTypeById(Long dictId); - - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * @return 字典类型 - */ - public SysDictType selectDictTypeByType(String dictType); - - /** - * 通过字典ID删除字典信息 - * - * @param dictId 字典ID - * @return 结果 - */ - public int deleteDictTypeById(Long dictId); - - /** - * 批量删除字典类型信息 - * - * @param dictIds 需要删除的字典ID - * @return 结果 - */ - public int deleteDictTypeByIds(Long[] dictIds); - - /** - * 新增字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int insertDictType(SysDictType dictType); - - /** - * 修改字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int updateDictType(SysDictType dictType); - - /** - * 校验字典类型称是否唯一 - * - * @param dictType 字典类型 - * @return 结果 - */ - public SysDictType checkDictTypeUnique(String dictType); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysLogininforMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysLogininforMapper.java deleted file mode 100644 index c65e1aa..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysLogininforMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.system.domain.SysLogininfor; - -/** - * 系统访问日志情况信息 数据层 - * - * @author djhk - */ -public interface SysLogininforMapper -{ - /** - * 新增系统登录日志 - * - * @param logininfor 访问日志对象 - */ - public void insertLogininfor(SysLogininfor logininfor); - - /** - * 查询系统登录日志集合 - * - * @param logininfor 访问日志对象 - * @return 登录记录集合 - */ - public List selectLogininforList(SysLogininfor logininfor); - - /** - * 批量删除系统登录日志 - * - * @param infoIds 需要删除的登录日志ID - * @return 结果 - */ - public int deleteLogininforByIds(Long[] infoIds); - - /** - * 清空系统登录日志 - * - * @return 结果 - */ - public int cleanLogininfor(); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysMenuMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysMenuMapper.java deleted file mode 100644 index 722a6b4..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysMenuMapper.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import org.apache.ibatis.annotations.Param; -import com.djhk.common.core.domain.entity.SysMenu; - -/** - * 菜单表 数据层 - * - * @author djhk - */ -public interface SysMenuMapper -{ - /** - * 查询系统菜单列表 - * - * @param menu 菜单信息 - * @return 菜单列表 - */ - public List selectMenuList(SysMenu menu); - - /** - * 根据用户所有权限 - * - * @return 权限列表 - */ - public List selectMenuPerms(); - - /** - * 根据用户查询系统菜单列表 - * - * @param menu 菜单信息 - * @return 菜单列表 - */ - public List selectMenuListByUserId(SysMenu menu); - - /** - * 根据角色ID查询权限 - * - * @param roleId 角色ID - * @return 权限列表 - */ - public List selectMenuPermsByRoleId(Long roleId); - - /** - * 根据用户ID查询权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - public List selectMenuPermsByUserId(Long userId); - - /** - * 根据用户ID查询菜单 - * - * @return 菜单列表 - */ - public List selectMenuTreeAll(); - - /** - * 根据用户ID查询菜单 - * - * @param userId 用户ID - * @return 菜单列表 - */ - public List selectMenuTreeByUserId(Long userId); - - /** - * 根据角色ID查询菜单树信息 - * - * @param roleId 角色ID - * @param menuCheckStrictly 菜单树选择项是否关联显示 - * @return 选中菜单列表 - */ - public List selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly); - - /** - * 根据菜单ID查询信息 - * - * @param menuId 菜单ID - * @return 菜单信息 - */ - public SysMenu selectMenuById(Long menuId); - - /** - * 是否存在菜单子节点 - * - * @param menuId 菜单ID - * @return 结果 - */ - public int hasChildByMenuId(Long menuId); - - /** - * 新增菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - public int insertMenu(SysMenu menu); - - /** - * 修改菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - public int updateMenu(SysMenu menu); - - /** - * 删除菜单管理信息 - * - * @param menuId 菜单ID - * @return 结果 - */ - public int deleteMenuById(Long menuId); - - /** - * 校验菜单名称是否唯一 - * - * @param menuName 菜单名称 - * @param parentId 父菜单ID - * @return 结果 - */ - public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysNoticeMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysNoticeMapper.java deleted file mode 100644 index 8323d76..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysNoticeMapper.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.system.domain.SysNotice; - -/** - * 通知公告表 数据层 - * - * @author djhk - */ -public interface SysNoticeMapper -{ - /** - * 查询公告信息 - * - * @param noticeId 公告ID - * @return 公告信息 - */ - public SysNotice selectNoticeById(Long noticeId); - - /** - * 查询公告列表 - * - * @param notice 公告信息 - * @return 公告集合 - */ - public List selectNoticeList(SysNotice notice); - - /** - * 新增公告 - * - * @param notice 公告信息 - * @return 结果 - */ - public int insertNotice(SysNotice notice); - - /** - * 修改公告 - * - * @param notice 公告信息 - * @return 结果 - */ - public int updateNotice(SysNotice notice); - - /** - * 批量删除公告 - * - * @param noticeId 公告ID - * @return 结果 - */ - public int deleteNoticeById(Long noticeId); - - /** - * 批量删除公告信息 - * - * @param noticeIds 需要删除的公告ID - * @return 结果 - */ - public int deleteNoticeByIds(Long[] noticeIds); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysOperLogMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysOperLogMapper.java deleted file mode 100644 index ff8fb80..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysOperLogMapper.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.system.domain.SysOperLog; - -/** - * 操作日志 数据层 - * - * @author djhk - */ -public interface SysOperLogMapper -{ - /** - * 新增操作日志 - * - * @param operLog 操作日志对象 - */ - public void insertOperlog(SysOperLog operLog); - - /** - * 查询系统操作日志集合 - * - * @param operLog 操作日志对象 - * @return 操作日志集合 - */ - public List selectOperLogList(SysOperLog operLog); - - /** - * 批量删除系统操作日志 - * - * @param operIds 需要删除的操作日志ID - * @return 结果 - */ - public int deleteOperLogByIds(Long[] operIds); - - /** - * 查询操作日志详细 - * - * @param operId 操作ID - * @return 操作日志对象 - */ - public SysOperLog selectOperLogById(Long operId); - - /** - * 清空操作日志 - */ - public void cleanOperLog(); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysPostMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysPostMapper.java deleted file mode 100644 index b749b46..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysPostMapper.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.system.domain.SysPost; - -/** - * 岗位信息 数据层 - * - * @author djhk - */ -public interface SysPostMapper -{ - /** - * 查询岗位数据集合 - * - * @param post 岗位信息 - * @return 岗位数据集合 - */ - public List selectPostList(SysPost post); - - /** - * 查询所有岗位 - * - * @return 岗位列表 - */ - public List selectPostAll(); - - /** - * 通过岗位ID查询岗位信息 - * - * @param postId 岗位ID - * @return 角色对象信息 - */ - public SysPost selectPostById(Long postId); - - /** - * 根据用户ID获取岗位选择框列表 - * - * @param userId 用户ID - * @return 选中岗位ID列表 - */ - public List selectPostListByUserId(Long userId); - - /** - * 查询用户所属岗位组 - * - * @param userName 用户名 - * @return 结果 - */ - public List selectPostsByUserName(String userName); - - /** - * 删除岗位信息 - * - * @param postId 岗位ID - * @return 结果 - */ - public int deletePostById(Long postId); - - /** - * 批量删除岗位信息 - * - * @param postIds 需要删除的岗位ID - * @return 结果 - */ - public int deletePostByIds(Long[] postIds); - - /** - * 修改岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - public int updatePost(SysPost post); - - /** - * 新增岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - public int insertPost(SysPost post); - - /** - * 校验岗位名称 - * - * @param postName 岗位名称 - * @return 结果 - */ - public SysPost checkPostNameUnique(String postName); - - /** - * 校验岗位编码 - * - * @param postCode 岗位编码 - * @return 结果 - */ - public SysPost checkPostCodeUnique(String postCode); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleDeptMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleDeptMapper.java deleted file mode 100644 index aa8ccd7..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleDeptMapper.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.system.domain.SysRoleDept; - -/** - * 角色与部门关联表 数据层 - * - * @author djhk - */ -public interface SysRoleDeptMapper -{ - /** - * 通过角色ID删除角色和部门关联 - * - * @param roleId 角色ID - * @return 结果 - */ - public int deleteRoleDeptByRoleId(Long roleId); - - /** - * 批量删除角色部门关联信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteRoleDept(Long[] ids); - - /** - * 查询部门使用数量 - * - * @param deptId 部门ID - * @return 结果 - */ - public int selectCountRoleDeptByDeptId(Long deptId); - - /** - * 批量新增角色部门信息 - * - * @param roleDeptList 角色部门列表 - * @return 结果 - */ - public int batchRoleDept(List roleDeptList); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleMapper.java deleted file mode 100644 index 9170a36..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleMapper.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.common.core.domain.entity.SysRole; - -/** - * 角色表 数据层 - * - * @author djhk - */ -public interface SysRoleMapper -{ - /** - * 根据条件分页查询角色数据 - * - * @param role 角色信息 - * @return 角色数据集合信息 - */ - public List selectRoleList(SysRole role); - - /** - * 根据用户ID查询角色 - * - * @param userId 用户ID - * @return 角色列表 - */ - public List selectRolePermissionByUserId(Long userId); - - /** - * 查询所有角色 - * - * @return 角色列表 - */ - public List selectRoleAll(); - - /** - * 根据用户ID获取角色选择框列表 - * - * @param userId 用户ID - * @return 选中角色ID列表 - */ - public List selectRoleListByUserId(Long userId); - - /** - * 通过角色ID查询角色 - * - * @param roleId 角色ID - * @return 角色对象信息 - */ - public SysRole selectRoleById(Long roleId); - - /** - * 根据用户ID查询角色 - * - * @param userName 用户名 - * @return 角色列表 - */ - public List selectRolesByUserName(String userName); - - /** - * 校验角色名称是否唯一 - * - * @param roleName 角色名称 - * @return 角色信息 - */ - public SysRole checkRoleNameUnique(String roleName); - - /** - * 校验角色权限是否唯一 - * - * @param roleKey 角色权限 - * @return 角色信息 - */ - public SysRole checkRoleKeyUnique(String roleKey); - - /** - * 修改角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int updateRole(SysRole role); - - /** - * 新增角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int insertRole(SysRole role); - - /** - * 通过角色ID删除角色 - * - * @param roleId 角色ID - * @return 结果 - */ - public int deleteRoleById(Long roleId); - - /** - * 批量删除角色信息 - * - * @param roleIds 需要删除的角色ID - * @return 结果 - */ - public int deleteRoleByIds(Long[] roleIds); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleMenuMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleMenuMapper.java deleted file mode 100644 index 6a4b447..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysRoleMenuMapper.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.system.domain.SysRoleMenu; - -/** - * 角色与菜单关联表 数据层 - * - * @author djhk - */ -public interface SysRoleMenuMapper -{ - /** - * 查询菜单使用数量 - * - * @param menuId 菜单ID - * @return 结果 - */ - public int checkMenuExistRole(Long menuId); - - /** - * 通过角色ID删除角色和菜单关联 - * - * @param roleId 角色ID - * @return 结果 - */ - public int deleteRoleMenuByRoleId(Long roleId); - - /** - * 批量删除角色菜单关联信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteRoleMenu(Long[] ids); - - /** - * 批量新增角色菜单信息 - * - * @param roleMenuList 角色菜单列表 - * @return 结果 - */ - public int batchRoleMenu(List roleMenuList); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysUserMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysUserMapper.java deleted file mode 100644 index 602b36f..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysUserMapper.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.Date; -import java.util.List; -import org.apache.ibatis.annotations.Param; -import com.djhk.common.core.domain.entity.SysUser; - -/** - * 用户表 数据层 - * - * @author djhk - */ -public interface SysUserMapper -{ - /** - * 根据条件分页查询用户列表 - * - * @param sysUser 用户信息 - * @return 用户信息集合信息 - */ - public List selectUserList(SysUser sysUser); - - /** - * 根据条件分页查询已配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List selectAllocatedList(SysUser user); - - /** - * 根据条件分页查询未分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List selectUnallocatedList(SysUser user); - - /** - * 通过用户名查询用户 - * - * @param userName 用户名 - * @return 用户对象信息 - */ - public SysUser selectUserByUserName(String userName); - - /** - * 通过用户ID查询用户 - * - * @param userId 用户ID - * @return 用户对象信息 - */ - public SysUser selectUserById(Long userId); - - /** - * 新增用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int insertUser(SysUser user); - - /** - * 修改用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int updateUser(SysUser user); - - /** - * 修改用户头像 - * - * @param userId 用户ID - * @param avatar 头像地址 - * @return 结果 - */ - public int updateUserAvatar(@Param("userId") Long userId, @Param("avatar") String avatar); - - /** - * 修改用户状态 - * - * @param userId 用户ID - * @param status 状态 - * @return 结果 - */ - public int updateUserStatus(@Param("userId") Long userId, @Param("status") String status); - - /** - * 更新用户登录信息(IP和登录时间) - * - * @param userId 用户ID - * @param loginIp 登录IP地址 - * @param loginDate 登录时间 - * @return 结果 - */ - public int updateLoginInfo(@Param("userId") Long userId, @Param("loginIp") String loginIp, @Param("loginDate") Date loginDate); - - /** - * 重置用户密码 - * - * @param userId 用户ID - * @param password 密码 - * @return 结果 - */ - public int resetUserPwd(@Param("userId") Long userId, @Param("password") String password); - - /** - * 通过用户ID删除用户 - * - * @param userId 用户ID - * @return 结果 - */ - public int deleteUserById(Long userId); - - /** - * 批量删除用户信息 - * - * @param userIds 需要删除的用户ID - * @return 结果 - */ - public int deleteUserByIds(Long[] userIds); - - /** - * 校验用户名称是否唯一 - * - * @param userName 用户名称 - * @return 结果 - */ - public SysUser checkUserNameUnique(String userName); - - /** - * 校验手机号码是否唯一 - * - * @param phonenumber 手机号码 - * @return 结果 - */ - public SysUser checkPhoneUnique(String phonenumber); - - /** - * 校验email是否唯一 - * - * @param email 用户邮箱 - * @return 结果 - */ - public SysUser checkEmailUnique(String email); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysUserPostMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysUserPostMapper.java deleted file mode 100644 index 8c1f082..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysUserPostMapper.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import com.djhk.system.domain.SysUserPost; - -/** - * 用户与岗位关联表 数据层 - * - * @author djhk - */ -public interface SysUserPostMapper -{ - /** - * 通过用户ID删除用户和岗位关联 - * - * @param userId 用户ID - * @return 结果 - */ - public int deleteUserPostByUserId(Long userId); - - /** - * 通过岗位ID查询岗位使用数量 - * - * @param postId 岗位ID - * @return 结果 - */ - public int countUserPostById(Long postId); - - /** - * 批量删除用户和岗位关联 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteUserPost(Long[] ids); - - /** - * 批量新增用户岗位信息 - * - * @param userPostList 用户岗位列表 - * @return 结果 - */ - public int batchUserPost(List userPostList); -} diff --git a/djhk-system/src/main/java/com/djhk/system/mapper/SysUserRoleMapper.java b/djhk-system/src/main/java/com/djhk/system/mapper/SysUserRoleMapper.java deleted file mode 100644 index d122d14..0000000 --- a/djhk-system/src/main/java/com/djhk/system/mapper/SysUserRoleMapper.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.djhk.system.mapper; - -import java.util.List; -import org.apache.ibatis.annotations.Param; -import com.djhk.system.domain.SysUserRole; - -/** - * 用户与角色关联表 数据层 - * - * @author djhk - */ -public interface SysUserRoleMapper -{ - /** - * 通过用户ID删除用户和角色关联 - * - * @param userId 用户ID - * @return 结果 - */ - public int deleteUserRoleByUserId(Long userId); - - /** - * 批量删除用户和角色关联 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteUserRole(Long[] ids); - - /** - * 通过角色ID查询角色使用数量 - * - * @param roleId 角色ID - * @return 结果 - */ - public int countUserRoleByRoleId(Long roleId); - - /** - * 批量新增用户角色信息 - * - * @param userRoleList 用户角色列表 - * @return 结果 - */ - public int batchUserRole(List userRoleList); - - /** - * 删除用户和角色关联信息 - * - * @param userRole 用户和角色关联信息 - * @return 结果 - */ - public int deleteUserRoleInfo(SysUserRole userRole); - - /** - * 批量取消授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要删除的用户数据ID - * @return 结果 - */ - public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysConfigService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysConfigService.java deleted file mode 100644 index b3b6a6d..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysConfigService.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import com.djhk.system.domain.SysConfig; - -/** - * 参数配置 服务层 - * - * @author djhk - */ -public interface ISysConfigService -{ - /** - * 查询参数配置信息 - * - * @param configId 参数配置ID - * @return 参数配置信息 - */ - public SysConfig selectConfigById(Long configId); - - /** - * 根据键名查询参数配置信息 - * - * @param configKey 参数键名 - * @return 参数键值 - */ - public String selectConfigByKey(String configKey); - - /** - * 获取验证码开关 - * - * @return true开启,false关闭 - */ - public boolean selectCaptchaEnabled(); - - /** - * 查询参数配置列表 - * - * @param config 参数配置信息 - * @return 参数配置集合 - */ - public List selectConfigList(SysConfig config); - - /** - * 新增参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int insertConfig(SysConfig config); - - /** - * 修改参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int updateConfig(SysConfig config); - - /** - * 批量删除参数信息 - * - * @param configIds 需要删除的参数ID - */ - public void deleteConfigByIds(Long[] configIds); - - /** - * 加载参数缓存数据 - */ - public void loadingConfigCache(); - - /** - * 清空参数缓存数据 - */ - public void clearConfigCache(); - - /** - * 重置参数缓存数据 - */ - public void resetConfigCache(); - - /** - * 校验参数键名是否唯一 - * - * @param config 参数信息 - * @return 结果 - */ - public boolean checkConfigKeyUnique(SysConfig config); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysDeptService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysDeptService.java deleted file mode 100644 index 5bda2e3..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysDeptService.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import com.djhk.common.core.domain.TreeSelect; -import com.djhk.common.core.domain.entity.SysDept; - -/** - * 部门管理 服务层 - * - * @author djhk - */ -public interface ISysDeptService -{ - /** - * 查询部门管理数据 - * - * @param dept 部门信息 - * @return 部门信息集合 - */ - public List selectDeptList(SysDept dept); - - /** - * 查询部门树结构信息 - * - * @param dept 部门信息 - * @return 部门树信息集合 - */ - public List selectDeptTreeList(SysDept dept); - - /** - * 构建前端所需要树结构 - * - * @param depts 部门列表 - * @return 树结构列表 - */ - public List buildDeptTree(List depts); - - /** - * 构建前端所需要下拉树结构 - * - * @param depts 部门列表 - * @return 下拉树结构列表 - */ - public List buildDeptTreeSelect(List depts); - - /** - * 根据角色ID查询部门树信息 - * - * @param roleId 角色ID - * @return 选中部门列表 - */ - public List selectDeptListByRoleId(Long roleId); - - /** - * 根据部门ID查询信息 - * - * @param deptId 部门ID - * @return 部门信息 - */ - public SysDept selectDeptById(Long deptId); - - /** - * 根据ID查询所有子部门(正常状态) - * - * @param deptId 部门ID - * @return 子部门数 - */ - public int selectNormalChildrenDeptById(Long deptId); - - /** - * 是否存在部门子节点 - * - * @param deptId 部门ID - * @return 结果 - */ - public boolean hasChildByDeptId(Long deptId); - - /** - * 查询部门是否存在用户 - * - * @param deptId 部门ID - * @return 结果 true 存在 false 不存在 - */ - public boolean checkDeptExistUser(Long deptId); - - /** - * 校验部门名称是否唯一 - * - * @param dept 部门信息 - * @return 结果 - */ - public boolean checkDeptNameUnique(SysDept dept); - - /** - * 校验部门是否有数据权限 - * - * @param deptId 部门id - */ - public void checkDeptDataScope(Long deptId); - - /** - * 新增保存部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - public int insertDept(SysDept dept); - - /** - * 修改保存部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - public int updateDept(SysDept dept); - - /** - * 删除部门管理信息 - * - * @param deptId 部门ID - * @return 结果 - */ - public int deleteDeptById(Long deptId); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysDictDataService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysDictDataService.java deleted file mode 100644 index 98594f0..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysDictDataService.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import com.djhk.common.core.domain.entity.SysDictData; - -/** - * 字典 业务层 - * - * @author djhk - */ -public interface ISysDictDataService -{ - /** - * 根据条件分页查询字典数据 - * - * @param dictData 字典数据信息 - * @return 字典数据集合信息 - */ - public List selectDictDataList(SysDictData dictData); - - /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * @return 字典标签 - */ - public String selectDictLabel(String dictType, String dictValue); - - /** - * 根据字典数据ID查询信息 - * - * @param dictCode 字典数据ID - * @return 字典数据 - */ - public SysDictData selectDictDataById(Long dictCode); - - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - */ - public void deleteDictDataByIds(Long[] dictCodes); - - /** - * 新增保存字典数据信息 - * - * @param dictData 字典数据信息 - * @return 结果 - */ - public int insertDictData(SysDictData dictData); - - /** - * 修改保存字典数据信息 - * - * @param dictData 字典数据信息 - * @return 结果 - */ - public int updateDictData(SysDictData dictData); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysDictTypeService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysDictTypeService.java deleted file mode 100644 index 74ed0ee..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysDictTypeService.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import com.djhk.common.core.domain.entity.SysDictData; -import com.djhk.common.core.domain.entity.SysDictType; - -/** - * 字典 业务层 - * - * @author djhk - */ -public interface ISysDictTypeService -{ - /** - * 根据条件分页查询字典类型 - * - * @param dictType 字典类型信息 - * @return 字典类型集合信息 - */ - public List selectDictTypeList(SysDictType dictType); - - /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - public List selectDictTypeAll(); - - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据集合信息 - */ - public List selectDictDataByType(String dictType); - - /** - * 根据字典类型ID查询信息 - * - * @param dictId 字典类型ID - * @return 字典类型 - */ - public SysDictType selectDictTypeById(Long dictId); - - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * @return 字典类型 - */ - public SysDictType selectDictTypeByType(String dictType); - - /** - * 批量删除字典信息 - * - * @param dictIds 需要删除的字典ID - */ - public void deleteDictTypeByIds(Long[] dictIds); - - /** - * 加载字典缓存数据 - */ - public void loadingDictCache(); - - /** - * 清空字典缓存数据 - */ - public void clearDictCache(); - - /** - * 重置字典缓存数据 - */ - public void resetDictCache(); - - /** - * 新增保存字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int insertDictType(SysDictType dictType); - - /** - * 修改保存字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int updateDictType(SysDictType dictType); - - /** - * 校验字典类型称是否唯一 - * - * @param dictType 字典类型 - * @return 结果 - */ - public boolean checkDictTypeUnique(SysDictType dictType); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysLogininforService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysLogininforService.java deleted file mode 100644 index 42e9778..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysLogininforService.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import com.djhk.system.domain.SysLogininfor; - -/** - * 系统访问日志情况信息 服务层 - * - * @author djhk - */ -public interface ISysLogininforService -{ - /** - * 新增系统登录日志 - * - * @param logininfor 访问日志对象 - */ - public void insertLogininfor(SysLogininfor logininfor); - - /** - * 查询系统登录日志集合 - * - * @param logininfor 访问日志对象 - * @return 登录记录集合 - */ - public List selectLogininforList(SysLogininfor logininfor); - - /** - * 批量删除系统登录日志 - * - * @param infoIds 需要删除的登录日志ID - * @return 结果 - */ - public int deleteLogininforByIds(Long[] infoIds); - - /** - * 清空系统登录日志 - */ - public void cleanLogininfor(); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysMenuService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysMenuService.java deleted file mode 100644 index 538fdc5..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysMenuService.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import java.util.Set; -import com.djhk.common.core.domain.TreeSelect; -import com.djhk.common.core.domain.entity.SysMenu; -import com.djhk.system.domain.vo.RouterVo; - -/** - * 菜单 业务层 - * - * @author djhk - */ -public interface ISysMenuService -{ - /** - * 根据用户查询系统菜单列表 - * - * @param userId 用户ID - * @return 菜单列表 - */ - public List selectMenuList(Long userId); - - /** - * 根据用户查询系统菜单列表 - * - * @param menu 菜单信息 - * @param userId 用户ID - * @return 菜单列表 - */ - public List selectMenuList(SysMenu menu, Long userId); - - /** - * 根据用户ID查询权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - public Set selectMenuPermsByUserId(Long userId); - - /** - * 根据角色ID查询权限 - * - * @param roleId 角色ID - * @return 权限列表 - */ - public Set selectMenuPermsByRoleId(Long roleId); - - /** - * 根据用户ID查询菜单树信息 - * - * @param userId 用户ID - * @return 菜单列表 - */ - public List selectMenuTreeByUserId(Long userId); - - /** - * 根据角色ID查询菜单树信息 - * - * @param roleId 角色ID - * @return 选中菜单列表 - */ - public List selectMenuListByRoleId(Long roleId); - - /** - * 构建前端路由所需要的菜单 - * - * @param menus 菜单列表 - * @return 路由列表 - */ - public List buildMenus(List menus); - - /** - * 构建前端所需要树结构 - * - * @param menus 菜单列表 - * @return 树结构列表 - */ - public List buildMenuTree(List menus); - - /** - * 构建前端所需要下拉树结构 - * - * @param menus 菜单列表 - * @return 下拉树结构列表 - */ - public List buildMenuTreeSelect(List menus); - - /** - * 根据菜单ID查询信息 - * - * @param menuId 菜单ID - * @return 菜单信息 - */ - public SysMenu selectMenuById(Long menuId); - - /** - * 是否存在菜单子节点 - * - * @param menuId 菜单ID - * @return 结果 true 存在 false 不存在 - */ - public boolean hasChildByMenuId(Long menuId); - - /** - * 查询菜单是否存在角色 - * - * @param menuId 菜单ID - * @return 结果 true 存在 false 不存在 - */ - public boolean checkMenuExistRole(Long menuId); - - /** - * 新增保存菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - public int insertMenu(SysMenu menu); - - /** - * 修改保存菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - public int updateMenu(SysMenu menu); - - /** - * 删除菜单管理信息 - * - * @param menuId 菜单ID - * @return 结果 - */ - public int deleteMenuById(Long menuId); - - /** - * 校验菜单名称是否唯一 - * - * @param menu 菜单信息 - * @return 结果 - */ - public boolean checkMenuNameUnique(SysMenu menu); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysNoticeService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysNoticeService.java deleted file mode 100644 index 8e189b2..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysNoticeService.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import com.djhk.system.domain.SysNotice; - -/** - * 公告 服务层 - * - * @author djhk - */ -public interface ISysNoticeService -{ - /** - * 查询公告信息 - * - * @param noticeId 公告ID - * @return 公告信息 - */ - public SysNotice selectNoticeById(Long noticeId); - - /** - * 查询公告列表 - * - * @param notice 公告信息 - * @return 公告集合 - */ - public List selectNoticeList(SysNotice notice); - - /** - * 新增公告 - * - * @param notice 公告信息 - * @return 结果 - */ - public int insertNotice(SysNotice notice); - - /** - * 修改公告 - * - * @param notice 公告信息 - * @return 结果 - */ - public int updateNotice(SysNotice notice); - - /** - * 删除公告信息 - * - * @param noticeId 公告ID - * @return 结果 - */ - public int deleteNoticeById(Long noticeId); - - /** - * 批量删除公告信息 - * - * @param noticeIds 需要删除的公告ID - * @return 结果 - */ - public int deleteNoticeByIds(Long[] noticeIds); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysOperLogService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysOperLogService.java deleted file mode 100644 index 3bf0869..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysOperLogService.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import com.djhk.system.domain.SysOperLog; - -/** - * 操作日志 服务层 - * - * @author djhk - */ -public interface ISysOperLogService -{ - /** - * 新增操作日志 - * - * @param operLog 操作日志对象 - */ - public void insertOperlog(SysOperLog operLog); - - /** - * 查询系统操作日志集合 - * - * @param operLog 操作日志对象 - * @return 操作日志集合 - */ - public List selectOperLogList(SysOperLog operLog); - - /** - * 批量删除系统操作日志 - * - * @param operIds 需要删除的操作日志ID - * @return 结果 - */ - public int deleteOperLogByIds(Long[] operIds); - - /** - * 查询操作日志详细 - * - * @param operId 操作ID - * @return 操作日志对象 - */ - public SysOperLog selectOperLogById(Long operId); - - /** - * 清空操作日志 - */ - public void cleanOperLog(); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysPostService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysPostService.java deleted file mode 100644 index 9bd84f9..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysPostService.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import com.djhk.system.domain.SysPost; - -/** - * 岗位信息 服务层 - * - * @author djhk - */ -public interface ISysPostService -{ - /** - * 查询岗位信息集合 - * - * @param post 岗位信息 - * @return 岗位列表 - */ - public List selectPostList(SysPost post); - - /** - * 查询所有岗位 - * - * @return 岗位列表 - */ - public List selectPostAll(); - - /** - * 通过岗位ID查询岗位信息 - * - * @param postId 岗位ID - * @return 角色对象信息 - */ - public SysPost selectPostById(Long postId); - - /** - * 根据用户ID获取岗位选择框列表 - * - * @param userId 用户ID - * @return 选中岗位ID列表 - */ - public List selectPostListByUserId(Long userId); - - /** - * 校验岗位名称 - * - * @param post 岗位信息 - * @return 结果 - */ - public boolean checkPostNameUnique(SysPost post); - - /** - * 校验岗位编码 - * - * @param post 岗位信息 - * @return 结果 - */ - public boolean checkPostCodeUnique(SysPost post); - - /** - * 通过岗位ID查询岗位使用数量 - * - * @param postId 岗位ID - * @return 结果 - */ - public int countUserPostById(Long postId); - - /** - * 删除岗位信息 - * - * @param postId 岗位ID - * @return 结果 - */ - public int deletePostById(Long postId); - - /** - * 批量删除岗位信息 - * - * @param postIds 需要删除的岗位ID - * @return 结果 - */ - public int deletePostByIds(Long[] postIds); - - /** - * 新增保存岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - public int insertPost(SysPost post); - - /** - * 修改保存岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - public int updatePost(SysPost post); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysRoleService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysRoleService.java deleted file mode 100644 index 7c039b1..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysRoleService.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.djhk.system.service; - -import java.util.List; -import java.util.Set; -import com.djhk.common.core.domain.entity.SysRole; -import com.djhk.system.domain.SysUserRole; - -/** - * 角色业务层 - * - * @author djhk - */ -public interface ISysRoleService -{ - /** - * 根据条件分页查询角色数据 - * - * @param role 角色信息 - * @return 角色数据集合信息 - */ - public List selectRoleList(SysRole role); - - /** - * 根据用户ID查询角色列表 - * - * @param userId 用户ID - * @return 角色列表 - */ - public List selectRolesByUserId(Long userId); - - /** - * 根据用户ID查询角色权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - public Set selectRolePermissionByUserId(Long userId); - - /** - * 查询所有角色 - * - * @return 角色列表 - */ - public List selectRoleAll(); - - /** - * 根据用户ID获取角色选择框列表 - * - * @param userId 用户ID - * @return 选中角色ID列表 - */ - public List selectRoleListByUserId(Long userId); - - /** - * 通过角色ID查询角色 - * - * @param roleId 角色ID - * @return 角色对象信息 - */ - public SysRole selectRoleById(Long roleId); - - /** - * 校验角色名称是否唯一 - * - * @param role 角色信息 - * @return 结果 - */ - public boolean checkRoleNameUnique(SysRole role); - - /** - * 校验角色权限是否唯一 - * - * @param role 角色信息 - * @return 结果 - */ - public boolean checkRoleKeyUnique(SysRole role); - - /** - * 校验角色是否允许操作 - * - * @param role 角色信息 - */ - public void checkRoleAllowed(SysRole role); - - /** - * 校验角色是否有数据权限 - * - * @param roleIds 角色id - */ - public void checkRoleDataScope(Long... roleIds); - - /** - * 通过角色ID查询角色使用数量 - * - * @param roleId 角色ID - * @return 结果 - */ - public int countUserRoleByRoleId(Long roleId); - - /** - * 新增保存角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int insertRole(SysRole role); - - /** - * 修改保存角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int updateRole(SysRole role); - - /** - * 修改角色状态 - * - * @param role 角色信息 - * @return 结果 - */ - public int updateRoleStatus(SysRole role); - - /** - * 修改数据权限信息 - * - * @param role 角色信息 - * @return 结果 - */ - public int authDataScope(SysRole role); - - /** - * 通过角色ID删除角色 - * - * @param roleId 角色ID - * @return 结果 - */ - public int deleteRoleById(Long roleId); - - /** - * 批量删除角色信息 - * - * @param roleIds 需要删除的角色ID - * @return 结果 - */ - public int deleteRoleByIds(Long[] roleIds); - - /** - * 取消授权用户角色 - * - * @param userRole 用户和角色关联信息 - * @return 结果 - */ - public int deleteAuthUser(SysUserRole userRole); - - /** - * 批量取消授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要取消授权的用户数据ID - * @return 结果 - */ - public int deleteAuthUsers(Long roleId, Long[] userIds); - - /** - * 批量选择授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要删除的用户数据ID - * @return 结果 - */ - public int insertAuthUsers(Long roleId, Long[] userIds); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysUserOnlineService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysUserOnlineService.java deleted file mode 100644 index 863ed27..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysUserOnlineService.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.djhk.system.service; - -import com.djhk.common.core.domain.model.LoginUser; -import com.djhk.system.domain.SysUserOnline; - -/** - * 在线用户 服务层 - * - * @author djhk - */ -public interface ISysUserOnlineService -{ - /** - * 通过登录地址查询信息 - * - * @param ipaddr 登录地址 - * @param user 用户信息 - * @return 在线用户信息 - */ - public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user); - - /** - * 通过用户名称查询信息 - * - * @param userName 用户名称 - * @param user 用户信息 - * @return 在线用户信息 - */ - public SysUserOnline selectOnlineByUserName(String userName, LoginUser user); - - /** - * 通过登录地址/用户名称查询信息 - * - * @param ipaddr 登录地址 - * @param userName 用户名称 - * @param user 用户信息 - * @return 在线用户信息 - */ - public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user); - - /** - * 设置在线用户信息 - * - * @param user 用户信息 - * @return 在线用户 - */ - public SysUserOnline loginUserToUserOnline(LoginUser user); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/ISysUserService.java b/djhk-system/src/main/java/com/djhk/system/service/ISysUserService.java deleted file mode 100644 index 342497c..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/ISysUserService.java +++ /dev/null @@ -1,217 +0,0 @@ -package com.djhk.system.service; - -import java.util.Date; -import java.util.List; -import com.djhk.common.core.domain.entity.SysUser; - -/** - * 用户 业务层 - * - * @author djhk - */ -public interface ISysUserService -{ - /** - * 根据条件分页查询用户列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List selectUserList(SysUser user); - - /** - * 根据条件分页查询已分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List selectAllocatedList(SysUser user); - - /** - * 根据条件分页查询未分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - public List selectUnallocatedList(SysUser user); - - /** - * 通过用户名查询用户 - * - * @param userName 用户名 - * @return 用户对象信息 - */ - public SysUser selectUserByUserName(String userName); - - /** - * 通过用户ID查询用户 - * - * @param userId 用户ID - * @return 用户对象信息 - */ - public SysUser selectUserById(Long userId); - - /** - * 根据用户ID查询用户所属角色组 - * - * @param userName 用户名 - * @return 结果 - */ - public String selectUserRoleGroup(String userName); - - /** - * 根据用户ID查询用户所属岗位组 - * - * @param userName 用户名 - * @return 结果 - */ - public String selectUserPostGroup(String userName); - - /** - * 校验用户名称是否唯一 - * - * @param user 用户信息 - * @return 结果 - */ - public boolean checkUserNameUnique(SysUser user); - - /** - * 校验手机号码是否唯一 - * - * @param user 用户信息 - * @return 结果 - */ - public boolean checkPhoneUnique(SysUser user); - - /** - * 校验email是否唯一 - * - * @param user 用户信息 - * @return 结果 - */ - public boolean checkEmailUnique(SysUser user); - - /** - * 校验用户是否允许操作 - * - * @param user 用户信息 - */ - public void checkUserAllowed(SysUser user); - - /** - * 校验用户是否有数据权限 - * - * @param userId 用户id - */ - public void checkUserDataScope(Long userId); - - /** - * 新增用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int insertUser(SysUser user); - - /** - * 注册用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public boolean registerUser(SysUser user); - - /** - * 修改用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int updateUser(SysUser user); - - /** - * 用户授权角色 - * - * @param userId 用户ID - * @param roleIds 角色组 - */ - public void insertUserAuth(Long userId, Long[] roleIds); - - /** - * 修改用户状态 - * - * @param user 用户信息 - * @return 结果 - */ - public int updateUserStatus(SysUser user); - - /** - * 修改用户基本信息 - * - * @param user 用户信息 - * @return 结果 - */ - public int updateUserProfile(SysUser user); - - /** - * 修改用户头像 - * - * @param userId 用户ID - * @param avatar 头像地址 - * @return 结果 - */ - public boolean updateUserAvatar(Long userId, String avatar); - - /** - * 更新用户登录信息(IP和登录时间) - * - * @param userId 用户ID - * @param loginIp 登录IP地址 - * @param loginDate 登录时间 - * @return 结果 - */ - public void updateLoginInfo(Long userId, String loginIp, Date loginDate); - - /** - * 重置用户密码 - * - * @param user 用户信息 - * @return 结果 - */ - public int resetPwd(SysUser user); - - /** - * 重置用户密码 - * - * @param userId 用户ID - * @param password 密码 - * @return 结果 - */ - public int resetUserPwd(Long userId, String password); - - /** - * 通过用户ID删除用户 - * - * @param userId 用户ID - * @return 结果 - */ - public int deleteUserById(Long userId); - - /** - * 批量删除用户信息 - * - * @param userIds 需要删除的用户ID - * @return 结果 - */ - public int deleteUserByIds(Long[] userIds); - - /** - * 导入用户数据 - * - * @param userList 用户数据列表 - * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @param operName 操作用户 - * @return 结果 - */ - public String importUser(List userList, Boolean isUpdateSupport, String operName); -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysConfigServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysConfigServiceImpl.java deleted file mode 100644 index e463e8f..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysConfigServiceImpl.java +++ /dev/null @@ -1,232 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.Collection; -import java.util.List; -import javax.annotation.PostConstruct; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.djhk.common.annotation.DataSource; -import com.djhk.common.constant.CacheConstants; -import com.djhk.common.constant.UserConstants; -import com.djhk.common.core.redis.RedisCache; -import com.djhk.common.core.text.Convert; -import com.djhk.common.enums.DataSourceType; -import com.djhk.common.exception.ServiceException; -import com.djhk.common.utils.StringUtils; -import com.djhk.system.domain.SysConfig; -import com.djhk.system.mapper.SysConfigMapper; -import com.djhk.system.service.ISysConfigService; - -/** - * 参数配置 服务层实现 - * - * @author djhk - */ -@Service -public class SysConfigServiceImpl implements ISysConfigService -{ - @Autowired - private SysConfigMapper configMapper; - - @Autowired - private RedisCache redisCache; - - /** - * 项目启动时,初始化参数到缓存 - */ - @PostConstruct - public void init() - { - loadingConfigCache(); - } - - /** - * 查询参数配置信息 - * - * @param configId 参数配置ID - * @return 参数配置信息 - */ - @Override - @DataSource(DataSourceType.MASTER) - public SysConfig selectConfigById(Long configId) - { - SysConfig config = new SysConfig(); - config.setConfigId(configId); - return configMapper.selectConfig(config); - } - - /** - * 根据键名查询参数配置信息 - * - * @param configKey 参数key - * @return 参数键值 - */ - @Override - public String selectConfigByKey(String configKey) - { - String configValue = Convert.toStr(redisCache.getCacheObject(getCacheKey(configKey))); - if (StringUtils.isNotEmpty(configValue)) - { - return configValue; - } - SysConfig config = new SysConfig(); - config.setConfigKey(configKey); - SysConfig retConfig = configMapper.selectConfig(config); - if (StringUtils.isNotNull(retConfig)) - { - redisCache.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue()); - return retConfig.getConfigValue(); - } - return StringUtils.EMPTY; - } - - /** - * 获取验证码开关 - * - * @return true开启,false关闭 - */ - @Override - public boolean selectCaptchaEnabled() - { - String captchaEnabled = selectConfigByKey("sys.account.captchaEnabled"); - if (StringUtils.isEmpty(captchaEnabled)) - { - return true; - } - return Convert.toBool(captchaEnabled); - } - - /** - * 查询参数配置列表 - * - * @param config 参数配置信息 - * @return 参数配置集合 - */ - @Override - public List selectConfigList(SysConfig config) - { - return configMapper.selectConfigList(config); - } - - /** - * 新增参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public int insertConfig(SysConfig config) - { - int row = configMapper.insertConfig(config); - if (row > 0) - { - redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - return row; - } - - /** - * 修改参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public int updateConfig(SysConfig config) - { - SysConfig temp = configMapper.selectConfigById(config.getConfigId()); - if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) - { - redisCache.deleteObject(getCacheKey(temp.getConfigKey())); - } - - int row = configMapper.updateConfig(config); - if (row > 0) - { - redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - return row; - } - - /** - * 批量删除参数信息 - * - * @param configIds 需要删除的参数ID - */ - @Override - public void deleteConfigByIds(Long[] configIds) - { - for (Long configId : configIds) - { - SysConfig config = selectConfigById(configId); - if (StringUtils.equals(UserConstants.YES, config.getConfigType())) - { - throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey())); - } - configMapper.deleteConfigById(configId); - redisCache.deleteObject(getCacheKey(config.getConfigKey())); - } - } - - /** - * 加载参数缓存数据 - */ - @Override - public void loadingConfigCache() - { - List configsList = configMapper.selectConfigList(new SysConfig()); - for (SysConfig config : configsList) - { - redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - } - - /** - * 清空参数缓存数据 - */ - @Override - public void clearConfigCache() - { - Collection keys = redisCache.keys(CacheConstants.SYS_CONFIG_KEY + "*"); - redisCache.deleteObject(keys); - } - - /** - * 重置参数缓存数据 - */ - @Override - public void resetConfigCache() - { - clearConfigCache(); - loadingConfigCache(); - } - - /** - * 校验参数键名是否唯一 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public boolean checkConfigKeyUnique(SysConfig config) - { - Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId(); - SysConfig info = configMapper.checkConfigKeyUnique(config.getConfigKey()); - if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 设置cache key - * - * @param configKey 参数键 - * @return 缓存键key - */ - private String getCacheKey(String configKey) - { - return CacheConstants.SYS_CONFIG_KEY + configKey; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysDeptServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysDeptServiceImpl.java deleted file mode 100644 index c8770ba..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysDeptServiceImpl.java +++ /dev/null @@ -1,338 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.stream.Collectors; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.djhk.common.annotation.DataScope; -import com.djhk.common.constant.UserConstants; -import com.djhk.common.core.domain.TreeSelect; -import com.djhk.common.core.domain.entity.SysDept; -import com.djhk.common.core.domain.entity.SysRole; -import com.djhk.common.core.domain.entity.SysUser; -import com.djhk.common.core.text.Convert; -import com.djhk.common.exception.ServiceException; -import com.djhk.common.utils.SecurityUtils; -import com.djhk.common.utils.StringUtils; -import com.djhk.common.utils.spring.SpringUtils; -import com.djhk.system.mapper.SysDeptMapper; -import com.djhk.system.mapper.SysRoleMapper; -import com.djhk.system.service.ISysDeptService; - -/** - * 部门管理 服务实现 - * - * @author djhk - */ -@Service -public class SysDeptServiceImpl implements ISysDeptService -{ - @Autowired - private SysDeptMapper deptMapper; - - @Autowired - private SysRoleMapper roleMapper; - - /** - * 查询部门管理数据 - * - * @param dept 部门信息 - * @return 部门信息集合 - */ - @Override - @DataScope(deptAlias = "d") - public List selectDeptList(SysDept dept) - { - return deptMapper.selectDeptList(dept); - } - - /** - * 查询部门树结构信息 - * - * @param dept 部门信息 - * @return 部门树信息集合 - */ - @Override - public List selectDeptTreeList(SysDept dept) - { - List depts = SpringUtils.getAopProxy(this).selectDeptList(dept); - return buildDeptTreeSelect(depts); - } - - /** - * 构建前端所需要树结构 - * - * @param depts 部门列表 - * @return 树结构列表 - */ - @Override - public List buildDeptTree(List depts) - { - List returnList = new ArrayList(); - List tempList = depts.stream().map(SysDept::getDeptId).collect(Collectors.toList()); - for (SysDept dept : depts) - { - // 如果是顶级节点, 遍历该父节点的所有子节点 - if (!tempList.contains(dept.getParentId())) - { - recursionFn(depts, dept); - returnList.add(dept); - } - } - if (returnList.isEmpty()) - { - returnList = depts; - } - return returnList; - } - - /** - * 构建前端所需要下拉树结构 - * - * @param depts 部门列表 - * @return 下拉树结构列表 - */ - @Override - public List buildDeptTreeSelect(List depts) - { - List deptTrees = buildDeptTree(depts); - return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - /** - * 根据角色ID查询部门树信息 - * - * @param roleId 角色ID - * @return 选中部门列表 - */ - @Override - public List selectDeptListByRoleId(Long roleId) - { - SysRole role = roleMapper.selectRoleById(roleId); - return deptMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly()); - } - - /** - * 根据部门ID查询信息 - * - * @param deptId 部门ID - * @return 部门信息 - */ - @Override - public SysDept selectDeptById(Long deptId) - { - return deptMapper.selectDeptById(deptId); - } - - /** - * 根据ID查询所有子部门(正常状态) - * - * @param deptId 部门ID - * @return 子部门数 - */ - @Override - public int selectNormalChildrenDeptById(Long deptId) - { - return deptMapper.selectNormalChildrenDeptById(deptId); - } - - /** - * 是否存在子节点 - * - * @param deptId 部门ID - * @return 结果 - */ - @Override - public boolean hasChildByDeptId(Long deptId) - { - int result = deptMapper.hasChildByDeptId(deptId); - return result > 0; - } - - /** - * 查询部门是否存在用户 - * - * @param deptId 部门ID - * @return 结果 true 存在 false 不存在 - */ - @Override - public boolean checkDeptExistUser(Long deptId) - { - int result = deptMapper.checkDeptExistUser(deptId); - return result > 0; - } - - /** - * 校验部门名称是否唯一 - * - * @param dept 部门信息 - * @return 结果 - */ - @Override - public boolean checkDeptNameUnique(SysDept dept) - { - Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId(); - SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId()); - if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验部门是否有数据权限 - * - * @param deptId 部门id - */ - @Override - public void checkDeptDataScope(Long deptId) - { - if (!SysUser.isAdmin(SecurityUtils.getUserId()) && StringUtils.isNotNull(deptId)) - { - SysDept dept = new SysDept(); - dept.setDeptId(deptId); - List depts = SpringUtils.getAopProxy(this).selectDeptList(dept); - if (StringUtils.isEmpty(depts)) - { - throw new ServiceException("没有权限访问部门数据!"); - } - } - } - - /** - * 新增保存部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - @Override - public int insertDept(SysDept dept) - { - SysDept info = deptMapper.selectDeptById(dept.getParentId()); - // 如果父节点不为正常状态,则不允许新增子节点 - if (!UserConstants.DEPT_NORMAL.equals(info.getStatus())) - { - throw new ServiceException("部门停用,不允许新增"); - } - dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); - return deptMapper.insertDept(dept); - } - - /** - * 修改保存部门信息 - * - * @param dept 部门信息 - * @return 结果 - */ - @Override - public int updateDept(SysDept dept) - { - SysDept newParentDept = deptMapper.selectDeptById(dept.getParentId()); - SysDept oldDept = deptMapper.selectDeptById(dept.getDeptId()); - if (StringUtils.isNotNull(newParentDept) && StringUtils.isNotNull(oldDept)) - { - String newAncestors = newParentDept.getAncestors() + "," + newParentDept.getDeptId(); - String oldAncestors = oldDept.getAncestors(); - dept.setAncestors(newAncestors); - updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); - } - int result = deptMapper.updateDept(dept); - if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors()) - && !StringUtils.equals("0", dept.getAncestors())) - { - // 如果该部门是启用状态,则启用该部门的所有上级部门 - updateParentDeptStatusNormal(dept); - } - return result; - } - - /** - * 修改该部门的父级部门状态 - * - * @param dept 当前部门 - */ - private void updateParentDeptStatusNormal(SysDept dept) - { - String ancestors = dept.getAncestors(); - Long[] deptIds = Convert.toLongArray(ancestors); - deptMapper.updateDeptStatusNormal(deptIds); - } - - /** - * 修改子元素关系 - * - * @param deptId 被修改的部门ID - * @param newAncestors 新的父ID集合 - * @param oldAncestors 旧的父ID集合 - */ - public void updateDeptChildren(Long deptId, String newAncestors, String oldAncestors) - { - List children = deptMapper.selectChildrenDeptById(deptId); - for (SysDept child : children) - { - child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors)); - } - if (children.size() > 0) - { - deptMapper.updateDeptChildren(children); - } - } - - /** - * 删除部门管理信息 - * - * @param deptId 部门ID - * @return 结果 - */ - @Override - public int deleteDeptById(Long deptId) - { - return deptMapper.deleteDeptById(deptId); - } - - /** - * 递归列表 - */ - private void recursionFn(List list, SysDept t) - { - // 得到子节点列表 - List childList = getChildList(list, t); - t.setChildren(childList); - for (SysDept tChild : childList) - { - if (hasChild(list, tChild)) - { - recursionFn(list, tChild); - } - } - } - - /** - * 得到子节点列表 - */ - private List getChildList(List list, SysDept t) - { - List tlist = new ArrayList(); - Iterator it = list.iterator(); - while (it.hasNext()) - { - SysDept n = (SysDept) it.next(); - if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) - { - tlist.add(n); - } - } - return tlist; - } - - /** - * 判断是否有子节点 - */ - private boolean hasChild(List list, SysDept t) - { - return getChildList(list, t).size() > 0; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysDictDataServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysDictDataServiceImpl.java deleted file mode 100644 index 5928067..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysDictDataServiceImpl.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.djhk.common.core.domain.entity.SysDictData; -import com.djhk.common.utils.DictUtils; -import com.djhk.system.mapper.SysDictDataMapper; -import com.djhk.system.service.ISysDictDataService; - -/** - * 字典 业务层处理 - * - * @author djhk - */ -@Service -public class SysDictDataServiceImpl implements ISysDictDataService -{ - @Autowired - private SysDictDataMapper dictDataMapper; - - /** - * 根据条件分页查询字典数据 - * - * @param dictData 字典数据信息 - * @return 字典数据集合信息 - */ - @Override - public List selectDictDataList(SysDictData dictData) - { - return dictDataMapper.selectDictDataList(dictData); - } - - /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * @return 字典标签 - */ - @Override - public String selectDictLabel(String dictType, String dictValue) - { - return dictDataMapper.selectDictLabel(dictType, dictValue); - } - - /** - * 根据字典数据ID查询信息 - * - * @param dictCode 字典数据ID - * @return 字典数据 - */ - @Override - public SysDictData selectDictDataById(Long dictCode) - { - return dictDataMapper.selectDictDataById(dictCode); - } - - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - */ - @Override - public void deleteDictDataByIds(Long[] dictCodes) - { - for (Long dictCode : dictCodes) - { - SysDictData data = selectDictDataById(dictCode); - dictDataMapper.deleteDictDataById(dictCode); - List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } - } - - /** - * 新增保存字典数据信息 - * - * @param data 字典数据信息 - * @return 结果 - */ - @Override - public int insertDictData(SysDictData data) - { - int row = dictDataMapper.insertDictData(data); - if (row > 0) - { - List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } - return row; - } - - /** - * 修改保存字典数据信息 - * - * @param data 字典数据信息 - * @return 结果 - */ - @Override - public int updateDictData(SysDictData data) - { - int row = dictDataMapper.updateDictData(data); - if (row > 0) - { - List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } - return row; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysDictTypeServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysDictTypeServiceImpl.java deleted file mode 100644 index 43a66e4..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysDictTypeServiceImpl.java +++ /dev/null @@ -1,223 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import javax.annotation.PostConstruct; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import com.djhk.common.constant.UserConstants; -import com.djhk.common.core.domain.entity.SysDictData; -import com.djhk.common.core.domain.entity.SysDictType; -import com.djhk.common.exception.ServiceException; -import com.djhk.common.utils.DictUtils; -import com.djhk.common.utils.StringUtils; -import com.djhk.system.mapper.SysDictDataMapper; -import com.djhk.system.mapper.SysDictTypeMapper; -import com.djhk.system.service.ISysDictTypeService; - -/** - * 字典 业务层处理 - * - * @author djhk - */ -@Service -public class SysDictTypeServiceImpl implements ISysDictTypeService -{ - @Autowired - private SysDictTypeMapper dictTypeMapper; - - @Autowired - private SysDictDataMapper dictDataMapper; - - /** - * 项目启动时,初始化字典到缓存 - */ - @PostConstruct - public void init() - { - loadingDictCache(); - } - - /** - * 根据条件分页查询字典类型 - * - * @param dictType 字典类型信息 - * @return 字典类型集合信息 - */ - @Override - public List selectDictTypeList(SysDictType dictType) - { - return dictTypeMapper.selectDictTypeList(dictType); - } - - /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - @Override - public List selectDictTypeAll() - { - return dictTypeMapper.selectDictTypeAll(); - } - - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据集合信息 - */ - @Override - public List selectDictDataByType(String dictType) - { - List dictDatas = DictUtils.getDictCache(dictType); - if (StringUtils.isNotEmpty(dictDatas)) - { - return dictDatas; - } - dictDatas = dictDataMapper.selectDictDataByType(dictType); - if (StringUtils.isNotEmpty(dictDatas)) - { - DictUtils.setDictCache(dictType, dictDatas); - return dictDatas; - } - return null; - } - - /** - * 根据字典类型ID查询信息 - * - * @param dictId 字典类型ID - * @return 字典类型 - */ - @Override - public SysDictType selectDictTypeById(Long dictId) - { - return dictTypeMapper.selectDictTypeById(dictId); - } - - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * @return 字典类型 - */ - @Override - public SysDictType selectDictTypeByType(String dictType) - { - return dictTypeMapper.selectDictTypeByType(dictType); - } - - /** - * 批量删除字典类型信息 - * - * @param dictIds 需要删除的字典ID - */ - @Override - public void deleteDictTypeByIds(Long[] dictIds) - { - for (Long dictId : dictIds) - { - SysDictType dictType = selectDictTypeById(dictId); - if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) - { - throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); - } - dictTypeMapper.deleteDictTypeById(dictId); - DictUtils.removeDictCache(dictType.getDictType()); - } - } - - /** - * 加载字典缓存数据 - */ - @Override - public void loadingDictCache() - { - SysDictData dictData = new SysDictData(); - dictData.setStatus("0"); - Map> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType)); - for (Map.Entry> entry : dictDataMap.entrySet()) - { - DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList())); - } - } - - /** - * 清空字典缓存数据 - */ - @Override - public void clearDictCache() - { - DictUtils.clearDictCache(); - } - - /** - * 重置字典缓存数据 - */ - @Override - public void resetDictCache() - { - clearDictCache(); - loadingDictCache(); - } - - /** - * 新增保存字典类型信息 - * - * @param dict 字典类型信息 - * @return 结果 - */ - @Override - public int insertDictType(SysDictType dict) - { - int row = dictTypeMapper.insertDictType(dict); - if (row > 0) - { - DictUtils.setDictCache(dict.getDictType(), null); - } - return row; - } - - /** - * 修改保存字典类型信息 - * - * @param dict 字典类型信息 - * @return 结果 - */ - @Override - @Transactional - public int updateDictType(SysDictType dict) - { - SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId()); - dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType()); - int row = dictTypeMapper.updateDictType(dict); - if (row > 0) - { - List dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType()); - DictUtils.setDictCache(dict.getDictType(), dictDatas); - } - return row; - } - - /** - * 校验字典类型称是否唯一 - * - * @param dict 字典类型 - * @return 结果 - */ - @Override - public boolean checkDictTypeUnique(SysDictType dict) - { - Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId(); - SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType()); - if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysLogininforServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysLogininforServiceImpl.java deleted file mode 100644 index 7cc24a8..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysLogininforServiceImpl.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.djhk.system.domain.SysLogininfor; -import com.djhk.system.mapper.SysLogininforMapper; -import com.djhk.system.service.ISysLogininforService; - -/** - * 系统访问日志情况信息 服务层处理 - * - * @author djhk - */ -@Service -public class SysLogininforServiceImpl implements ISysLogininforService -{ - - @Autowired - private SysLogininforMapper logininforMapper; - - /** - * 新增系统登录日志 - * - * @param logininfor 访问日志对象 - */ - @Override - public void insertLogininfor(SysLogininfor logininfor) - { - logininforMapper.insertLogininfor(logininfor); - } - - /** - * 查询系统登录日志集合 - * - * @param logininfor 访问日志对象 - * @return 登录记录集合 - */ - @Override - public List selectLogininforList(SysLogininfor logininfor) - { - return logininforMapper.selectLogininforList(logininfor); - } - - /** - * 批量删除系统登录日志 - * - * @param infoIds 需要删除的登录日志ID - * @return 结果 - */ - @Override - public int deleteLogininforByIds(Long[] infoIds) - { - return logininforMapper.deleteLogininforByIds(infoIds); - } - - /** - * 清空系统登录日志 - */ - @Override - public void cleanLogininfor() - { - logininforMapper.cleanLogininfor(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysMenuServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysMenuServiceImpl.java deleted file mode 100644 index 4e9c101..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysMenuServiceImpl.java +++ /dev/null @@ -1,543 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.djhk.common.constant.Constants; -import com.djhk.common.constant.UserConstants; -import com.djhk.common.core.domain.TreeSelect; -import com.djhk.common.core.domain.entity.SysMenu; -import com.djhk.common.core.domain.entity.SysRole; -import com.djhk.common.core.domain.entity.SysUser; -import com.djhk.common.utils.SecurityUtils; -import com.djhk.common.utils.StringUtils; -import com.djhk.system.domain.vo.MetaVo; -import com.djhk.system.domain.vo.RouterVo; -import com.djhk.system.mapper.SysMenuMapper; -import com.djhk.system.mapper.SysRoleMapper; -import com.djhk.system.mapper.SysRoleMenuMapper; -import com.djhk.system.service.ISysMenuService; - -/** - * 菜单 业务层处理 - * - * @author djhk - */ -@Service -public class SysMenuServiceImpl implements ISysMenuService -{ - public static final String PREMISSION_STRING = "perms[\"{0}\"]"; - - @Autowired - private SysMenuMapper menuMapper; - - @Autowired - private SysRoleMapper roleMapper; - - @Autowired - private SysRoleMenuMapper roleMenuMapper; - - /** - * 根据用户查询系统菜单列表 - * - * @param userId 用户ID - * @return 菜单列表 - */ - @Override - public List selectMenuList(Long userId) - { - return selectMenuList(new SysMenu(), userId); - } - - /** - * 查询系统菜单列表 - * - * @param menu 菜单信息 - * @return 菜单列表 - */ - @Override - public List selectMenuList(SysMenu menu, Long userId) - { - List menuList = null; - // 管理员显示所有菜单信息 - if (SysUser.isAdmin(userId)) - { - menuList = menuMapper.selectMenuList(menu); - } - else - { - menu.getParams().put("userId", userId); - menuList = menuMapper.selectMenuListByUserId(menu); - } - return menuList; - } - - /** - * 根据用户ID查询权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - @Override - public Set selectMenuPermsByUserId(Long userId) - { - List perms = menuMapper.selectMenuPermsByUserId(userId); - Set permsSet = new HashSet<>(); - for (String perm : perms) - { - if (StringUtils.isNotEmpty(perm)) - { - permsSet.addAll(Arrays.asList(perm.trim().split(","))); - } - } - return permsSet; - } - - /** - * 根据角色ID查询权限 - * - * @param roleId 角色ID - * @return 权限列表 - */ - @Override - public Set selectMenuPermsByRoleId(Long roleId) - { - List perms = menuMapper.selectMenuPermsByRoleId(roleId); - Set permsSet = new HashSet<>(); - for (String perm : perms) - { - if (StringUtils.isNotEmpty(perm)) - { - permsSet.addAll(Arrays.asList(perm.trim().split(","))); - } - } - return permsSet; - } - - /** - * 根据用户ID查询菜单 - * - * @param userId 用户名称 - * @return 菜单列表 - */ - @Override - public List selectMenuTreeByUserId(Long userId) - { - List menus = null; - if (SecurityUtils.isAdmin(userId)) - { - menus = menuMapper.selectMenuTreeAll(); - } - else - { - menus = menuMapper.selectMenuTreeByUserId(userId); - } - return getChildPerms(menus, 0); - } - - /** - * 根据角色ID查询菜单树信息 - * - * @param roleId 角色ID - * @return 选中菜单列表 - */ - @Override - public List selectMenuListByRoleId(Long roleId) - { - SysRole role = roleMapper.selectRoleById(roleId); - return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); - } - - /** - * 构建前端路由所需要的菜单 - * - * @param menus 菜单列表 - * @return 路由列表 - */ - @Override - public List buildMenus(List menus) - { - List routers = new LinkedList(); - for (SysMenu menu : menus) - { - RouterVo router = new RouterVo(); - router.setHidden("1".equals(menu.getVisible())); - router.setName(getRouteName(menu)); - router.setPath(getRouterPath(menu)); - router.setComponent(getComponent(menu)); - router.setQuery(menu.getQuery()); - router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); - List cMenus = menu.getChildren(); - if (StringUtils.isNotEmpty(cMenus) && UserConstants.TYPE_DIR.equals(menu.getMenuType())) - { - router.setAlwaysShow(true); - router.setRedirect("noRedirect"); - router.setChildren(buildMenus(cMenus)); - } - else if (isMenuFrame(menu)) - { - router.setMeta(null); - List childrenList = new ArrayList(); - RouterVo children = new RouterVo(); - children.setPath(menu.getPath()); - children.setComponent(menu.getComponent()); - children.setName(getRouteName(menu.getRouteName(), menu.getPath())); - children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); - children.setQuery(menu.getQuery()); - childrenList.add(children); - router.setChildren(childrenList); - } - else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) - { - router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon())); - router.setPath("/"); - List childrenList = new ArrayList(); - RouterVo children = new RouterVo(); - String routerPath = innerLinkReplaceEach(menu.getPath()); - children.setPath(routerPath); - children.setComponent(UserConstants.INNER_LINK); - children.setName(getRouteName(menu.getRouteName(), routerPath)); - children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath())); - childrenList.add(children); - router.setChildren(childrenList); - } - routers.add(router); - } - return routers; - } - - /** - * 构建前端所需要树结构 - * - * @param menus 菜单列表 - * @return 树结构列表 - */ - @Override - public List buildMenuTree(List menus) - { - List returnList = new ArrayList(); - List tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); - for (Iterator iterator = menus.iterator(); iterator.hasNext();) - { - SysMenu menu = (SysMenu) iterator.next(); - // 如果是顶级节点, 遍历该父节点的所有子节点 - if (!tempList.contains(menu.getParentId())) - { - recursionFn(menus, menu); - returnList.add(menu); - } - } - if (returnList.isEmpty()) - { - returnList = menus; - } - return returnList; - } - - /** - * 构建前端所需要下拉树结构 - * - * @param menus 菜单列表 - * @return 下拉树结构列表 - */ - @Override - public List buildMenuTreeSelect(List menus) - { - List menuTrees = buildMenuTree(menus); - return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - /** - * 根据菜单ID查询信息 - * - * @param menuId 菜单ID - * @return 菜单信息 - */ - @Override - public SysMenu selectMenuById(Long menuId) - { - return menuMapper.selectMenuById(menuId); - } - - /** - * 是否存在菜单子节点 - * - * @param menuId 菜单ID - * @return 结果 - */ - @Override - public boolean hasChildByMenuId(Long menuId) - { - int result = menuMapper.hasChildByMenuId(menuId); - return result > 0; - } - - /** - * 查询菜单使用数量 - * - * @param menuId 菜单ID - * @return 结果 - */ - @Override - public boolean checkMenuExistRole(Long menuId) - { - int result = roleMenuMapper.checkMenuExistRole(menuId); - return result > 0; - } - - /** - * 新增保存菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - @Override - public int insertMenu(SysMenu menu) - { - return menuMapper.insertMenu(menu); - } - - /** - * 修改保存菜单信息 - * - * @param menu 菜单信息 - * @return 结果 - */ - @Override - public int updateMenu(SysMenu menu) - { - return menuMapper.updateMenu(menu); - } - - /** - * 删除菜单管理信息 - * - * @param menuId 菜单ID - * @return 结果 - */ - @Override - public int deleteMenuById(Long menuId) - { - return menuMapper.deleteMenuById(menuId); - } - - /** - * 校验菜单名称是否唯一 - * - * @param menu 菜单信息 - * @return 结果 - */ - @Override - public boolean checkMenuNameUnique(SysMenu menu) - { - Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); - SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId()); - if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 获取路由名称 - * - * @param menu 菜单信息 - * @return 路由名称 - */ - public String getRouteName(SysMenu menu) - { - // 非外链并且是一级目录(类型为目录) - if (isMenuFrame(menu)) - { - return StringUtils.EMPTY; - } - return getRouteName(menu.getRouteName(), menu.getPath()); - } - - /** - * 获取路由名称,如没有配置路由名称则取路由地址 - * - * @param name 路由名称 - * @param path 路由地址 - * @return 路由名称(驼峰格式) - */ - public String getRouteName(String name, String path) - { - String routerName = StringUtils.isNotEmpty(name) ? name : path; - return StringUtils.capitalize(routerName); - } - - /** - * 获取路由地址 - * - * @param menu 菜单信息 - * @return 路由地址 - */ - public String getRouterPath(SysMenu menu) - { - String routerPath = menu.getPath(); - // 内链打开外网方式 - if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) - { - routerPath = innerLinkReplaceEach(routerPath); - } - // 非外链并且是一级目录(类型为目录) - if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) - && UserConstants.NO_FRAME.equals(menu.getIsFrame())) - { - routerPath = "/" + menu.getPath(); - } - // 非外链并且是一级目录(类型为菜单) - else if (isMenuFrame(menu)) - { - routerPath = "/"; - } - return routerPath; - } - - /** - * 获取组件信息 - * - * @param menu 菜单信息 - * @return 组件信息 - */ - public String getComponent(SysMenu menu) - { - String component = UserConstants.LAYOUT; - if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) - { - component = menu.getComponent(); - } - else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) - { - component = UserConstants.INNER_LINK; - } - else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) - { - component = UserConstants.PARENT_VIEW; - } - return component; - } - - /** - * 是否为菜单内部跳转 - * - * @param menu 菜单信息 - * @return 结果 - */ - public boolean isMenuFrame(SysMenu menu) - { - return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType()) - && menu.getIsFrame().equals(UserConstants.NO_FRAME); - } - - /** - * 是否为内链组件 - * - * @param menu 菜单信息 - * @return 结果 - */ - public boolean isInnerLink(SysMenu menu) - { - return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath()); - } - - /** - * 是否为parent_view组件 - * - * @param menu 菜单信息 - * @return 结果 - */ - public boolean isParentView(SysMenu menu) - { - return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); - } - - /** - * 根据父节点的ID获取所有子节点 - * - * @param list 分类表 - * @param parentId 传入的父节点ID - * @return String - */ - public List getChildPerms(List list, int parentId) - { - List returnList = new ArrayList(); - for (Iterator iterator = list.iterator(); iterator.hasNext();) - { - SysMenu t = (SysMenu) iterator.next(); - // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点 - if (t.getParentId() == parentId) - { - recursionFn(list, t); - returnList.add(t); - } - } - return returnList; - } - - /** - * 递归列表 - * - * @param list 分类表 - * @param t 子节点 - */ - private void recursionFn(List list, SysMenu t) - { - // 得到子节点列表 - List childList = getChildList(list, t); - t.setChildren(childList); - for (SysMenu tChild : childList) - { - if (hasChild(list, tChild)) - { - recursionFn(list, tChild); - } - } - } - - /** - * 得到子节点列表 - */ - private List getChildList(List list, SysMenu t) - { - List tlist = new ArrayList(); - Iterator it = list.iterator(); - while (it.hasNext()) - { - SysMenu n = (SysMenu) it.next(); - if (n.getParentId().longValue() == t.getMenuId().longValue()) - { - tlist.add(n); - } - } - return tlist; - } - - /** - * 判断是否有子节点 - */ - private boolean hasChild(List list, SysMenu t) - { - return getChildList(list, t).size() > 0; - } - - /** - * 内链域名特殊字符替换 - * - * @return 替换后的内链域名 - */ - public String innerLinkReplaceEach(String path) - { - return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, ".", ":" }, - new String[] { "", "", "", "/", "/" }); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysNoticeServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysNoticeServiceImpl.java deleted file mode 100644 index adc2196..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysNoticeServiceImpl.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.djhk.system.domain.SysNotice; -import com.djhk.system.mapper.SysNoticeMapper; -import com.djhk.system.service.ISysNoticeService; - -/** - * 公告 服务层实现 - * - * @author djhk - */ -@Service -public class SysNoticeServiceImpl implements ISysNoticeService -{ - @Autowired - private SysNoticeMapper noticeMapper; - - /** - * 查询公告信息 - * - * @param noticeId 公告ID - * @return 公告信息 - */ - @Override - public SysNotice selectNoticeById(Long noticeId) - { - return noticeMapper.selectNoticeById(noticeId); - } - - /** - * 查询公告列表 - * - * @param notice 公告信息 - * @return 公告集合 - */ - @Override - public List selectNoticeList(SysNotice notice) - { - return noticeMapper.selectNoticeList(notice); - } - - /** - * 新增公告 - * - * @param notice 公告信息 - * @return 结果 - */ - @Override - public int insertNotice(SysNotice notice) - { - return noticeMapper.insertNotice(notice); - } - - /** - * 修改公告 - * - * @param notice 公告信息 - * @return 结果 - */ - @Override - public int updateNotice(SysNotice notice) - { - return noticeMapper.updateNotice(notice); - } - - /** - * 删除公告对象 - * - * @param noticeId 公告ID - * @return 结果 - */ - @Override - public int deleteNoticeById(Long noticeId) - { - return noticeMapper.deleteNoticeById(noticeId); - } - - /** - * 批量删除公告信息 - * - * @param noticeIds 需要删除的公告ID - * @return 结果 - */ - @Override - public int deleteNoticeByIds(Long[] noticeIds) - { - return noticeMapper.deleteNoticeByIds(noticeIds); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysOperLogServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysOperLogServiceImpl.java deleted file mode 100644 index 450c8eb..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysOperLogServiceImpl.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.djhk.system.domain.SysOperLog; -import com.djhk.system.mapper.SysOperLogMapper; -import com.djhk.system.service.ISysOperLogService; - -/** - * 操作日志 服务层处理 - * - * @author djhk - */ -@Service -public class SysOperLogServiceImpl implements ISysOperLogService -{ - @Autowired - private SysOperLogMapper operLogMapper; - - /** - * 新增操作日志 - * - * @param operLog 操作日志对象 - */ - @Override - public void insertOperlog(SysOperLog operLog) - { - operLogMapper.insertOperlog(operLog); - } - - /** - * 查询系统操作日志集合 - * - * @param operLog 操作日志对象 - * @return 操作日志集合 - */ - @Override - public List selectOperLogList(SysOperLog operLog) - { - return operLogMapper.selectOperLogList(operLog); - } - - /** - * 批量删除系统操作日志 - * - * @param operIds 需要删除的操作日志ID - * @return 结果 - */ - @Override - public int deleteOperLogByIds(Long[] operIds) - { - return operLogMapper.deleteOperLogByIds(operIds); - } - - /** - * 查询操作日志详细 - * - * @param operId 操作ID - * @return 操作日志对象 - */ - @Override - public SysOperLog selectOperLogById(Long operId) - { - return operLogMapper.selectOperLogById(operId); - } - - /** - * 清空操作日志 - */ - @Override - public void cleanOperLog() - { - operLogMapper.cleanOperLog(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysPostServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysPostServiceImpl.java deleted file mode 100644 index 23fe4c3..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysPostServiceImpl.java +++ /dev/null @@ -1,178 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.djhk.common.constant.UserConstants; -import com.djhk.common.exception.ServiceException; -import com.djhk.common.utils.StringUtils; -import com.djhk.system.domain.SysPost; -import com.djhk.system.mapper.SysPostMapper; -import com.djhk.system.mapper.SysUserPostMapper; -import com.djhk.system.service.ISysPostService; - -/** - * 岗位信息 服务层处理 - * - * @author djhk - */ -@Service -public class SysPostServiceImpl implements ISysPostService -{ - @Autowired - private SysPostMapper postMapper; - - @Autowired - private SysUserPostMapper userPostMapper; - - /** - * 查询岗位信息集合 - * - * @param post 岗位信息 - * @return 岗位信息集合 - */ - @Override - public List selectPostList(SysPost post) - { - return postMapper.selectPostList(post); - } - - /** - * 查询所有岗位 - * - * @return 岗位列表 - */ - @Override - public List selectPostAll() - { - return postMapper.selectPostAll(); - } - - /** - * 通过岗位ID查询岗位信息 - * - * @param postId 岗位ID - * @return 角色对象信息 - */ - @Override - public SysPost selectPostById(Long postId) - { - return postMapper.selectPostById(postId); - } - - /** - * 根据用户ID获取岗位选择框列表 - * - * @param userId 用户ID - * @return 选中岗位ID列表 - */ - @Override - public List selectPostListByUserId(Long userId) - { - return postMapper.selectPostListByUserId(userId); - } - - /** - * 校验岗位名称是否唯一 - * - * @param post 岗位信息 - * @return 结果 - */ - @Override - public boolean checkPostNameUnique(SysPost post) - { - Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId(); - SysPost info = postMapper.checkPostNameUnique(post.getPostName()); - if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验岗位编码是否唯一 - * - * @param post 岗位信息 - * @return 结果 - */ - @Override - public boolean checkPostCodeUnique(SysPost post) - { - Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId(); - SysPost info = postMapper.checkPostCodeUnique(post.getPostCode()); - if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 通过岗位ID查询岗位使用数量 - * - * @param postId 岗位ID - * @return 结果 - */ - @Override - public int countUserPostById(Long postId) - { - return userPostMapper.countUserPostById(postId); - } - - /** - * 删除岗位信息 - * - * @param postId 岗位ID - * @return 结果 - */ - @Override - public int deletePostById(Long postId) - { - return postMapper.deletePostById(postId); - } - - /** - * 批量删除岗位信息 - * - * @param postIds 需要删除的岗位ID - * @return 结果 - */ - @Override - public int deletePostByIds(Long[] postIds) - { - for (Long postId : postIds) - { - SysPost post = selectPostById(postId); - if (countUserPostById(postId) > 0) - { - throw new ServiceException(String.format("%1$s已分配,不能删除", post.getPostName())); - } - } - return postMapper.deletePostByIds(postIds); - } - - /** - * 新增保存岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - @Override - public int insertPost(SysPost post) - { - return postMapper.insertPost(post); - } - - /** - * 修改保存岗位信息 - * - * @param post 岗位信息 - * @return 结果 - */ - @Override - public int updatePost(SysPost post) - { - return postMapper.updatePost(post); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysRoleServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysRoleServiceImpl.java deleted file mode 100644 index 793800c..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysRoleServiceImpl.java +++ /dev/null @@ -1,427 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import com.djhk.common.annotation.DataScope; -import com.djhk.common.constant.UserConstants; -import com.djhk.common.core.domain.entity.SysRole; -import com.djhk.common.core.domain.entity.SysUser; -import com.djhk.common.exception.ServiceException; -import com.djhk.common.utils.SecurityUtils; -import com.djhk.common.utils.StringUtils; -import com.djhk.common.utils.spring.SpringUtils; -import com.djhk.system.domain.SysRoleDept; -import com.djhk.system.domain.SysRoleMenu; -import com.djhk.system.domain.SysUserRole; -import com.djhk.system.mapper.SysRoleDeptMapper; -import com.djhk.system.mapper.SysRoleMapper; -import com.djhk.system.mapper.SysRoleMenuMapper; -import com.djhk.system.mapper.SysUserRoleMapper; -import com.djhk.system.service.ISysRoleService; - -/** - * 角色 业务层处理 - * - * @author djhk - */ -@Service -public class SysRoleServiceImpl implements ISysRoleService -{ - @Autowired - private SysRoleMapper roleMapper; - - @Autowired - private SysRoleMenuMapper roleMenuMapper; - - @Autowired - private SysUserRoleMapper userRoleMapper; - - @Autowired - private SysRoleDeptMapper roleDeptMapper; - - /** - * 根据条件分页查询角色数据 - * - * @param role 角色信息 - * @return 角色数据集合信息 - */ - @Override - @DataScope(deptAlias = "d") - public List selectRoleList(SysRole role) - { - return roleMapper.selectRoleList(role); - } - - /** - * 根据用户ID查询角色 - * - * @param userId 用户ID - * @return 角色列表 - */ - @Override - public List selectRolesByUserId(Long userId) - { - List userRoles = roleMapper.selectRolePermissionByUserId(userId); - List roles = selectRoleAll(); - for (SysRole role : roles) - { - for (SysRole userRole : userRoles) - { - if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) - { - role.setFlag(true); - break; - } - } - } - return roles; - } - - /** - * 根据用户ID查询权限 - * - * @param userId 用户ID - * @return 权限列表 - */ - @Override - public Set selectRolePermissionByUserId(Long userId) - { - List perms = roleMapper.selectRolePermissionByUserId(userId); - Set permsSet = new HashSet<>(); - for (SysRole perm : perms) - { - if (StringUtils.isNotNull(perm)) - { - permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(","))); - } - } - return permsSet; - } - - /** - * 查询所有角色 - * - * @return 角色列表 - */ - @Override - public List selectRoleAll() - { - return SpringUtils.getAopProxy(this).selectRoleList(new SysRole()); - } - - /** - * 根据用户ID获取角色选择框列表 - * - * @param userId 用户ID - * @return 选中角色ID列表 - */ - @Override - public List selectRoleListByUserId(Long userId) - { - return roleMapper.selectRoleListByUserId(userId); - } - - /** - * 通过角色ID查询角色 - * - * @param roleId 角色ID - * @return 角色对象信息 - */ - @Override - public SysRole selectRoleById(Long roleId) - { - return roleMapper.selectRoleById(roleId); - } - - /** - * 校验角色名称是否唯一 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - public boolean checkRoleNameUnique(SysRole role) - { - Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId(); - SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName()); - if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验角色权限是否唯一 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - public boolean checkRoleKeyUnique(SysRole role) - { - Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId(); - SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey()); - if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验角色是否允许操作 - * - * @param role 角色信息 - */ - @Override - public void checkRoleAllowed(SysRole role) - { - if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) - { - throw new ServiceException("不允许操作超级管理员角色"); - } - } - - /** - * 校验角色是否有数据权限 - * - * @param roleIds 角色id - */ - @Override - public void checkRoleDataScope(Long... roleIds) - { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) - { - for (Long roleId : roleIds) - { - SysRole role = new SysRole(); - role.setRoleId(roleId); - List roles = SpringUtils.getAopProxy(this).selectRoleList(role); - if (StringUtils.isEmpty(roles)) - { - throw new ServiceException("没有权限访问角色数据!"); - } - } - } - } - - /** - * 通过角色ID查询角色使用数量 - * - * @param roleId 角色ID - * @return 结果 - */ - @Override - public int countUserRoleByRoleId(Long roleId) - { - return userRoleMapper.countUserRoleByRoleId(roleId); - } - - /** - * 新增保存角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - @Transactional - public int insertRole(SysRole role) - { - // 新增角色信息 - roleMapper.insertRole(role); - return insertRoleMenu(role); - } - - /** - * 修改保存角色信息 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - @Transactional - public int updateRole(SysRole role) - { - // 修改角色信息 - roleMapper.updateRole(role); - // 删除角色与菜单关联 - roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId()); - return insertRoleMenu(role); - } - - /** - * 修改角色状态 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - public int updateRoleStatus(SysRole role) - { - return roleMapper.updateRole(role); - } - - /** - * 修改数据权限信息 - * - * @param role 角色信息 - * @return 结果 - */ - @Override - @Transactional - public int authDataScope(SysRole role) - { - // 修改角色信息 - roleMapper.updateRole(role); - // 删除角色与部门关联 - roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId()); - // 新增角色和部门信息(数据权限) - return insertRoleDept(role); - } - - /** - * 新增角色菜单信息 - * - * @param role 角色对象 - */ - public int insertRoleMenu(SysRole role) - { - int rows = 1; - // 新增用户与角色管理 - List list = new ArrayList(); - for (Long menuId : role.getMenuIds()) - { - SysRoleMenu rm = new SysRoleMenu(); - rm.setRoleId(role.getRoleId()); - rm.setMenuId(menuId); - list.add(rm); - } - if (list.size() > 0) - { - rows = roleMenuMapper.batchRoleMenu(list); - } - return rows; - } - - /** - * 新增角色部门信息(数据权限) - * - * @param role 角色对象 - */ - public int insertRoleDept(SysRole role) - { - int rows = 1; - // 新增角色与部门(数据权限)管理 - List list = new ArrayList(); - for (Long deptId : role.getDeptIds()) - { - SysRoleDept rd = new SysRoleDept(); - rd.setRoleId(role.getRoleId()); - rd.setDeptId(deptId); - list.add(rd); - } - if (list.size() > 0) - { - rows = roleDeptMapper.batchRoleDept(list); - } - return rows; - } - - /** - * 通过角色ID删除角色 - * - * @param roleId 角色ID - * @return 结果 - */ - @Override - @Transactional - public int deleteRoleById(Long roleId) - { - // 删除角色与菜单关联 - roleMenuMapper.deleteRoleMenuByRoleId(roleId); - // 删除角色与部门关联 - roleDeptMapper.deleteRoleDeptByRoleId(roleId); - return roleMapper.deleteRoleById(roleId); - } - - /** - * 批量删除角色信息 - * - * @param roleIds 需要删除的角色ID - * @return 结果 - */ - @Override - @Transactional - public int deleteRoleByIds(Long[] roleIds) - { - for (Long roleId : roleIds) - { - checkRoleAllowed(new SysRole(roleId)); - checkRoleDataScope(roleId); - SysRole role = selectRoleById(roleId); - if (countUserRoleByRoleId(roleId) > 0) - { - throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName())); - } - } - // 删除角色与菜单关联 - roleMenuMapper.deleteRoleMenu(roleIds); - // 删除角色与部门关联 - roleDeptMapper.deleteRoleDept(roleIds); - return roleMapper.deleteRoleByIds(roleIds); - } - - /** - * 取消授权用户角色 - * - * @param userRole 用户和角色关联信息 - * @return 结果 - */ - @Override - public int deleteAuthUser(SysUserRole userRole) - { - return userRoleMapper.deleteUserRoleInfo(userRole); - } - - /** - * 批量取消授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要取消授权的用户数据ID - * @return 结果 - */ - @Override - public int deleteAuthUsers(Long roleId, Long[] userIds) - { - return userRoleMapper.deleteUserRoleInfos(roleId, userIds); - } - - /** - * 批量选择授权用户角色 - * - * @param roleId 角色ID - * @param userIds 需要授权的用户数据ID - * @return 结果 - */ - @Override - public int insertAuthUsers(Long roleId, Long[] userIds) - { - // 新增用户与角色管理 - List list = new ArrayList(); - for (Long userId : userIds) - { - SysUserRole ur = new SysUserRole(); - ur.setUserId(userId); - ur.setRoleId(roleId); - list.add(ur); - } - return userRoleMapper.batchUserRole(list); - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysUserOnlineServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysUserOnlineServiceImpl.java deleted file mode 100644 index 4b0728e..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysUserOnlineServiceImpl.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.djhk.system.service.impl; - -import org.springframework.stereotype.Service; -import com.djhk.common.core.domain.model.LoginUser; -import com.djhk.common.utils.StringUtils; -import com.djhk.system.domain.SysUserOnline; -import com.djhk.system.service.ISysUserOnlineService; - -/** - * 在线用户 服务层处理 - * - * @author djhk - */ -@Service -public class SysUserOnlineServiceImpl implements ISysUserOnlineService -{ - /** - * 通过登录地址查询信息 - * - * @param ipaddr 登录地址 - * @param user 用户信息 - * @return 在线用户信息 - */ - @Override - public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user) - { - if (StringUtils.equals(ipaddr, user.getIpaddr())) - { - return loginUserToUserOnline(user); - } - return null; - } - - /** - * 通过用户名称查询信息 - * - * @param userName 用户名称 - * @param user 用户信息 - * @return 在线用户信息 - */ - @Override - public SysUserOnline selectOnlineByUserName(String userName, LoginUser user) - { - if (StringUtils.equals(userName, user.getUsername())) - { - return loginUserToUserOnline(user); - } - return null; - } - - /** - * 通过登录地址/用户名称查询信息 - * - * @param ipaddr 登录地址 - * @param userName 用户名称 - * @param user 用户信息 - * @return 在线用户信息 - */ - @Override - public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user) - { - if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) - { - return loginUserToUserOnline(user); - } - return null; - } - - /** - * 设置在线用户信息 - * - * @param user 用户信息 - * @return 在线用户 - */ - @Override - public SysUserOnline loginUserToUserOnline(LoginUser user) - { - if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser())) - { - return null; - } - SysUserOnline sysUserOnline = new SysUserOnline(); - sysUserOnline.setTokenId(user.getToken()); - sysUserOnline.setUserName(user.getUsername()); - sysUserOnline.setIpaddr(user.getIpaddr()); - sysUserOnline.setLoginLocation(user.getLoginLocation()); - sysUserOnline.setBrowser(user.getBrowser()); - sysUserOnline.setOs(user.getOs()); - sysUserOnline.setLoginTime(user.getLoginTime()); - if (StringUtils.isNotNull(user.getUser().getDept())) - { - sysUserOnline.setDeptName(user.getUser().getDept().getDeptName()); - } - return sysUserOnline; - } -} diff --git a/djhk-system/src/main/java/com/djhk/system/service/impl/SysUserServiceImpl.java b/djhk-system/src/main/java/com/djhk/system/service/impl/SysUserServiceImpl.java deleted file mode 100644 index 499b5eb..0000000 --- a/djhk-system/src/main/java/com/djhk/system/service/impl/SysUserServiceImpl.java +++ /dev/null @@ -1,565 +0,0 @@ -package com.djhk.system.service.impl; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; -import javax.validation.Validator; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; -import com.djhk.common.annotation.DataScope; -import com.djhk.common.constant.UserConstants; -import com.djhk.common.core.domain.entity.SysRole; -import com.djhk.common.core.domain.entity.SysUser; -import com.djhk.common.exception.ServiceException; -import com.djhk.common.utils.SecurityUtils; -import com.djhk.common.utils.StringUtils; -import com.djhk.common.utils.bean.BeanValidators; -import com.djhk.common.utils.spring.SpringUtils; -import com.djhk.system.domain.SysPost; -import com.djhk.system.domain.SysUserPost; -import com.djhk.system.domain.SysUserRole; -import com.djhk.system.mapper.SysPostMapper; -import com.djhk.system.mapper.SysRoleMapper; -import com.djhk.system.mapper.SysUserMapper; -import com.djhk.system.mapper.SysUserPostMapper; -import com.djhk.system.mapper.SysUserRoleMapper; -import com.djhk.system.service.ISysConfigService; -import com.djhk.system.service.ISysDeptService; -import com.djhk.system.service.ISysUserService; - -/** - * 用户 业务层处理 - * - * @author djhk - */ -@Service -public class SysUserServiceImpl implements ISysUserService -{ - private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); - - @Autowired - private SysUserMapper userMapper; - - @Autowired - private SysRoleMapper roleMapper; - - @Autowired - private SysPostMapper postMapper; - - @Autowired - private SysUserRoleMapper userRoleMapper; - - @Autowired - private SysUserPostMapper userPostMapper; - - @Autowired - private ISysConfigService configService; - - @Autowired - private ISysDeptService deptService; - - @Autowired - protected Validator validator; - - /** - * 根据条件分页查询用户列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - @Override - @DataScope(deptAlias = "d", userAlias = "u") - public List selectUserList(SysUser user) - { - return userMapper.selectUserList(user); - } - - /** - * 根据条件分页查询已分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - @Override - @DataScope(deptAlias = "d", userAlias = "u") - public List selectAllocatedList(SysUser user) - { - return userMapper.selectAllocatedList(user); - } - - /** - * 根据条件分页查询未分配用户角色列表 - * - * @param user 用户信息 - * @return 用户信息集合信息 - */ - @Override - @DataScope(deptAlias = "d", userAlias = "u") - public List selectUnallocatedList(SysUser user) - { - return userMapper.selectUnallocatedList(user); - } - - /** - * 通过用户名查询用户 - * - * @param userName 用户名 - * @return 用户对象信息 - */ - @Override - public SysUser selectUserByUserName(String userName) - { - return userMapper.selectUserByUserName(userName); - } - - /** - * 通过用户ID查询用户 - * - * @param userId 用户ID - * @return 用户对象信息 - */ - @Override - public SysUser selectUserById(Long userId) - { - return userMapper.selectUserById(userId); - } - - /** - * 查询用户所属角色组 - * - * @param userName 用户名 - * @return 结果 - */ - @Override - public String selectUserRoleGroup(String userName) - { - List list = roleMapper.selectRolesByUserName(userName); - if (CollectionUtils.isEmpty(list)) - { - return StringUtils.EMPTY; - } - return list.stream().map(SysRole::getRoleName).collect(Collectors.joining(",")); - } - - /** - * 查询用户所属岗位组 - * - * @param userName 用户名 - * @return 结果 - */ - @Override - public String selectUserPostGroup(String userName) - { - List list = postMapper.selectPostsByUserName(userName); - if (CollectionUtils.isEmpty(list)) - { - return StringUtils.EMPTY; - } - return list.stream().map(SysPost::getPostName).collect(Collectors.joining(",")); - } - - /** - * 校验用户名称是否唯一 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public boolean checkUserNameUnique(SysUser user) - { - Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - SysUser info = userMapper.checkUserNameUnique(user.getUserName()); - if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验手机号码是否唯一 - * - * @param user 用户信息 - * @return - */ - @Override - public boolean checkPhoneUnique(SysUser user) - { - Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); - if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验email是否唯一 - * - * @param user 用户信息 - * @return - */ - @Override - public boolean checkEmailUnique(SysUser user) - { - Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - SysUser info = userMapper.checkEmailUnique(user.getEmail()); - if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 校验用户是否允许操作 - * - * @param user 用户信息 - */ - @Override - public void checkUserAllowed(SysUser user) - { - if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) - { - throw new ServiceException("不允许操作超级管理员用户"); - } - } - - /** - * 校验用户是否有数据权限 - * - * @param userId 用户id - */ - @Override - public void checkUserDataScope(Long userId) - { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) - { - SysUser user = new SysUser(); - user.setUserId(userId); - List users = SpringUtils.getAopProxy(this).selectUserList(user); - if (StringUtils.isEmpty(users)) - { - throw new ServiceException("没有权限访问用户数据!"); - } - } - } - - /** - * 新增保存用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - @Transactional - public int insertUser(SysUser user) - { - // 新增用户信息 - int rows = userMapper.insertUser(user); - // 新增用户岗位关联 - insertUserPost(user); - // 新增用户与角色管理 - insertUserRole(user); - return rows; - } - - /** - * 注册用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public boolean registerUser(SysUser user) - { - return userMapper.insertUser(user) > 0; - } - - /** - * 修改保存用户信息 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - @Transactional - public int updateUser(SysUser user) - { - Long userId = user.getUserId(); - // 删除用户与角色关联 - userRoleMapper.deleteUserRoleByUserId(userId); - // 新增用户与角色管理 - insertUserRole(user); - // 删除用户与岗位关联 - userPostMapper.deleteUserPostByUserId(userId); - // 新增用户与岗位管理 - insertUserPost(user); - return userMapper.updateUser(user); - } - - /** - * 用户授权角色 - * - * @param userId 用户ID - * @param roleIds 角色组 - */ - @Override - @Transactional - public void insertUserAuth(Long userId, Long[] roleIds) - { - userRoleMapper.deleteUserRoleByUserId(userId); - insertUserRole(userId, roleIds); - } - - /** - * 修改用户状态 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public int updateUserStatus(SysUser user) - { - return userMapper.updateUserStatus(user.getUserId(), user.getStatus()); - } - - /** - * 修改用户基本信息 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public int updateUserProfile(SysUser user) - { - return userMapper.updateUser(user); - } - - /** - * 修改用户头像 - * - * @param userId 用户ID - * @param avatar 头像地址 - * @return 结果 - */ - @Override - public boolean updateUserAvatar(Long userId, String avatar) - { - return userMapper.updateUserAvatar(userId, avatar) > 0; - } - - /** - * 更新用户登录信息(IP和登录时间) - * - * @param userId 用户ID - * @param loginIp 登录IP地址 - * @param loginDate 登录时间 - * @return 结果 - */ - public void updateLoginInfo(Long userId, String loginIp, Date loginDate) - { - userMapper.updateLoginInfo(userId, loginIp, loginDate); - } - - /** - * 重置用户密码 - * - * @param user 用户信息 - * @return 结果 - */ - @Override - public int resetPwd(SysUser user) - { - return userMapper.resetUserPwd(user.getUserId(), user.getPassword()); - } - - /** - * 重置用户密码 - * - * @param userId 用户ID - * @param password 密码 - * @return 结果 - */ - @Override - public int resetUserPwd(Long userId, String password) - { - return userMapper.resetUserPwd(userId, password); - } - - /** - * 新增用户角色信息 - * - * @param user 用户对象 - */ - public void insertUserRole(SysUser user) - { - this.insertUserRole(user.getUserId(), user.getRoleIds()); - } - - /** - * 新增用户岗位信息 - * - * @param user 用户对象 - */ - public void insertUserPost(SysUser user) - { - Long[] posts = user.getPostIds(); - if (StringUtils.isNotEmpty(posts)) - { - // 新增用户与岗位管理 - List list = new ArrayList(posts.length); - for (Long postId : posts) - { - SysUserPost up = new SysUserPost(); - up.setUserId(user.getUserId()); - up.setPostId(postId); - list.add(up); - } - userPostMapper.batchUserPost(list); - } - } - - /** - * 新增用户角色信息 - * - * @param userId 用户ID - * @param roleIds 角色组 - */ - public void insertUserRole(Long userId, Long[] roleIds) - { - if (StringUtils.isNotEmpty(roleIds)) - { - // 新增用户与角色管理 - List list = new ArrayList(roleIds.length); - for (Long roleId : roleIds) - { - SysUserRole ur = new SysUserRole(); - ur.setUserId(userId); - ur.setRoleId(roleId); - list.add(ur); - } - userRoleMapper.batchUserRole(list); - } - } - - /** - * 通过用户ID删除用户 - * - * @param userId 用户ID - * @return 结果 - */ - @Override - @Transactional - public int deleteUserById(Long userId) - { - // 删除用户与角色关联 - userRoleMapper.deleteUserRoleByUserId(userId); - // 删除用户与岗位表 - userPostMapper.deleteUserPostByUserId(userId); - return userMapper.deleteUserById(userId); - } - - /** - * 批量删除用户信息 - * - * @param userIds 需要删除的用户ID - * @return 结果 - */ - @Override - @Transactional - public int deleteUserByIds(Long[] userIds) - { - for (Long userId : userIds) - { - checkUserAllowed(new SysUser(userId)); - checkUserDataScope(userId); - } - // 删除用户与角色关联 - userRoleMapper.deleteUserRole(userIds); - // 删除用户与岗位关联 - userPostMapper.deleteUserPost(userIds); - return userMapper.deleteUserByIds(userIds); - } - - /** - * 导入用户数据 - * - * @param userList 用户数据列表 - * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @param operName 操作用户 - * @return 结果 - */ - @Override - public String importUser(List userList, Boolean isUpdateSupport, String operName) - { - if (StringUtils.isNull(userList) || userList.size() == 0) - { - throw new ServiceException("导入用户数据不能为空!"); - } - int successNum = 0; - int failureNum = 0; - StringBuilder successMsg = new StringBuilder(); - StringBuilder failureMsg = new StringBuilder(); - for (SysUser user : userList) - { - try - { - // 验证是否存在这个用户 - SysUser u = userMapper.selectUserByUserName(user.getUserName()); - if (StringUtils.isNull(u)) - { - BeanValidators.validateWithException(validator, user); - deptService.checkDeptDataScope(user.getDeptId()); - String password = configService.selectConfigByKey("sys.user.initPassword"); - user.setPassword(SecurityUtils.encryptPassword(password)); - user.setCreateBy(operName); - userMapper.insertUser(user); - successNum++; - successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 导入成功"); - } - else if (isUpdateSupport) - { - BeanValidators.validateWithException(validator, user); - checkUserAllowed(u); - checkUserDataScope(u.getUserId()); - deptService.checkDeptDataScope(user.getDeptId()); - user.setUserId(u.getUserId()); - user.setDeptId(u.getDeptId()); - user.setUpdateBy(operName); - userMapper.updateUser(user); - successNum++; - successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 更新成功"); - } - else - { - failureNum++; - failureMsg.append("
" + failureNum + "、账号 " + user.getUserName() + " 已存在"); - } - } - catch (Exception e) - { - failureNum++; - String msg = "
" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; - failureMsg.append(msg + e.getMessage()); - log.error(msg, e); - } - } - if (failureNum > 0) - { - failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); - throw new ServiceException(failureMsg.toString()); - } - else - { - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); - } - return successMsg.toString(); - } -} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/controller/AirplaneController.java b/djhk-system/src/main/java/com/djhk/uav/airspace/controller/AirplaneController.java new file mode 100644 index 0000000..101f05c --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/controller/AirplaneController.java @@ -0,0 +1,136 @@ +package com.djhk.uav.airspace.controller; + + + +import com.djhk.common.core.controller.BaseController; +import com.djhk.common.core.domain.AjaxResult; +import com.djhk.common.core.domain.model.LoginUser; +import com.djhk.common.core.page.TableDataInfo; +import com.djhk.common.utils.DateUtils; +import com.djhk.common.utils.SecurityUtils; +import com.djhk.uav.airspace.domain.AirplaneApply; +import com.djhk.uav.airspace.service.AirplaneService; +import com.djhk.uav.airspace.service.AirspaceWaypointService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.Date; +import java.util.List; + +import static com.djhk.common.utils.PageUtils.startPage; + +@RestController +@RequestMapping("/airplane") +@Slf4j +public class AirplaneController extends BaseController { + @Resource + private AirplaneService airplaneService; +// @Resource +// private RemoteUserService userService; + @Resource + private AirspaceWaypointService airplaneWaypointService; + + /** + * 查询飞行申请 + */ + @GetMapping("/list") + public TableDataInfo getList(AirplaneApply airplaneApply) + { +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (airplaneApply.getDeptId() == null) { + airplaneApply.setDeptId(loginUser.getDeptId()); + } + startPage(); + List list = airplaneService.selectAirplaneApplyList(airplaneApply); + return getDataTable(list); + } + + + /** + * 查询详情 + */ + @GetMapping(value = "/{airplaneApplyId}") + public AjaxResult selectAirplaneApplyById(@PathVariable Long airplaneApplyId){ + AirplaneApply airplaneApply = airplaneService.selectAirplaneApplyById(airplaneApplyId); + return AjaxResult.success(airplaneApply); + } + +// @PostMapping("/export") +// public void export(HttpServletResponse response, AirplaneApply airplaneApply) +// { +//// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +//// Long deptId = sysUser.getDeptId(); +//// airplaneApply.setDept(deptId); +//// List list = uavOperatorService.selectUavOperatorList(uavOperator); +//// ExcelUtil util = new ExcelUtil(UavOperator.class); +//// util.exportExcel(response, list, "申请空域数据"); +// +// List list = airplaneService.exportAirplaneApplyList(airplaneApply); +// ExcelUtil util = new ExcelUtil(AirplaneApplyExport.class); +// util.exportExcel(response, list, "申请空域数据"); +// } + + + /** + * 导出 + * @param response + * @param + */ + @PostMapping("/export") + public void export(HttpServletResponse response, Long id) throws Exception { +// List list = airplaneService.exportAirplaneApplyList(airplaneApply); +// ExcelUtil util = new ExcelUtil(AirplaneApplyExport.class); +// util.exportExcel(response, list, "申请空域数据") + + airplaneService.exportAirplaneApply(response,id); + } + + + /** + * 新增 + */ + @PostMapping + public AjaxResult add(@RequestBody AirplaneApply airplaneApply){ + logger.info("airplaneApply数据为:"+airplaneApply.toString()); + Date nowDate = DateUtils.getNowDate(); + airplaneApply.setCreateTime(nowDate); + LoginUser securityUser = SecurityUtils.getLoginUser(); + airplaneApply.setCreateBy(SecurityUtils.getUsername()); + airplaneApply.setDeptId(securityUser.getDeptId()); + if (airplaneApply.getSts().isEmpty()){ + airplaneApply.setSts("0"); + } + airplaneService.insertAirplaneApply(airplaneApply); + return AjaxResult.success(); + } + + /** + * 修改 + */ + @PutMapping + public AjaxResult edit(@RequestBody AirplaneApply airplaneApply){ + Date nowDate = DateUtils.getNowDate(); + airplaneApply.setUpdateTime(nowDate); + airplaneApply.setUpdateBy(SecurityUtils.getUsername()); + LoginUser securityUser = SecurityUtils.getLoginUser(); + if ( (SecurityUtils.getUsername() == airplaneApply.getCreateBy())&& (airplaneApply.getSts().equals("5") || airplaneApply.getSts().equals("4") )){ + return AjaxResult.success(airplaneService.updateAirplaneApply(airplaneApply)); + }else if (securityUser.getDeptId() == 1L){ + return AjaxResult.success(airplaneService.updateAirplaneApply(airplaneApply)); + }else { + return AjaxResult.error("该状态下禁止修改!"); + } + } + + /** + * 删除 + */ + @DeleteMapping(value = "/{airplaneApplyIds}") + public AjaxResult delete(@PathVariable Long[] airplaneApplyIds){ + return AjaxResult.success(airplaneService.deleteAirplaneApplyByIds(airplaneApplyIds)); + } + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/controller/AirspaceController.java b/djhk-system/src/main/java/com/djhk/uav/airspace/controller/AirspaceController.java new file mode 100644 index 0000000..b1eecc3 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/controller/AirspaceController.java @@ -0,0 +1,134 @@ +package com.djhk.uav.airspace.controller; + + + +import com.djhk.common.core.controller.BaseController; +import com.djhk.common.core.domain.AjaxResult; +import com.djhk.common.core.domain.model.LoginUser;; +import com.djhk.common.core.page.TableDataInfo; +import com.djhk.common.utils.DateUtils; +import com.djhk.common.utils.SecurityUtils; +import com.djhk.uav.airspace.domain.AirspaceApply; +import com.djhk.uav.airspace.service.AirspaceService; +import com.djhk.uav.airspace.service.AirspaceWaypointService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RestController +@RequestMapping("/airspace") +public class AirspaceController extends BaseController { + @Resource + private AirspaceService airspaceService; +// @Resource +// private RemoteUserService userService; + @Resource + private AirspaceWaypointService airspaceWaypointService; + + /** + * 查询空域申请 + */ + @GetMapping("/list") + public TableDataInfo getList(AirspaceApply airspaceApply) + { + startPage(); +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); + LoginUser securityUser = SecurityUtils.getLoginUser(); + airspaceApply.setCreateBy(SecurityUtils.getUsername()); + airspaceApply.setDeptId(securityUser.getDeptId()); + List list = airspaceService.selectAirspaceApplyList(airspaceApply); + return getDataTable(list); + } + + + /** + * 查询详情 + */ + @GetMapping(value = "/{airspaceApplyId}") + public AjaxResult selectAirspaceApplyById(@PathVariable Long airspaceApplyId){ + AirspaceApply airspaceApply = airspaceService.selectAirspaceApplyById(airspaceApplyId); +// List airspaceWaypoints = airspaceWaypointService.selectAirspaceWaypointList(airspaceApplyId); +// airspaceApply.setAirlineWaypointList(airspaceWaypoints); + return AjaxResult.success(airspaceApply); + } + + + /** + * 新增 + */ +// @PostMapping +// public AjaxResult add(@RequestBody AirspaceApply airspaceApply){ +// logger.info("airspaceApply数据为:"+airspaceApply.toString()); +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +// Date nowDate = DateUtils.getNowDate(); +// airspaceApply.setCreateTime(nowDate); +// airspaceApply.setCreateBy(sysUser.getUserName()); +//// airspaceApply.setSysDeptNo(sysUser.getDeptId()); +// airspaceService.insertAirspaceApply(airspaceApply); +// Long airspaceApplyId = airspaceService.selectAirspaceApplyId(); +// if (airspaceApply.getAirlineWaypointList() !=null && airspaceApply.getAirlineWaypointList().size()>0){ +// for (AirspaceWaypoint airspaceWaypoint : airspaceApply.getAirlineWaypointList()) { +// airspaceWaypoint.setAirspaceApplyId(airspaceApplyId); +// airspaceWaypointService.insertAirspaceWaypoint(airspaceWaypoint); +// } +// } +// return AjaxResult.success(); +// } + @PostMapping + public AjaxResult add(@RequestBody AirspaceApply airspaceApply){ + logger.info("airspaceApply数据为:"+airspaceApply.toString()); + Date nowDate = DateUtils.getNowDate(); + airspaceApply.setCreateTime(nowDate); + LoginUser securityUser = SecurityUtils.getLoginUser(); + airspaceApply.setCreateBy(SecurityUtils.getUsername()); + airspaceApply.setDeptId(securityUser.getDeptId()); +// airspaceApply.setSysDeptNo(sysUser.getDeptId()); +// airspaceService.insertAirspaceApply(airspaceApply); +// Long airspaceApplyId = airspaceService.selectAirspaceApplyId(); +// if (airspaceApply.getAirlineWaypointList() !=null && airspaceApply.getAirlineWaypointList().size()>0){ +// for (AirspaceWaypoint airspaceWaypoint : airspaceApply.getAirlineWaypointList()) { +// airspaceWaypoint.setAirspaceApplyId(airspaceApplyId); +// airspaceWaypointService.insertAirspaceWaypoint(airspaceWaypoint); +// } +// } + return AjaxResult.success(airspaceService.insertAirspaceApply(airspaceApply)); + } + + /** + * 修改 + */ +// @PutMapping +// public AjaxResult edit(@RequestBody AirspaceApply airspaceApply){ +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +// Date nowDate = DateUtils.getNowDate(); +// airspaceApply.setUpdateTime(nowDate); +// airspaceApply.setUpdateBy(sysUser.getUserName()); +// airspaceWaypointService.deleteAirspaceWaypointById(airspaceApply.getId()); +// if (airspaceApply.getAirlineWaypointList().size()>0){ +// for (AirspaceWaypoint airspaceWaypoint : airspaceApply.getAirlineWaypointList()) { +// airspaceWaypoint.setAirspaceApplyId(airspaceApply.getId()); +// airspaceWaypointService.insertAirspaceWaypoint(airspaceWaypoint); +// } +// } +// return AjaxResult.success(airspaceService.updateAirspaceApply(airspaceApply)); +// } + + @PutMapping + public AjaxResult edit(@RequestBody AirspaceApply airspaceApply){ + Date nowDate = DateUtils.getNowDate(); + airspaceApply.setUpdateTime(nowDate); + airspaceApply.setUpdateBy(SecurityUtils.getUsername()); + return AjaxResult.success(airspaceService.updateAirspaceApply(airspaceApply)); + } + + /** + * 删除 + */ + @DeleteMapping(value = "/{airspaceApplyIds}") + public AjaxResult delete(@PathVariable Long[] airspaceApplyIds){ + return AjaxResult.success(airspaceService.deleteAirspaceApplyByIds(airspaceApplyIds)); + } + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApply.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApply.java new file mode 100644 index 0000000..f41acce --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApply.java @@ -0,0 +1,131 @@ +package com.djhk.uav.airspace.domain; + +import com.djhk.common.annotation.Excel; +import com.djhk.common.annotation.Excels; +import com.djhk.common.core.domain.BaseEntity; +import com.djhk.common.core.domain.entity.SysDept; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class AirplaneApply extends BaseEntity { + + /** + * 主键序号 + */ + private Long id; + + /** + * 飞行申报名称 + */ + @Excel(name = "飞行申报名称") + private String name; + + /** + * 申请状态码 + */ + @Excel(name = "申请状态", readConverterExp = "0=发起申请,1=审批中 2=批准 3=不予批准") + private String sts; + + + /** + * 申请人联系方式 + */ + @Excel(name = "申请人联系方式") + private String tel; + + /** + * 类型 + */ + private String type; + /** + * 组织id + */ + private Long deptId; + + /** + * 任务性质 0 飞行任务 1 飞行训练 + */ + private String taskProp; + + + /** 计划飞行时间 */ +// @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "计划飞行时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date flyTime; + + /** + * 飞手列表 + */ + @Excel(name = "飞手列表") + private List uavOperators; + + /** + * 无人机列表 + */ + @Excel(name = "无人机列表") + private List uavInfos; + + /** + * 空域列表 + */ + @Excel(name = "空域列表") + private List airspaceApplies; + + /** 部门对象 */ + @Excels({ + @Excel(name = "部门名称", targetAttr = "deptName", type = Excel.Type.EXPORT), + @Excel(name = "部门负责人", targetAttr = "leader", type = Excel.Type.EXPORT) + }) + private SysDept dept; + + /** + * 申请空域名称 + */ + @Excel(name = "申请空域名称") + private List airspaceName; + + /** + * 申请无人机名称 + */ + @Excel(name = "申请无人机名称") + private List uavInfoName; + + /** + * 申请飞手 + */ + @Excel(name = "申请无人机名称") + private List uavOperatorName; + + + /** + * equCode + */ + private List airUAV; + + + /** + * 类型 + */ + private Boolean isShowStatus; + + + /** + * 申请附件 + */ + private String proUrl; + + /** + * 批复附件 + */ + private String finalUrl; + + /** + * 是否能修改 + */ + private String handle; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyAirplane.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyAirplane.java new file mode 100644 index 0000000..febc723 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyAirplane.java @@ -0,0 +1,28 @@ +package com.djhk.uav.airspace.domain; + +import com.djhk.common.core.domain.BaseEntity; +import lombok.Data; + +@Data +public class AirplaneApplyAirplane extends BaseEntity { + + /** + * 主键序号 + */ + private Long id; + + /** + * 飞行器ID + */ + private Long airplaneId; + + /** + * 申请飞行计划 + */ + private Long airplaneApplyId; + + /** + * 申请飞行计划 + */ + private String modelId; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyAirspace.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyAirspace.java new file mode 100644 index 0000000..f475693 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyAirspace.java @@ -0,0 +1,23 @@ +package com.djhk.uav.airspace.domain; + +import com.djhk.common.core.domain.BaseEntity; +import lombok.Data; + +@Data +public class AirplaneApplyAirspace extends BaseEntity { + + /** + * 主键序号 + */ + private Long id; + + /** + * 飞申请空域ID + */ + private Long airspaceId; + + /** + * 申请飞行计划ID + */ + private Long airplaneApplyId; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyExport.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyExport.java new file mode 100644 index 0000000..c81f1e3 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyExport.java @@ -0,0 +1,108 @@ +package com.djhk.uav.airspace.domain; + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; +import lombok.Data; + +@Data +public class AirplaneApplyExport extends BaseEntity { + + /** + * 主键序号 + */ + private Long id; + + /** + * 飞行申报名称 + */ + @Excel(name = "飞行申报名称") + private String name; + + /** + * 申请状态 + */ + @Excel(name = "申请状态", readConverterExp = "0=发起申请,1=审批中 2=批准 3=不予批准") + private String sts; + + + /** + * 任务性质 0 飞行任务 1 飞行训练 + */ + @Excel(name = "任务性质", readConverterExp = "0=飞行任务,1=飞行训练") + private String taskProp; + + /** + * 申报空域名称 + */ + @Excel(name = "申报空域名称") + private String airspaceNames; + + /** + * 申报空域经纬度 + */ + @Excel(name = "申报空域经纬度") + private String location; + + /** + * 申报空域高度 + */ + @Excel(name = "申报空域最低高度") + private String heightMin; + + /** + * 申报空域高度 + */ + @Excel(name = "申报空域最高高度") + private String heightMax; + /** + * 申报空域半径 + */ +// @Excel(name = "申报空域经纬度") +// private String radition; + + /** + * 开始时间 + */ + @Excel(name = "开始时间") + private String planBeg; + + /** + * 结束时间 + */ + @Excel(name = "结束时间") + private String planEnd; + + /** + * 申请无人机名称 + */ + @Excel(name = "申请无人机名称") + private String uavInfoNames; + + + /** + * 申请无人机警航编号 + */ +// @Excel(name = "申请无人机名称") + private String uavInfoNameCode; + + + /** + * 申请无人机唯一识别码 + */ +// @Excel(name = "申请无人机名称") + private String uavInfoNameQuSn; + + /** + * 飞手名字 + */ + @Excel(name = "申请飞手") + private String uavOperatorNames; + + /** + * 部门名称 + */ + @Excel(name = "部门名称") + private String deptName; + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyOperator.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyOperator.java new file mode 100644 index 0000000..b61dcba --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirplaneApplyOperator.java @@ -0,0 +1,24 @@ +package com.djhk.uav.airspace.domain; + +import com.djhk.common.core.domain.BaseEntity; +import lombok.Data; + +@Data +public class AirplaneApplyOperator extends BaseEntity { + + /** + * 主键序号 + */ + private Long id; + + + /** + * 飞手ID + */ + private Long operatorId; + + /** + * 申请飞行计划ID + */ + private Long airplaneApplyId; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirspaceApply.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirspaceApply.java new file mode 100644 index 0000000..8d63973 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirspaceApply.java @@ -0,0 +1,236 @@ +package com.djhk.uav.airspace.domain; + +import com.djhk.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class AirspaceApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键序号 + */ + private Long id; + + /** + * 申请时间 + */ + private String applyTime; + + /** + * 用户类型 + */ + private String userType; + + /** + * 申请人 + */ + private String userName; + + /** + * 单位类型 + */ + private String deptType; + + /** + * 统一社会信用代码 + */ + private String deptCode; + + /** + * 联系人姓名 + */ + private String deptPname; + + /** + * 联系人手机号码 + */ + private String phone; + + /** + * 电子邮箱 + */ + private String email; + + /** + * 飞行活动申请类型 + */ + private String planType; + + /** + * 预计飞行最大高度 + */ + private String maxHegiht; + + /** + * 开始时间 + */ + private String planBeg; + + /** + * 结束时间 + */ + private String planEnd; + + /** + * 通信联络方法 + */ + private String txll; + + /** + * 任务性质 + */ + private String taskType; + + /** + * 操控模式 + */ + private String optType; + + /** + * 飞行模式 + */ + private String flyType; + + /** + * 起降备降场地 + */ + private String remarkQjbj; + + /** + * 应急处置程序 + */ + private String remarkYjcz; + + /** + * 特殊飞行保障需求 + */ + private String remarkTsxq; + + /** + * 通导和被监视能力 + */ + private String remarkTdjn; + + /** + * 飞行速度和进出空域方法 + */ + private String remarkFxhx; + + /** + * 指挥控制链路无线电频率以及占用带宽 + */ + private String remarkZhkz; + + /** + * 二次雷达应答机或者有关自动监视设备代码 + */ + private String remarkEcld; + + /** + * 其他 + */ + private String remarkQtxx; + + /** + * 涉及的特殊飞行活动 + */ + private String six; + + /** + * 空域列表 + */ + private String spaces; + + /** + * 任务审批文件 + */ + private String files; + + /** + * 预审状态 + */ + private String applySts; + + /** + * 预审意见 + */ + private String applyDsc; + + /** + * 最大飞行高度 + */ + private String hightMax; + + /** + * 最小飞行高度 + */ + private String hightMin; + + /** + * 维度 + */ + private String lat; + + /** + * 经度 + */ + private String lng; + + /** + * 所属战区 + */ + private String militaryAreaName; + + /** + * 所属战区ID + */ + private String militaryAreaId; + + /** + * 空域名称 + */ + private String name; + + /** + * 飞行规则 + */ + private String flightRule; + + /** + * 空域类型 + */ + private String airspaceType; + + /** + * 空域性质 + */ + private String airspaceProp; + + /** + * 圆半径长度 + */ + private String radLength; + + + /** + * 开始时间时间 + */ + private String startTime; + + /** + * 结束时间 + */ + private String endTime; + + /** 空域范围点 */ +// @TableField(exist = false) + private List airlineWaypointList; + + private String uuid; + + private Long deptId; + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirspaceWaypoint.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirspaceWaypoint.java new file mode 100644 index 0000000..378c823 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/AirspaceWaypoint.java @@ -0,0 +1,106 @@ +package com.djhk.uav.airspace.domain; + + +import com.djhk.common.annotation.Excel; +import lombok.Data; + +@Data +public class AirspaceWaypoint { + private static final long serialVersionUID = 1L; + + /** 航线航点表主键 */ + @Excel(name = "参数主键", cellType = Excel.ColumnType.NUMERIC) + private Long id; + + /** 航线表主键 */ + @Excel(name = "航线表主键") + private Long airspaceApplyId; + + /** 经度 */ + @Excel(name = "经度") + private String lng; + + /** 维度 */ + @Excel(name = "维度") + private String lat; + + + + /** 是否使用全局高度 */ +// @Builder.Default + private Integer useGlobalHeight = 1; + + /** 高度 */ +// @Excel(name = "高度") + private Double height; + + /** 椭球高度WGS84 1 */ + private Double ellipsoidHeight = 10.0; + + /** 贴地高度 */ + private Double floorHeight; + + /** 是否使用全局飞行速度 */ +// @Builder.Default + private Integer useGlobalSpeed = 1; + + /** 航点飞行速度 1 */ + private Integer speed =1; + + /** 是否使用全局偏航角模式参数 */ +// @Builder.Default + private Integer useGlobalHeadingParam = 1; + + /** 偏航角模式参数 1 */ + /*followWayline:沿航线方向。飞行器机头沿着航线方向飞至下一航点 + manually:手动控制。飞行器在飞至下一航点的过程中,用户可以手动控制飞行器机头朝向 + fixed:锁定当前偏航角。飞行器机头保持执行完航点动作后的飞行器偏航角飞至下一航点 + smoothTransition:自定义。通过“wpml:waypointHeadingAngle”给定某航点的目标偏航角,并在航段飞行过程中均匀过渡至下一航点的目标偏航角。*/ +// @Builder.Default + private String waypointHeadingMode = "followWayline"; + + /** 是否使用全局航点类型(全局航点转弯模式) */ +// @Builder.Default + private Integer useGlobalTurnParam = 1; + + /** 航点类型(航点转弯模式) 1 */ + /*coordinateTurn:协调转弯,不过点,提前转弯 + toPointAndStopWithDiscontinuityCurvature:直线飞行,飞行器到点停 + toPointAndStopWithContinuityCurvature:曲线飞行,飞行器到点停 + toPointAndPassWithContinuityCurvature:曲线飞行,飞行器过点不停*/ +// @Builder.Default + private String waypointTurnMode = "coordinateTurn"; + + /** 航点类型 */ + @Excel(name = "航点类型") + private String type; + + /** 航点类型名称 */ + @Excel(name = "航点类型名称") + private String typeName; + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + /** 航点索引 */ + private Integer seq; + + /** 飞到当前航点偏航角 */ + private Integer waypointHeadingAngle; + + /** 飞行器旋转方向 */ + /* clockwise:顺时针旋转飞行器偏航角 + counterClockwise:逆时针旋转飞行器偏航角 + followBadArc:沿最短路径旋转飞行器偏航角*/ +// @Builder.Default + private String waypointHeadingPathMode = "followBadArc"; + + + /** 航点转弯截距 1 */ + private Integer waypointTurnDampingDist = 6; + + +// @TableField(exist = false) + private String wkt; + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/UavInfo.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/UavInfo.java new file mode 100644 index 0000000..6c82088 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/UavInfo.java @@ -0,0 +1,217 @@ +package com.djhk.uav.airspace.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 无人机信息维护实体 uav_info + * + * @author jiachengshuai + * @date 2022-08-25 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UavInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 无人机信息表主键 */ + private Long id; + + /** 企业id */ + private Long deptId; + + /** 企业名称 */ + private String deptName; + + /** 无人机编号 */ + @Excel(name = "无人机编号") + private String uavNum; + + /** 无人机子编号 */ + private String childUavNum; + + /** 无人机名称 */ + @Excel(name = "无人机名称") + private String uavName; + + /** 机号 */ + @Excel(name = "无人机机号") + private String machineNum; + + /** 机型 */ + @Excel(name = "机型") + private String uavType; + + /** 机型名称 */ + private String uavTypeName; + + /** 子类型 */ + private Integer subType; + + /** 装载方式 */ + private Integer loadMode; + + /*domain 表示一个领域,作为一个命名空间,暂时分为: + 飞机类-0 + 负载类-1 + 遥控器类-2 + 机场类-3*/ + private Integer domain; + + /** 来源 */ + private Integer origin; + + /** 机型简介 */ + @Excel(name = "机型简介") + private String briefIntroduction; + + /** 图片路径 */ +// @Excel(name = "图片路径") + private String picture; + + /** 动态模型(文件表id) */ +// @Excel(name = "动态模型", readConverterExp = "文=件表id") + private String dynamicModel; + + /** 静态模型(文件表id) */ +// @Excel(name = "静态模型", readConverterExp = "文=件表id") + private String staticModel; + + /** 状态(待定) */ +// @Excel(name = "状态", readConverterExp = "待=定") + private String uavStatus; + + /** 健康状态 */ + private String healthStatus; + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + /** 最大起飞总量 */ + private String mtow; + + /** 最大可承受风速 */ + private String maxWindSpeed; + + /** 续航时间 */ + private String endurance; + + /** 最大飞行高度 */ + private String ceiling; + + /** 最大续航里程 */ + private String mileage; + + /** appId */ + private String appId; + + /** 操作方式 0 在库 1 出库 */ + private Integer operationMode; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date loginTime; + + + private List loadIdList; + + + private String loadId; + + /** 无人机能力 */ + + private String abilityName; + + /** 无人机能力集合 */ + + private List abilityNames; + + + private Long flightPlanId; + + /** 负载名称(多个已,隔开) */ + + private String loadName; + + /** 无人机能力集合 */ + + private List loadNames; + + + private String pictureURL; + + + private Map pictureMap; + + /** 动态模型(文件表id) */ + + private Map dynamicModelMap; + + /** 静态模型(文件表id) */ + + private Map staticModelMap; + + + private List child; + + /** 无人机上线状态 */ + + private Integer onlineStatus; + + /** 无人机机型名称 */ + + private String deviceName; + + + /** 经度 */ + + private Double longitude; + + /** 纬度 */ + + private Double latitude; + + /** 计划名称 */ + + private String flightPlanName; + + + + private String flightPlanNo; + + + + private Long orgId; + + private Long createById; + + + private List domains; + + @Excel(name = "固件版本号") + private String firmwareVersion; + + + + private Integer parentDomain; + + /** 起飞点经度 */ + private Double takeOffLongitude; + + /** 起飞点纬度 */ + private Double takeOffLatitude; + + /** 起飞点海拔高度 */ + private Double takeOffHeight; + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/domain/UavOperator.java b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/UavOperator.java new file mode 100644 index 0000000..a46df54 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/domain/UavOperator.java @@ -0,0 +1,152 @@ +package com.djhk.uav.airspace.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 飞手管理对象 uav_operator + * + * @author jiachengshuai + * @date 2022-08-30 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class UavOperator extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 无人机飞手管理表主键 */ + private Long id; + + /** 用户表主键 */ + private Long userId; + + /** 姓名 */ + @Excel(name = "姓名") + private String userName; + + /** 警号 */ + @Excel(name = "警号") + private String policeNo; + + /** 性别(0:男 1:女) */ + @Excel(name = "性别", readConverterExp = "0=男,1=女") + private String sex; + + /** 出生日期 */ + @Excel(name = "出生日期") + private String celebrateDate; + + /** 所属部门 */ + @Excel(name = "所属部门") + private String deptName; + + /** 警察类型(0:民警 1:辅警) */ + @Excel(name = "警察类型", readConverterExp = "0=民警,1=辅警") + private String policeType; + + /** 岗位类型 */ + @Excel(name = "岗位类型",readConverterExp = "0=警务应用,1=技术防控,2=指挥人员") + private String jobType; + + /** 证书类型 */ + @Excel(name = "证书类型",readConverterExp = "0=警航证书A1,1=警航证书B1,2=警航证书A2,3=警航证书B2,4=警航证书C,5=CAAC固定翼,6=CAAC多旋翼,7=CAAC垂起固定翼,8=CAAC直升机") + private String certificateType; + + /** 证书编号 */ + @Excel(name = "证书编号") + private String certificateNo; + + /** 飞手联系方式 */ + @Excel(name = "飞手联系方式") + private String tel; + + /** 备注 */ + @Excel(name = "备注") + private String remark; + + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + + /** 最后一次执行任务时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") +// @Excel(name = "最后一次执行任务时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date planTime; + + private String status; + + /** 邮箱 */ +// @Excel(name = "邮箱") + private String email; + + /** 飞手类型 */ +// @Excel(name = "飞手类型",readConverterExp = "0=多旋翼飞手,1=固定翼飞手,2=直升机飞手,3=其他") + private String operatorType; + + /** 证书名称 */ +// @Excel(name = "证书名称") + private String certificateName; + + + /** 证书文件id */ +// @Excel(name = "证书文件id") + private String certificateFileId; + + /** 场景分类 */ +// @Excel(name = "场景分类") + private String sceneType; + + /** 场景名称 */ +// @Excel(name = "场景名称") + private String sceneName; + + /** 应用id */ + private String appId; + + /** 组织id */ + private Long orgId; + + /** 圖片url */ + private String picUrl; + + private List celebrateDateRage; + + /** 能力名称 */ + + private String abilityName; + + /** 能力名称 */ + + private String appName; + + + private List abilityNameList; + + + + private Map certificateMap; + + + private MultipartFile file; + + + private String certificateFilePath; + + + private List operatorTypeList; + + + private List operatorTypes; + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneAirspaceMapper.java b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneAirspaceMapper.java new file mode 100644 index 0000000..348c0ea --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneAirspaceMapper.java @@ -0,0 +1,38 @@ +package com.djhk.uav.airspace.mapper; + + + + +import com.djhk.uav.airspace.domain.AirplaneApplyAirspace; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface AirplaneAirspaceMapper { + + + /** + * 查询飞行申请空域列表 + * @return 飞行申请空域集合 + */ + public List selectAirplaneAirspaceApplyList(Long airplaneApplyId); + + /** + * 新增飞行申请空域 + * + * @param airplaneApply 飞行申请空域 + * @return 结果 + */ + public int insertAirplaneAirspaceApply(AirplaneApplyAirspace airplaneApply); + + + /** + * 删除飞行申请空域 + * + * @param airplaneApplyId 飞行申请空域主键 + * @return 结果 + */ + public int deleteAirplaneAirspaceApplyByAirspaceId(Long airplaneApplyId); + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneFlyMapper.java b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneFlyMapper.java new file mode 100644 index 0000000..e491936 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneFlyMapper.java @@ -0,0 +1,38 @@ +package com.djhk.uav.airspace.mapper; + + + + +import com.djhk.uav.airspace.domain.AirplaneApplyAirplane; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface AirplaneFlyMapper { + + + /** + * 查询飞行申请飞行器列表 + * @return 飞行申请飞行器集合 + */ + public List selectAirplaneFlyApplyList(Long airplaneApplyId); + + /** + * 新增飞行申请飞行器 + * + * @param airplaneApply 飞行申请飞行器 + * @return 结果 + */ + public int insertAirplaneFlyApply(AirplaneApplyAirplane airplaneApply); + + + /** + * 删除飞行申请飞行器 + * + * @param airplaneApplyId 飞行申请飞行器主键 + * @return 结果 + */ + public int deleteAirplaneFlyApplyByFlyId(Long airplaneApplyId); + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneMapper.java b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneMapper.java new file mode 100644 index 0000000..ac7162e --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneMapper.java @@ -0,0 +1,67 @@ +package com.djhk.uav.airspace.mapper; + + + +import com.djhk.uav.airspace.domain.AirplaneApply; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface AirplaneMapper { + + /** + * 查询飞行申请 + * + * @param id 飞行申请主键 + * @return 飞行申请 + */ + public AirplaneApply selectAirplaneApplyById(Long id); + + /** + * 查询飞行申请的最新id + * + * @return id 飞行申请主键 + */ + public AirplaneApply selectAirplaneApplyId(); + + + /** + * 查询飞行申请列表 + * @return 飞行申请集合 + */ + public List selectAirplaneApplyList(AirplaneApply airplaneApply); + public List selectAirplaneApplyLists(AirplaneApply airplaneApply); + + /** + * 新增飞行申请 + * + * @param airplaneApply 飞行申请 + * @return 结果 + */ + public int insertAirplaneApply(AirplaneApply airplaneApply); + + /** + * 修改飞行申请 + * + * @param airplaneApply 飞行申请 + * @return 结果 + */ + public int updateAirplaneApply(AirplaneApply airplaneApply); + + /** + * 删除飞行申请 + * + * @param id 飞行申请主键 + * @return 结果 + */ + public int deleteAirplaneApplyById(Long id); + + /** + * 批量删除飞行申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAirplaneApplyByIds(Long[] ids); +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneOperatorMapper.java b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneOperatorMapper.java new file mode 100644 index 0000000..12577a4 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirplaneOperatorMapper.java @@ -0,0 +1,37 @@ +package com.djhk.uav.airspace.mapper; + + + +import com.djhk.uav.airspace.domain.AirplaneApplyOperator; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface AirplaneOperatorMapper { + + + /** + * 查询飞行申请飞手列表 + * @return 飞行申请飞手集合 + */ + public List selectAirplaneOperatorApplyList(Long airplaneApplyId); + + /** + * 新增飞行申请飞手 + * + * @param airplaneApply 飞行申请飞手 + * @return 结果 + */ + public int insertAirplaneOperatorApply(AirplaneApplyOperator airplaneApply); + + + /** + * 删除飞行申请飞手 + * + * @param airplaneApplyOperatorId 飞行申请飞手主键 + * @return 结果 + */ + public int deleteAirplaneApplyByOperatorId(Long airplaneApplyOperatorId); + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirspaceMapper.java b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirspaceMapper.java new file mode 100644 index 0000000..68ecd3a --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirspaceMapper.java @@ -0,0 +1,66 @@ +package com.djhk.uav.airspace.mapper; + + + +import com.djhk.uav.airspace.domain.AirspaceApply; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface AirspaceMapper { + + /** + * 查询空域申请 + * + * @param id 空域申请主键 + * @return 空域申请 + */ + public AirspaceApply selectAirspaceApplyById(Long id); + + /** + * 查询空域申请 + * + * @return id 空域申请主键 + */ + public Long selectAirspaceApplyId(); + + + /** + * 查询空域申请列表 + * @return 空域申请集合 + */ + public List selectAirspaceApplyList(AirspaceApply airspaceApply); + + /** + * 新增空域申请 + * + * @param airspaceApply 空域申请 + * @return 结果 + */ + public int insertAirspaceApply(AirspaceApply airspaceApply); + + /** + * 修改空域申请 + * + * @param airspaceApply 空域申请 + * @return 结果 + */ + public int updateAirspaceApply(AirspaceApply airspaceApply); + + /** + * 删除空域申请 + * + * @param id 空域申请主键 + * @return 结果 + */ + public int deleteAirspaceApplyById(Long id); + + /** + * 批量删除空域申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAirspaceApplyByIds(Long[] ids); +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirspaceWaypointMapper.java b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirspaceWaypointMapper.java new file mode 100644 index 0000000..ab1e1c9 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/mapper/AirspaceWaypointMapper.java @@ -0,0 +1,49 @@ +package com.djhk.uav.airspace.mapper; + + +import com.djhk.uav.airspace.domain.AirspaceWaypoint; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface AirspaceWaypointMapper{ + /** + * 查询空域申请 + * + * @param id 空域申请主键 + * @return 空域申请 + */ + public AirspaceWaypoint selectAirspaceWaypointById(Long id); + + /** + * 查询空域申请列表 + * @return 空域申请集合 + */ + public List selectAirspaceWaypointList(Long airspaceApplyId); + + /** + * 新增空域申请 + * + * @param AirspaceWaypoint 空域申请 + * @return 结果 + */ + public int insertAirspaceWaypoint(AirspaceWaypoint AirspaceWaypoint); + + + /** + * 删除空域申请 + * + * @param id 空域申请主键 + * @return 结果 + */ + public int deleteAirspaceWaypointById(Long id); + + /** + * 批量删除空域申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAirspaceWaypointByIds(Long[] ids); +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirplaneService.java b/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirplaneService.java new file mode 100644 index 0000000..f52e87d --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirplaneService.java @@ -0,0 +1,75 @@ +package com.djhk.uav.airspace.service; + + + +import com.djhk.uav.airspace.domain.AirplaneApply; +import com.djhk.uav.airspace.domain.AirplaneApplyExport; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +public interface AirplaneService { + + /** + * 查询空域申请 + * + * @param id 空域申请主键 + * @return 空域申请 + */ + public AirplaneApply selectAirplaneApplyById(Long id); + + /** + * 查询才新增申请的id + * @return + */ +// public Long selectAirplaneApplyId(); + + /** + * 查询空域申请列表 + * + * @return 空域申请集合 + */ + public List selectAirplaneApplyList(AirplaneApply airplaneApply); + + /** + * 导出空域申请列表 + * + * @return 导出空域申请集合 + */ + public List exportAirplaneApplyList(AirplaneApply airplaneApply); + + + public void exportAirplaneApply(HttpServletResponse response, Long id) throws Exception; + + /** + * 新增空域申请 + * + * @param airplaneApply 空域申请 + * @return 结果 + */ + public int insertAirplaneApply(AirplaneApply airplaneApply); + + /** + * 修改空域申请 + * + * @param airplaneApply 空域申请 + * @return 结果 + */ + public int updateAirplaneApply(AirplaneApply airplaneApply); + + /** + * 删除空域申请 + * + * @param id 空域申请主键 + * @return 结果 + */ + public int deleteAirplaneApplyById(Long id); + + /** + * 批量删除空域申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAirplaneApplyByIds(Long[] ids); +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirspaceService.java b/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirspaceService.java new file mode 100644 index 0000000..2fd5b3b --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirspaceService.java @@ -0,0 +1,58 @@ +package com.djhk.uav.airspace.service; + + +import com.djhk.uav.airspace.domain.AirspaceApply; + +import java.util.List; + +public interface AirspaceService { + + /** + * 查询空域申请 + * + * @param id 空域申请主键 + * @return 空域申请 + */ + public AirspaceApply selectAirspaceApplyById(Long id); + + public Long selectAirspaceApplyId(); + + /** + * 查询空域申请列表 + * + * @return 空域申请集合 + */ + public List selectAirspaceApplyList(AirspaceApply airspaceApply); + + /** + * 新增空域申请 + * + * @param airspaceApply 空域申请 + * @return 结果 + */ + public int insertAirspaceApply(AirspaceApply airspaceApply); + + /** + * 修改空域申请 + * + * @param airspaceApply 空域申请 + * @return 结果 + */ + public int updateAirspaceApply(AirspaceApply airspaceApply); + + /** + * 删除空域申请 + * + * @param id 空域申请主键 + * @return 结果 + */ + public int deleteAirspaceApplyById(Long id); + + /** + * 批量删除空域申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAirspaceApplyByIds(Long[] ids); +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirspaceWaypointService.java b/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirspaceWaypointService.java new file mode 100644 index 0000000..1d519ad --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/service/AirspaceWaypointService.java @@ -0,0 +1,48 @@ +package com.djhk.uav.airspace.service; + + +import com.djhk.uav.airspace.domain.AirspaceWaypoint; + +import java.util.List; + +public interface AirspaceWaypointService { + + /** + * 查询空域申请 + * + * @param id 空域申请主键 + * @return 空域申请 + */ + public AirspaceWaypoint selectAirspaceWaypointById(Long id); + + /** + * 查询空域申请列表 + * + * @return 空域申请集合 + */ + public List selectAirspaceWaypointList(Long airspaceApplyId); + + /** + * 新增空域申请 + * + * @param AirspaceWaypoint 空域申请 + * @return 结果 + */ + public int insertAirspaceWaypoint(AirspaceWaypoint AirspaceWaypoint); + + /** + * 删除空域申请 + * + * @param id 空域申请主键 + * @return 结果 + */ + public int deleteAirspaceWaypointById(Long id); + + /** + * 批量删除空域申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAirspaceWaypointByIds(Long[] ids); +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirplaneImpl.java b/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirplaneImpl.java new file mode 100644 index 0000000..3c50b42 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirplaneImpl.java @@ -0,0 +1,617 @@ +package com.djhk.uav.airspace.service.impl; + +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.djhk.common.core.domain.entity.SysDept; +import com.djhk.common.core.domain.entity.SysDictData; +import com.djhk.common.core.domain.entity.SysUser; +import com.djhk.common.utils.DictUtils; +import com.djhk.common.utils.SecurityUtils; +import com.djhk.common.utils.StringUtils; +import com.djhk.system.service.ISysDeptService; +import com.djhk.system.service.ISysUserService; +import com.djhk.uav.airspace.domain.*; +import com.djhk.uav.airspace.mapper.AirplaneAirspaceMapper; +import com.djhk.uav.airspace.mapper.AirplaneFlyMapper; +import com.djhk.uav.airspace.mapper.AirplaneMapper; +import com.djhk.uav.airspace.mapper.AirplaneOperatorMapper; +import com.djhk.uav.airspace.service.AirplaneService; +import com.djhk.uav.airspace.service.AirspaceService; +import com.djhk.uav.airspace.service.AirspaceWaypointService; +import com.djhk.uav.equ.domain.EquInfoEntity; +import com.djhk.uav.equ.service.EquInfoService; +import com.djhk.uav.label.domain.Plotting; +import com.djhk.uav.label.mapper.PlottingMappers; +import com.djhk.uav.label.service.LabelService; +import com.djhk.uav.uav.service.IUavOperatorService; +//import com.djhk.uav.utils.ExportWord; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +//import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Service +public class AirplaneImpl implements AirplaneService { + + @Autowired + private AirplaneMapper airplaneMapper; + @Autowired + private AirplaneFlyMapper airplaneFlyMapper; + @Autowired + private AirplaneAirspaceMapper airspaceMapper; + @Autowired + private AirplaneOperatorMapper airplaneOperatorMapper; + @Resource + private IUavOperatorService uavOperatorService; +// @Autowired +// private RemoteDeptService remoteDeptService; + + @Autowired + private ISysDeptService deptService; + @Autowired + private ISysUserService userService; + + @Autowired + private EquInfoService equInfoService; +// @Autowired +// private RemoteUserService userService; + @Resource + private AirspaceService airspaceService; + @Resource + private AirspaceWaypointService airspaceWaypointService; +// @Autowired +// FreeMarkerConfigurer freeMarkerConfigurer; + @Autowired + private LabelService labelService; + @Autowired + private PlottingMappers plottingMapper; + + + + + + + /** + * 跟根据id查询申请详情 + * @param id 空域申请主键 + * @return + */ + @Override + public AirplaneApply selectAirplaneApplyById(Long id) { + AirplaneApply airplaneApply = airplaneMapper.selectAirplaneApplyById(id); +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +// Boolean S= "admin".equals(sysUser.getUserName()); + if ("admin".equals(SecurityUtils.getUsername()) || "CQSGAJ".equals(SecurityUtils.getUsername())){ + airplaneApply.setIsShowStatus(true); + }else { + airplaneApply.setIsShowStatus(false); + } + List equCodes = new ArrayList<>(); + // 根据飞行申请查询该飞行申请的关联飞行器主键 + List airplaneApplyAirplanes = airplaneFlyMapper.selectAirplaneFlyApplyList(id); + for (int i = 0; i < airplaneApplyAirplanes.size(); i++) { + EquInfoEntity equInfoEntity = equInfoService.selectEquInfoById(airplaneApplyAirplanes.get(i).getAirplaneId().toString()); + + if (equInfoEntity != null) { + try { + List sysDictDataList = DictUtils.getDictDataByType("equ_model_info"); + + // modelId转 + if (sysDictDataList != null) { + for (SysDictData sysDictData : sysDictDataList) { + if (StringUtils.equals(equInfoEntity.getModelId(), String.valueOf(sysDictData.getDictValue()))) { + equInfoEntity.setModelId(sysDictData.getDictLabel()); + break; + } + } + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + + } + equCodes.add(equInfoEntity.getModelId()); + } + airplaneApply.setUavInfoName(equCodes); + // 根据飞行申请查询该飞行申请的关联飞手主键 + List uavOperators = new ArrayList<>(); + List airplaneApplyOperators = airplaneOperatorMapper.selectAirplaneOperatorApplyList(id); + for (int i = 0; i < airplaneApplyOperators.size(); i++) { + UavOperator uavOperator = uavOperatorService.selectUavOperatorById(airplaneApplyOperators.get(i).getOperatorId()); + uavOperators.add(uavOperator.getUserName()); + } + airplaneApply.setUavOperatorName(uavOperators); + // 根据飞行申请查询该飞行申请的关联空域 + List airspaces = new ArrayList<>(); + List airplaneApplyAirspaces = airspaceMapper.selectAirplaneAirspaceApplyList(id); + for (int i = 0; i < airplaneApplyAirspaces.size(); i++) { + AirspaceApply airspaceApply = airspaceService.selectAirspaceApplyById(airplaneApplyAirspaces.get(i).getAirspaceId()); + airspaces.add(airspaceApply.getName()); + } + airplaneApply.setAirspaceName(airspaces); + return airplaneApply; + } + + + /** + * 查询才新增申请的id + * @return + */ +// @Override +// public Long selectAirplaneApplyId() { +// return airplaneMapper.selectAirplaneApplyId(); +// } + + + /** + * 查询列表 + * @param airplaneApply + * @return + */ + @Override + public List selectAirplaneApplyList(AirplaneApply airplaneApply) { + List list = airplaneMapper.selectAirplaneApplyList(airplaneApply); + if (list.size()>0){ + for (int i = 0; i < list.size(); i++) { +// SysDept dept = remoteDeptService.getDeptInfo(list.get(i).getDeptId() , "inner").getData(); +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); + SysDept dept = deptService.selectDeptById(list.get(i).getDeptId()); + list.get(i).setDept(dept); + if (list.get(i).getCreateBy() == SecurityUtils.getUsername() && list.get(i).getSts().equals("4")){ + list.get(i).setHandle("1"); + } + if (SecurityUtils.getDeptId() == 1L){ + list.get(i).setHandle("1"); + } + } + } + return list; + } + + @Override + public void exportAirplaneApply(HttpServletResponse response, Long id) throws Exception { + + AirplaneApply apply = airplaneMapper.selectAirplaneApplyById(id); + Map dataMap = new HashMap<>(); + // 部门名称 +// SysDept dept = remoteDeptService.getDeptInfo(apply.getDeptId(), "inner").getData(); +// dataMap.put("deptName",dept.getDeptName()); + SysDept dept = deptService.selectDeptById(SecurityUtils.getDeptId()); + dataMap.put("deptName",dept.getDeptName()); + // 任务性质 0=飞行任务,1=飞行训练 + if(apply.getTaskProp()=="0"){ + dataMap.put("taskProp","飞行任务"); + }else { + dataMap.put("taskProp","飞行训练"); + } + // 申请飞手 + List uavOperators = new ArrayList<>(); + List airplaneApplyOperators = airplaneOperatorMapper.selectAirplaneOperatorApplyList(apply.getId()); + String operator = null; + if (airplaneApplyOperators.size()>0){ + for (int i = 0; i < airplaneApplyOperators.size(); i++) { + UavOperator uavOperator = uavOperatorService.selectUavOperatorById(airplaneApplyOperators.get(i).getOperatorId()); + uavOperators.add(uavOperator.getUserName()+":"+uavOperator.getTel()); + if (operator==null){ + operator = uavOperator.getUserName()+":"+uavOperator.getTel()+","; + }else { + operator = operator+uavOperator.getUserName()+":"+uavOperator.getTel()+","; + } + } + } +// dataMap.put("operator",uavOperators.toString()); + dataMap.put("operator",operator); + // 申请无人机 + // 根据飞行申请查询该飞行申请的关联飞行器主键 + List equCode = new ArrayList<>(); + List airplaneApplyAirplanes = airplaneFlyMapper.selectAirplaneFlyApplyList(apply.getId()); + String equ =null; + if (airplaneApplyAirplanes.size()>0){ + for (int i = 0; i < airplaneApplyAirplanes.size(); i++) { + EquInfoEntity equInfoEntity = equInfoService.selectEquInfoById(airplaneApplyAirplanes.get(i).getAirplaneId().toString()); + if (equInfoEntity != null) { + try { + List sysDictDataList = DictUtils.getDictDataByType("equ_model_info"); + + // modelId转 + if (sysDictDataList != null) { + for (SysDictData sysDictData : sysDictDataList) { + if (StringUtils.equals(equInfoEntity.getModelId(), String.valueOf(sysDictData.getDictValue()))) { + equInfoEntity.setModelId(sysDictData.getDictLabel()); + break; + } + } + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + + } + equCode.add(equInfoEntity.getModelId()+":"+equInfoEntity.getEquSn()); + if (equ==null){ + equ=equInfoEntity.getModelId()+":"+equInfoEntity.getEquSn()+","; + }else { + equ=equInfoEntity.getModelId()+":"+equInfoEntity.getEquSn()+","+equ; + } + + } + } + +// dataMap.put("uav",equCode.toString()); + dataMap.put("uav",equ); + + + // 申请空域 + List location = new ArrayList<>(); + List planBeg = new ArrayList<>(); + List planEnd = new ArrayList<>(); + List heightMin = new ArrayList<>(); + List heightMax = new ArrayList<>(); + String rad = null; + List airplaneApplyAirspaces = airspaceMapper.selectAirplaneAirspaceApplyList(apply.getId()); + if (airplaneApplyAirspaces.size()>0){ + for (int i = 0; i < airplaneApplyAirspaces.size(); i++) { + AirspaceApply airspaceApply = airspaceService.selectAirspaceApplyById(airplaneApplyAirspaces.get(i).getAirspaceId()); + planBeg.add(airspaceApply.getPlanBeg()); + planEnd.add(airspaceApply.getPlanEnd()); + heightMin.add(airspaceApply.getHightMin()); + heightMax.add(airspaceApply.getHightMax()); + Plotting plotting = plottingMapper.selectPlottingByUUId(airspaceApply.getUuid()); + JSONObject json = JSONObject.parseObject(plotting.getData()); + JSONArray jsonArray = json.getJSONObject("geometry").getJSONArray("coordinates"); + if(("1").equals(airspaceApply.getAirspaceType())){ + Object jsonRad = json.getJSONObject("properties").getJSONObject("style").get("radius"); + if (rad ==null){ + rad="以("+jsonArray.get(0)+","+jsonArray.get(1)+")为圆心,半径为"+jsonRad+"米的圆形区域,"; + }else { + rad=rad+"以("+jsonArray.get(0)+","+jsonArray.get(1)+")为圆心,半径为"+jsonRad+"米的圆形区域,"; + } +// if (rad ==null){ +// rad="以("+airspaceApply.getLng()+","+airspaceApply.getLat()+")为圆心,半径为"+airspaceApply.getRadLength()+"米的圆形区域,"; +// }else { +// rad=rad+"以("+airspaceApply.getLng()+","+airspaceApply.getLat()+")为圆心,半径为"+airspaceApply.getRadLength()+"米的圆形区域,"; +// } + }else { + String loc =""; + for (int i1 = 0; i1 < jsonArray.getJSONArray(0).size(); i1++) { + Object Lng = jsonArray.getJSONArray(0).getJSONArray(i1).get(0); + Object Lat = jsonArray.getJSONArray(0).getJSONArray(i1).get(1); + loc =loc +"("+Lng+","+Lat+"),"; + } + if (rad == null) { + rad =loc+"前述点连线范围内部区域,"; + }else { + rad =loc+"前述点连线范围内部区域,"+rad; + } + + + +// List airspaceWaypoints = airspaceWaypointService.selectAirspaceWaypointList(airspaceApply.getId()); +// String loc = "("+airspaceApply.getLng()+","+airspaceApply.getLat()+"),"; +// if (airspaceWaypoints.size()>0){ +// for (AirspaceWaypoint airspaceWaypoint : airspaceWaypoints) { +// loc =loc +"("+airspaceWaypoint.getLng()+","+airspaceWaypoint.getLat()+"),"; +// } +// if (rad == null) { +// rad =loc+"前述点连线范围内部区域,"; +// }else { +// rad =loc+"前述点连线范围内部区域,"+rad; +// } +// } + } + + } + } + dataMap.put("airspace",rad); + + // 计划时间 + // 计划起飞时间 + apply.getFlyTime(); + dataMap.put("time","开始时间:"+planBeg.get(0).toString()+",结束时间:"+planEnd.get(0).toString()); + dataMap.put("height","0~~~"+heightMax.get(0)+"米"); + + +// new ExportWord("UTF-8").exportDoc(response, "申请空域", "airspaceApply.ftl", dataMap, freeMarkerConfigurer); + } + + + /** + * 导出列表 + * @param airplaneApply + * @return + */ + @Override + public List exportAirplaneApplyList(AirplaneApply airplaneApply) { + List listAirplaneApply=new ArrayList<>(); + List list = airplaneMapper.selectAirplaneApplyList(airplaneApply); + + + if (list.size()>0){ + for (AirplaneApply apply : list) { + AirplaneApplyExport airplaneApplyExport = new AirplaneApplyExport(); + // 主键 + airplaneApplyExport.setId(apply.getId()); + // 部门名称 +// SysDept dept = remoteDeptService.getDeptInfo(apply.getDeptId() , "inner").getData(); + SysDept dept = deptService.selectDeptById(apply.getDeptId()); + airplaneApplyExport.setDeptName(dept.getDeptName()); + // 飞行申请名称 + airplaneApplyExport.setName(apply.getName()); + // 申请状态 + airplaneApplyExport.setSts(apply.getSts()); + // 任务性质 + airplaneApplyExport.setTaskProp(apply.getTaskProp()); + // 申请无人机 + // 根据飞行申请查询该飞行申请的关联飞行器主键 + List equCode = new ArrayList<>(); + List airplaneApplyAirplanes = airplaneFlyMapper.selectAirplaneFlyApplyList(apply.getId()); + for (int i = 0; i < airplaneApplyAirplanes.size(); i++) { + EquInfoEntity equInfoEntity = equInfoService.selectEquInfoById(airplaneApplyAirplanes.get(i).getAirplaneId().toString()); + equCode.add(equInfoEntity.getEquCode()+":"+equInfoEntity.getEquSn()+":"+equInfoEntity.getModelId()); + } + airplaneApplyExport.setUavInfoNames(equCode.toString()); + // 申请空域 + List airspaceName = new ArrayList<>(); + List location = new ArrayList<>(); + List planBeg = new ArrayList<>(); + List planEnd = new ArrayList<>(); + List heightMin = new ArrayList<>(); + List heightMax = new ArrayList<>(); + List airplaneApplyAirspaces = airspaceMapper.selectAirplaneAirspaceApplyList(apply.getId()); + for (int i = 0; i < airplaneApplyAirspaces.size(); i++) { + AirspaceApply airspaceApply = airspaceService.selectAirspaceApplyById(airplaneApplyAirspaces.get(i).getAirspaceId()); + airspaceName.add(airspaceApply.getName()); + planBeg.add(airspaceApply.getPlanBeg()); + planEnd.add(airspaceApply.getPlanEnd()); + heightMin.add(airspaceApply.getHightMin()); + heightMax.add(airspaceApply.getHightMax()); + List airspaceWaypoints = airspaceWaypointService.selectAirspaceWaypointList(airspaceApply.getId()); + for (AirspaceWaypoint airspaceWaypoint : airspaceWaypoints) { + String loc ="("+airspaceWaypoint.getLng()+","+airspaceWaypoint.getLat()+")"; + location.add(loc); + } + } + // 空域名称 + airplaneApplyExport.setAirspaceNames(airspaceName.toString()); + // 空域经纬度 + airplaneApplyExport.setLocation(location.toString()); + // 空域开始时间 + airplaneApplyExport.setPlanBeg(planBeg.toString()); + // 空域结束时间 + airplaneApplyExport.setPlanEnd(planEnd.toString()); + if (heightMin.size()>0){ + // 空域最高高度 + Double maxH = 0.0; + for (int i = 0; i < heightMax.size(); i++) { + } + airplaneApplyExport.setHeightMax(heightMax.get(0)); + // 空域最低高度 + airplaneApplyExport.setHeightMin(heightMin.get(0)); + } + // 申请飞手 + List uavOperators = new ArrayList<>(); + List airplaneApplyOperators = airplaneOperatorMapper.selectAirplaneOperatorApplyList(apply.getId()); + for (int i = 0; i < airplaneApplyOperators.size(); i++) { + UavOperator uavOperator = uavOperatorService.selectUavOperatorById(airplaneApplyOperators.get(i).getOperatorId()); + uavOperators.add(uavOperator.getUserName()+"-"+uavOperator.getPoliceNo()); + } + airplaneApplyExport.setUavOperatorNames(uavOperators.toString()); + + listAirplaneApply.add(airplaneApplyExport); + } + } + return listAirplaneApply; + } + + + /** + * 新增 + * @param airplaneApply 空域申请 + * @return + */ + @Override + public int insertAirplaneApply(AirplaneApply airplaneApply) { + int i= airplaneMapper.insertAirplaneApply(airplaneApply); + Long maxId = airplaneMapper.selectAirplaneApplyId().getId(); + // 根据飞行申请新增该飞行申请的关联飞行器主键 +// for (UavInfo uavInfo : airplaneApply.getUavInfos()) { +// AirplaneApplyAirplane airplaneApplyAirplane = null; +// airplaneApplyAirplane.setAirplaneApplyId(applyId); +// airplaneApplyAirplane.setAirplaneId(uavInfo.getId()); +// airplaneFlyMapper.insertAirplaneFlyApply(airplaneApplyAirplane); +// } +// for (String uavName : airplaneApply.getUavInfoName()) { +// EquInfoEntity equInfoEntity = new EquInfoEntity(); +// equInfoEntity.setModelId(uavName); +// log.info("uavName的值==============:{}",uavName); +//// List list = equInfoService.getEquInfoLists(equInfoEntity); +// List list = equInfoService.getEquInfos(equInfoEntity); +// log.info("list返回的值==============:{}",list); +// Long euqId = Long.valueOf(list.get(0).getEquId()); +// AirplaneApplyAirplane airplaneApplyAirplane = new AirplaneApplyAirplane(); +// airplaneApplyAirplane.setAirplaneApplyId(maxId); +// airplaneApplyAirplane.setAirplaneId(euqId); +// airplaneFlyMapper.insertAirplaneFlyApply(airplaneApplyAirplane); +// } + for (String equCode : airplaneApply.getAirUAV()) { + EquInfoEntity equInfoEntity = new EquInfoEntity(); + equInfoEntity.setEquCode(equCode); + log.info("equCode的值==============:{}",equCode); +// List list = equInfoService.getEquInfoLists(equInfoEntity); + List list = equInfoService.getEquInfos(equInfoEntity); + log.info("list返回的值==============:{}",list); + if (list.size()>0){ + Long euqId = Long.valueOf(list.get(0).getEquId()); + AirplaneApplyAirplane airplaneApplyAirplane = new AirplaneApplyAirplane(); + airplaneApplyAirplane.setAirplaneApplyId(maxId); + airplaneApplyAirplane.setAirplaneId(euqId); + airplaneFlyMapper.insertAirplaneFlyApply(airplaneApplyAirplane); + } + + } + // 根据飞行申请新增该飞行申请的关联飞手主键 +// for (UavOperator uavOperator : airplaneApply.getUavOperators()) { +// AirplaneApplyOperator airplaneApplyOperator = null; +// airplaneApplyOperator.setAirplaneApplyId(applyId); +// airplaneApplyOperator.setOperatorId(uavOperator.getId()); +// airplaneOperatorMapper.insertAirplaneOperatorApply(airplaneApplyOperator); +// } + for (String uavOperatorName : airplaneApply.getUavOperatorName()) { + UavOperator uavOperator = new UavOperator(); +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +// Long deptId = sysUser.getDeptId(); + Long deptId = SecurityUtils.getDeptId(); + uavOperator.setOrgId(deptId); + uavOperator.setUserName(uavOperatorName); + List list = uavOperatorService.selectUavOperatorList(uavOperator); + AirplaneApplyOperator airplaneApplyOperator = new AirplaneApplyOperator(); + airplaneApplyOperator.setAirplaneApplyId(maxId); + airplaneApplyOperator.setOperatorId(list.get(0).getId()); + airplaneOperatorMapper.insertAirplaneOperatorApply(airplaneApplyOperator); + } + // 根据飞行申请新增该飞行申请的关联空域主键 +// for (AirspaceApply airspaceApply : airplaneApply.getAirspaceApplies()) { +// AirplaneApplyAirspace airplaneApplyAirspace = null; +// airplaneApplyAirspace.setAirplaneApplyId(applyId); +// airplaneApplyAirspace.setAirspaceId(airspaceApply.getId()); +// airspaceMapper.insertAirplaneAirspaceApply(airplaneApplyAirspace); +// } + for (String airspaceName : airplaneApply.getAirspaceName()) { + AirspaceApply airspaceApply = new AirspaceApply(); +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +// airspaceApply.setCreateBy(sysUser.getUserName()); + airspaceApply.setName(airspaceName); + List list = airspaceService.selectAirspaceApplyList(airspaceApply); + AirplaneApplyAirspace airplaneApplyAirspace = new AirplaneApplyAirspace(); + airplaneApplyAirspace.setAirplaneApplyId(maxId); + airplaneApplyAirspace.setAirspaceId(list.get(0).getId()); + airspaceMapper.insertAirplaneAirspaceApply(airplaneApplyAirspace); + } + return i; + } + + /** + * 根据id更细数据 + * @param airplaneApply 空域申请 + * @return + */ + @Override + public int updateAirplaneApply(AirplaneApply airplaneApply) { + // 先删除原有的关联数据 + airplaneFlyMapper.deleteAirplaneFlyApplyByFlyId(airplaneApply.getId()); + airplaneOperatorMapper.deleteAirplaneApplyByOperatorId(airplaneApply.getId()); + airspaceMapper.deleteAirplaneAirspaceApplyByAirspaceId(airplaneApply.getId()); + // 根据飞行申请新增该飞行申请的关联飞行器主键 +// for (UavInfo uavInfo : airplaneApply.getUavInfos()) { +// AirplaneApplyAirplane airplaneApplyAirplane = null; +// airplaneApplyAirplane.setAirplaneApplyId(airplaneApply.getId()); +// airplaneApplyAirplane.setAirplaneId(uavInfo.getId()); +// airplaneFlyMapper.insertAirplaneFlyApply(airplaneApplyAirplane); +// } +// for (String uavName : airplaneApply.getUavInfoName()) { +// EquInfoEntity equInfoEntity = new EquInfoEntity(); +// equInfoEntity.setModelId(uavName); +// log.info("uavName的值==============:{}",uavName); +//// List list = equInfoService.getEquInfoLists(equInfoEntity); +// List list = equInfoService.getEquInfos(equInfoEntity); +// log.info("list返回的值==============:{}",list); +// Long euqId = Long.valueOf(list.get(0).getEquId()); +// AirplaneApplyAirplane airplaneApplyAirplane = new AirplaneApplyAirplane(); +// airplaneApplyAirplane.setAirplaneApplyId(airplaneApply.getId()); +// airplaneApplyAirplane.setAirplaneId(euqId); +// airplaneFlyMapper.insertAirplaneFlyApply(airplaneApplyAirplane); +// } + for (String equCode : airplaneApply.getAirUAV()) { + EquInfoEntity equInfoEntity = new EquInfoEntity(); + equInfoEntity.setEquCode(equCode); + log.info("equCode的值==============:{}",equCode); +// List list = equInfoService.getEquInfoLists(equInfoEntity); + List list = equInfoService.getEquInfos(equInfoEntity); + log.info("list返回的值==============:{}",list); + if (list.size()>0){ + Long euqId = Long.valueOf(list.get(0).getEquId()); + AirplaneApplyAirplane airplaneApplyAirplane = new AirplaneApplyAirplane(); + airplaneApplyAirplane.setAirplaneApplyId(airplaneApply.getId()); + airplaneApplyAirplane.setAirplaneId(euqId); + airplaneFlyMapper.insertAirplaneFlyApply(airplaneApplyAirplane); + } + + } + + // 根据飞行申请新增该飞行申请的关联飞手主键 +// for (UavOperator uavOperator : airplaneApply.getUavOperators()) { +// AirplaneApplyOperator airplaneApplyOperator = null; +// airplaneApplyOperator.setAirplaneApplyId(airplaneApply.getId()); +// airplaneApplyOperator.setOperatorId(uavOperator.getId()); +// airplaneOperatorMapper.insertAirplaneOperatorApply(airplaneApplyOperator); +// } + for (String uavOperatorName : airplaneApply.getUavOperatorName()) { + UavOperator uavOperator = new UavOperator(); +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +// Long deptId = sysUser.getDeptId(); + Long deptId = SecurityUtils.getDeptId(); + uavOperator.setOrgId(deptId); + uavOperator.setUserName(uavOperatorName); + List list = uavOperatorService.selectUavOperatorList(uavOperator); + AirplaneApplyOperator airplaneApplyOperator = new AirplaneApplyOperator(); + airplaneApplyOperator.setAirplaneApplyId(airplaneApply.getId()); + airplaneApplyOperator.setOperatorId(list.get(0).getId()); + airplaneOperatorMapper.insertAirplaneOperatorApply(airplaneApplyOperator); + } + // 根据飞行申请新增该飞行申请的关联空域主键 +// for (AirspaceApply airspaceApply : airplaneApply.getAirspaceApplies()) { +// AirplaneApplyAirspace airplaneApplyAirspace = null; +// airplaneApplyAirspace.setAirplaneApplyId(airplaneApply.getId()); +// airplaneApplyAirspace.setAirspaceId(airspaceApply.getId()); +// airspaceMapper.insertAirplaneAirspaceApply(airplaneApplyAirspace); +// } + for (String airspaceName : airplaneApply.getAirspaceName()) { + AirspaceApply airspaceApply = new AirspaceApply(); +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +// airspaceApply.setCreateBy(sysUser.getUserName()); + airspaceApply.setName(airspaceName); + List list = airspaceService.selectAirspaceApplyList(airspaceApply); + AirplaneApplyAirspace airplaneApplyAirspace = new AirplaneApplyAirspace(); + airplaneApplyAirspace.setAirplaneApplyId(airplaneApply.getId()); + airplaneApplyAirspace.setAirspaceId(list.get(0).getId()); + airspaceMapper.insertAirplaneAirspaceApply(airplaneApplyAirspace); + } + return airplaneMapper.updateAirplaneApply(airplaneApply); + } + + /** + * 根据id删除 + * @param id 空域申请主键 + * @return + */ + @Override + public int deleteAirplaneApplyById(Long id) { + return airplaneMapper.deleteAirplaneApplyById(id); + } + + /** + * 根据id批量删除 + * @param ids 需要删除的数据主键集合 + * @return + */ + @Override + public int deleteAirplaneApplyByIds(Long[] ids) { + for (Long id : ids) { + // 先删除原有的关联数据 + airplaneFlyMapper.deleteAirplaneFlyApplyByFlyId(id); + airplaneOperatorMapper.deleteAirplaneApplyByOperatorId(id); + airspaceMapper.deleteAirplaneAirspaceApplyByAirspaceId(id); + } + return airplaneMapper.deleteAirplaneApplyByIds(ids); + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirspaceImpl.java b/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirspaceImpl.java new file mode 100644 index 0000000..0ff5105 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirspaceImpl.java @@ -0,0 +1,67 @@ +package com.djhk.uav.airspace.service.impl; + + +import com.djhk.uav.airspace.domain.AirspaceApply; +import com.djhk.uav.airspace.domain.AirspaceWaypoint; +import com.djhk.uav.airspace.mapper.AirspaceMapper; +import com.djhk.uav.airspace.service.AirspaceService; +import com.djhk.uav.airspace.service.AirspaceWaypointService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Service +public class AirspaceImpl implements AirspaceService { + + @Resource + private AirspaceMapper airspaceMapper; + @Autowired + private AirspaceWaypointService airspaceWaypointService; + + + @Override + public AirspaceApply selectAirspaceApplyById(Long id) { + return airspaceMapper.selectAirspaceApplyById(id); + } + + @Override + public Long selectAirspaceApplyId() { + return airspaceMapper.selectAirspaceApplyId(); + } + + + @Override + public List selectAirspaceApplyList(AirspaceApply airspaceApply) { + List airspaceApplys = new ArrayList<>(); + List airspaceApplyList = airspaceMapper.selectAirspaceApplyList(airspaceApply); + for (AirspaceApply apply : airspaceApplyList) { + List airspaceWaypoints = airspaceWaypointService.selectAirspaceWaypointList(apply.getId()); + apply.setAirlineWaypointList(airspaceWaypoints); + airspaceApplys.add(apply); + } + return airspaceApplys; + } + + @Override + public int insertAirspaceApply(AirspaceApply airspaceApply) { + return airspaceMapper.insertAirspaceApply(airspaceApply); + } + + @Override + public int updateAirspaceApply(AirspaceApply airspaceApply) { + return airspaceMapper.updateAirspaceApply(airspaceApply); + } + + @Override + public int deleteAirspaceApplyById(Long id) { + return airspaceMapper.deleteAirspaceApplyById(id); + } + + @Override + public int deleteAirspaceApplyByIds(Long[] ids) { + return airspaceMapper.deleteAirspaceApplyByIds(ids); + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirspaceWaypointImpl.java b/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirspaceWaypointImpl.java new file mode 100644 index 0000000..1721ec8 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/airspace/service/impl/AirspaceWaypointImpl.java @@ -0,0 +1,44 @@ +package com.djhk.uav.airspace.service.impl; + + +import com.djhk.uav.airspace.domain.AirspaceWaypoint; +import com.djhk.uav.airspace.mapper.AirspaceWaypointMapper; +import com.djhk.uav.airspace.service.AirspaceWaypointService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class AirspaceWaypointImpl implements AirspaceWaypointService { + + @Resource + private AirspaceWaypointMapper airspaceWaypointMapper; + + + @Override + public AirspaceWaypoint selectAirspaceWaypointById(Long id) { + return airspaceWaypointMapper.selectAirspaceWaypointById(id); + } + + @Override + public List selectAirspaceWaypointList(Long airspaceApplyId) { + return airspaceWaypointMapper.selectAirspaceWaypointList(airspaceApplyId); + } + + @Override + public int insertAirspaceWaypoint(AirspaceWaypoint AirspaceWaypoint) { + return airspaceWaypointMapper.insertAirspaceWaypoint(AirspaceWaypoint); + } + + + @Override + public int deleteAirspaceWaypointById(Long id) { + return airspaceWaypointMapper.deleteAirspaceWaypointById(id); + } + + @Override + public int deleteAirspaceWaypointByIds(Long[] ids) { + return airspaceWaypointMapper.deleteAirspaceWaypointByIds(ids); + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquInfo.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquInfo.java new file mode 100644 index 0000000..db2dc0b --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquInfo.java @@ -0,0 +1,210 @@ +package com.djhk.uav.equ.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 设备台账对象 equ_info + * + * @author huangqinguo + * @date 2023-06-01 + */ +public class EquInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** */ + private Long equId; + + /** */ + @Excel(name = "") + private String equCode; + + /** */ + @Excel(name = "") + private String typeId; + + /** */ + @Excel(name = "") + private Long modelId; + + /** 0正常,1故障,2报废 */ + @Excel(name = "0正常,1故障,2报废") + private String equSts; + + /** */ + @Excel(name = "") + private String equSn; + + /** 组织Id */ + @Excel(name = "组织Id") + private Long organId; + + /** */ + @Excel(name = "") + private String mngName; + + /** */ + @Excel(name = "") + private String mngCode; + + /** */ + @Excel(name = "") + private String purDate; + + /** */ + @Excel(name = "") + private String mtnDate; + + /** */ + @Excel(name = "") + private Long locLon; + + /** */ + @Excel(name = "") + private Long locLat; + + public void setEquId(Long equId) + { + this.equId = equId; + } + + public Long getEquId() + { + return equId; + } + public void setEquCode(String equCode) + { + this.equCode = equCode; + } + + public String getEquCode() + { + return equCode; + } + public void setTypeId(String typeId) + { + this.typeId = typeId; + } + + public String getTypeId() + { + return typeId; + } + public void setModelId(Long modelId) + { + this.modelId = modelId; + } + + public Long getModelId() + { + return modelId; + } + public void setEquSts(String equSts) + { + this.equSts = equSts; + } + + public String getEquSts() + { + return equSts; + } + public void setEquSn(String equSn) + { + this.equSn = equSn; + } + + public String getEquSn() + { + return equSn; + } + public void setOrganId(Long organId) + { + this.organId = organId; + } + + public Long getOrganId() + { + return organId; + } + public void setMngName(String mngName) + { + this.mngName = mngName; + } + + public String getMngName() + { + return mngName; + } + public void setMngCode(String mngCode) + { + this.mngCode = mngCode; + } + + public String getMngCode() + { + return mngCode; + } + public void setPurDate(String purDate) + { + this.purDate = purDate; + } + + public String getPurDate() + { + return purDate; + } + public void setMtnDate(String mtnDate) + { + this.mtnDate = mtnDate; + } + + public String getMtnDate() + { + return mtnDate; + } + public void setLocLon(Long locLon) + { + this.locLon = locLon; + } + + public Long getLocLon() + { + return locLon; + } + public void setLocLat(Long locLat) + { + this.locLat = locLat; + } + + public Long getLocLat() + { + return locLat; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("equId", getEquId()) + .append("equCode", getEquCode()) + .append("typeId", getTypeId()) + .append("modelId", getModelId()) + .append("equSts", getEquSts()) + .append("equSn", getEquSn()) + .append("organId", getOrganId()) + .append("mngName", getMngName()) + .append("mngCode", getMngCode()) + .append("purDate", getPurDate()) + .append("mtnDate", getMtnDate()) + .append("locLon", getLocLon()) + .append("locLat", getLocLat()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquInfoEntity.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquInfoEntity.java new file mode 100644 index 0000000..5183353 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquInfoEntity.java @@ -0,0 +1,216 @@ +package com.djhk.uav.equ.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 设备台账 + * + * @author gzm + * @since 1.0.0 2023-06-07 + */ + +@Data +public class EquInfoEntity extends BaseEntity { + /** + * 设备标识 + */ + + private Integer equId; + + /** + * 设备编号 + */ + @Excel(name = "警航编号(自动生成填写无效)") + private String equCode; + + + /** + * 所属机构 + */ + @Excel(name = "所属机构") + private String deptName; + + /** + * 国标码 + */ + @Excel(name = "国标码") + private String gbCode; + + /** + * 类别标识 + */ + @Excel(name = "类别标识(无人机、反制设备、其它设备)") + private String typeId; + + /** + * 设备型号 + */ + @Excel(name = "设备型号(设备型号-型号编码)") + private String modelId; + + /** + * 设备状态 + */ + @Excel(name = "设备状态:0正常,1故障,2报废") + private String equSts; + + /** + * 设备序列号 + */ + @Excel(name = "设备序列号") + private String equSn; + + /** + * 机构标识 + */ + private Long organId; + + /** + * 责任人姓名 + */ + @Excel(name = "责任人姓名") + private String mngName; + + /** + * 责任人警号 + */ + @Excel(name = "责任人警号") + private String mngCode; + + /** + * 采购日期 + */ + @Excel(name = "采购日期(格式:2024-05-22)") + private String purDate; + + /** + * 保修期限 + */ + @Excel(name = "保险期限(格式:2024-05-22)") + private String mtnDate; + + /** + * 部署位置经度 + */ + @Excel(name = "部署位置经度") + private Double locLon; + + /** + * 部署位置纬度 + */ + @Excel(name = "部署位置纬度") + private Double locLat; + + /** + * 任务荷载 + */ + @Excel(name = "任务荷载") + private String equLoad; + + /** + * 设备分类 + */ + @Excel(name = "设备分类:0报废微型,1轻型,2中型,3大型") + private String classify; + + /** + * 附件 + */ + private String insuranceUrl; + + /** + * 保险状态 + */ + private String insuranceSts; + + /** + * 归属权 + */ + @Excel(name = "归属权:0是,1否") + private String attribution; + + /** + * 申请状态 + */ + private String applySts; + + /** + * 刪除标志0存在2删除 + */ + private String delFlag; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 修改人 + */ + private String updateBy; + + /** + * 修改时间 + */ + private Date updateTime; + + private String tranSts; + + private String typeName; + + private String modelName; + + + private List modelParamList; + + + /** + * 在线状态 + */ + private String onlineSts; + + + /** + * 是否是反制设备 + */ + private String isCounter; + + /** + * 保险过期状态 + */ + private Integer mtnDateState; + + /** + * 设备功能 + */ + private String equFunction; + + /** + * 设备类型 + */ + private String equType; + + /** + * 范围角度 + */ + private String rangeRad; + + /** + * 是否具有特殊功能 + */ + private String spacialFunction; + + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquModel.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquModel.java new file mode 100644 index 0000000..0cd9f25 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquModel.java @@ -0,0 +1,193 @@ +package com.djhk.uav.equ.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; + +/** + * 设备型号对象 equ_model + * + * @author huangqg + * @date 2023-06-01 + */ +public class EquModel extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 型号标识 */ + private Long modelId; + + /** 类别标识 */ + @Excel(name = "类别标识") + private String typeId; + + /** 型号编码 */ + @Excel(name = "型号编码") + private String modelCode; + + /** 型号名称 */ + @Excel(name = "型号名称") + private String modelName; + + /** 显示顺序 */ + private Long showOrder; + + /** 删除标志 */ + private String delMark; + + /** 静态模型 */ +// @Excel(name = "静态模型") + private Long dynModelFile; + + /** 动态模型 */ +// @Excel(name = "动态模型") + private Long staModelFile; + + /** 图标 */ +// @Excel(name = "图标") + private Long iconFile; + + private String staModelFilePath; + + private String dynModelFilePath; + + private String iconFilePath; + + private String staModelFileName; + + private String dynModelFileName; + + private String iconFileName; + + + + public void setModelId(Long modelId) + { + this.modelId = modelId; + } + + public Long getModelId() + { + return modelId; + } + public void setTypeId(String typeId) + { + this.typeId = typeId; + } + + public String getTypeId() + { + return typeId; + } + public void setModelCode(String modelCode) + { + this.modelCode = modelCode; + } + + public String getModelCode() + { + return modelCode; + } + public void setModelName(String modelName) + { + this.modelName = modelName; + } + + public String getModelName() + { + return modelName; + } + public void setShowOrder(Long showOrder) + { + this.showOrder = showOrder; + } + + public Long getShowOrder() + { + return showOrder; + } + public void setDelMark(String delMark) + { + this.delMark = delMark; + } + + public String getDelMark() + { + return delMark; + } + public void setDynModelFile(Long dynModelFile) + { + this.dynModelFile = dynModelFile; + } + + public Long getDynModelFile() + { + return dynModelFile; + } + public void setStaModelFile(Long staModelFile) + { + this.staModelFile = staModelFile; + } + + public Long getStaModelFile() + { + return staModelFile; + } + public void setIconFile(Long iconFile) + { + this.iconFile = iconFile; + } + + public Long getIconFile() + { + return iconFile; + } + + public String getStaModelFilePath() { + return staModelFilePath; + } + + public void setStaModelFilePath(String staModelFilePath) { + this.staModelFilePath = staModelFilePath; + } + + public String getDynModelFilePath() { + return dynModelFilePath; + } + + public void setDynModelFilePath(String dynModelFilePath) { + this.dynModelFilePath = dynModelFilePath; + } + + public String getIconFilePath() { + return iconFilePath; + } + + public void setIconFilePath(String iconFilePath) { + this.iconFilePath = iconFilePath; + } + + public String getStaModelFileName() { + return staModelFileName; + } + + public void setStaModelFileName(String staModelFileName) { + this.staModelFileName = staModelFileName; + } + + public String getDynModelFileName() { + return dynModelFileName; + } + + public void setDynModelFileName(String dynModelFileName) { + this.dynModelFileName = dynModelFileName; + } + + public String getIconFileName() { + return iconFileName; + } + + public void setIconFileName(String iconFileName) { + this.iconFileName = iconFileName; + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquModelParam.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquModelParam.java new file mode 100644 index 0000000..9ef75e3 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquModelParam.java @@ -0,0 +1,119 @@ +package com.djhk.uav.equ.domain; + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; + +/** + * 【请填写功能名称】对象 equ_model_param + * + * @author ruoyi + * @date 2023-06-05 + */ +public class EquModelParam extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long paramSeq; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long modelId; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String paramCode; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String paramValue; + + public void setParamSeq(Long paramSeq) + { + this.paramSeq = paramSeq; + } + + public Long getParamSeq() + { + return paramSeq; + } + public void setModelId(Long modelId) + { + this.modelId = modelId; + } + + public Long getModelId() + { + return modelId; + } + public void setParamCode(String paramCode) + { + this.paramCode = paramCode; + } + + public String getParamCode() + { + return paramCode; + } + public void setParamValue(String paramValue) + { + this.paramValue = paramValue; + } + + public String getParamValue() + { + return paramValue; + } + + public String getParamName() { + return paramName; + } + + public void setParamName(String paramName) { + this.paramName = paramName; + } + + private String paramName; + + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + private String dataType; + + private Integer decCnt; + + public Integer getDecCnt() { + return decCnt; + } + + public void setDecCnt(Integer decCnt) { + this.decCnt = decCnt; + } + + public Integer getMinVal() { + return minVal; + } + + public void setMinVal(Integer minVal) { + this.minVal = minVal; + } + + public Integer getMaxVal() { + return maxVal; + } + + public void setMaxVal(Integer maxVal) { + this.maxVal = maxVal; + } + + private Integer minVal; + private Integer maxVal; + + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquParamDefine.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquParamDefine.java new file mode 100644 index 0000000..27cee33 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquParamDefine.java @@ -0,0 +1,123 @@ +package com.djhk.uav.equ.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; + +/** + * 【请填写功能名称】对象 equ_param_define + * + * @author ruoyi + * @date 2023-06-05 + */ +public class EquParamDefine extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 参数编码 */ + private String paramCode; + + /** 参数名称 */ + @Excel(name = "参数名称") + private String paramName; + + /** 取值类型 */ + @Excel(name = "取值类型") + private String dataType; + + /** 小数位数 */ + @Excel(name = "小数位数") + private Long decCnt; + + /** 最小值 */ + @Excel(name = "最小值") + private Long minVal; + + /** 最大值 */ + @Excel(name = "最大值") + private Long maxVal; + + /** 启动标志 */ + @Excel(name = "启动标志") + private String useFlag; + + /** 显示顺序 */ + @Excel(name = "显示顺序") + private Long showOrder; + + public void setParamCode(String paramCode) + { + this.paramCode = paramCode; + } + + public String getParamCode() + { + return paramCode; + } + public void setParamName(String paramName) + { + this.paramName = paramName; + } + + public String getParamName() + { + return paramName; + } + public void setDataType(String dataType) + { + this.dataType = dataType; + } + + public String getDataType() + { + return dataType; + } + public void setDecCnt(Long decCnt) + { + this.decCnt = decCnt; + } + + public Long getDecCnt() + { + return decCnt; + } + public void setMinVal(Long minVal) + { + this.minVal = minVal; + } + + public Long getMinVal() + { + return minVal; + } + public void setMaxVal(Long maxVal) + { + this.maxVal = maxVal; + } + + public Long getMaxVal() + { + return maxVal; + } + public void setUseFlag(String useFlag) + { + this.useFlag = useFlag; + } + + public String getUseFlag() + { + return useFlag; + } + public void setShowOrder(Long showOrder) + { + this.showOrder = showOrder; + } + + public Long getShowOrder() + { + return showOrder; + } + + +} + diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquTranEntity.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquTranEntity.java new file mode 100644 index 0000000..585643c --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquTranEntity.java @@ -0,0 +1,88 @@ +package com.djhk.uav.equ.domain; + + +import lombok.Data; + +import java.util.Date; + +/** + * 设备转移 + * + * @author gzm + * @since 1.0.0 2023-06-09 + */ + +@Data +public class EquTranEntity { + /** + * 流水号 + */ + private Integer tranSeq; + + /** + * 设备标识 + */ + private Integer equId; + + /** + * 发起机构 + */ + private Long sendOrgan; + + /** + * 接收机构 + */ + private Long recvOrgan; + + /** + * 转移状态 + */ + private String tranSts; + + /** + * 发起人 + */ + private String sendBy; + + /** + * 发起时间 + */ + private Date sendTime; + + /** + * 接收人 + */ + private String recvBy; + + /** + * 接收时间 + */ + private Date recvTime; + + /** + * 取消人 + */ + private String cacelBy; + + /** + * 取消时间 + */ + private Date cancelTime; + + /* + * 判断是否为接收人 + * */ + private String isRecvUser; + + /* + * 发起人姓名 + * */ + private String sendUserName; + + /* + * 接收人姓名 + * */ + private String recvUserName; + + +} \ No newline at end of file diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquType.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquType.java new file mode 100644 index 0000000..73d6d3a --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquType.java @@ -0,0 +1,123 @@ +package com.djhk.uav.equ.domain; + +import com.djhk.common.annotation.Excel; + +import com.djhk.common.core.domain.BaseEntity; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 设备类别对象 equ_type + * + * @author huangqingguo + * @date 2023-06-02 + */ +public class EquType extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 类别标识 */ + private String typeId; + + /** 类别名称 */ + @Excel(name = "类别名称") + private String typeName; + + /** 启用标志 */ + @Excel(name = "启用标志") + private String useFlag; + + /** 显示顺序 */ + @Excel(name = "显示顺序") + private Long showOrder; + + /** 动态模型 */ + @Excel(name = "动态模型") + private Long dynModelFile; + + /** 静态模型 */ + @Excel(name = "静态模型") + private Long staModelFile; + + /** 图标 */ + @Excel(name = "图标") + private Long iconFile; + + public void setTypeId(String typeId) + { + this.typeId = typeId; + } + + public String getTypeId() + { + return typeId; + } + public void setTypeName(String typeName) + { + this.typeName = typeName; + } + + public String getTypeName() + { + return typeName; + } + public void setUseFlag(String useFlag) + { + this.useFlag = useFlag; + } + + public String getUseFlag() + { + return useFlag; + } + public void setShowOrder(Long showOrder) + { + this.showOrder = showOrder; + } + + public Long getShowOrder() + { + return showOrder; + } + public void setDynModelFile(Long dynModelFile) + { + this.dynModelFile = dynModelFile; + } + + public Long getDynModelFile() + { + return dynModelFile; + } + public void setStaModelFile(Long staModelFile) + { + this.staModelFile = staModelFile; + } + + public Long getStaModelFile() + { + return staModelFile; + } + public void setIconFile(Long iconFile) + { + this.iconFile = iconFile; + } + + public Long getIconFile() + { + return iconFile; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("typeId", getTypeId()) + .append("typeName", getTypeName()) + .append("useFlag", getUseFlag()) + .append("showOrder", getShowOrder()) + .append("dynModelFile", getDynModelFile()) + .append("staModelFile", getStaModelFile()) + .append("iconFile", getIconFile()) + .toString(); + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquTypeParam.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquTypeParam.java new file mode 100644 index 0000000..cc18bfe --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/EquTypeParam.java @@ -0,0 +1,57 @@ +package com.djhk.uav.equ.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; + +/** + * 待整理,用于说明某类设备包含哪些参数对象 equ_type_param + * + * @author ruoyi + * @date 2023-06-05 + */ +public class EquTypeParam extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long etpSeq; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String typeId; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String paramCode; + + public void setEtpSeq(Long etpSeq) + { + this.etpSeq = etpSeq; + } + + public Long getEtpSeq() + { + return etpSeq; + } + public void setTypeId(String typeId) + { + this.typeId = typeId; + } + + public String getTypeId() + { + return typeId; + } + public void setParamCode(String paramCode) + { + this.paramCode = paramCode; + } + + public String getParamCode() + { + return paramCode; + } + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/Metasploitable.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/Metasploitable.java new file mode 100644 index 0000000..753e1fe --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/Metasploitable.java @@ -0,0 +1,88 @@ +package com.djhk.uav.equ.domain; + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 设备型号对象 uav_metasploitable + * + * @author zhulongchuan + * @date 2024-11-013 + */ +@Data +public class Metasploitable extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 靶机标识 */ + private Long id; + + /** 品牌 */ + @Excel(name = "品牌") + private String brand; + + /** 名称 */ + @Excel(name = "名称") + private String uavName; + + /** 结构布局 */ + @Excel(name = "结构布局") + private String structure; + + /** 产品定位 */ + @Excel(name = "产品定位") + private String product; + + /** 能源*/ + @Excel(name = "能源") + private String energy; + + /** 尺寸 */ + @Excel(name = "尺寸") + private String size; + + /** 应用 */ + @Excel(name = "应用") + private String useType; + + /** 图传类型 */ + @Excel(name = "图传类型") + private String photoType; + + /** 通信链路 */ + @Excel(name = "通信链路") + private String infoLinks; + + /** 定位系统 */ + @Excel(name = "定位系统") + private String positionSys; + + /** 产品介绍 */ + @Excel(name = "产品介绍") + private String productPre; + + /** 图片 */ +// @Excel(name = "图片") + private Long photo; + + + /** 图片名字 */ +// @Excel(name = "图片") + private String photoFileName; + + + /** 图片路径 */ +// @Excel(name = "图片") + private String photoFilePath; + + /** 价格 */ + @Excel(name = "价格") + private String price; + + /** 重量 */ + @Excel(name = "重量") + private String weight; + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/SysMenus.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/SysMenus.java new file mode 100644 index 0000000..71e07bd --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/SysMenus.java @@ -0,0 +1,260 @@ +package com.djhk.uav.equ.domain; + +import java.util.ArrayList; +import java.util.List; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +import com.djhk.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 菜单权限表 sys_menu + * + * @author myk + */ +public class SysMenus extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 菜单ID */ + private Long menuId; + + /** 菜单名称 */ + private String menuName; + + /** 父菜单名称 */ + private String parentName; + + /** 父菜单ID */ + private Long parentId; + + /** 显示顺序 */ + private Integer orderNum; + + /** 路由地址 */ + private String path; + + /** 组件路径 */ + private String component; + + /** 路由参数 */ + private String query; + + /** 是否为外链(0是 1否) */ + private String isFrame; + + /** 是否缓存(0缓存 1不缓存) */ + private String isCache; + + /** 类型(M目录 C菜单 F按钮) */ + private String menuType; + + /** 显示状态(0显示 1隐藏) */ + private String visible; + + /** 菜单状态(0显示 1隐藏) */ + private String status; + + /** 权限字符串 */ + private String perms; + + /** 菜单图标 */ + private String icon; + + /** 子菜单 */ + private List children = new ArrayList(); + + public Long getMenuId() + { + return menuId; + } + + public void setMenuId(Long menuId) + { + this.menuId = menuId; + } + + @NotBlank(message = "菜单名称不能为空") + @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符") + public String getMenuName() + { + return menuName; + } + + public void setMenuName(String menuName) + { + this.menuName = menuName; + } + + public String getParentName() + { + return parentName; + } + + public void setParentName(String parentName) + { + this.parentName = parentName; + } + + public Long getParentId() + { + return parentId; + } + + public void setParentId(Long parentId) + { + this.parentId = parentId; + } + + @NotNull(message = "显示顺序不能为空") + public Integer getOrderNum() + { + return orderNum; + } + + public void setOrderNum(Integer orderNum) + { + this.orderNum = orderNum; + } + + @Size(min = 0, max = 200, message = "路由地址不能超过200个字符") + public String getPath() + { + return path; + } + + public void setPath(String path) + { + this.path = path; + } + + @Size(min = 0, max = 200, message = "组件路径不能超过255个字符") + public String getComponent() + { + return component; + } + + public void setComponent(String component) + { + this.component = component; + } + + public String getQuery() + { + return query; + } + + public void setQuery(String query) + { + this.query = query; + } + + public String getIsFrame() + { + return isFrame; + } + + public void setIsFrame(String isFrame) + { + this.isFrame = isFrame; + } + + public String getIsCache() + { + return isCache; + } + + public void setIsCache(String isCache) + { + this.isCache = isCache; + } + + @NotBlank(message = "菜单类型不能为空") + public String getMenuType() + { + return menuType; + } + + public void setMenuType(String menuType) + { + this.menuType = menuType; + } + + public String getVisible() + { + return visible; + } + + public void setVisible(String visible) + { + this.visible = visible; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符") + public String getPerms() + { + return perms; + } + + public void setPerms(String perms) + { + this.perms = perms; + } + + public String getIcon() + { + return icon; + } + + public void setIcon(String icon) + { + this.icon = icon; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("menuId", getMenuId()) + .append("menuName", getMenuName()) + .append("parentId", getParentId()) + .append("orderNum", getOrderNum()) + .append("path", getPath()) + .append("component", getComponent()) + .append("isFrame", getIsFrame()) + .append("IsCache", getIsCache()) + .append("menuType", getMenuType()) + .append("visible", getVisible()) + .append("status ", getStatus()) + .append("perms", getPerms()) + .append("icon", getIcon()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/dto/EquInfoExportDto.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/dto/EquInfoExportDto.java new file mode 100644 index 0000000..29a0c24 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/dto/EquInfoExportDto.java @@ -0,0 +1,91 @@ +package com.djhk.uav.equ.domain.dto; + +import com.djhk.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class EquInfoExportDto implements Serializable { + +// @TableId +// private Integer equId; + + /** + * 设备编号 + */ + @Excel(name = "警航编号(自动生成填写无效)") + private String equCode; + + /** + * 类别标识 + */ + @Excel(name = "类别标识(无人机、反制设备、其它设备)") + private String typeId; + + /** + * 设备型号 + */ + @Excel(name = "设备型号(设备型号-型号编码)") + private String modelId; +// private Integer modelId; + + @Excel(name = "国标码") + private String gbCode; + /** + * 设备状态 + */ + @Excel(name = "设备状态:0正常,1故障,2报废") + private String equSts; + + /** + * 设备序列号 + */ + @Excel(name = "设备序列号") + private String equSn; + + /** + * 机构标识 + */ + @Excel(name = "机构标识") + private String organId; +// private Long organId; + + /** + * 责任人姓名 + */ + @Excel(name = "责任人姓名") + private String mngName; + + /** + * 责任人警号 + */ + @Excel(name = "责任人警号") + private String mngCode; + + /** + * 采购日期 + */ + @Excel(name = "采购日期(格式:2024-05-22)") + private String purDate; + + /** + * 保修期限 + */ + @Excel(name = "保险期限(格式:2024-05-22)") + private String mtnDate; + + /** + * 部署位置经度 + */ + @Excel(name = "部署位置经度") + private Double locLon; + + /** + * 部署位置纬度 + */ + @Excel(name = "部署位置纬度") + private Double locLat; + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/dto/EquModelExportDto.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/dto/EquModelExportDto.java new file mode 100644 index 0000000..5b56709 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/dto/EquModelExportDto.java @@ -0,0 +1,89 @@ +package com.djhk.uav.equ.domain.dto; + +import com.djhk.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class EquModelExportDto implements Serializable { + +// @TableId +// private Integer equId; + + /** + * 设备编号 + */ + @Excel(name = "设备编号") + private String equCode; + + /** + * 类别标识 + */ + @Excel(name = "类别标识") + private String typeId; + + /** + * 设备型号 + */ + @Excel(name = "设备型号(设备型号-型号编码)") + private Integer modelId; +// private Integer modelId; + + /** + * 设备状态 + */ + @Excel(name = "设备状态:0正常,1故障,2报废") + private String equSts; + + /** + * 设备序列号 + */ + @Excel(name = "设备序列号") + private String equSn; + + /** + * 机构标识 + */ + @Excel(name = "机构标识") + private String organId; +// private Long organId; + + /** + * 责任人姓名 + */ + @Excel(name = "责任人姓名") + private String mngName; + + /** + * 责任人警号 + */ + @Excel(name = "责任人警号") + private String mngCode; + + /** + * 采购日期 + */ + @Excel(name = "采购日期") + private String purDate; + + /** + * 保修期限 + */ + @Excel(name = "保修期限") + private String mtnDate; + + /** + * 部署位置经度 + */ + @Excel(name = "部署位置经度") + private Double locLon; + + /** + * 部署位置纬度 + */ + @Excel(name = "部署位置纬度") + private Double locLat; + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/EquInfoExportVo.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/EquInfoExportVo.java new file mode 100644 index 0000000..0e85382 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/EquInfoExportVo.java @@ -0,0 +1,22 @@ +package com.djhk.uav.equ.domain.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class EquInfoExportVo implements Serializable { + + private static final long serialVersionUID = 1L; + + + private List ids; + + private List orgIds; + private Long deptId; + + private String createBy; + private String typeId; + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/EquModelExportVo.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/EquModelExportVo.java new file mode 100644 index 0000000..916e6f2 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/EquModelExportVo.java @@ -0,0 +1,21 @@ +package com.djhk.uav.equ.domain.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class EquModelExportVo implements Serializable { + + private static final long serialVersionUID = 1L; + + + private List ids; + + private List orgIds; + + private String createBy; + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/TreeSelects.java b/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/TreeSelects.java new file mode 100644 index 0000000..91e7dc1 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/domain/vo/TreeSelects.java @@ -0,0 +1,78 @@ +package com.djhk.uav.equ.domain.vo; + +import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; + +import com.djhk.common.core.domain.entity.SysDept; +import com.djhk.uav.equ.domain.SysMenus; +import com.fasterxml.jackson.annotation.JsonInclude; + +/** + * Treeselect树结构实体类 + * + * @author myk + */ +public class TreeSelects implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 节点ID */ + private Long id; + + /** 节点名称 */ + private String label; + + /** 子节点 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children; + + public TreeSelects() + { + + } + + public TreeSelects(SysDept dept) + { + this.id = dept.getDeptId(); + this.label = dept.getDeptName(); + this.children = dept.getChildren().stream().map(TreeSelects::new).collect(Collectors.toList()); + } + + public TreeSelects(SysMenus menu) + { + this.id = menu.getMenuId(); + this.label = menu.getMenuName(); + this.children = menu.getChildren().stream().map(TreeSelects::new).collect(Collectors.toList()); + } + + public Long getId() + { + return id; + } + + public void setId(Long id) + { + this.id = id; + } + + public String getLabel() + { + return label; + } + + public void setLabel(String label) + { + this.label = label; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/service/EquInfoService.java b/djhk-system/src/main/java/com/djhk/uav/equ/service/EquInfoService.java new file mode 100644 index 0000000..5680532 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/service/EquInfoService.java @@ -0,0 +1,60 @@ +package com.djhk.uav.equ.service; + + + + +import com.djhk.common.core.domain.entity.SysDept; +import com.djhk.common.exception.ServiceException; +import com.djhk.uav.equ.domain.EquInfoEntity; +import com.djhk.uav.equ.domain.EquTranEntity; +import com.djhk.uav.equ.domain.dto.EquInfoExportDto; +import com.djhk.uav.equ.domain.vo.EquInfoExportVo; + +import java.util.List; +import java.util.Map; + +/** + * 设备台账 + * + * @author gzm + * @since 1.0.0 2023-06-07 + */ +public interface EquInfoService { + + List getEquInfoList(EquInfoEntity query); + + List getEquInfoLists(EquInfoEntity query); + + List getEquInfos(EquInfoEntity query); + + public EquInfoEntity selectEquInfoById(String equId); + + int saves(EquInfoEntity vo); + + int update(EquInfoEntity vo); + + int delete(String[] equIds); + + int updateEquInfoByIds(String[] equIds); + + List getEquTranList(EquTranEntity query); + + int saveTran(EquTranEntity vo); + + List getTranStsByEquId(String equId); + + int reciveTranMethod(Map vo); + + List getTjTree(); + + List getTjTreeForDept(SysDept dept); + + List selectMonitorEquList(String[] typeIds); + + EquInfoEntity selectEquInfoByEquSn(EquInfoEntity vo); + + List selectEquInfoExportList(EquInfoExportVo equInfoExportVo); + + + String importData(List userList, Boolean isUpdateSupport) throws ServiceException; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/equ/service/impl/EquInfoServiceImpl.java b/djhk-system/src/main/java/com/djhk/uav/equ/service/impl/EquInfoServiceImpl.java new file mode 100644 index 0000000..67583d9 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/equ/service/impl/EquInfoServiceImpl.java @@ -0,0 +1,122 @@ +package com.djhk.uav.equ.service.impl; + + +import com.djhk.common.core.domain.R; +import com.djhk.common.core.domain.entity.SysDept; +import com.djhk.common.exception.ServiceException; +import com.djhk.uav.equ.domain.EquInfoEntity; +import com.djhk.uav.equ.domain.EquTranEntity; +import com.djhk.uav.equ.domain.dto.EquInfoExportDto; +import com.djhk.uav.equ.domain.vo.EquInfoExportVo; +import com.djhk.uav.equ.service.EquInfoService; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 设备台账 + * + * @author gzm + * @since 1.0.0 2023-06-07 + */ +@Service +public class EquInfoServiceImpl implements EquInfoService { + + + @Override + public List getEquInfoList(EquInfoEntity query) { + return null; + } + + @Override + public List getEquInfoLists(EquInfoEntity query) { + return null; + } + + @Override + public List getEquInfos(EquInfoEntity query) { + return null; + } + + @Override + public EquInfoEntity selectEquInfoById(String equId) { + return null; + } + + @Override + public int saves(EquInfoEntity vo) { + return 0; + } + + @Override + public int update(EquInfoEntity vo) { + return 0; + } + + @Override + public int delete(String[] equIds) { + return 0; + } + + @Override + public int updateEquInfoByIds(String[] equIds) { + return 0; + } + + @Override + public List getEquTranList(EquTranEntity query) { + return null; + } + + @Override + public int saveTran(EquTranEntity vo) { + return 0; + } + + @Override + public List getTranStsByEquId(String equId) { + return null; + } + + @Override + public int reciveTranMethod(Map vo) { + return 0; + } + + @Override + public List getTjTree() { + return null; + } + + @Override + public List getTjTreeForDept(SysDept dept) { + return null; + } + + @Override + public List selectMonitorEquList(String[] typeIds) { + return null; + } + + @Override + public EquInfoEntity selectEquInfoByEquSn(EquInfoEntity vo) { + return null; + } + + @Override + public List selectEquInfoExportList(EquInfoExportVo equInfoExportVo) { + return null; + } + + @Override + public String importData(List userList, Boolean isUpdateSupport) throws ServiceException { + return null; + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/controller/LabelController - 副本.java.txt b/djhk-system/src/main/java/com/djhk/uav/label/controller/LabelController - 副本.java.txt new file mode 100644 index 0000000..d9ea725 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/controller/LabelController - 副本.java.txt @@ -0,0 +1,264 @@ +package com.djhk.uav.label.controller; + +import com.djhk.common.core.domain.R; +import com.djhk.common.core.web.controller.BaseController; +import com.djhk.common.core.web.page.TableDataInfo; +import com.djhk.space.flight.label.domain.CatalogueDto; +import com.djhk.space.flight.label.domain.Plotting; +import com.djhk.space.flight.label.domain.PlottingQuery; +import com.djhk.space.flight.label.service.LabelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * @author jwh + * @version 1.0 + * @description + * @date 2023/7/26 11:03:55 + */ +@RestController +@RequestMapping("/plot") +public class LabelController extends BaseController { + + @Autowired + private LabelService labelService; + + + /** + * 导出kml文件 + * + * + * @return + */ + @GetMapping(value = "/downloadPlot") + public R listCatalogue(@RequestParam List folderIds) { + return labelService.downloadPlot(folderIds); + } + + @PostMapping("/importPlot") + public R uploadFile(@RequestParam("file") MultipartFile file){ + return labelService.uploadPlot(file); + } + + /** + * 添加标注目录 + * + * @param catalogueDto + * @return + */ + @PostMapping("/addDir") + public R addCatalogue(@RequestBody CatalogueDto catalogueDto) { + return labelService.addCatalogue(catalogueDto); + } + + /** + * 删除目录 + * + * @param ids + * @return + */ + @GetMapping("/{ids}") + public R delete(@PathVariable Integer[] ids) { + return labelService.deleteCatalogue(ids); + } + + /** + * 修改目录名称 + * + * @param catalogueDto + * @return + */ + @PostMapping("/updateDir") + public R updateCatalogue(@RequestBody CatalogueDto catalogueDto) { + return labelService.updateCatalogue(catalogueDto); + } + + /** + * 查询目录列表--不分页 + * + * @param catalogueDto + * @return + */ + @GetMapping("/listdir") + public R listCatalogue(CatalogueDto catalogueDto) { + return labelService.listCatalogue(catalogueDto); + } + + /** + * 修改目录锁定状态 + * + * @param id + * @param lockStatus + */ + @GetMapping("/changeLockStatusDir") + public R changeLockStatus(@RequestParam("id") Integer id, @RequestParam("lockStatus") Integer lockStatus) { + return labelService.changeLockStatusCatalogue(id, lockStatus); + } + + /** + * 修改目录显示/隐藏状态 + * + * @param id + * @param showStatus + * @return + */ + @GetMapping("/changeShowStatusDir") + public R changeShowStatus(@RequestParam("id") Integer id, @RequestParam("showStatus") Integer showStatus) { + return labelService.changeShowStatusCatalogue(id, showStatus); + } + + /** + * 修改目录分享状态 + * + * @param id + * @param shareStatus + * @return + */ + @GetMapping("/changeShareStatusDir") + public R changeShareStatus(@RequestParam("id") Integer id, @RequestParam("shareStatus") Integer shareStatus) { + return labelService.changeShareStatusCatalogue(id, shareStatus); + } + + + /** + * 添加标注目录 + * + * @param catalogueDto + * @return + */ + @PostMapping("/addPlotWeb") + public R addPlot(@RequestBody CatalogueDto catalogueDto) { + return labelService.addPlotWeb(catalogueDto); + } + + /** + * 删除目录 + * + * @param ids + * @return + */ + @GetMapping("/deletePlot/{ids}") + public R deletePlot(@PathVariable Integer[] ids) { + return labelService.deletePlot(ids); + } + + /** + * 删除目录下的所有标绘 + * + * @param ids + * @return + */ + @GetMapping("/deleteDirInner/{ids}") + public R deleteDirInner(@PathVariable Integer[] ids) { + return labelService.deleteDirInner(ids); + } + + /** + * 修改目录名称 + * + * @param catalogueDto + * @return + */ + @PostMapping("/updatePlot") + public R updatePlot(@RequestBody CatalogueDto catalogueDto) { + return labelService.updatePlot(catalogueDto); + } + /** + * 修改标绘数据ByUUID + * + * @param catalogueDto + * @return + */ + @PostMapping("/updatePlotByUUID") + public R updatePlotByUUID(@RequestBody Map catalogueDto) { + return labelService.updatePlotByUUID(catalogueDto); + } + + @PostMapping("/updateOrder") + public R updateOrder(@RequestBody List> list){ + R result = labelService.updateOrder(list); + return result; + } + + /** + * 查询目录列表--不分页 + * + * @param folderId + * @return + */ + @GetMapping("/listPlot") + public TableDataInfo listPlot(@RequestParam(required = false) Integer folderId,@RequestParam Integer pageNum,@RequestParam Integer pageSize) { + return labelService.listPlot(folderId,pageNum,pageSize); + } + /** + * 查询标绘列表 + * + * @return + */ + @GetMapping("/plottings") + public R plottings() { + return labelService.listAllPlot(); + } + + /** + * 修改标绘锁定状态 + * + * @param id + * @param lockStatus + */ + @GetMapping("/changeLockStatusPlot") + public R changeLockStatusPlot(@RequestParam("id") Integer id, @RequestParam("lockStatus") Integer lockStatus) { + return labelService.changeLockStatusPlot(id, lockStatus); + } + + /** + * 修改标绘显示/隐藏状态 + * + * @param id + * @param showStatus + * @return + */ + @GetMapping("/changeShowStatusPlot") + public R changeShowStatusPlot(@RequestParam("id") Integer id, @RequestParam("showStatus") Integer showStatus) { + return labelService.changeShowStatusPlot(id, showStatus); + } + + /** + * 修改标绘分享状态 + * + * @param id + * @param shareStatus + * @return + */ + @GetMapping("/changeShareStatusPlot") + public R changeShareStatusPlot(@RequestParam("id") Integer id, @RequestParam("shareStatus") Integer shareStatus) { + return labelService.changeShareStatusPlot(id, shareStatus); + } + + @GetMapping("/collection") + public R plotCollection(@RequestParam Map params) { + return labelService.plotCollection(params); + } + + @GetMapping("/infoByUuid") + public R infoByUuid(@RequestParam("uuid") String uuid) { + return labelService.infoByUuid(uuid); + } + + @GetMapping("/deleteByUuid") + public R deleteByUuid(@RequestParam("uuid") String uuid) { + return labelService.deleteByUuid(uuid); + } + + @GetMapping("/count") + public R count(PlottingQuery query) { + return labelService.count(query); + } + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/controller/LabelController.java b/djhk-system/src/main/java/com/djhk/uav/label/controller/LabelController.java new file mode 100644 index 0000000..90ccda2 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/controller/LabelController.java @@ -0,0 +1,320 @@ +package com.djhk.uav.label.controller; + + +import com.djhk.common.core.controller.BaseController; +import com.djhk.common.core.domain.R; +import com.djhk.common.core.page.TableDataInfo; +import com.djhk.common.utils.DateUtils; +import com.djhk.common.utils.SecurityUtils; +import com.djhk.system.service.ISysUserService; +import com.djhk.uav.label.domain.CatalogueDto; +import com.djhk.uav.label.domain.FolderInfo; +import com.djhk.uav.label.domain.Plotting; +import com.djhk.uav.label.domain.PlottingQuery; +import com.djhk.uav.label.service.LabelService; +import com.djhk.uav.label.service.impl.AppFolderInfoServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * @author jwh + * @version 1.0 + * @description + * @date 2023/7/26 11:03:55 + */ +@RestController +@RequestMapping("/plot") +public class LabelController extends BaseController { + + @Autowired + private LabelService labelService; + @Autowired + private AppFolderInfoServiceImpl appFolderInfoService; +// @Resource +// private RemoteUserService userService; + @Autowired + private ISysUserService userService; + + + /** + * 导出kml文件 + * + * + * @return + */ + @GetMapping(value = "/downloadPlot") + public R listCatalogue(@RequestParam List folderIds) { + return labelService.downloadPlot(folderIds); + } + + @PostMapping("/importPlot") + public R uploadFile(@RequestParam("file") MultipartFile file){ + return labelService.uploadPlot(file); + } + + /** + * 添加标注目录 + * + * @param folderInfo + * @return + */ + @PostMapping("/addDir") + public R addCatalogue(@RequestBody FolderInfo folderInfo) { + //web端目录 + folderInfo.setSource(1); + folderInfo.setInit(0); + int i = appFolderInfoService.insertFolderInfo(folderInfo); + if (i > 0) { + return R.ok(folderInfo.getId()); + } + return R.fail("新增失败"); +// return labelService.addCatalogue(catalogueDto); + } + + /** + * 删除目录 + * + * @param ids + * @return + */ + @GetMapping("/{ids}") + public R delete(@PathVariable Integer[] ids) { + return labelService.deleteCatalogue(ids); + } + + /** + * 修改目录名称 + * + * @param folderInfo + * @return + */ + @PostMapping("/updateDir") + public R updateCatalogue(@RequestBody FolderInfo folderInfo) { + + //web端目录 + folderInfo.setSource(1); + folderInfo.setInit(0); + return appFolderInfoService.updateFolderInfo(folderInfo); +// return labelService.updateCatalogue(catalogueDto); + } + + /** + * 查询目录列表--不分页 + * + * @param folderInfo + * @return + */ + @GetMapping("/listdir") + public R listCatalogue(FolderInfo folderInfo) { + List list = new ArrayList<>(); +// if ( +// StringUtils.isNotEmpty(folderInfo.getAppId()) +// && folderInfo.getOrgId() != null +// ){ +// startPage(); +// list = appFolderInfoService.selectFolderInfoList(folderInfo); +// } + startPage(); + list = appFolderInfoService.selectFolderInfoList(folderInfo); + return R.ok(list); + } + + /** + * 修改目录锁定状态 + * + * @param id + * @param lockStatus + */ + @GetMapping("/changeLockStatusDir") + public R changeLockStatus(@RequestParam("id") Integer id, @RequestParam("lockStatus") Integer lockStatus) { + return labelService.changeLockStatusCatalogue(id, lockStatus); + } + + /** + * 修改目录显示/隐藏状态 + * + * @param id + * @param showStatus + * @return + */ + @GetMapping("/changeShowStatusDir") + public R changeShowStatus(@RequestParam("id") Integer id, @RequestParam("showStatus") Integer showStatus) { + return labelService.changeShowStatusCatalogue(id, showStatus); + } + + /** + * 修改目录分享状态 + * + * @param id + * @param shareStatus + * @return + */ + @GetMapping("/changeShareStatusDir") + public R changeShareStatus(@RequestParam("id") Integer id, @RequestParam("shareStatus") Integer shareStatus) { + return labelService.changeShareStatusCatalogue(id, shareStatus); + } + + + /** + * 添加标注目录 + * + * @param plotting + * @return + */ + @PostMapping("/addPlotWeb") + public R addPlot(@RequestBody Plotting plotting) { +// SysUser sysUser = userService.getUserInfoByUserId(SecurityUtils.getUserId(), SecurityConstants.INNER).getData(); +// plotting.setOrgId(sysUser.getDeptId()); +// plotting.setCreateBy(sysUser.getUserName()); + plotting.setOrgId(SecurityUtils.getDeptId()); + plotting.setCreateBy(SecurityUtils.getUsername()); + plotting.setCreateTime(DateUtils.getNowDate()); + plotting.setDataType("GeoJSON"); + plotting.setOrder(0); + plotting.setDelFlag("0"); + return labelService.addPlotWeb(plotting); + } + + /** + * 添加标注目录 + * + * @param uuid + * @return + */ + @GetMapping("/selectPlotByUuid/{uuid}") + public R selectPlotByUuid(@PathVariable String uuid) { + return labelService.selectPlotByUuid(uuid); + } + + + /** + * 删除目录 + * + * @param ids + * @return + */ + @GetMapping("/deletePlot/{ids}") + public R deletePlot(@PathVariable Integer[] ids) { + return labelService.deletePlot(ids); + } + + /** + * 删除目录下的所有标绘 + * + * @param ids + * @return + */ + @GetMapping("/deleteDirInner/{ids}") + public R deleteDirInner(@PathVariable Integer[] ids) { + return labelService.deleteDirInner(ids); + } + + /** + * 修改目录名称 + * + * @param catalogueDto + * @return + */ + @PostMapping("/updatePlot") + public R updatePlot(@RequestBody CatalogueDto catalogueDto) { + return labelService.updatePlot(catalogueDto); + } + /** + * 修改标绘数据ByUUID + * + * @param plotting + * @return + */ + @PostMapping("/updatePlotByUUID") + public R updatePlotByUUID(@RequestBody Plotting plotting) { + return labelService.updatePlotByUUID(plotting); + } + + @PostMapping("/updateOrder") + public R updateOrder(@RequestBody List> list){ + R result = labelService.updateOrder(list); + return result; + } + + /** + * 查询目录列表--不分页 + * + * @param folderId + * @return + */ + @GetMapping("/listPlot") + public TableDataInfo listPlot(@RequestParam(required = false) Integer folderId, @RequestParam Integer pageNum, @RequestParam Integer pageSize) { + return labelService.listPlot(folderId,pageNum,pageSize); + } + /** + * 查询标绘列表 + * + * @return + */ + @GetMapping("/plottings") + public R plottings() { + return labelService.listAllPlot(); + } + + /** + * 修改标绘锁定状态 + * + * @param id + * @param lockStatus + */ + @GetMapping("/changeLockStatusPlot") + public R changeLockStatusPlot(@RequestParam("id") Integer id, @RequestParam("lockStatus") Integer lockStatus) { + return labelService.changeLockStatusPlot(id, lockStatus); + } + + /** + * 修改标绘显示/隐藏状态 + * + * @param id + * @param showStatus + * @return + */ + @GetMapping("/changeShowStatusPlot") + public R changeShowStatusPlot(@RequestParam("id") Integer id, @RequestParam("showStatus") Integer showStatus) { + return labelService.changeShowStatusPlot(id, showStatus); + } + + /** + * 修改标绘分享状态 + * + * @param id + * @param shareStatus + * @return + */ + @GetMapping("/changeShareStatusPlot") + public R changeShareStatusPlot(@RequestParam("id") Integer id, @RequestParam("shareStatus") Integer shareStatus) { + return labelService.changeShareStatusPlot(id, shareStatus); + } + + @GetMapping("/collection") + public R plotCollection(@RequestParam Map params) { + return labelService.plotCollection(params); + } + + @GetMapping("/infoByUuid") + public R infoByUuid(@RequestParam("uuid") String uuid) { + return labelService.infoByUuid(uuid); + } + + @GetMapping("/deleteByUuid") + public R deleteByUuid(@RequestParam("uuid") String uuid) { + return labelService.deleteByUuid(uuid); + } + + @GetMapping("/count") + public R count(PlottingQuery query) { + return labelService.count(query); + } + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/AppFolderParam.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/AppFolderParam.java new file mode 100644 index 0000000..fff3c84 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/AppFolderParam.java @@ -0,0 +1,39 @@ +package com.djhk.uav.label.domain; + +import com.djhk.common.annotation.Excel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @description + * @author jiachengshuai + * @date 2023/9/5 09:20:07 + * @version 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AppFolderParam +{ + /** appId */ + @Excel(name = "appId") + private String appId; + + /** 组织id */ + @Excel(name = "组织id") + private Long orgId; + + /** 项目编号 */ + private String itemCode; + + private Long id; + + private List orders; + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/AppOrderParam.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/AppOrderParam.java new file mode 100644 index 0000000..b090c1d --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/AppOrderParam.java @@ -0,0 +1,26 @@ +package com.djhk.uav.label.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description + * @author jiachengshuai + * @date 2023/9/5 09:20:07 + * @version 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AppOrderParam +{ + + private Long id; + + private Integer order; + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/CatalogueDto.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/CatalogueDto.java new file mode 100644 index 0000000..ec3478c --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/CatalogueDto.java @@ -0,0 +1,86 @@ +package com.djhk.uav.label.domain; + +import com.djhk.common.core.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CatalogueDto extends BaseEntity { + + + /** + * 目录ID + */ + private Integer id; + + /** + * 目录名称 + */ + private String name; + + /** + * 类型,1标绘,2电子围栏,99模板目录(创建组织时需要复制该目录) + */ + private Integer type; + + /** + * appId + */ + private String appId; + + /** + * 组织id + */ + private String orgId; + + /** + * 父级目录id + */ + private Long parentId; + + + /** + * 父级目录id + */ + private Long folderId; + + /** + * 锁定状态,0未锁定,1锁定 + */ + private Integer lockStatus; + + /** + * 分享状态,0不分享,1分享 + */ + private Integer shareStatus; + + /** + * showStatus + */ + private Integer showStatusWeb; + + /** + * showStatus + */ + private Integer showStatusAPP; + + /** + * 来源 + */ + private Integer source; + + private Integer init; + + private String couldDel; + + private String data; + + private List children; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/CatalogueVo.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/CatalogueVo.java new file mode 100644 index 0000000..a9714b1 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/CatalogueVo.java @@ -0,0 +1,35 @@ +package com.djhk.uav.label.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CatalogueVo { + /** 目录ID */ + private Long id; + + /** 目录名称 */ + private String name; + + /** 类型,1标绘,2电子围栏,99模板目录(创建组织时需要复制该目录) */ + private String type; + + /** 父级目录id */ + private String parentId; + + + /** 锁定状态,0未锁定,1锁定 */ + private String lockStatus; + + + /** 分享状态,0不分享,1分享 */ + private String shareStatus; + + /** showStatus */ + private String showStatus; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/FolderInfo.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/FolderInfo.java new file mode 100644 index 0000000..0302160 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/FolderInfo.java @@ -0,0 +1,95 @@ +package com.djhk.uav.label.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * 目录信息对象 folder_info + * + * @author myk + * @date 2023-07-22 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class FolderInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 目录名称 */ + @Excel(name = "目录名称") + private String name; + + /** 类型,1标绘,2电子围栏,99模板目录(创建组织时需要复制该目录) */ + @Excel(name = "类型,1标绘,2电子围栏,99模板目录", readConverterExp = "创=建组织时需要复制该目录") + private Long type; + + /** 父级目录 */ + @Excel(name = "父级目录") + private Long parentId; + + /** appId */ + @Excel(name = "appId") + private String appId; + + /** 组织id */ + @Excel(name = "组织id") + private Long orgId; + + /** 项目编号 */ + private String itemCode; + + /** 显隐状态,0显示,1隐藏 */ + @Excel(name = "app显隐状态,0显示,1隐藏") + private Integer showStatusApp; + + /** 显隐状态,0显示,1隐藏 */ + @Excel(name = "web显隐状态,0显示,1隐藏") + private Integer showStatusWeb; + + /** 锁定状态,0未锁定,1锁定 */ + @Excel(name = "锁定状态,0未锁定,1锁定") + private Integer lockStatus; + + /** 分享状态,0未分享,1分享 */ + @Excel(name = "分享状态,0未分享,1分享") + private Integer shareStatus; + + /** 创建人 */ + @Excel(name = "创建人") + private Long createUserId; + + /** 更新人 */ + @Excel(name = "更新人") + private Long updateUserId; + + /** 删除时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date deleteTime; + + /** 删除人 */ + @Excel(name = "删除人") + private Long deleteUserId; + + private String delFlag; + + private Integer source; + + private Integer init; + + + private Integer order; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/PlotDTO.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/PlotDTO.java new file mode 100644 index 0000000..11da673 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/PlotDTO.java @@ -0,0 +1,68 @@ +package com.djhk.uav.label.domain; + +import com.djhk.common.core.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 标注管理DTO对象 + * + * @author jwh + * @date 2023-7-26 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PlotDTO extends BaseEntity { + + private Long id; + /** 模型名称 */ + private String modelName; + + /** 类型 */ + private String modelType; + + /** 模型id */ + private String modelId; + + /** 类型名称 */ +// private String typeName; + + /** 启用状态,0启用,1禁用 */ + private String status; + + /** 模型id */ + private Long[] ids; + +// /** 模型文件 */ + private String file; + + /** 外部文件连接 */ + private String uploadUrl; + + /** 组织id */ + private Long orgId; + + /** 备注描述 */ + private String remark; + + /** 经度 */ + private String lng; + + /** 纬度 */ + private String lat; + + /** 锁定状态,0未锁定,1锁定 */ + private String lockStatus; + + /** appId */ + private String appId; + + /** 模型url */ + private String url; + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/PlotVo.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/PlotVo.java new file mode 100644 index 0000000..9cf9ed8 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/PlotVo.java @@ -0,0 +1,62 @@ +package com.djhk.uav.label.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PlotVo { + + /** 目录ID */ + private Long id; + + /** 目录名称 */ + private String name; + + /** 类型,1标绘,2电子围栏,99模板目录(创建组织时需要复制该目录) */ + private String type; + + /** 父级目录id */ + private String parentId; + + + /** 锁定状态,0未锁定,1锁定 */ + private String lockStatus; + + + /** 分享状态,0不分享,1分享 */ + private String shareStatus; + + /** showStatus */ + private String showStatus; + + /** 组织id */ + private Long orgId; + + + /** appId */ + private String appId; + + /** 文件夹id */ + private String[] ids; + + /** 备注描述 */ + private String remark; + + /** 经度 */ + private String lng; + + /** 纬度 */ + private String lat; + + /** 模型url */ + private String url; + + /** 高度 */ + private String alt; + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/Plotting.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/Plotting.java new file mode 100644 index 0000000..9bb120b --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/Plotting.java @@ -0,0 +1,147 @@ +package com.djhk.uav.label.domain; + + +import com.djhk.common.annotation.Excel; +import com.djhk.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * 标绘对象 plotting + * + * @author lwk + * @date 2023-07-22 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class Plotting extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 标绘名称 */ + @Excel(name = "标绘名称") + private String name; + + /** 标绘类型 + point 点, + polyline 线, + polygon 多边形, + circle 圆, + rectangle 矩形 + */ + @Excel(name = "标绘类型,point 点,polyline 线,polygon 多边形,circle 圆, rectangle 矩形 ") + private String plottingType; + + /** appId */ + @Excel(name = "appId") + private String appId; + + /** 组织id */ + @Excel(name = "组织id") + private Long orgId; + + /** 项目编号 */ + private String itemCode; + + /** 显隐状态,0显示,1隐藏 */ + @Excel(name = "app显隐状态,0显示,1隐藏") + private Integer showStatusApp; + + /** 显隐状态,0显示,1隐藏 */ + @Excel(name = "web显隐状态,0显示,1隐藏") + private Integer showStatusWeb; + + /** 锁定状态,0未锁定,1锁定 */ + @Excel(name = "锁定状态,0未锁定,1锁定") + private Integer lockStatus; + + /** 分享状态,0未分享,1分享 */ + @Excel(name = "分享状态,0未分享,1分享") + private Integer shareStatus; + + /** 数据类型,WKT、GeoJSON、KML、JSON */ + @Excel(name = "数据类型,WKT、GeoJSON、KML、JSON") + private String dataType; + + /** 分类,1标绘,2电子围栏 */ + @Excel(name = "分类,1标绘,2电子围栏") + private Integer type; + + /** 目录id */ + @Excel(name = "目录id") + private Long folderId; + + /** 删除状态,'0'未删除,'2'已删除 */ + private String delFlag; + + /** 创建人 */ + @Excel(name = "创建人") + private Long createUserId; + + /** 更新人 */ + @Excel(name = "更新人") + private Long updateUserId; + + /** 删除人 */ + @Excel(name = "删除人") + private Long deleteUserId; + + /** 数据 */ + @Excel(name = "数据") + private String data; + + private Integer source; + + private String uuid; + + private Integer seq; + + /** 创建者 */ + private String createBy; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** 更新者 */ + private String updateBy; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** 删除者 */ + private String deleteBy; + + /** 删除时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date deleteTime; + + + private Integer order; + + /** 关联航线数量 */ + private int airlineCount; + + /** 1 起点 2 终点 */ + private Integer relationType; + + + private String username; + + + private String folderName; + + + private Boolean share; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/PlottingQuery.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/PlottingQuery.java new file mode 100644 index 0000000..3bd4065 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/PlottingQuery.java @@ -0,0 +1,39 @@ +package com.djhk.uav.label.domain; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +public class PlottingQuery { + + private Long id; + + @NotBlank + private String appId; + + private String itemCode; + + @NotNull + private Long orgId; + + private List orgIds; + + private Integer lockStatus; + + private Integer showStatusWeb; + + private Integer showStatusApp; + + private Integer shareStatus; + + private Long folderId; + + private Long lastId; + + private Integer type; + + private String plottingType; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/SavePlotDto.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/SavePlotDto.java new file mode 100644 index 0000000..cf731ae --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/SavePlotDto.java @@ -0,0 +1,39 @@ +package com.djhk.uav.label.domain; + +import com.djhk.common.core.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SavePlotDto extends BaseEntity { + + private String appId; + + private Long orgId; + + /** 模型名称 */ + private String modelName; + + /** 外部文件连接 */ + private String uploadUrl; + + /** 启用状态,0启用,1禁用 */ + private String status; + + /** 上传bucket,sts接口中获取*/ + private String bucketName; + + /** 文件名*/ + private String fileName; + + /** Json文件路径,下面有生成规则*/ + private String indexFilePath; + + /** Json文件名,前端解析zip文件获取*/ + private String indexFileName; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/domain/vo/FolderVo.java b/djhk-system/src/main/java/com/djhk/uav/label/domain/vo/FolderVo.java new file mode 100644 index 0000000..6301691 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/domain/vo/FolderVo.java @@ -0,0 +1,75 @@ +package com.djhk.uav.label.domain.vo; + + +import com.djhk.common.annotation.Excel; +import com.djhk.uav.label.domain.Plotting; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class FolderVo { + /** $column.columnComment */ + private Long id; + + /** 目录名称 */ + @Excel(name = "目录名称") + private String name; + + /** 类型,1标绘,2电子围栏,99模板目录(创建组织时需要复制该目录) */ + @Excel(name = "类型,1标绘,2电子围栏,99模板目录", readConverterExp = "创=建组织时需要复制该目录") + private Long type; + + /** 父级目录 */ + @Excel(name = "父级目录") + private Long parentId; + + /** appId */ + @Excel(name = "appId") + private String appId; + + private String appName; + + private String itemName; + + private String orgName; + + /** 组织id */ + @Excel(name = "组织id") + private Long orgId; + + /** 显隐状态,0显示,1隐藏 */ + @Excel(name = "显隐状态,0显示,1隐藏") + private Integer showStatusApp; + + @Excel(name = "显隐状态,0显示,1隐藏") + private Integer showStatusWeb; + + /** 锁定状态,0未锁定,1锁定 */ + @Excel(name = "锁定状态,0未锁定,1锁定") + private Integer lockStatus; + + /** 分享状态,0未分享,1分享 */ + @Excel(name = "分享状态,0未分享,1分享") + private Integer shareStatus; + + @Excel(name = "1web 2app") + private Integer source; + + //是否为系统创建目录,0否,1是 + private Integer init; + + //是否可以删除,0否,1是 + private Integer couldDel; + + private Date createTime; + + //是否有标绘信息 + private Boolean plottingStatus; + + private List children; + + private List plottings; + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/mapper/FolderInfoMapper.java b/djhk-system/src/main/java/com/djhk/uav/label/mapper/FolderInfoMapper.java new file mode 100644 index 0000000..a49d9a1 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/mapper/FolderInfoMapper.java @@ -0,0 +1,87 @@ +package com.djhk.uav.label.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.djhk.uav.label.domain.FolderInfo; +import com.djhk.uav.label.domain.vo.FolderVo; +import com.djhk.uav.label.query.FolderTreeQuery; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 目录信息Mapper接口 + * + * @author myk + * @date 2023-07-22 + */ +public interface FolderInfoMapper extends BaseMapper +{ + /** + * 查询目录信息 + * + * @param id 目录信息主键 + * @return 目录信息 + */ + public FolderInfo selectFolderInfoById(Long id); + + /** + * 查询目录信息列表 + * + * @param folderInfo 目录信息 + * @return 目录信息集合 + */ + public List selectFolderInfoList(FolderInfo folderInfo); + + /** + * 新增目录信息 + * + * @param folderInfo 目录信息 + * @return 结果 + */ + public int insertFolderInfo(FolderInfo folderInfo); + + /** + * 修改目录信息 + * + * @param folderInfo 目录信息 + * @return 结果 + */ + public int updateFolderInfo(FolderInfo folderInfo); + + /** + * 删除目录信息 + * + * @param id 目录信息主键 + * @return 结果 + */ + public int deleteFolderInfoById(Long id); + + /** + * 批量删除目录信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteFolderInfoByIds(Long[] ids); + + List selectLockFolderNames(@Param("ids") List ids); + + List queryFolderVos(FolderTreeQuery query); + + List findFirstParentFolders(@Param("ids") List ids); + + List selectIdsByParentIds(@Param("parentIds") List parentIds); + + List selectHaveLockPlottingFolders(@Param("ids") List allIds); + + List selectSelfAndChildren(@Param("id") Long id); + + int batchUpdateShowStatusApp(@Param("ids") List ids, @Param("showStatusApp") Integer showStatusApp); + + int batchUpdateShowStatusWeb(@Param("ids") List ids, @Param("showStatusWeb") Integer showStatusWeb); + + int batchUpdateShareStatus(@Param("ids")List ids, @Param("shareStatus")Integer shareStatus); + + int changeLockStatus(@Param("ids") List ids, @Param("lockStatus") Integer lockStatus); +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/mapper/PlottingMappers.java b/djhk-system/src/main/java/com/djhk/uav/label/mapper/PlottingMappers.java new file mode 100644 index 0000000..fba88d7 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/mapper/PlottingMappers.java @@ -0,0 +1,111 @@ +package com.djhk.uav.label.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.djhk.uav.label.domain.Plotting; +import com.djhk.uav.label.domain.PlottingQuery; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 标绘Mapper接口 + * + * @author myk + * @date 2023-07-22 + */ +public interface PlottingMappers extends BaseMapper +{ + /** + * 查询标绘 + * + * @param id 标绘主键 + * @return 标绘 + */ + public Plotting selectPlottingById(Long id); + + + public Plotting selectPlottingByUUId(String uuid); + + /** + * 查询标绘列表 + * + * @param plotting 标绘 + * @return 标绘集合 + */ + public List selectPlottingList(Plotting plotting); + + /** + * 新增标绘 + * + * @param plotting 标绘 + * @return 结果 + */ + public int insertPlotting(Plotting plotting); + + /** + * 修改标绘 + * + * @param plotting 标绘 + * @return 结果 + */ + public int updatePlotting(Plotting plotting); + + + public int updatePlottingByUUId(Plotting plotting); + + /** + * 删除标绘 + * + * @param id 标绘主键 + * @return 结果 + */ + public int deletePlottingById(Long id); + + /** + * 批量删除标绘 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deletePlottingByIds(Long[] ids); + + public int deletePlottingByUUId(String uuid); + + /** + * 根据标绘名称 查出最大值 + * + * @param name 用户名称 + * @return 结果 + */ + public Integer selectSeqByPlottingName(@Param("name") String name); + + int updateLockStatusByFolderId(@Param("folderId") Long folderId, @Param("lockStatus") Integer lockStatus); + + Integer selectMaxLockStatusByFolderIdIds(@Param("folderIds") List folderIds); + + int batchUpdateShowStatusAppByFolderId(@Param("folderIds") List folderIds, @Param("showStatusApp") Integer showStatusApp); + + int batchUpdateShowStatusWebByFolderId(@Param("folderIds") List folderIds, @Param("showStatusWeb")Integer showStatusWeb); + + int batchUpdateShareStatusByFolderId(@Param("folderIds") List ids, @Param("shareStatus") Integer shareStatus); + + int batchInsertPlotting(@Param("plottings") List plotting); + + int selectLockedNum(@Param("ids") Long[] ids); + + int selectLockedNumByUUId(@Param("ids") String[] ids); + + int changeLockStatus(@Param("id") Long id, @Param("lockStatus") Integer lockStatus); + + int changeShareStatus(@Param("id") Long id, @Param("shareStatus") Integer shareStatus ); + + int changeShowStatusWeb(@Param("id") Long id, @Param("showStatus") Integer showStatus); + + int changeShowStatusApp(@Param("id") Long id, @Param("showStatus") Integer showStatus); + + List selectPlottingListById(PlottingQuery query); + + + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/query/FolderTreeQuery.java b/djhk-system/src/main/java/com/djhk/uav/label/query/FolderTreeQuery.java new file mode 100644 index 0000000..3acf003 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/query/FolderTreeQuery.java @@ -0,0 +1,29 @@ +package com.djhk.uav.label.query; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class FolderTreeQuery { + + private String name; + + private String itemCode; + + private String appId; + + private Long orgId; + + private Integer type; + + private List parentIds; + + private List ids; +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/service/LabelService.java b/djhk-system/src/main/java/com/djhk/uav/label/service/LabelService.java new file mode 100644 index 0000000..ad10bcc --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/service/LabelService.java @@ -0,0 +1,193 @@ +package com.djhk.uav.label.service; + +import com.djhk.common.core.domain.R; +import com.djhk.common.core.page.TableDataInfo; +import com.djhk.uav.label.domain.CatalogueDto; +import com.djhk.uav.label.domain.Plotting; +import com.djhk.uav.label.domain.PlottingQuery; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +/** + * @author jwh + * @version 1.0 + * @description + * @date 2023/7/26 14:42:10 + */ +public interface LabelService { + + R downloadPlot(List folderIds); + + R uploadPlot(MultipartFile file); + + /** + * 添加标注目录 + * + * @param catalogueDto + * @return + */ + R addCatalogue(CatalogueDto catalogueDto); + + /** + * 删除目录 + * + * @param ids + * @return + */ + R deleteCatalogue(Integer[] ids); + + /** + * 修改目录名称 + * + * @param catalogueDto + * @return + */ + R updateCatalogue(CatalogueDto catalogueDto); + + /** + * 查询目录列表--不分页 + * + * @param catalogueDto + * @return + */ + R listCatalogue(CatalogueDto catalogueDto); + + + /** + * 修改目录锁定状态 + * + * @param id + * @param lockStatus + * @return + */ + R changeLockStatusCatalogue(Integer id, Integer lockStatus); + + + /** + * 修改目录显示/隐藏状态 + * + * @param id + * @param showStatus + * @return + */ + R changeShowStatusCatalogue(Integer id, Integer showStatus); + + /** + * 修改目录显示/隐藏状态 + * + * @param id + * @param shareStatus + * @return + */ + R changeShareStatusCatalogue(Integer id, Integer shareStatus); + + + /** + * 添加标注目录 + * + * @param plotting + * @return + */ + R addPlotWeb(Plotting plotting); + + + R selectPlotByUuid(String uuid); + + /** + * 删除目录 + * + * @param ids + * @return + */ + R deletePlot(Integer[] ids); + + /** + * 修改目录名称 + * + * @param catalogueDto + * @return + */ + R updatePlot(CatalogueDto catalogueDto); + + /** + * 修改标绘ByUUID + * + * @param plotting + * @return + */ + R updatePlotByUUID(Plotting plotting); + + /** + * 数据拖拽 + * + * @param list + * @return + */ + R updateOrder(List list); + + /** + * 查询目录列表--不分页 + * + * @param folderId + * @return + */ + TableDataInfo listPlot(Integer folderId, Integer pageNum, Integer pageSize); + + /** + * 查询目录列表--不分页 + * + * @return + */ + R listAllPlot(); + /** + * 修改标绘锁定状态 + * + * @param id + * @param lockStatus + * @return + */ + R changeLockStatusPlot(Integer id, Integer lockStatus); + + + /** + * 修改标绘显示/隐藏状态 + * + * @param id + * @param showStatus + * @return + */ + R changeShowStatusPlot(Integer id, Integer showStatus); + + /** + * 修改标绘显示/隐藏状态 + * + * @param id + * @param shareStatus + * @return + */ + R changeShareStatusPlot(Integer id, Integer shareStatus); + + + /** + * 查询标会点列表 + * @param params + * @return + */ + R plotCollection(Map params); + + /** + * 删除目录中所有的标绘 + * + * @param ids + * @return + */ + R deleteDirInner(Integer[] ids); + + R infoByUuid(String uuid); + + R deleteByUuid(String uuid); + + R count(PlottingQuery query); +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/service/impl/AppFolderInfoServiceImpl.java b/djhk-system/src/main/java/com/djhk/uav/label/service/impl/AppFolderInfoServiceImpl.java new file mode 100644 index 0000000..3952148 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/service/impl/AppFolderInfoServiceImpl.java @@ -0,0 +1,505 @@ +package com.djhk.uav.label.service.impl; + + +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.djhk.common.core.domain.R; +import com.djhk.common.utils.DateUtils; +import com.djhk.uav.label.domain.AppFolderParam; +import com.djhk.uav.label.domain.AppOrderParam; +import com.djhk.uav.label.domain.FolderInfo; +import com.djhk.uav.label.domain.Plotting; +import com.djhk.uav.label.domain.vo.FolderVo; +import com.djhk.uav.label.mapper.FolderInfoMapper; +import com.djhk.uav.label.mapper.PlottingMappers; +import com.djhk.uav.label.query.FolderTreeQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service("appFolderInfoService") +public class AppFolderInfoServiceImpl { + @Autowired + private FolderInfoMapper folderInfoMapper; + + @Autowired + private PlottingMappers plottingMapper; + + /** + * 查询目录信息 + * + * @param id 目录信息主键 + * @return 目录信息 + */ + + public FolderInfo selectFolderInfoById(Long id) + { + return folderInfoMapper.selectFolderInfoById(id); + } + + /** + * 查询目录信息列表 + * + * @param folderInfo 目录信息 + * @return 目录信息 + */ + + public List selectFolderInfoList(FolderInfo folderInfo) + { + return folderInfoMapper.selectFolderInfoList(folderInfo); + } + + /** + * 新增目录信息 + * + * @param folderInfo 目录信息 + * @return 结果 + */ + + public int insertFolderInfo(FolderInfo folderInfo) + { + folderInfo.setCreateTime(DateUtils.getNowDate()); + return folderInfoMapper.insertFolderInfo(folderInfo); + } + + /** + * 修改目录信息 + * + * @param folderInfo 目录信息 + * @return 结果 + */ + + public R updateFolderInfo(FolderInfo folderInfo) + { + FolderInfo folder = folderInfoMapper.selectFolderInfoById(folderInfo.getId()); + if (folder == null) { + return R.fail("目录不存在"); + } + + if ( + !folder.getAppId().equals(folderInfo.getAppId()) + || !folder.getOrgId().equals(folderInfo.getOrgId()) + ) { + return R.fail("目录不存在"); + } + + if (folder.getLockStatus() == 1) { + return R.fail("目录已锁定,不可修改"); + } + folderInfo.setUpdateTime(DateUtils.getNowDate()); + int i = folderInfoMapper.updateFolderInfo(folderInfo); + if (i > 0) { + return R.ok("修改成功"); + } + return R.fail("修改失败"); + } + + /** + * 批量删除目录信息 + * + * @param ids 需要删除的目录信息主键 + * @return 结果 + */ + + public R deleteFolderInfoByIds(Long[] ids,String appId, Long orgId) + { + //1.查询所有属于这个 + Integer count = folderInfoMapper.selectCount( + new QueryWrapper() + .in("id", ids) + .eq("app_id", appId) + .eq("org_id", orgId) + ); + if (count != ids.length) { + return R.fail("批量修改参数错误"); + } + //查询所有子集目录id + List allIds = queryAllIds(new ArrayList<>(Arrays.asList(ids))); + //校验是否有锁定状态的目录,如果有,提示不可删除 + List lockFolders = folderInfoMapper.selectLockFolderNames(allIds); + if (!CollectionUtils.isEmpty(lockFolders)) { + return R.fail(JSON.toJSONString(lockFolders)+"已锁定,不允许删除"); + } + + //查询是否有锁定状态的标绘,如果有,不允许删除 + List haveLockPlottingFolders = folderInfoMapper.selectHaveLockPlottingFolders(allIds); + if (!CollectionUtils.isEmpty(haveLockPlottingFolders)) { + return R.fail(JSON.toJSONString(haveLockPlottingFolders)+"下有锁定标绘,不允许删除"); + } + int i = folderInfoMapper.deleteFolderInfoByIds(allIds.toArray(new Long[allIds.size()])); + if (i > 0) { + return R.ok("删除成功"); + } + return R.fail("删除失败"); + } + + @Transactional + public R deleteFolderInfoByIdsV1(Long id,String appId, Long orgId) + { + Optional folderOpt = folderInfoMapper.selectList( + new QueryWrapper() + .eq("id", id) + .eq("app_id", appId) + .eq("org_id", orgId) + .eq("del_flag", "0") + ).stream().findFirst(); + if (folderOpt.isEmpty()) { + return R.fail("目录为空"); + } + //校验是否有锁定状态的目录,如果有,提示不可删除 + List lockFolders = folderInfoMapper.selectLockFolderNames(List.of(id)); + if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(lockFolders)) { + return R.fail("目录已被锁定,删除失败"); + } + + FolderInfo folderInfo = folderOpt.get(); + //非默认目录 + if(folderInfo.getInit() == 0){ + folderInfoMapper.deleteFolderInfoByIds(new Long[]{folderInfo.getId()}); + } + Plotting plotting = new Plotting(); + plotting.setDelFlag("2"); + plottingMapper.update(plotting,new LambdaQueryWrapper().eq(Plotting::getFolderId,folderInfo.getId())); + return R.ok(); + } + + /** + * 查询自身+所有下级id + * @param ids + * @return + */ + private List queryAllIds(List ids) { + List childIds = List.copyOf(ids); + do { + childIds = folderInfoMapper.selectIdsByParentIds(childIds); + if (!CollectionUtils.isEmpty(childIds)) { + childIds = childIds.stream().filter(id -> !ids.contains(id)).collect(Collectors.toList()); + ids.addAll(childIds); + } + }while (!CollectionUtils.isEmpty(childIds)); + return ids; + } + + /** + * 删除目录信息信息 + * + * @param id 目录信息主键 + * @return 结果 + */ + + public int deleteFolderInfoById(Long id) + { + return folderInfoMapper.deleteFolderInfoById(id); + } + + + public R> queryFolderTree(FolderTreeQuery query) { + checkAndCreateDefaultFolders(query.getAppId(),query.getOrgId()); + List folderVos = folderInfoMapper.queryFolderVos(query); + if (CollectionUtils.isEmpty(folderVos)) { + return R.ok(); + } + List folderVoList = folderVos.stream().map(this::checkFoldersWithPlotting).collect(Collectors.toList()); + // TODO: 2023/9/22 文件目录只有一层 +// List parentIds = folderVos.stream().map(f -> f.getParentId()).collect(Collectors.toList()); +// List allParentsFolder = findAllParentsFolder(parentIds); +// folderVos.addAll(allParentsFolder); + List folderTree = getFolderTree(folderVoList); + return R.ok(folderTree); + } + + private FolderVo checkFoldersWithPlotting(FolderVo folderVo) { + if(folderVo == null){ + return new FolderVo(); + } + Boolean share = false; + if(folderVo.getInit() == 1 && folderVo.getSource() == 2){ + share = true; + } + folderVo.setPlottingStatus(false); + Plotting plotting = new Plotting(); + plotting.setFolderId(folderVo.getId()); + List plottings = plottingMapper.selectPlottingList(plotting); + if(com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(plottings)){ + folderVo.setPlottingStatus(true); + } + for(Plotting plotting1 : plottings){ + plotting1.setFolderName(folderVo.getName()); + plotting1.setShare(share); + } + folderVo.setPlottings(plottings); + return folderVo; + } + + private void checkAndCreateDefaultFolders(String appId,Long orgId) { + Integer count = folderInfoMapper.selectCount( + new QueryWrapper() + .eq("app_id",appId) + .eq("org_id",orgId) + .eq("del_flag","0") + .eq("type",1) + .eq("init",1) + ); + + if (count == 0) { + List templateFolders = folderInfoMapper.selectList( + new QueryWrapper() + .eq("app_id", "-1") + .eq("del_flag", "0") + .eq("type", 1) + .eq("init", 1) + ); + + if (!CollectionUtils.isEmpty(templateFolders)) { + for (FolderInfo templateFolder : templateFolders) { + templateFolder.setAppId(appId); + templateFolder.setOrgId(orgId); + templateFolder.setCreateTime(new Date()); + templateFolder.setUpdateTime(new Date()); + folderInfoMapper.insertFolderInfo(templateFolder); + } + } + } + } + + private List getFolderTree(List folderVos) { + folderVos = folderVos.stream().distinct().collect(Collectors.toList()); + //筛选出所有parentId是0的根目录 + List root = folderVos.stream().filter(f -> f.getParentId() == 0).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(root)) { + return folderVos; + } + + Map rootMap = root.stream().collect(Collectors.toMap(FolderVo::getId, FolderVo -> FolderVo)); + List children = folderVos.stream().filter(f -> f.getParentId() != 0).collect(Collectors.toList()); + + Integer childNums = children.size(); + while (!CollectionUtils.isEmpty(children)) { + Map rootMapNew = new HashMap<>(); + Map finalRootMap = rootMap; + children.removeIf(c -> { + FolderVo parent = finalRootMap.get(c.getParentId()); + if (parent == null) { + return false; + } else { + List childrenList = parent.getChildren(); + if (childrenList == null) { + childrenList = new ArrayList<>(); + parent.setChildren(childrenList); + } + childrenList.add(c); + rootMapNew.put(c.getId(),c); + return true; + } + }); + + if (childNums == children.size()) { + break; + } + rootMap = rootMapNew; + } + return root; + } + + private List findAllParentsFolder(List parentIds) { + List allParents = new ArrayList<>(); + while (!CollectionUtils.isEmpty(parentIds)) { + List firstParentFolders = findFirstParentFolders(parentIds); + allParents.addAll(firstParentFolders); + parentIds = firstParentFolders.stream().map(f -> f.getParentId()).collect(Collectors.toList()); + } + return allParents; + } + + private List findFirstParentFolders(List ids) { + return folderInfoMapper.findFirstParentFolders(ids); + } + + + public R changeParent(Long parentId, Long id,String appId, Long orgId) { + + FolderInfo folderInfo = folderInfoMapper.selectFolderInfoById(id); + if ( + folderInfo == null + || "2".equals(folderInfo.getDelFlag()) + || !appId.equals(folderInfo.getAppId()) + || !orgId.equals(folderInfo.getOrgId()) + ) { + return R.fail("目录不存在"); + } + + FolderInfo parent = folderInfoMapper.selectFolderInfoById(parentId); + if ( + parent == null + || "2".equals(parent.getDelFlag()) + || !appId.equals(parent.getAppId()) + || !orgId.equals(parent.getOrgId()) + ) { + return R.fail("父级不存在"); + } + + //修改父级id + folderInfo.setParentId(parentId); + updateFolderInfo(folderInfo); + + //修改当前文件夹及下级文件夹显隐、锁定、分享状态 + + return R.ok(); + } + + @Transactional + + public R changeLockStatus(Long id,Integer lockStatus,String appId, Long orgId) { + FolderInfo folderInfo = folderInfoMapper.selectFolderInfoById(id); + if ( + folderInfo == null + || "2".equals(folderInfo.getDelFlag()) + || !appId.equals(folderInfo.getAppId()) + || !orgId.equals(folderInfo.getOrgId()) + ) { + return R.fail("目录不存在"); + } + + List folderInfos = folderInfoMapper.selectSelfAndChildren(id); + List ids = folderInfos.stream().map(FolderInfo::getId).collect(Collectors.toList()); + int i = folderInfoMapper.changeLockStatus(ids,lockStatus); + if (i > 0) { + plottingMapper.updateLockStatusByFolderId(id,lockStatus); + } + if (i > 0) { + plottingMapper.updateLockStatusByFolderId(id,lockStatus); + } + return R.ok(); + } + + + @Transactional + public R changeShowStatusWeb(Long id, Integer showStatus,String appId, Long orgId) { + FolderInfo folderInfo = folderInfoMapper.selectFolderInfoById(id); + if ( + folderInfo == null + || "2".equals(folderInfo.getDelFlag()) + || !appId.equals(folderInfo.getAppId()) + || !orgId.equals(folderInfo.getOrgId()) + ) { + return R.fail("目录不存在"); + } + + List folderInfos = folderInfoMapper.selectSelfAndChildren(id); + if (CollectionUtils.isEmpty(folderInfos)) { + return R.fail("目录不存在"); + } + + List lockFolderNames = folderInfos.stream().filter(f -> f.getLockStatus() == 1).map(f -> f.getName()).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(lockFolderNames)) { + return R.fail(JSON.toJSONString(lockFolderNames)+"目录已锁定,修改失败"); + } + List ids = folderInfos.stream().map(f -> f.getId()).collect(Collectors.toList()); + Integer maxLockStatus = plottingMapper.selectMaxLockStatusByFolderIdIds(ids); + if (maxLockStatus == 1) { + return R.fail("目录下有锁定状态标绘,操作失败"); + } + + //修改所有目录 + int i = folderInfoMapper.batchUpdateShowStatusWeb(ids,showStatus); + if (i > 0) { + plottingMapper.batchUpdateShowStatusWebByFolderId(ids,showStatus); + } + return R.ok(); + } + + + public R changeShareStatus(Long id, Integer shareStatus,String appId, Long orgId) { + FolderInfo folderInfo = folderInfoMapper.selectFolderInfoById(id); + if ( + folderInfo == null + || "2".equals(folderInfo.getDelFlag()) + || !appId.equals(folderInfo.getAppId()) + || !orgId.equals(folderInfo.getOrgId()) + ) { + return R.fail("目录不存在"); + } + + List folderInfos = folderInfoMapper.selectSelfAndChildren(id); + if (CollectionUtils.isEmpty(folderInfos)) { + return R.fail("目录不存在"); + } + + List lockFolderNames = folderInfos.stream().filter(f -> f.getLockStatus() == 1).map(f -> f.getName()).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(lockFolderNames)) { + return R.fail(JSON.toJSONString(lockFolderNames)+"目录已锁定,修改失败"); + } + List ids = folderInfos.stream().map(f -> f.getId()).collect(Collectors.toList()); + Integer maxLockStatus = plottingMapper.selectMaxLockStatusByFolderIdIds(ids); + if (maxLockStatus == 1) { + return R.fail("目录下有锁定状态标绘,操作失败"); + } + + //修改所有目录 + int i = folderInfoMapper.batchUpdateShareStatus(ids,shareStatus); + if (i > 0) { + plottingMapper.batchUpdateShareStatusByFolderId(ids,shareStatus); + } + return R.ok(); + } + + public R changeShareStatusV1(Long id, Integer shareStatus,String appId, Long orgId) { + FolderInfo folderInfo = folderInfoMapper.selectFolderInfoById(id); + if ( + folderInfo == null + || "2".equals(folderInfo.getDelFlag()) + || !appId.equals(folderInfo.getAppId()) + || !orgId.equals(folderInfo.getOrgId()) + ) { + return R.fail("目录不存在"); + } + +// List folderInfos = folderInfoMapper.selectSelfAndChildren(id); +// if (CollectionUtils.isEmpty(folderInfos)) { +// return R.fail("目录不存在"); +// } + + if(folderInfo.getInit() == 1 && folderInfo.getSource() == 2){ + return R.fail("暂不支持修改"); + } + if(folderInfo.getLockStatus() == 1){ + return R.fail("目录已锁定,修改失败"); + } + +// List lockFolderNames = folderInfos.stream().filter(f -> f.getLockStatus() == 1).map(f -> f.getName()).collect(Collectors.toList()); +// if (!CollectionUtils.isEmpty(lockFolderNames)) { +// return R.fail(JSON.toJSONString(lockFolderNames)+"目录已锁定,修改失败"); +// } +// List ids = folderInfos.stream().map(f -> f.getId()).collect(Collectors.toList()); +// Integer maxLockStatus = plottingMapper.selectMaxLockStatusByFolderIdIds(ids); +// if (maxLockStatus == 1) { +// return R.fail("目录下有锁定状态标绘,操作失败"); +// } + + //修改所有目录 + int i = folderInfoMapper.batchUpdateShareStatus(List.of(id),shareStatus); + if (i > 0) { + plottingMapper.batchUpdateShareStatusByFolderId(List.of(id),shareStatus); + } + return R.ok(); + } + + public R> orderFolder(AppFolderParam folderParam) { + Long id = folderParam.getId(); + List folderOrders = folderParam.getOrders(); + for(AppOrderParam orderParam : folderOrders){ + FolderInfo folderInfo = new FolderInfo(); + folderInfo.setId(orderParam.getId()); + folderInfo.setOrder(orderParam.getOrder()); + folderInfo.setUpdateTime(DateUtils.getNowDate()); + + folderInfoMapper.updateById(folderInfo); + } + return R.ok(Map.of("id",id)); + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/label/service/impl/LabelServiceImpl.java b/djhk-system/src/main/java/com/djhk/uav/label/service/impl/LabelServiceImpl.java new file mode 100644 index 0000000..b7943b9 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/label/service/impl/LabelServiceImpl.java @@ -0,0 +1,155 @@ +package com.djhk.uav.label.service.impl; + + +import com.djhk.common.core.domain.R; +import com.djhk.common.core.page.TableDataInfo; +import com.djhk.uav.label.domain.CatalogueDto; +import com.djhk.uav.label.domain.Plotting; +import com.djhk.uav.label.domain.PlottingQuery; +import com.djhk.uav.label.service.LabelService; +import lombok.val; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author jwh + * @version 1.0 + * @description + * @date 2023/7/26 14:44:10 + */ +@Service +public class LabelServiceImpl implements LabelService { + + + @Override + public R downloadPlot(List folderIds) { + return null; + } + + @Override + public R uploadPlot(MultipartFile file) { + return null; + } + + @Override + public R addCatalogue(CatalogueDto catalogueDto) { + return null; + } + + @Override + public R deleteCatalogue(Integer[] ids) { + return null; + } + + @Override + public R updateCatalogue(CatalogueDto catalogueDto) { + return null; + } + + @Override + public R listCatalogue(CatalogueDto catalogueDto) { + return null; + } + + @Override + public R changeLockStatusCatalogue(Integer id, Integer lockStatus) { + return null; + } + + @Override + public R changeShowStatusCatalogue(Integer id, Integer showStatus) { + return null; + } + + @Override + public R changeShareStatusCatalogue(Integer id, Integer shareStatus) { + return null; + } + + @Override + public R addPlotWeb(Plotting plotting) { + return null; + } + + @Override + public R selectPlotByUuid(String uuid) { + return null; + } + + @Override + public R deletePlot(Integer[] ids) { + return null; + } + + @Override + public R updatePlot(CatalogueDto catalogueDto) { + return null; + } + + @Override + public R updatePlotByUUID(Plotting plotting) { + return null; + } + + @Override + public R updateOrder(List list) { + return null; + } + + @Override + public TableDataInfo listPlot(Integer folderId, Integer pageNum, Integer pageSize) { + return null; + } + + @Override + public R listAllPlot() { + return null; + } + + @Override + public R changeLockStatusPlot(Integer id, Integer lockStatus) { + return null; + } + + @Override + public R changeShowStatusPlot(Integer id, Integer showStatus) { + return null; + } + + @Override + public R changeShareStatusPlot(Integer id, Integer shareStatus) { + return null; + } + + @Override + public R plotCollection(Map params) { + return null; + } + + @Override + public R deleteDirInner(Integer[] ids) { + return null; + } + + @Override + public R infoByUuid(String uuid) { + return null; + } + + @Override + public R deleteByUuid(String uuid) { + return null; + } + + @Override + public R count(PlottingQuery query) { + return null; + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/uav/domain/UavOperatorExportVo.java b/djhk-system/src/main/java/com/djhk/uav/uav/domain/UavOperatorExportVo.java new file mode 100644 index 0000000..39b4983 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/uav/domain/UavOperatorExportVo.java @@ -0,0 +1,28 @@ +package com.djhk.uav.uav.domain; + +import com.djhk.common.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@Data +public class UavOperatorExportVo implements Serializable { + + private static final long serialVersionUID = 1L; + + + private List ids; + + private List orgIds; + + private String userName; + + /** 最后一次执行任务时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "最后一次执行任务时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date planTime; + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/uav/service/IUavOperatorService.java b/djhk-system/src/main/java/com/djhk/uav/uav/service/IUavOperatorService.java new file mode 100644 index 0000000..9d0e96c --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/uav/service/IUavOperatorService.java @@ -0,0 +1,69 @@ +package com.djhk.uav.uav.service; + + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.djhk.uav.airspace.domain.UavOperator; +import com.djhk.uav.uav.domain.UavOperatorExportVo; + +import java.util.List; + +/** + * 飞手管理Service接口 + * + * @author jiachengshuai + * @date 2022-08-30 + */ +public interface IUavOperatorService extends IService +{ + /** + * 查询飞手管理 + * + * @param id 飞手管理主键 + * @return 飞手管理 + */ + public UavOperator selectUavOperatorById(Long id); + + /** + * 查询飞手管理列表 + * + * @param uavOperator 飞手管理 + * @return 飞手管理集合 + */ + public List selectUavOperatorList(UavOperator uavOperator); + + /** + * 新增飞手管理 + * + * @param uavOperator 飞手管理 + * @return 结果 + */ + public int insertUavOperator(UavOperator uavOperator); + + /** + * 修改飞手管理 + * + * @param uavOperator 飞手管理 + * @return 结果 + */ + public int updateUavOperator(UavOperator uavOperator); + + /** + * 批量删除飞手管理 + * + * @param ids 需要删除的飞手管理主键集合 + * @return 结果 + */ + public int deleteUavOperatorByIds(Long[] ids); + + /** + * 删除飞手管理信息 + * + * @param id 飞手管理主键 + * @return 结果 + */ + public int deleteUavOperatorById(Long id); + + public List selectUavOperatorExportList(UavOperatorExportVo uavOperatorExportVo); + +} diff --git a/djhk-system/src/main/java/com/djhk/uav/uav/service/impl/UavOperatorServiceImpl.java b/djhk-system/src/main/java/com/djhk/uav/uav/service/impl/UavOperatorServiceImpl.java new file mode 100644 index 0000000..5ca596d --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/uav/service/impl/UavOperatorServiceImpl.java @@ -0,0 +1,110 @@ +package com.djhk.uav.uav.service.impl; + + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.djhk.uav.airspace.domain.UavOperator; +import com.djhk.uav.uav.domain.UavOperatorExportVo; +import com.djhk.uav.uav.service.IUavOperatorService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; + +/** + * 飞手管理Service业务层处理 + * + * @author jiachengshuai + * @date 2022-08-30 + */ +@Service +@Slf4j +public class UavOperatorServiceImpl implements IUavOperatorService +{ + + + @Override + public UavOperator selectUavOperatorById(Long id) { + return null; + } + + @Override + public List selectUavOperatorList(UavOperator uavOperator) { + return null; + } + + @Override + public int insertUavOperator(UavOperator uavOperator) { + return 0; + } + + @Override + public int updateUavOperator(UavOperator uavOperator) { + return 0; + } + + @Override + public int deleteUavOperatorByIds(Long[] ids) { + return 0; + } + + @Override + public int deleteUavOperatorById(Long id) { + return 0; + } + + @Override + public List selectUavOperatorExportList(UavOperatorExportVo uavOperatorExportVo) { + return null; + } + + @Override + public boolean saveBatch(Collection entityList, int batchSize) { + return false; + } + + @Override + public boolean saveOrUpdateBatch(Collection entityList, int batchSize) { + return false; + } + + @Override + public boolean updateBatchById(Collection entityList, int batchSize) { + return false; + } + + @Override + public boolean saveOrUpdate(UavOperator entity) { + return false; + } + + @Override + public UavOperator getOne(Wrapper queryWrapper, boolean throwEx) { + return null; + } + + @Override + public Map getMap(Wrapper queryWrapper) { + return null; + } + + @Override + public V getObj(Wrapper queryWrapper, Function mapper) { + return null; + } + + @Override + public BaseMapper getBaseMapper() { + return null; + } + + @Override + public Class getEntityClass() { + return null; + } +} diff --git a/djhk-system/src/main/java/com/djhk/uav/utils/ExportWord.javatxt b/djhk-system/src/main/java/com/djhk/uav/utils/ExportWord.javatxt new file mode 100644 index 0000000..dc75af0 --- /dev/null +++ b/djhk-system/src/main/java/com/djhk/uav/utils/ExportWord.javatxt @@ -0,0 +1,97 @@ +package com.djhk.uav.utils; + + +import freemarker.template.Configuration; +import freemarker.template.Template; +import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLEncoder; +import java.util.Map; + +/** + * @ClassName: ExportWord + * @Description: 导出word工具类 + * @Authror: XQD + * @Date: 2023/6/16 15:59 + */ +public class ExportWord { + + private Configuration configuration; + private String encoding; + private String exportPath = "D:\\data"; + + /** + * 构造函数 + * 配置模板路径 + * @param encoding + */ + public ExportWord(String encoding) { + this.encoding = encoding; + configuration = new Configuration(); + configuration.setDefaultEncoding(encoding); + configuration.setClassForTemplateLoading(this.getClass(), "/templates"); + } + + /** + * 导出word文档到客户端 + * @param response + * @param fileName + * @param tplName + * @param data + * @throws Exception + */ + public void exportDoc(HttpServletResponse response, String fileName, String tplName, Map data, FreeMarkerConfigurer freeMarkerConfigurer) throws Exception { + response.reset(); + response.setHeader("Access-Control-Allow-Origin", "*"); + response.setCharacterEncoding("UTF-8"); + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName , "UTF-8")); + // 把本地文件发送给客户端 + Writer writer = response.getWriter(); + Template template = getTemplate(tplName, freeMarkerConfigurer); + template.process(data, writer); + writer.close(); + } + + /** + * 导出word文档到指定目录 + * @param fileName + * @param tplName + * @param data + * @throws Exception + */ + public void exportDocFile(String fileName, String tplName, Map data) throws Exception { + //如果目录不存在,则创建目录 + File exportDirs = new File(exportPath); + if (!exportDirs.exists()) { + exportDirs.mkdirs(); + } + Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(exportPath + fileName), encoding)); + getTemplate(tplName).process(data, writer); + } + + /** + * 获取模板 打成jar包后获取不到模板的方式 freeMarkerConfigurer + * @param name + * @return + * @throws Exception + */ + public Template getTemplate(String name, FreeMarkerConfigurer freeMarkerConfigurer) throws Exception { + Configuration configuration = new Configuration(); + configuration.setClassForTemplateLoading(this.getClass(), "/templete"); + Template template = configuration.getTemplate(name); + return template; + } + + /** + * 获取模板 + * @param name + * @return + * @throws Exception + */ + public Template getTemplate(String name) throws Exception { + return configuration.getTemplate(name); + } +} diff --git a/djhk-system/src/main/resources/mapper/airspace/airplaneAirspaceMapper.xml b/djhk-system/src/main/resources/mapper/airspace/airplaneAirspaceMapper.xml new file mode 100644 index 0000000..6d12bd3 --- /dev/null +++ b/djhk-system/src/main/resources/mapper/airspace/airplaneAirspaceMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + select id, + airplane_apply_id, + airspace_id + from + airplane_apply_airspace + + + + + + insert into airplane_apply_airspace + + airplane_apply_id, + airspace_id, + + + #{airplaneApplyId}, + #{airspaceId}, + + + + + DELETE FROM airplane_apply_airspace + WHERE airplane_apply_id = #{airplaneApplyId} + + + + \ No newline at end of file diff --git a/djhk-system/src/main/resources/mapper/airspace/airplaneFlyMapper.xml b/djhk-system/src/main/resources/mapper/airspace/airplaneFlyMapper.xml new file mode 100644 index 0000000..9d6813b --- /dev/null +++ b/djhk-system/src/main/resources/mapper/airspace/airplaneFlyMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + select id, + airplane_apply_id, + airplane_id, + model_id + from + airplane_apply_airplane + + + + + + insert into airplane_apply_airplane + + airplane_apply_id, + airplane_id, + model_id, + + + #{airplaneApplyId}, + #{airplaneId}, + #{modelId}, + + + + + DELETE FROM airplane_apply_airplane + WHERE airplane_apply_id = #{airplaneApplyId} + + + + \ No newline at end of file diff --git a/djhk-system/src/main/resources/mapper/airspace/airplaneMapper.xml b/djhk-system/src/main/resources/mapper/airspace/airplaneMapper.xml new file mode 100644 index 0000000..916c5c6 --- /dev/null +++ b/djhk-system/src/main/resources/mapper/airspace/airplaneMapper.xml @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + select id, + sts, + dept_id, + name, + create_by, + create_time, + fly_time, + remark, + task_prop, + tel, + final_url, + pro_url, + create_by + from + airplane_apply + + + + + + + + + + + + insert into airplane_apply + + name, + type, + sts, + dept_id, + fly_time, + create_time, + create_by, + remark, + task_prop, + tel, + pro_url, + final_url, + + + #{name}, + #{type}, + #{sts}, + #{deptId}, + #{flyTime}, + #{createTime}, + #{createBy}, + #{remark}, + #{taskProp}, + #{tel}, + #{proUrl}, + #{finalUrl}, + + + + + + update airplane_apply + + name = #{name}, + sts = #{sts}, + fly_time = #{flyTime} , + remark = #{remark} , + task_prop = #{taskProp} , + tel = #{tel} , + pro_url = #{proUrl} , + final_url = #{finalUrl} , + + where id = #{id} + + + + DELETE FROM airplane_apply + WHERE id = #{id} + + + + delete from airplane_apply where id in + + #{id} + + + \ No newline at end of file diff --git a/djhk-system/src/main/resources/mapper/airspace/airplaneOperatorMapper.xml b/djhk-system/src/main/resources/mapper/airspace/airplaneOperatorMapper.xml new file mode 100644 index 0000000..5d542d7 --- /dev/null +++ b/djhk-system/src/main/resources/mapper/airspace/airplaneOperatorMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + select id, + airplane_apply_id, + operator_id + from + airplane_apply_operator + + + + + + insert into airplane_apply_operator + + airplane_apply_id, + operator_id, + + + #{airplaneApplyId}, + #{operatorId}, + + + + + DELETE FROM airplane_apply_operator + WHERE airplane_apply_id = #{airplaneApplyId} + + + + \ No newline at end of file diff --git a/djhk-system/src/main/resources/mapper/airspace/airspaceMapper.xml b/djhk-system/src/main/resources/mapper/airspace/airspaceMapper.xml new file mode 100644 index 0000000..07f9fb8 --- /dev/null +++ b/djhk-system/src/main/resources/mapper/airspace/airspaceMapper.xml @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + apply_time, + user_type, + user_name, + dept_type, + dept_code, + dept_pname, + phone, + email, + plan_type, + max_hegiht, + plan_beg, + plan_end, + txll, + task_type, + opt_type, + fly_type, + remark_qjbj, + remark_yjcz, + remark_tsxq, + remark_tdjn, + remark_fxhx, + remark_zhkz, + remark_ecld, + remark_qtxx, + six, + spaces, + files, + apply_sts, + apply_dsc, + create_by, + update_by, + create_time, + update_time, + hight_max, + hight_min, + lat, + lng, + military_area_name, + military_area_id, + name, + flight_rule, + airspace_type, + airspace_prop, + rad_length, + uuid + from + airspace_apply + + + + + + + + + + insert into airspace_apply + + apply_time, + user_type, + user_name, + dept_type, + dept_code, + dept_pname, + phone, + email, + plan_type}, + max_hegiht, + plan_beg, + plan_end, + txll, + task_type, + opt_type, + fly_type}, + remark_qjbj, + remark_yjcz, + remark_tsxq, + remark_tdjn, + remark_fxhx, + remark_zhkz, + remark_ecld, + remark_qtxx, + six, + spaces, + files, + apply_sts, + apply_dsc, + create_by, + create_time, + hight_max, + hight_min, + lat, + lng, + military_area_name, + military_area_id, + name, + flight_rule, + airspace_type, + airspace_prop, + rad_length, + uuid, + dept_id, + + + #{applyTime}, + #{userType}, + #{userName}, + #{deptType}, + #{deptCode}, + #{deptPname}, + #{phone}, + #{email}, + #{planType}, + #{maxHegiht}, + #{planBeg}, + #{planEnd}, + #{txll}, + #{taskType}, + #{optType}, + #{flyType}, + #{remarkQjbj}, + #{remarkYjcz}, + #{remarkTsxq}, + #{remarkTdjn}, + #{remarkFxhx}, + #{remarkZhkz}, + #{remarkEcld}, + #{remarkQtxx}, + #{six}, + #{spaces}, + #{files}, + #{applySts}, + #{applyDsc}, + #{createBy}, + #{createTime}, + #{hightMax}, + #{hightMin}, + #{lat}, + #{lng}, + #{militaryAreaName}, + #{militaryAreaId}, + #{name}, + #{flightRule}, + #{airspaceType}, + #{airspaceProp}, + #{radLength}, + #{uuid}, + #{deptId}, + + + + + + update airspace_apply + + apply_time = #{applyTime}, + user_type = #{userType}, + user_name = #{userName}, + dept_type = #{deptType}, + dept_code = #{deptCode}, + dept_pname = #{deptPname}, + phone = #{phone}, + email = #{email}, + plan_type = #{planType}, + max_hegiht = #{maxHegiht}, + plan_beg = #{planBeg}, + plan_end = #{planEnd}, + txll = #{txll}, + task_type = #{taskType}, + opt_type = #{optType}, + fly_type = #{flyType}, + remark_qjbj = #{remarkQjbj}, + remark_yjcz = #{remarkYjcz}, + remark_tsxq = #{remarkTsxq}, + remark_tdjn = #{remarkTdjn}, + remark_fxhx = #{remarkFxhx}, + remark_zhkz = #{remarkZhkz}, + remark_ecld = #{remarkEcld}, + remark_qtxx = #{remarkQtxx}, + six = #{six}, + spaces = #{spaces}, + files = #{files}, + apply_sts = #{applySts}, + apply_dsc = #{applyDsc}, + update_by = #{updateBy}, + update_time = #{updateTime}, + hight_max = #{hightMax}, + hight_min = #{hightMin}, + lat = #{lat}, + lng = #{lng}, + military_area_name = #{militaryAreaName}, + military_area_id = #{militaryAreaId}, + name = #{name}, + flight_rule = #{flightRule}, + airspace_type = #{airspaceType}, + airspace_prop = #{airspaceProp}, + rad_length = #{radLength}, + uuid = #{uuid}, + + where id = #{id} + + + + DELETE FROM airspace_apply + WHERE id = #{id} + + + + delete from airspace_apply where id in + + #{id} + + + \ No newline at end of file diff --git a/djhk-system/src/main/resources/mapper/airspace/airspaceWaypointMapper.xml b/djhk-system/src/main/resources/mapper/airspace/airspaceWaypointMapper.xml new file mode 100644 index 0000000..1b5fb11 --- /dev/null +++ b/djhk-system/src/main/resources/mapper/airspace/airspaceWaypointMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + select id, + airspace_apply_id, + lng, + lat, + seq + from + airspace_waypoint + + + + + + + + insert into airspace_waypoint + + airspace_apply_id, + lat, + lng, + seq, + + + #{airspaceApplyId}, + #{lat}, + #{lng}, + #{seq}, + + + + + + DELETE FROM airspace_waypoint + WHERE airspace_apply_id = #{id} + + + + delete from airspace_waypoint where airspace_apply_id in + + #{id} + + + \ No newline at end of file diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysCache.class b/djhk-system/target/classes/com/djhk/system/domain/SysCache.class index 9828bc301012385be912bb079f8b6d63bebfc8a8..a20d4500fddd3b38832be40be9a7dd221e5f64d1 100644 GIT binary patch delta 17 Zcmcc3dz+Wz)W2Q(7#JALH*#EN0{}%%2I2q! delta 17 Zcmcc3dz+Wz)W2Q(7#J8#Hga5M0{}%o2HyYx diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysConfig.class b/djhk-system/target/classes/com/djhk/system/domain/SysConfig.class index 14c6b2313e104bf8ee6912c46c9a2a93dee50482..bfad5d2fee387a4f299400447857c546aba1364b 100644 GIT binary patch delta 17 YcmeB@?vmy>^>5cc1_lQ6jT}w906aGa5&!@I delta 17 YcmeB@?vmy>^>5cc1_lO`jT}w906ZuL4*&oF diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysLogininfor.class b/djhk-system/target/classes/com/djhk/system/domain/SysLogininfor.class index efaee4d42580125b779de1a403d4bd5764b87b4a..ffea7ef09036bc1eb836d4814596ae1e42c2621f 100644 GIT binary patch delta 17 ZcmcaAepQ^~)W2Q(7#JALH*%ci1^`8~2I&9* delta 17 ZcmcaAepQ^~)W2Q(7#J8#HgcTh1^`8*2Ic?& diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysNotice.class b/djhk-system/target/classes/com/djhk/system/domain/SysNotice.class index 3a80eb6c6b12c1db46dd82002b11091ca61346b0..0fd13a44b014f3238b42f4af006e7bf90918ef6c 100644 GIT binary patch delta 17 ZcmaDT`cRbP)W2Q(7#JALH*(zM0su!22M7QF delta 17 ZcmaDT`cRbP)W2Q(7#J8#HgeqL0suz;2L%8C diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysOperLog.class b/djhk-system/target/classes/com/djhk/system/domain/SysOperLog.class index 08465027edb06f55ed146889b5407dacc8a7f9d5..a62e3944052625271ed63e196176a37fc1c1923d 100644 GIT binary patch delta 17 Zcmdm_wMmQP)W2Q(7#JALH*#o+0sul$1~32s delta 17 Zcmdm_wMmQP)W2Q(7#J8#Hgaf*0suln1}y*p diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysPost.class b/djhk-system/target/classes/com/djhk/system/domain/SysPost.class index 053d8e2a70fd35ee28246b835e6ff8459763dbe8..79460378c53a0fbf3c54eee34df64bcb934c8c60 100644 GIT binary patch delta 17 ZcmX>hb3%sW)W2Q(7#JALH*z@e0RTgi22TJ0 delta 17 ZcmX>hb3%sW)W2Q(7#J8#HgY)d0RTgT2220| diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysRoleDept.class b/djhk-system/target/classes/com/djhk/system/domain/SysRoleDept.class index 8e55611608b59ab7e7f21e2af26707705815cda9..b9589abe13c68accc7893bada1ab131f82ce3743 100644 GIT binary patch delta 17 YcmeC@>gVD(^>5cc1_lQ6jU4Q(06E(QcK`qY delta 17 YcmeC@>gVD(^>5cc1_lO`jU4Q(06EMBbN~PV diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysRoleMenu.class b/djhk-system/target/classes/com/djhk/system/domain/SysRoleMenu.class index 9914a28bfdb60190a6d1385368cb79bad0566791..9a901da3e660b8dafab62ac849fc159a8450f2b6 100644 GIT binary patch delta 17 YcmeC@>gVD(^>5cc1_lQ6jU4Q(06E(QcK`qY delta 17 YcmeC@>gVD(^>5cc1_lO`jU4Q(06EMBbN~PV diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysUserOnline.class b/djhk-system/target/classes/com/djhk/system/domain/SysUserOnline.class index 5b860bd86ce74af59577fdabcd1528efd0cd83f4..b488244087a4d9a272fcc2386a43c941be91fd37 100644 GIT binary patch delta 17 ZcmdnPzlWdW)W2Q(7#JALH*#!Y2LM5B28sXx delta 17 ZcmdnPzlWdW)W2Q(7#J8#HgarX2LM4{28RFu diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysUserPost.class b/djhk-system/target/classes/com/djhk/system/domain/SysUserPost.class index 1328413b90d11c6f7061fa43967504a895fa21d6..f5fe1bd18dd3001f18f65c2b1a42c8ba0d4dc969 100644 GIT binary patch delta 17 YcmeC@>gVD(^>5cc1_lQ6jU4Q(06E(QcK`qY delta 17 YcmeC@>gVD(^>5cc1_lO`jU4Q(06EMBbN~PV diff --git a/djhk-system/target/classes/com/djhk/system/domain/SysUserRole.class b/djhk-system/target/classes/com/djhk/system/domain/SysUserRole.class index 9f2e816a29164019064159e5a167288d6df6726c..fc4e0a27c5c62338e9185a837812e6a18a50e1f1 100644 GIT binary patch delta 17 YcmeC@>gVD(^>5cc1_lQ6jU4Q(06E(QcK`qY delta 17 YcmeC@>gVD(^>5cc1_lO`jU4Q(06EMBbN~PV diff --git a/djhk-system/target/classes/com/djhk/system/domain/vo/MetaVo.class b/djhk-system/target/classes/com/djhk/system/domain/vo/MetaVo.class index b743eb4bd860fb9c36f99623c05076a52630e982..e5dfb72300ec4bafea78e395b6ba0de68b18ad1e 100644 GIT binary patch delta 17 ZcmdnRzl)#a)W2Q(7#JALH*#!Z2LM4S27~|r delta 17 ZcmdnRzl)#a)W2Q(7#J8#HgarY2LM4D27v$o diff --git a/djhk-system/target/classes/com/djhk/system/domain/vo/RouterVo.class b/djhk-system/target/classes/com/djhk/system/domain/vo/RouterVo.class index d3e6112e8dcb99e4f2eea5a9bf4b7e5341a31a22..ac00b5fae345ff75abfa5dbac2172d18bc130f33 100644 GIT binary patch delta 17 ZcmaDN_C$>1)W2Q(7#JALH*&;q0{}*o29y8* delta 17 ZcmaDN_C$>1)W2Q(7#J8#Hgd#p0{}*Z29W>& diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysConfigMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysConfigMapper.class index 131946c5f8ef1e5a0d98d3043a018f6d90a51fd7..22e8a6395ef441d259da37e7dc1c03dfdefde9a1 100644 GIT binary patch delta 17 YcmeBX>t^FP^>5cc1_lQ6jU3F(065tNVE_OC delta 17 YcmeBX>t^FP^>5cc1_lO`jU3F(065A8UH||9 diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysDeptMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysDeptMapper.class index db7df9b3d6150da6b65e2c696c675944272979c5..313d420b124a94e0ab272f6ab67d5d3d98d9acec 100644 GIT binary patch delta 17 ZcmX@leV&`+)W2Q(7#JALH*y?j1pq^N2DtzL delta 17 ZcmX@leV&`+)W2Q(7#J8#HgX(i1pq^82DShI diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysDictDataMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysDictDataMapper.class index ef26aa2a003fc14ade8e3bd0171f97f01c9e6c18..01ed3d3f300174b1e907f0bd4e74c7a2f6c11687 100644 GIT binary patch delta 17 ZcmaFD`Gk|>)W2Q(7#JALH*(xz0RTn@2J-*_ delta 17 ZcmaFD`Gk|>)W2Q(7#J8#Hgeoy0RTn!2Jip? diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysDictTypeMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysDictTypeMapper.class index 5008382c5eebf783988ac71bd8db117c0593f0cc..8600433ca58057451379fb0210c3e4fe4d22e456 100644 GIT binary patch delta 17 ZcmZ3>zLuTi)W2Q(7#JALH*zdx1^_;L21x(_ delta 17 ZcmZ3>zLuTi)W2Q(7#J8#HgYUw1^_;621Wn? diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysLogininforMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysLogininforMapper.class index a6c61be47d9e0a16f14e4f83b7beb39eaa18da70..81d8bd65ec21c44df91ac96192234782f3a01438 100644 GIT binary patch delta 17 Zcmey%{Fj;I)W2Q(7#JALH*$Ps1OP~(2QL5s delta 17 Zcmey%{Fj;I)W2Q(7#J8#HgbGr1OP~q2P^;p diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysMenuMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysMenuMapper.class index b6dd9d172aa422b365f72690ceba40d117af87cd..b20b3080df1bfb76b1b02fa0569f8d802f758b9a 100644 GIT binary patch delta 17 Zcmdnavz>?I)W2Q(7#JALH*)B+0RTT}1@r&_ delta 17 Zcmdnavz>?I)W2Q(7#J8#Hgf2*0RTT)1@Qm? diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysNoticeMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysNoticeMapper.class index aa69d937c0a7a292c27e2dece63c68d96c19fa40..83f4932bd16273eedbe9c41e40bcac1343447bea 100644 GIT binary patch delta 17 Zcmcc2a+!tW)W2Q(7#JALH*$D00RTcQ1~dQw delta 17 Zcmcc2a+!tW)W2Q(7#J8#Hgb3~0RTcB1~C8t diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysOperLogMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysOperLogMapper.class index ae51c60bece27faec7f3c5247502a33d5b7f9ba3..c87a8341f2df28bdb20065cbb339f9056a2b3628 100644 GIT binary patch delta 17 ZcmdnYvYCbB)W2Q(7#JALH*#n*0RTPh1=Iil delta 17 ZcmdnYvYCbB)W2Q(7#J8#Hgae)0RTPS1^t# delta 17 ZcmdnWv6X}4)W2Q(7#J8#Hgf2)002Il1>pby diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysRoleDeptMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysRoleDeptMapper.class index 34a36f5b49b506dadb855f175d11ca14f1073c4a..de010cef833122caf5193aec7af90f9a9b0b6545 100644 GIT binary patch delta 17 ZcmbQrJe8T_)W2Q(7#JALH*)kc0suPE1@`~| delta 17 ZcmbQrJe8T_)W2Q(7#J8#Hgfbb0suO~1@r&_ diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysRoleMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysRoleMapper.class index edfbc76730e35668bc7b3aa5b901aab7bb2ff48b..49d72d5b02acce13a0eb5749e3531c1caeea2a3c 100644 GIT binary patch delta 17 ZcmbQnHI0ko)W2Q(7#JALH*)Z?0suP61&jay delta 17 ZcmbQnHI0ko)W2Q(7#J8#HgfQ>0suO?1&IIv diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysRoleMenuMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysRoleMenuMapper.class index 79b4da718dd07c48e0173c25a7ca0cdcae449930..93df5ad5b23a7715ab2419040a4c424d5c13d8f9 100644 GIT binary patch delta 17 YcmeBS?qTLQ^>5cc1_lQ6jT|kE06Cup+yDRo delta 17 YcmeBS?qTLQ^>5cc1_lO`jT|kE06CBa*#H0l diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysUserMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysUserMapper.class index 04ce61726ce7d9a6011363754d222102d0738074..a585a1ddb2aaa43bcbf475b2d25a72be3d3d957d 100644 GIT binary patch delta 17 Zcmcb>b%BfH)W2Q(7#JALH*$Ee0sumN208!$ delta 17 Zcmcb>b%BfH)W2Q(7#J8#Hgb5d0sum81~&iz diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysUserPostMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysUserPostMapper.class index 4e09b1c478eb985f8d68a067225b9b0fb0ed30ff..8c6425bc9de3e41275b8dec70c2f74c0eefe67cf 100644 GIT binary patch delta 17 YcmeBX?q=pV^>5cc1_lQ6jU3I406BdH*#H0l delta 17 YcmeBX?q=pV^>5cc1_lO`jU3I406A_2)&Kwi diff --git a/djhk-system/target/classes/com/djhk/system/mapper/SysUserRoleMapper.class b/djhk-system/target/classes/com/djhk/system/mapper/SysUserRoleMapper.class index 9249dc3353201695a1dee86eb29319ca98663aab..e0e5d9575dcc8425aef57aaffca1563031974341 100644 GIT binary patch delta 17 ZcmZ3$x`37A)W2Q(7#JALH*(Bi0suUO1|0wZ delta 17 ZcmZ3$x`37A)W2Q(7#J8#Hge2h0suU91{weW diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysConfigService.class b/djhk-system/target/classes/com/djhk/system/service/ISysConfigService.class index 1fd0cc25a2a66ce4c22ad87b74b90f56d6dbff6f..4740347c1bdd951a692c16b569e10bea712284ce 100644 GIT binary patch delta 17 ZcmdnUwvmnF)W2Q(7#JALH*#n)0{}hc1=9ck delta 17 ZcmdnUwvmnF)W2Q(7#J8#Hgae(0{}hN1<(Kh diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysDeptService.class b/djhk-system/target/classes/com/djhk/system/service/ISysDeptService.class index ce5183c486006038415859ce539169ba72a005a7..99ceca9896b18b46008a9599e674718e53134710 100644 GIT binary patch delta 17 Zcmdnby`P)o)W2Q(7#JALH*#!e1pq-=28jRw delta 17 Zcmdnby`P)o)W2Q(7#J8#Hgard1pq-x28I9t diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysDictDataService.class b/djhk-system/target/classes/com/djhk/system/service/ISysDictDataService.class index deab8919926b33ac0d3bb52b7cbb6accb064a8b1..709bcdbf3ceb564c168f91bbe083291b784ce02b 100644 GIT binary patch delta 17 Zcmcb>dV!VW)W2Q(7#JALH*%a{0sunf2CV=9 delta 17 Zcmcb>dV!VW)W2Q(7#J8#HgcR`0sunQ2C4u6 diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysDictTypeService.class b/djhk-system/target/classes/com/djhk/system/service/ISysDictTypeService.class index 0ab202c501e43a281075d75d6e03de476eb82f7f..40a631ed175bdcd0612832570233fe813960b113 100644 GIT binary patch delta 17 ZcmZ3_xt^2b)W2Q(7#JALH*zdz0RTSy22=n5 delta 17 ZcmZ3_xt^2b)W2Q(7#J8#HgYUy0RTSj22lV2 diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysLogininforService.class b/djhk-system/target/classes/com/djhk/system/service/ISysLogininforService.class index 19878fcfce15e00a5527ced7aa52a8dbbc810b2f..c557d8a7878bb50b6f5c83772143b35846cdd36f 100644 GIT binary patch delta 17 YcmZo-X=33x^>5cc1_lQ6jU2xi0Xb;~KmY&$ delta 17 YcmZo-X=33x^>5cc1_lO`jU2xi0XbR*Jpcdz diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysMenuService.class b/djhk-system/target/classes/com/djhk/system/service/ISysMenuService.class index f5b23fc00b6dd5b127e1de5710deceb86243eb64..f393702c193081b6b67e00232eee23efc1d7995e 100644 GIT binary patch delta 17 ZcmX@kdz_c!)W2Q(7#JALH*)M}0{}v%2BrW2 delta 17 ZcmX@kdz_c!)W2Q(7#J8#HgfD|0{}vo2BQD~ diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysNoticeService.class b/djhk-system/target/classes/com/djhk/system/service/ISysNoticeService.class index aeab672fe53de7f52bc747e66e0cca177be6ddc0..75bb8cde2937fe0b4cd9fa83594927bb5b83fded 100644 GIT binary patch delta 17 Zcmcb?a)X8A)W2Q(7#JALH*y3p0RTeQ215V< delta 17 Zcmcb?a)X8A)W2Q(7#J8#HgW_o0RTeB20#D+ diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysOperLogService.class b/djhk-system/target/classes/com/djhk/system/service/ISysOperLogService.class index 1a5ddafaabe83ed9fef3dc613d8599eb9e94bda9..c945dfb1121d4f8c6db0dff19a052bf70ccb03df 100644 GIT binary patch delta 17 ZcmdnNvV(==)W2Q(7#JALH*y#-0RTRh1>*n! delta 17 ZcmdnNvV(==)W2Q(7#J8#HgXs+0RTRS1>gVx diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysPostService.class b/djhk-system/target/classes/com/djhk/system/service/ISysPostService.class index d338806100e98492e8bc4854c369e4c8654dd64d..6aea87a80bb110441fd27e68d67366f9847600cf 100644 GIT binary patch delta 17 ZcmZ3>zLuTi)W2Q(7#JALH*zdx1^_;L21x(_ delta 17 ZcmZ3>zLuTi)W2Q(7#J8#HgYUw1^_;621Wn? diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysRoleService.class b/djhk-system/target/classes/com/djhk/system/service/ISysRoleService.class index 3810927a872c2081d40df99367d90f00e535f38f..f03ed2b297dd2fb3bc2c1a57cf225b26a3d7db42 100644 GIT binary patch delta 17 Zcmcb`bBl-L)W2Q(7#JALH*y5A0RTh}23-IE delta 17 Zcmcb`bBl-L)W2Q(7#J8#HgW{90RTh)23i0B diff --git a/djhk-system/target/classes/com/djhk/system/service/ISysUserOnlineService.class b/djhk-system/target/classes/com/djhk/system/service/ISysUserOnlineService.class index 3a0274eb9109b59c39e398b697f7a9218f4cfa6e..82778b95c336198befeb6dda05d77118833a11c8 100644 GIT binary patch delta 17 ZcmX@da*l=L)W2Q(7#JALH*&Z!0RTaQ1|0{};|2N(bV delta 17 ZcmaFM`<9pE)W2Q(7#J8#HgY^=0{};(2NeJS diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysConfigServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysConfigServiceImpl.class index 3d893be4f8ae5f307b5b2aee60233f205a67553b..d5c84125cfdf1e6c8b731d712c8611110c20aa39 100644 GIT binary patch delta 2284 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 delta 3560 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 diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysDictDataServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysDictDataServiceImpl.class index 986c028144de61ef4994def8ec1bf1c7cf850227..27d90ad30e9c46f44cfb15aa66e77d7f4d5a12ec 100644 GIT binary patch delta 17 ZcmZ20x>l6q)W2Q(7#JALH*zfH0sufJ25bNT delta 17 ZcmZ20x>l6q)W2Q(7#J8#HgYWG0suf425A5Q diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysDictTypeServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysDictTypeServiceImpl.class index 7254a5a193763c9ed3e5815665dda97694a60969..b6cefeb1199b8e391519f68e83f14e18ea466047 100644 GIT binary patch delta 17 Zcmexv{@tA8)W2Q(7#JALH*&m}1^`Y62cG}{ delta 17 Zcmexv{@tA8)W2Q(7#J8#Hgdd|1^`X?2b=%^ diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysLogininforServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysLogininforServiceImpl.class index 3070b4ee6a7386adbf56ce7c951e291de30bb8b4..ae017169fef69b2ef20a396dbb5048863c85dd85 100644 GIT binary patch delta 17 ZcmdnYy_uWi)W2Q(7#JALH*&0I1pq(624w&M delta 17 ZcmdnYy_uWi)W2Q(7#J8#Hgc?H1pq&?24VmJ diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysMenuServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysMenuServiceImpl.class index 71e404559d0ad6633cac8c5c2e70a812920a3957..cd20837113bba98f0649d69a91277ad46bc9cef0 100644 GIT binary patch delta 4886 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 delta 4912 zcmb_g2Xs``7TxpD-?D#HIO@KiH%6GsPCC+An>3rUwLK#d zlrcSm)$F28SDP7ORI^(cQFafphkkp8*^8MGtYVgK?Hy)AA10}otxaFG+D{Gkk1&V1 zVdgPkC-${j5JslL8xTfsMnWu9Gy_%XARQU3TZgE$pGrej8m7|zD*ZzjAE453n+Iy= zAZ?1mXs|d!VUE;(aTo)6ur519yNBw;D4U~0JWTsz!aSTu==9hS$LaS-wQ!V5<5l{n z%?V+QQuZvCXmhju4F0t82babk%VZ63!nRRM{eVxtgi6PFsglzv&#!+)mP0ZIIMi;w33Q?gXegs;d0((xPo^(MbS=2-NSng@8e2>d4~7% z0h>*RtGL>*nJoq_SZeb@!!>-!U=5ZUe2*Utu7qQAt>MFb#O9-h>qIBk@-gSuXz{Se zxzg|nK56(A*Bg9{PYj>t27@nE+Njc3Dm^0-pVh_BaRbrQsSb4+G_In)ytKyfc^%)R z%?qBo7Y$z$3D@vt!&msK;cJ44_prs8o>I{8I#=3!!|+YMWw@DJh;Vhygo-IubrqBA z4c}I)>+qQ2JKSpU4L%@J;tY+ft1F*7wrZwu^pzU<*lqBs;k)X`dwkz;8@C&Liw_in z>}G*sB5k7GnCj|^hPts;)hFxJhlU^VVJeCyVj%5C9@H*Zw zcnb$?Gq?&@+x*4g9Y|*@-ZgknoA;&5U)6)()R&#yr7Z0>*v>tMd-VM;HtytcNYdJ2*6jO^Ga#fNnO5vs58kUCfOsOiw& zSRJgWZKcR@SgB5W&mrvGbX3n`ip?~lk25c`yE7*)GoIMuz!i@|lhvl`UkU#Tm5tSfzsU;E^=3iS5<@dtkgV_X_edUe$@~8!kyI(jmN=E! z`wNnrv%4Orob(hgfPOJ1`uR*)$i_o16LIQwWVz^wQQuj-4!1eywZ4hezPY0{N~8)& zd#zA+of|2hu`V%VUC`=m5+24QG2$K-;v_RF+@|?`ZA#<(e1#u-O;%V8Nh%CO~2Al*TceFwhNxhc) z%dfE^=D$YH)&|$?M%cbFk$iQ_MV%^9dRn(`^ohzxa5s|N@L0VEt8G{|dP{dFF5Zd7 zd&QlAjRo#}nULj0&NHG$QmPUliVu`C5(CcA+)^nm3v+u4ANS=Ba``w&W{T0>^(2Tq z48?PJ-o040tv(5C-zQANCfBFl7>gG~@-CKML~rMd{!ZT!cfFptxBewR;!}{Y2YGf6 z4SD&ydXR*CYZ$yN$Y1f0JLlvLYKVuyZb7=IO&Dax@MZe=66J2b8spqcD>|p7dUJ}! zW9T&*lR_h{rnDj%*HDY(tU_Y$8cek0@@n=ej3q0E+axOuNKI_A18=(bjZ(2Tt2SqH ze)hN+YIa71X>Cwal5OVXwC6sKwU-zbyX?J67lXKfXK)^^xmXlo^X zJ3eq78c=YY1ocG)UB|^M!{`{*qy5UzRl-zvTF6Hid??kzs{K*NFbnY>`iOYX9wabvw9kbahRjkQV*tc0DHuYZj z6A#BWLxQ76^mJ#@z+Q*M549O-Y(ZZ(w>i|d^~}2kY9$COdxTz0c`~a3XUD+qN1V|J zJ7F0T0(udIIcdFH^+X$e88Q4BZGuGfb#e8{W7E|)aZvv7xPndpy#o0KBYrM%HV!%@ ztpz9Krw7;I2n)w9+xvXJo@j!cXx8Aqv5cQB8UIHK{~(gvWc)EPlw1BLf@0KoiRqOLA34z^6j^}vv_j2#gf>oaWidZac5nWQ9P?VFK z*Mc*T%*$`aSMF(Ltx}#f2HUscv`~v#gQQ zQeCMYqifJWd054xR5+AbH%hH&o12{)<1aPFU#gF~^%W;teT4pvI4C;8f2uPm|A!&J zAB9mp*O_8L?_N=E=n+KA0?~OTWeL%9OUi=L^GeDRqvw~D+0hG}`9piw&i9IK992e} z&~JOHniGixhD5K$cC9~Vq&CCqC}WawtR$yOx*Z)W2Q(7#JALH*zdx0{}lV23P<9 delta 17 ZcmZ3>yOx*Z)W2Q(7#J8#HgYUw0{}lG22}t6 diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysOperLogServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysOperLogServiceImpl.class index 56a83642036fb58a3f3ece9f1d0874922660335e..4a55c453735273f39075118da3d1e1bfbb612679 100644 GIT binary patch delta 17 ZcmdnNvxA4@)W2Q(7#JALH*y%T0RTUW1@`~| delta 17 ZcmdnNvxA4@)W2Q(7#J8#HgXuS0RTUH1@r&_ diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysPostServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysPostServiceImpl.class index 85b2d521082eeb6bcea73b2599c06d35bc67b51c..5e1a0b8532da42ede98136592cec85c5aa8f6591 100644 GIT binary patch delta 17 ZcmZ1^vq*;H)W2Q(7#JALH*!ev0RTRR1>FDu delta 17 ZcmZ1^vq*;H)W2Q(7#J8#HgZVu0RTRC1=;`r diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysRoleServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysRoleServiceImpl.class index e1d5e3e88167ad7f4ebbfa50667dc3120b77cb88..208392a421c6083271b84e481aa9b355053278a1 100644 GIT binary patch delta 17 ZcmezD{@I=5)W2Q(7#JALH*&mI1^`cI2fF|O delta 17 ZcmezD{@I=5)W2Q(7#J8#HgddH1^`c32e<$L diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysUserOnlineServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysUserOnlineServiceImpl.class index c35b5379a086ec3d2028c1b100ef3795c96d7d8b..cc4baca502ff137a0ee5f9812f987fcaeec1511c 100644 GIT binary patch delta 17 ZcmaDV@>GQ5)W2Q(7#JALH*&;s0RTpL29f{( delta 17 ZcmaDV@>GQ5)W2Q(7#J8#Hgd#r0RTp629E#$ diff --git a/djhk-system/target/classes/com/djhk/system/service/impl/SysUserServiceImpl.class b/djhk-system/target/classes/com/djhk/system/service/impl/SysUserServiceImpl.class index e57a4190c857ccbc731eb9cecc3e9665f4857f46..043acb49adb283c0b0fb23741318f96854655394 100644 GIT binary patch delta 5117 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 ZM*bh$6qEW)daFrqGwBSI&NS(q{{xTm1a|-c delta 5000 zcmb_f33OCd60Q3>$?tT(Y@LmUtR!S5>4e2W_6XKoo6JP;g`U zitM<6xU&QU2%-pry8!bMwAB%)Y$ePXIaj+7c`BP(rX zrJao0%jg^#{mnoJC(djXvlrXD*cOeuC3qrUOJ=B;sOO`-hA!klLX2N2c*6v0xY)f)#0c3KDO#gs_um3i z?!?swDqJ)Kkuo3ch6C4#7$fwrH89qNaTqU?>jbXSjVe^jbb=ET-I#>yC0dhZ?* zvz(ai#2gpq!ZdK7f%|KQs@>t3XZoCr@j%TR&Ls}KTQgekLD+l)3(T_U{hjC20!_Em z9R?O^T1F3QdP2mLBA%kBHLa#Kn(m~#3@p-Ej3ow^YAnNppiHxCvm|p&OswM}JZ$=7 zlKhXvVtGtBR>a~_jg@%Jz~dTE;7Jf#8+c0NX*{E`3ade}qlZr%?i(|FY`O1}>dK0- z<(lrMdkn16Sc@eLQWJ}H8qcCuV?8!#Y{YXKo3L5qd2G?Ng}LDcYyjnq7B%q3?n|<}RYu!n^b)q2ePS#|jQ{#OJ!G0VtzmCf-`9M}a!~so5gu#5C(sp6FLpDC5V;Uc`pdV!P2|hK;Jl*}D z;d70H*rxFX>NL%x2S726FQLbn;Z;=z4rzRe!~kAfs;m z+PbIb*DZdmA&OQO^}2ql!j^@O){z-;bPNfYMrByVx7%E1qSZpyrPiqfPO|$fi;V@LZS)AG5e=C7*qeyBl z9`J>sq+)q(29G27In!F>B5kt9HPvK|bGgYHr*xAwe&c~Pe~1xIjI$1gNiLnWmd11L zEG!o?H6K60&+vlvgf$k|MJ$CmQ9dnZsRIXS2`%Lrq!W?DQtn1-6gy1hE?7sZa3eVs z_auoyBgOy=BPnn!h`|c<5IxLTk65RdThWT;`3gSwXceub$ExUYo^!(!TjnP%QwB6* z4*g4*+&?YMK3OULM$C%8gvsrg*-Ah;CIMfAA&F=jk_on{(GrP3TxIkOtzr~NU;hti zMpLw@HrknBYpKQpTSw0dm^mQ3XSulRp)i*Bu(^AAJev}^eaLIh;Ght-wdu4C(s5HB z)zW%)Y6I^}G6YsO^2&3(;w1b|i3V-roy|d8_1QhK$n4fCdBFdI{QRFFZ=n|~FVb_1 z%{{Gh7`?t#i++M$VENO-=G`NhS}mBj#6WQxH>Vdl-5eI*XmZ4!A9j-R4ccl@A)~$& zf;~GYr$VBXMByyAQVZVA=bNe^&(&=P~g<7!56~tZ5fzvb$(Y1O=o@{!41PILYLX=wr!G`os=SvN@%-E^Qub|XVjC!kQpR! zWChVGI;@s@`4`~EgcfBKQ52`gozNSz|56|LixeOANyiGCJf z?vh9OBGOz>eawi`9#~`cDb2!Ub8KnvcAIF(;Po`rGp3fVO$@80v7T`}@XEC;QmO|5IGasf>@ca?VWS9v3gYN=X2CA^Uvi7R%{v@m!h{tMuQP{20R!r?W} z&!vE#2UI$`ZE&xfm%Of8n%s!CmTvI6y{?UPqk~qS>YEt8 zluEpYqk+y8KAC7?-_)RU^Po+XGuUfzL^`aeycfI?_G!PIw&Hh7<7saMpIpta>LSd; z0-D5cVUfABO<(^9Dw;l4F;u7G=$P`*aTO1!1jMLBcvTXzR5J2aGqhJ;bWqJvuF^1C zrDLAT!vfV3i&Qq2s#e&ca&S=P;)u$}F;#$HRcn>3id42LRXtT(D+#Aj6n{$fwVHyP zhT$A~+|OSeF6`j@{1@&NZY-jK^eY#ei-|6?sy0%Rr6J>Z^c!ECT#r1erxTo1GWwl$ z9h9ny=p^5EVU(c?=oF8_DPLvMX+9o7ZP*DZWW%m~(e(dDuLcviGr3|TPjlf$TIIjV zfHH`KVbBoy2e*`y^oZ3L3Qy3CdMZB8ph@*~X+5dZz&AR=$cb?KXG5kC<-bUeZv#!O zp&R6<142Ig3#lv&5xl6_O0X2+wvFl2U;Knslib`3jP3d C7UIJI diff --git a/pom.xml b/pom.xml index f4c57eb..fbbe552 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,8 @@ 3.6.0 UTF-8 UTF-8 - 1.8 + + 11 3.1.1 2.5.15 1.2.23 @@ -36,12 +37,32 @@ 1.2.13 5.7.14 5.3.39 + 1.18.24 + + org.projectlombok + lombok + ${lombok.version} + + + + org.springframework.boot + spring-boot-starter-freemarker + 2.7.2 + + + + com.baomidou + mybatis-plus-boot-starter + 3.4.2 + + + org.springframework @@ -229,6 +250,7 @@ djhk-quartz djhk-generator djhk-common + djhk-uav pom