From 5d8aca463c11ab572a62acf08440776a94d7605a Mon Sep 17 00:00:00 2001 From: Jerry <707344974@qq.com> Date: Sun, 24 May 2020 22:59:25 +0800 Subject: [PATCH] commit --- orange-admin-service/.DS_Store | Bin 6148 -> 0 bytes orange-admin-service/README.md | 1 - orange-admin-service/application/.DS_Store | Bin 6148 -> 6148 bytes .../java/com/orange/admin/MyApplication.java | 6 + .../app/controller/AreaCodeController.java | 6 +- .../app/controller/TeacherController.java | 164 +- .../TeacherTransStatsController.java | 36 +- .../orange/admin/app/dao/AreaCodeMapper.java | 2 +- .../orange/admin/app/dao/TeacherMapper.java | 2 +- .../app/dao/TeacherTransStatsMapper.java | 2 +- .../com/orange/admin/app/model/AreaCode.java | 6 + .../com/orange/admin/app/model/Teacher.java | 6 + .../admin/app/model/TeacherTransStats.java | 6 + .../admin/app/model/constant/Gender.java | 12 +- .../app/model/constant/TeacherLevelType.java | 12 +- .../admin/app/service/AreaCodeService.java | 2 +- .../admin/app/service/TeacherService.java | 64 +- .../app/service/TeacherTransStatsService.java | 13 +- .../admin/config/ApplicationConfig.java | 2 +- .../com/orange/admin/config/CacheConfig.java | 20 +- .../orange/admin/config/DataSourceConfig.java | 2 +- .../com/orange/admin/config/FilterConfig.java | 14 +- .../admin/config/InterceptorConfig.java | 4 +- .../AuthenticationInterceptor.java | 26 +- .../MybatisDataPermInterceptor.java | 301 ++-- .../listener/LoadDataPermMapperListener.java | 2 +- .../upms/controller/LoginController.java | 113 +- .../controller/SysDataPermController.java | 305 ++-- .../upms/controller/SysDeptController.java | 138 +- .../upms/controller/SysMenuController.java | 154 +- .../controller/SysPermCodeController.java | 191 +-- .../upms/controller/SysPermController.java | 199 +-- .../controller/SysPermModuleController.java | 122 +- .../upms/controller/SysRoleController.java | 347 ++--- .../upms/controller/SysUserController.java | 190 +-- .../admin/upms/dao/SysDataPermDeptMapper.java | 2 +- .../admin/upms/dao/SysDataPermMapper.java | 4 +- .../admin/upms/dao/SysDataPermMenuMapper.java | 2 +- .../admin/upms/dao/SysDataPermUserMapper.java | 10 +- .../orange/admin/upms/dao/SysDeptMapper.java | 2 +- .../orange/admin/upms/dao/SysMenuMapper.java | 2 +- .../admin/upms/dao/SysMenuPermCodeMapper.java | 2 +- .../admin/upms/dao/SysPermCodeMapper.java | 4 +- .../admin/upms/dao/SysPermCodePermMapper.java | 2 +- .../orange/admin/upms/dao/SysPermMapper.java | 4 +- .../admin/upms/dao/SysPermModuleMapper.java | 2 +- .../upms/dao/SysPermWhitelistMapper.java | 2 +- .../orange/admin/upms/dao/SysRoleMapper.java | 2 +- .../admin/upms/dao/SysRoleMenuMapper.java | 2 +- .../orange/admin/upms/dao/SysUserMapper.java | 12 +- .../admin/upms/dao/SysUserRoleMapper.java | 11 +- .../upms/dao/mapper/SysDataPermUserMapper.xml | 4 - .../upms/dao/mapper/SysUserRoleMapper.xml | 4 - .../orange/admin/upms/model/SysDataPerm.java | 17 +- .../admin/upms/model/SysDataPermDept.java | 6 + .../admin/upms/model/SysDataPermMenu.java | 6 + .../admin/upms/model/SysDataPermUser.java | 6 + .../com/orange/admin/upms/model/SysDept.java | 6 + .../com/orange/admin/upms/model/SysMenu.java | 13 +- .../admin/upms/model/SysMenuPermCode.java | 6 + .../com/orange/admin/upms/model/SysPerm.java | 6 + .../orange/admin/upms/model/SysPermCode.java | 13 +- .../admin/upms/model/SysPermCodePerm.java | 6 + .../admin/upms/model/SysPermModule.java | 6 + .../admin/upms/model/SysPermWhitelist.java | 6 + .../com/orange/admin/upms/model/SysRole.java | 15 +- .../orange/admin/upms/model/SysRoleMenu.java | 6 + .../com/orange/admin/upms/model/SysUser.java | 23 +- .../orange/admin/upms/model/SysUserRole.java | 6 + .../upms/model/constant/SysMenuType.java | 8 +- .../upms/model/constant/SysPermCodeType.java | 8 +- .../model/constant/SysPermModuleType.java | 8 +- .../upms/model/constant/SysUserStatus.java | 12 +- .../upms/model/constant/SysUserType.java | 12 +- .../upms/service/SysDataPermService.java | 142 +- .../admin/upms/service/SysDeptService.java | 29 +- .../admin/upms/service/SysMenuService.java | 168 +-- .../upms/service/SysPermCodeService.java | 102 +- .../upms/service/SysPermModuleService.java | 14 +- .../admin/upms/service/SysPermService.java | 67 +- .../upms/service/SysPermWhitelistService.java | 7 +- .../admin/upms/service/SysRoleService.java | 94 +- .../admin/upms/service/SysUserService.java | 144 +- .../src/main/resources/application.yml | 14 +- .../resources/generator/generatorConfig.xml | 2 +- .../com/orange/admin/MyApplicationTests.java | 16 - orange-admin-service/areacode.sql | 2 +- .../common/biz/advice/MyControllerAdvice.java | 2 +- .../common/biz/advice/MyExceptionHandler.java | 82 +- .../common/biz/aop/DisableDataPermAspect.java | 41 + .../biz/base/service/BaseBizService.java | 19 + .../common/biz/config/CommonBizConfig.java | 2 +- .../common/biz/config/FastjsonConfig.java | 16 +- .../admin/common/biz/config/TomcatConfig.java | 2 +- .../admin/common/biz/constant/Subject.java | 12 +- .../admin/common/biz/constant/YesNo.java | 12 +- .../biz/interceptor/AccessInterceptor.java | 3 +- .../MyRequestArgumentResolver.java | 92 +- .../biz/listener/LoadCachedDataListener.java | 3 +- .../listener/LoadServiceRelationListener.java | 3 +- .../common/biz/util/BasicIdGenerator.java | 2 +- .../core/annotation/DeletedFlagColumn.java | 2 +- .../core/annotation/DeptFilterColumn.java | 2 +- .../core/annotation/DisableDataPerm.java | 17 + .../core/annotation/EnableDataPerm.java | 2 +- .../core/annotation/JobUpdateTimeColumn.java | 2 +- .../common/core/annotation/MyDataSource.java | 2 +- .../common/core/annotation/MyRequestBody.java | 2 +- .../core/annotation/NoAuthInterface.java | 2 +- .../core/annotation/RelationConstDict.java | 2 +- .../common/core/annotation/RelationDict.java | 2 +- .../core/annotation/RelationManyToMany.java | 36 + .../RelationManyToManyAggregation.java | 4 +- .../RelationOneToManyAggregation.java | 4 +- .../core/annotation/RelationOneToOne.java | 2 +- .../core/annotation/UserFilterColumn.java | 2 +- .../common/core/base/dao/BaseDaoMapper.java | 6 +- .../core/base/mapper/BaseModelMapper.java | 59 +- .../core/base/mapper/DummyModelMapper.java | 2 +- .../core/base/service/BaseDictService.java | 19 +- .../common/core/base/service/BaseService.java | 1313 +++++++++-------- .../common/core/cache/DictionaryCache.java | 9 +- .../common/core/cache/MapDictionaryCache.java | 69 +- .../core/cache/MapTreeDictionaryCache.java | 42 +- .../common/core/constant/AggregationType.java | 22 +- .../core/constant/ApplicationConstant.java | 33 +- .../core/constant/DataPermRuleType.java | 8 +- .../common/core/constant/ErrorCodeEnum.java | 29 +- .../core/constant/GlobalDeletedFlag.java | 14 +- .../exception/DataValidationException.java | 10 +- .../exception/InvalidClassFieldException.java | 30 + .../exception/InvalidDataFieldException.java | 12 +- .../exception/InvalidDataModelException.java | 9 +- .../core/exception/MyRuntimeException.java | 36 + .../core/exception/NoDataAffectException.java | 10 +- .../core/exception/NoDataPermException.java | 10 +- .../exception/RedisCacheAccessException.java | 8 +- .../{VerifyResult.java => CallResult.java} | 33 +- .../common/core/object/GlobalThreadLocal.java | 8 +- .../common/core/object/MyGroupCriteria.java | 2 +- .../common/core/object/MyGroupParam.java | 135 +- .../common/core/object/MyOrderParam.java | 239 +-- .../admin/common/core/object/MyPageParam.java | 5 +- .../common/core/object/MyRelationParam.java | 84 ++ .../common/core/object/MyWhereCriteria.java | 92 +- .../common/core/object/ResponseResult.java | 69 +- .../admin/common/core/object/TokenData.java | 2 +- .../admin/common/core/object/Tuple2.java | 2 +- .../core/util/ApplicationContextHolder.java | 14 +- .../admin/common/core/util/ContextUtil.java | 7 +- .../admin/common/core/util/ExportUtil.java | 26 +- .../admin/common/core/util/ImportUtil.java | 43 +- .../orange/admin/common/core/util/IpUtil.java | 17 +- .../admin/common/core/util/JwtUtil.java | 11 +- .../common/core/util/LogMessageUtil.java | 33 + .../admin/common/core/util/MyCommonUtil.java | 19 +- .../admin/common/core/util/MyDateUtil.java | 8 +- .../admin/common/core/util/MyModelUtil.java | 87 +- .../admin/common/core/util/MyPageUtil.java | 28 +- .../admin/common/core/util/RsaUtil.java | 114 ++ .../admin/common/core/util/TreeNode.java | 13 +- .../common/core/util/UpDownloadUtil.java | 37 +- .../admin/common/core/validator/AddGroup.java | 2 +- .../common/core/validator/ConstDictRef.java | 2 +- .../core/validator/ConstDictValidator.java | 2 +- .../common/core/validator/TextLength.java | 2 +- .../core/validator/TextLengthValidator.java | 2 +- .../common/core/validator/UpdateGroup.java | 2 +- orange-admin-service/upms-script.sql | 698 ++++----- orange-admin-service/zzlogs/server/server.log | 76 +- orange-admin-web/README.md | 2 +- orange-admin-web/package.json | 1 + orange-admin-web/src/assets/img/login_bg.jpg | Bin 725415 -> 920832 bytes .../src/components/IconSelect/index.vue | 1 - orange-admin-web/src/utils/index.js | 13 + .../src/views/generated/formTeacher/index.vue | 2 +- .../layout/components/sidebar/sidebar.vue | 2 +- orange-admin-web/src/views/login/index.vue | 3 +- .../src/views/upms/formEditDict/index.vue | 2 +- .../src/views/upms/formEditSysDept/index.vue | 4 +- .../src/views/upms/formEditSysMenu/index.vue | 3 + .../views/upms/formEditSysPermCode/index.vue | 3 + .../src/views/upms/formEditSysRole/index.vue | 7 +- .../src/views/upms/formEditSysUser/index.vue | 14 +- 184 files changed, 4126 insertions(+), 3508 deletions(-) delete mode 100644 orange-admin-service/.DS_Store delete mode 100644 orange-admin-service/application/src/test/java/com/orange/admin/MyApplicationTests.java create mode 100644 orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/aop/DisableDataPermAspect.java create mode 100644 orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/base/service/BaseBizService.java create mode 100644 orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DisableDataPerm.java create mode 100644 orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationManyToMany.java create mode 100644 orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidClassFieldException.java create mode 100644 orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/MyRuntimeException.java rename orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/{VerifyResult.java => CallResult.java} (69%) create mode 100644 orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyRelationParam.java create mode 100644 orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/LogMessageUtil.java create mode 100644 orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/RsaUtil.java diff --git a/orange-admin-service/.DS_Store b/orange-admin-service/.DS_Store deleted file mode 100644 index f88965e1f14cb8c05c251b2c7de64dde97936f26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJFdb&477O^NHmnM+$(T{6@n9RfrmgsNGKo#)TuZZM|vUr~nn90#x8l1+4eNM&m$6DnJFOz(WE1J`}iNO>6`G(}Cb40C0%3 z8`eHc0E;DnHL(pu2Btv;232#!(4Zq细节请参考文档:[http://101.200.178.51/development-doc/environment/#xxl-job](http://101.200.178.51/development-doc/environment/#xxl-job) diff --git a/orange-admin-service/application/.DS_Store b/orange-admin-service/application/.DS_Store index ee771938787a1bb39cadddab0eb4f7463f2ead2b..b62a48f641f015829efc11c7198a4c0f516c6464 100644 GIT binary patch delta 366 zcmZoMXfc=|#>B)qu~2NHo}wrd0|Nsi1A_nqLn=c_Qh9MfQcix-#*NDvCmV>c)Uz>^ zFeEY*F{C5Q0(E>zD#*z!E-^5;!N|nS!pg?Z!O6wV$<4>j9UGjHUmjeNSW;T-lvorm zAQPOKlA4rQ6rPzG#G&kvrT}y!0|O@qXS{%T zb+xgHj)IAiS*?yjwYj+gkZo*MTg%DGA*t>b6j$2RH*5BirOTEdJOtLnzz7TuFc4(m vhq9p5;f+17SvIqC@N)peZ{x=A%#-;=bVWdtAT13L8mxPBh{y)!i480OnKNUl delta 88 zcmZoMXfc=|#>CJzu~2NHo}wrt0|NsP3otOGGL)1B7v<&T=cP|9RA*$|EW`YoWpe=Y n1g6dG9Q+(WEt?&gzcWwf7t!Se={f+!43lkmq<iEMW!!!5S4S diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/MyApplication.java b/orange-admin-service/application/src/main/java/com/orange/admin/MyApplication.java index 0df246aa..cdb6e21c 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/MyApplication.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/MyApplication.java @@ -3,6 +3,12 @@ package com.orange.admin; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +/** + * 应用服务启动类。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @SpringBootApplication public class MyApplication { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/AreaCodeController.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/AreaCodeController.java index da7f958f..8c3ef0aa 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/AreaCodeController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/AreaCodeController.java @@ -17,7 +17,7 @@ import java.util.*; * 行政区划数据访问接口类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @RestController @RequestMapping("/admin/app/areaCode") @@ -32,7 +32,7 @@ public class AreaCodeController { * @return 字典形式的行政区划列表。 */ @GetMapping("/listDictAreaCode") - public ResponseResult listDictAreaCode() { + public ResponseResult>> listDictAreaCode() { List resultList = areaCodeService.getAllList(); return ResponseResult.success(BeanQuery.select( "parentId as parentId", "areaId as id", "areaName as name").executeFrom(resultList)); @@ -45,7 +45,7 @@ public class AreaCodeController { * @return 按照字典的形式返回下级行政区划列表。 */ @GetMapping("/listDictAreaCodeByParentId") - public ResponseResult listDictAreaCodeByParentId(@RequestParam(required = false) Long parentId) { + public ResponseResult>> listDictAreaCodeByParentId(@RequestParam(required = false) Long parentId) { Collection resultList = areaCodeService.getListByParentId(parentId); if (CollectionUtils.isEmpty(resultList)) { return ResponseResult.success(new LinkedList<>()); diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherController.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherController.java index d86779c7..2ad392e7 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherController.java @@ -1,7 +1,7 @@ package com.orange.admin.app.controller; import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.PageHelper; +import com.github.pagehelper.page.PageMethod; import com.orange.admin.app.model.*; import com.orange.admin.app.service.*; import com.orange.admin.upms.model.*; @@ -22,7 +22,7 @@ import javax.validation.groups.Default; * 老师数据源操作控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -39,28 +39,21 @@ public class TeacherController { * @return 应答结果对象,包含新增对象主键Id。 */ @PostMapping("/add") - public ResponseResult add(@MyRequestBody Teacher teacher) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - JSONObject responseData = null; - do { - errorMessage = MyCommonUtil.getModelValidationError(teacher); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - // 验证关联Id的数据合法性 - VerifyResult verifyResult = teacherService.verifyRelatedData(teacher, null); - if (!verifyResult.isSuccess()) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - errorMessage = verifyResult.getErrorMessage(); - break; - } - teacher = teacherService.saveNew(teacher); - responseData = new JSONObject(); - responseData.put("teacherId", teacher.getTeacherId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + public ResponseResult add(@MyRequestBody Teacher teacher) { + String errorMessage = MyCommonUtil.getModelValidationError(teacher); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + // 验证关联Id的数据合法性 + CallResult callResult = teacherService.verifyRelatedData(teacher, null); + if (!callResult.isSuccess()) { + errorMessage = callResult.getErrorMessage(); + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + teacher = teacherService.saveNew(teacher); + JSONObject responseData = new JSONObject(); + responseData.put("teacherId", teacher.getTeacherId()); + return ResponseResult.success(responseData); } /** @@ -70,36 +63,28 @@ public class TeacherController { * @return 应答结果对象。 */ @PostMapping("/update") - public ResponseResult update(@MyRequestBody Teacher teacher) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - do { - errorMessage = MyCommonUtil.getModelValidationError(teacher, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - // 验证关联Id的数据合法性 - Teacher originalTeacher = teacherService.getById(teacher.getTeacherId()); - if (originalTeacher == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - //TODO 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - break; - } - // 验证关联Id的数据合法性 - VerifyResult verifyResult = teacherService.verifyRelatedData(teacher, originalTeacher); - if (!verifyResult.isSuccess()) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - errorMessage = verifyResult.getErrorMessage(); - break; - } - if (!teacherService.update(teacher, originalTeacher)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult update(@MyRequestBody Teacher teacher) { + String errorMessage = MyCommonUtil.getModelValidationError(teacher, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + // 验证关联Id的数据合法性 + Teacher originalTeacher = teacherService.getById(teacher.getTeacherId()); + if (originalTeacher == null) { + //NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + // 验证关联Id的数据合法性 + CallResult callResult = teacherService.verifyRelatedData(teacher, originalTeacher); + if (!callResult.isSuccess()) { + errorMessage = callResult.getErrorMessage(); + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + if (!teacherService.update(teacher, originalTeacher)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); } /** @@ -109,29 +94,23 @@ public class TeacherController { * @return 应答结果对象。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long teacherId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(teacherId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - // 验证关联Id的数据合法性 - Teacher originalTeacher = teacherService.getById(teacherId); - if (originalTeacher == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - //TODO 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - break; - } - if (!teacherService.remove(teacherId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long teacherId) { + String errorMessage; + if (MyCommonUtil.existBlankArgument(teacherId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + // 验证关联Id的数据合法性 + Teacher originalTeacher = teacherService.getById(teacherId); + if (originalTeacher == null) { + // NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + if (!teacherService.remove(teacherId)) { + errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -144,13 +123,13 @@ public class TeacherController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult list( @MyRequestBody Teacher teacherFilter, @MyRequestBody SysDept sysDeptFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } String orderBy = MyOrderParam.buildOrderBy(orderParam, Teacher.class); List resultList = @@ -166,21 +145,14 @@ public class TeacherController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long teacherId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - Teacher teacher = null; - do { - if (MyCommonUtil.existBlankArgument(teacherId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - teacher = teacherService.getByIdWithRelation(teacherId); - if (teacher == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, teacher); + if (MyCommonUtil.existBlankArgument(teacherId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + Teacher teacher = teacherService.getByIdWithRelation(teacherId, MyRelationParam.full()); + if (teacher == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(teacher); } /** @@ -191,8 +163,8 @@ public class TeacherController { * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 */ @GetMapping("/listDictTeacher") - public ResponseResult listDictTeacher(Teacher filter) { - List resultList = teacherService.getListByFilter(filter); + public ResponseResult>> listDictTeacher(Teacher filter) { + List resultList = teacherService.getListByFilter(filter, null); return ResponseResult.success(BeanQuery.select( "teacherId as id", "teacherName as name").executeFrom(resultList)); } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherTransStatsController.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherTransStatsController.java index 1786ffdb..0ed38b3e 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherTransStatsController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherTransStatsController.java @@ -1,6 +1,6 @@ package com.orange.admin.app.controller; -import com.github.pagehelper.PageHelper; +import com.github.pagehelper.page.PageMethod; import com.orange.admin.app.model.*; import com.orange.admin.app.service.*; import com.orange.admin.common.core.object.*; @@ -8,6 +8,7 @@ import com.orange.admin.common.core.util.*; import com.orange.admin.common.core.constant.ErrorCodeEnum; import com.orange.admin.common.core.annotation.MyRequestBody; import lombok.extern.slf4j.Slf4j; +import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -17,7 +18,7 @@ import java.util.*; * 老师流水统计操作控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -36,12 +37,12 @@ public class TeacherTransStatsController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult list( @MyRequestBody TeacherTransStats teacherTransStatsFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } String orderBy = MyOrderParam.buildOrderBy(orderParam, TeacherTransStats.class); List resultList = teacherTransStatsService.getTeacherTransStatsListWithRelation(teacherTransStatsFilter, orderBy); @@ -58,7 +59,7 @@ public class TeacherTransStatsController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/listWithGroup") - public ResponseResult listWithGroup( + public ResponseResult listWithGroup( @MyRequestBody TeacherTransStats teacherTransStatsFilter, @MyRequestBody MyGroupParam groupParam, @MyRequestBody MyOrderParam orderParam, @@ -70,7 +71,7 @@ public class TeacherTransStatsController { ErrorCodeEnum.INVALID_ARGUMENT_FORMAT, "数据参数错误,分组参数不能为空!"); } if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } MyGroupCriteria criteria = groupParam.getGroupCriteria(); List resultList = teacherTransStatsService.getGroupedTeacherTransStatsListWithRelation( @@ -86,20 +87,13 @@ public class TeacherTransStatsController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long statsId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - TeacherTransStats teacherTransStats = null; - do { - if (MyCommonUtil.existBlankArgument(statsId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - teacherTransStats = teacherTransStatsService.getByIdWithRelation(statsId); - if (teacherTransStats == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, teacherTransStats); + if (MyCommonUtil.existBlankArgument(statsId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + TeacherTransStats teacherTransStats = teacherTransStatsService.getByIdWithRelation(statsId, MyRelationParam.full()); + if (teacherTransStats == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(teacherTransStats); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/AreaCodeMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/AreaCodeMapper.java index f57475ca..64923cc0 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/AreaCodeMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/AreaCodeMapper.java @@ -7,7 +7,7 @@ import com.orange.admin.app.model.AreaCode; * 行政区划数据操作访问接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface AreaCodeMapper extends BaseDaoMapper { } \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherMapper.java index bc906658..afc12d23 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherMapper.java @@ -12,7 +12,7 @@ import java.util.*; * 老师数据源数据操作访问接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @EnableDataPerm public interface TeacherMapper extends BaseDaoMapper { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherTransStatsMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherTransStatsMapper.java index 2d836de0..b0776168 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherTransStatsMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherTransStatsMapper.java @@ -11,7 +11,7 @@ import java.util.*; * 老师流水统计数据操作访问接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @EnableDataPerm public interface TeacherTransStatsMapper extends BaseDaoMapper { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/AreaCode.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/AreaCode.java index 738c16ef..d94ddf70 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/AreaCode.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/AreaCode.java @@ -4,6 +4,12 @@ import lombok.Data; import javax.persistence.*; +/** + * 行政区划实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_area_code") public class AreaCode { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/Teacher.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/Teacher.java index 0cc8d9b6..b4e2a953 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/Teacher.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/Teacher.java @@ -20,6 +20,12 @@ import javax.validation.constraints.*; import java.util.Date; import java.util.Map; +/** + * Teacher实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_teacher") public class Teacher { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/TeacherTransStats.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/TeacherTransStats.java index e67f551f..6540e17d 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/TeacherTransStats.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/TeacherTransStats.java @@ -13,6 +13,12 @@ import javax.validation.constraints.*; import java.util.Date; import java.util.Map; +/** + * TeacherTransStats实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_teacher_trans_stats") public class TeacherTransStats { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/constant/Gender.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/constant/Gender.java index 1e9ac202..8166281b 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/constant/Gender.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/constant/Gender.java @@ -3,6 +3,12 @@ package com.orange.admin.app.model.constant; import java.util.HashMap; import java.util.Map; +/** + * 性别常量字典对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ public final class Gender { /** @@ -14,7 +20,7 @@ public final class Gender { */ public static final int FEMALE = 0; - public static final Map DICT_MAP = new HashMap<>(2); + private static final Map DICT_MAP = new HashMap<>(2); static { DICT_MAP.put(MALE, "男"); DICT_MAP.put(FEMALE, "女"); @@ -26,8 +32,8 @@ public final class Gender { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/constant/TeacherLevelType.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/constant/TeacherLevelType.java index cdccf1c7..248880c6 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/constant/TeacherLevelType.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/constant/TeacherLevelType.java @@ -3,6 +3,12 @@ package com.orange.admin.app.model.constant; import java.util.HashMap; import java.util.Map; +/** + * 教师职级常量字典对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ public final class TeacherLevelType { /** @@ -18,7 +24,7 @@ public final class TeacherLevelType { */ public static final int HIGH = 2; - public static final Map DICT_MAP = new HashMap<>(3); + private static final Map DICT_MAP = new HashMap<>(3); static { DICT_MAP.put(LOWER, "初级"); DICT_MAP.put(NORMAL, "中级"); @@ -31,8 +37,8 @@ public final class TeacherLevelType { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/AreaCodeService.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/service/AreaCodeService.java index 3a2ebe6f..50642538 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/AreaCodeService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/service/AreaCodeService.java @@ -16,7 +16,7 @@ import java.util.List; * 行政区划的Service类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service public class AreaCodeService extends BaseDictService { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherService.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherService.java index ba6cc49b..2a2bbac1 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherService.java @@ -5,15 +5,15 @@ import com.orange.admin.app.model.*; import com.orange.admin.upms.model.*; import com.orange.admin.upms.service.SysUserService; import com.orange.admin.upms.service.SysDeptService; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.base.dao.BaseDaoMapper; import com.orange.admin.common.core.object.MyWhereCriteria; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.MyRelationParam; +import com.orange.admin.common.core.object.CallResult; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import org.springframework.transaction.annotation.Transactional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import tk.mybatis.mapper.entity.Example; import java.util.*; @@ -21,10 +21,10 @@ import java.util.*; * 老师数据源数据操作服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class TeacherService extends BaseService { +public class TeacherService extends BaseBizService { @Autowired private TeacherMapper teacherMapper; @@ -51,7 +51,7 @@ public class TeacherService extends BaseService { * @param teacher 新增对象。 * @return 返回新增对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public Teacher saveNew(Teacher teacher) { teacher.setTeacherId(idGenerator.nextLongId()); teacher.setRegisterDate(new Date()); @@ -62,11 +62,11 @@ public class TeacherService extends BaseService { /** * 更新数据对象。 * - * @param teacher 更新的对象。 + * @param teacher 更新的对象。 * @param originalTeacher 原有数据对象。 * @return 成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update(Teacher teacher, Teacher originalTeacher) { teacher.setRegisterDate(originalTeacher.getRegisterDate()); return teacherMapper.updateByPrimaryKey(teacher) == 1; @@ -78,25 +78,17 @@ public class TeacherService extends BaseService { * @param teacherId 主键Id。 * @return 成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long teacherId) { - Teacher teacher = teacherMapper.selectByPrimaryKey(teacherId); - if (teacher == null) { - return false; - } - // 这里先删除主数据 - if (teacherMapper.deleteByPrimaryKey(teacherId) == 0) { - return false; - } + return teacherMapper.deleteByPrimaryKey(teacherId) != 0; // 这里可继续删除关联数据。 - return true; } /** * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 * 如果需要同时获取关联数据,请移步(getTeacherListWithRelation)方法。 * - * @param filter 过滤对象。 + * @param filter 过滤对象。 * @param orderBy 排序参数。 * @return 查询结果集。 */ @@ -117,7 +109,7 @@ public class TeacherService extends BaseService { List resultList = teacherMapper.getTeacherListEx(filter, sysDeptFilter, orderBy); Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildAllRelationForDataList(resultList, false, criteriaMap); + this.buildRelationForDataList(resultList, MyRelationParam.normal(), criteriaMap); return resultList; } @@ -128,24 +120,18 @@ public class TeacherService extends BaseService { * @param originalTeacher 原有数据对象。 * @return 数据全部正确返回true,否则false。 */ - public VerifyResult verifyRelatedData(Teacher teacher, Teacher originalTeacher) { - String errorMessage = null; - do { - //这里是基于字典的验证。 - if (this.needToVerify(teacher, originalTeacher, Teacher::getSchoolId)) { - if (!sysDeptService.existId(teacher.getSchoolId())) { - errorMessage = "数据验证失败,关联的所属校区并不存在,请刷新后重试!"; - break; - } - } - //这里是基于字典的验证。 - if (this.needToVerify(teacher, originalTeacher, Teacher::getUserId)) { - if (!sysUserService.existId(teacher.getUserId())) { - errorMessage = "数据验证失败,关联的绑定用户并不存在,请刷新后重试!"; - break; - } - } - } while (false); - return VerifyResult.create(errorMessage); + public CallResult verifyRelatedData(Teacher teacher, Teacher originalTeacher) { + String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; + //这里是基于字典的验证。 + if (this.needToVerify(teacher, originalTeacher, Teacher::getSchoolId) + && !sysDeptService.existId(teacher.getSchoolId())) { + return CallResult.error(String.format(errorMessageFormat, "所属校区")); + } + //这里是基于字典的验证。 + if (this.needToVerify(teacher, originalTeacher, Teacher::getUserId) + && !sysUserService.existId(teacher.getUserId())) { + return CallResult.error(String.format(errorMessageFormat, "绑定用户")); + } + return CallResult.ok(); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherTransStatsService.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherTransStatsService.java index 9b97d29b..bc5ad93f 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherTransStatsService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherTransStatsService.java @@ -3,9 +3,10 @@ package com.orange.admin.app.service; import com.orange.admin.app.dao.*; import com.orange.admin.app.model.*; import com.orange.admin.upms.service.SysDeptService; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.base.dao.BaseDaoMapper; import com.orange.admin.common.core.object.MyWhereCriteria; +import com.orange.admin.common.core.object.MyRelationParam; +import com.orange.admin.common.biz.base.service.BaseBizService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -15,10 +16,10 @@ import java.util.*; * 老师流水统计数据操作服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class TeacherTransStatsService extends BaseService { +public class TeacherTransStatsService extends BaseBizService { @Autowired private TeacherTransStatsMapper teacherTransStatsMapper; @@ -43,7 +44,7 @@ public class TeacherTransStatsService extends BaseService getTeacherTransStatsListWithRelation(TeacherTransStats filter, String orderBy) { List resultList = teacherTransStatsMapper.getTeacherTransStatsList(filter, orderBy); Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildAllRelationForDataList(resultList, false, criteriaMap); + this.buildRelationForDataList(resultList, MyRelationParam.normal(), criteriaMap); return resultList; } @@ -81,7 +82,7 @@ public class TeacherTransStatsService extends BaseService 0) { for (String ip : credentialIpList) { corsConfiguration.addAllowedOrigin(ip); } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/config/InterceptorConfig.java b/orange-admin-service/application/src/main/java/com/orange/admin/config/InterceptorConfig.java index 3753886b..12fffe33 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/config/InterceptorConfig.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/config/InterceptorConfig.java @@ -16,10 +16,10 @@ import java.nio.charset.StandardCharsets; import java.util.List; /** - * 所有的项目拦截器都在这里集中配置 + * 所有的项目拦截器都在这里集中配置。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Configuration public class InterceptorConfig implements WebMvcConfigurer { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/AuthenticationInterceptor.java b/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/AuthenticationInterceptor.java index 4b7a4083..37abee99 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/AuthenticationInterceptor.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/AuthenticationInterceptor.java @@ -33,7 +33,7 @@ import java.util.stream.Collectors; * 登录用户Token验证、生成和权限验证的拦截器。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j public class AuthenticationInterceptor implements HandlerInterceptor { @@ -82,7 +82,7 @@ public class AuthenticationInterceptor implements HandlerInterceptor { return false; } String sessionId = (String) c.get("sessionId"); - Cache cache = cacheManager.getCache(CacheConfig.CacheEnum.GlobalCache.name()); + Cache cache = cacheManager.getCache(CacheConfig.CacheEnum.GLOBAL_CACHE.name()); TokenData tokenData = cache.get(sessionId, TokenData.class); if (tokenData == null) { response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -91,17 +91,15 @@ public class AuthenticationInterceptor implements HandlerInterceptor { return false; } TokenData.addToRequest(tokenData); - if (!tokenData.getIsAdmin()) { - // 如果url在权限资源白名单中,则不需要进行鉴权操作 - if (!whitelistPermSet.contains(url)) { - Set urlSet = sysPermService.getCacheableSysPermSetByUserId( - tokenData.getSessionId(), tokenData.getUserId()); - if (!urlSet.contains(url)) { - response.setStatus(HttpServletResponse.SC_FORBIDDEN); - this.outputResponseMessage(response, - ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION)); - return false; - } + // 如果url在权限资源白名单中,则不需要进行鉴权操作 + if (!tokenData.getIsAdmin() && !whitelistPermSet.contains(url)) { + Set urlSet = sysPermService.getCacheableSysPermSetByUserId( + tokenData.getSessionId(), tokenData.getUserId()); + if (!urlSet.contains(url)) { + response.setStatus(HttpServletResponse.SC_FORBIDDEN); + this.outputResponseMessage(response, + ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION)); + return false; } } if (JwtUtil.needToRefresh(c)) { @@ -114,11 +112,13 @@ public class AuthenticationInterceptor implements HandlerInterceptor { @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + // 这里需要空注解,否则sonar会不happy。 } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + // 这里需要空注解,否则sonar会不happy。 } private void outputResponseMessage(HttpServletResponse response, ResponseResult respObj) { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/MybatisDataPermInterceptor.java b/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/MybatisDataPermInterceptor.java index 8eb8ad08..f83aa69f 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/MybatisDataPermInterceptor.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/MybatisDataPermInterceptor.java @@ -1,24 +1,29 @@ package com.orange.admin.interceptor; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ReflectUtil; import com.orange.admin.common.core.constant.DataPermRuleType; import com.orange.admin.common.core.annotation.DeptFilterColumn; import com.orange.admin.common.core.annotation.UserFilterColumn; import com.orange.admin.common.core.annotation.EnableDataPerm; +import com.orange.admin.common.core.exception.NoDataPermException; import com.orange.admin.common.core.object.GlobalThreadLocal; import com.orange.admin.common.core.object.TokenData; import com.orange.admin.common.core.util.ApplicationContextHolder; import com.orange.admin.common.core.util.ContextUtil; import com.orange.admin.common.core.util.MyModelUtil; import com.orange.admin.config.CacheConfig; +import com.orange.admin.upms.dao.SysDataPermMapper; import lombok.Data; import lombok.extern.slf4j.Slf4j; +import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.operators.conditional.AndExpression; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.statement.select.FromItem; import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; import net.sf.jsqlparser.statement.select.SubSelect; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.executor.statement.RoutingStatementHandler; @@ -30,7 +35,6 @@ import org.apache.ibatis.plugin.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; -import org.springframework.dao.PermissionDeniedDataAccessException; import org.springframework.stereotype.Component; import tk.mybatis.mapper.common.Mapper; @@ -43,7 +47,7 @@ import java.util.*; * Mybatis拦截器。目前用于数据权限的统一拦截和注入处理。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})}) @Slf4j @@ -56,7 +60,7 @@ public class MybatisDataPermInterceptor implements Interceptor { /** * HTTP Head或HTTP Request Parameter中菜单Id数据的KEY名称。 */ - private final static String MENU_ID_HEADER_KEY = "MenuId"; + private static final String MENU_ID_HEADER_KEY = "MenuId"; /** * 对象缓存。由于Set是排序后的,因为在查找排除方法名称时效率更高。 * 在应用服务启动的监听器中(LoadDataPermMapperListener),会调用当前对象的(loadMappersWithDataPerm)方法,加载缓存。 @@ -67,6 +71,7 @@ public class MybatisDataPermInterceptor implements Interceptor { * 预先加载需要数据权限过滤的Mapper到缓存,该函数会在(LoadDataPermMapperListener)监听器中调用。 */ public void loadMappersWithDataPerm() { + @SuppressWarnings("all") Map mapperMap = ApplicationContextHolder.getApplicationContext().getBeansOfType(Mapper.class); for (Mapper mapperProxy : mapperMap.values()) { @@ -80,55 +85,59 @@ public class MybatisDataPermInterceptor implements Interceptor { (Class) ReflectUtil.getFieldValue(proxy, "mapperInterface"); EnableDataPerm rule = mapperClass.getAnnotation(EnableDataPerm.class); if (rule != null) { - // 由于给数据权限Mapper添加@EnableDataPerm,将会导致无限递归,因此这里检测到之后, - // 会在系统启动加载监听器的时候,及时抛出异常。 - if ("SysDataPermMapper".equals(mapperClass.getSimpleName())) { - throw new IllegalStateException("Add @EnableDataPerm annotation to SysDataPermMapper is ILLEGAL!"); - } - // 这里开始获取当前Mapper已经声明的的SqlId中,有哪些是需要排除在外的。 - // 排除在外的将不进行数据过滤。 - Set excludeMethodNameSet = null; - String[] excludes = rule.excluseMethodName(); - if (excludes.length > 0) { - excludeMethodNameSet = new HashSet<>(); - for (String excludeName : excludes) { - excludeMethodNameSet.add(excludeName); - // 这里是给tk.mapper和pagehelper中,分页查询先获取数据总量的查询。 - excludeMethodNameSet.add(excludeName + "_COUNT"); - } - } - // 获取Mapper关联的主表信息,包括表名,user过滤字段名和dept过滤字段名。 - Class modelClazz = (Class) - ((ParameterizedType) mapperClass.getGenericInterfaces()[0]).getActualTypeArguments()[0]; - Field[] fields = ReflectUtil.getFields(modelClazz); - Field userFilterField = null, deptFilterField = null; - for (Field field : fields) { - if (null != field.getAnnotation(UserFilterColumn.class)) { - userFilterField = field; - } - if (null != field.getAnnotation(DeptFilterColumn.class)) { - deptFilterField = field; - } - if (userFilterField != null && deptFilterField != null) { - break; - } - } - // 通过注解解析与Mapper关联的Model,并获取与数据权限关联的信息,并将结果缓存。 - ModelDataPermInfo info = new ModelDataPermInfo(); - info.setMainTableName(MyModelUtil.mapToTableName(modelClazz)); - info.setExcludeMethodNameSet(excludeMethodNameSet); - if (userFilterField != null) { - info.setUserFilterColumn(MyModelUtil.mapToColumnName(userFilterField, modelClazz)); - } - if (deptFilterField != null) { - info.setDeptFilterColumn(MyModelUtil.mapToColumnName(deptFilterField, modelClazz)); - } - String className = mapperClass.getName(); - cacheMap.put(mapperClass.getName(), info); + loadRules(mapperClass, rule); } } } + private void loadRules(Class mapperClass, EnableDataPerm rule) { + // 由于给数据权限Mapper添加@EnableDataPerm,将会导致无限递归,因此这里检测到之后, + // 会在系统启动加载监听器的时候,及时抛出异常。 + if (mapperClass.equals(SysDataPermMapper.class)) { + throw new IllegalStateException("Add @EnableDataPerm annotation to SysDataPermMapper is ILLEGAL!"); + } + // 这里开始获取当前Mapper已经声明的的SqlId中,有哪些是需要排除在外的。 + // 排除在外的将不进行数据过滤。 + Set excludeMethodNameSet = null; + String[] excludes = rule.excluseMethodName(); + if (excludes.length > 0) { + excludeMethodNameSet = new HashSet<>(); + for (String excludeName : excludes) { + excludeMethodNameSet.add(excludeName); + // 这里是给tk.mapper和pagehelper中,分页查询先获取数据总量的查询。 + excludeMethodNameSet.add(excludeName + "_COUNT"); + } + } + // 获取Mapper关联的主表信息,包括表名,user过滤字段名和dept过滤字段名。 + Class modelClazz = (Class) + ((ParameterizedType) mapperClass.getGenericInterfaces()[0]).getActualTypeArguments()[0]; + Field[] fields = ReflectUtil.getFields(modelClazz); + Field userFilterField = null; + Field deptFilterField = null; + for (Field field : fields) { + if (null != field.getAnnotation(UserFilterColumn.class)) { + userFilterField = field; + } + if (null != field.getAnnotation(DeptFilterColumn.class)) { + deptFilterField = field; + } + if (userFilterField != null && deptFilterField != null) { + break; + } + } + // 通过注解解析与Mapper关联的Model,并获取与数据权限关联的信息,并将结果缓存。 + ModelDataPermInfo info = new ModelDataPermInfo(); + info.setMainTableName(MyModelUtil.mapToTableName(modelClazz)); + info.setExcludeMethodNameSet(excludeMethodNameSet); + if (userFilterField != null) { + info.setUserFilterColumn(MyModelUtil.mapToColumnName(userFilterField, modelClazz)); + } + if (deptFilterField != null) { + info.setDeptFilterColumn(MyModelUtil.mapToColumnName(deptFilterField, modelClazz)); + } + cacheMap.put(mapperClass.getName(), info); + } + @SuppressWarnings("unchecked") @Override public Object intercept(Invocation invocation) throws Throwable { @@ -149,7 +158,7 @@ public class MybatisDataPermInterceptor implements Interceptor { SqlCommandType commandType = mappedStatement.getSqlCommandType(); TokenData tokenData = TokenData.takeFromRequest(); // 数据过滤权限中,只是过滤SELECT语句。如果是管理员则不参与数据权限的数据过滤,显示全部数据。 - if (commandType != SqlCommandType.SELECT || tokenData == null || tokenData.getIsAdmin()) { + if (commandType != SqlCommandType.SELECT || tokenData == null || Boolean.TRUE.equals(tokenData.getIsAdmin())) { return invocation.proceed(); } String sqlId = mappedStatement.getId(); @@ -158,107 +167,111 @@ public class MybatisDataPermInterceptor implements Interceptor { String methodName = StringUtils.substring(sqlId, pos + 1); // 先从缓存中查找当前Mapper是否存在。 ModelDataPermInfo info = cacheMap.get(className); - if (info != null) { - // 再次查找当前方法是否为排除方法,如果不是,就参与数据权限注入过滤。 - if (info.getExcludeMethodNameSet() == null - || !info.getExcludeMethodNameSet().contains(methodName)) { - String menuId = ContextUtil.getHttpRequest().getHeader(MENU_ID_HEADER_KEY); + // 再次查找当前方法是否为排除方法,如果不是,就参与数据权限注入过滤。 + if (info != null && !CollUtil.contains(info.getExcludeMethodNameSet(), methodName)) { + String menuId = ContextUtil.getHttpRequest().getHeader(MENU_ID_HEADER_KEY); + if (StringUtils.isBlank(menuId)) { + menuId = ContextUtil.getHttpRequest().getParameter(MENU_ID_HEADER_KEY); if (StringUtils.isBlank(menuId)) { - menuId = ContextUtil.getHttpRequest().getParameter(MENU_ID_HEADER_KEY); - if (StringUtils.isBlank(menuId)) { - throw new IllegalStateException( - "No [ MENU_ID ] key found in Http Header for SQL_ID [ " + sqlId + " ]."); - } + throw new IllegalStateException( + "No [ MENU_ID ] key found in Http Header for SQL_ID [ " + sqlId + " ]."); } - Cache cache = cacheManager.getCache(CacheConfig.CacheEnum.DataPermissionCache.name()); - Map> menuIdAndDataPermMap = - (Map>) cache.get(tokenData.getSessionId(), Map.class); - if (menuIdAndDataPermMap == null) { - throw new PermissionDeniedDataAccessException( - "No Related DataPerm found with SESSION_ID [ " + tokenData.getSessionId() + " ].", null); - } - Map dataPermMap = menuIdAndDataPermMap.get(Long.valueOf(menuId)); - if (MapUtils.isEmpty(dataPermMap)) { - throw new PermissionDeniedDataAccessException( - "No Related DataPerm found with MENU_ID [ " + menuId + " ] for SQL_ID [ " + sqlId + " ].", null); - } - if (dataPermMap.containsKey(DataPermRuleType.TYPE_ALL)) { - return invocation.proceed(); - } - BoundSql boundSql = delegate.getBoundSql(); - String sql = boundSql.getSql(); - Select select = (Select) CCJSqlParserUtil.parse(sql); - PlainSelect selectBody = (PlainSelect) select.getSelectBody(); - FromItem fromItem = selectBody.getFromItem(); - PlainSelect subSelect = null; - if (fromItem instanceof SubSelect) { - subSelect = (PlainSelect) ((SubSelect) fromItem).getSelectBody(); - } - List criteriaList = new LinkedList<>(); - for (Map.Entry entry : dataPermMap.entrySet()) { - Integer ruleType = entry.getKey(); - if (ruleType == DataPermRuleType.TYPE_USER_ONLY) { - if (StringUtils.isNotBlank(info.getUserFilterColumn())) { - StringBuilder filter = new StringBuilder(64); - filter.append(info.getMainTableName()) - .append(".") - .append(info.getUserFilterColumn()) - .append(" = ") - .append(tokenData.getUserId()); - criteriaList.add(filter.toString()); - } - } else { - if (StringUtils.isNotBlank(info.getDeptFilterColumn())) { - StringBuilder filter = new StringBuilder(128); - if (ruleType == DataPermRuleType.TYPE_DEPT_ONLY) { - filter.append(info.getMainTableName()) - .append(".") - .append(info.getDeptFilterColumn()) - .append(" = ") - .append(tokenData.getDeptId()); - } else if (ruleType == DataPermRuleType.TYPE_CUSTOM_DETP_LIST) { - filter.append(info.getMainTableName()) - .append(".") - .append(info.getDeptFilterColumn()) - .append(" IN (") - .append(entry.getValue()) - .append(") "); - } - criteriaList.add(filter.toString()); - } - } - } - if (criteriaList.size() > 0) { - StringBuilder filterBuilder = new StringBuilder(128); - filterBuilder.append("("); - filterBuilder.append(StringUtils.join(criteriaList, " OR ")); - filterBuilder.append(")"); - String dataFilter = filterBuilder.toString(); - if (subSelect != null) { - if (subSelect.getWhere() == null) { - subSelect.setWhere(CCJSqlParserUtil.parseCondExpression(dataFilter)); - } else { - AndExpression and = new AndExpression( - CCJSqlParserUtil.parseCondExpression(dataFilter), subSelect.getWhere()); - subSelect.setWhere(and); - } - } else { - if (selectBody.getWhere() == null) { - selectBody.setWhere(CCJSqlParserUtil.parseCondExpression(dataFilter)); - } else { - AndExpression and = new AndExpression( - CCJSqlParserUtil.parseCondExpression(dataFilter), selectBody.getWhere()); - selectBody.setWhere(and); - } - } - } - sql = select.toString(); - ReflectUtil.setFieldValue(boundSql, "sql", sql); } + Cache cache = cacheManager.getCache(CacheConfig.CacheEnum.DATA_PERMISSION_CACHE.name()); + Map> menuIdAndDataPermMap = + (Map>) cache.get(tokenData.getSessionId(), Map.class); + if (menuIdAndDataPermMap == null) { + throw new NoDataPermException( + "No Related DataPerm found with SESSION_ID [ " + tokenData.getSessionId() + " ]."); + } + Map dataPermMap = menuIdAndDataPermMap.get(Long.valueOf(menuId)); + if (MapUtils.isEmpty(dataPermMap)) { + throw new NoDataPermException( + "No Related DataPerm found with MENU_ID [ " + menuId + " ] for SQL_ID [ " + sqlId + " ]."); + } + processDataPerm(info, dataPermMap, delegate.getBoundSql()); } return invocation.proceed(); } + private void processDataPerm(ModelDataPermInfo info, Map dataPermMap, BoundSql boundSql) + throws JSQLParserException { + if (dataPermMap.containsKey(DataPermRuleType.TYPE_ALL)) { + return; + } + String sql = boundSql.getSql(); + Select select = (Select) CCJSqlParserUtil.parse(sql); + PlainSelect selectBody = (PlainSelect) select.getSelectBody(); + FromItem fromItem = selectBody.getFromItem(); + PlainSelect subSelect = null; + if (fromItem instanceof SubSelect) { + subSelect = (PlainSelect) ((SubSelect) fromItem).getSelectBody(); + } + List criteriaList = new LinkedList<>(); + for (Map.Entry entry : dataPermMap.entrySet()) { + String filterClause = processDataPermRule(info, entry.getKey(), entry.getValue()); + if (StringUtils.isNotBlank(filterClause)) { + criteriaList.add(filterClause); + } + } + if (CollectionUtils.isNotEmpty(criteriaList)) { + StringBuilder filterBuilder = new StringBuilder(128); + filterBuilder.append("("); + filterBuilder.append(StringUtils.join(criteriaList, " OR ")); + filterBuilder.append(")"); + String dataFilter = filterBuilder.toString(); + if (subSelect != null) { + buildWhereClause(subSelect, dataFilter); + } else { + buildWhereClause(selectBody, dataFilter); + } + } + sql = select.toString(); + ReflectUtil.setFieldValue(boundSql, "sql", sql); + } + + private String processDataPermRule(ModelDataPermInfo info, Integer ruleType, String deptIds) { + TokenData tokenData = TokenData.takeFromRequest(); + StringBuilder filter = new StringBuilder(128); + if (ruleType == DataPermRuleType.TYPE_USER_ONLY) { + if (StringUtils.isNotBlank(info.getUserFilterColumn())) { + filter.append(info.getMainTableName()) + .append(".") + .append(info.getUserFilterColumn()) + .append(" = ") + .append(tokenData.getUserId()); + } + } else { + if (StringUtils.isNotBlank(info.getDeptFilterColumn())) { + if (ruleType == DataPermRuleType.TYPE_DEPT_ONLY) { + filter.append(info.getMainTableName()) + .append(".") + .append(info.getDeptFilterColumn()) + .append(" = ") + .append(tokenData.getDeptId()); + } else if (ruleType == DataPermRuleType.TYPE_CUSTOM_DETP_LIST) { + filter.append(info.getMainTableName()) + .append(".") + .append(info.getDeptFilterColumn()) + .append(" IN (") + .append(deptIds) + .append(") "); + } + } + } + return filter.toString(); + } + + private void buildWhereClause(PlainSelect select, String dataFilter) throws JSQLParserException { + if (select.getWhere() == null) { + select.setWhere(CCJSqlParserUtil.parseCondExpression(dataFilter)); + } else { + AndExpression and = new AndExpression( + CCJSqlParserUtil.parseCondExpression(dataFilter), select.getWhere()); + select.setWhere(and); + } + } + @Override public Object plugin(Object target) { return Plugin.wrap(target, this); @@ -266,7 +279,7 @@ public class MybatisDataPermInterceptor implements Interceptor { @Override public void setProperties(Properties properties) { - + // 这里需要空注解,否则sonar会不happy。 } @Data diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/listener/LoadDataPermMapperListener.java b/orange-admin-service/application/src/main/java/com/orange/admin/listener/LoadDataPermMapperListener.java index 91686225..6fe1811f 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/listener/LoadDataPermMapperListener.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/listener/LoadDataPermMapperListener.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; * 将标记有数据权限规则注解的Mapper对象,加载到缓存,以提升系统运行时效率。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Component public class LoadDataPermMapperListener implements ApplicationListener { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/LoginController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/LoginController.java index 7e1fcba8..fbfb82e6 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/LoginController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/LoginController.java @@ -15,20 +15,21 @@ import com.orange.admin.common.core.object.ResponseResult; import com.orange.admin.common.core.object.TokenData; import com.orange.admin.common.core.util.JwtUtil; import com.orange.admin.common.core.util.MyCommonUtil; +import com.orange.admin.common.core.util.RsaUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.util.*; /** * 登录接口控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -59,58 +60,58 @@ public class LoginController { */ @NoAuthInterface @GetMapping("/doLogin") - public ResponseResult doLogin(@RequestParam String loginName, @RequestParam String password) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; + public ResponseResult doLogin( + @RequestParam String loginName, @RequestParam String password) throws Exception { + if (MyCommonUtil.existBlankArgument(loginName, password)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + //NOTE: 执行RsaUtil工具类中的main函数,可以生成新的公钥和私钥。 + String privateKey = + "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKkLhAydtOtA4WuIkkIIUVaGWu4ElOEAQF9GTulHHWOwCHI1UvcKolvS1G+mdsKcmGtEAQ92AUde/kDRGu8Wn7kLDtCgUfo72soHz7Qfv5pVB4ohMxQd/9cxeKjKbDoirhB9Z3xGF20zUozp4ZPLxpTtI7azr0xzUtd5+D/HfLDrAgMBAAECgYEApESZhDz4YyeAJiPnpJ06lS8oS2VOWzsIUs0av5uoloeoHXtt7Lx7u2kroHeNrl3Hy2yg7ypH4dgQkGHin3VHrVAgjG3TxhgBXIqqntzzk2AGJKBeIIkRX86uTvtKZyp3flUgcwcGmpepAHS1V1DPY3aVYvbcqAmoL6DX6VYN0NECQQDQUitMdC76lEtAr5/ywS0nrZJDo6U7eQ7ywx/eiJ+YmrSye8oorlAj1VBWG+Cl6jdHOHtTQyYv/tu71fjzQiJTAkEAz7wb47/vcSUpNWQxItFpXz0o6rbJh71xmShn1AKP7XptOVZGlW9QRYEzHabV9m/DHqI00cMGhHrWZAhCiTkUCQJAFsJjaJ7o4weAkTieyO7B+CvGZw1h5/V55Jvcx3s1tH5yb22G0Jr6tm9/r2isSnQkReutzZLwgR3e886UvD7lcQJAAUcD2OOuQkDbPwPNtYwaHMbQgJj9JkOI9kskUE5vuiMdltOr/XFAyhygRtdmy2wmhAK1VnDfkmL6/IR8fEGImQJABOB0KCalb0M8CPnqqHzozrD8gPObnIIr4aVvLIPATN2g7MM2N6F7JbI4RZFiKa92LV6bhQCY8OvHi5K2cgFpbw=="; + SysUser user = sysUserService.getSysUserByLoginName(loginName); + password = URLDecoder.decode(password, StandardCharsets.UTF_8.name()); + password = RsaUtil.decrypt(password, privateKey); + if (user == null + || !user.getPassword().equals(MyCommonUtil.encrptedPassword(password, appConfig.getPasswordSalt()))) { + return ResponseResult.error(ErrorCodeEnum.INVALID_USERNAME_PASSWORD); + } + String errorMessage; + if (user.getUserStatus() == SysUserStatus.STATUS_LOCKED) { + errorMessage = "登录失败,用户账号被锁定!"; + return ResponseResult.error(ErrorCodeEnum.INVALID_USER_STATUS, errorMessage); + } + boolean isAdmin = user.getUserType() == SysUserType.TYPE_ADMIN; + Map claims = new HashMap<>(3); + String sessionId = MyCommonUtil.generateUuid(); + claims.put("sessionId", sessionId); + String token = JwtUtil.generateToken(claims, appConfig.getTokenSigningKey()); JSONObject jsonData = new JSONObject(); - do { - if (MyCommonUtil.existBlankArgument(loginName, password)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - SysUser user = sysUserService.getSysUserByLoginName(loginName); - if (user == null - || !user.getPassword().equals(MyCommonUtil.encrptedPassword(password, appConfig.getPasswordSalt()))) { - errorCodeEnum = ErrorCodeEnum.INVALID_USERNAME_PASSWORD; - break; - } - if (user.getUserStatus() == SysUserStatus.STATUS_LOCKED) { - errorCodeEnum = ErrorCodeEnum.INVALID_USER_STATUS; - errorMessage = "登录失败,用户账号被锁定!"; - break; - } - boolean isAdmin = user.getUserType() == SysUserType.TYPE_ADMIN; - Map claims = new HashMap<>(3); - String sessionId = MyCommonUtil.generateUuid(); - claims.put("sessionId", sessionId); - String token = JwtUtil.generateToken(claims, appConfig.getTokenSigningKey()); - jsonData.put(TokenData.REQUEST_ATTRIBUTE_NAME, token); - jsonData.put("showName", user.getShowName()); - jsonData.put("isAdmin", isAdmin); - TokenData tokenData = new TokenData(); - tokenData.setSessionId(sessionId); - tokenData.setUserId(user.getUserId()); - tokenData.setDeptId(user.getDeptId()); - tokenData.setShowName(user.getShowName()); - tokenData.setIsAdmin(isAdmin); - Cache sessionCache = cacheManager.getCache(CacheConfig.CacheEnum.GlobalCache.name()); - sessionCache.put(sessionId, tokenData); - List menuList; - if (isAdmin) { - menuList = sysMenuService.getAllMenuList(); - } else { - menuList = sysMenuService.getMenuListByUserId(user.getUserId()); - List permCodeList = sysPermCodeService.getPermCodeListByUserId(user.getUserId()); - jsonData.put("permCodeList", permCodeList); - } - jsonData.put("menuList", menuList); - if (user.getUserType() != SysUserType.TYPE_ADMIN) { - // 缓存用户的权限资源 - sysPermService.putUserSysPermCache(sessionId, user.getUserId(), isAdmin); - sysDataPermService.putDataPermCache(sessionId, user.getUserId(), user.getDeptId(), isAdmin); - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, jsonData); + jsonData.put(TokenData.REQUEST_ATTRIBUTE_NAME, token); + jsonData.put("showName", user.getShowName()); + jsonData.put("isAdmin", isAdmin); + TokenData tokenData = new TokenData(); + tokenData.setSessionId(sessionId); + tokenData.setUserId(user.getUserId()); + tokenData.setDeptId(user.getDeptId()); + tokenData.setShowName(user.getShowName()); + tokenData.setIsAdmin(isAdmin); + Cache sessionCache = cacheManager.getCache(CacheConfig.CacheEnum.GLOBAL_CACHE.name()); + sessionCache.put(sessionId, tokenData); + List menuList; + if (isAdmin) { + menuList = sysMenuService.getAllMenuList(); + } else { + menuList = sysMenuService.getMenuListByUserId(user.getUserId()); + List permCodeList = sysPermCodeService.getPermCodeListByUserId(user.getUserId()); + jsonData.put("permCodeList", permCodeList); + } + jsonData.put("menuList", menuList); + if (user.getUserType() != SysUserType.TYPE_ADMIN) { + // 缓存用户的权限资源 + sysPermService.putUserSysPermCache(sessionId, user.getUserId(), isAdmin); + sysDataPermService.putDataPermCache(sessionId, user.getUserId(), user.getDeptId(), isAdmin); + } + return ResponseResult.success(jsonData); } /** @@ -119,7 +120,7 @@ public class LoginController { * @return 应答结果对象。 */ @PostMapping("/doLogout") - public ResponseResult doLogout() { + public ResponseResult doLogout() { TokenData tokenData = TokenData.takeFromRequest(); sysPermService.removeUserSysPermCache(tokenData.getSessionId()); sysDataPermService.removeDataPermCache(tokenData.getSessionId()); diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDataPermController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDataPermController.java index e50d8ba1..4ae52a0d 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDataPermController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDataPermController.java @@ -1,7 +1,7 @@ package com.orange.admin.upms.controller; import com.alibaba.fastjson.JSONObject; -import com.github.pagehelper.PageHelper; +import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; import com.orange.admin.upms.model.SysDataPermMenu; import com.orange.admin.upms.model.SysDataPerm; @@ -10,10 +10,11 @@ import com.orange.admin.upms.service.SysDataPermService; import com.orange.admin.upms.service.SysUserService; import com.orange.admin.common.core.validator.UpdateGroup; import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.common.core.object.MyOrderParam; import com.orange.admin.common.core.object.MyPageParam; import com.orange.admin.common.core.object.ResponseResult; +import com.orange.admin.common.core.object.MyRelationParam; import com.orange.admin.common.core.util.MyCommonUtil; import com.orange.admin.common.core.util.MyPageUtil; import com.orange.admin.common.core.annotation.MyRequestBody; @@ -28,7 +29,7 @@ import java.util.stream.Collectors; * 数据权限接口控制器对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -50,38 +51,31 @@ public class SysDataPermController { */ @SuppressWarnings("unchecked") @PostMapping("/add") - public ResponseResult add( + public ResponseResult add( @MyRequestBody SysDataPerm sysDataPerm, @MyRequestBody String deptIdListString, @MyRequestBody String menuIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(menuIdListString)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - errorMessage = MyCommonUtil.getModelValidationError(sysDataPerm); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - VerifyResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString, menuIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - List dataPermMenuList = null; - Set deptIdSet = null; - if (result.getData() != null) { - dataPermMenuList = (List) result.getData().get("dataPermMenuList"); - deptIdSet = (Set) result.getData().get("deptIdSet"); - } - sysDataPermService.saveNew(sysDataPerm, deptIdSet, dataPermMenuList); - responseData = new JSONObject(); - responseData.put("dataPermId", sysDataPerm.getDataPermId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + if (MyCommonUtil.existBlankArgument(menuIdListString)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + String errorMessage = MyCommonUtil.getModelValidationError(sysDataPerm); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + CallResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString, menuIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + List dataPermMenuList = null; + Set deptIdSet = null; + if (result.getData() != null) { + dataPermMenuList = (List) result.getData().get("dataPermMenuList"); + deptIdSet = (Set) result.getData().get("deptIdSet"); + } + sysDataPermService.saveNew(sysDataPerm, deptIdSet, dataPermMenuList); + JSONObject responseData = new JSONObject(); + responseData.put("dataPermId", sysDataPerm.getDataPermId()); + return ResponseResult.success(responseData); } /** @@ -94,45 +88,37 @@ public class SysDataPermController { */ @SuppressWarnings("unchecked") @PostMapping("/update") - public ResponseResult update( + public ResponseResult update( @MyRequestBody SysDataPerm sysDataPerm, @MyRequestBody String deptIdListString, @MyRequestBody String menuIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(menuIdListString)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - errorMessage = MyCommonUtil.getModelValidationError(sysDataPerm, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - SysDataPerm originalSysDataPerm = sysDataPermService.getById(sysDataPerm.getDataPermId()); - if (originalSysDataPerm == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据验证失败,当前数据权限并不存在,请刷新后重试!"; - break; - } - VerifyResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString, menuIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - List dataPermMenuList = null; - Set deptIdSet = null; - if (result.getData() != null) { - dataPermMenuList = (List) result.getData().get("dataPermMenuList"); - deptIdSet = (Set) result.getData().get("deptIdSet"); - } - if (!sysDataPermService.update(sysDataPerm, originalSysDataPerm, deptIdSet, dataPermMenuList)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "更新失败,数据不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + if (MyCommonUtil.existBlankArgument(menuIdListString)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + String errorMessage = MyCommonUtil.getModelValidationError(sysDataPerm, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + SysDataPerm originalSysDataPerm = sysDataPermService.getById(sysDataPerm.getDataPermId()); + if (originalSysDataPerm == null) { + errorMessage = "数据验证失败,当前数据权限并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + CallResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString, menuIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + List dataPermMenuList = null; + Set deptIdSet = null; + if (result.getData() != null) { + dataPermMenuList = (List) result.getData().get("dataPermMenuList"); + deptIdSet = (Set) result.getData().get("deptIdSet"); + } + if (!sysDataPermService.update(sysDataPerm, originalSysDataPerm, deptIdSet, dataPermMenuList)) { + errorMessage = "更新失败,数据不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -142,21 +128,15 @@ public class SysDataPermController { * @return 应答数据结果。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long dataPermId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysDataPermService.remove(dataPermId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,数据权限不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long dataPermId) { + if (MyCommonUtil.existBlankArgument(dataPermId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysDataPermService.remove(dataPermId)) { + String errorMessage = "数据操作失败,数据权限不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -168,12 +148,12 @@ public class SysDataPermController { * @return 应答结果对象。包含数据权限列表。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult list( @MyRequestBody SysDataPerm sysDataPermFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } String orderBy = MyOrderParam.buildOrderBy(orderParam, SysDataPerm.class); List resultList = sysDataPermService.getSysDataPermList(sysDataPermFilter, orderBy); @@ -188,21 +168,14 @@ public class SysDataPermController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long dataPermId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - SysDataPerm dataPerm = null; - do { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - dataPerm = sysDataPermService.getSysDataPermWithRelation(dataPermId); - if (dataPerm == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, dataPerm); + if (MyCommonUtil.existBlankArgument(dataPermId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + SysDataPerm dataPerm = sysDataPermService.getByIdWithRelation(dataPermId, MyRelationParam.full()); + if (dataPerm == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(dataPerm); } /** @@ -216,32 +189,23 @@ public class SysDataPermController { * @return 应答结果对象,包含用户列表数据。 */ @PostMapping("/listNotInDataPermUser") - public ResponseResult listNotInDataPermUser( + public ResponseResult listNotInDataPermUser( @MyRequestBody Long dataPermId, @MyRequestBody SysUser sysUserFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysDataPermService.existId(dataPermId)) { - errorCodeEnum = ErrorCodeEnum.INVALID_RELATED_RECORD_ID; - break; - } - if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List resultList = - sysUserService.getNotInSysUserListByDataPermId(dataPermId, sysUserFilter, orderBy); - responseData = MyPageUtil.makeResponseData(resultList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + ResponseResult verifyResult = this.doDataPermUserVerify(dataPermId); + if (!verifyResult.isSuccess()) { + return ResponseResult.errorFrom(verifyResult); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); + List resultList = + sysUserService.getNotInSysUserListByDataPermId(dataPermId, sysUserFilter, orderBy); + JSONObject responseData = MyPageUtil.makeResponseData(resultList); + return ResponseResult.success(responseData); } /** @@ -254,32 +218,33 @@ public class SysDataPermController { * @return 应答结果对象,包含用户列表数据。 */ @PostMapping("/listDataPermUser") - public ResponseResult listDataPermUser( + public ResponseResult listDataPermUser( @MyRequestBody Long dataPermId, @MyRequestBody SysUser sysUserFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysDataPermService.existId(dataPermId)) { - errorCodeEnum = ErrorCodeEnum.INVALID_RELATED_RECORD_ID; - break; - } - if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List resultList = - sysUserService.getSysUserListByDataPermId(dataPermId, sysUserFilter, orderBy); - responseData = MyPageUtil.makeResponseData(resultList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + ResponseResult verifyResult = this.doDataPermUserVerify(dataPermId); + if (!verifyResult.isSuccess()) { + return ResponseResult.errorFrom(verifyResult); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); + List resultList = + sysUserService.getSysUserListByDataPermId(dataPermId, sysUserFilter, orderBy); + JSONObject responseData = MyPageUtil.makeResponseData(resultList); + return ResponseResult.success(responseData); + } + + private ResponseResult doDataPermUserVerify(Long dataPermId) { + if (MyCommonUtil.existBlankArgument(dataPermId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysDataPermService.existId(dataPermId)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); + } + return ResponseResult.success(); } /** @@ -290,25 +255,19 @@ public class SysDataPermController { * @return 应答结果对象。 */ @PostMapping("/addDataPermUser") - public ResponseResult addDataPermUser( + public ResponseResult addDataPermUser( @MyRequestBody Long dataPermId, @MyRequestBody String userIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(dataPermId, userIdListString)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - Set userIdSet = - Arrays.stream(userIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysDataPermService.existId(dataPermId) - || !sysUserService.existUniqueKeyList("userId", userIdSet)) { - errorCodeEnum = ErrorCodeEnum.INVALID_RELATED_RECORD_ID; - break; - } - sysDataPermService.addDataPermUserList(dataPermId, userIdSet); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + if (MyCommonUtil.existBlankArgument(dataPermId, userIdListString)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + Set userIdSet = + Arrays.stream(userIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysDataPermService.existId(dataPermId) + || !sysUserService.existUniqueKeyList("userId", userIdSet)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); + } + sysDataPermService.addDataPermUserList(dataPermId, userIdSet); + return ResponseResult.success(); } /** @@ -319,20 +278,14 @@ public class SysDataPermController { * @return 应答数据结果。 */ @PostMapping("/deleteDataPermUser") - public ResponseResult deleteDataPermUser( + public ResponseResult deleteDataPermUser( @MyRequestBody Long dataPermId, @MyRequestBody Long userId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(dataPermId, userId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysDataPermService.removeDataPermUser(dataPermId, userId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + if (MyCommonUtil.existBlankArgument(dataPermId, userId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysDataPermService.removeDataPermUser(dataPermId, userId)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDeptController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDeptController.java index cb9095f2..0fdc9b38 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDeptController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDeptController.java @@ -1,7 +1,7 @@ package com.orange.admin.upms.controller; import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.PageHelper; +import com.github.pagehelper.page.PageMethod; import com.orange.admin.upms.model.*; import com.orange.admin.upms.service.*; import com.orange.admin.common.core.object.*; @@ -21,7 +21,7 @@ import javax.validation.groups.Default; * 部门管理操作控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -38,21 +38,15 @@ public class SysDeptController { * @return 应答结果对象,包含新增对象主键Id。 */ @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysDept sysDept) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - JSONObject responseData = null; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysDept); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - sysDept = sysDeptService.saveNew(sysDept); - responseData = new JSONObject(); - responseData.put("deptId", sysDept.getDeptId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + public ResponseResult add(@MyRequestBody SysDept sysDept) { + String errorMessage = MyCommonUtil.getModelValidationError(sysDept); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + sysDept = sysDeptService.saveNew(sysDept); + JSONObject responseData = new JSONObject(); + responseData.put("deptId", sysDept.getDeptId()); + return ResponseResult.success(responseData); } /** @@ -62,29 +56,22 @@ public class SysDeptController { * @return 应答结果对象。 */ @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysDept sysDept) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysDept, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - // 验证关联Id的数据合法性 - SysDept originalSysDept = sysDeptService.getById(sysDept.getDeptId()); - if (originalSysDept == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - //TODO 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - break; - } - if (!sysDeptService.update(sysDept, originalSysDept)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult update(@MyRequestBody SysDept sysDept) { + String errorMessage = MyCommonUtil.getModelValidationError(sysDept, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + // 验证关联Id的数据合法性 + SysDept originalSysDept = sysDeptService.getById(sysDept.getDeptId()); + if (originalSysDept == null) { + //NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + if (!sysDeptService.update(sysDept, originalSysDept)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); } /** @@ -94,29 +81,23 @@ public class SysDeptController { * @return 应答结果对象。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long deptId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(deptId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - // 验证关联Id的数据合法性 - SysDept originalSysDept = sysDeptService.getById(deptId); - if (originalSysDept == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - //TODO 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - break; - } - if (!sysDeptService.remove(deptId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long deptId) { + String errorMessage; + if (MyCommonUtil.existBlankArgument(deptId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + // 验证关联Id的数据合法性 + SysDept originalSysDept = sysDeptService.getById(deptId); + if (originalSysDept == null) { + // NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + if (!sysDeptService.remove(deptId)) { + errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -128,12 +109,12 @@ public class SysDeptController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult list( @MyRequestBody SysDept sysDeptFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } String orderBy = MyOrderParam.buildOrderBy(orderParam, SysDept.class); List resultList = sysDeptService.getSysDeptListWithRelation(sysDeptFilter, orderBy); @@ -148,21 +129,14 @@ public class SysDeptController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long deptId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - SysDept sysDept = null; - do { - if (MyCommonUtil.existBlankArgument(deptId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - sysDept = sysDeptService.getByIdWithRelation(deptId); - if (sysDept == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, sysDept); + if (MyCommonUtil.existBlankArgument(deptId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + SysDept sysDept = sysDeptService.getByIdWithRelation(deptId, MyRelationParam.full()); + if (sysDept == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(sysDept); } /** @@ -173,8 +147,8 @@ public class SysDeptController { * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 */ @GetMapping("/listDictSysDept") - public ResponseResult listDictSysDept(SysDept filter) { - List resultList = sysDeptService.getListByFilter(filter); + public ResponseResult>> listDictSysDept(SysDept filter) { + List resultList = sysDeptService.getListByFilter(filter, null); return ResponseResult.success(BeanQuery.select( "deptId as id", "deptName as name").executeFrom(resultList)); } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysMenuController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysMenuController.java index d4d5fbdf..a1435802 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysMenuController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysMenuController.java @@ -6,8 +6,9 @@ import com.orange.admin.upms.model.SysMenu; import com.orange.admin.upms.service.SysMenuService; import com.orange.admin.upms.service.SysPermCodeService; import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.common.core.object.ResponseResult; +import com.orange.admin.common.core.object.MyRelationParam; import com.orange.admin.common.core.util.MyCommonUtil; import com.orange.admin.common.core.validator.UpdateGroup; import com.orange.admin.common.core.annotation.MyRequestBody; @@ -21,7 +22,7 @@ import java.util.*; * 菜单管理接口控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -42,29 +43,23 @@ public class SysMenuController { */ @SuppressWarnings("unchecked") @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysMenu sysMenu, @MyRequestBody String permCodeIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - JSONObject responseData = null; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysMenu); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - VerifyResult result = sysMenuService.verifyRelatedData(sysMenu, null, permCodeIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - Set permCodeIdSet = null; - if (result.getData() != null) { - permCodeIdSet = (Set) result.getData().get("permCodeIdSet"); - } - sysMenuService.saveNew(sysMenu, permCodeIdSet); - responseData = new JSONObject(); - responseData.put("sysMenuId", sysMenu.getMenuId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + public ResponseResult add(@MyRequestBody SysMenu sysMenu, @MyRequestBody String permCodeIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysMenu); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + CallResult result = sysMenuService.verifyRelatedData(sysMenu, null, permCodeIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + Set permCodeIdSet = null; + if (result.getData() != null) { + permCodeIdSet = (Set) result.getData().get("permCodeIdSet"); + } + sysMenuService.saveNew(sysMenu, permCodeIdSet); + JSONObject responseData = new JSONObject(); + responseData.put("sysMenuId", sysMenu.getMenuId()); + return ResponseResult.success(responseData); } /** @@ -76,35 +71,29 @@ public class SysMenuController { */ @SuppressWarnings("unchecked") @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysMenu sysMenu, @MyRequestBody String permCodeIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysMenu, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - SysMenu originalSysMenu = sysMenuService.getById(sysMenu.getMenuId()); - if (originalSysMenu == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据验证失败,当前菜单并不存在,请刷新后重试!"; - break; - } - VerifyResult result = sysMenuService.verifyRelatedData(sysMenu, originalSysMenu, permCodeIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - Set permCodeIdSet = null; - if (result.getData() != null) { - permCodeIdSet = (Set) result.getData().get("permCodeIdSet"); - } - if (!sysMenuService.update(sysMenu, originalSysMenu, permCodeIdSet)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult update(@MyRequestBody SysMenu sysMenu, @MyRequestBody String permCodeIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysMenu, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + SysMenu originalSysMenu = sysMenuService.getById(sysMenu.getMenuId()); + if (originalSysMenu == null) { + errorMessage = "数据验证失败,当前菜单并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + CallResult result = sysMenuService.verifyRelatedData(sysMenu, originalSysMenu, permCodeIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + Set permCodeIdSet = null; + if (result.getData() != null) { + permCodeIdSet = (Set) result.getData().get("permCodeIdSet"); + } + if (!sysMenuService.update(sysMenu, originalSysMenu, permCodeIdSet)) { + errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -114,26 +103,20 @@ public class SysMenuController { * @return 应答结果对象。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long menuId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(menuId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (sysMenuService.hasChildren(menuId)) { - errorCodeEnum = ErrorCodeEnum.HAS_CHILDREN_DATA; - errorMessage = "数据验证失败,当前菜单存在下级菜单!"; - break; - } - if (!sysMenuService.remove(menuId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,菜单不存在,请刷新后重试!"; - } - - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long menuId) { + if (MyCommonUtil.existBlankArgument(menuId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + String errorMessage; + if (sysMenuService.hasChildren(menuId)) { + errorMessage = "数据验证失败,当前菜单存在下级菜单!"; + return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); + } + if (!sysMenuService.remove(menuId)) { + errorMessage = "数据操作失败,菜单不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -154,21 +137,14 @@ public class SysMenuController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long menuId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - SysMenu sysMenu = null; - do { - if (MyCommonUtil.existBlankArgument(menuId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - sysMenu = sysMenuService.getSysMenuWithRelation(menuId); - if (sysMenu == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, sysMenu); + if (MyCommonUtil.existBlankArgument(menuId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + SysMenu sysMenu = sysMenuService.getByIdWithRelation(menuId, MyRelationParam.full()); + if (sysMenu == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(sysMenu); } /** diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermCodeController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermCodeController.java index 96c79e57..f837755b 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermCodeController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermCodeController.java @@ -1,14 +1,15 @@ package com.orange.admin.upms.controller; import com.alibaba.fastjson.JSONObject; -import com.github.pagehelper.PageHelper; +import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; import com.orange.admin.upms.model.SysPermCode; import com.orange.admin.upms.service.SysPermCodeService; import com.orange.admin.common.core.constant.ErrorCodeEnum; import com.orange.admin.common.core.object.ResponseResult; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.common.core.object.MyPageParam; +import com.orange.admin.common.core.object.MyRelationParam; import com.orange.admin.common.core.util.MyCommonUtil; import com.orange.admin.common.core.util.MyPageUtil; import com.orange.admin.common.core.validator.UpdateGroup; @@ -24,7 +25,7 @@ import java.util.*; * 权限字管理接口控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -43,29 +44,23 @@ public class SysPermCodeController { */ @SuppressWarnings("unchecked") @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysPermCode sysPermCode, @MyRequestBody String permIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - JSONObject responseData = null; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysPermCode); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - VerifyResult result = sysPermCodeService.verifyRelatedData(sysPermCode, null, permIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - Set permIdSet = null; - if (result.getData() != null) { - permIdSet = (Set) result.getData().get("permIdSet"); - } - sysPermCode = sysPermCodeService.saveNew(sysPermCode, permIdSet); - responseData = new JSONObject(); - responseData.put("sysPermCodeId", sysPermCode.getPermCodeId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + public ResponseResult add(@MyRequestBody SysPermCode sysPermCode, @MyRequestBody String permIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysPermCode); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED); + } + CallResult result = sysPermCodeService.verifyRelatedData(sysPermCode, null, permIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + Set permIdSet = null; + if (result.getData() != null) { + permIdSet = (Set) result.getData().get("permIdSet"); + } + sysPermCode = sysPermCodeService.saveNew(sysPermCode, permIdSet); + JSONObject responseData = new JSONObject(); + responseData.put("sysPermCodeId", sysPermCode.getPermCodeId()); + return ResponseResult.success(responseData); } /** @@ -77,40 +72,34 @@ public class SysPermCodeController { */ @SuppressWarnings("unchecked") @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysPermCode sysPermCode, @MyRequestBody String permIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysPermCode, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - SysPermCode originalSysPermCode = sysPermCodeService.getById(sysPermCode.getPermCodeId()); - if (originalSysPermCode == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; + public ResponseResult update(@MyRequestBody SysPermCode sysPermCode, @MyRequestBody String permIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysPermCode, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + SysPermCode originalSysPermCode = sysPermCodeService.getById(sysPermCode.getPermCodeId()); + if (originalSysPermCode == null) { + errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + CallResult result = sysPermCodeService.verifyRelatedData(sysPermCode, originalSysPermCode, permIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + Set permIdSet = null; + if (result.getData() != null) { + permIdSet = (Set) result.getData().get("permIdSet"); + } + try { + if (!sysPermCodeService.update(sysPermCode, originalSysPermCode, permIdSet)) { errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; - break; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); } - VerifyResult result = sysPermCodeService.verifyRelatedData(sysPermCode, originalSysPermCode, permIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - Set permIdSet = null; - if (result.getData() != null) { - permIdSet = (Set) result.getData().get("permIdSet"); - } - try { - if (!sysPermCodeService.update(sysPermCode, originalSysPermCode, permIdSet)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; - } - } catch (DuplicateKeyException e) { - errorCodeEnum = ErrorCodeEnum.DUPLICATED_UNIQUE_KEY; - errorMessage = "数据操作失败,权限字编码已经存在!"; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + } catch (DuplicateKeyException e) { + errorMessage = "数据操作失败,权限字编码已经存在!"; + return ResponseResult.error(ErrorCodeEnum.DUPLICATED_UNIQUE_KEY, errorMessage); + } + return ResponseResult.success(); } /** @@ -120,25 +109,20 @@ public class SysPermCodeController { * @return 应答结果对象。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long permCodeId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(permCodeId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (sysPermCodeService.hasChildren(permCodeId)) { - errorCodeEnum = ErrorCodeEnum.HAS_CHILDREN_DATA; - errorMessage = "数据验证失败,当前权限字存在下级权限字!"; - break; - } - if (!sysPermCodeService.remove(permCodeId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,权限字不存在,请刷新后重试!"; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long permCodeId) { + if (MyCommonUtil.existBlankArgument(permCodeId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + String errorMessage; + if (sysPermCodeService.hasChildren(permCodeId)) { + errorMessage = "数据验证失败,当前权限字存在下级权限字!"; + return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); + } + if (!sysPermCodeService.remove(permCodeId)) { + errorMessage = "数据操作失败,权限字不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -147,7 +131,7 @@ public class SysPermCodeController { * @return 应答结果对象,包含权限字列表。 */ @PostMapping("/list") - public ResponseResult list() { + public ResponseResult> list() { return ResponseResult.success(sysPermCodeService.getAllListByOrder("permCodeType", "showOrder")); } @@ -159,21 +143,14 @@ public class SysPermCodeController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long permCodeId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - SysPermCode sysPermCode = null; - do { - if (MyCommonUtil.existBlankArgument(permCodeId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - sysPermCode = sysPermCodeService.getSysPermCodeWithRelation(permCodeId); - if (sysPermCode == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, sysPermCode); + if (MyCommonUtil.existBlankArgument(permCodeId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + SysPermCode sysPermCode = sysPermCodeService.getByIdWithRelation(permCodeId, MyRelationParam.full()); + if (sysPermCode == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(sysPermCode); } /** @@ -185,25 +162,19 @@ public class SysPermCodeController { * @return 应答结果对象,包含该用户的全部权限资源列表。 */ @PostMapping("/listAllPermCodesByUserFilter") - public ResponseResult listAllPermCodesByUserFilter( + public ResponseResult listAllPermCodesByUserFilter( @MyRequestBody String loginName, @MyRequestBody String permCode, @MyRequestBody MyPageParam pageParam) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(loginName)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - List permCodeList = - sysPermCodeService.getUserPermCodeListByFilter(loginName, permCode); - responseData = MyPageUtil.makeResponseData(permCodeList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + if (MyCommonUtil.existBlankArgument(loginName)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + List permCodeList = + sysPermCodeService.getUserPermCodeListByFilter(loginName, permCode); + JSONObject responseData = MyPageUtil.makeResponseData(permCodeList); + return ResponseResult.success(responseData); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermController.java index 802ce657..00998a94 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermController.java @@ -1,14 +1,14 @@ package com.orange.admin.upms.controller; import com.alibaba.fastjson.JSONObject; -import com.github.pagehelper.PageHelper; +import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; import com.orange.admin.upms.model.SysPerm; import com.orange.admin.upms.model.SysPermModule; import com.orange.admin.upms.service.SysPermService; import com.orange.admin.common.core.constant.ErrorCodeEnum; import com.orange.admin.common.core.object.ResponseResult; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.common.core.object.MyPageParam; import com.orange.admin.common.core.util.MyCommonUtil; import com.orange.admin.common.core.util.MyPageUtil; @@ -25,7 +25,7 @@ import java.util.Map; * 权限资源管理接口控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -42,25 +42,19 @@ public class SysPermController { * @return 应答结果对象,包含新增权限资源的主键Id。 */ @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysPerm sysPerm) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - JSONObject responseData = null; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysPerm); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - VerifyResult result = sysPermService.verifyRelatedData(sysPerm, null); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - sysPerm = sysPermService.saveNew(sysPerm); - responseData = new JSONObject(); - responseData.put("permId", sysPerm.getPermId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + public ResponseResult add(@MyRequestBody SysPerm sysPerm) { + String errorMessage = MyCommonUtil.getModelValidationError(sysPerm); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + CallResult result = sysPermService.verifyRelatedData(sysPerm, null); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + sysPerm = sysPermService.saveNew(sysPerm); + JSONObject responseData = new JSONObject(); + responseData.put("permId", sysPerm.getPermId()); + return ResponseResult.success(responseData); } /** @@ -70,32 +64,26 @@ public class SysPermController { * @return 应答结果对象,包含更新权限资源的主键Id。 */ @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysPerm sysPerm) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysPerm, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - SysPerm originalPerm = sysPermService.getById(sysPerm.getPermId()); - if (originalPerm == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据验证失败,当前权限资源并不存在,请刷新后重试!"; - break; - } - VerifyResult result = sysPermService.verifyRelatedData(sysPerm, originalPerm); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - if (result.getData() != null) { - SysPermModule permModule = (SysPermModule) result.getData().get("permModule"); - sysPerm.setModuleId(permModule.getModuleId()); - } - sysPermService.update(sysPerm, originalPerm); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult update(@MyRequestBody SysPerm sysPerm) { + String errorMessage = MyCommonUtil.getModelValidationError(sysPerm, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + SysPerm originalPerm = sysPermService.getById(sysPerm.getPermId()); + if (originalPerm == null) { + errorMessage = "数据验证失败,当前权限资源并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + CallResult result = sysPermService.verifyRelatedData(sysPerm, originalPerm); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + if (result.getData() != null) { + SysPermModule permModule = (SysPermModule) result.getData().get("permModule"); + sysPerm.setModuleId(permModule.getModuleId()); + } + sysPermService.update(sysPerm, originalPerm); + return ResponseResult.success(); } /** @@ -105,21 +93,15 @@ public class SysPermController { * @return 应答结果对象。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long permId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(permId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysPermService.remove(permId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,权限不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long permId) { + if (MyCommonUtil.existBlankArgument(permId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysPermService.remove(permId)) { + String errorMessage = "数据操作失败,权限不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -130,21 +112,14 @@ public class SysPermController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long permId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - SysPerm perm = null; - do { - if (MyCommonUtil.existBlankArgument(permId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - perm = sysPermService.getById(permId); - if (perm == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, perm); + if (MyCommonUtil.existBlankArgument(permId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + SysPerm perm = sysPermService.getById(permId); + if (perm == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(perm); } /** @@ -155,9 +130,9 @@ public class SysPermController { * @return 应答结果对象,包含权限资源列表。 */ @PostMapping("/list") - public ResponseResult list(@MyRequestBody SysPerm sysPermFilter, @MyRequestBody MyPageParam pageParam) { + public ResponseResult list(@MyRequestBody SysPerm sysPermFilter, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } List resultList = sysPermService.getPermListWithRelation(sysPermFilter); return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); @@ -173,27 +148,21 @@ public class SysPermController { * @return 应答结果对象,包含该用户的全部权限资源列表。 */ @PostMapping("/listAllPermsByUserFilter") - public ResponseResult listAllPermsByUserFilter( + public ResponseResult listAllPermsByUserFilter( @MyRequestBody String loginName, @MyRequestBody Long moduleId, @MyRequestBody String url, @MyRequestBody MyPageParam pageParam) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(loginName)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - List> userPermMapList = - sysPermService.getUserPermListByFilter(loginName, moduleId, url); - responseData = MyPageUtil.makeResponseData(userPermMapList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + if (MyCommonUtil.existBlankArgument(loginName)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + List> userPermMapList = + sysPermService.getUserPermListByFilter(loginName, moduleId, url); + JSONObject responseData = MyPageUtil.makeResponseData(userPermMapList); + return ResponseResult.success(responseData); } /** @@ -203,18 +172,12 @@ public class SysPermController { * @return 应答结果对象,包含用户数据列表。 */ @PostMapping("/listAllUsers") - public ResponseResult listAllUsers(@MyRequestBody Long permId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - List> permUserMapList = null; - do { - if (MyCommonUtil.existBlankArgument(permId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - permUserMapList = sysPermService.getPermUserListById(permId); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, permUserMapList); + public ResponseResult>> listAllUsers(@MyRequestBody Long permId) { + if (MyCommonUtil.existBlankArgument(permId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + List> permUserMapList = sysPermService.getPermUserListById(permId); + return ResponseResult.success(permUserMapList); } /** @@ -224,17 +187,11 @@ public class SysPermController { * @return 应答结果对象,包含角色数据列表。 */ @PostMapping("/listAllRoles") - public ResponseResult listAllRoles(@MyRequestBody Long permId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - List> permRoleMapList = null; - do { - if (MyCommonUtil.existBlankArgument(permId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - permRoleMapList = sysPermService.getPermRoleListById(permId); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, permRoleMapList); + public ResponseResult>> listAllRoles(@MyRequestBody Long permId) { + if (MyCommonUtil.existBlankArgument(permId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + List> permRoleMapList = sysPermService.getPermRoleListById(permId); + return ResponseResult.success(permRoleMapList); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermModuleController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermModuleController.java index f257d109..be5475be 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermModuleController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysPermModuleController.java @@ -24,7 +24,7 @@ import java.util.Map; * 权限资源模块管理接口控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -41,28 +41,20 @@ public class SysPermModuleController { * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysPermModule sysPermModule) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - JSONObject responseData = null; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysPermModule); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - if (sysPermModule.getParentId() != null) { - if (sysPermModuleService.getById(sysPermModule.getParentId()) == null) { - errorCodeEnum = ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST; - errorMessage = "数据验证失败,关联的上级权限模块并不存在,请刷新后重试!"; - break; - } - } - sysPermModuleService.saveNew(sysPermModule); - responseData = new JSONObject(); - responseData.put("permModuleId", sysPermModule.getModuleId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + public ResponseResult add(@MyRequestBody SysPermModule sysPermModule) { + String errorMessage = MyCommonUtil.getModelValidationError(sysPermModule); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + if (sysPermModule.getParentId() != null + && sysPermModuleService.getById(sysPermModule.getParentId()) == null) { + errorMessage = "数据验证失败,关联的上级权限模块并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); + } + sysPermModuleService.saveNew(sysPermModule); + JSONObject responseData = new JSONObject(); + responseData.put("permModuleId", sysPermModule.getModuleId()); + return ResponseResult.success(responseData); } /** @@ -72,34 +64,27 @@ public class SysPermModuleController { * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysPermModule sysPermModule) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysPermModule, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; + public ResponseResult update(@MyRequestBody SysPermModule sysPermModule) { + String errorMessage = MyCommonUtil.getModelValidationError(sysPermModule, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + SysPermModule originalPermModule = sysPermModuleService.getById(sysPermModule.getModuleId()); + if (originalPermModule == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + if (sysPermModule.getParentId() != null + && !sysPermModule.getParentId().equals(originalPermModule.getParentId())) { + if (sysPermModuleService.getById(sysPermModule.getParentId()) == null) { + errorMessage = "数据验证失败,关联的上级权限模块并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); } - SysPermModule originalPermModule = sysPermModuleService.getById(sysPermModule.getModuleId()); - if (originalPermModule == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - if (sysPermModule.getParentId() != null - && !sysPermModule.getParentId().equals(originalPermModule.getParentId())) { - if (sysPermModuleService.getById(sysPermModule.getParentId()) == null) { - errorCodeEnum = ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST; - errorMessage = "数据验证失败,关联的上级权限模块并不存在,请刷新后重试!"; - break; - } - } - if (!sysPermModuleService.update(sysPermModule, originalPermModule)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据验证失败,当前模块并不存在,请刷新后重试!"; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + } + if (!sysPermModuleService.update(sysPermModule, originalPermModule)) { + errorMessage = "数据验证失败,当前模块并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -109,26 +94,21 @@ public class SysPermModuleController { * @return 应答结果对象。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long moduleId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(moduleId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (sysPermModuleService.hasChildren(moduleId) - || sysPermModuleService.hasModulePerms(moduleId)) { - errorCodeEnum = ErrorCodeEnum.HAS_CHILDREN_DATA; - errorMessage = "数据验证失败,当前权限模块存在子模块或权限资源,请先删除关联数据!"; - break; - } - if (!sysPermModuleService.remove(moduleId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,权限模块不存在,请刷新后重试!"; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long moduleId) { + if (MyCommonUtil.existBlankArgument(moduleId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + String errorMessage; + if (sysPermModuleService.hasChildren(moduleId) + || sysPermModuleService.hasModulePerms(moduleId)) { + errorMessage = "数据验证失败,当前权限模块存在子模块或权限资源,请先删除关联数据!"; + return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); + } + if (!sysPermModuleService.remove(moduleId)) { + errorMessage = "数据操作失败,权限模块不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -147,7 +127,7 @@ public class SysPermModuleController { * @return 应答结果对象,包含树状列表,结构为权限资源模块和权限资源之间的树状关系。 */ @GetMapping("/listAll") - public ResponseResult listAll() { + public ResponseResult>> listAll() { List sysPermModuleList = sysPermModuleService.getPermModuleAndPermList(); List> resultList = new LinkedList<>(); for (SysPermModule sysPermModule : sysPermModuleList) { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysRoleController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysRoleController.java index 0667f1ee..be3ec6ef 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysRoleController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysRoleController.java @@ -1,7 +1,7 @@ package com.orange.admin.upms.controller; import com.alibaba.fastjson.JSONObject; -import com.github.pagehelper.PageHelper; +import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; import com.orange.admin.upms.model.SysRole; import com.orange.admin.upms.model.SysUser; @@ -14,7 +14,8 @@ import com.orange.admin.common.core.constant.ErrorCodeEnum; import com.orange.admin.common.core.object.MyOrderParam; import com.orange.admin.common.core.object.MyPageParam; import com.orange.admin.common.core.object.ResponseResult; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; +import com.orange.admin.common.core.object.MyRelationParam; import com.orange.admin.common.core.util.MyPageUtil; import com.orange.admin.common.core.annotation.MyRequestBody; import org.springframework.beans.factory.annotation.Autowired; @@ -28,7 +29,7 @@ import java.util.stream.Collectors; * 角色管理接口控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -49,29 +50,23 @@ public class SysRoleController { */ @SuppressWarnings("unchecked") @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysRole sysRole, @MyRequestBody String menuIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - JSONObject responseData = null; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysRole); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - VerifyResult result = sysRoleService.verifyRelatedData(sysRole, null, menuIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - Set menuIdSet = null; - if (result.getData() != null) { - menuIdSet = (Set) result.getData().get("menuIdSet"); - } - sysRoleService.saveNew(sysRole, menuIdSet); - responseData = new JSONObject(); - responseData.put("roleId", sysRole.getRoleId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + public ResponseResult add(@MyRequestBody SysRole sysRole, @MyRequestBody String menuIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysRole); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + CallResult result = sysRoleService.verifyRelatedData(sysRole, null, menuIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + Set menuIdSet = null; + if (result.getData() != null) { + menuIdSet = (Set) result.getData().get("menuIdSet"); + } + sysRoleService.saveNew(sysRole, menuIdSet); + JSONObject responseData = new JSONObject(); + responseData.put("roleId", sysRole.getRoleId()); + return ResponseResult.success(responseData); } /** @@ -83,36 +78,29 @@ public class SysRoleController { */ @SuppressWarnings("unchecked") @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysRole sysRole, @MyRequestBody String menuIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysRole, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - SysRole originalSysRole = sysRoleService.getById(sysRole.getRoleId()); - if (originalSysRole == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据验证失败,当前角色并不存在,请刷新后重试!"; - break; - } - VerifyResult result = sysRoleService.verifyRelatedData(sysRole, originalSysRole, menuIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - Set menuIdSet = null; - if (result.getData() != null) { - menuIdSet = (Set) result.getData().get("menuIdSet"); - } - if (!sysRoleService.update(sysRole, originalSysRole, menuIdSet)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "更新失败,数据不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult update(@MyRequestBody SysRole sysRole, @MyRequestBody String menuIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysRole, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + SysRole originalSysRole = sysRoleService.getById(sysRole.getRoleId()); + if (originalSysRole == null) { + errorMessage = "数据验证失败,当前角色并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + CallResult result = sysRoleService.verifyRelatedData(sysRole, originalSysRole, menuIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + Set menuIdSet = null; + if (result.getData() != null) { + menuIdSet = (Set) result.getData().get("menuIdSet"); + } + if (!sysRoleService.update(sysRole, originalSysRole, menuIdSet)) { + errorMessage = "更新失败,数据不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -122,21 +110,15 @@ public class SysRoleController { * @return 应答结果对象。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long roleId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(roleId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysRoleService.remove(roleId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,角色不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long roleId) { + if (MyCommonUtil.existBlankArgument(roleId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysRoleService.remove(roleId)) { + String errorMessage = "数据操作失败,角色不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -148,12 +130,12 @@ public class SysRoleController { * @return 应答结果对象,包含角色列表。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult list( @MyRequestBody SysRole sysRoleFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } List roleList = sysRoleService.getSysRoleList( sysRoleFilter, MyOrderParam.buildOrderBy(orderParam, SysRole.class)); @@ -168,21 +150,14 @@ public class SysRoleController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long roleId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - SysRole sysRole = null; - do { - if (MyCommonUtil.existBlankArgument(roleId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - sysRole = sysRoleService.getSysRoleWithRelation(roleId); - if (sysRole == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, sysRole); + if (MyCommonUtil.existBlankArgument(roleId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + SysRole sysRole = sysRoleService.getByIdWithRelation(roleId, MyRelationParam.full()); + if (sysRole == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(sysRole); } /** @@ -196,32 +171,23 @@ public class SysRoleController { * @return 应答结果对象,包含用户列表数据。 */ @PostMapping("/listNotInUserRole") - public ResponseResult listNotInUserRole( + public ResponseResult listNotInUserRole( @MyRequestBody Long roleId, @MyRequestBody SysUser sysUserFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(roleId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysRoleService.existId(roleId)) { - errorCodeEnum = ErrorCodeEnum.INVALID_RELATED_RECORD_ID; - break; - } - if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List resultList = - sysUserService.getNotInSysUserListByRoleId(roleId, sysUserFilter, orderBy); - responseData = MyPageUtil.makeResponseData(resultList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + ResponseResult verifyResult = this.doRoleUserVerify(roleId); + if (!verifyResult.isSuccess()) { + return ResponseResult.errorFrom(verifyResult); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); + List resultList = + sysUserService.getNotInSysUserListByRoleId(roleId, sysUserFilter, orderBy); + JSONObject responseData = MyPageUtil.makeResponseData(resultList); + return ResponseResult.success(responseData); } /** @@ -234,31 +200,32 @@ public class SysRoleController { * @return 应答结果对象,包含用户列表数据。 */ @PostMapping("/listUserRole") - public ResponseResult listUserRole( + public ResponseResult listUserRole( @MyRequestBody Long roleId, @MyRequestBody SysUser sysUserFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(roleId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysRoleService.existId(roleId)) { - errorCodeEnum = ErrorCodeEnum.INVALID_RELATED_RECORD_ID; - break; - } - if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List resultList = sysUserService.getSysUserListByRoleId(roleId, sysUserFilter, orderBy); - responseData = MyPageUtil.makeResponseData(resultList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + ResponseResult verifyResult = this.doRoleUserVerify(roleId); + if (!verifyResult.isSuccess()) { + return ResponseResult.errorFrom(verifyResult); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); + List resultList = sysUserService.getSysUserListByRoleId(roleId, sysUserFilter, orderBy); + JSONObject responseData = MyPageUtil.makeResponseData(resultList); + return ResponseResult.success(responseData); + } + + private ResponseResult doRoleUserVerify(Long roleId) { + if (MyCommonUtil.existBlankArgument(roleId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysRoleService.existId(roleId)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); + } + return ResponseResult.success(); } /** @@ -269,32 +236,26 @@ public class SysRoleController { * @return 应答结果对象。 */ @PostMapping("/addUserRole") - public ResponseResult addUserRole( + public ResponseResult addUserRole( @MyRequestBody Long roleId, @MyRequestBody String userIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(roleId, userIdListString)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - Set userIdSet = Arrays.stream( - userIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysRoleService.existId(roleId) - || !sysUserService.existUniqueKeyList("userId", userIdSet)) { - errorCodeEnum = ErrorCodeEnum.INVALID_RELATED_RECORD_ID; - break; - } - List userRoleList = new LinkedList<>(); - for (Long userId : userIdSet) { - SysUserRole userRole = new SysUserRole(); - userRole.setRoleId(roleId); - userRole.setUserId(userId); - userRoleList.add(userRole); - } - sysRoleService.addUserRoleList(userRoleList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + if (MyCommonUtil.existBlankArgument(roleId, userIdListString)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + Set userIdSet = Arrays.stream( + userIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysRoleService.existId(roleId) + || !sysUserService.existUniqueKeyList("userId", userIdSet)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); + } + List userRoleList = new LinkedList<>(); + for (Long userId : userIdSet) { + SysUserRole userRole = new SysUserRole(); + userRole.setRoleId(roleId); + userRole.setUserId(userId); + userRoleList.add(userRole); + } + sysRoleService.addUserRoleList(userRoleList); + return ResponseResult.success(); } /** @@ -305,21 +266,15 @@ public class SysRoleController { * @return 应答数据结果。 */ @PostMapping("/deleteUserRole") - public ResponseResult deleteUserRole( + public ResponseResult deleteUserRole( @MyRequestBody Long roleId, @MyRequestBody Long userId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(roleId, userId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysRoleService.removeUserRole(roleId, userId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + if (MyCommonUtil.existBlankArgument(roleId, userId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysRoleService.removeUserRole(roleId, userId)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); } /** @@ -331,23 +286,17 @@ public class SysRoleController { * @return 符合条件的角色列表。 */ @PostMapping("/listAllRolesByPermCode") - public ResponseResult listAllRolesByPermCode( + public ResponseResult listAllRolesByPermCode( @MyRequestBody Long permCodeId, @MyRequestBody MyPageParam pageParam) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(permCodeId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - List roleList = sysRoleService.getSysRoleListByPermCodeId(permCodeId); - responseData = MyPageUtil.makeResponseData(roleList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + if (MyCommonUtil.existBlankArgument(permCodeId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + List roleList = sysRoleService.getSysRoleListByPermCodeId(permCodeId); + JSONObject responseData = MyPageUtil.makeResponseData(roleList); + return ResponseResult.success(responseData); } /** @@ -359,22 +308,16 @@ public class SysRoleController { * @return 符合条件的角色列表。 */ @PostMapping("/listAllRolesByPerm") - public ResponseResult listAllRolesByPerm( + public ResponseResult listAllRolesByPerm( @MyRequestBody String url, @MyRequestBody MyPageParam pageParam) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - JSONObject responseData = null; - do { - if (MyCommonUtil.existBlankArgument(url)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - List roleList = sysRoleService.getSysRoleListByPerm(url); - responseData = MyPageUtil.makeResponseData(roleList); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + if (MyCommonUtil.existBlankArgument(url)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + List roleList = sysRoleService.getSysRoleListByPerm(url); + JSONObject responseData = MyPageUtil.makeResponseData(roleList); + return ResponseResult.success(responseData); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysUserController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysUserController.java index cee041ad..1f02415e 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysUserController.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysUserController.java @@ -1,7 +1,7 @@ package com.orange.admin.upms.controller; import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.PageHelper; +import com.github.pagehelper.page.PageMethod; import com.orange.admin.upms.model.*; import com.orange.admin.upms.service.*; import com.orange.admin.common.core.object.*; @@ -22,7 +22,7 @@ import javax.validation.groups.Default; * 用户管理操作控制器类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestController @@ -44,33 +44,25 @@ public class SysUserController { */ @SuppressWarnings("unchecked") @PostMapping("/add") - public ResponseResult add( + public ResponseResult add( @MyRequestBody SysUser sysUser, @MyRequestBody String roleIdListString, @MyRequestBody String dataPermIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - JSONObject responseData = null; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysUser); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - VerifyResult result = sysUserService.verifyRelatedData( - sysUser, null, roleIdListString, dataPermIdListString); - if (!result.isSuccess()) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - errorMessage = result.getErrorMessage(); - break; - } - Set roleIdSet = (Set) result.getData().get("roleIdSet"); - Set dataPermIdSet = (Set) result.getData().get("dataPermIdSet"); - sysUserService.saveNew(sysUser, roleIdSet, dataPermIdSet, applicationConfig.getPasswordSalt()); - responseData = new JSONObject(); - responseData.put("userId", sysUser.getUserId()); - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, responseData); + String errorMessage = MyCommonUtil.getModelValidationError(sysUser); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + CallResult result = sysUserService.verifyRelatedData( + sysUser, null, roleIdListString, dataPermIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + Set roleIdSet = (Set) result.getData().get("roleIdSet"); + Set dataPermIdSet = (Set) result.getData().get("dataPermIdSet"); + sysUserService.saveNew(sysUser, roleIdSet, dataPermIdSet, applicationConfig.getPasswordSalt()); + JSONObject responseData = new JSONObject(); + responseData.put("userId", sysUser.getUserId()); + return ResponseResult.success(responseData); } /** @@ -83,39 +75,29 @@ public class SysUserController { */ @SuppressWarnings("unchecked") @PostMapping("/update") - public ResponseResult update( + public ResponseResult update( @MyRequestBody SysUser sysUser, @MyRequestBody String roleIdListString, @MyRequestBody String dataPermIdListString) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage; - do { - errorMessage = MyCommonUtil.getModelValidationError(sysUser, Default.class, UpdateGroup.class); - if (errorMessage != null) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - break; - } - SysUser originalUser = sysUserService.getById(sysUser.getUserId()); - if (originalUser == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - VerifyResult result = sysUserService.verifyRelatedData( - sysUser, originalUser, roleIdListString, dataPermIdListString); - if (!result.isSuccess()) { - errorCodeEnum = ErrorCodeEnum.DATA_VALIDATAED_FAILED; - errorMessage = result.getErrorMessage(); - break; - } - Set roleIdSet = (Set) result.getData().get("roleIdSet"); - Set dataPermIdSet = (Set) result.getData().get("dataPermIdSet"); - if (!sysUserService.update(sysUser, originalUser, roleIdSet, dataPermIdSet)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "更新失败,数据不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + String errorMessage = MyCommonUtil.getModelValidationError(sysUser, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + SysUser originalUser = sysUserService.getById(sysUser.getUserId()); + if (originalUser == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + CallResult result = sysUserService.verifyRelatedData( + sysUser, originalUser, roleIdListString, dataPermIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); + } + Set roleIdSet = (Set) result.getData().get("roleIdSet"); + Set dataPermIdSet = (Set) result.getData().get("dataPermIdSet"); + if (!sysUserService.update(sysUser, originalUser, roleIdSet, dataPermIdSet)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); } /** @@ -125,21 +107,15 @@ public class SysUserController { * @return 应答结果对象。 */ @PostMapping("/resetPassword") - public ResponseResult resetPassword(@MyRequestBody Long userId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(userId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - if (!sysUserService.resetPassword( - userId, applicationConfig.getDefaultUserPassword(), applicationConfig.getPasswordSalt())) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult resetPassword(@MyRequestBody Long userId) { + if (MyCommonUtil.existBlankArgument(userId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysUserService.resetPassword( + userId, applicationConfig.getDefaultUserPassword(), applicationConfig.getPasswordSalt())) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); } /** @@ -149,29 +125,23 @@ public class SysUserController { * @return 应答结果对象。 */ @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long userId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - do { - if (MyCommonUtil.existBlankArgument(userId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - // 验证关联Id的数据合法性 - SysUser originalSysUser = sysUserService.getById(userId); - if (originalSysUser == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - //TODO 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - break; - } - if (!sysUserService.remove(userId)) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage); + public ResponseResult delete(@MyRequestBody Long userId) { + String errorMessage; + if (MyCommonUtil.existBlankArgument(userId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + // 验证关联Id的数据合法性 + SysUser originalSysUser = sysUserService.getById(userId); + if (originalSysUser == null) { + // NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + if (!sysUserService.remove(userId)) { + errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); } /** @@ -183,12 +153,12 @@ public class SysUserController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult list( @MyRequestBody SysUser sysUserFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { - PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); List resultList = sysUserService.getSysUserListWithRelation(sysUserFilter, orderBy); @@ -203,21 +173,15 @@ public class SysUserController { */ @GetMapping("/view") public ResponseResult view(@RequestParam Long userId) { - ErrorCodeEnum errorCodeEnum = ErrorCodeEnum.NO_ERROR; - String errorMessage = null; - SysUser sysUser = null; - do { - if (MyCommonUtil.existBlankArgument(userId)) { - errorCodeEnum = ErrorCodeEnum.ARGUMENT_NULL_EXIST; - break; - } - sysUser = sysUserService.getByIdWithRelation(userId); - if (sysUser == null) { - errorCodeEnum = ErrorCodeEnum.DATA_NOT_EXIST; - break; - } - } while (false); - return ResponseResult.create(errorCodeEnum, errorMessage, sysUser); + if (MyCommonUtil.existBlankArgument(userId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + // 这里查看用户数据时候,需要把用户多对多关联的角色和数据权限Id一并查出。 + SysUser sysUser = sysUserService.getByIdWithRelation(userId, MyRelationParam.full()); + if (sysUser == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(sysUser); } /** @@ -228,8 +192,8 @@ public class SysUserController { * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 */ @GetMapping("/listDictSysUser") - public ResponseResult listDictSysUser(SysUser filter) { - List resultList = sysUserService.getListByFilter(filter); + public ResponseResult>> listDictSysUser(SysUser filter) { + List resultList = sysUserService.getListByFilter(filter, null); return ResponseResult.success(BeanQuery.select( "userId as id", "loginName as name").executeFrom(resultList)); } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermDeptMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermDeptMapper.java index 30e543d8..b61cac7c 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermDeptMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermDeptMapper.java @@ -7,7 +7,7 @@ import com.orange.admin.upms.model.SysDataPermDept; * 数据权限与部门关系数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysDataPermDeptMapper extends BaseDaoMapper { } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMapper.java index e0b7d73f..857b3ca4 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMapper.java @@ -11,7 +11,7 @@ import java.util.List; * NOTE: 该对象一定不能被 @EnableDataPerm 注解标注,否则会导致无限递归。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysDataPermMapper extends BaseDaoMapper { @@ -19,7 +19,7 @@ public interface SysDataPermMapper extends BaseDaoMapper { * 获取数据权限列表。 * * @param sysDataPermFilter 过滤对象。 - * @param orderBy 排序字符串。 + * @param orderBy 排序字符串。 * @return 过滤后的数据权限列表。 */ List getSysDataPermList( diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMenuMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMenuMapper.java index 17b10fe5..72770355 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMenuMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMenuMapper.java @@ -10,7 +10,7 @@ import java.util.List; * 数据权限与菜单关系数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysDataPermMenuMapper extends BaseDaoMapper { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermUserMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermUserMapper.java index 18fa583f..e7f03440 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermUserMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermUserMapper.java @@ -9,18 +9,10 @@ import java.util.List; * 数据权限与用户关系数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysDataPermUserMapper extends BaseDaoMapper { - /** - * 获取用户的数据权限Id列表。 - * - * @param userId 用户Id。 - * @return 数据权限Id列表。 - */ - List getDataPermIdListByUserId(Long userId); - /** * 批量添加数据权限和用户关系的列表。 * diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDeptMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDeptMapper.java index dd6578ba..5f067ac2 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDeptMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDeptMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 部门管理数据操作访问接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysDeptMapper extends BaseDaoMapper { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuMapper.java index e20cb684..fe072282 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuMapper.java @@ -9,7 +9,7 @@ import java.util.List; * 菜单数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysMenuMapper extends BaseDaoMapper { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuPermCodeMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuPermCodeMapper.java index 579baf76..38831112 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuPermCodeMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuPermCodeMapper.java @@ -7,7 +7,7 @@ import com.orange.admin.upms.model.SysMenuPermCode; * 菜单与权限字关系数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysMenuPermCodeMapper extends BaseDaoMapper { } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodeMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodeMapper.java index 6bfddf16..6c7a0139 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodeMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodeMapper.java @@ -11,7 +11,7 @@ import java.util.Map; * 权限字数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysPermCodeMapper extends BaseDaoMapper { @@ -35,7 +35,7 @@ public interface SysPermCodeMapper extends BaseDaoMapper { * 获取指定用户的权限字列表。 * * @param loginName 精确匹配用户登录名。 - * @param permCode 模糊匹配的权限字名,LIKE %permCode%。 + * @param permCode 模糊匹配的权限字名,LIKE %permCode%。 * @return 权限字列表。 */ List getUserPermCodeListByFilter( diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodePermMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodePermMapper.java index c2d79a5b..7d2aef00 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodePermMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodePermMapper.java @@ -7,7 +7,7 @@ import com.orange.admin.upms.model.SysPermCodePerm; * 权限字与权限资源关系数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysPermCodePermMapper extends BaseDaoMapper { } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermMapper.java index 36548789..05920b06 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermMapper.java @@ -11,7 +11,7 @@ import java.util.Map; * 权限资源数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysPermMapper extends BaseDaoMapper { @@ -28,7 +28,7 @@ public interface SysPermMapper extends BaseDaoMapper { * * @param loginName 精确匹配用户登录名。 * @param moduleId 精确匹配权限模块Id。 - * @param url 权限的url过滤条件,LIKE %url%。 + * @param url 权限的url过滤条件,LIKE %url%。 * @return 权限列表。 */ List> getUserPermListByFilter( diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermModuleMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermModuleMapper.java index 7e81b0e6..8ad5e83f 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermModuleMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermModuleMapper.java @@ -9,7 +9,7 @@ import java.util.List; * 权限资源模块数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysPermModuleMapper extends BaseDaoMapper { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermWhitelistMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermWhitelistMapper.java index 04705b9f..9a9b4aa9 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermWhitelistMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermWhitelistMapper.java @@ -7,7 +7,7 @@ import com.orange.admin.upms.model.SysPermWhitelist; * 权限资源白名单数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysPermWhitelistMapper extends BaseDaoMapper { } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMapper.java index 0830495b..ea5abb42 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMapper.java @@ -10,7 +10,7 @@ import java.util.List; * 角色数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysRoleMapper extends BaseDaoMapper { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMenuMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMenuMapper.java index 2cbec9cd..2d27e413 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMenuMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMenuMapper.java @@ -7,7 +7,7 @@ import com.orange.admin.upms.model.SysRoleMenu; * 角色与菜单操作关联关系数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysRoleMenuMapper extends BaseDaoMapper { } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysUserMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysUserMapper.java index d9669490..d3a9a2f1 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysUserMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysUserMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 用户管理数据操作访问接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysUserMapper extends BaseDaoMapper { @@ -27,9 +27,9 @@ public interface SysUserMapper extends BaseDaoMapper { /** * 根据角色Id,获取关联的用户Id列表。 * - * @param roleId 关联的角色Id。 + * @param roleId 关联的角色Id。 * @param sysUserFilter 用户过滤条件对象。 - * @param orderBy order by从句的参数。 + * @param orderBy order by从句的参数。 * @return 和RoleId关联的用户列表。 */ List getSysUserListByRoleId( @@ -40,7 +40,7 @@ public interface SysUserMapper extends BaseDaoMapper { /** * 根据角色Id,获取和当前角色Id没有建立多对多关联关系的用户Id列表。 * - * @param roleId 关联的角色Id。 + * @param roleId 关联的角色Id。 * @param sysUserFilter 用户过滤条件对象。 * @param orderBy order by从句的参数。 * @return 和RoleId没有建立关联关系的用户列表。 @@ -53,7 +53,7 @@ public interface SysUserMapper extends BaseDaoMapper { /** * 根据数据权限Id,获取关联的用户Id列表。 * - * @param dataPermId 关联的数据权限Id。 + * @param dataPermId 关联的数据权限Id。 * @param sysUserFilter 用户过滤条件对象。 * @param orderBy order by从句的参数。 * @return 和DataPermId关联的用户列表。 @@ -66,7 +66,7 @@ public interface SysUserMapper extends BaseDaoMapper { /** * 根据数据权限Id,获取和当前数据权限Id没有建立多对多关联关系的用户Id列表。 * - * @param dataPermId 关联的数据权限Id。 + * @param dataPermId 关联的数据权限Id。 * @param sysUserFilter 用户过滤条件对象。 * @param orderBy order by从句的参数。 * @return 和DataPermId没有建立关联关系的用户列表。 diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysUserRoleMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysUserRoleMapper.java index f0444e26..bfb4f4c0 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysUserRoleMapper.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysUserRoleMapper.java @@ -2,7 +2,6 @@ package com.orange.admin.upms.dao; import com.orange.admin.common.core.base.dao.BaseDaoMapper; import com.orange.admin.upms.model.SysUserRole; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -10,18 +9,10 @@ import java.util.List; * 用户与角色关联关系数据访问操作接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface SysUserRoleMapper extends BaseDaoMapper { - /** - * 获取用户的角色Id列表。 - * - * @param userId 用户Id。 - * @return 角色Id列表。 - */ - List getRoleIdListByUserId(@Param("userId") Long userId); - /** * 批量插入用户角色信息,如果用户角色已经存在,则不会重复插入。 * diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermUserMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermUserMapper.xml index b807724b..18425586 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermUserMapper.xml +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermUserMapper.xml @@ -6,10 +6,6 @@ - - REPLACE INTO zz_sys_data_perm_user(data_perm_id, user_id) VALUES diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysUserRoleMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysUserRoleMapper.xml index 4f8439fa..40c7ced7 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysUserRoleMapper.xml +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysUserRoleMapper.xml @@ -6,10 +6,6 @@ - - REPLACE INTO zz_sys_user_role(user_id, role_id) VALUES diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPerm.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPerm.java index 0e7a1677..3f85584a 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPerm.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPerm.java @@ -2,16 +2,23 @@ package com.orange.admin.upms.model; import com.alibaba.fastjson.annotation.JSONField; import com.orange.admin.common.core.annotation.DeletedFlagColumn; +import com.orange.admin.common.core.annotation.JobUpdateTimeColumn; +import com.orange.admin.common.core.annotation.RelationManyToMany; import com.orange.admin.common.core.validator.ConstDictRef; import com.orange.admin.common.core.validator.UpdateGroup; import com.orange.admin.common.core.constant.DataPermRuleType; -import com.orange.admin.common.core.annotation.JobUpdateTimeColumn; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; import java.util.*; +/** + * 数据权限实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_data_perm") public class SysDataPerm { @@ -72,9 +79,17 @@ public class SysDataPerm { @Column(name = "deleted_flag") private Integer deletedFlag; + @RelationManyToMany( + relationMapperName = "sysDataPermDeptMapper", + relationMasterIdField = "dataPermId", + relationModelClass = SysDataPermDept.class) @Transient private List dataPermDeptList; + @RelationManyToMany( + relationMapperName = "sysDataPermMenuMapper", + relationMasterIdField = "dataPermId", + relationModelClass = SysDataPermMenu.class) @Transient private List dataPermMenuList; diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermDept.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermDept.java index ebea03ab..2b8d3dfa 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermDept.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermDept.java @@ -7,6 +7,12 @@ import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.Table; +/** + * 数据权限与部门关联实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @ToString(of = {"deptId"}) @Table(name = "zz_sys_data_perm_dept") diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermMenu.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermMenu.java index a2b67ecd..7bfadfab 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermMenu.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermMenu.java @@ -4,6 +4,12 @@ import lombok.Data; import javax.persistence.*; +/** + * 数据权限与菜单关联实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_data_perm_menu") public class SysDataPermMenu { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermUser.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermUser.java index a8676cd0..4781c2ec 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermUser.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermUser.java @@ -4,6 +4,12 @@ import lombok.Data; import javax.persistence.*; +/** + * 数据权限与用户关联实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_data_perm_user") public class SysDataPermUser { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDept.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDept.java index c2175bbb..8397a88e 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDept.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDept.java @@ -10,6 +10,12 @@ import javax.validation.constraints.*; import java.util.Date; +/** + * SysDept实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_dept") public class SysDept { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysMenu.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysMenu.java index 9afaa3a2..c6c3a130 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysMenu.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysMenu.java @@ -2,6 +2,7 @@ package com.orange.admin.upms.model; import com.alibaba.fastjson.annotation.JSONField; import com.orange.admin.common.core.annotation.DeletedFlagColumn; +import com.orange.admin.common.core.annotation.RelationManyToMany; import com.orange.admin.common.core.validator.ConstDictRef; import com.orange.admin.common.core.validator.UpdateGroup; import com.orange.admin.upms.model.constant.SysMenuType; @@ -12,6 +13,12 @@ import javax.validation.constraints.*; import java.util.Date; import java.util.List; +/** + * 菜单实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_menu") public class SysMenu { @@ -77,6 +84,10 @@ public class SysMenu { @Column(name = "deleted_flag") private Integer deletedFlag; + @RelationManyToMany( + relationMapperName = "sysMenuPermCodeMapper", + relationMasterIdField = "menuId", + relationModelClass = SysMenuPermCode.class) @Transient - private List permCodeIdList; + private List sysMenuPermCodeList; } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysMenuPermCode.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysMenuPermCode.java index 6a0108de..ac1ddf35 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysMenuPermCode.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysMenuPermCode.java @@ -4,6 +4,12 @@ import lombok.Data; import javax.persistence.*; +/** + * 菜单与权限字关联实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_menu_perm_code") public class SysMenuPermCode { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPerm.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPerm.java index 414a8b73..4e141db0 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPerm.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPerm.java @@ -11,6 +11,12 @@ import javax.validation.constraints.*; import java.util.Date; import java.util.Map; +/** + * 权限资源实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_perm") public class SysPerm { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermCode.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermCode.java index d3cce520..12ffca63 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermCode.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermCode.java @@ -2,6 +2,7 @@ package com.orange.admin.upms.model; import com.alibaba.fastjson.annotation.JSONField; import com.orange.admin.common.core.annotation.DeletedFlagColumn; +import com.orange.admin.common.core.annotation.RelationManyToMany; import com.orange.admin.common.core.validator.ConstDictRef; import com.orange.admin.common.core.validator.UpdateGroup; import com.orange.admin.upms.model.constant.SysPermCodeType; @@ -12,6 +13,12 @@ import javax.validation.constraints.*; import java.util.Date; import java.util.List; +/** + * 权限字实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_perm_code") public class SysPermCode { @@ -73,6 +80,10 @@ public class SysPermCode { @Column(name = "deleted_flag") private Integer deletedFlag; + @RelationManyToMany( + relationMapperName = "sysPermCodePermMapper", + relationMasterIdField = "permCodeId", + relationModelClass = SysPermCodePerm.class) @Transient - private List permIdList; + private List sysPermCodePermList; } \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermCodePerm.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermCodePerm.java index 73536c62..18074087 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermCodePerm.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermCodePerm.java @@ -4,6 +4,12 @@ import lombok.Data; import javax.persistence.*; +/** + * 权限字与权限资源关联实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_perm_code_perm") public class SysPermCodePerm { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermModule.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermModule.java index 88cf3162..27e2ee37 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermModule.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermModule.java @@ -12,6 +12,12 @@ import javax.validation.constraints.*; import java.util.Date; import java.util.List; +/** + * 权限模块实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_perm_module") public class SysPermModule { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermWhitelist.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermWhitelist.java index e38f7fa1..c34ef9b4 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermWhitelist.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysPermWhitelist.java @@ -4,6 +4,12 @@ import lombok.Data; import javax.persistence.*; +/** + * 白名单实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_perm_whitelist") public class SysPermWhitelist { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysRole.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysRole.java index 28238c5a..9e54fce1 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysRole.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysRole.java @@ -2,8 +2,9 @@ package com.orange.admin.upms.model; import com.alibaba.fastjson.annotation.JSONField; import com.orange.admin.common.core.annotation.DeletedFlagColumn; -import com.orange.admin.common.core.validator.UpdateGroup; import com.orange.admin.common.core.annotation.JobUpdateTimeColumn; +import com.orange.admin.common.core.annotation.RelationManyToMany; +import com.orange.admin.common.core.validator.UpdateGroup; import lombok.Data; import javax.persistence.*; @@ -11,6 +12,12 @@ import javax.validation.constraints.*; import java.util.Date; import java.util.List; +/** + * 角色实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_role") public class SysRole { @@ -63,8 +70,12 @@ public class SysRole { @Column(name = "deleted_flag") private Integer deletedFlag; + @RelationManyToMany( + relationMapperName = "sysRoleMenuMapper", + relationMasterIdField = "roleId", + relationModelClass = SysRoleMenu.class) @Transient - private List menuIdList; + private List sysRoleMenuList; @Transient private String createTimeStart; diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysRoleMenu.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysRoleMenu.java index 318cfcad..26c1f7b3 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysRoleMenu.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysRoleMenu.java @@ -4,6 +4,12 @@ import lombok.Data; import javax.persistence.*; +/** + * 角色菜单实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_role_menu") public class SysRoleMenu { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysUser.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysUser.java index 3e91e79b..863b5d2a 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysUser.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysUser.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.annotation.JSONField; import com.orange.admin.upms.model.constant.SysUserType; import com.orange.admin.upms.model.constant.SysUserStatus; import com.orange.admin.common.core.annotation.RelationConstDict; +import com.orange.admin.common.core.annotation.RelationManyToMany; import com.orange.admin.common.core.annotation.DeletedFlagColumn; import com.orange.admin.common.core.annotation.JobUpdateTimeColumn; import com.orange.admin.common.core.validator.UpdateGroup; @@ -16,6 +17,12 @@ import java.util.Date; import java.util.Map; import java.util.List; +/** + * SysUser实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_user") public class SysUser { @@ -123,16 +130,24 @@ public class SysUser { private String createTimeEnd; /** - * 与当前用户关联的角色Id集合。 + * 多对多用户角色数据集合。 */ + @RelationManyToMany( + relationMapperName = "sysUserRoleMapper", + relationMasterIdField = "userId", + relationModelClass = SysUserRole.class) @Transient - private List roleIdList; + private List sysUserRoleList; /** - * 与当前用户关联的数据权限Id集合。 + * 多对多用户数据权限数据集合。 */ + @RelationManyToMany( + relationMapperName = "sysDataPermUserMapper", + relationMasterIdField = "userId", + relationModelClass = SysDataPermUser.class) @Transient - private List dataPermIdList; + private List sysDataPermUserList; @RelationConstDict( masterIdField = "userType", diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysUserRole.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysUserRole.java index 375be9c6..11ccfa39 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysUserRole.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysUserRole.java @@ -4,6 +4,12 @@ import lombok.Data; import javax.persistence.*; +/** + * 用户角色实体对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ @Data @Table(name = "zz_sys_user_role") public class SysUserRole { diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysMenuType.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysMenuType.java index 4721c326..234dcc33 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysMenuType.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysMenuType.java @@ -7,7 +7,7 @@ import java.util.Map; * 菜单类型常量对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public final class SysMenuType { @@ -28,7 +28,7 @@ public final class SysMenuType { */ public static final int TYPE_BUTTON = 3; - public static final Map DICT_MAP = new HashMap<>(4); + private static final Map DICT_MAP = new HashMap<>(4); static { DICT_MAP.put(0, "目录菜单"); DICT_MAP.put(1, "普通菜单"); @@ -42,8 +42,8 @@ public final class SysMenuType { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysPermCodeType.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysPermCodeType.java index e67b05cf..89e2bd40 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysPermCodeType.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysPermCodeType.java @@ -7,7 +7,7 @@ import java.util.Map; * 权限字类型常量对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public final class SysPermCodeType { @@ -24,7 +24,7 @@ public final class SysPermCodeType { */ public static final int TYPE_OPERATION = 2; - public static final Map DICT_MAP = new HashMap<>(3); + private static final Map DICT_MAP = new HashMap<>(3); static { DICT_MAP.put(0, "表单权限字"); DICT_MAP.put(1, "表单片段布局权限字"); @@ -37,8 +37,8 @@ public final class SysPermCodeType { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysPermModuleType.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysPermModuleType.java index ddc48c54..7bd98c7c 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysPermModuleType.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysPermModuleType.java @@ -7,7 +7,7 @@ import java.util.Map; * 权限资源模块类型常量对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public final class SysPermModuleType { @@ -20,7 +20,7 @@ public final class SysPermModuleType { */ public static final int TYPE_CONTROLLER = 1; - public static final Map DICT_MAP = new HashMap<>(2); + private static final Map DICT_MAP = new HashMap<>(2); static { DICT_MAP.put(0, "普通模块"); DICT_MAP.put(1, "controller接口模块"); @@ -32,8 +32,8 @@ public final class SysPermModuleType { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysUserStatus.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysUserStatus.java index 447d4f2e..b7af87ae 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysUserStatus.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysUserStatus.java @@ -3,6 +3,12 @@ package com.orange.admin.upms.model.constant; import java.util.HashMap; import java.util.Map; +/** + * 用户状态常量字典对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ public final class SysUserStatus { /** @@ -14,7 +20,7 @@ public final class SysUserStatus { */ public static final int STATUS_LOCKED = 1; - public static final Map DICT_MAP = new HashMap<>(2); + private static final Map DICT_MAP = new HashMap<>(2); static { DICT_MAP.put(STATUS_NORMAL, "正常状态"); DICT_MAP.put(STATUS_LOCKED, "锁定状态"); @@ -26,8 +32,8 @@ public final class SysUserStatus { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysUserType.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysUserType.java index e0b3a844..110bf2d5 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysUserType.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/constant/SysUserType.java @@ -3,6 +3,12 @@ package com.orange.admin.upms.model.constant; import java.util.HashMap; import java.util.Map; +/** + * 用户类型常量字典对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ public final class SysUserType { /** @@ -18,7 +24,7 @@ public final class SysUserType { */ public static final int TYPE_OPERATOR = 2; - public static final Map DICT_MAP = new HashMap<>(3); + private static final Map DICT_MAP = new HashMap<>(3); static { DICT_MAP.put(TYPE_ADMIN, "管理员"); DICT_MAP.put(TYPE_SYSTEM, "系统操作员"); @@ -31,8 +37,8 @@ public final class SysUserType { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDataPermService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDataPermService.java index 5d98e204..2f415158 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDataPermService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDataPermService.java @@ -1,13 +1,13 @@ package com.orange.admin.upms.service; import com.alibaba.fastjson.JSONObject; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import com.orange.admin.common.core.constant.DataPermRuleType; import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.constant.GlobalDeletedFlag; import com.orange.admin.common.core.object.TokenData; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.upms.dao.SysDataPermDeptMapper; import com.orange.admin.upms.dao.SysDataPermMapper; import com.orange.admin.upms.dao.SysDataPermUserMapper; @@ -29,10 +29,10 @@ import java.util.stream.Collectors; * 数据权限数据服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysDataPermService extends BaseService { +public class SysDataPermService extends BaseBizService { @Autowired private SysDataPermMapper sysDataPermMapper; @@ -67,7 +67,7 @@ public class SysDataPermService extends BaseService { * @param dataPermMenuList 关联的菜单对象列表。 * @return 新增后的数据权限对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public SysDataPerm saveNew(SysDataPerm dataPerm, Set deptIdSet, List dataPermMenuList) { dataPerm.setDataPermId(idGenerator.nextLongId()); TokenData tokenData = TokenData.takeFromRequest(); @@ -91,7 +91,7 @@ public class SysDataPermService extends BaseService { * @param dataPermMenuList 关联的菜单对象列表。 * @return 更新成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update( SysDataPerm dataPerm, SysDataPerm originalDataPerm, @@ -121,7 +121,7 @@ public class SysDataPermService extends BaseService { * @param dataPermId 数据权限主键Id。 * @return 删除成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long dataPermId) { SysDataPerm dataPerm = new SysDataPerm(); dataPerm.setDataPermId(dataPermId); @@ -152,27 +152,6 @@ public class SysDataPermService extends BaseService { return sysDataPermMapper.getSysDataPermList(filter, orderBy); } - /** - * 获取指定数据权限,同时包含其关联数据。 - * - * @param dataPermId 数据权限主键Id。 - * @return 数据权限对象。 - */ - public SysDataPerm getSysDataPermWithRelation(Long dataPermId) { - SysDataPerm dataPerm = this.getById(dataPermId); - if (dataPerm != null) { - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDataPermId(dataPermId); - List dataPermDeptList = sysDataPermDeptMapper.select(dataPermDept); - dataPerm.setDataPermDeptList(dataPermDeptList); - SysDataPermMenu dataPermMenu = new SysDataPermMenu(); - dataPermMenu.setDataPermId(dataPermId); - List dataPermMenuList = sysDataPermMenuMapper.select(dataPermMenu); - dataPerm.setDataPermMenuList(dataPermMenuList); - } - return dataPerm; - } - /** * 将指定用户的指定会话的数据权限集合存入缓存。 * @@ -182,7 +161,7 @@ public class SysDataPermService extends BaseService { * @param isAdmin 是否是管理员。 * @return 查询并缓存后的数据权限集合。返回格式为,Map>。 */ - @CachePut(value = "DataPermissionCache", key = "#sessionId") + @CachePut(value = "DATA_PERMISSION_CACHE", key = "#sessionId") public Map> putDataPermCache( String sessionId, Long userId, Long deptId, boolean isAdmin) { // 管理员账户返回空对象,便于缓存的统一处理。 @@ -194,7 +173,7 @@ public class SysDataPermService extends BaseService { * * @param sessionId 会话Id。 */ - @CacheEvict(value = "DataPermissionCache", key = "#sessionId") + @CacheEvict(value = "DATA_PERMISSION_CACHE", key = "#sessionId") public void removeDataPermCache(String sessionId) { // 空实现即可,只是通过注解将当前sessionId从cache中删除。 } @@ -208,7 +187,7 @@ public class SysDataPermService extends BaseService { */ public Map> getSysDataPermMenuListByUserId(Long userId, Long deptId) { List dataPermMenuList = sysDataPermMenuMapper.getSysDataPermMenuListByUserId(userId); - if (dataPermMenuList.size() == 0) { + if (dataPermMenuList.isEmpty()) { return new HashMap<>(1); } // 这里用代码的方式把deptId组装到SysDataPermMenu中。 @@ -226,7 +205,12 @@ public class SysDataPermService extends BaseService { dataPermMenu.setDeptIdListString(StringUtils.join(deptIdSet, ",")); } } - // 由于同一用户可能属于多个数据权限,所以需要先进行基于menuId的权限合并。 + // 由于同一用户可能属于多个数据权限,所以需要进行基于menuId的权限合并。 + return mergeDataPermMenuList(dataPermMenuList, deptId); + } + + private Map> mergeDataPermMenuList( + List dataPermMenuList, Long deptId) { Map> menuMap = dataPermMenuList.stream().collect(Collectors.groupingBy(SysDataPermMenu::getMenuId)); Map> resultMap = new HashMap<>(menuMap.size()); @@ -244,18 +228,9 @@ public class SysDataPermService extends BaseService { continue; } // 合并自定义部门了。 - List customDeptList = ruleMap.get(DataPermRuleType.TYPE_CUSTOM_DETP_LIST); - if (customDeptList != null) { - Set deptIdSet = new HashSet<>(); - for (SysDataPermMenu customDept : customDeptList) { - deptIdSet.addAll(Arrays.stream(StringUtils.split( - customDept.getDeptIdListString(), ",")).map(Long::valueOf).collect(Collectors.toSet())); - } - if (ruleMap.containsKey(DataPermRuleType.TYPE_DEPT_ONLY)) { - deptIdSet.add(deptId); - ruleMap.remove(DataPermRuleType.TYPE_DEPT_ONLY); - } - m.put(DataPermRuleType.TYPE_CUSTOM_DETP_LIST, StringUtils.join(deptIdSet, ',')); + String deptIds = processMultiDept(ruleMap, deptId); + if (deptIds != null) { + m.put(DataPermRuleType.TYPE_CUSTOM_DETP_LIST, deptIds); } // 最后处理当前部门和当前用户。 if (ruleMap.get(DataPermRuleType.TYPE_DEPT_ONLY) != null) { @@ -269,13 +244,30 @@ public class SysDataPermService extends BaseService { return resultMap; } + private String processMultiDept(Map> ruleMap, Long deptId) { + List customDeptList = ruleMap.get(DataPermRuleType.TYPE_CUSTOM_DETP_LIST); + if (customDeptList == null) { + return null; + } + Set deptIdSet = new HashSet<>(); + for (SysDataPermMenu customDept : customDeptList) { + deptIdSet.addAll(Arrays.stream(StringUtils.split( + customDept.getDeptIdListString(), ",")).map(Long::valueOf).collect(Collectors.toSet())); + } + if (ruleMap.containsKey(DataPermRuleType.TYPE_DEPT_ONLY)) { + deptIdSet.add(deptId); + ruleMap.remove(DataPermRuleType.TYPE_DEPT_ONLY); + } + return StringUtils.join(deptIdSet, ','); + } + /** * 添加用户和数据权限之间的多对多关联关系。 * * @param dataPermId 数据权限Id。 - * @param userIdSet 关联的用户Id列表。 + * @param userIdSet 关联的用户Id列表。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public void addDataPermUserList(Long dataPermId, Set userIdSet) { List dataPermUserList = new LinkedList<>(); for (Long userId : userIdSet) { @@ -293,7 +285,7 @@ public class SysDataPermService extends BaseService { * @param dataPermId 数据权限主键Id。 * @param userId 用户主键Id。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean removeDataPermUser(Long dataPermId, Long userId) { SysDataPermUser dataPermUser = new SysDataPermUser(); dataPermUser.setDataPermId(dataPermId); @@ -304,44 +296,38 @@ public class SysDataPermService extends BaseService { /** * 验证数据权限对象关联菜单数据是否都合法。 * - * @param dataPerm 数据权限关对象。 + * @param dataPerm 数据权限关对象。 * @param deptIdListString 与数据权限关联的部门Id列表。 * @param menuIdListString 与数据权限关联的菜单Id列表。 * @return 验证结果。 */ - public VerifyResult verifyRelatedData(SysDataPerm dataPerm, String deptIdListString, String menuIdListString) { - String errorMessage = null; + public CallResult verifyRelatedData(SysDataPerm dataPerm, String deptIdListString, String menuIdListString) { JSONObject jsonObject = new JSONObject(); - do { - if (dataPerm.getRuleType() == DataPermRuleType.TYPE_CUSTOM_DETP_LIST) { - if (StringUtils.isBlank(deptIdListString)) { - errorMessage = "数据验证失败,部门列表不能为空!"; - break; - } - Set deptIdSet = Arrays.stream(StringUtils.split( - deptIdListString, ",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysDeptService.existUniqueKeyList("deptId", deptIdSet)) { - errorMessage = "数据验证失败,存在不合法的部门数据,请刷新后重试!"; - break; - } - jsonObject.put("deptIdSet", deptIdSet); + if (dataPerm.getRuleType() == DataPermRuleType.TYPE_CUSTOM_DETP_LIST) { + if (StringUtils.isBlank(deptIdListString)) { + return CallResult.error("数据验证失败,部门列表不能为空!"); } - String[] menuIdArray = StringUtils.split(menuIdListString, ","); - Set menuIdSet = Arrays.stream(menuIdArray).map(Long::valueOf).collect(Collectors.toSet()); - // 验证菜单Id的合法性 - if (!sysMenuService.existUniqueKeyList("menuId", menuIdSet)) { - errorMessage = "数据验证失败,存在不合法的菜单,请刷新后重试!"; - break; + Set deptIdSet = Arrays.stream(StringUtils.split( + deptIdListString, ",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysDeptService.existAllPrimaryKeys(deptIdSet)) { + return CallResult.error("数据验证失败,存在不合法的部门数据,请刷新后重试!"); } - List dataPermMenuList = new LinkedList<>(); - for (Long menuId : menuIdSet) { - SysDataPermMenu dataPermMenu = new SysDataPermMenu(); - dataPermMenu.setMenuId(menuId); - dataPermMenuList.add(dataPermMenu); - } - jsonObject.put("dataPermMenuList", dataPermMenuList); - } while (false); - return VerifyResult.create(errorMessage, jsonObject); + jsonObject.put("deptIdSet", deptIdSet); + } + String[] menuIdArray = StringUtils.split(menuIdListString, ","); + Set menuIdSet = Arrays.stream(menuIdArray).map(Long::valueOf).collect(Collectors.toSet()); + // 验证菜单Id的合法性 + if (!sysMenuService.existAllPrimaryKeys(menuIdSet)) { + return CallResult.error("数据验证失败,存在不合法的菜单,请刷新后重试!"); + } + List dataPermMenuList = new LinkedList<>(); + for (Long menuId : menuIdSet) { + SysDataPermMenu dataPermMenu = new SysDataPermMenu(); + dataPermMenu.setMenuId(menuId); + dataPermMenuList.add(dataPermMenu); + } + jsonObject.put("dataPermMenuList", dataPermMenuList); + return CallResult.ok(jsonObject); } private void insertRelationData( diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDeptService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDeptService.java index 3971e5fb..ebea4ab3 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDeptService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDeptService.java @@ -2,11 +2,12 @@ package com.orange.admin.upms.service; import com.orange.admin.upms.dao.*; import com.orange.admin.upms.model.*; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.base.dao.BaseDaoMapper; import com.orange.admin.common.core.constant.GlobalDeletedFlag; import com.orange.admin.common.core.object.TokenData; import com.orange.admin.common.core.object.MyWhereCriteria; +import com.orange.admin.common.core.object.MyRelationParam; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import org.springframework.transaction.annotation.Transactional; import org.springframework.beans.factory.annotation.Autowired; @@ -19,10 +20,10 @@ import java.util.*; * 部门管理数据操作服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysDeptService extends BaseService { +public class SysDeptService extends BaseBizService { @Autowired private SysDeptMapper sysDeptMapper; @@ -47,7 +48,7 @@ public class SysDeptService extends BaseService { * @param sysDept 新增的部门对象。 * @return 新增后的部门对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public SysDept saveNew(SysDept sysDept) { sysDept.setDeptId(idGenerator.nextLongId()); sysDept.setDeletedFlag(GlobalDeletedFlag.NORMAL); @@ -64,11 +65,11 @@ public class SysDeptService extends BaseService { /** * 更新部门对象。 * - * @param sysDept 更新的部门对象。 + * @param sysDept 更新的部门对象。 * @param originalSysDept 原有的部门对象。 * @return 更新成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update(SysDept sysDept, SysDept originalSysDept) { sysDept.setCreateUserId(originalSysDept.getCreateUserId()); sysDept.setCreateUsername(originalSysDept.getCreateUsername()); @@ -84,12 +85,12 @@ public class SysDeptService extends BaseService { * @param deptId 主键Id。 * @return 成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long deptId) { Example sysDeptExample = new Example(SysDept.class); Example.Criteria c = sysDeptExample.createCriteria(); - c.andEqualTo("deptId", deptId); - c.andEqualTo("deletedFlag", GlobalDeletedFlag.NORMAL); + c.andEqualTo(super.idFieldName, deptId); + c.andEqualTo(super.deletedFlagFieldName, GlobalDeletedFlag.NORMAL); // 这里先删除主数据 SysDept deletedObject = new SysDept(); deletedObject.setDeletedFlag(GlobalDeletedFlag.DELETED); @@ -97,9 +98,9 @@ public class SysDeptService extends BaseService { return false; } // 这里可继续删除关联数据。 - Example dataPermDeptExample = new Example(SysDataPermDept.class); - dataPermDeptExample.createCriteria().andEqualTo("deptId", deptId); - sysDataPermDeptMapper.deleteByExample(dataPermDeptExample); + SysDataPermDept dataPermDept = new SysDataPermDept(); + dataPermDept.setDeptId(deptId); + sysDataPermDeptMapper.delete(dataPermDept); return true; } @@ -107,7 +108,7 @@ public class SysDeptService extends BaseService { * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 * 如果需要同时获取关联数据,请移步(getSysDeptListWithRelation)方法。 * - * @param filter 过滤对象。 + * @param filter 过滤对象。 * @param orderBy 排序参数。 * @return 查询结果集。 */ @@ -126,7 +127,7 @@ public class SysDeptService extends BaseService { public List getSysDeptListWithRelation(SysDept filter, String orderBy) { List resultList = sysDeptMapper.getSysDeptList(filter, orderBy); Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildAllRelationForDataList(resultList, false, criteriaMap); + this.buildRelationForDataList(resultList, MyRelationParam.normal(), criteriaMap); return resultList; } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysMenuService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysMenuService.java index 4d10f0b9..2383475a 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysMenuService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysMenuService.java @@ -1,11 +1,11 @@ package com.orange.admin.upms.service; import com.alibaba.fastjson.JSONObject; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.constant.GlobalDeletedFlag; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.upms.dao.SysMenuMapper; import com.orange.admin.upms.dao.SysMenuPermCodeMapper; import com.orange.admin.upms.dao.SysRoleMenuMapper; @@ -28,10 +28,10 @@ import java.util.stream.Collectors; * 菜单数据服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysMenuService extends BaseService { +public class SysMenuService extends BaseBizService { @Autowired private SysMenuMapper sysMenuMapper; @@ -59,11 +59,11 @@ public class SysMenuService extends BaseService { /** * 保存新增的菜单对象。 * - * @param sysMenu 新增的菜单对象。 + * @param sysMenu 新增的菜单对象。 * @param permCodeIdSet 权限字Id列表。 * @return 新增后的菜单对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public SysMenu saveNew(SysMenu sysMenu, Set permCodeIdSet) { sysMenu.setMenuId(idGenerator.nextLongId()); sysMenu.setCreateTime(new Date()); @@ -85,12 +85,12 @@ public class SysMenuService extends BaseService { /** * 更新菜单对象。 * - * @param sysMenu 更新的菜单对象。 + * @param sysMenu 更新的菜单对象。 * @param originalSysMenu 原有的菜单对象。 - * @param permCodeIdSet 权限字Id列表。 + * @param permCodeIdSet 权限字Id列表。 * @return 更新成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update(SysMenu sysMenu, SysMenu originalSysMenu, Set permCodeIdSet) { sysMenu.setCreateTime(originalSysMenu.getCreateTime()); sysMenu.setMenuType(originalSysMenu.getMenuType()); @@ -98,9 +98,9 @@ public class SysMenuService extends BaseService { if (sysMenuMapper.updateByPrimaryKey(sysMenu) != 1) { return false; } - Example e = new Example(SysMenuPermCode.class); - e.createCriteria().andEqualTo("menuId", sysMenu.getMenuId()); - sysMenuPermCodeMapper.deleteByExample(e); + SysMenuPermCode deletedMenuPermCode = new SysMenuPermCode(); + deletedMenuPermCode.setMenuId(sysMenu.getMenuId()); + sysMenuPermCodeMapper.delete(deletedMenuPermCode); if (permCodeIdSet != null) { List sysMenuPermCodeList = new LinkedList<>(); for (Long permCodeId : permCodeIdSet) { @@ -120,7 +120,7 @@ public class SysMenuService extends BaseService { * @param menuId 菜单主键Id。 * @return 删除成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long menuId) { SysMenu menu = new SysMenu(); menu.setMenuId(menuId); @@ -128,15 +128,15 @@ public class SysMenuService extends BaseService { if (sysMenuMapper.updateByPrimaryKeySelective(menu) != 1) { return false; } - Example roleMenuExample = new Example(SysRoleMenu.class); - roleMenuExample.createCriteria().andEqualTo("menuId", menuId); - sysRoleMenuMapper.deleteByExample(roleMenuExample); - Example menuPermCodeExample = new Example(SysMenuPermCode.class); - menuPermCodeExample.createCriteria().andEqualTo("menuId", menuId); - sysMenuPermCodeMapper.deleteByExample(menuPermCodeExample); - Example dataPermMenuExample = new Example(SysDataPermMenu.class); - dataPermMenuExample.createCriteria().andEqualTo("menuId", menuId); - sysDataPermMenuMapper.deleteByExample(dataPermMenuExample); + SysRoleMenu roleMenu = new SysRoleMenu(); + roleMenu.setMenuId(menuId); + sysRoleMenuMapper.delete(roleMenu); + SysMenuPermCode menuPermCode = new SysMenuPermCode(); + menuPermCode.setMenuId(menuId); + sysMenuPermCodeMapper.delete(menuPermCode); + SysDataPermMenu dataPermMenu = new SysDataPermMenu(); + dataPermMenu.setMenuId(menuId); + sysDataPermMenuMapper.delete(dataPermMenu); return true; } @@ -164,27 +164,6 @@ public class SysMenuService extends BaseService { return sysMenuMapper.getMenuListByUserId(userId); } - /** - * 获取指定菜单的详情对象。 - * - * @param menuId 菜单主键Id。 - * @return 菜单对象。 - */ - public SysMenu getSysMenuWithRelation(Long menuId) { - SysMenu sysMenu = this.getById(menuId); - if (sysMenu != null) { - Example e = new Example(SysMenuPermCode.class); - e.createCriteria().andEqualTo("menuId", menuId); - List sysMenuPermCodeList = sysMenuPermCodeMapper.selectByExample(e); - if (sysMenuPermCodeList.size() > 0) { - List permCodeIdList = - sysMenuPermCodeList.stream().map(SysMenuPermCode::getPermCodeId).collect(Collectors.toList()); - sysMenu.setPermCodeIdList(permCodeIdList); - } - } - return sysMenu; - } - /** * 判断当前菜单是否存在子菜单。 * @@ -200,64 +179,63 @@ public class SysMenuService extends BaseService { /** * 验证菜单对象关联的数据是否都合法。 * - * @param sysMenu 当前操作的对象。 - * @param originalSysMenu 原有对象。 + * @param sysMenu 当前操作的对象。 + * @param originalSysMenu 原有对象。 * @param permCodeIdListString 逗号分隔的权限Id列表。 * @return 验证结果。 */ - public VerifyResult verifyRelatedData(SysMenu sysMenu, SysMenu originalSysMenu, String permCodeIdListString) { - String errorMessage = null; + public CallResult verifyRelatedData(SysMenu sysMenu, SysMenu originalSysMenu, String permCodeIdListString) { JSONObject jsonObject = null; - do { - if (this.needToVerify(sysMenu, originalSysMenu, SysMenu::getParentId)) { - // 1. menu、ui fragment和button类型的menu不能没有parentId - if (sysMenu.getParentId() == null) { - if (sysMenu.getMenuType() != SysMenuType.TYPE_DIRECTORY) { - errorMessage = "数据验证失败,当前类型菜单项的上级菜单不能为空!"; - break; - } - } else { - // 2. 判断父节点是否存在 - SysMenu parentSysMenu = getById(sysMenu.getParentId()); - if (parentSysMenu == null) { - errorMessage = "数据验证失败,关联的上级菜单并不存在,请刷新后重试!"; - break; - } - // 3. 逐个判断每种类型的菜单,他的父菜单的合法性,先从目录类型和菜单类型开始 - if (sysMenu.getMenuType() == SysMenuType.TYPE_DIRECTORY - || sysMenu.getMenuType() == SysMenuType.TYPE_MENU) { - // 他们的上级只能是目录 - if (parentSysMenu.getMenuType() != SysMenuType.TYPE_DIRECTORY) { - errorMessage = "数据验证失败,当前类型菜单项的上级菜单只能是目录类型!"; - break; - } - } else if (sysMenu.getMenuType() == SysMenuType.TYPE_UI_FRAGMENT) { - // ui fragment的上级只能是menu类型 - if (parentSysMenu.getMenuType() != SysMenuType.TYPE_MENU) { - errorMessage = "数据验证失败,当前类型菜单项的上级菜单只能是菜单类型和按钮类型!"; - break; - } - } else if (sysMenu.getMenuType() == SysMenuType.TYPE_BUTTON) { - // button的上级只能是menu和ui fragment - if (parentSysMenu.getMenuType() != SysMenuType.TYPE_MENU - && parentSysMenu.getMenuType() != SysMenuType.TYPE_UI_FRAGMENT) { - errorMessage = "数据验证失败,当前类型菜单项的上级菜单只能是菜单类型和UI片段类型!"; - break; - } - } + if (this.needToVerify(sysMenu, originalSysMenu, SysMenu::getParentId)) { + // menu、ui fragment和button类型的menu不能没有parentId + if (sysMenu.getParentId() == null) { + if (sysMenu.getMenuType() != SysMenuType.TYPE_DIRECTORY) { + return CallResult.error("数据验证失败,当前类型菜单项的上级菜单不能为空!"); + } + } else { + String errorMessage = checkErrorOfNonDirectoryMenu(sysMenu); + if (errorMessage != null) { + return CallResult.error(errorMessage); } } - if (StringUtils.isNotBlank(permCodeIdListString)) { - Set permCodeIdSet = Arrays.stream( - permCodeIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysPermCodeService.existUniqueKeyList("permCodeId", permCodeIdSet)) { - errorMessage = "数据验证失败,存在不合法的权限字,请刷新后重试!"; - break; - } - jsonObject = new JSONObject(); - jsonObject.put("permCodeIdSet", permCodeIdSet); + } + if (StringUtils.isNotBlank(permCodeIdListString)) { + Set permCodeIdSet = Arrays.stream( + permCodeIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysPermCodeService.existAllPrimaryKeys(permCodeIdSet)) { + return CallResult.error("数据验证失败,存在不合法的权限字,请刷新后重试!"); } - } while (false); - return VerifyResult.create(errorMessage, jsonObject); + jsonObject = new JSONObject(); + jsonObject.put("permCodeIdSet", permCodeIdSet); + } + return CallResult.ok(jsonObject); } + + private String checkErrorOfNonDirectoryMenu(SysMenu sysMenu) { + // 判断父节点是否存在 + SysMenu parentSysMenu = getById(sysMenu.getParentId()); + if (parentSysMenu == null) { + return "数据验证失败,关联的上级菜单并不存在,请刷新后重试!"; + } + // 逐个判断每种类型的菜单,他的父菜单的合法性,先从目录类型和菜单类型开始 + if (sysMenu.getMenuType() == SysMenuType.TYPE_DIRECTORY + || sysMenu.getMenuType() == SysMenuType.TYPE_MENU) { + // 他们的上级只能是目录 + if (parentSysMenu.getMenuType() != SysMenuType.TYPE_DIRECTORY) { + return "数据验证失败,当前类型菜单项的上级菜单只能是目录类型!"; + } + } else if (sysMenu.getMenuType() == SysMenuType.TYPE_UI_FRAGMENT) { + // ui fragment的上级只能是menu类型 + if (parentSysMenu.getMenuType() != SysMenuType.TYPE_MENU) { + return "数据验证失败,当前类型菜单项的上级菜单只能是菜单类型和按钮类型!"; + } + } else if (sysMenu.getMenuType() == SysMenuType.TYPE_BUTTON) { + // button的上级只能是menu和ui fragment + if (parentSysMenu.getMenuType() != SysMenuType.TYPE_MENU + && parentSysMenu.getMenuType() != SysMenuType.TYPE_UI_FRAGMENT) { + return "数据验证失败,当前类型菜单项的上级菜单只能是菜单类型和UI片段类型!"; + } + } + return null; + } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermCodeService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermCodeService.java index 0f9279d6..11076595 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermCodeService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermCodeService.java @@ -1,11 +1,11 @@ package com.orange.admin.upms.service; import com.alibaba.fastjson.JSONObject; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.constant.GlobalDeletedFlag; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.upms.dao.SysMenuPermCodeMapper; import com.orange.admin.upms.dao.SysPermCodeMapper; import com.orange.admin.upms.dao.SysPermCodePermMapper; @@ -16,7 +16,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import tk.mybatis.mapper.entity.Example; import java.util.*; import java.util.stream.Collectors; @@ -25,10 +24,10 @@ import java.util.stream.Collectors; * 权限字数据服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysPermCodeService extends BaseService { +public class SysPermCodeService extends BaseBizService { @Autowired private SysPermCodeMapper sysPermCodeMapper; @@ -65,10 +64,10 @@ public class SysPermCodeService extends BaseService { * 保存新增的权限字对象。 * * @param sysPermCode 新增的权限字对象。 - * @param permIdSet 权限资源Id列表。 + * @param permIdSet 权限资源Id列表。 * @return 新增后的权限字对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public SysPermCode saveNew(SysPermCode sysPermCode, Set permIdSet) { sysPermCode.setPermCodeId(idGenerator.nextLongId()); sysPermCode.setCreateTime(new Date()); @@ -90,12 +89,12 @@ public class SysPermCodeService extends BaseService { /** * 更新权限字对象。 * - * @param sysPermCode 更新的权限字对象。 + * @param sysPermCode 更新的权限字对象。 * @param originalSysPermCode 原有的权限字对象。 - * @param permIdSet 权限资源Id列表。 + * @param permIdSet 权限资源Id列表。 * @return 更新成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update(SysPermCode sysPermCode, SysPermCode originalSysPermCode, Set permIdSet) { sysPermCode.setCreateTime(originalSysPermCode.getCreateTime()); sysPermCode.setParentId(originalSysPermCode.getParentId()); @@ -103,9 +102,9 @@ public class SysPermCodeService extends BaseService { if (sysPermCodeMapper.updateByPrimaryKey(sysPermCode) != 1) { return false; } - Example e = new Example(SysPermCodePerm.class); - e.createCriteria().andEqualTo("permCodeId", sysPermCode.getPermCodeId()); - sysPermCodePermMapper.deleteByExample(e); + SysPermCodePerm deletedPermCodePerm = new SysPermCodePerm(); + deletedPermCodePerm.setPermCodeId(sysPermCode.getPermCodeId()); + sysPermCodePermMapper.delete(deletedPermCodePerm); if (permIdSet != null) { List sysPermCodePermList = new LinkedList<>(); for (Long permId : permIdSet) { @@ -125,7 +124,7 @@ public class SysPermCodeService extends BaseService { * @param permCodeId 权限字主键Id。 * @return 删除成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long permCodeId) { SysPermCode permCode = new SysPermCode(); permCode.setPermCodeId(permCodeId); @@ -133,41 +132,20 @@ public class SysPermCodeService extends BaseService { if (sysPermCodeMapper.updateByPrimaryKeySelective(permCode) != 1) { return false; } - Example menuPermCodeExample = new Example(SysMenuPermCode.class); - menuPermCodeExample.createCriteria().andEqualTo("permCodeId", permCodeId); - sysMenuPermCodeMapper.deleteByExample(menuPermCodeExample); - Example permCodePermExample = new Example(SysPermCodePerm.class); - permCodePermExample.createCriteria().andEqualTo("permCodeId", permCodeId); - sysPermCodePermMapper.deleteByExample(permCodePermExample); + SysMenuPermCode menuPermCode = new SysMenuPermCode(); + menuPermCode.setPermCodeId(permCodeId); + sysMenuPermCodeMapper.delete(menuPermCode); + SysPermCodePerm permCodePerm = new SysPermCodePerm(); + permCodePerm.setPermCodeId(permCodeId); + sysPermCodePermMapper.delete(permCodePerm); return true; } - /** - * 获取指定权限字对象数据,该对象将包含其关联数据。 - * - * @param permCodeId 权限字主键Id。 - * @return 权限字对象。 - */ - public SysPermCode getSysPermCodeWithRelation(Long permCodeId) { - SysPermCode sysPermCode = this.getById(permCodeId); - if (sysPermCode != null) { - Example e = new Example(SysPermCodePerm.class); - e.createCriteria().andEqualTo("permCodeId", permCodeId); - List sysPermCodePermList = sysPermCodePermMapper.selectByExample(e); - if (sysPermCodePermList.size() > 0) { - List permIdList = - sysPermCodePermList.stream().map(SysPermCodePerm::getPermId).collect(Collectors.toList()); - sysPermCode.setPermIdList(permIdList); - } - } - return sysPermCode; - } - /** * 获取指定用户的权限字列表。 * * @param loginName 精确匹配用户登录名。 - * @param permCode 模糊匹配的权限字名,LIKE %permCode%。 + * @param permCode 模糊匹配的权限字名,LIKE %permCode%。 * @return 权限字列表。 */ public List getUserPermCodeListByFilter(String loginName, String permCode) { @@ -199,34 +177,28 @@ public class SysPermCodeService extends BaseService { /** * 验证权限字对象关联的数据是否都合法。 * - * @param sysPermCode 当前操作的对象。 + * @param sysPermCode 当前操作的对象。 * @param originalSysPermCode 原有对象。 - * @param permIdListString 逗号分隔的权限资源Id列表。 + * @param permIdListString 逗号分隔的权限资源Id列表。 * @return 验证结果。 */ - public VerifyResult verifyRelatedData( + public CallResult verifyRelatedData( SysPermCode sysPermCode, SysPermCode originalSysPermCode, String permIdListString) { - String errorMessage = null; + if (this.needToVerify(sysPermCode, originalSysPermCode, SysPermCode::getParentId)) { + if (getById(sysPermCode.getParentId()) == null) { + return CallResult.error("数据验证失败,关联的上级权限字并不存在,请刷新后重试!"); + } + } JSONObject jsonObject = null; - Map resultMap = new HashMap<>(2); - do { - if (this.needToVerify(sysPermCode, originalSysPermCode, SysPermCode::getParentId)) { - if (getById(sysPermCode.getParentId()) == null) { - errorMessage = "数据验证失败,关联的上级权限字并不存在,请刷新后重试!"; - break; - } + if (StringUtils.isNotBlank(permIdListString)) { + Set permIdSet = Arrays.stream( + permIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysPermService.existAllPrimaryKeys(permIdSet)) { + return CallResult.error("数据验证失败,存在不合法的权限资源,请刷新后重试!"); } - if (StringUtils.isNotBlank(permIdListString)) { - Set permIdSet = Arrays.stream( - permIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysPermService.existUniqueKeyList("permId", permIdSet)) { - errorMessage = "数据验证失败,存在不合法的权限资源,请刷新后重试!"; - break; - } - jsonObject = new JSONObject(); - jsonObject.put("permIdSet", permIdSet); - } - } while (false); - return VerifyResult.create(errorMessage, jsonObject); + jsonObject = new JSONObject(); + jsonObject.put("permIdSet", permIdSet); + } + return CallResult.ok(jsonObject); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermModuleService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermModuleService.java index d9b21632..23680c5c 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermModuleService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermModuleService.java @@ -1,8 +1,8 @@ package com.orange.admin.upms.service; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.constant.GlobalDeletedFlag; import com.orange.admin.upms.dao.SysPermModuleMapper; import com.orange.admin.upms.model.SysPerm; @@ -18,10 +18,10 @@ import java.util.List; * 权限资源模块数据服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysPermModuleService extends BaseService { +public class SysPermModuleService extends BaseBizService { @Autowired private SysPermModuleMapper sysPermModuleMapper; @@ -46,7 +46,7 @@ public class SysPermModuleService extends BaseService { * @param sysPermModule 新增的权限资源模块对象。 * @return 新增后的权限资源模块对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public SysPermModule saveNew(SysPermModule sysPermModule) { sysPermModule.setModuleId(idGenerator.nextLongId()); sysPermModule.setCreateTime(new Date()); @@ -58,11 +58,11 @@ public class SysPermModuleService extends BaseService { /** * 更新权限资源模块对象。 * - * @param sysPermModule 更新的权限资源模块对象。 + * @param sysPermModule 更新的权限资源模块对象。 * @param originalSysPermModule 原有的权限资源模块对象。 * @return 更新成功返回true,否则false */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update(SysPermModule sysPermModule, SysPermModule originalSysPermModule) { sysPermModule.setCreateTime(originalSysPermModule.getCreateTime()); sysPermModule.setDeletedFlag(GlobalDeletedFlag.NORMAL); @@ -75,7 +75,7 @@ public class SysPermModuleService extends BaseService { * @param moduleId 权限资源模块主键Id。 * @return 删除成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long moduleId) { SysPermModule permModule = new SysPermModule(); permModule.setModuleId(moduleId); diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermService.java index 99fc7d75..5950960c 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermService.java @@ -2,11 +2,12 @@ package com.orange.admin.upms.service; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.base.service.BaseService; +import com.orange.admin.common.core.object.MyRelationParam; import com.orange.admin.common.core.constant.GlobalDeletedFlag; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.upms.dao.SysPermCodePermMapper; import com.orange.admin.upms.dao.SysPermMapper; import com.orange.admin.upms.model.SysPerm; @@ -29,10 +30,10 @@ import java.util.stream.Collectors; * 权限资源数据服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysPermService extends BaseService { +public class SysPermService extends BaseBizService { @Autowired private SysPermMapper sysPermMapper; @@ -61,7 +62,7 @@ public class SysPermService extends BaseService { * @param perm 新增的权限资源对象。 * @return 新增后的权限资源对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public SysPerm saveNew(SysPerm perm) { perm.setPermId(idGenerator.nextLongId()); perm.setCreateTime(new Date()); @@ -73,11 +74,11 @@ public class SysPermService extends BaseService { /** * 更新权限资源对象。 * - * @param perm 更新的权限资源对象。 - * @param originalPerm 更新的权限资源对象。 + * @param perm 更新的权限资源对象。 + * @param originalPerm 原有的权限资源对象。 * @return 更新成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update(SysPerm perm, SysPerm originalPerm) { perm.setCreateTime(originalPerm.getCreateTime()); perm.setDeletedFlag(GlobalDeletedFlag.NORMAL); @@ -90,7 +91,7 @@ public class SysPermService extends BaseService { * @param permId 权限资源主键Id。 * @return 删除成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long permId) { SysPerm perm = new SysPerm(); perm.setPermId(permId); @@ -112,7 +113,7 @@ public class SysPermService extends BaseService { */ public List getPermListWithRelation(SysPerm sysPermFilter) { Example e = new Example(SysPerm.class); - e.orderBy("permId"); + e.orderBy("showOrder"); Example.Criteria c = e.createCriteria(); if (ObjectUtil.isNotNull(sysPermFilter.getModuleId())) { c.andEqualTo("moduleId", sysPermFilter.getModuleId()); @@ -123,7 +124,7 @@ public class SysPermService extends BaseService { c.andEqualTo("deletedFlag", GlobalDeletedFlag.NORMAL); List permList = sysPermMapper.selectByExample(e); // 这里因为权限只有字典数据,所以仅仅做字典关联。 - this.buildRelationForDataList(permList, true); + this.buildRelationForDataList(permList, MyRelationParam.dictOnly(), null); return permList; } @@ -131,15 +132,15 @@ public class SysPermService extends BaseService { * 获取指定用户的权限资源集合,并存储于缓存,从而提升后续读取效率。 * * @param sessionId 用户会话Id。 - * @param userId 用户主键Id。 + * @param userId 用户主键Id。 * @return 当前用户权限集合。 */ - @Cacheable(value = "UserPermissionCache", key = "#sessionId", unless = "#result == null") + @Cacheable(value = "USER_PERMISSION_CACHE", key = "#sessionId", unless = "#result == null") public Set getCacheableSysPermSetByUserId(String sessionId, Long userId) { // 这里可以防止非法的userId直接访问权限受限的url SysUser user = sysUserService.getById(userId); if (user == null) { - return null; + return new HashSet<>(1); } // 管理员账户返回空对象,便于缓存的统一处理。 return user.getUserType() == SysUserType.TYPE_ADMIN @@ -150,11 +151,11 @@ public class SysPermService extends BaseService { * 将指定用户的指定会话的权限集合存入缓存。 * * @param sessionId 会话Id。 - * @param userId 用户主键Id。 - * @param isAdmin 是否是管理员。 + * @param userId 用户主键Id。 + * @param isAdmin 是否是管理员。 * @return 查询并缓存后的权限集合。 */ - @CachePut(value = "UserPermissionCache", key = "#sessionId") + @CachePut(value = "USER_PERMISSION_CACHE", key = "#sessionId") public Set putUserSysPermCache(String sessionId, Long userId, boolean isAdmin) { // 管理员账户返回空对象,便于缓存的统一处理。 return isAdmin ? new HashSet<>(1) : this.getSysPermSetByUserId(userId); @@ -165,7 +166,7 @@ public class SysPermService extends BaseService { * * @param sessionId 会话Id。 */ - @CacheEvict(value = "UserPermissionCache", key = "#sessionId") + @CacheEvict(value = "USER_PERMISSION_CACHE", key = "#sessionId") public void removeUserSysPermCache(String sessionId) { // 空实现即可,只是通过注解将当前sessionId从cache中删除。 } @@ -185,7 +186,7 @@ public class SysPermService extends BaseService { * 获取与指定权限字关联的权限资源列表。 * * @param permCodeId 关联的权限字主键Id。 - * @param orderBy 排序参数。 + * @param orderBy 排序参数。 * @return 与指定权限字Id关联的权限资源列表。 */ public List getPermListByPermCodeId(Long permCodeId, String orderBy) { @@ -206,8 +207,8 @@ public class SysPermService extends BaseService { * 获取指定用户的用户权限关联列表。 * * @param loginName 精确匹配用户登录名。 - * @param moduleId 精确匹配权限模块Id。 - * @param url 模糊匹配的url过滤条件。 + * @param moduleId 精确匹配权限模块Id。 + * @param url 模糊匹配的url过滤条件。 * @return 用户权限关联列表。 */ public List> getUserPermListByFilter(String loginName, Long moduleId, String url) { @@ -237,24 +238,20 @@ public class SysPermService extends BaseService { /** * 验证权限资源对象关联的数据是否都合法。 * - * @param sysPerm 当前操作的对象。 + * @param sysPerm 当前操作的对象。 * @param originalSysPerm 原有对象。 * @return 验证结果。 */ - public VerifyResult verifyRelatedData(SysPerm sysPerm, SysPerm originalSysPerm) { - String errorMessage = null; + public CallResult verifyRelatedData(SysPerm sysPerm, SysPerm originalSysPerm) { JSONObject jsonObject = null; - do { - if (this.needToVerify(sysPerm, originalSysPerm, SysPerm::getModuleId)) { - SysPermModule permModule = sysPermModuleService.getById(sysPerm.getModuleId()); - if (permModule == null) { - errorMessage = "数据验证失败,关联的权限模块Id并不存在,请刷新后重试!"; - break; - } - jsonObject = new JSONObject(); - jsonObject.put("permModule", permModule); + if (this.needToVerify(sysPerm, originalSysPerm, SysPerm::getModuleId)) { + SysPermModule permModule = sysPermModuleService.getById(sysPerm.getModuleId()); + if (permModule == null) { + return CallResult.error("数据验证失败,关联的权限模块Id并不存在,请刷新后重试!"); } - } while (false); - return VerifyResult.create(errorMessage, jsonObject); + jsonObject = new JSONObject(); + jsonObject.put("permModule", permModule); + } + return CallResult.ok(jsonObject); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermWhitelistService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermWhitelistService.java index d5e8063a..3197e539 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermWhitelistService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermWhitelistService.java @@ -1,7 +1,7 @@ package com.orange.admin.upms.service; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.upms.dao.SysPermWhitelistMapper; import com.orange.admin.upms.model.SysPermWhitelist; import org.springframework.beans.factory.annotation.Autowired; @@ -12,10 +12,10 @@ import org.springframework.stereotype.Service; * 白名单中的权限资源,可以不受权限控制,任何用户皆可访问,一般用于常用的字典数据列表接口。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysPermWhitelistService extends BaseService { +public class SysPermWhitelistService extends BaseBizService { @Autowired private SysPermWhitelistMapper sysPermWhitelistMapper; @@ -29,5 +29,4 @@ public class SysPermWhitelistService extends BaseService mapper() { return sysPermWhitelistMapper; } - } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysRoleService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysRoleService.java index 11d55a31..696e91eb 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysRoleService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysRoleService.java @@ -1,12 +1,12 @@ package com.orange.admin.upms.service; import com.alibaba.fastjson.JSONObject; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.constant.GlobalDeletedFlag; import com.orange.admin.common.core.object.TokenData; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.upms.dao.SysRoleMapper; import com.orange.admin.upms.dao.SysRoleMenuMapper; import com.orange.admin.upms.dao.SysUserRoleMapper; @@ -18,7 +18,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import tk.mybatis.mapper.entity.Example; import java.util.*; import java.util.stream.Collectors; @@ -27,10 +26,10 @@ import java.util.stream.Collectors; * 角色数据服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysRoleService extends BaseService { +public class SysRoleService extends BaseBizService { @Autowired private SysRoleMapper sysRoleMapper; @@ -56,11 +55,11 @@ public class SysRoleService extends BaseService { /** * 保存新增的角色对象。 * - * @param role 新增的角色对象。 + * @param role 新增的角色对象。 * @param menuIdSet 菜单Id列表。 * @return 新增后的角色对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public SysRole saveNew(SysRole role, Set menuIdSet) { role.setRoleId(idGenerator.nextLongId()); TokenData tokenData = TokenData.takeFromRequest(); @@ -87,12 +86,12 @@ public class SysRoleService extends BaseService { /** * 更新角色对象。 * - * @param role 更新的角色对象。 + * @param role 更新的角色对象。 * @param originalRole 原有的角色对象。 - * @param menuIdSet 菜单Id列表。 + * @param menuIdSet 菜单Id列表。 * @return 更新成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update(SysRole role, SysRole originalRole, Set menuIdSet) { SysRole updateRole = new SysRole(); BeanUtils.copyProperties(role, updateRole, "createUserId", "createUsername", "createTime"); @@ -101,9 +100,9 @@ public class SysRoleService extends BaseService { if (sysRoleMapper.updateByPrimaryKeySelective(updateRole) != 1) { return false; } - Example e = new Example(SysRoleMenu.class); - e.createCriteria().andEqualTo("roleId", role.getRoleId()); - sysRoleMenuMapper.deleteByExample(e); + SysRoleMenu deletedRoleMenu = new SysRoleMenu(); + deletedRoleMenu.setRoleId(role.getRoleId()); + sysRoleMenuMapper.delete(deletedRoleMenu); if (menuIdSet != null) { List roleMenuList = new LinkedList<>(); for (Long menuId : menuIdSet) { @@ -123,7 +122,7 @@ public class SysRoleService extends BaseService { * @param roleId 角色主键Id。 * @return 删除成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long roleId) { SysRole role = new SysRole(); role.setRoleId(roleId); @@ -131,19 +130,19 @@ public class SysRoleService extends BaseService { if (sysRoleMapper.updateByPrimaryKeySelective(role) != 1) { return false; } - Example sysRoleMenuExample = new Example(SysRoleMenu.class); - sysRoleMenuExample.createCriteria().andEqualTo("roleId", roleId); - sysRoleMenuMapper.deleteByExample(sysRoleMenuExample); - Example sysUserRoleExample = new Example(SysUserRole.class); - sysUserRoleExample.createCriteria().andEqualTo("roleId", roleId); - sysUserRoleMapper.deleteByExample(sysUserRoleExample); + SysRoleMenu roleMenu = new SysRoleMenu(); + roleMenu.setRoleId(roleId); + sysRoleMenuMapper.delete(roleMenu); + SysUserRole userRole = new SysUserRole(); + userRole.setRoleId(roleId); + sysUserRoleMapper.delete(userRole); return true; } /** * 获取角色列表。 * - * @param filter 角色过滤对象。 + * @param filter 角色过滤对象。 * @param orderBy 排序参数。 * @return 角色列表。 */ @@ -151,27 +150,6 @@ public class SysRoleService extends BaseService { return sysRoleMapper.getSysRoleList(filter, orderBy); } - /** - * 获取指定角色对象。 - * - * @param roleId 角色主键Id。 - * @return 查询后的角色对象。 - */ - public SysRole getSysRoleWithRelation(Long roleId) { - SysRole sysRole = this.getById(roleId); - if (sysRole != null) { - Example e = new Example(SysRoleMenu.class); - e.createCriteria().andEqualTo("roleId", roleId); - List sysRoleMenuList = sysRoleMenuMapper.selectByExample(e); - if (sysRoleMenuList.size() > 0) { - List menuIdList = - sysRoleMenuList.stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); - sysRole.setMenuIdList(menuIdList); - } - } - return sysRole; - } - /** * 通过权限字Id获取拥有改权限的所有角色。 * 开发人员调试用接口。 @@ -199,7 +177,7 @@ public class SysRoleService extends BaseService { * * @param userRoleList 用户角色关系数据列表。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public void addUserRoleList(List userRoleList) { sysUserRoleMapper.addUserRoleList(userRoleList); } @@ -211,7 +189,7 @@ public class SysRoleService extends BaseService { * @param userId 用户主键Id。 * @return 移除成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean removeUserRole(Long roleId, Long userId) { SysUserRole userRole = new SysUserRole(); userRole.setRoleId(roleId); @@ -222,26 +200,22 @@ public class SysRoleService extends BaseService { /** * 验证角色对象关联的数据是否都合法。 * - * @param sysRole 当前操作的对象。 - * @param originalSysRole 原有对象。 + * @param sysRole 当前操作的对象。 + * @param originalSysRole 原有对象。 * @param menuIdListString 逗号分隔的menuId列表。 * @return 验证结果。 */ - public VerifyResult verifyRelatedData(SysRole sysRole, SysRole originalSysRole, String menuIdListString) { - String errorMessage = null; + public CallResult verifyRelatedData(SysRole sysRole, SysRole originalSysRole, String menuIdListString) { JSONObject jsonObject = null; - do { - if (StringUtils.isNotBlank(menuIdListString)) { - Set menuIdSet = Arrays.stream( - menuIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysMenuService.existUniqueKeyList("menuId", menuIdSet)) { - errorMessage = "数据验证失败,存在不合法的菜单权限,请刷新后重试!"; - break; - } - jsonObject = new JSONObject(); - jsonObject.put("menuIdSet", menuIdSet); + if (StringUtils.isNotBlank(menuIdListString)) { + Set menuIdSet = Arrays.stream( + menuIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysMenuService.existAllPrimaryKeys(menuIdSet)) { + return CallResult.error("数据验证失败,存在不合法的菜单权限,请刷新后重试!"); } - } while (false); - return VerifyResult.create(errorMessage, jsonObject); + jsonObject = new JSONObject(); + jsonObject.put("menuIdSet", menuIdSet); + } + return CallResult.ok(jsonObject); } } diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysUserService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysUserService.java index bc702cc0..ba5be8df 100644 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysUserService.java +++ b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysUserService.java @@ -4,13 +4,14 @@ import com.alibaba.fastjson.JSONObject; import com.orange.admin.upms.dao.*; import com.orange.admin.upms.model.*; import com.orange.admin.upms.model.constant.SysUserStatus; -import com.orange.admin.common.core.base.service.BaseService; import com.orange.admin.common.core.base.dao.BaseDaoMapper; import com.orange.admin.common.core.constant.GlobalDeletedFlag; import com.orange.admin.common.core.object.TokenData; import com.orange.admin.common.core.object.MyWhereCriteria; -import com.orange.admin.common.core.object.VerifyResult; +import com.orange.admin.common.core.object.MyRelationParam; +import com.orange.admin.common.core.object.CallResult; import com.orange.admin.common.core.util.MyCommonUtil; +import com.orange.admin.common.biz.base.service.BaseBizService; import com.orange.admin.common.biz.util.BasicIdGenerator; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -26,10 +27,10 @@ import java.util.stream.Collectors; * 用户管理数据操作服务类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Service -public class SysUserService extends BaseService { +public class SysUserService extends BaseBizService { @Autowired private SysUserMapper sysUserMapper; @@ -77,7 +78,7 @@ public class SysUserService extends BaseService { * @param passwdSalt 密码的盐。 * @return 新增后的用户对象。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public SysUser saveNew(SysUser user, Set roleIdSet, Set dataPermIdSet, String passwdSalt) { user.setUserId(idGenerator.nextLongId()); user.setPassword(MyCommonUtil.encrptedPassword(user.getPassword(), passwdSalt)); @@ -116,13 +117,13 @@ public class SysUserService extends BaseService { /** * 更新用户对象。 * - * @param user 更新的用户对象。 - * @param originalUser 原有的用户对象。 - * @param roleIdSet 用户角色Id列表。 - * @param dataPermIdSet 数据权限Id集合。 + * @param user 更新的用户对象。 + * @param originalUser 原有的用户对象。 + * @param roleIdSet 用户角色Id列表。 + * @param dataPermIdSet 数据权限Id集合。 * @return 更新成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean update(SysUser user, SysUser originalUser, Set roleIdSet, Set dataPermIdSet) { user.setLoginName(originalUser.getLoginName()); user.setPassword(originalUser.getPassword()); @@ -134,9 +135,9 @@ public class SysUserService extends BaseService { return false; } // 先删除原有的User-Role关联关系,再重新插入新的关联关系 - Example e = new Example(SysUserRole.class); - e.createCriteria().andEqualTo("userId", user.getUserId()); - sysUserRoleMapper.deleteByExample(e); + SysUserRole deletedUserRole = new SysUserRole(); + deletedUserRole.setUserId(user.getUserId()); + sysUserRoleMapper.delete(deletedUserRole); if (CollectionUtils.isNotEmpty(roleIdSet)) { List userRoleList = new LinkedList<>(); for (Long roleId : roleIdSet) { @@ -148,9 +149,9 @@ public class SysUserService extends BaseService { sysUserRoleMapper.insertList(userRoleList); } // 先删除原有的DataPerm-User关联关系,在重新插入新的关联关系 - Example e2 = new Example(SysDataPermUser.class); - e2.createCriteria().andEqualTo("userId", user.getUserId()); - sysDataPermUserMapper.deleteByExample(e2); + SysDataPermUser deletedDataPermUser = new SysDataPermUser(); + deletedDataPermUser.setUserId(user.getUserId()); + sysDataPermUserMapper.delete(deletedDataPermUser); if (CollectionUtils.isNotEmpty(dataPermIdSet)) { List dataPermUserList = new LinkedList<>(); for (Long dataPermId : dataPermIdSet) { @@ -166,16 +167,16 @@ public class SysUserService extends BaseService { /** * 重置用户密码。 - * @param userId 用户主键Id。 + * @param userId 用户主键Id。 * @param defaultPasswd 缺省密码。 - * @param passwdSalt 密码的盐。 + * @param passwdSalt 密码的盐。 * @return 成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean resetPassword(Long userId, String defaultPasswd, String passwdSalt) { Example e = new Example(SysUser.class); - e.createCriteria().andEqualTo("userId", userId); - e.createCriteria().andEqualTo("deletedFlag", GlobalDeletedFlag.NORMAL); + e.createCriteria().andEqualTo(super.idFieldName, userId); + e.createCriteria().andEqualTo(super.deletedFlagFieldName, GlobalDeletedFlag.NORMAL); SysUser updatedUser = new SysUser(); updatedUser.setPassword(MyCommonUtil.encrptedPassword(defaultPasswd, passwdSalt)); return sysUserMapper.updateByExampleSelective(updatedUser, e) == 1; @@ -187,12 +188,12 @@ public class SysUserService extends BaseService { * @param userId 主键Id。 * @return 成功返回true,否则false。 */ - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean remove(Long userId) { Example sysUserExample = new Example(SysUser.class); Example.Criteria c = sysUserExample.createCriteria(); - c.andEqualTo("userId", userId); - c.andEqualTo("deletedFlag", GlobalDeletedFlag.NORMAL); + c.andEqualTo(super.idFieldName, userId); + c.andEqualTo(super.deletedFlagFieldName, GlobalDeletedFlag.NORMAL); // 这里先删除主数据 SysUser deletedObject = new SysUser(); deletedObject.setDeletedFlag(GlobalDeletedFlag.DELETED); @@ -200,36 +201,20 @@ public class SysUserService extends BaseService { return false; } // 这里可继续删除关联数据。 - Example userRoleExample = new Example(SysUserRole.class); - userRoleExample.createCriteria().andEqualTo("userId", userId); - sysUserRoleMapper.deleteByExample(userRoleExample); - Example dataPermUserExample = new Example(SysDataPermUser.class); - dataPermUserExample.createCriteria().andEqualTo("userId", userId); - sysDataPermUserMapper.deleteByExample(dataPermUserExample); + SysUserRole userRole = new SysUserRole(); + userRole.setUserId(userId); + sysUserRoleMapper.delete(userRole); + SysDataPermUser dataPermUser = new SysDataPermUser(); + dataPermUser.setUserId(userId); + sysDataPermUserMapper.delete(dataPermUser); return true; } - /** - * 获取指定用户的详情数据。 - * - * @param userId 用户主键Id。 - * @return 用户详情数据。 - */ - @Override - public SysUser getByIdWithRelation(Long userId) { - SysUser user = super.getByIdWithRelation(userId); - if (user != null) { - user.setRoleIdList(sysUserRoleMapper.getRoleIdListByUserId(userId)); - user.setDataPermIdList(sysDataPermUserMapper.getDataPermIdListByUserId(userId)); - } - return user; - } - /** * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 * 如果需要同时获取关联数据,请移步(getSysUserListWithRelation)方法。 * - * @param filter 过滤对象。 + * @param filter 过滤对象。 * @param orderBy 排序参数。 * @return 查询结果集。 */ @@ -248,15 +233,15 @@ public class SysUserService extends BaseService { public List getSysUserListWithRelation(SysUser filter, String orderBy) { List resultList = sysUserMapper.getSysUserList(filter, orderBy); Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildAllRelationForDataList(resultList, false, criteriaMap); + this.buildRelationForDataList(resultList, MyRelationParam.normal(), criteriaMap); return resultList; } /** * 获取指定角色的用户列表。 * - * @param roleId 角色主键Id。 - * @param filter 用户过滤对象。 + * @param roleId 角色主键Id。 + * @param filter 用户过滤对象。 * @param orderBy 排序参数。 * @return 用户列表。 */ @@ -267,8 +252,8 @@ public class SysUserService extends BaseService { /** * 获取不属于指定角色的用户列表。 * - * @param roleId 角色主键Id。 - * @param filter 用户过滤对象。 + * @param roleId 角色主键Id。 + * @param filter 用户过滤对象。 * @param orderBy 排序参数。 * @return 用户列表。 */ @@ -280,8 +265,8 @@ public class SysUserService extends BaseService { * 获取指定数据权限的用户列表。 * * @param dataPermId 数据权限主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 + * @param filter 用户过滤对象。 + * @param orderBy 排序参数。 * @return 用户列表。 */ public List getSysUserListByDataPermId(Long dataPermId, SysUser filter, String orderBy) { @@ -292,8 +277,8 @@ public class SysUserService extends BaseService { * 获取不属于指定数据权限的用户列表。 * * @param dataPermId 数据权限主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 + * @param filter 用户过滤对象。 + * @param orderBy 排序参数。 * @return 用户列表。 */ public List getNotInSysUserListByDataPermId(Long dataPermId, SysUser filter, String orderBy) { @@ -309,34 +294,27 @@ public class SysUserService extends BaseService { * @param dataPermIdListString 逗号分隔的数据权限Id列表字符串。 * @return 验证结果。 */ - public VerifyResult verifyRelatedData( + public CallResult verifyRelatedData( SysUser sysUser, SysUser originalSysUser, String roleIdListString, String dataPermIdListString) { - String errorMessage = null; JSONObject jsonObject = new JSONObject(); - do { - if (StringUtils.isBlank(roleIdListString)) { - errorMessage = "数据验证失败,用户的角色数据不能为空!"; - break; - } - Set roleIdSet = Arrays.stream( - roleIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysRoleService.existUniqueKeyList("roleId", roleIdSet)) { - errorMessage = "数据验证失败,存在不合法的用户角色,请刷新后重试!"; - break; - } - jsonObject.put("roleIdSet", roleIdSet); - if (StringUtils.isBlank(dataPermIdListString)) { - errorMessage = "数据验证失败,用户的数据权限不能为空!"; - break; - } - Set dataPermIdSet = Arrays.stream( - dataPermIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysDataPermService.existUniqueKeyList("dataPermId", dataPermIdSet)) { - errorMessage = "数据验证失败,存在不合法的数据权限,请刷新后重试!"; - break; - } - jsonObject.put("dataPermIdSet", dataPermIdSet); - } while (false); - return VerifyResult.create(errorMessage, jsonObject); + if (StringUtils.isBlank(roleIdListString)) { + return CallResult.error("数据验证失败,用户的角色数据不能为空!"); + } + Set roleIdSet = Arrays.stream( + roleIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysRoleService.existAllPrimaryKeys(roleIdSet)) { + return CallResult.error("数据验证失败,存在不合法的用户角色,请刷新后重试!"); + } + jsonObject.put("roleIdSet", roleIdSet); + if (StringUtils.isBlank(dataPermIdListString)) { + return CallResult.error("数据验证失败,用户的数据权限不能为空!"); + } + Set dataPermIdSet = Arrays.stream( + dataPermIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysDataPermService.existAllPrimaryKeys(dataPermIdSet)) { + return CallResult.error("数据验证失败,存在不合法的数据权限,请刷新后重试!"); + } + jsonObject.put("dataPermIdSet", dataPermIdSet); + return CallResult.ok(jsonObject); } } diff --git a/orange-admin-service/application/src/main/resources/application.yml b/orange-admin-service/application/src/main/resources/application.yml index bcea20fb..4a6b612b 100644 --- a/orange-admin-service/application/src/main/resources/application.yml +++ b/orange-admin-service/application/src/main/resources/application.yml @@ -13,7 +13,7 @@ server: # spring相关配置 spring: application: - name: application + name: app profiles: active: dev servlet: @@ -62,7 +62,11 @@ management: web: exposure: include: '*' + jmx: + exposure: + include: '*' endpoint: + # 与中间件相关的健康详情也会被展示 health: show-details: always configprops: @@ -85,7 +89,7 @@ spring: username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver - name: application + name: app initialSize: 10 minIdle: 10 maxActive: 50 @@ -105,7 +109,7 @@ spring: web-stat-filter: enabled: true url-pattern: /* - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*" + exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" stat-view-servlet: enabled: true urlPattern: /druid/* @@ -142,7 +146,7 @@ spring: username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver - name: application + name: app initialSize: 10 minIdle: 10 maxActive: 50 @@ -162,7 +166,7 @@ spring: web-stat-filter: enabled: true url-pattern: /* - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*" + exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" stat-view-servlet: enabled: true urlPattern: /druid/* diff --git a/orange-admin-service/application/src/main/resources/generator/generatorConfig.xml b/orange-admin-service/application/src/main/resources/generator/generatorConfig.xml index 5ca2e428..c34aba16 100644 --- a/orange-admin-service/application/src/main/resources/generator/generatorConfig.xml +++ b/orange-admin-service/application/src/main/resources/generator/generatorConfig.xml @@ -14,7 +14,7 @@ diff --git a/orange-admin-service/application/src/test/java/com/orange/admin/MyApplicationTests.java b/orange-admin-service/application/src/test/java/com/orange/admin/MyApplicationTests.java deleted file mode 100644 index cbe1bf5c..00000000 --- a/orange-admin-service/application/src/test/java/com/orange/admin/MyApplicationTests.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.orange.admin; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class MyApplicationTests { - - @Test - public void contextLoads() { - } - -} diff --git a/orange-admin-service/areacode.sql b/orange-admin-service/areacode.sql index 3f07e698..12f25394 100644 --- a/orange-admin-service/areacode.sql +++ b/orange-admin-service/areacode.sql @@ -3,7 +3,7 @@ SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- 行政区划表,在以下数据库中执行该脚本。 --- 主数据源 [localhost:3306/zz-orangle-admin] +-- 主数据源 [localhost:3306/zz-orange-admin] -- ---------------------------- DROP TABLE IF EXISTS `zz_area_code`; CREATE TABLE `zz_area_code` ( diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/advice/MyControllerAdvice.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/advice/MyControllerAdvice.java index 743382be..b8d65c66 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/advice/MyControllerAdvice.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/advice/MyControllerAdvice.java @@ -12,7 +12,7 @@ import java.util.Date; * Controller的环绕拦截类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @ControllerAdvice public class MyControllerAdvice { diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/advice/MyExceptionHandler.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/advice/MyExceptionHandler.java index 2726fc7d..b032ca57 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/advice/MyExceptionHandler.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/advice/MyExceptionHandler.java @@ -1,9 +1,12 @@ package com.orange.admin.common.biz.advice; -import lombok.extern.slf4j.Slf4j; +import com.orange.admin.common.core.exception.InvalidClassFieldException; +import com.orange.admin.common.core.exception.InvalidDataFieldException; +import com.orange.admin.common.core.exception.InvalidDataModelException; import com.orange.admin.common.core.constant.ErrorCodeEnum; import com.orange.admin.common.core.exception.RedisCacheAccessException; import com.orange.admin.common.core.object.ResponseResult; +import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.exceptions.PersistenceException; import org.springframework.dao.DataAccessException; import org.springframework.dao.DuplicateKeyException; @@ -19,26 +22,86 @@ import java.util.concurrent.TimeoutException; * 用不同的函数,处理不同类型的异常。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @RestControllerAdvice public class MyExceptionHandler { + /** + * 通用异常处理方法。 + * + * @param ex 异常对象。 + * @param request http请求。 + * @return 应答对象。 + */ @ExceptionHandler(value = Exception.class) - public ResponseResult exceptionHandle(Exception ex, HttpServletRequest request) { + public ResponseResult exceptionHandle(Exception ex, HttpServletRequest request) { log.error("Unhandled exception from URL [" + request.getRequestURI() + "]", ex); return ResponseResult.error(ErrorCodeEnum.UNHANDLED_EXCEPTION); } + /** + * 无效的实体对象异常。 + * + * @param ex 异常对象。 + * @param request http请求。 + * @return 应答对象。 + */ + @ExceptionHandler(value = InvalidDataModelException.class) + public ResponseResult invalidDataModelExceptionHandle(Exception ex, HttpServletRequest request) { + log.error("InvalidDataModelException exception from URL [" + request.getRequestURI() + "]", ex); + return ResponseResult.error(ErrorCodeEnum.INVALID_DATA_MODEL); + } + + /** + * 无效的实体对象字段异常。 + * + * @param ex 异常对象。 + * @param request http请求。 + * @return 应答对象。 + */ + @ExceptionHandler(value = InvalidDataFieldException.class) + public ResponseResult invalidDataFieldExceptionHandle(Exception ex, HttpServletRequest request) { + log.error("InvalidDataFieldException exception from URL [" + request.getRequestURI() + "]", ex); + return ResponseResult.error(ErrorCodeEnum.INVALID_DATA_FIELD); + } + + /** + * 无效类字段异常。 + * + * @param ex 异常对象。 + * @param request http请求。 + * @return 应答对象。 + */ + @ExceptionHandler(value = InvalidClassFieldException.class) + public ResponseResult invalidClassFieldExceptionHandle(Exception ex, HttpServletRequest request) { + log.error("InvalidClassFieldException exception from URL [" + request.getRequestURI() + "]", ex); + return ResponseResult.error(ErrorCodeEnum.INVALID_CLASS_FIELD); + } + + /** + * 重复键异常处理方法。 + * + * @param ex 异常对象。 + * @param request http请求。 + * @return 应答对象。 + */ @ExceptionHandler(value = DuplicateKeyException.class) - public ResponseResult duplicateKeyExceptionHandle(Exception ex, HttpServletRequest request) { + public ResponseResult duplicateKeyExceptionHandle(Exception ex, HttpServletRequest request) { log.error("DuplicateKeyException exception from URL [" + request.getRequestURI() + "]", ex); return ResponseResult.error(ErrorCodeEnum.DUPLICATED_UNIQUE_KEY); } + /** + * 数据访问失败异常处理方法。 + * + * @param ex 异常对象。 + * @param request http请求。 + * @return 应答对象。 + */ @ExceptionHandler(value = DataAccessException.class) - public ResponseResult dataAccessExceptionHandle(Exception ex, HttpServletRequest request) { + public ResponseResult dataAccessExceptionHandle(Exception ex, HttpServletRequest request) { log.error("DataAccessException exception from URL [" + request.getRequestURI() + "]", ex); if (ex.getCause() instanceof PersistenceException && ex.getCause().getCause() instanceof PermissionDeniedDataAccessException) { @@ -47,8 +110,15 @@ public class MyExceptionHandler { return ResponseResult.error(ErrorCodeEnum.DATA_ACCESS_FAILED); } + /** + * Redis缓存访问异常处理方法。 + * + * @param ex 异常对象。 + * @param request http请求。 + * @return 应答对象。 + */ @ExceptionHandler(value = RedisCacheAccessException.class) - public ResponseResult redisCacheAccessExceptionHandle(Exception ex, HttpServletRequest request) { + public ResponseResult redisCacheAccessExceptionHandle(Exception ex, HttpServletRequest request) { log.error("RedisCacheAccessException exception from URL [" + request.getRequestURI() + "]", ex); if (ex.getCause() instanceof TimeoutException) { return ResponseResult.error(ErrorCodeEnum.REDIS_CACHE_ACCESS_TIMEOUT); diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/aop/DisableDataPermAspect.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/aop/DisableDataPermAspect.java new file mode 100644 index 00000000..730dce63 --- /dev/null +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/aop/DisableDataPermAspect.java @@ -0,0 +1,41 @@ +package com.orange.admin.common.biz.aop; + +import com.orange.admin.common.core.object.GlobalThreadLocal; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +/** + * 禁用数据权限过滤的AOP处理类。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ +@Aspect +@Component +@Order(1) +@Slf4j +public class DisableDataPermAspect { + + /** + * 所有标记了DisableDataPerm注解的方法。 + */ + @Pointcut("@annotation(com.orange.admin.common.core.annotation.DisableDataPerm)") + public void disableDataPermPointCut() { + // 空注释,避免sonar警告 + } + + @Around("disableDataPermPointCut()") + public Object around(ProceedingJoinPoint point) throws Throwable { + boolean dataPermEnabled = GlobalThreadLocal.setDataPerm(false); + try { + return point.proceed(); + } finally { + GlobalThreadLocal.setDataPerm(dataPermEnabled); + } + } +} diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/base/service/BaseBizService.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/base/service/BaseBizService.java new file mode 100644 index 00000000..987b74b1 --- /dev/null +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/base/service/BaseBizService.java @@ -0,0 +1,19 @@ +package com.orange.admin.common.biz.base.service; + +import com.orange.admin.common.core.base.service.BaseService; +import lombok.extern.slf4j.Slf4j; + +/** + * 所有业务Service的共同基类。由于BaseService位于common-core模块内,该模块很少涉及spring bean的集成, + * 因此该类位于业务服务类和BaseService之间,主要提供一些通用方法,特别是与spring bean相关的业务代码。 + * NOTE: 目前该类实现为空,主要是为了便于用户自行扩展,同时也能方便今后向微服务的升级, + * + * @param Model对象的类型。 + * @param Model对象主键的类型。 + * @author Stephen.Liu + * @date 2020-05-24 + */ +@Slf4j +public abstract class BaseBizService extends BaseService { + +} diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/CommonBizConfig.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/CommonBizConfig.java index 124f2db7..ab317cfd 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/CommonBizConfig.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/CommonBizConfig.java @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration; * 应用程序自定义的通用属性配置文件。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Data @Configuration diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/FastjsonConfig.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/FastjsonConfig.java index dc632d1d..8760b43f 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/FastjsonConfig.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/FastjsonConfig.java @@ -6,12 +6,16 @@ import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; + +import java.util.ArrayList; +import java.util.List; /** - * DTA 对象数据格式转换器,这里集成了alibaba的fastjson,作为消息格式转换工具 + * 对象数据格式转换器,这里集成了alibaba的fastjson,作为消息格式转换工具 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Configuration public class FastjsonConfig { @@ -19,9 +23,15 @@ public class FastjsonConfig { @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); + List supportedMediaTypes = new ArrayList<>(); + supportedMediaTypes.add(MediaType.APPLICATION_JSON); + supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED); + fastConverter.setSupportedMediaTypes(supportedMediaTypes); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures( - SerializerFeature.PrettyFormat, SerializerFeature.DisableCircularReferenceDetect); + SerializerFeature.PrettyFormat, + SerializerFeature.DisableCircularReferenceDetect, + SerializerFeature.IgnoreNonFieldGetter); fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); fastConverter.setFastJsonConfig(fastJsonConfig); return new HttpMessageConverters(fastConverter); diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/TomcatConfig.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/TomcatConfig.java index 26c55368..bed9c2d0 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/TomcatConfig.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/TomcatConfig.java @@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration; * tomcat配置对象。当前配置禁用了PUT和DELETE方法,防止渗透攻击。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Configuration public class TomcatConfig { diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/constant/Subject.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/constant/Subject.java index 1e57c95c..5b947a60 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/constant/Subject.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/constant/Subject.java @@ -3,6 +3,12 @@ package com.orange.admin.common.biz.constant; import java.util.HashMap; import java.util.Map; +/** + * 科目常量字典对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ public final class Subject { /** @@ -18,7 +24,7 @@ public final class Subject { */ public static final int ENGLISH = 2; - public static final Map DICT_MAP = new HashMap<>(3); + private static final Map DICT_MAP = new HashMap<>(3); static { DICT_MAP.put(CHINESE, "语文"); DICT_MAP.put(MATH, "数学"); @@ -31,8 +37,8 @@ public final class Subject { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/constant/YesNo.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/constant/YesNo.java index b9eb41e6..8a35e282 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/constant/YesNo.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/constant/YesNo.java @@ -3,6 +3,12 @@ package com.orange.admin.common.biz.constant; import java.util.HashMap; import java.util.Map; +/** + * 是否常量字典对象。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ public final class YesNo { /** @@ -14,7 +20,7 @@ public final class YesNo { */ public static final int NO = 0; - public static final Map DICT_MAP = new HashMap<>(2); + private static final Map DICT_MAP = new HashMap<>(2); static { DICT_MAP.put(YES, "是"); DICT_MAP.put(NO, "否"); @@ -26,8 +32,8 @@ public final class YesNo { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/AccessInterceptor.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/AccessInterceptor.java index e72ec47c..8cc7a470 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/AccessInterceptor.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/AccessInterceptor.java @@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletResponse; * 服务访问日志的拦截器,主要完成记录接口调用时长。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j public class AccessInterceptor implements HandlerInterceptor { @@ -33,6 +33,7 @@ public class AccessInterceptor implements HandlerInterceptor { @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + // 这里需要加注释,否则sonar不happy。 } @Override diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/MyRequestArgumentResolver.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/MyRequestArgumentResolver.java index 6ba18e50..b05518ee 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/MyRequestArgumentResolver.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/MyRequestArgumentResolver.java @@ -9,9 +9,11 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.core.MethodParameter; import org.springframework.http.HttpMethod; +import org.springframework.http.MediaType; import org.springframework.lang.NonNull; import org.springframework.web.bind.support.WebDataBinderFactory; import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.ModelAndViewContainer; @@ -27,7 +29,7 @@ import java.util.*; * 2、多个对象需要封装到一个对象里才可以用@RequestBody接收。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver { @@ -47,10 +49,10 @@ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver } /** - * 设置支持的方法参数类型 + * 设置支持的方法参数类型。 * - * @param parameter 方法参数 - * @return 支持的类型 + * @param parameter 方法参数。 + * @return 支持的类型。 */ @Override public boolean supportsParameter(@NonNull MethodParameter parameter) { @@ -58,10 +60,9 @@ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver } /** - * 参数解析,利用fastjson - * 注意:非基本类型返回null会报空指针异常,要通过反射或者JSON工具类创建一个空对象 + * 参数解析,利用fastjson。 + * 注意:非基本类型返回null会报空指针异常,要通过反射或者JSON工具类创建一个空对象。 */ - @SuppressWarnings("unchecked") @Override public Object resolveArgument( @NonNull MethodParameter parameter, @@ -73,7 +74,7 @@ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver if (!HttpMethod.POST.name().equals(servletRequest.getMethod())) { throw new IllegalArgumentException("Only POST method can be applied @MyRequestBody annotation!"); } - if (!StringUtils.containsIgnoreCase(contentType, "application/json")) { + if (!StringUtils.containsIgnoreCase(contentType, MediaType.APPLICATION_JSON_VALUE)) { throw new IllegalArgumentException( "Only application/json Content-Type can be applied @MyRequestBody annotation!"); } @@ -106,37 +107,41 @@ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver // 基本类型包装类 if (isBasicDataTypes(parameterType)) { return parseBasicTypeWrapper(parameterType, value); - // 字符串类型 } else if (parameterType == String.class) { + // 字符串类型 return value.toString(); } + // 数组类型 if (value instanceof JSONArray) { - Object o; - if (!parameterType.equals(List.class)) { - o = parameterType.newInstance(); - parameterType = (Class) ((ParameterizedType) - parameterType.getGenericSuperclass()).getActualTypeArguments()[0]; - } else { - parameterType = parameterAnnotation.elementType(); - if (parameterType.equals(Class.class)) { - throw new IllegalArgumentException( - String.format("List Type parameter %s MUST have elementType!", key)); - } - o = new LinkedList<>(); - } - if (!(o instanceof List)) { - throw new IllegalArgumentException(String.format("Required parameter %s is List!", key)); - } - ((List) o).addAll(((JSONArray) value).toJavaList(parameterType)); - return o; + return parseArray(parameterType, parameterAnnotation.elementType(), key, value); } // 其他复杂对象 - return JSONObject.toJavaObject((JSONObject) value, parameterType); + return JSON.toJavaObject((JSONObject) value, parameterType); + } + + @SuppressWarnings("unchecked") + private Object parseArray(Class parameterType, Class elementType, String key, Object value) + throws IllegalAccessException, InstantiationException { + Object o; + if (!parameterType.equals(List.class)) { + o = parameterType.newInstance(); + parameterType = (Class) ((ParameterizedType) + parameterType.getGenericSuperclass()).getActualTypeArguments()[0]; + } else { + parameterType = elementType; + if (parameterType.equals(Class.class)) { + throw new IllegalArgumentException( + String.format("List Type parameter %s MUST have elementType!", key)); + } + o = new LinkedList<>(); + } + if (!(o instanceof List)) { + throw new IllegalArgumentException(String.format("Required parameter %s is List!", key)); + } + ((List) o).addAll(((JSONArray) value).toJavaList(parameterType)); + return o; } - /** - * 基本类型解析 - */ private Object parsePrimitive(String parameterTypeName, Object value) { final String booleanTypeName = "boolean"; if (booleanTypeName.equals(parameterTypeName)) { @@ -173,9 +178,6 @@ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver return null; } - /** - * 基本类型包装类解析 - */ private Object parseBasicTypeWrapper(Class parameterType, Object value) { if (Number.class.isAssignableFrom(parameterType)) { if (value instanceof String) { @@ -203,30 +205,20 @@ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver return null; } - /** - * 判断是否为基本数据类型包装类 - */ private boolean isBasicDataTypes(Class clazz) { return classSet.contains(clazz); } - /** - * 获取请求体JSON字符串 - */ - private JSONObject getRequestBody(NativeWebRequest webRequest) { + private JSONObject getRequestBody(NativeWebRequest webRequest) throws IOException { HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class); // 有就直接获取 - JSONObject jsonObject = (JSONObject) webRequest.getAttribute(JSONBODY_ATTRIBUTE, NativeWebRequest.SCOPE_REQUEST); + JSONObject jsonObject = (JSONObject) webRequest.getAttribute(JSONBODY_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST); // 没有就从请求中读取 if (jsonObject == null) { - try { - String jsonBody = IOUtils.toString(servletRequest.getReader()); - jsonObject = JSON.parseObject(jsonBody); - if (jsonObject != null) { - webRequest.setAttribute(JSONBODY_ATTRIBUTE, jsonObject, NativeWebRequest.SCOPE_REQUEST); - } - } catch (IOException e) { - throw new RuntimeException(e); + String jsonBody = IOUtils.toString(servletRequest.getReader()); + jsonObject = JSON.parseObject(jsonBody); + if (jsonObject != null) { + webRequest.setAttribute(JSONBODY_ATTRIBUTE, jsonObject, RequestAttributes.SCOPE_REQUEST); } } return jsonObject; diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/listener/LoadCachedDataListener.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/listener/LoadCachedDataListener.java index de6b4419..d3391a75 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/listener/LoadCachedDataListener.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/listener/LoadCachedDataListener.java @@ -11,11 +11,12 @@ import java.util.Map; * 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Component public class LoadCachedDataListener implements ApplicationListener { + @SuppressWarnings("all") @Override public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) { Map serviceMap = diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/listener/LoadServiceRelationListener.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/listener/LoadServiceRelationListener.java index d67500c5..612db2de 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/listener/LoadServiceRelationListener.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/listener/LoadServiceRelationListener.java @@ -11,11 +11,12 @@ import java.util.Map; * 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Component public class LoadServiceRelationListener implements ApplicationListener { + @SuppressWarnings("all") @Override public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) { Map serviceMap = diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/util/BasicIdGenerator.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/util/BasicIdGenerator.java index 3945890b..0690127f 100644 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/util/BasicIdGenerator.java +++ b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/util/BasicIdGenerator.java @@ -14,7 +14,7 @@ import javax.annotation.PostConstruct; * 升级为基于分布式Id生成服务的实现时,仅需修改内部实现,外部业务方法不会受到任何影响。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Component public class BasicIdGenerator { diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeletedFlagColumn.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeletedFlagColumn.java index 899409fc..cf45589b 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeletedFlagColumn.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeletedFlagColumn.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记逻辑删除字段。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeptFilterColumn.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeptFilterColumn.java index 451d4203..1b6b1425 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeptFilterColumn.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeptFilterColumn.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记数据权限中基于DeptId进行过滤的字段。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DisableDataPerm.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DisableDataPerm.java new file mode 100644 index 00000000..853b2c2b --- /dev/null +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DisableDataPerm.java @@ -0,0 +1,17 @@ +package com.orange.admin.common.core.annotation; + +import java.lang.annotation.*; + +/** + * 作为DisableDataPermAspect的切点。 + * 该注解仅能标记在方法上,方法内所有的查询语句,均不会被数据权限过滤。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface DisableDataPerm { + +} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/EnableDataPerm.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/EnableDataPerm.java index a792b1b1..fb3a5d61 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/EnableDataPerm.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/EnableDataPerm.java @@ -11,7 +11,7 @@ import java.lang.annotation.*; * 将其中一个方法重新定义一个具体的接口方法,并重新设定其是否参与数据过滤。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/JobUpdateTimeColumn.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/JobUpdateTimeColumn.java index f4cfbb54..b546ce0e 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/JobUpdateTimeColumn.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/JobUpdateTimeColumn.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记更新字段。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/MyDataSource.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/MyDataSource.java index 72d82e03..2c86b479 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/MyDataSource.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/MyDataSource.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记Service所依赖的数据源类型。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/MyRequestBody.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/MyRequestBody.java index b306859e..e98965b3 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/MyRequestBody.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/MyRequestBody.java @@ -9,7 +9,7 @@ import java.lang.annotation.Target; * 标记Controller中的方法参数,参数解析器会根据该注解将请求中的JSON数据,映射到参数中的绑定字段。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/NoAuthInterface.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/NoAuthInterface.java index 4311aa48..015abcc3 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/NoAuthInterface.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/NoAuthInterface.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记无需Token验证的接口 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationConstDict.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationConstDict.java index 6c2e6f27..3fa4d795 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationConstDict.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationConstDict.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 标识Model和常量字典之间的关联关系。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationDict.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationDict.java index e383877c..277428b1 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationDict.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationDict.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 标识Model之间的字典关联关系。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationManyToMany.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationManyToMany.java new file mode 100644 index 00000000..f432b3a6 --- /dev/null +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationManyToMany.java @@ -0,0 +1,36 @@ +package com.orange.admin.common.core.annotation; + +import java.lang.annotation.*; + +/** + * 标注多对多的Model关系。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ +@Target({ElementType.FIELD, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface RelationManyToMany { + + /** + * 多对多中间表的Mapper对象名称。 + * + * @return 被关联的本地Service对象名称。 + */ + String relationMapperName(); + + /** + * 多对多关联表Model对象的Class对象。 + * + * @return 被关联Model对象的Class对象。 + */ + Class relationModelClass(); + + /** + * 多对多关联表Model对象中与主表关联的Id字段名称。 + * + * @return 被关联Model对象的关联Id字段名称。 + */ + String relationMasterIdField(); +} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationManyToManyAggregation.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationManyToManyAggregation.java index 8e0857d6..3b01494a 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationManyToManyAggregation.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationManyToManyAggregation.java @@ -3,10 +3,10 @@ package com.orange.admin.common.core.annotation; import java.lang.annotation.*; /** - * 主要用于多对多的Model关系。标注通过从表关联字段或者关联表关联字段计算主表虚拟字段的规则。 + * 主要用于多对多的Model关系。标注通过从表关联字段或者关联表关联字段计算主表聚合计算字段的规则。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationOneToManyAggregation.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationOneToManyAggregation.java index 12516c93..7caa033d 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationOneToManyAggregation.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationOneToManyAggregation.java @@ -3,10 +3,10 @@ package com.orange.admin.common.core.annotation; import java.lang.annotation.*; /** - * 主要用于一对多的Model关系。标注通过从表关联字段计算主表虚拟字段的规则。 + * 主要用于一对多的Model关系。标注通过从表关联字段计算主表聚合计算字段的规则。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationOneToOne.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationOneToOne.java index 1834645e..6bbe28fc 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationOneToOne.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/RelationOneToOne.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 标识Model之间的一对一关联关系。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/UserFilterColumn.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/UserFilterColumn.java index 82269325..8d8a0bfa 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/UserFilterColumn.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/UserFilterColumn.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记数据权限中基于UserId进行过滤的字段。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/dao/BaseDaoMapper.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/dao/BaseDaoMapper.java index e8740732..bbd4bcc9 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/dao/BaseDaoMapper.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/dao/BaseDaoMapper.java @@ -14,7 +14,7 @@ import java.util.Map; * * @param 主Model实体对象。 * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @RegisterMapper public interface BaseDaoMapper extends Mapper, InsertListMapper { @@ -39,7 +39,7 @@ public interface BaseDaoMapper extends Mapper, InsertListMapper { + " GROUP BY ${groupBy}" + "" + "") - List> getGroupedListByCondition( + List> getGroupedListByCondition( @Param("selectTable") String selectTable, @Param("selectFields") String selectFields, @Param("whereClause") String whereClause, @@ -65,7 +65,7 @@ public interface BaseDaoMapper extends Mapper, InsertListMapper { + " ORDER BY ${orderBy}" + "" + "") - List> getListByCondition( + List> getListByCondition( @Param("selectTable") String selectTable, @Param("selectFields") String selectFields, @Param("whereClause") String whereClause, diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/mapper/BaseModelMapper.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/mapper/BaseModelMapper.java index ce46df24..42c7e520 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/mapper/BaseModelMapper.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/mapper/BaseModelMapper.java @@ -1,9 +1,10 @@ package com.orange.admin.common.core.base.mapper; import cn.hutool.core.bean.BeanUtil; +import org.apache.commons.collections4.CollectionUtils; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * Model对象到Domain类型对象的相互转换。实现类通常声明在Model实体类中。 @@ -11,7 +12,7 @@ import java.util.Map; * @param Domain域对象类型。 * @param Model实体对象类型。 * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface BaseModelMapper { @@ -50,35 +51,69 @@ public interface BaseModelMapper { /** * 转换bean到map * - * @param bean bean对象。 + * @param bean bean对象。 * @param ignoreNullValue 值为null的字段是否转换到Map。 - * @param bean类型。 + * @param bean类型。 * @return 转换后的map对象。 */ default Map beanToMap(T bean, boolean ignoreNullValue) { - return BeanUtil.beanToMap(bean); + return BeanUtil.beanToMap(bean, false, ignoreNullValue); + } + + /** + * 转换bean集合到map集合 + * + * @param dataList bean对象集合。 + * @param ignoreNullValue 值为null的字段是否转换到Map。 + * @param bean类型。 + * @return 转换后的map对象集合。 + */ + default List> beanToMap(List dataList, boolean ignoreNullValue) { + if (CollectionUtils.isEmpty(dataList)) { + return new LinkedList<>(); + } + return dataList.stream() + .map(o -> BeanUtil.beanToMap(o, false, ignoreNullValue)) + .collect(Collectors.toList()); } /** * 转换map到bean。 * - * @param map map对象。 + * @param map map对象。 * @param beanClazz bean的Class对象。 - * @param bean类型。 + * @param bean类型。 * @return 转换后的bean对象。 */ default T mapToBean(Map map, Class beanClazz) { return BeanUtil.mapToBean(map, beanClazz, true); } + /** + * 转换map集合到bean集合。 + * + * @param mapList map对象集合。 + * @param beanClazz bean的Class对象。 + * @param bean类型。 + * @return 转换后的bean对象集合。 + */ + default List mapToBean(List> mapList, Class beanClazz) { + if (CollectionUtils.isEmpty(mapList)) { + return new LinkedList<>(); + } + return mapList.stream() + .map(m -> BeanUtil.mapToBean(m, beanClazz, true)) + .collect(Collectors.toList()); + } + /** * 对于Map字段到Map字段的映射场景,MapStruct会根据方法签名自动选择该函数 * 作为对象copy的函数。由于该函数是直接返回的,因此没有对象copy,效率更高。 * 如果没有该函数,MapStruct会生成如下代码: - * Map map = courseDto.getTeacherIdDictMap(); - * if ( map != null ) { - * course.setTeacherIdDictMap( new HashMap( map ) ); - * } + * Map map = courseDto.getTeacherIdDictMap(); + * if ( map != null ) { + * course.setTeacherIdDictMap( new HashMap( map ) ); + * } * * @param map map对象。 * @return 直接返回的map。 diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/mapper/DummyModelMapper.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/mapper/DummyModelMapper.java index d1fda13a..9f95e835 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/mapper/DummyModelMapper.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/mapper/DummyModelMapper.java @@ -8,7 +8,7 @@ import java.util.List; * * @param 数据类型。 * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class DummyModelMapper implements BaseModelMapper { diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseDictService.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseDictService.java index 5a222bd2..57f2c0a4 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseDictService.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseDictService.java @@ -16,7 +16,7 @@ import java.util.List; * @param Model实体对象的类型。 * @param Model对象主键的类型。 * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j public abstract class BaseDictService extends BaseService { @@ -47,16 +47,23 @@ public abstract class BaseDictService extends BaseService { */ public void loadCachedData() { if (loadOnStartup()) { - reloadCachedData(); + reloadCachedData(false); } } /** * 重新加载数据库中所有当前表数据到系统内存。 + * + * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 */ - public void reloadCachedData() { + public void reloadCachedData(boolean force) { + // 在非强制刷新情况下。 + // 先行判断缓存中是否存在数据,如果有就不加载了。 + if (!force && dictionaryCache.getCount() > 0) { + return; + } List allList = super.getAllList(); - dictionaryCache.reload(allList); + dictionaryCache.reload(allList, force); } /** @@ -94,7 +101,7 @@ public abstract class BaseDictService extends BaseService { /** * 返回符合 inFilterField in (inFilterValues) 条件的所有数据。蜀国property是主键,则从缓存中读取。 * - * @param inFilterField 参与(In-list)过滤的Java字段。 + * @param inFilterField 参与(In-list)过滤的Java字段。 * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 * @return 检索后的数据列表。 */ @@ -110,7 +117,7 @@ public abstract class BaseDictService extends BaseService { /** * 判断参数值列表中的所有数据,是否全部存在。另外,keyName字段在数据表中必须是唯一键值,否则返回结果会出现误判。 * - * @param inFilterField 待校验的数据字段,这里使用Java对象中的属性,如courseId,而不是数据字段名course_id。 + * @param inFilterField 待校验的数据字段,这里使用Java对象中的属性,如courseId,而不是数据字段名course_id。 * @param inFilterValues 数据值集合。 * @return 全部存在返回true,否则false。 */ diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseService.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseService.java index 708903f5..d818503c 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseService.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseService.java @@ -4,9 +4,8 @@ import com.orange.admin.common.core.annotation.*; import com.orange.admin.common.core.base.dao.BaseDaoMapper; import com.orange.admin.common.core.constant.AggregationType; import com.orange.admin.common.core.constant.GlobalDeletedFlag; -import com.orange.admin.common.core.object.GlobalThreadLocal; -import com.orange.admin.common.core.object.MyWhereCriteria; -import com.orange.admin.common.core.object.Tuple2; +import com.orange.admin.common.core.exception.MyRuntimeException; +import com.orange.admin.common.core.object.*; import com.orange.admin.common.core.util.ApplicationContextHolder; import com.orange.admin.common.core.util.MyModelUtil; import lombok.extern.slf4j.Slf4j; @@ -34,7 +33,7 @@ import static java.util.stream.Collectors.*; * @param Model对象的类型。 * @param Model对象主键的类型。 * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j public abstract class BaseService { @@ -86,26 +85,31 @@ public abstract class BaseService { /** * 当前Service关联的主Model对象的所有字典关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 */ - private List relationDictStructList; + private List relationDictStructList = new LinkedList<>(); /** * 当前Service关联的主Model对象的所有常量字典关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 */ - private List relationConstDictStructList; + private List relationConstDictStructList = new LinkedList<>(); /** * 当前Service关联的主Model对象的所有一对一关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 */ - private List relationOneToOneStructList; + private List relationOneToOneStructList = new LinkedList<>(); + /** + * 当前Service关联的主Model对象的所有多对多关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 + */ + private List relationManyToManyStructList = new LinkedList<>(); /** * 当前Service关联的主Model对象的所有一对多聚合关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 */ - private List relationOneToManyAggrStructList; + private List relationOneToManyAggrStructList = new LinkedList<>(); /** * 当前Service关联的主Model对象的所有多对多聚合关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 */ - private List relationManyToManyAggrStructList; + private List relationManyToManyAggrStructList = new LinkedList<>(); private static final String GROUPED_KEY = "groupedKey"; private static final String AGGREGATED_VALUE = "aggregatedValue"; + private static final String AND_OP = " AND "; /** * 构造函数,在实例化的时候,一次性完成所有有关主Model对象信息的加载。 @@ -116,31 +120,29 @@ public abstract class BaseService { this.tableName = modelClass.getAnnotation(Table.class).name(); Field[] fields = ReflectUtil.getFields(modelClass); for (Field field : fields) { - if (idFieldName == null) { - if (null != field.getAnnotation(Id.class)) { - idFieldName = field.getName(); - idField = field; - Column c = field.getAnnotation(Column.class); - idColumnName = c == null ? idFieldName : c.name(); - } - } - if (updateTimeFieldName == null) { - if (null != field.getAnnotation(JobUpdateTimeColumn.class)) { - updateTimeFieldName = field.getName(); - Column c = field.getAnnotation(Column.class); - updateTimeColumnName = c == null ? updateTimeFieldName : c.name(); - } - } - if (deletedFlagFieldName == null) { - if (null != field.getAnnotation(DeletedFlagColumn.class)) { - deletedFlagFieldName = field.getName(); - Column c = field.getAnnotation(Column.class); - deletedFlagColumnName = c == null ? deletedFlagFieldName : c.name(); - deletedFlagField = field; - setDeletedFlagMethod = ReflectUtil.getMethod( - modelClass, "set" + StringUtils.capitalize(deletedFlagFieldName), Integer.class); - } - } + initializeField(field); + } + } + + private void initializeField(Field field) { + if (idFieldName == null && null != field.getAnnotation(Id.class)) { + idFieldName = field.getName(); + idField = field; + Column c = field.getAnnotation(Column.class); + idColumnName = c == null ? idFieldName : c.name(); + } + if (updateTimeFieldName == null && null != field.getAnnotation(JobUpdateTimeColumn.class)) { + updateTimeFieldName = field.getName(); + Column c = field.getAnnotation(Column.class); + updateTimeColumnName = c == null ? updateTimeFieldName : c.name(); + } + if (deletedFlagFieldName == null && null != field.getAnnotation(DeletedFlagColumn.class)) { + deletedFlagFieldName = field.getName(); + Column c = field.getAnnotation(Column.class); + deletedFlagColumnName = c == null ? deletedFlagFieldName : c.name(); + deletedFlagField = field; + setDeletedFlagMethod = ReflectUtil.getMethod( + modelClass, "set" + StringUtils.capitalize(deletedFlagFieldName), Integer.class); } } @@ -199,12 +201,14 @@ public abstract class BaseService { /** * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 * - * @param id 主表主键Id。 + * @param id 主表主键Id。 + * @param relationParam 实体对象数据组装的参数构建器。 * @return 查询结果对象。 */ - public M getByIdWithRelation(K id) { - return this.buildAllRelationForData( - this.getById(id), false, buildAggregationAdditionalWhereCriteria()); + public M getByIdWithRelation(K id, MyRelationParam relationParam) { + M dataObject = this.getById(id); + this.buildRelationForData(dataObject, relationParam, buildAggregationAdditionalWhereCriteria()); + return dataObject; } /** @@ -224,12 +228,12 @@ public abstract class BaseService { /** * 获取所有主数据,及其关联数据。 * - * @param dictOnly true 将只是关联字典数据,false将同时关联字典数据和一对一关联数据。 + * @param relationParam 实体对象数据组装的参数构建器。 * @return 返回所有主数据,及其关联数据。 */ - public List getAllListWithRelation(boolean dictOnly) { + public List getAllListWithRelation(MyRelationParam relationParam) { List resultList = getAllList(); - this.buildRelationForDataList(resultList, dictOnly); + this.buildRelationForDataList(resultList, relationParam, null); return resultList; } @@ -250,6 +254,19 @@ public abstract class BaseService { return mapper().selectByExample(e); } + /** + * 判断参数值主键集合中的所有数据,是否全部存在 + * + * @param idSet 待校验的主键集合。 + * @return 全部存在返回true,否则false。 + */ + public boolean existAllPrimaryKeys(Set idSet) { + if (CollectionUtils.isEmpty(idSet)) { + return false; + } + return this.existUniqueKeyList(idFieldName, idSet); + } + /** * 判断参数值列表中的所有数据,是否全部存在。另外,keyName字段在数据表中必须是唯一键值,否则返回结果会出现误判。 * @@ -364,8 +381,8 @@ public abstract class BaseService { setDeletedFlagMethod.invoke(filter, GlobalDeletedFlag.NORMAL); return mapper().selectCount(filter); } catch (Exception e) { - log.error("Failed to call reflection code.", e); - throw new RuntimeException(e); + log.error("Failed to call reflection code of BaseService.getCountByFilter.", e); + throw new MyRuntimeException(e); } } @@ -385,7 +402,7 @@ public abstract class BaseService { * @param filter 该方法基于mybatis的通用mapper。如果参数为null,则返回全部数据。 * @return 返回过滤后的数据。 */ - public List getListByFilter(M filter) { + private List getListByFilter(M filter) { if (filter == null) { return this.getAllList(); } @@ -396,8 +413,8 @@ public abstract class BaseService { setDeletedFlagMethod.invoke(filter, GlobalDeletedFlag.NORMAL); return mapper().select(filter); } catch (Exception ex) { - log.error("Failed to call reflection code.", ex); - throw new RuntimeException(ex); + log.error("Failed to call reflection code of BaseService.getListByFilter.", ex); + throw new MyRuntimeException(ex); } } @@ -409,6 +426,9 @@ public abstract class BaseService { * @return 返回过滤后的数据。 */ public List getListByFilter(M filter, String orderBy) { + if (StringUtils.isBlank(orderBy)) { + return this.getListByFilter(filter); + } Example e = new Example(modelClass); if (StringUtils.isNotBlank(orderBy)) { e.setOrderByClause(orderBy); @@ -417,56 +437,48 @@ public abstract class BaseService { Example.Criteria c = e.createCriteria(); Field[] fields = ReflectUtil.getFields(modelClass); for (Field field : fields) { - if (field.getAnnotation(Transient.class) != null) { - continue; - } - int modifiers = field.getModifiers(); - // transient类型的字段不能作为查询条件 - if ((modifiers & 128) == 0) { - if (field.getName().equals(deletedFlagFieldName)) { - c.andEqualTo(deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - } else { - field.setAccessible(true); - try { - Object o = field.get(filter); - if (o != null) { - c.andEqualTo(field.getName(), field.get(filter)); - } - } catch (IllegalAccessException ex) { - log.error("Failed to call reflection code.", ex); - throw new RuntimeException(ex); - } - } + if (field.getAnnotation(Transient.class) == null) { + assembleCriteriaByFilter(filter, field, c); } } } return mapper().selectByExample(e); } - /** - * 用参数对象作为过滤条件,获取查询结果。同时组装实体对象中基于RelationXXXX注解关联的数据。 - * - * @param filter 该方法基于mybatis的通用mapper。如果参数为null,则返回全部数据。 - * @return 返回过滤后的数据。 - */ - public List getListWithRelationByFilter(M filter) { - List resultList = this.getListByFilter(filter); - Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildAllRelationForDataList(resultList, false, criteriaMap); - return resultList; + private void assembleCriteriaByFilter(M filter, Field field, Example.Criteria c) { + int modifiers = field.getModifiers(); + // transient类型的字段不能作为查询条件 + int transientMask = 128; + if ((modifiers & transientMask) == 0) { + if (field.getName().equals(deletedFlagFieldName)) { + c.andEqualTo(deletedFlagFieldName, GlobalDeletedFlag.NORMAL); + } else { + ReflectUtil.setAccessible(field); + try { + Object o = field.get(filter); + if (o != null) { + c.andEqualTo(field.getName(), field.get(filter)); + } + } catch (IllegalAccessException ex) { + log.error("Failed to call reflection code of BaseService.getListByFilter.", ex); + throw new MyRuntimeException(ex); + } + } + } } /** * 用参数对象作为过滤条件,获取查询结果。同时组装实体对象中基于RelationXXXX注解关联的数据。 * - * @param filter 该方法基于mybatis的通用mapper。如果参数为null,则返回全部数据。 - * @param orderBy SQL中ORDER BY从句。 + * @param filter 该方法基于mybatis的通用mapper。如果参数为null,则返回全部数据。 + * @param orderBy SQL中ORDER BY从句。 + * @param relationParam 实体对象数据组装的参数构建器。 * @return 返回过滤后的数据。 */ - public List getListWithRelationByFilter(M filter, String orderBy) { + public List getListWithRelationByFilter(M filter, String orderBy, MyRelationParam relationParam) { List resultList = this.getListByFilter(filter, orderBy); Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildAllRelationForDataList(resultList, false, criteriaMap); + this.buildRelationForDataList(resultList, relationParam, criteriaMap); return resultList; } @@ -505,9 +517,9 @@ public abstract class BaseService { /** * 根据指定的显示字段列表、过滤条件字符串和排序字符串,返回查询结果。(基本是内部框架使用,不建议外部接口直接使用)。 * - * @param selectList 选择的Java字段列表。如果为空表示返回全部字段。 - * @param whereClause SQL常量形式的条件从句。 - * @param orderBy SQL常量形式排序字段列表,逗号分隔。 + * @param selectList 选择的Java字段列表。如果为空表示返回全部字段。 + * @param whereClause SQL常量形式的条件从句。 + * @param orderBy SQL常量形式排序字段列表,逗号分隔。 * @return 查询结果。 */ public List getListByCondition(List selectList, String whereClause, String orderBy) { @@ -542,16 +554,37 @@ public abstract class BaseService { * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 * * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param dictOnly 是否只是集成字典,包括注解RelationDict和RelationConstDict标注的字段。 + * @param relationParam 实体对象数据组装的参数构建器。 * @param criteriaListMap 仅仅用于一对多和多对多聚合计算的附加过滤条件。如果没有可以为NULL。 */ - public void buildAllRelationForDataList( - List resultList, boolean dictOnly, Map> criteriaListMap) { - // 集成本地一对一和字段级别的数据关联。 - this.buildRelationForDataList(resultList, dictOnly); - if (!dictOnly) { + public void buildRelationForDataList( + List resultList, MyRelationParam relationParam, Map> criteriaListMap) { + if (relationParam == null || CollectionUtils.isEmpty(resultList)) { + return; + } + boolean dataPermValue = GlobalThreadLocal.setDataPerm(false); + try { + // 集成本地一对一和字段级别的数据关联。 + boolean buildOneToOne = relationParam.isBuildOneToOne() || relationParam.isBuildOneToOneWithDict(); + // 这里集成一对一关联。 + if (buildOneToOne) { + this.buildOneToOneForDataList(resultList, relationParam.isBuildOneToOneWithDict()); + } + // 这里集成字典关联 + if (relationParam.isBuildDict()) { + // 构建常量字典关联关系 + this.buildConstDictForDataList(resultList); + this.buildDictForDataList(resultList, buildOneToOne); + } // 组装本地聚合计算关联数据 - this.buildAggregationRelationForDataList(resultList, criteriaListMap); + if (relationParam.isBuildRelationAggregation()) { + // 处理多对多场景下,根据主表的结果,进行从表聚合数据的计算。 + this.buildManyToManyAggregationForDataList(resultList, criteriaListMap); + // 处理多一多场景下,根据主表的结果,进行从表聚合数据的计算。 + this.buildOneToManyAggregationForDataList(resultList, criteriaListMap); + } + } finally { + GlobalThreadLocal.setDataPerm(dataPermValue); } } @@ -561,54 +594,73 @@ public abstract class BaseService { * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 * * @param dataObject 主表实体对象。数据集成将直接作用于该对象。 - * @param dictOnly 是否只是集成字典,包括注解RelationDict和RelationConstDict标注的字段。 + * @param relationParam 实体对象数据组装的参数构建器。 * @param criteriaListMap 仅仅用于一对多和多对多聚合计算的附加过滤条件。如果没有可以为NULL。 * @param 实体对象类型。 - * @return 集成后的原实体对象。 */ - public T buildAllRelationForData( - T dataObject, boolean dictOnly, Map> criteriaListMap) { - // 集成本地一对一和字段级别的数据关联。 - this.buildRelationForData(dataObject, dictOnly); - if (!dictOnly) { - // 组装本地聚合计算关联数据 - this.buildAggregationRelationForData(dataObject, criteriaListMap); + public void buildRelationForData( + T dataObject, MyRelationParam relationParam, Map> criteriaListMap) { + if (dataObject == null || relationParam == null) { + return; + } + boolean dataPermValue = GlobalThreadLocal.setDataPerm(false); + try { + // 集成本地一对一和字段级别的数据关联。 + boolean buildOneToOne = relationParam.isBuildOneToOne() || relationParam.isBuildOneToOneWithDict(); + if (buildOneToOne) { + this.buildOneToOneForData(dataObject, relationParam.isBuildOneToOneWithDict()); + } + if (relationParam.isBuildDict()) { + // 构建常量字典关联关系 + this.buildConstDictForData(dataObject); + // 构建本地数据字典关联关系。 + this.buildDictForData(dataObject, buildOneToOne); + } + // 组装本地聚合计算关联数据 + if (relationParam.isBuildRelationAggregation()) { + // 开始处理多对多场景。 + buildManyToManyAggregationForData(dataObject, criteriaListMap); + // 构建一对多场景 + buildOneToManyAggregationForData(dataObject, criteriaListMap); + } + if (relationParam.isBuildRelationManyToMany()) { + this.buildManyToManyRelation(dataObject); + } + } finally { + GlobalThreadLocal.setDataPerm(dataPermValue); } - return dataObject; } /** - * 为参数列表数据集成本地静态字典关联数据。 + * 集成主表和多对多中间表之间的关联关系。 + * + * @param dataObject 关联后的主表数据对象。 + */ + private void buildManyToManyRelation(T dataObject) { + if (dataObject == null || CollectionUtils.isEmpty(this.relationManyToManyStructList)) { + return; + } + for (RelationStruct relationStruct : this.relationManyToManyStructList) { + Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); + Example e = new Example(relationStruct.relationManyToMany.relationModelClass()); + e.createCriteria().andEqualTo(relationStruct.masterIdField.getName(), masterIdValue); + List manyToManyList = relationStruct.manyToManyMapper.selectByExample(e); + ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, manyToManyList); + } + } + + /** + * 为实体对象参数列表数据集成本地静态字典关联数据。 * * @param resultList 主表数据列表。 */ - public void buildConstDictForDataList(List resultList) { - if (CollectionUtils.isNotEmpty(this.relationConstDictStructList)) { - for (RelationStruct relationStruct : this.relationConstDictStructList) { - for (M dataObject : resultList) { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - String name = relationStruct.dictMap.get(id); - if (name != null) { - Map dictMap = new HashMap<>(2); - dictMap.put("id", id); - dictMap.put("name", name); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, dictMap); - } - } - } - } + private void buildConstDictForDataList(List resultList) { + if (CollectionUtils.isEmpty(this.relationConstDictStructList) + || CollectionUtils.isEmpty(resultList)) { + return; } - } - - /** - * 为参数实体对象数据集成本地静态字典关联数据。 - * - * @param dataObject 实体对象。 - */ - public void buildConstDictForData(T dataObject) { - if (CollectionUtils.isNotEmpty(this.relationConstDictStructList)) { - for (RelationStruct relationStruct : this.relationConstDictStructList) { + for (RelationStruct relationStruct : this.relationConstDictStructList) { + for (M dataObject : resultList) { Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); if (id != null) { String name = relationStruct.dictMap.get(id); @@ -624,507 +676,373 @@ public abstract class BaseService { } /** - * 集成字典关联数据列表和一对一从表关联数据列表。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 + * 为参数实体对象数据集成本地静态字典关联数据。 * - * @param resultList 主表数据列表。数据集成将直接作用于该对象列表。 - * @param dictOnly 是否只是关联字典数据。 + * @param dataObject 实体对象。 */ - public void buildRelationForDataList(List resultList, boolean dictOnly) { - if (CollectionUtils.isEmpty(resultList)) { + private void buildConstDictForData(T dataObject) { + if (dataObject == null || CollectionUtils.isEmpty(this.relationConstDictStructList)) { return; } - boolean dataPermEnabled = GlobalThreadLocal.setDataPerm(false); - if (!dictOnly) { - if (CollectionUtils.isNotEmpty(this.relationOneToOneStructList)) { - for (RelationStruct relationStruct : this.relationOneToOneStructList) { - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isNotEmpty(masterIdSet)) { - BaseService relationService = relationStruct.service; - List relationList = - relationService.getInList(relationStruct.relationOneToOne.slaveIdField(), masterIdSet); - // 仅仅当需要加载从表字典关联时,才去加载。 - if (relationStruct.relationOneToOne.loadSlaveDict() && CollectionUtils.isNotEmpty(relationList)) { - relationService.buildRelationForDataList(relationList, true); - MyModelUtil.makeOneToOneRelation( - modelClass, resultList, relationList, relationStruct.relationField.getName()); - } - } + for (RelationStruct relationStruct : this.relationConstDictStructList) { + Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); + if (id != null) { + String name = relationStruct.dictMap.get(id); + if (name != null) { + Map dictMap = new HashMap<>(2); + dictMap.put("id", id); + dictMap.put("name", name); + ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, dictMap); } } } - // 构建常量字典关联关系 - this.buildConstDictForDataList(resultList); - if (CollectionUtils.isNotEmpty(this.relationDictStructList)) { - for (RelationStruct relationStruct : this.relationDictStructList) { - List relationList = null; - if (!dictOnly && relationStruct.equalOneToOneRelationField != null) { - relationList = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.equalOneToOneRelationField)) - .filter(Objects::nonNull) - .collect(toList()); - } else { - String slaveId = relationStruct.relationDict.slaveIdField(); - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isNotEmpty(masterIdSet)) { - relationList = relationStruct.service.getInList(slaveId, masterIdSet); - } + } + + /** + * 为实体对象参数列表数据集成本地字典关联数据。 + * + * @param resultList 实体对象数据列表。 + * @param hasBuiltOneToOne 性能优化参数。如果该值为true,同时注解参数RelationDict.equalOneToOneRelationField + * 不为空,则直接从已经完成一对一数据关联的从表对象中获取数据,减少一次数据库交互。 + */ + private void buildDictForDataList(List resultList, boolean hasBuiltOneToOne) { + if (CollectionUtils.isEmpty(this.relationDictStructList) + || CollectionUtils.isEmpty(resultList)) { + return; + } + for (RelationStruct relationStruct : this.relationDictStructList) { + List relationList = null; + if (hasBuiltOneToOne && relationStruct.equalOneToOneRelationField != null) { + relationList = resultList.stream() + .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.equalOneToOneRelationField)) + .filter(Objects::nonNull) + .collect(toList()); + } else { + String slaveId = relationStruct.relationDict.slaveIdField(); + Set masterIdSet = resultList.stream() + .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) + .filter(Objects::nonNull) + .collect(toSet()); + if (CollectionUtils.isNotEmpty(masterIdSet)) { + relationList = relationStruct.service.getInList(slaveId, masterIdSet); } - MyModelUtil.makeDictRelation( + } + MyModelUtil.makeDictRelation( + modelClass, resultList, relationList, relationStruct.relationField.getName()); + } + } + + /** + * 为实体对象数据集成本地数据字典关联数据。 + * + * @param dataObject 实体对象。 + * @param hasBuiltOneToOne 性能优化参数。如果该值为true,同时注解参数RelationDict.equalOneToOneRelationField + * 不为空,则直接从已经完成一对一数据关联的从表对象中获取数据,减少一次数据库交互。 + */ + private void buildDictForData(T dataObject, boolean hasBuiltOneToOne) { + if (dataObject == null || CollectionUtils.isEmpty(this.relationDictStructList)) { + return; + } + for (RelationStruct relationStruct : this.relationDictStructList) { + Object relationObject = null; + if (hasBuiltOneToOne && relationStruct.equalOneToOneRelationField != null) { + relationObject = ReflectUtil.getFieldValue(dataObject, relationStruct.equalOneToOneRelationField); + } else { + Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); + if (id != null) { + relationObject = relationStruct.service.getById(id); + } + } + MyModelUtil.makeDictRelation( + modelClass, dataObject, relationObject, relationStruct.relationField.getName()); + } + } + + /** + * 为实体对象参数列表数据集成本地一对一关联数据。 + * + * @param resultList 实体对象数据列表。 + * @param withDict 关联从表数据后,是否把从表的字典数据也一起关联了。。 + */ + private void buildOneToOneForDataList(List resultList, boolean withDict) { + if (CollectionUtils.isEmpty(this.relationOneToOneStructList) + || CollectionUtils.isEmpty(resultList)) { + return; + } + for (RelationStruct relationStruct : this.relationOneToOneStructList) { + Set masterIdSet = resultList.stream() + .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) + .filter(Objects::nonNull) + .collect(toSet()); + // 从主表集合中,抽取主表关联字段的集合,再以in list形式去从表中查询。 + if (CollectionUtils.isNotEmpty(masterIdSet)) { + BaseService relationService = relationStruct.service; + List relationList = + relationService.getInList(relationStruct.relationOneToOne.slaveIdField(), masterIdSet); + MyModelUtil.makeOneToOneRelation( modelClass, resultList, relationList, relationStruct.relationField.getName()); - } - } - GlobalThreadLocal.setDataPerm(dataPermEnabled); - } - - /** - * 集成字典关联数据和一对一从表关联数据。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param dataObject 主表数据对象。数据集成将直接作用于该对象。 - * @param dictOnly 是否只是关联字典数据。 - * @return 关联后的主表数据对象。 - */ - public T buildRelationForData(T dataObject, boolean dictOnly) { - if (dataObject == null) { - return dataObject; - } - boolean dataPermEnabled = GlobalThreadLocal.setDataPerm(false); - if (!dictOnly) { - if (CollectionUtils.isNotEmpty(this.relationOneToOneStructList)) { - for (RelationStruct relationStruct : this.relationOneToOneStructList) { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - BaseService relationService = relationStruct.service; - Object relationObject = relationService.getById(id); - // 仅仅当需要加载从表字典关联时,才去加载。 - if (relationStruct.relationOneToOne.loadSlaveDict() && relationObject != null) { - relationService.buildRelationForData(relationObject, true); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, relationObject); - } - } + // 仅仅当需要加载从表字典关联时,才去加载。 + if (withDict && relationStruct.relationOneToOne.loadSlaveDict() + && CollectionUtils.isNotEmpty(relationList)) { + // 关联本地字典。 + relationService.buildDictForDataList(relationList, false); + // 关联常量字典 + relationService.buildConstDictForDataList(relationList); } } } - // 构建常量字典关联关系 - this.buildConstDictForData(dataObject); - if (CollectionUtils.isNotEmpty(this.relationDictStructList)) { - for (RelationStruct relationStruct : this.relationDictStructList) { - Object relationObject = null; - if (!dictOnly && relationStruct.equalOneToOneRelationField != null) { - relationObject = ReflectUtil.getFieldValue(dataObject, relationStruct.equalOneToOneRelationField); - } else { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - relationObject = relationStruct.service.getById(id); - } - } - MyModelUtil.makeDictRelation( - modelClass, dataObject, relationObject, relationStruct.relationField.getName()); - } - } - GlobalThreadLocal.setDataPerm(dataPermEnabled); - return dataObject; } /** - * 集成本地服务中,多个表之间的聚合计算关系,主要覆盖一对多和多对多两种场景。 - * 其中一对多关系,比如课程表的章节统计字段sectionCount,可能依赖于课程章节表中关联章节的数量。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 + * 为实体对象数据集成本地一对一关联数据。 * - * @param resultList 主数据表结果集。数据集成将直接作用于该对象列表。 - * @param criteriaListMap 自定义的过滤条件列表。每个key对应不同的聚合关联字段名称,既注解应用的Java字段,如courseSectionCount。 + * @param dataObject 实体对象。 + * @param withDict 关联从表数据后,是否把从表的字典数据也一起关联了。。 */ - public void buildAggregationRelationForDataList( - List resultList, Map> criteriaListMap) { - if (CollectionUtils.isEmpty(resultList)) { + private void buildOneToOneForData(M dataObject, boolean withDict) { + if (dataObject == null || CollectionUtils.isEmpty(this.relationOneToOneStructList)) { return; } - boolean dataPermEnabled = GlobalThreadLocal.setDataPerm(false); - // 处理多对多场景下,根据主表的结果,进行从表聚合数据的计算。 - if (CollectionUtils.isNotEmpty(this.relationManyToManyAggrStructList)) { - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(this.relationManyToManyAggrStructList.size()); - } - for (RelationStruct relationStruct : this.relationManyToManyAggrStructList) { - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isNotEmpty(masterIdSet)) { - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - // 提取关联中用到的各种字段和表数据。 - String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - String relationTable = MyModelUtil.mapToTableName(relation.relationModelClass()); - String relationMasterColumn = - MyModelUtil.mapToColumnName(relation.relationMasterIdField(), relation.relationModelClass()); - String relationSlaveColumn = - MyModelUtil.mapToColumnName(relation.relationSlaveIdField(), relation.relationModelClass()); - String slaveColumn = - MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - // 判断是否只需要关联中间表即可,从而提升查询统计的效率。 - // 1. 统计字段为中间表字段。2. 自定义过滤条件中没有基于从表字段的过滤条件。 - boolean onlySelectRelationTable = - relation.aggregationModelClass().equals(relation.relationModelClass()); - if (onlySelectRelationTable && MapUtils.isNotEmpty(criteriaListMap)) { - List criteriaList = - criteriaListMap.get(relationStruct.relationField.getName()); - if (CollectionUtils.isNotEmpty(criteriaList)) { - for (MyWhereCriteria whereCriteria : criteriaList) { - if (whereCriteria.getModelClazz().equals(relation.slaveModelClass())) { - onlySelectRelationTable = false; - break; - } - } - } - } - String aggregationTable = - relation.aggregationModelClass().equals(relation.relationModelClass()) ? relationTable : slaveTable; - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - relationTable, relationMasterColumn, relation.aggregationModelClass(), - aggregationTable, relation.aggregationField(), relation.aggregationType()); - String selectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - // 构建多表关联的where语句 - StringBuilder whereClause = new StringBuilder(256); - // 如果需要从表聚合计算或参与过滤,则需要把中间表和从表之间的关联条件加上。 - if (!onlySelectRelationTable) { - whereClause.append(relationTable) - .append(".") - .append(relationSlaveColumn) - .append(" = ") - .append(slaveTable) - .append(".") - .append(slaveColumn); - } else { - whereClause.append("1 = 1"); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - MyWhereCriteria inlistFilter = new MyWhereCriteria(); - inlistFilter.setCriteria(relation.relationModelClass(), - relation.relationMasterIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - criteriaList.add(inlistFilter); - if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relation.slaveModelClass(), - relationStruct.service.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); - whereClause.append(" AND ").append(criteriaString); - StringBuilder tableNames = new StringBuilder(64); - tableNames.append(relationTable); - if (!onlySelectRelationTable) { - tableNames.append(", ").append(slaveTable); - } - List> aggregationMapList = mapper().getGroupedListByCondition( - tableNames.toString(), selectList, whereClause.toString(), groupBy); - doMakeLocalAggregationData(aggregationMapList, resultList, relationStruct); + for (RelationStruct relationStruct : this.relationOneToOneStructList) { + Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); + if (id != null) { + BaseService relationService = relationStruct.service; + Object relationObject = relationService.getById(id); + ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, relationObject); + // 仅仅当需要加载从表字典关联时,才去加载。 + if (withDict && relationStruct.relationOneToOne.loadSlaveDict() && relationObject != null) { + // 关联本地字典 + relationService.buildDictForData(relationObject, false); + // 关联常量字典 + relationService.buildConstDictForData(relationObject); } } } - // 处理多一多场景下,根据主表的结果,进行从表聚合数据的计算。 - if (CollectionUtils.isNotEmpty(this.relationOneToManyAggrStructList)) { - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(relationOneToManyAggrStructList.size()); - } - for (RelationStruct relationStruct : this.relationOneToManyAggrStructList) { - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isNotEmpty(masterIdSet)) { - RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; - // 开始获取后面所需的各种关联数据。此部分今后可以移植到缓存中,无需每次计算。 - String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - String slaveColumnName = - MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - slaveTable, slaveColumnName, relation.slaveModelClass(), - slaveTable, relation.aggregationField(), relation.aggregationType()); - String selectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - MyWhereCriteria inlistFilter = new MyWhereCriteria(); - inlistFilter.setCriteria(relation.slaveModelClass(), - relation.slaveIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - criteriaList.add(inlistFilter); - if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relation.slaveModelClass(), - relationStruct.service.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); - List> aggregationMapList = - mapper().getGroupedListByCondition(slaveTable, selectList, criteriaString, groupBy); - doMakeLocalAggregationData(aggregationMapList, resultList, relationStruct); - } - } - } - GlobalThreadLocal.setDataPerm(dataPermEnabled); } /** - * 集成本地服务中,多个表之间的聚合计算关系,主要覆盖一对多和多对多两种场景。 - * 其中一对多关系,比如课程表的章节统计字段sectionCount,可能依赖于课程章节表中关联章节的数量。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 + * 根据实体对象参数列表和过滤条件,集成本地多对多关联聚合计算数据。 * - * @param dataObject 主表对象。数据集成将直接作用于该对象。 - * @param criteriaListMap 自定义的过滤条件列表。每个key对应不同的聚合关联字段名称,既注解应用的Java字段,如courseSectionCount。 - * @param 参数类型。 - * @return 集成后的主表对象。 + * @param resultList 实体对象数据列表。 + * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 */ - public T buildAggregationRelationForData(T dataObject, Map> criteriaListMap) { - if (dataObject == null) { - return null; + private void buildManyToManyAggregationForDataList( + List resultList, Map> criteriaListMap) { + if (CollectionUtils.isEmpty(this.relationManyToManyAggrStructList) + || CollectionUtils.isEmpty(resultList)) { + return; } - boolean dataPermEnabled = GlobalThreadLocal.setDataPerm(false); - // 开始处理多对多场景。 - if (CollectionUtils.isNotEmpty(this.relationManyToManyAggrStructList)) { - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(relationOneToManyAggrStructList.size()); + if (criteriaListMap == null) { + criteriaListMap = new HashMap<>(this.relationManyToManyAggrStructList.size()); + } + for (RelationStruct relationStruct : this.relationManyToManyAggrStructList) { + Set masterIdSet = resultList.stream() + .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) + .filter(Objects::nonNull) + .collect(toSet()); + if (CollectionUtils.isEmpty(masterIdSet)) { + continue; } - for (RelationStruct relationStruct : this.relationManyToManyAggrStructList) { - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue != null) { - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - String relationTable = MyModelUtil.mapToTableName(relation.relationModelClass()); - String relationMasterColumn = - MyModelUtil.mapToColumnName(relation.relationMasterIdField(), relation.relationModelClass()); - String relationSlaveColumn = - MyModelUtil.mapToColumnName(relation.relationSlaveIdField(), relation.relationModelClass()); - String slaveColumn = MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - // 判断是否只需要关联中间表即可,从而提升查询统计的效率。 - // 1. 统计字段为中间表字段。2. 自定义过滤条件中没有基于从表字段的过滤条件。 - boolean onlySelectRelationTable = relation.aggregationModelClass().equals(relation.relationModelClass()); - if (onlySelectRelationTable && MapUtils.isNotEmpty(criteriaListMap)) { - List criteriaList = - criteriaListMap.get(relationStruct.relationField.getName()); - if (CollectionUtils.isNotEmpty(criteriaList)) { - for (MyWhereCriteria whereCriteria : criteriaList) { - if (whereCriteria.getModelClazz().equals(relation.slaveModelClass())) { - onlySelectRelationTable = false; - break; - } - } - } - } - String aggregationTable = - relation.aggregationModelClass().equals(relation.relationModelClass()) ? relationTable : slaveTable; - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - relationTable, relationMasterColumn, relation.aggregationModelClass(), - aggregationTable, relation.aggregationField(), relation.aggregationType()); - String selectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - // 组装过滤条件 - StringBuilder whereClause = new StringBuilder(256); - whereClause.append(relationTable).append(".").append(relationMasterColumn); - if (masterIdValue instanceof Number) { - whereClause.append(" = ").append(masterIdValue); - } else { - whereClause.append(" = '").append(masterIdValue).append("'"); - } - // 如果需要从表聚合计算或参与过滤,则需要把中间表和从表之间的关联条件加上。 - if (!onlySelectRelationTable) { - whereClause.append(" AND ") - .append(relationTable) - .append(".") - .append(relationSlaveColumn) - .append(" = ") - .append(slaveTable) - .append(".") - .append(slaveColumn); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relation.slaveModelClass(), - relationStruct.service.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - if (CollectionUtils.isNotEmpty(criteriaList)) { - String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); - whereClause.append(" AND ").append(criteriaString); - } - StringBuilder tableNames = new StringBuilder(64); - tableNames.append(relationTable); - if (!onlySelectRelationTable) { - tableNames.append(", ").append(slaveTable); - } - List> aggregationMapList = mapper().getGroupedListByCondition( - tableNames.toString(), selectList, whereClause.toString(), groupBy); - // 将查询后的结果回填到主表数据中。 - if (CollectionUtils.isNotEmpty(aggregationMapList)) { - Object value = aggregationMapList.get(0).get(AGGREGATED_VALUE); - if (value != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); - } - } + RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; + // 提取关联中用到的各种字段和表数据。 + BasicAggregationRelationInfo basicRelationInfo = + this.parseBasicAggregationRelationInfo(relationStruct, criteriaListMap); + // 构建多表关联的where语句 + StringBuilder whereClause = new StringBuilder(256); + // 如果需要从表聚合计算或参与过滤,则需要把中间表和从表之间的关联条件加上。 + if (!basicRelationInfo.onlySelectRelationTable) { + whereClause.append(basicRelationInfo.relationTable) + .append(".") + .append(basicRelationInfo.relationSlaveColumn) + .append(" = ") + .append(basicRelationInfo.slaveTable) + .append(".") + .append(basicRelationInfo.slaveColumn); + } else { + whereClause.append("1 = 1"); + } + List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); + if (criteriaList == null) { + criteriaList = new LinkedList<>(); + } + MyWhereCriteria inlistFilter = new MyWhereCriteria(); + inlistFilter.setCriteria(relation.relationModelClass(), + relation.relationMasterIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); + criteriaList.add(inlistFilter); + if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { + MyWhereCriteria deleteFilter = new MyWhereCriteria(); + deleteFilter.setCriteria( + relation.slaveModelClass(), + relationStruct.service.deletedFlagFieldName, + MyWhereCriteria.OPERATOR_EQUAL, + GlobalDeletedFlag.NORMAL); + criteriaList.add(deleteFilter); + } + String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); + whereClause.append(AND_OP).append(criteriaString); + StringBuilder tableNames = new StringBuilder(64); + tableNames.append(basicRelationInfo.relationTable); + if (!basicRelationInfo.onlySelectRelationTable) { + tableNames.append(", ").append(basicRelationInfo.slaveTable); + } + List> aggregationMapList = + mapper().getGroupedListByCondition(tableNames.toString(), + basicRelationInfo.selectList, whereClause.toString(), basicRelationInfo.groupBy); + doMakeLocalAggregationData(aggregationMapList, resultList, relationStruct); + } + } + + /** + * 根据实体对象和过滤条件,集成本地多对多关联聚合计算数据。 + * + * @param dataObject 实体对象。 + * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 + */ + private void buildManyToManyAggregationForData( + T dataObject, Map> criteriaListMap) { + if (dataObject == null || CollectionUtils.isEmpty(this.relationManyToManyAggrStructList)) { + return; + } + if (criteriaListMap == null) { + criteriaListMap = new HashMap<>(relationManyToManyAggrStructList.size()); + } + for (RelationStruct relationStruct : this.relationManyToManyAggrStructList) { + Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); + if (masterIdValue == null) { + continue; + } + BasicAggregationRelationInfo basicRelationInfo = + this.parseBasicAggregationRelationInfo(relationStruct, criteriaListMap); + // 组装过滤条件 + String whereClause = this.makeManyToManyWhereClause( + relationStruct, masterIdValue, basicRelationInfo, criteriaListMap); + StringBuilder tableNames = new StringBuilder(64); + tableNames.append(basicRelationInfo.relationTable); + if (!basicRelationInfo.onlySelectRelationTable) { + tableNames.append(", ").append(basicRelationInfo.slaveTable); + } + List> aggregationMapList = + mapper().getGroupedListByCondition(tableNames.toString(), + basicRelationInfo.selectList, whereClause, basicRelationInfo.groupBy); + // 将查询后的结果回填到主表数据中。 + if (CollectionUtils.isNotEmpty(aggregationMapList)) { + Object value = aggregationMapList.get(0).get(AGGREGATED_VALUE); + if (value != null) { + ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); } } } - // 构建一对多场景 - if (CollectionUtils.isNotEmpty(this.relationOneToManyAggrStructList)) { - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(relationOneToManyAggrStructList.size()); + } + + /** + * 根据实体对象参数列表和过滤条件,集成本地一对多关联聚合计算数据。 + * + * @param resultList 实体对象数据列表。 + * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 + */ + private void buildOneToManyAggregationForDataList( + List resultList, Map> criteriaListMap) { + // 处理多一多场景下,根据主表的结果,进行从表聚合数据的计算。 + if (CollectionUtils.isEmpty(this.relationOneToManyAggrStructList) + || CollectionUtils.isEmpty(resultList)) { + return; + } + if (criteriaListMap == null) { + criteriaListMap = new HashMap<>(relationOneToManyAggrStructList.size()); + } + for (RelationStruct relationStruct : this.relationOneToManyAggrStructList) { + Set masterIdSet = resultList.stream() + .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) + .filter(Objects::nonNull) + .collect(toSet()); + if (CollectionUtils.isEmpty(masterIdSet)) { + continue; } - for (RelationStruct relationStruct : this.relationOneToManyAggrStructList) { - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue != null) { - RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; - String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - String slaveColumnName = - MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - slaveTable, slaveColumnName, relation.slaveModelClass(), - slaveTable, relation.aggregationField(), relation.aggregationType()); - String selectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - StringBuilder whereClause = new StringBuilder(64); - if (masterIdValue instanceof Number) { - whereClause.append(slaveColumnName).append(" = ").append(masterIdValue); - } else { - whereClause.append(slaveColumnName).append(" = '").append(masterIdValue).append("'"); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relation.slaveModelClass(), - relationStruct.service.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - if (CollectionUtils.isNotEmpty(criteriaList)) { - String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); - whereClause.append(" AND ").append(criteriaString); - } - // 获取分组聚合计算结果 - List> aggregationMapList = mapper().getGroupedListByCondition( - slaveTable, selectList, whereClause.toString(), groupBy); - // 将计算结果回填到主表关联字段 - if (CollectionUtils.isNotEmpty(aggregationMapList)) { - Object value = aggregationMapList.get(0).get(AGGREGATED_VALUE); - if (value != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); - } - } + RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; + // 开始获取后面所需的各种关联数据。此部分今后可以移植到缓存中,无需每次计算。 + String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); + String slaveColumnName = MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); + Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( + slaveTable, slaveColumnName, relation.slaveModelClass(), + slaveTable, relation.aggregationField(), relation.aggregationType()); + String selectList = selectAndGroupByTuple.getFirst(); + String groupBy = selectAndGroupByTuple.getSecond(); + List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); + if (criteriaList == null) { + criteriaList = new LinkedList<>(); + } + MyWhereCriteria inlistFilter = new MyWhereCriteria(); + inlistFilter.setCriteria(relation.slaveModelClass(), + relation.slaveIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); + criteriaList.add(inlistFilter); + if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { + MyWhereCriteria deleteFilter = new MyWhereCriteria(); + deleteFilter.setCriteria( + relation.slaveModelClass(), + relationStruct.service.deletedFlagFieldName, + MyWhereCriteria.OPERATOR_EQUAL, + GlobalDeletedFlag.NORMAL); + criteriaList.add(deleteFilter); + } + String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); + List> aggregationMapList = + mapper().getGroupedListByCondition(slaveTable, selectList, criteriaString, groupBy); + doMakeLocalAggregationData(aggregationMapList, resultList, relationStruct); + } + } + + /** + * 根据实体对象和过滤条件,集成本地一对多关联聚合计算数据。 + * + * @param dataObject 实体对象。 + * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 + */ + private void buildOneToManyAggregationForData( + T dataObject, Map> criteriaListMap) { + if (dataObject == null || CollectionUtils.isEmpty(this.relationOneToManyAggrStructList)) { + return; + } + if (criteriaListMap == null) { + criteriaListMap = new HashMap<>(relationOneToManyAggrStructList.size()); + } + for (RelationStruct relationStruct : this.relationOneToManyAggrStructList) { + Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); + if (masterIdValue == null) { + continue; + } + RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; + String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); + String slaveColumnName = + MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); + Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( + slaveTable, slaveColumnName, relation.slaveModelClass(), + slaveTable, relation.aggregationField(), relation.aggregationType()); + String selectList = selectAndGroupByTuple.getFirst(); + String groupBy = selectAndGroupByTuple.getSecond(); + String whereClause = this.makeOneToManyWhereClause( + relationStruct, masterIdValue, slaveColumnName, criteriaListMap); + // 获取分组聚合计算结果 + List> aggregationMapList = + mapper().getGroupedListByCondition(slaveTable, selectList, whereClause, groupBy); + // 将计算结果回填到主表关联字段 + if (CollectionUtils.isNotEmpty(aggregationMapList)) { + Object value = aggregationMapList.get(0).get(AGGREGATED_VALUE); + if (value != null) { + ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); } } } - GlobalThreadLocal.setDataPerm(dataPermEnabled); - return dataObject; } /** * 仅仅在spring boot 启动后的监听器事件中调用,缓存所有service的关联关系,加速后续的数据绑定效率。 */ - @SuppressWarnings("unchecked") public void loadRelationStruct() { Field[] fields = ReflectUtil.getFields(modelClass); for (Field f : fields) { - RelationConstDict relationConstDict = f.getAnnotation(RelationConstDict.class); - if (relationConstDict != null) { - if (relationConstDictStructList == null) { - relationConstDictStructList = new LinkedList<>(); - } - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationConstDict.masterIdField()); - Field dictMapField = ReflectUtil.getField(relationConstDict.constantDictClass(), "DICT_MAP"); - relationStruct.dictMap = (Map) ReflectUtil.getFieldValue(modelClass, dictMapField); - relationConstDictStructList.add(relationStruct); - continue; - } - RelationDict relationDict = f.getAnnotation(RelationDict.class); - if (relationDict != null) { - if (relationDictStructList == null) { - relationDictStructList = new LinkedList<>(); - } - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationDict.masterIdField()); - relationStruct.relationDict = relationDict; - if (StringUtils.isNotBlank(relationDict.equalOneToOneRelationField())) { - relationStruct.equalOneToOneRelationField = - ReflectUtil.getField(modelClass, relationDict.equalOneToOneRelationField()); - } - relationStruct.service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationDict.slaveServiceName())); - relationDictStructList.add(relationStruct); - continue; - } - RelationOneToOne relationOneToOne = f.getAnnotation(RelationOneToOne.class); - if (relationOneToOne != null) { - if (relationOneToOneStructList == null) { - relationOneToOneStructList = new LinkedList<>(); - } - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToOne.masterIdField()); - relationStruct.relationOneToOne = relationOneToOne; - relationStruct.service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationOneToOne.slaveServiceName())); - relationOneToOneStructList.add(relationStruct); - continue; - } - RelationOneToManyAggregation relationOneToManyAggregation = f.getAnnotation(RelationOneToManyAggregation.class); - if (relationOneToManyAggregation != null) { - if (relationOneToManyAggrStructList == null) { - relationOneToManyAggrStructList = new LinkedList<>(); - } - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToManyAggregation.masterIdField()); - relationStruct.relationOneToManyAggregation = relationOneToManyAggregation; - relationStruct.service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationOneToManyAggregation.slaveServiceName())); - relationOneToManyAggrStructList.add(relationStruct); - continue; - } - RelationManyToManyAggregation relationManyToManyAggregation = f.getAnnotation(RelationManyToManyAggregation.class); - if (relationManyToManyAggregation != null) { - if (relationManyToManyAggrStructList == null) { - relationManyToManyAggrStructList = new LinkedList<>(); - } - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationManyToManyAggregation.masterIdField()); - relationStruct.relationManyToManyAggregation = relationManyToManyAggregation; - relationStruct.service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationManyToManyAggregation.slaveServiceName())); - relationManyToManyAggrStructList.add(relationStruct); - } + initializeRelationDictStruct(f); + initializeRelationStruct(f); + initializeRelationAggregationStruct(f); } } @@ -1189,10 +1107,208 @@ public abstract class BaseService { return e; } + private void initializeRelationStruct(Field f) { + RelationOneToOne relationOneToOne = f.getAnnotation(RelationOneToOne.class); + if (relationOneToOne != null) { + RelationStruct relationStruct = new RelationStruct(); + relationStruct.relationField = f; + relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToOne.masterIdField()); + relationStruct.relationOneToOne = relationOneToOne; + relationStruct.service = ApplicationContextHolder.getBean( + StringUtils.uncapitalize(relationOneToOne.slaveServiceName())); + relationOneToOneStructList.add(relationStruct); + return; + } + RelationManyToMany relationManyToMany = f.getAnnotation(RelationManyToMany.class); + if (relationManyToMany != null) { + RelationStruct relationStruct = new RelationStruct(); + relationStruct.relationField = f; + relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationManyToMany.relationMasterIdField()); + relationStruct.relationManyToMany = relationManyToMany; + relationStruct.manyToManyMapper = ApplicationContextHolder.getBean( + StringUtils.uncapitalize(relationManyToMany.relationMapperName())); + relationManyToManyStructList.add(relationStruct); + } + } + + private void initializeRelationAggregationStruct(Field f) { + RelationOneToManyAggregation relationOneToManyAggregation = f.getAnnotation(RelationOneToManyAggregation.class); + if (relationOneToManyAggregation != null) { + RelationStruct relationStruct = new RelationStruct(); + relationStruct.relationField = f; + relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToManyAggregation.masterIdField()); + relationStruct.relationOneToManyAggregation = relationOneToManyAggregation; + relationStruct.service = ApplicationContextHolder.getBean( + StringUtils.uncapitalize(relationOneToManyAggregation.slaveServiceName())); + relationOneToManyAggrStructList.add(relationStruct); + return; + } + RelationManyToManyAggregation relationManyToManyAggregation = f.getAnnotation(RelationManyToManyAggregation.class); + if (relationManyToManyAggregation != null) { + RelationStruct relationStruct = new RelationStruct(); + relationStruct.relationField = f; + relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationManyToManyAggregation.masterIdField()); + relationStruct.relationManyToManyAggregation = relationManyToManyAggregation; + relationStruct.service = ApplicationContextHolder.getBean( + StringUtils.uncapitalize(relationManyToManyAggregation.slaveServiceName())); + relationManyToManyAggrStructList.add(relationStruct); + } + } + + @SuppressWarnings("unchecked") + private void initializeRelationDictStruct(Field f) { + RelationConstDict relationConstDict = f.getAnnotation(RelationConstDict.class); + if (relationConstDict != null) { + RelationStruct relationStruct = new RelationStruct(); + relationStruct.relationField = f; + relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationConstDict.masterIdField()); + Field dictMapField = ReflectUtil.getField(relationConstDict.constantDictClass(), "DICT_MAP"); + relationStruct.dictMap = (Map) ReflectUtil.getFieldValue(modelClass, dictMapField); + relationConstDictStructList.add(relationStruct); + return; + } + RelationDict relationDict = f.getAnnotation(RelationDict.class); + if (relationDict != null) { + RelationStruct relationStruct = new RelationStruct(); + relationStruct.relationField = f; + relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationDict.masterIdField()); + relationStruct.relationDict = relationDict; + if (StringUtils.isNotBlank(relationDict.equalOneToOneRelationField())) { + relationStruct.equalOneToOneRelationField = + ReflectUtil.getField(modelClass, relationDict.equalOneToOneRelationField()); + } + relationStruct.service = ApplicationContextHolder.getBean( + StringUtils.uncapitalize(relationDict.slaveServiceName())); + relationDictStructList.add(relationStruct); + } + } + + private BasicAggregationRelationInfo parseBasicAggregationRelationInfo( + RelationStruct relationStruct, Map> criteriaListMap) { + RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; + BasicAggregationRelationInfo relationInfo = new BasicAggregationRelationInfo(); + // 提取关联中用到的各种字段和表数据。 + relationInfo.slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); + relationInfo.relationTable = MyModelUtil.mapToTableName(relation.relationModelClass()); + relationInfo.relationMasterColumn = + MyModelUtil.mapToColumnName(relation.relationMasterIdField(), relation.relationModelClass()); + relationInfo.relationSlaveColumn = + MyModelUtil.mapToColumnName(relation.relationSlaveIdField(), relation.relationModelClass()); + relationInfo.slaveColumn = MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); + // 判断是否只需要关联中间表即可,从而提升查询统计的效率。 + // 1. 统计字段为中间表字段。2. 自定义过滤条件中没有基于从表字段的过滤条件。 + relationInfo.onlySelectRelationTable = + relation.aggregationModelClass().equals(relation.relationModelClass()); + if (relationInfo.onlySelectRelationTable && MapUtils.isNotEmpty(criteriaListMap)) { + List criteriaList = + criteriaListMap.get(relationStruct.relationField.getName()); + if (CollectionUtils.isNotEmpty(criteriaList)) { + for (MyWhereCriteria whereCriteria : criteriaList) { + if (whereCriteria.getModelClazz().equals(relation.slaveModelClass())) { + relationInfo.onlySelectRelationTable = false; + break; + } + } + } + } + String aggregationTable = relation.aggregationModelClass().equals(relation.relationModelClass()) + ? relationInfo.relationTable : relationInfo.slaveTable; + Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( + relationInfo.relationTable, relationInfo.relationMasterColumn, relation.aggregationModelClass(), + aggregationTable, relation.aggregationField(), relation.aggregationType()); + relationInfo.selectList = selectAndGroupByTuple.getFirst(); + relationInfo.groupBy = selectAndGroupByTuple.getSecond(); + return relationInfo; + } + + private String makeManyToManyWhereClause( + RelationStruct relationStruct, + Object masterIdValue, + BasicAggregationRelationInfo basicRelationInfo, + Map> criteriaListMap) { + StringBuilder whereClause = new StringBuilder(256); + whereClause.append(basicRelationInfo.relationTable) + .append(".").append(basicRelationInfo.relationMasterColumn); + if (masterIdValue instanceof Number) { + whereClause.append(" = ").append(masterIdValue); + } else { + whereClause.append(" = '").append(masterIdValue).append("'"); + } + // 如果需要从表聚合计算或参与过滤,则需要把中间表和从表之间的关联条件加上。 + if (!basicRelationInfo.onlySelectRelationTable) { + whereClause.append(AND_OP) + .append(basicRelationInfo.relationTable) + .append(".") + .append(basicRelationInfo.relationSlaveColumn) + .append(" = ") + .append(basicRelationInfo.slaveTable) + .append(".") + .append(basicRelationInfo.slaveColumn); + } + List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); + if (criteriaList == null) { + criteriaList = new LinkedList<>(); + } + if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { + MyWhereCriteria deleteFilter = new MyWhereCriteria(); + deleteFilter.setCriteria( + relationStruct.relationManyToManyAggregation.slaveModelClass(), + relationStruct.service.deletedFlagFieldName, + MyWhereCriteria.OPERATOR_EQUAL, + GlobalDeletedFlag.NORMAL); + criteriaList.add(deleteFilter); + } + if (CollectionUtils.isNotEmpty(criteriaList)) { + String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); + whereClause.append(AND_OP).append(criteriaString); + } + return whereClause.toString(); + } + + private String makeOneToManyWhereClause( + RelationStruct relationStruct, + Object masterIdValue, + String slaveColumnName, + Map> criteriaListMap) { + StringBuilder whereClause = new StringBuilder(64); + if (masterIdValue instanceof Number) { + whereClause.append(slaveColumnName).append(" = ").append(masterIdValue); + } else { + whereClause.append(slaveColumnName).append(" = '").append(masterIdValue).append("'"); + } + List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); + if (criteriaList == null) { + criteriaList = new LinkedList<>(); + } + if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { + MyWhereCriteria deleteFilter = new MyWhereCriteria(); + deleteFilter.setCriteria( + relationStruct.relationOneToManyAggregation.slaveModelClass(), + relationStruct.service.deletedFlagFieldName, + MyWhereCriteria.OPERATOR_EQUAL, + GlobalDeletedFlag.NORMAL); + criteriaList.add(deleteFilter); + } + if (CollectionUtils.isNotEmpty(criteriaList)) { + String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); + whereClause.append(AND_OP).append(criteriaString); + } + return whereClause.toString(); + } + + private static class BasicAggregationRelationInfo { + private String slaveTable; + private String slaveColumn; + private String relationTable; + private String relationMasterColumn; + private String relationSlaveColumn; + private String selectList; + private String groupBy; + private boolean onlySelectRelationTable; + } + private void doMakeLocalAggregationData( - List> aggregationMapList, - List resultList, - RelationStruct relationStruct) { + List> aggregationMapList, List resultList, RelationStruct relationStruct) { if (CollectionUtils.isEmpty(resultList)) { return; } @@ -1254,15 +1370,16 @@ public abstract class BaseService { } static class RelationStruct { - public Field relationField; - public Field masterIdField; - public Field equalOneToOneRelationField; - public BaseService service; - public Map dictMap; - public RelationDict relationDict; - public RelationOneToOne relationOneToOne; - public RelationConstDict relationConstDict; - public RelationOneToManyAggregation relationOneToManyAggregation; - public RelationManyToManyAggregation relationManyToManyAggregation; + private Field relationField; + private Field masterIdField; + private Field equalOneToOneRelationField; + private BaseService service; + private BaseDaoMapper manyToManyMapper; + private Map dictMap; + private RelationDict relationDict; + private RelationOneToOne relationOneToOne; + private RelationManyToMany relationManyToMany; + private RelationOneToManyAggregation relationOneToManyAggregation; + private RelationManyToManyAggregation relationManyToManyAggregation; } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/DictionaryCache.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/DictionaryCache.java index cafdbdd8..0a0bff86 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/DictionaryCache.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/DictionaryCache.java @@ -9,7 +9,7 @@ import java.util.Set; * @param 字典表主键类型。 * @param 字典表对象类型。 * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface DictionaryCache { @@ -39,8 +39,9 @@ public interface DictionaryCache { * 重新加载,先清空原有数据,在执行putAll的操作。 * * @param dataList 待缓存的数据列表。 + * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 */ - void reload(List dataList); + void reload(List dataList, boolean force); /** * 从缓存中获取指定的数据。 @@ -53,7 +54,7 @@ public interface DictionaryCache { /** * 将数据存入缓存。 * - * @param key 通常为字典数据的主键。 + * @param key 通常为字典数据的主键。 * @param object 字典数据对象。 */ void put(K key, V object); @@ -81,7 +82,7 @@ public interface DictionaryCache { void invalidateSet(Set keys); /** - * 清空缓存 + * 清空缓存。 */ void invalidateAll(); } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/MapDictionaryCache.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/MapDictionaryCache.java index 766289fa..f1a99c9d 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/MapDictionaryCache.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/MapDictionaryCache.java @@ -9,7 +9,7 @@ import java.util.function.Function; * @param 字典表主键类型。 * @param 字典表对象类型。 * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class MapDictionaryCache implements DictionaryCache { @@ -26,8 +26,8 @@ public class MapDictionaryCache implements DictionaryCache { * 当前对象的构造器函数。 * * @param idGetter 获取当前类主键字段值的函数对象。 - * @param 字典主键类型。 - * @param 字典对象类型 + * @param 字典主键类型。 + * @param 字典对象类型 * @return 实例化后的字典内存缓存对象。 */ public static MapDictionaryCache create(Function idGetter) { @@ -37,10 +37,20 @@ public class MapDictionaryCache implements DictionaryCache { return new MapDictionaryCache<>(idGetter); } + /** + * 构造函数。 + * + * @param idGetter 主键Id的获取函数对象。 + */ public MapDictionaryCache(Function idGetter) { this.idGetter = idGetter; } + /** + * 按照数据插入的顺序返回全部字典对象的列表。 + * + * @return 全部字段数据列表。 + */ @Override public synchronized List getAll() { List resultList = new LinkedList<>(); @@ -50,6 +60,12 @@ public class MapDictionaryCache implements DictionaryCache { return resultList; } + /** + * 获取缓存中与键列表对应的对象列表。 + * + * @param keys 主键集合。 + * @return 对象列表。 + */ @Override public synchronized List getInList(Set keys) { List resultList = new LinkedList<>(); @@ -62,6 +78,11 @@ public class MapDictionaryCache implements DictionaryCache { return resultList; } + /** + * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 + * + * @param dataList 待缓存的数据列表。 + */ @Override public synchronized void putAll(List dataList) { if (dataList == null) { @@ -73,32 +94,69 @@ public class MapDictionaryCache implements DictionaryCache { }); } + /** + * 重新加载,先清空原有数据,在执行putAll的操作。 + * + * @param dataList 待缓存的数据列表。 + * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 + */ @Override - public synchronized void reload(List dataList) { + public synchronized void reload(List dataList, boolean force) { + if (!force && this.getCount() > 0) { + return; + } this.invalidateAll(); this.putAll(dataList); } + /** + * 从缓存中获取指定的数据。 + * + * @param id 数据的key。 + * @return 获取到的数据,如果没有返回null。 + */ @Override public synchronized V get(K id) { return id == null ? null : dataMap.get(id); } + /** + * 将数据存入缓存。 + * + * @param id 通常为字典数据的主键。 + * @param object 字典数据对象。 + */ @Override public synchronized void put(K id, V object) { dataMap.put(id, object); } + /** + * 获取缓存中数据条目的数量。 + * + * @return 返回缓存的数据数量。 + */ @Override public synchronized int getCount() { return dataMap.size(); } + /** + * 删除缓存中指定的键。 + * + * @param id 待删除数据的主键。 + * @return 返回被删除的对象,如果主键不存在,返回null。 + */ @Override public synchronized V invalidate(K id) { return id == null ? null : dataMap.remove(id); } + /** + * 删除缓存中,参数列表中包含的键。 + * + * @param keys 待删除数据的主键集合。 + */ @Override public synchronized void invalidateSet(Set keys) { keys.forEach(id -> { @@ -108,6 +166,9 @@ public class MapDictionaryCache implements DictionaryCache { }); } + /** + * 清空缓存。 + */ @Override public synchronized void invalidateAll() { dataMap.clear(); diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/MapTreeDictionaryCache.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/MapTreeDictionaryCache.java index 3587a7f3..6bb5bb47 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/MapTreeDictionaryCache.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/cache/MapTreeDictionaryCache.java @@ -12,10 +12,13 @@ import java.util.function.Function; * @param 字典表主键类型。 * @param 字典表对象类型。 * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class MapTreeDictionaryCache extends MapDictionaryCache { + /** + * 树形数据存储对象。 + */ private final Multimap allTreeMap = LinkedHashMultimap.create(); /** * 获取字典父主键数据的函数对象。 @@ -25,10 +28,10 @@ public class MapTreeDictionaryCache extends MapDictionaryCache { /** * 当前对象的构造器函数。 * - * @param idGetter 获取当前类主键字段值的函数对象。 + * @param idGetter 获取当前类主键字段值的函数对象。 * @param parentIdGetter 获取当前类父主键字段值的函数对象。 - * @param 字典主键类型。 - * @param 字典对象类型 + * @param 字典主键类型。 + * @param 字典对象类型 * @return 实例化后的树形字典内存缓存对象。 */ public static MapTreeDictionaryCache create(Function idGetter, Function parentIdGetter) { @@ -41,6 +44,12 @@ public class MapTreeDictionaryCache extends MapDictionaryCache { return new MapTreeDictionaryCache<>(idGetter, parentIdGetter); } + /** + * 构造函数。 + * + * @param idGetter 获取当前类主键字段值的函数对象。 + * @param parentIdGetter 获取当前类父主键字段值的函数对象。 + */ public MapTreeDictionaryCache(Function idGetter, Function parentIdGetter) { super(idGetter); this.parentIdGetter = parentIdGetter; @@ -56,6 +65,11 @@ public class MapTreeDictionaryCache extends MapDictionaryCache { return new LinkedList<>(allTreeMap.get(parentId)); } + /** + * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 + * + * @param dataList 待缓存的数据列表。 + */ @Override public synchronized void putAll(List dataList) { if (dataList == null) { @@ -69,6 +83,12 @@ public class MapTreeDictionaryCache extends MapDictionaryCache { }); } + /** + * 将数据存入缓存。 + * + * @param id 通常为字典数据的主键。 + * @param data 字典数据对象。 + */ @Override public synchronized void put(K id, V data) { super.put(id, data); @@ -77,6 +97,12 @@ public class MapTreeDictionaryCache extends MapDictionaryCache { allTreeMap.put(parentId, data); } + /** + * 删除缓存中指定的键。 + * + * @param id 待删除数据的主键。 + * @return 返回被删除的对象,如果主键不存在,返回null。 + */ @Override public synchronized V invalidate(K id) { V v = super.invalidate(id); @@ -87,6 +113,11 @@ public class MapTreeDictionaryCache extends MapDictionaryCache { return v; } + /** + * 删除缓存中,参数列表中包含的键。 + * + * @param keys 待删除数据的主键集合。 + */ @Override public synchronized void invalidateSet(Set keys) { keys.forEach(id -> { @@ -100,6 +131,9 @@ public class MapTreeDictionaryCache extends MapDictionaryCache { }); } + /** + * 清空缓存。 + */ @Override public synchronized void invalidateAll() { super.invalidateAll(); diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/AggregationType.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/AggregationType.java index 35acef63..158b4142 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/AggregationType.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/AggregationType.java @@ -7,32 +7,32 @@ import java.util.Map; * 聚合计算的常量类型对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public final class AggregationType { /** * sum 计数 */ - public final static int SUM = 0; + public static final int SUM = 0; /** * count 汇总 */ - public final static int COUNT = 1; + public static final int COUNT = 1; /** * average 平均值 */ - public final static int AVG = 2; + public static final int AVG = 2; /** * min 最小值 */ - public final static int MIN = 3; + public static final int MIN = 3; /** * max 最大值 */ - public final static int MAX = 4; + public static final int MAX = 4; - public static final Map DICT_MAP = new HashMap<>(5); + private static final Map DICT_MAP = new HashMap<>(5); static { DICT_MAP.put(0, "累计总和"); DICT_MAP.put(1, "数量总和"); @@ -48,7 +48,7 @@ public final class AggregationType { * @return 合法返回true,否则false。 */ public static boolean isValid(Integer value) { - return DICT_MAP.containsKey(value); + return value != null && DICT_MAP.containsKey(value); } /** @@ -72,4 +72,10 @@ public final class AggregationType { throw new IllegalArgumentException("无效的聚合类型!"); } } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private AggregationType() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ApplicationConstant.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ApplicationConstant.java index 58638a43..eda91fce 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ApplicationConstant.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ApplicationConstant.java @@ -4,16 +4,41 @@ package com.orange.admin.common.core.constant; * 应用程序的常量声明对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ -public interface ApplicationConstant { +public final class ApplicationConstant { /** * 图片文件上传的父目录。 */ - String UPLOAD_IMAGE_PARENT_PATH = "/image"; + public static final String UPLOAD_IMAGE_PARENT_PATH = "image"; /** * 附件文件上传的父目录。 */ - String UPLOAD_ATTACHMENT_PARENT_PATH = "/attachment"; + public static final String UPLOAD_ATTACHMENT_PARENT_PATH = "attachment"; + /** + * CSV文件扩展名。 + */ + public static final String CSV_EXT = "csv"; + /** + * XLSX文件扩展名。 + */ + public static final String XLSX_EXT = "xlsx"; + /** + * 统计分类计算时,按天聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) + */ + public static final String DAY_AGGREGATION = "day"; + /** + * 统计分类计算时,按月聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) + */ + public static final String MONTH_AGGREGATION = "month"; + /** + * 统计分类计算时,按年聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) + */ + public static final String YEAR_AGGREGATION = "year"; + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private ApplicationConstant() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/DataPermRuleType.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/DataPermRuleType.java index 59f67b63..820ca35b 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/DataPermRuleType.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/DataPermRuleType.java @@ -7,7 +7,7 @@ import java.util.Map; * 数据权限规则类型常量类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public final class DataPermRuleType { @@ -31,7 +31,7 @@ public final class DataPermRuleType { */ public static final int TYPE_CUSTOM_DETP_LIST = 5; - public static final Map DICT_MAP = new HashMap<>(4); + private static final Map DICT_MAP = new HashMap<>(4); static { DICT_MAP.put(0, "查看全部"); DICT_MAP.put(1, "仅查看当前用户"); @@ -45,8 +45,8 @@ public final class DataPermRuleType { * @param value 待验证的参数值。 * @return 合法返回true,否则false。 */ - public static boolean isValid(int value) { - return DICT_MAP.containsKey(value); + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); } /** diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ErrorCodeEnum.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ErrorCodeEnum.java index b8d9ac08..3954b468 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ErrorCodeEnum.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ErrorCodeEnum.java @@ -4,11 +4,17 @@ package com.orange.admin.common.core.constant; * 返回应答中的错误代码和错误信息。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public enum ErrorCodeEnum { + /** + * 没有错误 + */ NO_ERROR("没有错误"), + /** + * 未处理的异常! + */ UNHANDLED_EXCEPTION("未处理的异常!"), ARGUMENT_NULL_EXIST("数据验证失败,接口调用参数存在空值,请核对!"), @@ -37,24 +43,35 @@ public enum ErrorCodeEnum { DATA_PARENT_LEVEL_ID_NOT_EXIST("数据验证失败,父级别关联Id不存在,请刷新后重试!"), DATA_PARENT_ID_NOT_EXIST("数据验证失败,ParentId不存在,请核对!"), INVALID_RELATED_RECORD_ID("数据验证失败,关联数据并不存在,请刷新后重试!"), - INVALID_DATA_FIELD("数据验证失败,无效的数据字段!"), + INVALID_DATA_MODEL("数据验证失败,无效的数据实体对象!"), + INVALID_DATA_FIELD("数据验证失败,无效的数据实体对象字段!"), + INVALID_CLASS_FIELD("数据验证失败,无效的类对象字段!"), SERVER_INTERNAL_ERROR("服务器内部错误,请联系管理员!"), REDIS_CACHE_ACCESS_TIMEOUT("Redis缓存数据访问超时,请刷新后重试!"), REDIS_CACHE_ACCESS_STATE_ERROR("Redis缓存数据访问状态错误,请刷新后重试!"); // 下面的枚举值为特定枚举值,即开发者可以根据自己的项目需求定义更多的非通用枚举值 + /** + * 构造函数。 + * + * @param errorMessage 错误消息。 + */ ErrorCodeEnum(String errorMessage) { this.errorMessage = errorMessage; } + /** + * 错误信息。 + */ private String errorMessage; + /** + * 获取错误信息。 + * + * @return 错误信息。 + */ public String getErrorMessage() { return errorMessage; } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/GlobalDeletedFlag.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/GlobalDeletedFlag.java index 1f7f273f..c20458ff 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/GlobalDeletedFlag.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/GlobalDeletedFlag.java @@ -4,16 +4,22 @@ package com.orange.admin.common.core.constant; * 数据记录逻辑删除标记常量。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ -public interface GlobalDeletedFlag { +public final class GlobalDeletedFlag { /** * 表示数据表记录已经删除 */ - int DELETED = -1; + public static final int DELETED = -1; /** * 数据记录正常 */ - int NORMAL = 1; + public static final int NORMAL = 1; + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private GlobalDeletedFlag() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/DataValidationException.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/DataValidationException.java index e7717e81..ca88bb96 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/DataValidationException.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/DataValidationException.java @@ -4,14 +4,22 @@ package com.orange.admin.common.core.exception; * 数据验证失败的自定义异常。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class DataValidationException extends RuntimeException { + /** + * 构造函数。 + */ public DataValidationException() { } + /** + * 构造函数。 + * + * @param msg 错误信息。 + */ public DataValidationException(String msg) { super(msg); } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidClassFieldException.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidClassFieldException.java new file mode 100644 index 00000000..6df6d478 --- /dev/null +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidClassFieldException.java @@ -0,0 +1,30 @@ +package com.orange.admin.common.core.exception; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 无效的类对象字段的自定义异常。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class InvalidClassFieldException extends RuntimeException { + + private final String className; + private final String fieldName; + + /** + * 构造函数。 + * + * @param className 对象名。 + * @param fieldName 字段名。 + */ + public InvalidClassFieldException(String className, String fieldName) { + super("Invalid FieldName [" + fieldName + "] in Class [" + className + "]."); + this.className = className; + this.fieldName = fieldName; + } +} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidDataFieldException.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidDataFieldException.java index dd9c387b..338b4676 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidDataFieldException.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidDataFieldException.java @@ -7,15 +7,21 @@ import lombok.EqualsAndHashCode; * 无效的实体对象字段的自定义异常。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Data @EqualsAndHashCode(callSuper = true) public class InvalidDataFieldException extends RuntimeException { - private String modelName; - private String fieldName; + private final String modelName; + private final String fieldName; + /** + * 构造函数。 + * + * @param modelName 实体对象名。 + * @param fieldName 字段名。 + */ public InvalidDataFieldException(String modelName, String fieldName) { super("Invalid FieldName [" + fieldName + "] in Model Class [" + modelName + "]."); this.modelName = modelName; diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidDataModelException.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidDataModelException.java index 7599a08b..ab933c43 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidDataModelException.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/InvalidDataModelException.java @@ -7,14 +7,19 @@ import lombok.EqualsAndHashCode; * 无效的实体对象的自定义异常。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Data @EqualsAndHashCode(callSuper = true) public class InvalidDataModelException extends RuntimeException { - private String modelName; + private final String modelName; + /** + * 构造函数。 + * + * @param modelName 实体对象名。 + */ public InvalidDataModelException(String modelName) { super("Invalid Model Class [" + modelName + "]."); this.modelName = modelName; diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/MyRuntimeException.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/MyRuntimeException.java new file mode 100644 index 00000000..ac138399 --- /dev/null +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/MyRuntimeException.java @@ -0,0 +1,36 @@ +package com.orange.admin.common.core.exception; + +/** + * 自定义的运行时异常,在需要抛出运行时异常时,可使用该异常。 + * NOTE:主要是为了避免SonarQube进行代码质量扫描时,给出警告。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ +public class MyRuntimeException extends RuntimeException { + + /** + * 构造函数。 + */ + public MyRuntimeException() { + + } + + /** + * 构造函数。 + * + * @param throwable 引发异常对象。 + */ + public MyRuntimeException(Throwable throwable) { + super(throwable); + } + + /** + * 构造函数。 + * + * @param msg 错误信息。 + */ + public MyRuntimeException(String msg) { + super(msg); + } +} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/NoDataAffectException.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/NoDataAffectException.java index 000ec7ea..f4f853d9 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/NoDataAffectException.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/NoDataAffectException.java @@ -4,14 +4,22 @@ package com.orange.admin.common.core.exception; * 没有数据被修改的自定义异常。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class NoDataAffectException extends RuntimeException { + /** + * 构造函数。 + */ public NoDataAffectException() { } + /** + * 构造函数。 + * + * @param msg 错误信息。 + */ public NoDataAffectException(String msg) { super(msg); } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/NoDataPermException.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/NoDataPermException.java index 56ba42cc..82a5a406 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/NoDataPermException.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/NoDataPermException.java @@ -4,14 +4,22 @@ package com.orange.admin.common.core.exception; * 没有数据访问权限的自定义异常。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class NoDataPermException extends RuntimeException { + /** + * 构造函数。 + */ public NoDataPermException() { } + /** + * 构造函数。 + * + * @param msg 错误信息。 + */ public NoDataPermException(String msg) { super(msg); } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/RedisCacheAccessException.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/RedisCacheAccessException.java index fee4ba7f..60b5fe21 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/RedisCacheAccessException.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/exception/RedisCacheAccessException.java @@ -4,10 +4,16 @@ package com.orange.admin.common.core.exception; * Redis缓存访问失败。比如:获取分布式数据锁超时、等待线程中断等。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class RedisCacheAccessException extends RuntimeException { + /** + * 构造函数。 + * + * @param msg 错误信息。 + * @param cause 原始异常。 + */ public RedisCacheAccessException(String msg, Throwable cause) { super(msg, cause); } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/VerifyResult.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/CallResult.java similarity index 69% rename from orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/VerifyResult.java rename to orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/CallResult.java index 384c140b..8b9c3f39 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/VerifyResult.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/CallResult.java @@ -8,11 +8,15 @@ import lombok.Data; * 同时为了提升效率,减少查询次数,可以根据具体的需求,将部分验证关联对象存入data字段,以供Controller使用。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Data -public class VerifyResult { +public class CallResult { + /** + * 为了优化性能,所有没有携带数据的正确结果,均可用该对象表示。 + */ + private static final CallResult OK = new CallResult(); /** * 是否成功标记。 */ @@ -32,7 +36,7 @@ public class VerifyResult { * @param errorMessage 错误描述信息。 * @return 如果参数为空,表示成功,否则返回代码错误信息的错误对象实例。 */ - public static VerifyResult create(String errorMessage) { + public static CallResult create(String errorMessage) { return errorMessage == null ? ok() : error(errorMessage); } @@ -40,10 +44,10 @@ public class VerifyResult { * 创建验证结果对象。 * * @param errorMessage 错误描述信息。 - * @param data 附带的数据对象。 + * @param data 附带的数据对象。 * @return 如果参数为空,表示成功,否则返回代码错误信息的错误对象实例。 */ - public static VerifyResult create(String errorMessage, JSONObject data) { + public static CallResult create(String errorMessage, JSONObject data) { return errorMessage == null ? ok(data) : error(errorMessage); } @@ -52,8 +56,8 @@ public class VerifyResult { * * @return 验证成功对象实例。 */ - public static VerifyResult ok() { - return new VerifyResult(); + public static CallResult ok() { + return OK; } /** @@ -62,8 +66,8 @@ public class VerifyResult { * @param data 附带的数据对象。 * @return 验证成功对象实例。 */ - public static VerifyResult ok(JSONObject data) { - VerifyResult result = new VerifyResult(); + public static CallResult ok(JSONObject data) { + CallResult result = new CallResult(); result.data = data; return result; } @@ -74,11 +78,10 @@ public class VerifyResult { * @param errorMessage 错误描述。 * @return 验证失败对象实例。 */ - public static VerifyResult error(String errorMessage) { - VerifyResult verifyResult = new VerifyResult(); - verifyResult.success = false; - verifyResult.errorMessage = errorMessage; - return verifyResult; + public static CallResult error(String errorMessage) { + CallResult result = new CallResult(); + result.success = false; + result.errorMessage = errorMessage; + return result; } - } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/GlobalThreadLocal.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/GlobalThreadLocal.java index c34f7b95..98b2850c 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/GlobalThreadLocal.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/GlobalThreadLocal.java @@ -6,7 +6,7 @@ import cn.hutool.core.util.BooleanUtil; * 线程本地化数据管理的工具类。可根据需求自行添加更多的线程本地化变量及其操作方法。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class GlobalThreadLocal { @@ -42,4 +42,10 @@ public class GlobalThreadLocal { public static void clearDataPerm() { DATA_PERM_ENABLE.remove(); } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private GlobalThreadLocal() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyGroupCriteria.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyGroupCriteria.java index 25fb8d90..fe302317 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyGroupCriteria.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyGroupCriteria.java @@ -7,7 +7,7 @@ import lombok.Data; * Mybatis Mapper.xml中所需的分组条件对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Data @AllArgsConstructor diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyGroupParam.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyGroupParam.java index ac7073cb..b58f068c 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyGroupParam.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyGroupParam.java @@ -1,6 +1,10 @@ package com.orange.admin.common.core.object; import cn.hutool.core.util.ReflectUtil; +import com.orange.admin.common.core.constant.ApplicationConstant; +import com.orange.admin.common.core.exception.InvalidClassFieldException; +import com.orange.admin.common.core.exception.InvalidDataFieldException; +import com.orange.admin.common.core.exception.InvalidDataModelException; import com.orange.admin.common.core.util.MyModelUtil; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,7 +20,7 @@ import java.util.List; * 查询分组参数请求对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @EqualsAndHashCode(callSuper = true) @Slf4j @@ -51,62 +55,15 @@ public class MyGroupParam extends ArrayList { StringBuilder groupSelectBuilder = new StringBuilder(128); int i = 0; for (GroupInfo groupInfo : groupParam) { - String modelName, fieldName, tableName, columnName; - String[] stringArray = StringUtils.split(groupInfo.fieldName,'.'); - if (stringArray.length == 1) { - modelName = modelClazz.getSimpleName(); - fieldName = groupInfo.fieldName; - tableName = MyModelUtil.mapToTableName(modelClazz); - columnName = MyModelUtil.mapToColumnName(fieldName, modelClazz); - } else { - Field field = ReflectUtil.getField(modelClazz, stringArray[0]); - if (field == null) { - log.error("Relation Field [{}] doesn't exist in Class [{}]!", - stringArray[0], modelClazz.getSimpleName()); - return null; - } - Class fieldClazz = field.getType(); - modelName = fieldClazz.getSimpleName(); - fieldName = stringArray[1]; - tableName = MyModelUtil.mapToTableName(fieldClazz); - columnName = MyModelUtil.mapToColumnName(fieldName, fieldClazz); + GroupBaseData groupBaseData = parseGroupBaseData(groupInfo, modelClazz); + if (StringUtils.isBlank(groupBaseData.tableName)) { + throw new InvalidDataModelException(groupBaseData.modelName); } - if (StringUtils.isBlank(tableName)) { - log.error("ModelName [{}] can't be mapped to Table!", modelName); - return null; + if (StringUtils.isBlank(groupBaseData.columnName)) { + throw new InvalidDataFieldException(groupBaseData.modelName, groupBaseData.fieldName); } - if (StringUtils.isBlank(columnName)) { - log.error("FieldName [{}] in Class [{}`] can't be mapped to Column!", fieldName, modelName); - return null; - } - if (StringUtils.isNotBlank(groupInfo.dateAggregateBy)) { - groupByBuilder.append("DATE_FORMAT(").append(tableName).append(".").append(columnName); - groupSelectBuilder.append("DATE_FORMAT(").append(tableName).append(".").append(columnName); - if ("day".equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", '%Y-%m-%d')"); - groupSelectBuilder.append(", '%Y-%m-%d')"); - } else if ("month".equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", '%Y-%m-01')"); - groupSelectBuilder.append(", '%Y-%m-01')"); - } else if ("year".equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", '%Y-01-01')"); - groupSelectBuilder.append(", '%Y-01-01')"); - } else { - throw new IllegalArgumentException("Illegal DATE_FORMAT for GROUP ID list."); - } - if (StringUtils.isNotBlank(groupInfo.aliasName)) { - groupSelectBuilder.append(" ").append(groupInfo.aliasName); - } else { - groupSelectBuilder.append(" ").append(columnName); - } - } else { - groupByBuilder.append(tableName).append(".").append(columnName); - groupSelectBuilder.append(tableName).append(".").append(columnName); - if (StringUtils.isNotBlank(groupInfo.aliasName)) { - groupSelectBuilder.append(" ").append(groupInfo.aliasName); - } - } - String aliasName = StringUtils.isBlank(groupInfo.aliasName) ? fieldName : groupInfo.aliasName; + processGroupInfo(groupInfo, groupBaseData, groupByBuilder, groupSelectBuilder); + String aliasName = StringUtils.isBlank(groupInfo.aliasName) ? groupInfo.fieldName : groupInfo.aliasName; // selectGroupFieldList中的元素,目前只是被export操作使用。会根据集合中的元素名称匹配导出表头。 groupParam.selectGroupFieldList.add(aliasName); if (++i < groupParam.size()) { @@ -118,6 +75,67 @@ public class MyGroupParam extends ArrayList { return groupParam; } + private static GroupBaseData parseGroupBaseData(GroupInfo groupInfo, Class modelClazz) { + GroupBaseData baseData = new GroupBaseData(); + String[] stringArray = StringUtils.split(groupInfo.fieldName,'.'); + if (stringArray.length == 1) { + baseData.modelName = modelClazz.getSimpleName(); + baseData.fieldName = groupInfo.fieldName; + baseData.tableName = MyModelUtil.mapToTableName(modelClazz); + baseData.columnName = MyModelUtil.mapToColumnName(groupInfo.fieldName, modelClazz); + } else { + Field field = ReflectUtil.getField(modelClazz, stringArray[0]); + if (field == null) { + throw new InvalidClassFieldException(modelClazz.getSimpleName(), stringArray[0]); + } + Class fieldClazz = field.getType(); + baseData.modelName = fieldClazz.getSimpleName(); + baseData.fieldName = stringArray[1]; + baseData.tableName = MyModelUtil.mapToTableName(fieldClazz); + baseData.columnName = MyModelUtil.mapToColumnName(baseData.fieldName, fieldClazz); + } + return baseData; + } + + private static void processGroupInfo( + GroupInfo groupInfo, + GroupBaseData baseData, + StringBuilder groupByBuilder, + StringBuilder groupSelectBuilder) { + String tableName = baseData.tableName; + String columnName = baseData.columnName; + if (StringUtils.isNotBlank(groupInfo.dateAggregateBy)) { + groupByBuilder.append("DATE_FORMAT(").append(tableName).append(".").append(columnName); + groupSelectBuilder.append("DATE_FORMAT(").append(tableName).append(".").append(columnName); + if (ApplicationConstant.DAY_AGGREGATION.equals(groupInfo.dateAggregateBy)) { + groupByBuilder.append(", '%Y-%m-%d')"); + groupSelectBuilder.append(", '%Y-%m-%d')"); + } else if (ApplicationConstant.MONTH_AGGREGATION.equals(groupInfo.dateAggregateBy)) { + groupByBuilder.append(", '%Y-%m-01')"); + groupSelectBuilder.append(", '%Y-%m-01')"); + } else if (ApplicationConstant.YEAR_AGGREGATION.equals(groupInfo.dateAggregateBy)) { + groupByBuilder.append(", '%Y-01-01')"); + groupSelectBuilder.append(", '%Y-01-01')"); + } else { + throw new IllegalArgumentException("Illegal DATE_FORMAT for GROUP ID list."); + } + if (StringUtils.isNotBlank(groupInfo.aliasName)) { + groupSelectBuilder.append(" ").append(groupInfo.aliasName); + } else { + groupSelectBuilder.append(" ").append(columnName); + } + } else { + groupByBuilder.append(tableName).append(".").append(columnName); + groupSelectBuilder.append(tableName).append(".").append(columnName); + if (StringUtils.isNotBlank(groupInfo.aliasName)) { + groupSelectBuilder.append(" ").append(groupInfo.aliasName); + } + } + } + + /** + * 分组信息对象。 + */ @Data public static class GroupInfo { /** @@ -140,4 +158,11 @@ public class MyGroupParam extends ArrayList { */ private String dateAggregateBy; } + + private static class GroupBaseData { + private String modelName; + private String fieldName; + private String tableName; + private String columnName; + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyOrderParam.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyOrderParam.java index f06bd230..029186c8 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyOrderParam.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyOrderParam.java @@ -1,6 +1,10 @@ package com.orange.admin.common.core.object; import cn.hutool.core.util.ReflectUtil; +import com.orange.admin.common.core.constant.ApplicationConstant; +import com.orange.admin.common.core.exception.InvalidClassFieldException; +import com.orange.admin.common.core.exception.InvalidDataFieldException; +import com.orange.admin.common.core.exception.InvalidDataModelException; import com.orange.admin.common.core.util.MyModelUtil; import lombok.Data; import lombok.EqualsAndHashCode; @@ -14,13 +18,14 @@ import java.util.*; * Controller参数中的排序请求对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @EqualsAndHashCode(callSuper = true) @Slf4j @Data public class MyOrderParam extends ArrayList { + private static final String DICT_MAP = "DictMap."; /** * 基于排序对象中的JSON数据,构建SQL中order by从句可以直接使用的排序字符串。 * @@ -32,65 +37,21 @@ public class MyOrderParam extends ArrayList { if (orderParam == null) { return null; } - String exceptionMessage; if (modelClazz == null) { - throw new IllegalArgumentException("modelClazz Argument can't be NULL"); + throw new IllegalArgumentException( + "modelClazz Argument in MyOrderParam.buildOrderBy can't be NULL"); } int i = 0; StringBuilder orderBy = new StringBuilder(128); for (OrderInfo orderInfo : orderParam) { - String modelName, fieldName = orderInfo.fieldName, tableName, columnName; - int pos = fieldName.indexOf("DictMap."); - if (pos != -1) { - fieldName = fieldName.substring(0, pos); + OrderBaseData orderBaseData = parseOrderBaseData(orderInfo, modelClazz); + if (StringUtils.isBlank(orderBaseData.tableName)) { + throw new InvalidDataModelException(orderBaseData.modelName); } - String[] stringArray = StringUtils.split(fieldName, '.'); - if (stringArray.length == 1) { - modelName = modelClazz.getSimpleName(); - tableName = MyModelUtil.mapToTableName(modelClazz); - columnName = MyModelUtil.mapToColumnName(fieldName, modelClazz); - } else { - Field field = ReflectUtil.getField(modelClazz, stringArray[0]); - if (field == null) { - exceptionMessage = String.format( - "Relation Field [%s] doesn't exist in Class [%s]!", stringArray[0], modelClazz.getSimpleName()); - log.error(exceptionMessage); - throw new IllegalArgumentException(exceptionMessage); - } - Class fieldClazz = field.getType(); - modelName = fieldClazz.getSimpleName(); - fieldName = stringArray[1]; - tableName = MyModelUtil.mapToTableName(fieldClazz); - columnName = MyModelUtil.mapToColumnName(fieldName, fieldClazz); - } - if (StringUtils.isBlank(tableName)) { - exceptionMessage = String.format("ModelName [%s] can't be mapped to Table!", modelName); - log.error(exceptionMessage); - throw new IllegalArgumentException(exceptionMessage); - } - if (StringUtils.isBlank(columnName)) { - exceptionMessage = String.format( - "FieldName [%s] in Class [%s] can't be mapped to Column!", fieldName, modelName); - log.error(exceptionMessage); - throw new IllegalArgumentException(exceptionMessage); - } - if (StringUtils.isNotBlank(orderInfo.dateAggregateBy)) { - orderBy.append("DATE_FORMAT(").append(tableName).append(".").append(columnName); - if ("day".equals(orderInfo.dateAggregateBy)) { - orderBy.append(", '%Y-%m-%d')"); - } else if ("month".equals(orderInfo.dateAggregateBy)) { - orderBy.append(", '%Y-%m-01')"); - } else if ("year".equals(orderInfo.dateAggregateBy)) { - orderBy.append(", '%Y-01-01')"); - } else { - throw new IllegalArgumentException("Illegal DATE_FORMAT for GROUP ID list."); - } - } else { - orderBy.append(tableName).append(".").append(columnName); - } - if (orderInfo.asc != null && !orderInfo.asc) { - orderBy.append(" DESC"); + if (StringUtils.isBlank(orderBaseData.columnName)) { + throw new InvalidDataFieldException(orderBaseData.modelName, orderBaseData.fieldName); } + processOrderInfo(orderInfo, orderBaseData, orderBy); if (++i < orderParam.size()) { orderBy.append(", "); } @@ -98,12 +59,56 @@ public class MyOrderParam extends ArrayList { return orderBy.toString(); } + private static void processOrderInfo( + OrderInfo orderInfo, OrderBaseData orderBaseData, StringBuilder orderByBuilder) { + if (StringUtils.isNotBlank(orderInfo.dateAggregateBy)) { + orderByBuilder.append("DATE_FORMAT(") + .append(orderBaseData.tableName).append(".").append(orderBaseData.columnName); + if (ApplicationConstant.DAY_AGGREGATION.equals(orderInfo.dateAggregateBy)) { + orderByBuilder.append(", '%Y-%m-%d')"); + } else if (ApplicationConstant.MONTH_AGGREGATION.equals(orderInfo.dateAggregateBy)) { + orderByBuilder.append(", '%Y-%m-01')"); + } else if (ApplicationConstant.YEAR_AGGREGATION.equals(orderInfo.dateAggregateBy)) { + orderByBuilder.append(", '%Y-01-01')"); + } else { + throw new IllegalArgumentException("Illegal DATE_FORMAT for GROUP ID list."); + } + } else { + orderByBuilder.append(orderBaseData.tableName).append(".").append(orderBaseData.columnName); + } + if (orderInfo.asc != null && !orderInfo.asc) { + orderByBuilder.append(" DESC"); + } + } + + private static OrderBaseData parseOrderBaseData(OrderInfo orderInfo, Class modelClazz) { + OrderBaseData orderBaseData = new OrderBaseData(); + orderBaseData.fieldName = StringUtils.substringBefore(orderInfo.fieldName, DICT_MAP); + String[] stringArray = StringUtils.split(orderBaseData.fieldName, '.'); + if (stringArray.length == 1) { + orderBaseData.modelName = modelClazz.getSimpleName(); + orderBaseData.tableName = MyModelUtil.mapToTableName(modelClazz); + orderBaseData.columnName = MyModelUtil.mapToColumnName(orderBaseData.fieldName, modelClazz); + } else { + Field field = ReflectUtil.getField(modelClazz, stringArray[0]); + if (field == null) { + throw new InvalidClassFieldException(modelClazz.getSimpleName(), stringArray[0]); + } + Class fieldClazz = field.getType(); + orderBaseData.modelName = fieldClazz.getSimpleName(); + orderBaseData.fieldName = stringArray[1]; + orderBaseData.tableName = MyModelUtil.mapToTableName(fieldClazz); + orderBaseData.columnName = MyModelUtil.mapToColumnName(orderBaseData.fieldName, fieldClazz); + } + return orderBaseData; + } + /** * 在排序列表中,可能存在基于指定表字段的排序,该函数将获取指定表的所有排序字段。 - * 返回有的字符串,可直接用于SQL中的ORDER BY从句。 + * 返回的字符串,可直接用于SQL中的ORDER BY从句。 * - * @param orderParam 排序参数对象。 - * @param modelClazz 查询主表对应的主对象的Class。 + * @param orderParam 排序参数对象。 + * @param modelClazz 查询主表对应的主对象的Class。 * @param relationModelName 与关联表对应的Model的名称,如my_course_paper表应对的Java对象CoursePaper。 * 如果该值为null或空字符串,则获取所有主表的排序字段。 * @return 返回的是表字段,而非Java对象的属性,多个字段之间逗号分隔。 @@ -114,73 +119,72 @@ public class MyOrderParam extends ArrayList { return null; } if (modelClazz == null) { - throw new IllegalArgumentException("modelClazz Argument can't be NULL"); + throw new IllegalArgumentException( + "modelClazz Argument in MyOrderParam.getOrderClauseByModelName can't be NULL"); } - String exceptionMessage; List fieldNameList = new LinkedList<>(); String prefix = null; if (StringUtils.isNotBlank(relationModelName)) { prefix = relationModelName + "."; } for (OrderInfo orderInfo : orderParam) { - boolean found = false; - String modelName = null, fieldName = orderInfo.fieldName, tableName = null, columnName = null; - int pos = fieldName.indexOf("DictMap."); - if (pos != -1) { - fieldName = fieldName.substring(0, pos); - } - if (prefix != null) { - if (fieldName.startsWith(prefix)) { - Field field = ReflectUtil.getField(modelClazz, relationModelName); - if (field == null) { - exceptionMessage = String.format( - "Relation Field [%s] doesn't exist in Class [%s]!", relationModelName, modelClazz.getSimpleName()); - log.error(exceptionMessage); - throw new IllegalArgumentException(exceptionMessage); - } - Class fieldClazz = field.getType(); - modelName = fieldClazz.getSimpleName(); - fieldName = StringUtils.removeStart(fieldName, prefix); - tableName = MyModelUtil.mapToTableName(fieldClazz); - columnName = MyModelUtil.mapToColumnName(fieldName, fieldClazz); - found = true; - } - } else { - if (!fieldName.contains(".")) { - modelName = modelClazz.getSimpleName(); - tableName = MyModelUtil.mapToTableName(modelClazz); - columnName = MyModelUtil.mapToColumnName(fieldName, modelClazz); - found = true; - } - } - if (found) { - if (StringUtils.isBlank(tableName)) { - exceptionMessage = String.format("ModelName [%s] can't be mapped to Table!", modelName); - log.error(exceptionMessage); - throw new IllegalArgumentException(exceptionMessage); - } - if (StringUtils.isBlank(columnName)) { - exceptionMessage = String.format( - "FieldName [%s] in Class [%s] can't be mapped to Column!", fieldName, modelName); - log.error(exceptionMessage); - throw new IllegalArgumentException(exceptionMessage); - } - StringBuilder orderBy = new StringBuilder(128); - orderBy.append(tableName).append(".").append(columnName); - if (orderInfo.asc != null && !orderInfo.asc) { - orderBy.append(" DESC"); - } - fieldNameList.add(orderBy.toString()); + OrderBaseData baseData = parseOrderBaseData(orderInfo, modelClazz, prefix, relationModelName); + if (baseData != null) { + fieldNameList.add(makeOrderBy(baseData, orderInfo.asc)); } } return StringUtils.join(fieldNameList, ", "); } + private static OrderBaseData parseOrderBaseData( + OrderInfo orderInfo, Class modelClazz, String prefix, String relationModelName) { + OrderBaseData baseData = null; + String fieldName = StringUtils.substringBefore(orderInfo.fieldName, DICT_MAP); + if (prefix != null) { + if (fieldName.startsWith(prefix)) { + baseData = new OrderBaseData(); + Field field = ReflectUtil.getField(modelClazz, relationModelName); + if (field == null) { + throw new InvalidClassFieldException(modelClazz.getSimpleName(), relationModelName); + } + Class fieldClazz = field.getType(); + baseData.modelName = fieldClazz.getSimpleName(); + baseData.fieldName = StringUtils.removeStart(fieldName, prefix); + baseData.tableName = MyModelUtil.mapToTableName(fieldClazz); + baseData.columnName = MyModelUtil.mapToColumnName(fieldName, fieldClazz); + } + } else { + String dotLimitor = "."; + if (!fieldName.contains(dotLimitor)) { + baseData = new OrderBaseData(); + baseData.modelName = modelClazz.getSimpleName(); + baseData.tableName = MyModelUtil.mapToTableName(modelClazz); + baseData.columnName = MyModelUtil.mapToColumnName(fieldName, modelClazz); + } + } + return baseData; + } + + private static String makeOrderBy(OrderBaseData baseData, Boolean asc) { + if (StringUtils.isBlank(baseData.tableName)) { + throw new InvalidDataModelException(baseData.modelName); + } + if (StringUtils.isBlank(baseData.columnName)) { + throw new InvalidDataFieldException(baseData.modelName, baseData.fieldName); + } + StringBuilder orderBy = new StringBuilder(128); + orderBy.append(baseData.tableName).append(".").append(baseData.columnName); + if (asc != null && !asc) { + orderBy.append(" DESC"); + } + return orderBy.toString(); + } + /** * 在排序列表中,可能存在基于指定表字段的排序,该函数将删除指定表的所有排序字段。 * - * @param orderParam 排序参数对象。 - * @param modelClazz 查询主表对应的主对象的Class。 + * @param orderParam 排序参数对象。 + * @param modelClazz 查询主表对应的主对象的Class。 * @param relationModelName 与关联表对应的Model的名称,如my_course_paper表应对的Java对象CoursePaper。 * 如果该值为null或空字符串,则获取所有主表的排序字段。 */ @@ -190,7 +194,8 @@ public class MyOrderParam extends ArrayList { return; } if (modelClazz == null) { - throw new IllegalArgumentException("modelClazz Argument can't be NULL"); + throw new IllegalArgumentException( + "modelClazz Argument in MyOrderParam.removeOrderClauseByModelName can't be NULL"); } List fieldIndexList = new LinkedList<>(); String prefix = null; @@ -199,11 +204,7 @@ public class MyOrderParam extends ArrayList { } int i = 0; for (OrderInfo orderInfo : orderParam) { - String fieldName = orderInfo.fieldName; - int pos = fieldName.indexOf("DictMap."); - if (pos != -1) { - fieldName = fieldName.substring(0, pos); - } + String fieldName = StringUtils.substringBefore(orderInfo.fieldName, DICT_MAP); if (prefix != null) { if (fieldName.startsWith(prefix)) { fieldIndexList.add(i); @@ -220,6 +221,9 @@ public class MyOrderParam extends ArrayList { } } + /** + * 排序信息对象。 + */ @Data public static class OrderInfo { /** @@ -244,4 +248,11 @@ public class MyOrderParam extends ArrayList { */ private String dateAggregateBy; } + + private static class OrderBaseData { + private String modelName; + private String fieldName; + private String tableName; + private String columnName; + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyPageParam.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyPageParam.java index f9e8a4cd..6cf529f3 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyPageParam.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyPageParam.java @@ -6,13 +6,14 @@ import lombok.Getter; * Controller参数中的分页请求对象 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Getter public class MyPageParam { public static final int DEFAULT_PAGE_NUM = 1; public static final int DEFAULT_PAGE_SIZE = 10; + public static final int DEFAULT_MAX_SIZE = 100; /** * 分页号码,从1开始计数。 @@ -48,7 +49,7 @@ public class MyPageParam { if (pageSize == null) { return; } - if (pageSize <= 0 || pageSize > 100) { + if (pageSize <= 0 || pageSize > DEFAULT_MAX_SIZE) { pageSize = DEFAULT_PAGE_SIZE; } this.pageSize = pageSize; diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyRelationParam.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyRelationParam.java new file mode 100644 index 00000000..af0ddcb3 --- /dev/null +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyRelationParam.java @@ -0,0 +1,84 @@ +package com.orange.admin.common.core.object; + +import lombok.Builder; +import lombok.Data; + +/** + * 实体对象数据组装参数构建器。 + * BaseService中的实体对象数据组装函数,会根据该参数对象进行数据组装。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ +@Data +@Builder +public class MyRelationParam { + + /** + * 是否组装字典关联的标记。 + * 组装RelationDict和RelationConstDict注解标记的字段。 + */ + private boolean buildDict; + + /** + * 是否组装一对一关联的标记。 + * 组装RelationOneToOne注解标记的字段。 + */ + private boolean buildOneToOne; + + /** + * 在组装一对一关联的同时,是否继续关联从表中的字典。 + * 从表中RelationDict和RelationConstDict注解标记的字段。 + * 该字段为true时,无需设置buildOneToOne了。 + */ + private boolean buildOneToOneWithDict; + + /** + * 是否组装主表对多对多中间表关联的标记。 + * 组装RelationManyToMany注解标记的字段。 + */ + private boolean buildRelationManyToMany; + + /** + * 是否组装聚合计算关联的标记。 + * 组装RelationOneToManyAggregation和RelationManyToManyAggregation注解标记的字段。 + */ + private boolean buildRelationAggregation; + + /** + * 便捷方法,返回仅做字典关联的参数对象。 + * + * @return 返回仅做字典关联的参数对象。 + */ + public static MyRelationParam dictOnly() { + return MyRelationParam.builder().buildDict(true).build(); + } + + /** + * 便捷方法,返回仅做字典关联、一对一从表及其字典和聚合计算的参数对象。 + * NOTE: 对于一对多和多对多,这种从表数据是列表结果的关联,均不返回。 + * + * @return 返回仅做字典关联、一对一从表及其字典和聚合计算的参数对象。 + */ + public static MyRelationParam normal() { + return MyRelationParam.builder() + .buildDict(true) + .buildOneToOneWithDict(true) + .buildRelationAggregation(true) + .build(); + } + + /** + * 便捷方法,返回全部关联的参数对象。 + * + * @return 返回全部关联的参数对象。 + */ + public static MyRelationParam full() { + return MyRelationParam.builder() + .buildDict(true) + .buildOneToOneWithDict(true) + .buildRelationAggregation(true) + .buildRelationManyToMany(true) + .build(); + } +} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyWhereCriteria.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyWhereCriteria.java index 4ab102cd..bab5215e 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyWhereCriteria.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/MyWhereCriteria.java @@ -16,7 +16,7 @@ import java.util.List; * Where中的条件语句。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j @Data @@ -103,7 +103,7 @@ public class MyWhereCriteria { * @param value 条件过滤值。 * @return 验证结果对象,如果有错误将会返回具体的错误信息。 */ - public VerifyResult setCriteria(String fieldName, Integer operatorType, Object value) { + public CallResult setCriteria(String fieldName, Integer operatorType, Object value) { this.operatorType = operatorType; this.fieldName = fieldName; this.value = value; @@ -119,7 +119,7 @@ public class MyWhereCriteria { * @param value 条件过滤值。 * @return 验证结果对象,如果有错误将会返回具体的错误信息。 */ - public VerifyResult setCriteria(Class modelClazz, String fieldName, Integer operatorType, Object value) { + public CallResult setCriteria(Class modelClazz, String fieldName, Integer operatorType, Object value) { this.modelClazz = modelClazz; this.operatorType = operatorType; this.fieldName = fieldName; @@ -133,35 +133,31 @@ public class MyWhereCriteria { * * @return 验证结果对象,如果有错误将会返回具体的错误信息。 */ - public VerifyResult doVerify() { + public CallResult doVerify() { if (fieldName == null) { - return VerifyResult.error("过滤字段名称 [fieldName] 不能为空!"); + return CallResult.error("过滤字段名称 [fieldName] 不能为空!"); } - if (modelClazz != null) { - if (ReflectUtil.getField(modelClazz, fieldName) == null) { - return VerifyResult.error( - "过滤字段 [" + fieldName + "] 在实体对象 [" + modelClazz.getSimpleName() + "] 中并不存在!"); - } + if (modelClazz != null && ReflectUtil.getField(modelClazz, fieldName) == null) { + return CallResult.error( + "过滤字段 [" + fieldName + "] 在实体对象 [" + modelClazz.getSimpleName() + "] 中并不存在!"); } if (!checkOperatorType()) { - return VerifyResult.error("无效的操作符类型 [" + operatorType + "]!"); + return CallResult.error("无效的操作符类型 [" + operatorType + "]!"); } // 其他操作符必须包含value值 - if (operatorType != OPERATOR_IS_NULL && operatorType != OPERATOR_NOT_NULL) { - if (value == null) { - String operatorString = this.getOperatorString(); - return VerifyResult.error("操作符 [" + operatorString + "] 的条件值不能为空!"); - } + if (operatorType != OPERATOR_IS_NULL && operatorType != OPERATOR_NOT_NULL && value == null) { + String operatorString = this.getOperatorString(); + return CallResult.error("操作符 [" + operatorString + "] 的条件值不能为空!"); } if (this.operatorType == OPERATOR_IN) { if (!(value instanceof Collection)) { - return VerifyResult.error("操作符 [IN] 的条件值必须为集合对象!"); + return CallResult.error("操作符 [IN] 的条件值必须为集合对象!"); } if (CollectionUtils.isEmpty((Collection) value)) { - return VerifyResult.error("操作符 [IN] 的条件值不能为空!"); + return CallResult.error("操作符 [IN] 的条件值不能为空!"); } } - return VerifyResult.ok(); + return CallResult.ok(); } /** @@ -237,33 +233,7 @@ public class MyWhereCriteria { if (tableName == null) { throw new InvalidDataModelException(modelClazz.getSimpleName()); } - StringBuilder sb = new StringBuilder(64); - sb.append(tableName).append(".").append(fieldInfo.getFirst()).append(getOperatorString()); - if (operatorType == OPERATOR_IN) { - Collection filterValues = (Collection) value; - sb.append("("); - int i = 0; - for (Object filterValue : filterValues) { - if (fieldInfo.getSecond().equals(MyModelUtil.NUMERIC_FIELD_TYPE)) { - sb.append(filterValue); - } else { - sb.append("'").append(filterValue).append("'"); - } - if (i++ != filterValues.size() - 1) { - sb.append(", "); - } - } - sb.append(")"); - } else { - if (value != null) { - if (fieldInfo.getSecond().equals(MyModelUtil.NUMERIC_FIELD_TYPE)) { - sb.append(value); - } else { - sb.append("'").append(value).append("'"); - } - } - } - return sb.toString(); + return this.buildClauseString(tableName, fieldInfo.getFirst(), fieldInfo.getSecond()); } /** @@ -305,4 +275,34 @@ public class MyWhereCriteria { } return sb.length() == 0 ? null : sb.toString(); } + + private String buildClauseString(String tableName, String columnName, Integer columnType) { + StringBuilder sb = new StringBuilder(64); + sb.append(tableName).append(".").append(columnName).append(getOperatorString()); + if (operatorType == OPERATOR_IN) { + Collection filterValues = (Collection) value; + sb.append("("); + int i = 0; + for (Object filterValue : filterValues) { + if (columnType.equals(MyModelUtil.NUMERIC_FIELD_TYPE)) { + sb.append(filterValue); + } else { + sb.append("'").append(filterValue).append("'"); + } + if (i++ != filterValues.size() - 1) { + sb.append(", "); + } + } + sb.append(")"); + return sb.toString(); + } + if (value != null) { + if (columnType.equals(MyModelUtil.NUMERIC_FIELD_TYPE)) { + sb.append(value); + } else { + sb.append("'").append(value).append("'"); + } + } + return sb.toString(); + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/ResponseResult.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/ResponseResult.java index 5110f475..4890f25e 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/ResponseResult.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/ResponseResult.java @@ -4,14 +4,18 @@ import com.orange.admin.common.core.constant.ErrorCodeEnum; import lombok.Data; /** - * 接口返回对象。 + * 接口返回对象 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Data public class ResponseResult { + /** + * 为了优化性能,所有没有携带数据的正确结果,均可用该对象表示。 + */ + private static final ResponseResult OK = new ResponseResult<>(); /** * 是否成功标记。 */ @@ -33,10 +37,10 @@ public class ResponseResult { * 根据参数errorCodeEnum的枚举值,判断创建成功对象还是错误对象。 * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和 getErrorMessage()。 * - * @param errorCodeEnum - 错误码枚举 + * @param errorCodeEnum 错误码枚举 * @return 返回创建的ResponseResult实例对象 */ - public static ResponseResult create(ErrorCodeEnum errorCodeEnum) { + public static ResponseResult create(ErrorCodeEnum errorCodeEnum) { return create(errorCodeEnum, errorCodeEnum.getErrorMessage()); } @@ -44,38 +48,24 @@ public class ResponseResult { * 根据参数errorCodeEnum的枚举值,判断创建成功对象还是错误对象。 * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和参数 errorMessage。 * - * @param errorCodeEnum - 错误码枚举。 - * @param errorMessage - 如果该参数为null,错误信息取自errorCodeEnum参数内置的errorMessage,否则使用当前参数。 + * @param errorCodeEnum 错误码枚举。 + * @param errorMessage 如果该参数为null,错误信息取自errorCodeEnum参数内置的errorMessage,否则使用当前参数。 * @return 返回创建的ResponseResult实例对象 */ - public static ResponseResult create(ErrorCodeEnum errorCodeEnum, String errorMessage) { - return errorCodeEnum == ErrorCodeEnum.NO_ERROR ? success() - : error(errorCodeEnum.name(), errorMessage != null ? errorMessage : errorCodeEnum.getErrorMessage()); - } - - /** - * 根据参数errorCodeEnum的枚举值,判断创建成功对象还是错误对象。 - * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和参数 errorMessage。 - * 如果返回的是成功对象,dataObject数据对象将被连同返回。 - * - * @param errorCodeEnum - 错误码枚举。 - * @param errorMessage - 如果该参数为null,错误信息取自errorCodeEnum参数内置的errorMessage,否则使用当前参数。 - * @param data - 返回的数据对象。 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult create(ErrorCodeEnum errorCodeEnum, String errorMessage, T data) { - return errorCodeEnum == ErrorCodeEnum.NO_ERROR ? success(data) : create(errorCodeEnum, errorMessage); + public static ResponseResult create(ErrorCodeEnum errorCodeEnum, String errorMessage) { + errorMessage = errorMessage != null ? errorMessage : errorCodeEnum.getErrorMessage(); + return errorCodeEnum == ErrorCodeEnum.NO_ERROR ? success() : error(errorCodeEnum.name(), errorMessage); } /** * 根据参数errorCode是否为空,判断创建成功对象还是错误对象。 * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCode 和参数 errorMessage。 * - * @param errorCode - 自定义的错误码 - * @param errorMessage - 自定义的错误信息 + * @param errorCode 自定义的错误码 + * @param errorMessage 自定义的错误信息 * @return 返回创建的ResponseResult实例对象 */ - public static ResponseResult create(String errorCode, String errorMessage) { + public static ResponseResult create(String errorCode, String errorMessage) { return errorCode == null ? success() : error(errorCode, errorMessage); } @@ -85,14 +75,14 @@ public class ResponseResult { * * @return 返回创建的ResponseResult实例对象 */ - public static ResponseResult success() { - return success(null); + public static ResponseResult success() { + return OK; } /** * 创建带有返回数据的成功对象。 * - * @param data - 返回的数据对象 + * @param data 返回的数据对象 * @return 返回创建的ResponseResult实例对象 */ public static ResponseResult success(T data) { @@ -105,7 +95,7 @@ public class ResponseResult { * 创建错误对象。 * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和 getErrorMessage()。 * - * @param errorCodeEnum - 错误码枚举 + * @param errorCodeEnum 错误码枚举 * @return 返回创建的ResponseResult实例对象 */ public static ResponseResult error(ErrorCodeEnum errorCodeEnum) { @@ -116,8 +106,8 @@ public class ResponseResult { * 创建错误对象。 * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和参数 errorMessage。 * - * @param errorCodeEnum - 错误码枚举 - * @param errorMessage - 自定义的错误信息 + * @param errorCodeEnum 错误码枚举 + * @param errorMessage 自定义的错误信息 * @return 返回创建的ResponseResult实例对象 */ public static ResponseResult error(ErrorCodeEnum errorCodeEnum, String errorMessage) { @@ -128,14 +118,24 @@ public class ResponseResult { * 创建错误对象。 * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCode 和参数 errorMessage。 * - * @param errorCode - 自定义的错误码 - * @param errorMessage - 自定义的错误信息 + * @param errorCode 自定义的错误码 + * @param errorMessage 自定义的错误信息 * @return 返回创建的ResponseResult实例对象 */ public static ResponseResult error(String errorCode, String errorMessage) { return new ResponseResult<>(false, errorCode, errorMessage); } + /** + * 根据参数的errorCode和errorMessage创建新的错误应答对象。 + * + * @param errorCause 导致错误原因的应答对象。 + * @return 返回创建的ResponseResult实例对象。 + */ + public static ResponseResult errorFrom(ResponseResult errorCause) { + return error(errorCause.errorCode, errorCause.getErrorMessage()); + } + /** * 是否成功。 * @@ -154,5 +154,4 @@ public class ResponseResult { this.errorCode = errorCode; this.errorMessage = errorMessage; } - } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/TokenData.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/TokenData.java index ce20a4e0..fd20e5f6 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/TokenData.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/TokenData.java @@ -10,7 +10,7 @@ import javax.servlet.http.HttpServletRequest; * 基于Jwt,用于前后端传递的令牌对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Data @ToString diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/Tuple2.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/Tuple2.java index 18732226..8a50c04b 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/Tuple2.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/Tuple2.java @@ -4,7 +4,7 @@ package com.orange.admin.common.core.object; * 二元组对象。主要用于可以一次返回多个结果的场景,同时还能避免强制转换。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class Tuple2 { diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ApplicationContextHolder.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ApplicationContextHolder.java index 372ef569..3bdc3fd5 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ApplicationContextHolder.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ApplicationContextHolder.java @@ -1,6 +1,6 @@ package com.orange.admin.common.core.util; -import org.springframework.beans.BeansException; +import com.orange.admin.common.core.exception.MyRuntimeException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.lang.NonNull; @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component; * Spring 系统启动应用感知对象,主要用于获取Spring Bean的上下文对象,后续的代码中可以直接查找系统中加载的Bean对象。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Component public class ApplicationContextHolder implements ApplicationContextAware { @@ -21,11 +21,10 @@ public class ApplicationContextHolder implements ApplicationContextAware { * Spring 启动的过程中会自动调用,并将应用上下文对象赋值进来。 * * @param applicationContext 应用上下文对象,可通过该对象查找Spring中已经加载的Bean。 - * @throws BeansException Bean处理相关的异常。 */ @Override - public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException { - ApplicationContextHolder.applicationContext = applicationContext; + public void setApplicationContext(@NonNull ApplicationContext applicationContext) { + doSetApplicationContext(applicationContext); } /** @@ -65,8 +64,11 @@ public class ApplicationContextHolder implements ApplicationContextAware { private static void assertApplicationContext() { if (ApplicationContextHolder.applicationContext == null) { - throw new RuntimeException("applicaitonContext属性为null,请检查是否注入了ApplicationContextHolder!"); + throw new MyRuntimeException("applicaitonContext属性为null,请检查是否注入了ApplicationContextHolder!"); } } + private static void doSetApplicationContext(ApplicationContext applicationContext) { + ApplicationContextHolder.applicationContext = applicationContext; + } } \ No newline at end of file diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ContextUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ContextUtil.java index e948a14e..0ae1bb97 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ContextUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ContextUtil.java @@ -10,7 +10,7 @@ import javax.servlet.http.HttpServletResponse; * 获取Servlet HttpRequest和HttpResponse的工具类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class ContextUtil { @@ -41,4 +41,9 @@ public class ContextUtil { return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); } + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private ContextUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ExportUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ExportUtil.java index 15d521c0..37433866 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ExportUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ExportUtil.java @@ -4,6 +4,9 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.ExcelWriter; import cn.jimmyshi.beanquery.BeanQuery; +import com.orange.admin.common.core.constant.ApplicationConstant; +import com.orange.admin.common.core.exception.MyRuntimeException; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; @@ -20,17 +23,18 @@ import java.util.*; * 导出工具类,目前支持xlsx和csv两种类型。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ +@Slf4j public class ExportUtil { /** * 数据导出。目前仅支持xlsx和csv。 * - * @param dataList 导出数据列表。 + * @param dataList 导出数据列表。 * @param selectFieldMap 导出的数据字段,key为对象字段名称,value为中文标题名称。 - * @param filename 导出文件名。 - * @param 数据对象类型。 + * @param filename 导出文件名。 + * @param 数据对象类型。 * @throws IOException 文件操作失败。 */ public static void doExport( @@ -51,7 +55,7 @@ public class ExportUtil { response.setHeader("content-type", "application/octet-stream"); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;filename=" + filename); - if ("xlsx".equals(FilenameUtils.getExtension(filename))) { + if (ApplicationConstant.XLSX_EXT.equals(FilenameUtils.getExtension(filename))) { ServletOutputStream out = response.getOutputStream(); ExcelWriter writer = ExcelUtil.getWriter(true); writer.setRowHeight(-1, 30); @@ -61,7 +65,7 @@ public class ExportUtil { writer.flush(out); writer.close(); IoUtil.close(out); - } else if ("csv".equals(FilenameUtils.getExtension(filename))) { + } else if (ApplicationConstant.CSV_EXT.equals(FilenameUtils.getExtension(filename))) { Collection headerList = selectFieldMap.values(); String[] headerArray = new String[headerList.size()]; headerList.toArray(headerArray); @@ -76,10 +80,16 @@ public class ExportUtil { } printer.flush(); } catch (Exception e) { - e.printStackTrace(); + log.error("Failed to call ExportUtil.doExport", e); } } else { - throw new RuntimeException("不支持的导出文件类型!"); + throw new MyRuntimeException("不支持的导出文件类型!"); } } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private ExportUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ImportUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ImportUtil.java index d9a644c9..34245208 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ImportUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/ImportUtil.java @@ -4,6 +4,9 @@ import cn.hutool.core.util.ReflectUtil; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.sax.Excel07SaxReader; +import com.orange.admin.common.core.constant.ApplicationConstant; +import com.orange.admin.common.core.exception.MyRuntimeException; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; @@ -19,10 +22,13 @@ import java.util.stream.Collectors; * 导入工具类,目前支持xlsx和csv两种类型。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ +@Slf4j public class ImportUtil { + private static final String IMPORT_EXCEPTION_ERROR = "Failed to call ImportUtil.doImport"; + private static final String UNSUPPORT_FILE_EXT_ERROR = "不支持的导入文件类型!"; /** * 同步导入方式。 * @@ -30,11 +36,11 @@ public class ImportUtil { * @return 导入数据列表。 */ public static List> doImport(String filename) { - if ("xlsx".equals(FilenameUtils.getExtension(filename))) { + if (ApplicationConstant.XLSX_EXT.equals(FilenameUtils.getExtension(filename))) { try (ExcelReader reader = ExcelUtil.getReader(filename)) { return reader.readAll(); } - } else if ("csv".equals(FilenameUtils.getExtension(filename))) { + } else if (ApplicationConstant.CSV_EXT.equals(FilenameUtils.getExtension(filename))) { List> resultList = new LinkedList<>(); try (FileReader reader = new FileReader(filename)) { CSVParser parser = CSVFormat.DEFAULT.withFirstRecordAsHeader().parse(reader); @@ -50,11 +56,11 @@ public class ImportUtil { resultList.add(rowMap); } } catch (Exception e) { - e.printStackTrace(); + log.error(IMPORT_EXCEPTION_ERROR, e); } return resultList; } - throw new RuntimeException("不支持的导入文件类型!"); + throw new MyRuntimeException(UNSUPPORT_FILE_EXT_ERROR); } /** @@ -65,12 +71,12 @@ public class ImportUtil { * @throws IOException 文件处理异常。 */ public static void doImport(String filename, BaseImporter importer) throws IOException { - if ("xlsx".equals(FilenameUtils.getExtension(filename))) { + if (ApplicationConstant.XLSX_EXT.equals(FilenameUtils.getExtension(filename))) { Excel07SaxReader reader = new MyExcel07SaxReader<>(importer); try (InputStream in = new FileInputStream(filename)) { reader.read(in, 0); } - } else if ("csv".equals(FilenameUtils.getExtension(filename))) { + } else if (ApplicationConstant.CSV_EXT.equals(FilenameUtils.getExtension(filename))) { try (BufferedReader reader = new BufferedReader(new FileReader(filename))) { int rowIndex = 0; do { @@ -81,15 +87,12 @@ public class ImportUtil { } String[] dataArray = StringUtils.split(rowData, ","); importer.doImport(rowIndex++, Arrays.asList(dataArray)); - if (importer.doInterrupt()) { - break; - } - } while (true); + } while (!importer.doInterrupt()); } catch (Exception e) { - e.printStackTrace(); + log.error(IMPORT_EXCEPTION_ERROR, e); } } - throw new RuntimeException("不支持的导入文件类型!"); + throw new MyRuntimeException(UNSUPPORT_FILE_EXT_ERROR); } /** @@ -97,7 +100,7 @@ public class ImportUtil { * * @param 导入数据对象类型。 */ - public static abstract class BaseImporter { + public abstract static class BaseImporter { private Class beanType; private List batchRowList = new LinkedList<>(); private int batchSize; @@ -117,7 +120,7 @@ public class ImportUtil { * 导入操作执行函数。 * * @param rowIndex 当前行号。 - * @param row 当前行数据列表对象。 + * @param row 当前行数据列表对象。 */ public void doImport(int rowIndex, List row) { if (row == null) { @@ -154,7 +157,7 @@ public class ImportUtil { } batchRowList.add(data); } catch (Exception e) { - e.printStackTrace(); + log.error(IMPORT_EXCEPTION_ERROR, e); } if (rowIndex % batchSize == 0) { doProcess(batchRowList); @@ -193,7 +196,7 @@ public class ImportUtil { public void endElement(String uri, String localName, String qName) { super.endElement(uri, localName, qName); if (importer.doInterrupt()) { - throw new RuntimeException(); + throw new MyRuntimeException(); } } @@ -202,4 +205,10 @@ public class ImportUtil { importer.doImport(-1, null); } } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private ImportUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/IpUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/IpUtil.java index e5032a90..f73bf231 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/IpUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/IpUtil.java @@ -16,7 +16,7 @@ import java.util.List; * Ip工具类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j public class IpUtil { @@ -81,12 +81,9 @@ public class IpUtil { Enumeration allAddress = ni.getInetAddresses(); while (allAddress.hasMoreElements()) { InetAddress address = allAddress.nextElement(); - if (address.isLoopbackAddress()) { - // skip the loopback addr - continue; - } - if (address instanceof Inet6Address) { - // skip the IPv6 addr + // skip the IPv6 addr + // skip the IPv6 addr + if (address.isLoopbackAddress() || address instanceof Inet6Address) { continue; } String hostAddress = address.getHostAddress(); @@ -95,4 +92,10 @@ public class IpUtil { } return ipList; } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private IpUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/JwtUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/JwtUtil.java index 2b47d2a9..bafcfc39 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/JwtUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/JwtUtil.java @@ -3,6 +3,7 @@ package com.orange.admin.common.core.util; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; +import lombok.extern.slf4j.Slf4j; import java.util.Date; import java.util.Map; @@ -11,8 +12,9 @@ import java.util.Map; * 基于JWT的Token生成工具类 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ +@Slf4j public class JwtUtil { private static final String TOKEN_PREFIX = "Bearer:"; @@ -71,7 +73,7 @@ public class JwtUtil { try { claims = Jwts.parser().setSigningKey(signingKey).parseClaimsJws(tokenKey).getBody(); } catch (Exception e) { - System.out.println("Token Expired"); + log.error("Token Expired", e); } return claims; } @@ -100,4 +102,9 @@ public class JwtUtil { return createTime == null || System.currentTimeMillis() - createTime > REFRESH_TOKEN_INTERVAL; } + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private JwtUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/LogMessageUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/LogMessageUtil.java new file mode 100644 index 00000000..9d736208 --- /dev/null +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/LogMessageUtil.java @@ -0,0 +1,33 @@ +package com.orange.admin.common.core.util; + +/** + * 拼接日志消息的工具类。 + * 主要目标是,尽量保证日志输出的统一性,同时也可以有效减少与日志信息相关的常量字符串, + * 提高代码的规范度和可维护性。 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ +public class LogMessageUtil { + + /** + * RPC调用错误格式。 + */ + private static final String RPC_ERROR_MSG_FORMAT = "RPC Failed with Error message [%s]"; + + /** + * 组装RPC调用的错误信息。 + * + * @param errorMsg 具体的错误信息。 + * @return 格式化后的错误信息。 + */ + public static String makeRpcError(String errorMsg) { + return String.format(RPC_ERROR_MSG_FORMAT, errorMsg); + } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private LogMessageUtil() { + } +} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyCommonUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyCommonUtil.java index 98f6b7e4..514211e0 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyCommonUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyCommonUtil.java @@ -1,6 +1,6 @@ package com.orange.admin.common.core.util; -import org.apache.commons.codec.digest.DigestUtils; +import cn.hutool.crypto.digest.DigestUtil; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -16,7 +16,7 @@ import java.util.UUID; * 脚手架中常用的基本工具方法集合,一般而言工程内部使用的方法。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class MyCommonUtil { @@ -32,17 +32,18 @@ public class MyCommonUtil { * @return 返回uuid。 */ public static String generateUuid() { - return UUID.randomUUID().toString().replaceAll("-", ""); + return UUID.randomUUID().toString().replace("-", ""); } /** * 对用户密码进行加盐后加密。 * - * @param password 明文密码。 + * @param password 明文密码。 + * @param passwordSalt 盐值。 * @return 加密后的密码。 */ public static String encrptedPassword(String password, String passwordSalt) { - return DigestUtils.md5Hex(password + passwordSalt); + return DigestUtil.md5Hex(password + passwordSalt); } /** @@ -119,7 +120,7 @@ public class MyCommonUtil { /** * 拼接参数中的字符串列表,用指定分隔符进行分割,同时每个字符串对象用单引号括起来。 * - * @param dataList 字符串集合。 + * @param dataList 字符串集合。 * @param separator 分隔符。 * @return 拼接后的字符串。 */ @@ -134,4 +135,10 @@ public class MyCommonUtil { } return sb.toString(); } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private MyCommonUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyDateUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyDateUtil.java index e2be2429..a7a2b100 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyDateUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyDateUtil.java @@ -16,7 +16,7 @@ import static org.joda.time.PeriodType.days; * 日期工具类,主要封装了部分joda-time中的方法,让很多代码一行完成,同时统一了日期到字符串的pattern格式。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class MyDateUtil { @@ -172,4 +172,10 @@ public class MyDateUtil { public static Date truncateToYear(Date date) { return DateUtils.truncate(date, Calendar.YEAR); } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private MyDateUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyModelUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyModelUtil.java index 774285ef..5ef31835 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyModelUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyModelUtil.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ReflectUtil; import com.orange.admin.common.core.annotation.RelationDict; import com.orange.admin.common.core.annotation.RelationOneToOne; +import com.orange.admin.common.core.exception.MyRuntimeException; import com.orange.admin.common.core.object.Tuple2; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -24,7 +25,7 @@ import java.util.stream.Collectors; * 负责Model数据操作、类型转换和关系关联等行为的工具类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j public class MyModelUtil { @@ -94,9 +95,9 @@ public class MyModelUtil { // 这里缺省情况下都是按照整型去处理,因为他覆盖太多的类型了。 // 如Integer/Long/Double/BigDecimal,可根据实际情况完善和扩充。 Integer type = NUMERIC_FIELD_TYPE; - if ("String".equals(typeName)) { + if (String.class.getSimpleName().equals(typeName)) { type = STRING_FIELD_TYPE; - } else if ("Date".equals(typeName)) { + } else if (Date.class.getSimpleName().equals(typeName)) { type = DATE_FIELD_TYPE; } columnInfo = new Tuple2<>(columnName, type); @@ -156,7 +157,7 @@ public class MyModelUtil { * @param 从表对象类型。 */ public static void makeDictRelation( - Class thisClazz, List thisModelList, List thatModelList, String thisRelationField) { + Class thisClazz, List thisModelList, List thatModelList, String thisRelationField) { if (CollectionUtils.isEmpty(thatModelList) || CollectionUtils.isEmpty(thisModelList)) { return; @@ -200,7 +201,7 @@ public class MyModelUtil { * @param 从表对象类型。 */ public static void makeDictRelation( - Class thisClazz, List thisModelList, Map thatMadelMap, String thisRelationField) { + Class thisClazz, List thisModelList, Map thatMadelMap, String thisRelationField) { if (MapUtils.isEmpty(thatMadelMap) || CollectionUtils.isEmpty(thisModelList)) { return; @@ -210,7 +211,6 @@ public class MyModelUtil { RelationDict r = thisTargetField.getAnnotation(RelationDict.class); Field masterIdField = ReflectUtil.getField(thisClazz, r.masterIdField()); Class thatClass = r.slaveModelClass(); - Field slaveIdField = ReflectUtil.getField(thatClass, r.slaveIdField()); Field slaveNameField = ReflectUtil.getField(thatClass, r.slaveNameField()); thisModelList.forEach(thisModel -> { if (thisModel != null) { @@ -238,7 +238,7 @@ public class MyModelUtil { * @param 从表对象类型。 */ public static void makeOneToOneRelation( - Class thisClazz, List thisModelList, List thatModelList, String thisRelationField) { + Class thisClazz, List thisModelList, List thatModelList, String thisRelationField) { if (CollectionUtils.isEmpty(thatModelList) || CollectionUtils.isEmpty(thisModelList)) { return; @@ -290,7 +290,7 @@ public class MyModelUtil { */ public static void makeOneToOneRelation( Class thisClazz, - List thisModelList, + List thisModelList, Function thisIdGetterFunc, List thatModelList, Function thatIdGetterFunc, @@ -316,60 +316,45 @@ public class MyModelUtil { */ public static void makeOneToOneRelation( Class thisClazz, - List thisModelList, + List thisModelList, Function thisIdGetterFunc, List thatModelList, Function thatIdGetterFunc, String thisRelationField, boolean orderByThatList) { Field thisTargetField = ReflectUtil.getField(thisClazz, thisRelationField); + boolean isMap = thisTargetField.getType().equals(Map.class); if (orderByThatList) { List newThisModelList = new LinkedList<>(); Map thisModelMap = thisModelList.stream().collect(Collectors.toMap(thisIdGetterFunc, c -> c)); - if (thisTargetField.getType().equals(Map.class)) { - thatModelList.forEach(thatModel -> { - Object thatId = thatIdGetterFunc.apply(thatModel); - T thisModel = thisModelMap.get(thatId); - if (thisModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, BeanUtil.beanToMap(thatModel)); - newThisModelList.add(thisModel); - } - }); - } else { - thatModelList.forEach(thatModel -> { - Object thatId = thatIdGetterFunc.apply(thatModel); - T thisModel = thisModelMap.get(thatId); - if (thisModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, thatModel); - newThisModelList.add(thisModel); - } - }); - } - thisModelList = newThisModelList; + thatModelList.forEach(thatModel -> { + Object thatId = thatIdGetterFunc.apply(thatModel); + T thisModel = thisModelMap.get(thatId); + if (thisModel != null) { + ReflectUtil.setFieldValue(thisModel, thisTargetField, normalize(isMap, thatModel)); + newThisModelList.add(thisModel); + } + }); + thisModelList.clear(); + thisModelList.addAll(newThisModelList); } else { Map thatMadelMap = thatModelList.stream().collect(Collectors.toMap(thatIdGetterFunc, c -> c)); - if (thisTargetField.getType().equals(Map.class)) { - thisModelList.forEach(thisModel -> { - Object thisId = thisIdGetterFunc.apply(thisModel); - R thatModel = thatMadelMap.get(thisId); - if (thatModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, BeanUtil.beanToMap(thatModel)); - } - }); - } else { - thisModelList.forEach(thisModel -> { - Object thisId = thisIdGetterFunc.apply(thisModel); - R thatModel = thatMadelMap.get(thisId); - if (thatModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, thatModel); - } - }); - } + thisModelList.forEach(thisModel -> { + Object thisId = thisIdGetterFunc.apply(thisModel); + R thatModel = thatMadelMap.get(thisId); + if (thatModel != null) { + ReflectUtil.setFieldValue(thisModel, thisTargetField, normalize(isMap, thatModel)); + } + }); } } + private static Object normalize(boolean isMap, M model) { + return isMap ? BeanUtil.beanToMap(model) : model; + } + /** * 转换过滤对象到与其等效的Example对象。 * @@ -392,7 +377,7 @@ public class MyModelUtil { int modifiers = field.getModifiers(); // transient类型的字段不能作为查询条件 if ((modifiers & 128) == 0) { - field.setAccessible(true); + ReflectUtil.setAccessible(field); try { Object o = field.get(filterModel); if (o != null) { @@ -400,10 +385,16 @@ public class MyModelUtil { } } catch (IllegalAccessException ex) { log.error("Failed to call reflection code.", ex); - throw new RuntimeException(ex); + throw new MyRuntimeException(ex); } } } return e; } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private MyModelUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyPageUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyPageUtil.java index f2aa11fe..10be9eab 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyPageUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/MyPageUtil.java @@ -10,22 +10,25 @@ import java.util.List; * 生成带有分页信息的数据列表 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class MyPageUtil { + private static final String DATA_LIST_LITERAL = "dataList"; + private static final String TOTAL_COUNT_LITERAL = "totalCount"; + /** * 用户构建带有分页信息的数据列表。 * - * @param dataList 数据列表,该参数必须是调用PageHelper.startPage之后,立即执行mybatis查询操作的结果集。 + * @param dataList 数据列表,该参数必须是调用PageMethod.startPage之后,立即执行mybatis查询操作的结果集。 * @param includeFields 结果集中需要返回到前端的字段,多个字段之间逗号分隔。 * @return 返回只是包含includeFields字段的数据列表,以及结果集TotalCount。 */ public static JSONObject makeResponseData(List dataList, String includeFields) { JSONObject pageData = new JSONObject(); - pageData.put("dataList", BeanQuery.select(includeFields).from(dataList).execute()); + pageData.put(DATA_LIST_LITERAL, BeanQuery.select(includeFields).from(dataList).execute()); if (dataList instanceof Page) { - pageData.put("totalCount", ((Page)dataList).getTotal()); + pageData.put(TOTAL_COUNT_LITERAL, ((Page)dataList).getTotal()); } return pageData; } @@ -33,14 +36,14 @@ public class MyPageUtil { /** * 用户构建带有分页信息的数据列表。 * - * @param dataList 数据列表,该参数必须是调用PageHelper.startPage之后,立即执行mybatis查询操作的结果集。 + * @param dataList 数据列表,该参数必须是调用PageMethod.startPage之后,立即执行mybatis查询操作的结果集。 * @return 返回结果集和TotalCount。 */ public static JSONObject makeResponseData(List dataList) { JSONObject pageData = new JSONObject(); - pageData.put("dataList", dataList); + pageData.put(DATA_LIST_LITERAL, dataList); if (dataList instanceof Page) { - pageData.put("totalCount", ((Page)dataList).getTotal()); + pageData.put(TOTAL_COUNT_LITERAL, ((Page)dataList).getTotal()); } return pageData; } @@ -48,17 +51,22 @@ public class MyPageUtil { /** * 用户构建带有分页信息的数据列表。 * - * @param dataList 数据列表,该参数必须是调用PageHelper.startPage之后,立即执行mybatis查询操作的结果集。 + * @param dataList 数据列表,该参数必须是调用PageMethod.startPage之后,立即执行mybatis查询操作的结果集。 * @param totalCount 总数量。 * @return 返回结果集和TotalCount。 */ public static JSONObject makeResponseData(List dataList, Long totalCount) { JSONObject pageData = new JSONObject(); - pageData.put("dataList", dataList); + pageData.put(DATA_LIST_LITERAL, dataList); if (totalCount != null) { - pageData.put("totalCount", totalCount); + pageData.put(TOTAL_COUNT_LITERAL, totalCount); } return pageData; } + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private MyPageUtil() { + } } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/RsaUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/RsaUtil.java new file mode 100644 index 00000000..48c7972f --- /dev/null +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/RsaUtil.java @@ -0,0 +1,114 @@ +package com.orange.admin.common.core.util; + +import javax.crypto.Cipher; +import java.nio.charset.StandardCharsets; +import java.security.*; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.Base64; +import java.util.HashMap; +import java.util.Map; + +/** + * Java RSA 加密工具类 + * + * @author Stephen.Liu + * @date 2020-05-24 + */ +public class RsaUtil { + + /** + * 密钥长度 于原文长度对应 以及越长速度越慢 + */ + private static final int KEY_SIZE = 1024; + /** + * 用于封装随机产生的公钥与私钥 + */ + private static Map keyMap = new HashMap<>(); + + /** + * 随机生成密钥对。 + */ + public static void genKeyPair() throws NoSuchAlgorithmException { + // KeyPairGenerator类用于生成公钥和私钥对,基于RSA算法生成对象 + KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA"); + // 初始化密钥对生成器 + keyPairGen.initialize(KEY_SIZE, new SecureRandom()); + // 生成一个密钥对,保存在keyPair中 + KeyPair keyPair = keyPairGen.generateKeyPair(); + // 得到私钥 + RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); + // 得到公钥 + RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); + String publicKeyString = Base64.getEncoder().encodeToString(publicKey.getEncoded()); + // 得到私钥字符串 + String privateKeyString = Base64.getEncoder().encodeToString(privateKey.getEncoded()); + // 将公钥和私钥保存到Map + //0表示公钥 + keyMap.put(0, publicKeyString); + //1表示私钥 + keyMap.put(1, privateKeyString); + } + + /** + * RSA公钥加密。 + * + * @param str 加密字符串 + * @param publicKey 公钥 + * @return 密文 + * @throws Exception 加密过程中的异常信息 + */ + public static String encrypt(String str, String publicKey) throws Exception { + //base64编码的公钥 + byte[] decoded = Base64.getDecoder().decode(publicKey); + RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded)); + //RSA加密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, pubKey); + return Base64.getEncoder().encodeToString(cipher.doFinal(str.getBytes(StandardCharsets.UTF_8))); + } + + /** + * RSA私钥解密。 + * + * @param str 加密字符串 + * @param privateKey 私钥 + * @return 明文 + * @throws Exception 解密过程中的异常信息 + */ + public static String decrypt(String str, String privateKey) throws Exception { + //64位解码加密后的字符串 + byte[] inputByte = Base64.getDecoder().decode(str); + //base64编码的私钥 + byte[] decoded = Base64.getDecoder().decode(privateKey); + RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded)); + //RSA解密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, priKey); + return new String(cipher.doFinal(inputByte)); + } + + public static void main(String[] args) throws Exception { + long temp = System.currentTimeMillis(); + //生成公钥和私钥 + genKeyPair(); + //加密字符串 + System.out.println("公钥:" + keyMap.get(0)); + System.out.println("私钥:" + keyMap.get(1)); + System.out.println("生成密钥消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒"); + System.out.println("生成后的公钥前端使用!"); + System.out.println("生成后的私钥后台使用!"); + String message = "RSA测试ABCD~!@#$"; + System.out.println("原文:" + message); + temp = System.currentTimeMillis(); + String messageEn = encrypt(message, keyMap.get(0)); + System.out.println("密文:" + messageEn); + System.out.println("加密消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒"); + temp = System.currentTimeMillis(); + String messageDe = decrypt(messageEn, keyMap.get(1)); + System.out.println("解密:" + messageDe); + System.out.println("解密消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒"); + } +} \ No newline at end of file diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/TreeNode.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/TreeNode.java index 9b4ae87c..409bd7ea 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/TreeNode.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/TreeNode.java @@ -15,7 +15,7 @@ import java.util.function.Function; * @param 节点之间关联键的类型。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Data public class TreeNode { @@ -28,12 +28,12 @@ public class TreeNode { /** * 将列表结构组建为树结构的工具方法。 * - * @param dataList 数据列表结构。 - * @param idFunc 获取关联id的函数对象。 + * @param dataList 数据列表结构。 + * @param idFunc 获取关联id的函数对象。 * @param parentIdFunc 获取关联ParentId的函数对象。 - * @param root 根节点。 - * @param 数据对象类型。 - * @param 节点之间关联键的类型。 + * @param root 根节点。 + * @param 数据对象类型。 + * @param 节点之间关联键的类型。 * @return 源数据对象的树结构存储。 */ public static List> build( @@ -90,5 +90,4 @@ public class TreeNode { private void add(TreeNode node) { childList.add(node); } - } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/UpDownloadUtil.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/UpDownloadUtil.java index 3567ab8b..bf44a0f2 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/UpDownloadUtil.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/util/UpDownloadUtil.java @@ -1,7 +1,6 @@ package com.orange.admin.common.core.util; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.JSON; import com.orange.admin.common.core.constant.ApplicationConstant; import com.orange.admin.common.core.constant.ErrorCodeEnum; import com.orange.admin.common.core.object.ResponseResult; @@ -19,12 +18,13 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; +import java.util.Objects; /** * 上传或下载附件文件的工具类。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Slf4j public class UpDownloadUtil { @@ -47,8 +47,8 @@ public class UpDownloadUtil { Boolean asImage, HttpServletResponse response) { StringBuilder uploadPathBuilder = new StringBuilder(128); - uploadPathBuilder.append(rootBaseDir); - if (asImage) { + uploadPathBuilder.append(rootBaseDir).append("/"); + if (Boolean.TRUE.equals(asImage)) { uploadPathBuilder.append(ApplicationConstant.UPLOAD_IMAGE_PARENT_PATH); } else { uploadPathBuilder.append(ApplicationConstant.UPLOAD_ATTACHMENT_PARENT_PATH); @@ -64,8 +64,8 @@ public class UpDownloadUtil { response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;filename=" + fileName); byte[] buff = new byte[2048]; - try (OutputStream os = response.getOutputStream()) { - BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); + try (OutputStream os = response.getOutputStream(); + BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) { int i = bis.read(buff); while (i != -1) { os.write(buff, 0, buff.length); @@ -73,7 +73,7 @@ public class UpDownloadUtil { i = bis.read(buff); } } catch (IOException e) { - e.printStackTrace(); + log.error("Failed to call UpDownloadUtil.doDownload", e); } } @@ -97,9 +97,14 @@ public class UpDownloadUtil { HttpServletResponse response) throws IOException { PrintWriter out = response.getWriter(); response.setContentType("application/json; charset=utf-8"); + if (Objects.isNull(uploadFile) || uploadFile.isEmpty() || MyCommonUtil.isBlankOrNull(fieldName)) { + response.setStatus(HttpServletResponse.SC_FORBIDDEN); + out.print(JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FILE_ARGUMENT))); + return; + } StringBuilder uploadPathBuilder = new StringBuilder(128); - uploadPathBuilder.append(rootBaseDir); - if (asImage) { + uploadPathBuilder.append(rootBaseDir).append("/"); + if (Boolean.TRUE.equals(asImage)) { uploadPathBuilder.append(ApplicationConstant.UPLOAD_IMAGE_PARENT_PATH); } else { uploadPathBuilder.append(ApplicationConstant.UPLOAD_ATTACHMENT_PARENT_PATH); @@ -129,10 +134,10 @@ public class UpDownloadUtil { } catch (IOException e) { log.error("Failed to write uploaded file [" + uploadFile.getOriginalFilename() + " ].", e); response.setStatus(HttpServletResponse.SC_FORBIDDEN); - out.print(JSONObject.toJSONString(ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FILE_IOERROR))); + out.print(JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FILE_IOERROR))); return; } - out.print(JSONObject.toJSONString(ResponseResult.success(fileInfo))); + out.print(JSON.toJSONString(ResponseResult.success(fileInfo))); out.flush(); out.close(); } @@ -148,7 +153,7 @@ public class UpDownloadUtil { if (StringUtils.isAnyBlank(fileInfoJson, filename)) { return false; } - List fileInfoList = JSONArray.parseArray(fileInfoJson, UploadFileInfo.class); + List fileInfoList = JSON.parseArray(fileInfoJson, UploadFileInfo.class); if (CollectionUtils.isNotEmpty(fileInfoList)) { for (UploadFileInfo fileInfo : fileInfoList) { if (StringUtils.equals(filename, fileInfo.filename)) { @@ -159,6 +164,12 @@ public class UpDownloadUtil { return false; } + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private UpDownloadUtil() { + } + @Data static class UploadFileInfo { private String downloadUri; diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/AddGroup.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/AddGroup.java index 338fab64..ceccff7b 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/AddGroup.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/AddGroup.java @@ -4,7 +4,7 @@ package com.orange.admin.common.core.validator; * 数据增加的验证分组。通常用于数据新增场景。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface AddGroup { } diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/ConstDictRef.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/ConstDictRef.java index 0e5ffec1..e8d7d7c3 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/ConstDictRef.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/ConstDictRef.java @@ -11,7 +11,7 @@ import java.lang.annotation.Target; * 定义在Model对象中,标注字段值引用自指定的常量字典,和ConstDictRefValidator对象配合完成数据验证。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/ConstDictValidator.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/ConstDictValidator.java index 91911036..b13a7e58 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/ConstDictValidator.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/ConstDictValidator.java @@ -10,7 +10,7 @@ import java.lang.reflect.Method; * 数据字段自定义验证,用于验证Model中字符串字段的最大长度和最小长度。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class ConstDictValidator implements ConstraintValidator { diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/TextLength.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/TextLength.java index 422068a9..a353dbe9 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/TextLength.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/TextLength.java @@ -11,7 +11,7 @@ import java.lang.annotation.Target; * 定义在Model或Dto对象中,UTF-8编码的字符串字段长度的上限和下限,和TextLengthValidator对象配合完成数据验证。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/TextLengthValidator.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/TextLengthValidator.java index fece6df2..c8c08b42 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/TextLengthValidator.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/TextLengthValidator.java @@ -9,7 +9,7 @@ import javax.validation.ConstraintValidatorContext; * 数据字段自定义验证,用于验证Model中UTF-8编码的字符串字段的最大长度和最小长度。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public class TextLengthValidator implements ConstraintValidator { diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/UpdateGroup.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/UpdateGroup.java index ed407c63..106fc97f 100644 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/UpdateGroup.java +++ b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/validator/UpdateGroup.java @@ -4,7 +4,7 @@ package com.orange.admin.common.core.validator; * 数据修改的验证分组。通常用于数据更新的场景。 * * @author Stephen.Liu - * @date 2020-04-11 + * @date 2020-05-24 */ public interface UpdateGroup { diff --git a/orange-admin-service/upms-script.sql b/orange-admin-service/upms-script.sql index 685bb259..e6e061f7 100644 --- a/orange-admin-service/upms-script.sql +++ b/orange-admin-service/upms-script.sql @@ -1,7 +1,7 @@ -- ---------------------------- -- 请仅在下面的数据库链接中执行该脚本。 --- 主数据源 [101.200.178.51:3306/zzdemo-single] +-- 主数据源 [localhost:3306/zz-orange-admin] -- ---------------------------- SET NAMES utf8mb4; @@ -246,8 +246,8 @@ CREATE TABLE `zz_sys_data_perm_dept` ( -- 管理员账号数据 -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_dept` VALUES(1248875520100143104,'公司总部',1,1248875520100143105,'管理员',CURDATE(),CURDATE(),1); -INSERT INTO `zz_sys_user` VALUES(1248875520100143105,'admin','991a762615d6c112c5bb02c9b78a4417','管理员',1248875520100143104,0,'CHANGE TO YOUR HEAD IMAGE URL!!!',0,1248875520100143105,'管理员',CURDATE(),CURDATE(),1); +INSERT INTO `zz_sys_dept` VALUES(1264533563043221504,'公司总部',1,1264533563043221505,'管理员',CURDATE(),CURDATE(),1); +INSERT INTO `zz_sys_user` VALUES(1264533563043221505,'admin','991a762615d6c112c5bb02c9b78a4417','管理员',1264533563043221504,0,'CHANGE TO YOUR HEAD IMAGE URL!!!',0,1264533563043221505,'管理员',CURDATE(),CURDATE(),1); COMMIT; -- ---------------------------- @@ -256,212 +256,212 @@ COMMIT; BEGIN; INSERT INTO `zz_sys_menu` VALUES(1248448487335399424,NULL,'系统管理',0,NULL,1,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248448487486394368,1248448487335399424,'用户管理',1,'formSysUser',100,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754512,1248448487486394368,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754513,1248448487486394368,'新增',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754514,1248448487486394368,'编辑',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754515,1248448487486394368,'删除',3,NULL,4,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754516,1248448487486394368,'重置密码',3,NULL,5,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563034832914,1248448487486394368,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563034832915,1248448487486394368,'新增',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563034832916,1248448487486394368,'编辑',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563034832917,1248448487486394368,'删除',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563034832918,1248448487486394368,'重置密码',3,NULL,5,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248448487486394369,1248448487335399424,'部门管理',1,'formSysDept',105,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754524,1248448487486394369,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754525,1248448487486394369,'新增',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754526,1248448487486394369,'编辑',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754527,1248448487486394369,'删除',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027201,1248448487486394369,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027202,1248448487486394369,'新增',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027203,1248448487486394369,'编辑',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027204,1248448487486394369,'删除',3,NULL,4,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248448487486394370,1248448487335399424,'角色管理',1,'formSysRole',110,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754534,1248448487486394370,'角色管理',2,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754535,1248448487486394370,'用户授权',2,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754536,1248875520091754534,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754537,1248875520091754534,'新增',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754538,1248875520091754534,'编辑',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754539,1248875520091754534,'删除',3,NULL,4,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754540,1248875520091754535,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754541,1248875520091754535,'授权用户',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754542,1248875520091754535,'移除用户',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027211,1248448487486394370,'角色管理',2,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027212,1248448487486394370,'用户授权',2,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027213,1264533563039027211,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027214,1264533563039027211,'新增',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027215,1264533563039027211,'编辑',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027216,1264533563039027211,'删除',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027217,1264533563039027212,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027218,1264533563039027212,'授权用户',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027219,1264533563039027212,'移除用户',3,NULL,3,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248448487486394371,1248448487335399424,'数据权限管理',1,'formSysDataPerm',115,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754552,1248448487486394371,'数据权限管理',2,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754553,1248448487486394371,'用户授权',2,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754554,1248875520091754552,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754555,1248875520091754552,'新增',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754556,1248875520091754552,'编辑',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754557,1248875520091754552,'删除',3,NULL,4,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754558,1248875520091754553,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754559,1248875520091754553,'授权用户',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754560,1248875520091754553,'移除用户',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027229,1248448487486394371,'数据权限管理',2,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027230,1248448487486394371,'用户授权',2,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027231,1264533563039027229,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027232,1264533563039027229,'新增',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027233,1264533563039027229,'编辑',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027234,1264533563039027229,'删除',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027235,1264533563039027230,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027236,1264533563039027230,'授权用户',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027237,1264533563039027230,'移除用户',3,NULL,3,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248448487486394372,1248448487335399424,'菜单管理',1,'formSysMenu',120,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754570,1248448487486394372,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754571,1248448487486394372,'新增',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754572,1248448487486394372,'编辑',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754573,1248448487486394372,'删除',3,NULL,4,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520091754574,1248448487486394372,'权限列表',3,NULL,5,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027247,1248448487486394372,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027248,1248448487486394372,'新增',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027249,1248448487486394372,'编辑',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027250,1248448487486394372,'删除',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027251,1248448487486394372,'权限列表',3,NULL,5,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248448487486394373,1248448487335399424,'权限字管理',1,'formSysPermCode',125,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948801,1248448487486394373,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948802,1248448487486394373,'新增',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948803,1248448487486394373,'编辑',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948804,1248448487486394373,'删除',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027259,1248448487486394373,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027260,1248448487486394373,'新增',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027261,1248448487486394373,'编辑',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027262,1248448487486394373,'删除',3,NULL,4,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248448487486394374,1248448487335399424,'权限管理',1,'formSysPerm',130,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948811,1248448487486394374,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948812,1248448487486394374,'新增模块',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948813,1248448487486394374,'编辑模块',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948814,1248448487486394374,'删除模块',3,NULL,4,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948815,1248448487486394374,'新增权限',3,NULL,5,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948816,1248448487486394374,'编辑权限',3,NULL,6,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948817,1248448487486394374,'删除权限',3,NULL,7,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027269,1248448487486394374,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027270,1248448487486394374,'新增模块',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027271,1248448487486394374,'编辑模块',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027272,1248448487486394374,'删除模块',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027273,1248448487486394374,'新增权限',3,NULL,5,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027274,1248448487486394374,'编辑权限',3,NULL,6,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027275,1248448487486394374,'删除权限',3,NULL,7,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248448487486394375,1248448487335399424,'字典管理',1,'formSysDict',135,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948827,1248448487486394375,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948828,1248448487486394375,'新增',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948829,1248448487486394375,'编辑',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948830,1248448487486394375,'删除',3,NULL,4,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948831,1248448487486394375,'同步缓存',3,NULL,5,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027285,1248448487486394375,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027286,1248448487486394375,'新增',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027287,1248448487486394375,'编辑',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027288,1248448487486394375,'删除',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027289,1248448487486394375,'同步缓存',3,NULL,5,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248512948561776640,NULL,'业务管理',0,NULL,5,NULL,CURDATE(),1); INSERT INTO `zz_sys_menu` VALUES(1248512995818999808,1248512948561776640,'老师管理',1,'formTeacher',1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948840,1248512995818999808,'显示',3,NULL,1,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948841,1248512995818999808,'新建',3,NULL,2,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948842,1248512995818999808,'编辑',3,NULL,3,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948843,1248512995818999808,'统计',3,NULL,4,NULL,CURDATE(),1); -INSERT INTO `zz_sys_menu` VALUES(1248875520095948844,1248512995818999808,'删除',3,NULL,5,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027298,1248512995818999808,'显示',3,NULL,1,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027299,1248512995818999808,'新建',3,NULL,2,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027300,1248512995818999808,'编辑',3,NULL,3,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027301,1248512995818999808,'统计',3,NULL,4,NULL,CURDATE(),1); +INSERT INTO `zz_sys_menu` VALUES(1264533563039027302,1248512995818999808,'删除',3,NULL,5,NULL,CURDATE(),1); COMMIT; -- ---------------------------- -- 全部权限字数据 -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_perm_code` VALUES(1248875520087560192,NULL,'formTeacher',0,'老师管理',0,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520087560193,1248875520087560192,'formTeacher:formTeacher',1,'老师管理',0,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754496,1248875520087560193,'formTeacher:formTeacher:formCreateTeacher',2,'新建',0,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754497,1248875520087560193,'formTeacher:formTeacher:formEditTeacher',2,'编辑',10,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754498,1248875520087560193,'formTeacher:formTeacher:formTeacherTransStats',2,'统计',20,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754499,1248875520087560193,'formTeacher:formTeacher:delete',2,'删除',30,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754500,NULL,'formCreateTeacher',0,'新建老师',10,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754501,1248875520091754500,'formCreateTeacher:formCreateTeacher',1,'新建老师',0,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754502,1248875520091754501,'formCreateTeacher:formCreateTeacher:cancel',2,'取消',0,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754503,1248875520091754501,'formCreateTeacher:formCreateTeacher:add',2,'保存',10,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754504,NULL,'formEditTeacher',0,'编辑老师',20,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754505,1248875520091754504,'formEditTeacher:formEditTeacher',1,'编辑老师',0,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754506,1248875520091754505,'formEditTeacher:formEditTeacher:cancel',2,'取消',0,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754507,1248875520091754505,'formEditTeacher:formEditTeacher:update',2,'保存',10,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754508,NULL,'formTeacherTransStats',0,'老师个人统计',30,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754509,1248875520091754508,'formTeacherTransStats:formTeacherTransStats',1,'老师个人统计',0,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754517,NULL,'formSysUser',0,'用户管理',10000,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754518,1248875520091754517,'formSysUser:fragmentSysUser',1,'用户管理',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754519,1248875520091754518,'formSysUser:fragmentSysUser:add',2,'新增',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754520,1248875520091754518,'formSysUser:fragmentSysUser:update',2,'编辑',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754521,1248875520091754518,'formSysUser:fragmentSysUser:delete',2,'删除',3,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754522,1248875520091754518,'formSysUser:fragmentSysUser:resetPassword',2,'重置密码',4,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754528,NULL,'formSysDept',0,'部门管理',10100,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754529,1248875520091754528,'formSysDept:fragmentSysDept',1,'部门管理',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754530,1248875520091754529,'formSysDept:fragmentSysDept:add',2,'新增',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754531,1248875520091754529,'formSysDept:fragmentSysDept:update',2,'编辑',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754532,1248875520091754529,'formSysDept:fragmentSysDept:delete',2,'删除',3,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754543,NULL,'formSysRole',0,'角色管理',10200,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754544,1248875520091754543,'formSysRole:fragmentSysRole',1,'角色管理',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754545,1248875520091754543,'formSysRole:fragmentSysRoleUser',1,'用户授权',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754546,1248875520091754544,'formSysRole:fragmentSysRole:add',2,'新增',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754547,1248875520091754544,'formSysRole:fragmentSysRole:update',2,'编辑',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754548,1248875520091754544,'formSysRole:fragmentSysRole:delete',2,'删除',3,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754549,1248875520091754545,'formSysRole:fragmentSysRoleUser:addUserRole',2,'授权用户',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754550,1248875520091754545,'formSysRole:fragmentSysRoleUser:deleteUserRole',2,'移除用户',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754561,NULL,'formSysDataPerm',0,'数据权限管理',10400,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754562,1248875520091754561,'formSysDataPerm:fragmentSysDataPerm',1,'数据权限管理',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754563,1248875520091754561,'formSysDataPerm:fragmentSysDataPermUser',1,'用户授权',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754564,1248875520091754562,'formSysDataPerm:fragmentSysDataPerm:add',2,'新增',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754565,1248875520091754562,'formSysDataPerm:fragmentSysDataPerm:update',2,'编辑',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754566,1248875520091754562,'formSysDataPerm:fragmentSysDataPerm:delete',2,'删除',3,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754567,1248875520091754563,'formSysDataPerm:fragmentSysDataPermUser:addDataPermUser',2,'授权用户',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754568,1248875520091754563,'formSysDataPerm:fragmentSysDataPermUser:deleteDataPermUser',2,'移除用户',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754575,NULL,'formSysMenu',0,'菜单管理',10600,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754576,1248875520091754575,'formSysMenu:fragmentSysMenu',1,'菜单管理',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754577,1248875520091754576,'formSysMenu:fragmentSysMenu:add',2,'新增',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754578,1248875520091754576,'formSysMenu:fragmentSysMenu:update',2,'编辑',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754579,1248875520091754576,'formSysMenu:fragmentSysMenu:delete',2,'删除',3,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520091754580,1248875520091754576,'formSysMenu:fragmentSysMenu:listMenuPerm',2,'权限列表',4,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948805,NULL,'formSysPermCode',0,'权限字管理',10700,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948806,1248875520095948805,'formSysPermCode:fragmentSysPermCode',1,'权限字管理',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948807,1248875520095948806,'formSysPermCode:fragmentSysPermCode:add',2,'新增',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948808,1248875520095948806,'formSysPermCode:fragmentSysPermCode:update',2,'编辑',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948809,1248875520095948806,'formSysPermCode:fragmentSysPermCode:delete',2,'删除',3,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948818,NULL,'formSysPerm',0,'权限管理',10800,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948819,1248875520095948818,'formSysPerm:fragmentSysPerm',1,'权限管理',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948820,1248875520095948819,'formSysPerm:fragmentSysPerm:addPermModule',2,'新增模块',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948821,1248875520095948819,'formSysPerm:fragmentSysPerm:updatePermModule',2,'编辑模块',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948822,1248875520095948819,'formSysPerm:fragmentSysPerm:deletePermModule',2,'删除模块',3,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948823,1248875520095948819,'formSysPerm:fragmentSysPerm:addPerm',2,'新增权限',4,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948824,1248875520095948819,'formSysPerm:fragmentSysPerm:updatePerm',2,'编辑权限',5,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948825,1248875520095948819,'formSysPerm:fragmentSysPerm:deletePerm',2,'删除权限',6,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948832,NULL,'formSysDict',0,'字典管理',10900,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948833,1248875520095948832,'formSysDict:fragmentSysDict',1,'字典管理',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948834,1248875520095948833,'formSysDict:fragmentSysDict:add',2,'新增',1,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948835,1248875520095948833,'formSysDict:fragmentSysDict:update',2,'编辑',2,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948836,1248875520095948833,'formSysDict:fragmentSysDict:delete',2,'删除',3,CURDATE(),1); -INSERT INTO `zz_sys_perm_code` VALUES(1248875520095948837,1248875520095948833,'formSysDict:fragmentSysDict:reloadCache',2,'同步缓存',4,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832896,NULL,'formTeacher',0,'老师管理',0,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832897,1264533563034832896,'formTeacher:formTeacher',1,'老师管理',0,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832898,1264533563034832897,'formTeacher:formTeacher:formCreateTeacher',2,'新建',0,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832899,1264533563034832897,'formTeacher:formTeacher:formEditTeacher',2,'编辑',10,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832900,1264533563034832897,'formTeacher:formTeacher:formTeacherTransStats',2,'统计',20,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832901,1264533563034832897,'formTeacher:formTeacher:delete',2,'删除',30,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832902,NULL,'formCreateTeacher',0,'新建老师',10,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832903,1264533563034832902,'formCreateTeacher:formCreateTeacher',1,'新建老师',0,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832904,1264533563034832903,'formCreateTeacher:formCreateTeacher:cancel',2,'取消',0,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832905,1264533563034832903,'formCreateTeacher:formCreateTeacher:add',2,'保存',10,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832906,NULL,'formEditTeacher',0,'编辑老师',20,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832907,1264533563034832906,'formEditTeacher:formEditTeacher',1,'编辑老师',0,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832908,1264533563034832907,'formEditTeacher:formEditTeacher:cancel',2,'取消',0,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832909,1264533563034832907,'formEditTeacher:formEditTeacher:update',2,'保存',10,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832910,NULL,'formTeacherTransStats',0,'老师个人统计',30,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832911,1264533563034832910,'formTeacherTransStats:formTeacherTransStats',1,'老师个人统计',0,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832919,NULL,'formSysUser',0,'用户管理',10000,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832920,1264533563034832919,'formSysUser:fragmentSysUser',1,'用户管理',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832921,1264533563034832920,'formSysUser:fragmentSysUser:add',2,'新增',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832922,1264533563034832920,'formSysUser:fragmentSysUser:update',2,'编辑',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832923,1264533563034832920,'formSysUser:fragmentSysUser:delete',2,'删除',3,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563034832924,1264533563034832920,'formSysUser:fragmentSysUser:resetPassword',2,'重置密码',4,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027205,NULL,'formSysDept',0,'部门管理',10100,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027206,1264533563039027205,'formSysDept:fragmentSysDept',1,'部门管理',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027207,1264533563039027206,'formSysDept:fragmentSysDept:add',2,'新增',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027208,1264533563039027206,'formSysDept:fragmentSysDept:update',2,'编辑',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027209,1264533563039027206,'formSysDept:fragmentSysDept:delete',2,'删除',3,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027220,NULL,'formSysRole',0,'角色管理',10200,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027221,1264533563039027220,'formSysRole:fragmentSysRole',1,'角色管理',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027222,1264533563039027220,'formSysRole:fragmentSysRoleUser',1,'用户授权',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027223,1264533563039027221,'formSysRole:fragmentSysRole:add',2,'新增',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027224,1264533563039027221,'formSysRole:fragmentSysRole:update',2,'编辑',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027225,1264533563039027221,'formSysRole:fragmentSysRole:delete',2,'删除',3,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027226,1264533563039027222,'formSysRole:fragmentSysRoleUser:addUserRole',2,'授权用户',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027227,1264533563039027222,'formSysRole:fragmentSysRoleUser:deleteUserRole',2,'移除用户',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027238,NULL,'formSysDataPerm',0,'数据权限管理',10400,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027239,1264533563039027238,'formSysDataPerm:fragmentSysDataPerm',1,'数据权限管理',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027240,1264533563039027238,'formSysDataPerm:fragmentSysDataPermUser',1,'用户授权',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027241,1264533563039027239,'formSysDataPerm:fragmentSysDataPerm:add',2,'新增',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027242,1264533563039027239,'formSysDataPerm:fragmentSysDataPerm:update',2,'编辑',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027243,1264533563039027239,'formSysDataPerm:fragmentSysDataPerm:delete',2,'删除',3,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027244,1264533563039027240,'formSysDataPerm:fragmentSysDataPermUser:addDataPermUser',2,'授权用户',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027245,1264533563039027240,'formSysDataPerm:fragmentSysDataPermUser:deleteDataPermUser',2,'移除用户',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027252,NULL,'formSysMenu',0,'菜单管理',10600,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027253,1264533563039027252,'formSysMenu:fragmentSysMenu',1,'菜单管理',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027254,1264533563039027253,'formSysMenu:fragmentSysMenu:add',2,'新增',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027255,1264533563039027253,'formSysMenu:fragmentSysMenu:update',2,'编辑',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027256,1264533563039027253,'formSysMenu:fragmentSysMenu:delete',2,'删除',3,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027257,1264533563039027253,'formSysMenu:fragmentSysMenu:listMenuPerm',2,'权限列表',4,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027263,NULL,'formSysPermCode',0,'权限字管理',10700,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027264,1264533563039027263,'formSysPermCode:fragmentSysPermCode',1,'权限字管理',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027265,1264533563039027264,'formSysPermCode:fragmentSysPermCode:add',2,'新增',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027266,1264533563039027264,'formSysPermCode:fragmentSysPermCode:update',2,'编辑',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027267,1264533563039027264,'formSysPermCode:fragmentSysPermCode:delete',2,'删除',3,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027276,NULL,'formSysPerm',0,'权限管理',10800,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027277,1264533563039027276,'formSysPerm:fragmentSysPerm',1,'权限管理',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027278,1264533563039027277,'formSysPerm:fragmentSysPerm:addPermModule',2,'新增模块',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027279,1264533563039027277,'formSysPerm:fragmentSysPerm:updatePermModule',2,'编辑模块',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027280,1264533563039027277,'formSysPerm:fragmentSysPerm:deletePermModule',2,'删除模块',3,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027281,1264533563039027277,'formSysPerm:fragmentSysPerm:addPerm',2,'新增权限',4,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027282,1264533563039027277,'formSysPerm:fragmentSysPerm:updatePerm',2,'编辑权限',5,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027283,1264533563039027277,'formSysPerm:fragmentSysPerm:deletePerm',2,'删除权限',6,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027290,NULL,'formSysDict',0,'字典管理',10900,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027291,1264533563039027290,'formSysDict:fragmentSysDict',1,'字典管理',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027292,1264533563039027291,'formSysDict:fragmentSysDict:add',2,'新增',1,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027293,1264533563039027291,'formSysDict:fragmentSysDict:update',2,'编辑',2,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027294,1264533563039027291,'formSysDict:fragmentSysDict:delete',2,'删除',3,CURDATE(),1); +INSERT INTO `zz_sys_perm_code` VALUES(1264533563039027295,1264533563039027291,'formSysDict:fragmentSysDict:reloadCache',2,'同步缓存',4,CURDATE(),1); COMMIT; -- ---------------------------- -- 全部菜单和权限字关系数据 -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754512,1248875520091754518); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754513,1248875520091754519); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754514,1248875520091754520); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754515,1248875520091754521); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754516,1248875520091754522); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754524,1248875520091754529); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754525,1248875520091754530); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754526,1248875520091754531); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754527,1248875520091754532); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754536,1248875520091754544); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754540,1248875520091754545); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754537,1248875520091754546); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754538,1248875520091754547); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754539,1248875520091754548); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754541,1248875520091754549); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754542,1248875520091754550); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754554,1248875520091754562); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754558,1248875520091754563); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754555,1248875520091754564); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754556,1248875520091754565); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754557,1248875520091754566); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754559,1248875520091754567); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754560,1248875520091754568); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754570,1248875520091754576); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754571,1248875520091754577); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754572,1248875520091754578); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754573,1248875520091754579); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520091754574,1248875520091754580); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948801,1248875520095948806); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948802,1248875520095948807); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948803,1248875520095948808); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948804,1248875520095948809); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948811,1248875520095948819); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948812,1248875520095948820); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948813,1248875520095948821); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948814,1248875520095948822); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948815,1248875520095948823); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948816,1248875520095948824); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948817,1248875520095948825); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1248875520095948833); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1248875520095948834); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1248875520095948835); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1248875520095948836); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1248875520095948837); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948827,1248875520095948833); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948828,1248875520095948834); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948829,1248875520095948835); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948830,1248875520095948836); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948831,1248875520095948837); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948840,1248875520087560193); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948841,1248875520091754496); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948841,1248875520091754500); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948841,1248875520091754501); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948841,1248875520091754502); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948841,1248875520091754503); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948842,1248875520091754497); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948842,1248875520091754504); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948842,1248875520091754505); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948842,1248875520091754506); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948842,1248875520091754507); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948843,1248875520091754498); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948843,1248875520091754508); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948843,1248875520091754509); -INSERT INTO `zz_sys_menu_perm_code` VALUES(1248875520095948844,1248875520091754499); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563034832914,1264533563034832920); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563034832915,1264533563034832921); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563034832916,1264533563034832922); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563034832917,1264533563034832923); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563034832918,1264533563034832924); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027201,1264533563039027206); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027202,1264533563039027207); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027203,1264533563039027208); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027204,1264533563039027209); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027213,1264533563039027221); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027217,1264533563039027222); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027214,1264533563039027223); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027215,1264533563039027224); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027216,1264533563039027225); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027218,1264533563039027226); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027219,1264533563039027227); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027231,1264533563039027239); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027235,1264533563039027240); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027232,1264533563039027241); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027233,1264533563039027242); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027234,1264533563039027243); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027236,1264533563039027244); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027237,1264533563039027245); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027247,1264533563039027253); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027248,1264533563039027254); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027249,1264533563039027255); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027250,1264533563039027256); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027251,1264533563039027257); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027259,1264533563039027264); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027260,1264533563039027265); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027261,1264533563039027266); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027262,1264533563039027267); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027269,1264533563039027277); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027270,1264533563039027278); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027271,1264533563039027279); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027272,1264533563039027280); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027273,1264533563039027281); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027274,1264533563039027282); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027275,1264533563039027283); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1264533563039027291); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1264533563039027292); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1264533563039027293); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1264533563039027294); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1248448487486394375,1264533563039027295); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027285,1264533563039027291); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027286,1264533563039027292); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027287,1264533563039027293); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027288,1264533563039027294); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027289,1264533563039027295); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027298,1264533563034832897); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027299,1264533563034832898); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027299,1264533563034832902); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027299,1264533563034832903); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027299,1264533563034832904); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027299,1264533563034832905); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027300,1264533563034832899); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027300,1264533563034832906); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027300,1264533563034832907); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027300,1264533563034832908); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027300,1264533563034832909); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027301,1264533563034832900); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027301,1264533563034832910); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027301,1264533563034832911); +INSERT INTO `zz_sys_menu_perm_code` VALUES(1264533563039027302,1264533563034832901); COMMIT; -- ---------------------------- @@ -471,179 +471,179 @@ BEGIN; INSERT INTO `zz_sys_perm_module` VALUES(1248448487645777921,NULL,'缺省分组',0,3,CURDATE(),1); INSERT INTO `zz_sys_perm_module` VALUES(1248448487645777920,NULL,'系统配置',0,2,CURDATE(),1); INSERT INTO `zz_sys_perm_module` VALUES(1248448487087935491,NULL,'用户权限',0,1,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520028839936,1248448487645777921,'部门管理',1,0,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034247,1248448487645777921,'用户管理',1,5,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034256,1248448487645777921,'老师数据源',1,10,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034264,1248448487645777921,'老师流水统计',1,15,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034270,1248448487087935491,'角色管理',1,10,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034280,1248448487087935491,'数据权限管理',1,15,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034290,1248448487087935491,'菜单管理',1,20,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034297,1248448487087935491,'权限字管理',1,25,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034303,1248448487087935491,'权限模块管理',1,30,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034309,1248448487087935491,'权限资源管理',1,35,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034315,1248448487645777920,'字典管理',0,1,CURDATE(),1); -INSERT INTO `zz_sys_perm_module` VALUES(1248875520033034316,1248875520033034315,'行政区划',1,1,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562980306944,1248448487645777921,'部门管理',1,0,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501255,1248448487645777921,'用户管理',1,5,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501264,1248448487645777921,'老师数据源',1,10,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501272,1248448487645777921,'老师流水统计',1,15,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501278,1248448487087935491,'角色管理',1,10,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501288,1248448487087935491,'数据权限管理',1,15,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501298,1248448487087935491,'菜单管理',1,20,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501305,1248448487087935491,'权限字管理',1,25,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501311,1248448487087935491,'权限模块管理',1,30,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501317,1248448487087935491,'权限资源管理',1,35,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501323,1248448487645777920,'字典管理',0,1,CURDATE(),1); +INSERT INTO `zz_sys_perm_module` VALUES(1264533562984501324,1264533562984501323,'行政区划',1,1,CURDATE(),1); COMMIT; -- ---------------------------- -- 全部权限资源数据 -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_perm` VALUES(1248875520033034240,1248875520028839936,'新增','/admin/upms/sysDept/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034241,1248875520028839936,'编辑','/admin/upms/sysDept/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034242,1248875520028839936,'删除','/admin/upms/sysDept/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034243,1248875520028839936,'显示列表','/admin/upms/sysDept/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034244,1248875520028839936,'导出','/admin/upms/sysDept/export',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034245,1248875520028839936,'详情','/admin/upms/sysDept/view',6,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034246,1248875520028839936,'打印','/admin/upms/sysDept/print',7,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034248,1248875520033034247,'新增','/admin/upms/sysUser/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034249,1248875520033034247,'编辑','/admin/upms/sysUser/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034250,1248875520033034247,'删除','/admin/upms/sysUser/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034251,1248875520033034247,'显示列表','/admin/upms/sysUser/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034252,1248875520033034247,'导出','/admin/upms/sysUser/export',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034253,1248875520033034247,'详情','/admin/upms/sysUser/view',6,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034254,1248875520033034247,'打印','/admin/upms/sysUser/print',7,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034255,1248875520033034247,'重置密码','/admin/upms/sysUser/resetPassword',8,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034257,1248875520033034256,'新增','/admin/app/teacher/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034258,1248875520033034256,'编辑','/admin/app/teacher/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034259,1248875520033034256,'删除','/admin/app/teacher/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034260,1248875520033034256,'显示列表','/admin/app/teacher/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034261,1248875520033034256,'导出','/admin/app/teacher/export',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034262,1248875520033034256,'详情','/admin/app/teacher/view',6,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034263,1248875520033034256,'打印','/admin/app/teacher/print',7,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034265,1248875520033034264,'分组列表','/admin/app/teacherTransStats/listWithGroup',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034266,1248875520033034264,'显示列表','/admin/app/teacherTransStats/list',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034267,1248875520033034264,'导出','/admin/app/teacherTransStats/export',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034268,1248875520033034264,'详情','/admin/app/teacherTransStats/view',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034269,1248875520033034264,'打印','/admin/app/teacherTransStats/print',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034271,1248875520033034270,'新增','/admin/upms/sysRole/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034272,1248875520033034270,'编辑','/admin/upms/sysRole/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034273,1248875520033034270,'删除','/admin/upms/sysRole/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034274,1248875520033034270,'显示列表','/admin/upms/sysRole/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034275,1248875520033034270,'详情','/admin/upms/sysRole/view',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034276,1248875520033034270,'授权用户','/admin/upms/sysRole/addUserRole',6,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034277,1248875520033034270,'移除用户','/admin/upms/sysRole/deleteUserRole',7,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034278,1248875520033034270,'角色用户列表','/admin/upms/sysRole/listUserRole',8,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034279,1248875520033034270,'角色未添加用户列表','/admin/upms/sysRole/listNotInUserRole',9,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034281,1248875520033034280,'新增','/admin/upms/sysDataPerm/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034282,1248875520033034280,'编辑','/admin/upms/sysDataPerm/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034283,1248875520033034280,'删除','/admin/upms/sysDataPerm/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034284,1248875520033034280,'显示列表','/admin/upms/sysDataPerm/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034285,1248875520033034280,'详情','/admin/upms/sysDataPerm/view',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034286,1248875520033034280,'授权用户','/admin/upms/sysDataPerm/addDataPermUser',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034287,1248875520033034280,'移除用户','/admin/upms/sysDataPerm/deleteDataPermUser',6,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034288,1248875520033034280,'数据权限用户列表','/admin/upms/sysDataPerm/listDataPermUser',7,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034289,1248875520033034280,'数据权限未添加用户列表','/admin/upms/sysDataPerm/listNotInDataPermUser',8,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034291,1248875520033034290,'新增','/admin/upms/sysMenu/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034292,1248875520033034290,'编辑','/admin/upms/sysMenu/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034293,1248875520033034290,'删除','/admin/upms/sysMenu/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034294,1248875520033034290,'显示列表','/admin/upms/sysMenu/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034295,1248875520033034290,'详情','/admin/upms/sysMenu/view',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034296,1248875520033034290,'权限资源列表','/admin/upms/sysMenu/listMenuPerm',6,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034298,1248875520033034297,'新增','/admin/upms/sysPermCode/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034299,1248875520033034297,'编辑','/admin/upms/sysPermCode/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034300,1248875520033034297,'删除','/admin/upms/sysPermCode/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034301,1248875520033034297,'显示列表','/admin/upms/sysPermCode/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034302,1248875520033034297,'详情','/admin/upms/sysPermCode/view',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034304,1248875520033034303,'新增','/admin/upms/sysPermModule/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034305,1248875520033034303,'编辑','/admin/upms/sysPermModule/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034306,1248875520033034303,'删除','/admin/upms/sysPermModule/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034307,1248875520033034303,'显示列表','/admin/upms/sysPermModule/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034308,1248875520033034303,'显示全部','/admin/upms/sysPermModule/listAll',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034310,1248875520033034309,'新增','/admin/upms/sysPerm/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034311,1248875520033034309,'编辑','/admin/upms/sysPerm/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034312,1248875520033034309,'删除','/admin/upms/sysPerm/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034313,1248875520033034309,'显示列表','/admin/upms/sysPerm/list',4,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034314,1248875520033034309,'详情','/admin/upms/sysPerm/view',5,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034317,1248875520033034316,'新增','/admin/app/areaCode/add',1,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034318,1248875520033034316,'编辑','/admin/app/areaCode/update',2,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034319,1248875520033034316,'删除','/admin/app/areaCode/delete',3,CURDATE(),1); -INSERT INTO `zz_sys_perm` VALUES(1248875520033034320,1248875520033034316,'同步缓存','/admin/app/areaCode/reloadCachedData',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501248,1264533562980306944,'新增','/admin/upms/sysDept/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501249,1264533562980306944,'编辑','/admin/upms/sysDept/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501250,1264533562980306944,'删除','/admin/upms/sysDept/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501251,1264533562980306944,'显示列表','/admin/upms/sysDept/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501252,1264533562980306944,'导出','/admin/upms/sysDept/export',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501253,1264533562980306944,'详情','/admin/upms/sysDept/view',6,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501254,1264533562980306944,'打印','/admin/upms/sysDept/print',7,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501256,1264533562984501255,'新增','/admin/upms/sysUser/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501257,1264533562984501255,'编辑','/admin/upms/sysUser/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501258,1264533562984501255,'删除','/admin/upms/sysUser/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501259,1264533562984501255,'显示列表','/admin/upms/sysUser/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501260,1264533562984501255,'导出','/admin/upms/sysUser/export',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501261,1264533562984501255,'详情','/admin/upms/sysUser/view',6,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501262,1264533562984501255,'打印','/admin/upms/sysUser/print',7,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501263,1264533562984501255,'重置密码','/admin/upms/sysUser/resetPassword',8,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501265,1264533562984501264,'新增','/admin/app/teacher/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501266,1264533562984501264,'编辑','/admin/app/teacher/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501267,1264533562984501264,'删除','/admin/app/teacher/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501268,1264533562984501264,'显示列表','/admin/app/teacher/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501269,1264533562984501264,'导出','/admin/app/teacher/export',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501270,1264533562984501264,'详情','/admin/app/teacher/view',6,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501271,1264533562984501264,'打印','/admin/app/teacher/print',7,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501273,1264533562984501272,'分组列表','/admin/app/teacherTransStats/listWithGroup',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501274,1264533562984501272,'显示列表','/admin/app/teacherTransStats/list',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501275,1264533562984501272,'导出','/admin/app/teacherTransStats/export',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501276,1264533562984501272,'详情','/admin/app/teacherTransStats/view',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501277,1264533562984501272,'打印','/admin/app/teacherTransStats/print',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501279,1264533562984501278,'新增','/admin/upms/sysRole/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501280,1264533562984501278,'编辑','/admin/upms/sysRole/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501281,1264533562984501278,'删除','/admin/upms/sysRole/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501282,1264533562984501278,'显示列表','/admin/upms/sysRole/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501283,1264533562984501278,'详情','/admin/upms/sysRole/view',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501284,1264533562984501278,'授权用户','/admin/upms/sysRole/addUserRole',6,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501285,1264533562984501278,'移除用户','/admin/upms/sysRole/deleteUserRole',7,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501286,1264533562984501278,'角色用户列表','/admin/upms/sysRole/listUserRole',8,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501287,1264533562984501278,'角色未添加用户列表','/admin/upms/sysRole/listNotInUserRole',9,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501289,1264533562984501288,'新增','/admin/upms/sysDataPerm/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501290,1264533562984501288,'编辑','/admin/upms/sysDataPerm/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501291,1264533562984501288,'删除','/admin/upms/sysDataPerm/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501292,1264533562984501288,'显示列表','/admin/upms/sysDataPerm/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501293,1264533562984501288,'详情','/admin/upms/sysDataPerm/view',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501294,1264533562984501288,'授权用户','/admin/upms/sysDataPerm/addDataPermUser',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501295,1264533562984501288,'移除用户','/admin/upms/sysDataPerm/deleteDataPermUser',6,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501296,1264533562984501288,'数据权限用户列表','/admin/upms/sysDataPerm/listDataPermUser',7,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501297,1264533562984501288,'数据权限未添加用户列表','/admin/upms/sysDataPerm/listNotInDataPermUser',8,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501299,1264533562984501298,'新增','/admin/upms/sysMenu/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501300,1264533562984501298,'编辑','/admin/upms/sysMenu/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501301,1264533562984501298,'删除','/admin/upms/sysMenu/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501302,1264533562984501298,'显示列表','/admin/upms/sysMenu/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501303,1264533562984501298,'详情','/admin/upms/sysMenu/view',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501304,1264533562984501298,'权限资源列表','/admin/upms/sysMenu/listMenuPerm',6,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501306,1264533562984501305,'新增','/admin/upms/sysPermCode/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501307,1264533562984501305,'编辑','/admin/upms/sysPermCode/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501308,1264533562984501305,'删除','/admin/upms/sysPermCode/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501309,1264533562984501305,'显示列表','/admin/upms/sysPermCode/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501310,1264533562984501305,'详情','/admin/upms/sysPermCode/view',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501312,1264533562984501311,'新增','/admin/upms/sysPermModule/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501313,1264533562984501311,'编辑','/admin/upms/sysPermModule/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501314,1264533562984501311,'删除','/admin/upms/sysPermModule/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501315,1264533562984501311,'显示列表','/admin/upms/sysPermModule/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501316,1264533562984501311,'显示全部','/admin/upms/sysPermModule/listAll',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501318,1264533562984501317,'新增','/admin/upms/sysPerm/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501319,1264533562984501317,'编辑','/admin/upms/sysPerm/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501320,1264533562984501317,'删除','/admin/upms/sysPerm/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501321,1264533562984501317,'显示列表','/admin/upms/sysPerm/list',4,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501322,1264533562984501317,'详情','/admin/upms/sysPerm/view',5,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501325,1264533562984501324,'新增','/admin/app/areaCode/add',1,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501326,1264533562984501324,'编辑','/admin/app/areaCode/update',2,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501327,1264533562984501324,'删除','/admin/app/areaCode/delete',3,CURDATE(),1); +INSERT INTO `zz_sys_perm` VALUES(1264533562984501328,1264533562984501324,'同步缓存','/admin/app/areaCode/reloadCachedData',4,CURDATE(),1); COMMIT; -- ---------------------------- -- 全部权限字和权限资源关系数据 -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520087560193,1248875520033034260); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754499,1248875520033034259); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754503,1248875520033034257); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754505,1248875520033034262); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754507,1248875520033034258); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754509,1248875520033034265); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754509,1248875520033034266); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754518,1248875520033034251); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754518,1248875520033034252); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754519,1248875520033034248); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754519,1248875520033034243); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754519,1248875520033034284); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754519,1248875520033034274); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754520,1248875520033034253); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754520,1248875520033034249); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754520,1248875520033034254); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754520,1248875520033034243); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754520,1248875520033034284); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754520,1248875520033034274); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754521,1248875520033034250); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754522,1248875520033034255); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754529,1248875520033034243); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754529,1248875520033034244); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754530,1248875520033034240); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754531,1248875520033034245); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754531,1248875520033034241); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754531,1248875520033034246); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754532,1248875520033034242); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754544,1248875520033034274); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754546,1248875520033034271); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754546,1248875520033034294); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754547,1248875520033034275); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754547,1248875520033034272); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754547,1248875520033034294); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754548,1248875520033034273); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754545,1248875520033034278); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754549,1248875520033034276); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754549,1248875520033034279); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754550,1248875520033034277); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754562,1248875520033034284); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754564,1248875520033034281); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754564,1248875520033034294); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754565,1248875520033034285); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754565,1248875520033034282); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754565,1248875520033034294); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754566,1248875520033034283); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754563,1248875520033034288); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754567,1248875520033034286); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754567,1248875520033034289); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754568,1248875520033034287); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754576,1248875520033034294); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754577,1248875520033034291); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754577,1248875520033034301); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754578,1248875520033034295); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754578,1248875520033034292); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754578,1248875520033034301); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754579,1248875520033034293); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520091754580,1248875520033034296); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948806,1248875520033034301); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948807,1248875520033034298); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948807,1248875520033034308); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948808,1248875520033034302); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948808,1248875520033034299); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948808,1248875520033034308); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948809,1248875520033034300); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948819,1248875520033034307); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948819,1248875520033034308); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948819,1248875520033034313); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948820,1248875520033034304); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948821,1248875520033034305); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948822,1248875520033034306); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948823,1248875520033034310); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948824,1248875520033034314); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948824,1248875520033034311); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948825,1248875520033034312); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948833,1248875520033034317); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948833,1248875520033034318); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948833,1248875520033034319); -INSERT INTO `zz_sys_perm_code_perm` VALUES(1248875520095948833,1248875520033034320); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832897,1264533562984501268); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832901,1264533562984501267); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832905,1264533562984501265); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832907,1264533562984501270); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832909,1264533562984501266); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832911,1264533562984501273); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832911,1264533562984501274); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832920,1264533562984501259); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832920,1264533562984501260); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832921,1264533562984501256); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832921,1264533562984501251); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832921,1264533562984501292); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832921,1264533562984501282); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832922,1264533562984501261); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832922,1264533562984501257); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832922,1264533562984501262); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832922,1264533562984501251); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832922,1264533562984501292); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832922,1264533562984501282); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832923,1264533562984501258); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563034832924,1264533562984501263); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027206,1264533562984501251); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027206,1264533562984501252); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027207,1264533562984501248); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027208,1264533562984501253); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027208,1264533562984501249); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027208,1264533562984501254); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027209,1264533562984501250); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027221,1264533562984501282); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027223,1264533562984501279); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027223,1264533562984501302); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027224,1264533562984501283); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027224,1264533562984501280); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027224,1264533562984501302); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027225,1264533562984501281); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027222,1264533562984501286); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027226,1264533562984501284); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027226,1264533562984501287); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027227,1264533562984501285); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027239,1264533562984501292); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027241,1264533562984501289); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027241,1264533562984501302); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027242,1264533562984501293); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027242,1264533562984501290); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027242,1264533562984501302); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027243,1264533562984501291); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027240,1264533562984501296); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027244,1264533562984501294); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027244,1264533562984501297); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027245,1264533562984501295); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027253,1264533562984501302); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027254,1264533562984501299); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027254,1264533562984501309); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027255,1264533562984501303); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027255,1264533562984501300); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027255,1264533562984501309); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027256,1264533562984501301); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027257,1264533562984501304); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027264,1264533562984501309); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027265,1264533562984501306); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027265,1264533562984501316); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027266,1264533562984501310); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027266,1264533562984501307); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027266,1264533562984501316); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027267,1264533562984501308); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027277,1264533562984501315); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027277,1264533562984501316); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027277,1264533562984501321); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027278,1264533562984501312); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027279,1264533562984501313); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027280,1264533562984501314); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027281,1264533562984501318); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027282,1264533562984501322); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027282,1264533562984501319); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027283,1264533562984501320); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027291,1264533562984501325); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027291,1264533562984501326); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027291,1264533562984501327); +INSERT INTO `zz_sys_perm_code_perm` VALUES(1264533563039027291,1264533562984501328); COMMIT; -- ---------------------------- diff --git a/orange-admin-service/zzlogs/server/server.log b/orange-admin-service/zzlogs/server/server.log index cf11984e..498bff66 100644 --- a/orange-admin-service/zzlogs/server/server.log +++ b/orange-admin-service/zzlogs/server/server.log @@ -1,66 +1,10 @@ -[INFO ] 时间[2020-04-11 15:54:36] 线程[main] ==> Starting MyApplication on bogon with PID 1665 (/Users/stephen-liu/Desktop/OrangeAdmin/application/target/classes started by stephen-liu in /Users/stephen-liu/Desktop/OrangeAdmin) -[INFO ] 时间[2020-04-11 15:54:36] 线程[main] ==> The following profiles are active: dev -[INFO ] 时间[2020-04-11 15:57:14] 线程[main] ==> Starting MyApplication on bogon with PID 1680 (/Users/stephen-liu/Desktop/OrangeAdmin/application/target/classes started by stephen-liu in /Users/stephen-liu/Desktop/OrangeAdmin) -[INFO ] 时间[2020-04-11 15:57:14] 线程[main] ==> The following profiles are active: dev -[INFO ] 时间[2020-04-11 15:57:19] 线程[main] ==> Started MyApplication in 5.698 seconds (JVM running for 6.816) -[ERROR] 时间[2020-04-11 15:58:29] 线程[http-nio-8082-exec-2] ==> Unhandled exception from URL [/admin/login/doLogin] -org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported - at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:213) ~[spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:421) ~[spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:367) ~[spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:110) ~[spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:59) ~[spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:395) ~[spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1234) [spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1016) [spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) [spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-embed-websocket-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.31.jar:9.0.31] - at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124) [druid-1.1.21.jar:1.1.21] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109) [spring-boot-actuator-2.2.5.RELEASE.jar:2.2.5.RELEASE] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE] - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) [tomcat-embed-core-9.0.31.jar:9.0.31] - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.31.jar:9.0.31] - at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151] - at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151] - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.31.jar:9.0.31] - at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151] -[INFO ] 时间[2020-04-11 15:58:41] 线程[http-nio-8082-exec-3] ==> access: com.orange.admin.upms.controller.LoginController.doLogin -- elapse 487 ms -- /admin/login/doLogin. +[INFO ] 时间[2020-05-24 22:35:48] 线程[main] ==> Starting MyApplication on stephendembp with PID 2363 (/Users/stephen-liu/Desktop/OrangeAdmin/application/target/classes started by stephen-liu in /Users/stephen-liu/Desktop/OrangeAdmin) +[INFO ] 时间[2020-05-24 22:35:48] 线程[main] ==> The following profiles are active: dev +[INFO ] 时间[2020-05-24 22:36:53] 线程[main] ==> Starting MyApplication on stephendembp with PID 2366 (/Users/stephen-liu/Desktop/OrangeAdmin/application/target/classes started by stephen-liu in /Users/stephen-liu/Desktop/OrangeAdmin) +[INFO ] 时间[2020-05-24 22:36:53] 线程[main] ==> The following profiles are active: dev +[INFO ] 时间[2020-05-24 22:37:00] 线程[main] ==> Started MyApplication in 7.554 seconds (JVM running for 8.747) +[INFO ] 时间[2020-05-24 22:37:39] 线程[http-nio-8082-exec-1] ==> access: com.orange.admin.upms.controller.LoginController.doLogin -- elapse 173 ms -- /admin/login/doLogin. +[INFO ] 时间[2020-05-24 22:38:34] 线程[main] ==> Starting MyApplication on stephendembp with PID 2385 (/Users/stephen-liu/Desktop/OrangeAdmin/application/target/classes started by stephen-liu in /Users/stephen-liu/Desktop/OrangeAdmin) +[INFO ] 时间[2020-05-24 22:38:34] 线程[main] ==> The following profiles are active: dev +[INFO ] 时间[2020-05-24 22:38:41] 线程[main] ==> Started MyApplication in 7.343 seconds (JVM running for 8.439) +[INFO ] 时间[2020-05-24 22:39:22] 线程[http-nio-8082-exec-2] ==> access: com.orange.admin.upms.controller.LoginController.doLogin -- elapse 126 ms -- /admin/login/doLogin. diff --git a/orange-admin-web/README.md b/orange-admin-web/README.md index e226b83d..fe1441d6 100644 --- a/orange-admin-web/README.md +++ b/orange-admin-web/README.md @@ -14,4 +14,4 @@ npm run build npm test ``` -### 官方文档:[http://101.200.178.51/development-vue/](http://101.200.178.51/development-vue/) \ No newline at end of file +### 官方文档:[http://101.200.178.51/](http://101.200.178.51/) \ No newline at end of file diff --git a/orange-admin-web/package.json b/orange-admin-web/package.json index b3f31d03..1fcb6289 100644 --- a/orange-admin-web/package.json +++ b/orange-admin-web/package.json @@ -14,6 +14,7 @@ "echarts": "^4.2.1", "element-ui": "^2.13.0", "jquery": "^3.3.1", + "jsencrypt": "^3.0.0-rc.1", "json-bigint": "^0.3.0", "layui-layer": "^1.0.9", "lodash": "^4.17.5", diff --git a/orange-admin-web/src/assets/img/login_bg.jpg b/orange-admin-web/src/assets/img/login_bg.jpg index b589f32ffd539d51868b59d1c83fe0f7bdd0f158..74474f843cf33efab326a36acd7e1a45deb393d7 100644 GIT binary patch literal 920832 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 -w+!c5T|0+#&kD9^73wsq9~5_cond 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%0A%z5v~R(LWGp(;>XIv$xUWgHyhW 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

UMKN2vds;yqj1x~W)mdK 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�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

89-H#iHAH>I?9S6Q^;$>2G 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


PfDZVhm9b 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 Je^2v2|JiGsCiwsW literal 725415 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 z

J{)cDG4rtrp#q{E@wt*HimyHHe#kS+stZSu{E!V znlHk?82yi0)iv!aLDOv}ytUJzy|#-_)Q2Uak!OgaJUe1|!pu)kChCutI+@un|Va^zp zBpzzd;$DaGV_X_sHn#TmHoI>m2Hr_8FJyiDT5Gg(3W*oYQ}PDL;m$%FxV|g=DY~$@ z@g#R16VYVU64?f^s_4$PdgZ$_tPdr^?~xQ2L78#}*&7YZR{sFQ&lEx9oo7+9(PQv^ z*M{{u2%76h)ot(Nn%KnB$$KOrmDOaG{GhE8yLn~81XAasQIk$hKc9Z4DJ9VP+xCjP zpTqt((`;j~)wI~xOi5P9RCt>1z`WAAiP|F3zTEKY&5(IH1XrK7wITU_M(2`SztX)2 z_Qdekr=WaDv9iALHRp+~{>ax>7Zcm9w2(yeI{5`evXT*_I4r=Ba#Uu#pxL>M?P4a! z$`4QT_}A886kZ-4pVsHc<`aKeox7Szsz~X#bR?ffshd>To0>RJ?GKg-ga_V#H0?0N1Kbp3yo zW*Zg?7$&r za1RFu6r#SmW@R>azGPrC4=J|+$IM1EwcKk0x0g z1O|}p{q6||_k@kg4&2qx4t~*}+OS(k;w@8F)vwix#?KsbFYtqgT$OALouGH=#y(Hl zROQwT`c6nS@gvV|uWle{W@vnvW+e-i;1ED3)L@n5jCJ%PwxEktjU#J|X`wQ^2;`Nv ztL-El?#DS8=e|8_qVYHFF($1nD{*3OB()5XKBsjg%2kN!fnNoH`MJS4=tvdF-TYU$ zmsgWg(zN@1H71Q=o(M#(Z*orTd8xZ;&KnBA42*yeHLO#X@v)ndO4l^>zle9!vcqS6 zB$CF)Hi`mFk!JvI0dvVD0l1zI0<_cOj;E(Id#{Ak4DVT4o#N!K)(z94JY;@30~bs9 zksg_)!xpt`b$PgNh^@q6GYqz5NuzRC<{T>^;PI1@R`16ew~yw9F10(Rn$|ZlTe&v@ z7a7=_n6l@bo_JpP;$??~w?kE$+DBJq@m6R@%^kZkv2Du5SQ0_bM?7QltJC~ljpl|! zWTkES23Zl??tpf-zcOqRzrW4ZvmpqPg zR~+&iH6(u$EibhwyvZSkC|r`xtV;}Vcy2Ip&pF3VYszK6jtLc&mu}qdQ}?mdjt3vD zH&53jd!4bzBS=mVrwo3agV)oauWX)QPt3oq%IB?J_^#$z7f`>{Z7w6Xd?mfT#1ly_ zWB_G6hC6oPvtJpuc2Un%zJyvqNmr+mXv;B#S3G!1;Ff&p59Yx7GGU ze8px}V#gnNXTE=-t5#Qyb7m&DV;eez|^#>i+<0&)JUWfPEXU#RdCu89q zW5yHN$-3Xgx>8>27dL>gVwv*-$VPGH+*|pno!C|(&)Bv;CAzYS#CO-wtcpkOq-73x z;QYgkcjutv(mQ_{wS=Boy8Yy?WoVvI{&ROFSp3J-;QQC3ft;|=_H%@4N3@pD$(;41 z>LtrLLHS!>Tch(g;t%cP`%nBod#xYF8o!NvD<+{M$o87Ph;*4_XE|nw$r4E$F#wj0 zgB`2S0=b_G{@8ySJW1k99X7|s8mEi3O+t5Ddpni>*0{ZrRRNc4Zh13+LXy~QumH0Y z`z51((%QC%rbnkJhD$~N0G2KvYU7>&VUGNC_Nuo302zG05&r;eLt~}bYJN$#7uL3s zMR(;MsAb0Tq<;?Wq>sCr^gp#J^4sdMUo~&Z8dH>#_o_GNxA~td_$O2Su{BQ%>H4OP z;y(rH6WY1E5$gAk6jDti48!&}h{qEs+>Fv>%B)K>9Fgb#9sdA=e|&85=ft=8jpF|R z9QX%K@r2VE5=}A~ukGLwvD*v7Z2`A2f(By^xm5uB*$ekpr}1v{Uxi}2xNEO0e(9#c z+u!bt43o*=^H_0e(gu;gwzcThh}x*pGR80g+8Ay3!30-}Q!>XvHA<8f`r7Z))8u#4 zSa&5kP5tcgT|@SI_{d_nOV8R9MOB+2p3lJ6E2sgxciwA-m3NlTLo1Ph*v2bcQ2mH} zdE!3|{{Uv+d}#5N#f*c?Xn==Lx0H~7)(cq|_h*)l&Ar<-^Dim$;zngFM zK4P{10D@`w!p2J!@c#hD?OM^TrHE4<=X5Rjno8TKv$ zox>q(^q%8foo=Jl8rN;cnS;d^{>~Ys{>g+) zcTTbx!pQ#s-fnR0Jx+U9Z}$EvK~sv1ZP_pQZ@}e>YVPgd&qMOh#DDNdx$W$(rSRXy z8Fh&P5z7L2I_BM2NZmJi>~WkEk-*947(R*cfBp!iZx)GfXX6Xch?!BO6lUD)i>; z+?DUGzeV?S2~wi%&3pMD3w$8`hkP&bUdKhz{3q~V##TB-m{ea9_=8>3KeTR2IbeRt z91)NKcgPM{o(Yv>RUMCtKWF9mFXMT?;aq8Y4}`UiY8JE9+WSU(x$YH7+}5&3EJOlG zVqz+T2r;|mA7pA5dMvlHZt(7; z!*ikdCeKW`v7Ar#t2;FNFL`lB-%+c!Nv0L3$?S3`(3s4D)PU|6yeob&&s2cuFZ~19!Ed%2jO0q;#p>o!}CX?&ooON z)}8j3F@_Qo=A=R&AWfFw%o$XC+gXCvm>klr2PEE)(JTGNlBo&HZ<^HnPx0r%Yp;Yl z_12B6!)z|q)Wif*m6;d@S3x2yn^+YidMg3dMPf_#MYfS6iDQ~PhHa@D@z;}rabL1N z68`{#a{M~g{vxf{h&~EiT{7B>L#jTz=GY{jW0sliqr8q*cHNc+5_XTiG7V@&{{RGV z_&a~`J4W$!!s^}|y3%hJ{Ardqh4lNGV|8%SEzg|Waz5%ZgTNT%pL#q+MO)e@dvx#j zvzhWQh3WVHN8`FUnJK;wy zwmusJ9CiTlR`ksWNYU+@*4MLm#_Q})Z_Y#X(dwc=l*E^b$%WE2=S-I*<=3z zgg?N(H}Qi?aHmGl?ypskUJOXXr#)-w@7eSI2+i?>;vTW4w~MqrKjD6lbt0F#@ip{G zcMM8Y%Ijc`Zds8SFj*EPIT?`wEI(vl;unixv`aaz=Z4%NL1z?eZyIm_3I^N(j-2$s z0=UgW3yZCH&TAPK@_5a=&X%G-Ha*4mys7|Uo`Lg>U{?+&jVsiTEh=2TZMXhMMjtCs zpETy5qW=Ipp9OeV{s=J^wWDgXf5PVQ?Zk5Va%q<~IyCPT+4;B17=>kJE40HafE#w_ z`?d5>!;jc^!+!w3XWt9xzAEw7pP=1ocE%k_;bDqBI_7qm%G+d@bMnPhJFHk})cI}S z*|krD5cr{_xVqByFSKnUJBaU;OsCguo6wJDTwtH5c9Za~`#@!TTaOXK01=>FMI%Vi zU~CB*Dqw+(g#-=(9M^+eI>q84$%%JO-$ifG^kYt(A2lgi{Es;Jf8n1F_@hX>kHfmh zg*E4q?bYO#2vP2UWRybJ_BL@Ok!)Csg%ZX?gNClY4}_Yph~k_3VSG7bYaFR1wUvx% zs>JM#xI0ZflrpOZ^Ew=JoSb96dQ)vQJyJOu zK&>-m4dAPh>Gw&&`ikY2Do;qK`lCK)d)*#$bMQk$iZ8TT>HZk-{fuhDd#x3Xvs{pk z9$Rd21e4|}WJXyIN|qp;*zoVe9}npfTv^8?@<(`^W)kW*7YJ1K^3mmFLEk7dlbn)C zK9p_mE~OFQS@NSh@Ky7Un9m0u!|}~glfux!D%?j3w5mx0M#fKXPJKP=IaH}pTI|v_ zn%$Jo!~F_77|{*2jkHK3M26NVZ|ED>nNQxg}M;r zLea^*#t7;%GNU-i1&Q=MDif9LOl13+y060+<+Ew7wGa46WVr?jBh{~V!}fgt0IS;y zDfw_P58lV#R>KdUv_IJHZw5Yx72)`QVPmAcw>R$kMEa(asjIYXrERb7Cu>{8Wp)>7 zIs^>=0J?p_htf8B7PL%lac2*h?enZ`%oO%sP;Nc)an~5*Bt93on`2806=AprQO{G4 zPhZNqF!_agQoI-Sx9Scnmd-{O!|wuUz6ZIu)ip@`S*%`aE4NV9km+GvP=gwQXqM!l z*a$BJ$-8-J4(!$@zwo-(;tru>dE!42PpWEK9L8-QRMV#Z&Arm%kOAfVtnn8ktc@6a zg(GG$UWsd^Od1xF-UyaIoEAHRT}+o_A@Aq{(qCv4uJEKp!u%e#?Ird@Jy-<5KXCf%H!gcr|UnL8fSOTj`D?!7C-g zDkDr3Gbo+IF~e;v<&<0S&Y9w^SHwEB*A{jyrL#zEC5_BCPZKE2FAI+-m2Wc+tl3{I zHz-MWi~a|AU&Q7M?-P7ExA7LWGX-1ubhsnbU;qHDZx-PldJnkB!vtX0OtF>fMMA9G zirUS!e?W9-sa>Vb-%Fk^;*a8wA#5$ejvdoxa1II1U zisC)P7%8-l9AM!3$A&y5XW{!Lx3|&nG+Q+?7PnnMNfPgJ?SwNnQHdvxM?#~eY$m-u zr2hbAv(y$S6KX_ZxDqmsg9-x>IuLps^MVF-dDb(Rk<^vH#Mk6;&jm-C@QS~hO!+7F z$^QU?6MQ-N)!>_7_*eQ~m++^>Q(q+i0NSmm-nE_TJaU;KxVA~&I8;bt#Fo$vgk#Gw zlF|GR@jw0uJ^M*~I$MdXyg%Vz8EN*B`Hyv=_@2z?k~XY2Ee!0~1+XGG3faLJuiHtr z?OR1s-)gw?2i#!0j^38z$*PfwcA z$1qWSZOJ5RPS;udNirr;+ zBfuo|M?yi#>HO>GpW46v38(O*_Uw|*PaWy;+3VU>&C9{9_%=9nEkB+TF-8yh5J~a4|eH^=H{@C$Jw~f^9!xXj_%D^4DkIW|^9jet)l2Q_V6T0XQEn74ZXB#00@FO_Nu5DP~(B}iuufc6j6(72k&~TFV64q zK7y7Ww5g|2a{TZ59wYE~{s^(~U-oQ+NxastH4h&6g4PJ-y=_sVHX`f*T1$IxEik0y z0VB&IF47%H&3z}~YhMfa5(~x9^r$u( zF)|h`+Z?H8B%XQ$v^P(+j>}AkGAWG$q%S-9lB$BlZgN9DH?iEsk0j@=dHdfLO>=V# zM{v;F#&BJ%rD%cNNF|v_8$j#04*UWuKgAyyUrF%AzNMvHczXI5ZK6AwCJl0@%~n-5 z&|FKy1t26iB~Iy7F~)xM-@M9=8QDfC?LTrOVs9jkq4}7^{{T1u=Nx47>CaJ$%holE zTm4qV&8%Chw2?&&M&3rajflwH`F)|+Vuo}@Er3|NfPB+j{i*fMA40eqAH#OM)+CYO zj@_;GTX8oe$050E6J-h*@JW_+2wNd#D$$)UhQ9+fPZHTh;%^>n&41$i$!)a_niip| zMWfirvBawtwXNmd#B4)G7|bGxrQUu(3EkaK2?){lvzMYx0$sqC8UDVOZfhKa_jRllp%LHOt#Pg3!Ya5?pu5| z@V|pDbt}6a13}Xs@*(z?h7G@K5w8CLGDQb1ARDshECUb@2^FWahb{jAP<)B&f9urJ zvAD8PaLU$ppI{*+VW~v1!1=&eRnN_UaIJ&JIL$+8tvYHJvgvo4G~1c6$reDVF72whB@}LBu}Lxp&fZT3r$xDZv3kQ_CcogaT~ozc zE{(70`d+!IMQ^L>(_+Y3=@)0rZQ($az^xo(B}VClYDXK`axZvm#(HOrbol=Ov#+35 zk#`l6(n!3}ujRWU90?S0AcKqy4l!CZoNkjdc3MC9 z1%DEFi%;-ojV7h8-rDIlcC0_sC6md80URZeg7V{Kh1c*6I=RY#!gOG4R1AgaEvD08ONpUCG*ld;BB4JU1hQfT1yCAZWHO(wZu|+sL->+B%#t-H?IoC zfWg7R0f7UIigfw}UM13Fh4oEyPFUE6xzlwi?dOrka2iEz+jE1JU>FgS%ktMTaqu6* z_d2!awQARQ9xjf~D{t*>O6q9lmtzqVG|;SOQyKFDhTZ@q9jHL3($8{~llY}?k*DKm z?mRnT9rf3bF1$M!bcgMiaoGKwxNL(PNf1SthhPJ4P`x88Ji(hkiL7SvjlQjK@mYK> zx{8QwY^Rq_HkXeQI?J`TiDp*bIZ0KOp-d704MW5K00}i~U1_GX@g%nv?HXA%ycZXY zk+~Rlb@PyJ1y#9u03?-MWLCbd`#<tKVdC8n!=59CKp}V4v}X0eaEN{FUrAAo+)opF8;JHN&lm&~%$mm#rK~klP{NU}#Z-?Fj_^qv4+-Z95m#;39 z6t)_4_8OFP%V7+jT#pn|gN=?A3m`jwRp6D#BTAH0=8O4j{d$zHrP+EGyif7RN$^LB z=F*O}tk2>Jtq!vek8w4*n^?CSEyT9c+)V@~V%wK%O0EjF@CMRtcuU0kh1REQsA?Vq z@yCblbo7wgYB!hqZPlYlvb<}v$-9z6GpSP2x{$vrmJEy+Qv1S7J*C7qQhll|Qw=*w zIol`${aHoAg(G%ICw6%U7_NIl_+#NaFA!Z%YhkC@YAQp#^6B17vlUqPi-$lZZ!c^_ zqcW)WEY848Burl38Wk zxbn~_C>@CbGhDZXKWs^SPw^txO11b;@l(QZT{*ZqzNz8w>?=f#aKyTWYnGLmuvo$} zxi~HekSC^H-stvHe){UhJG1i?lJY1ebObgSF;L39WO4>U=~cWxtN2^T7b?0oq2Y~U z;LOTx^sPc2Vhk4w!6c0~d53DdMsUjAcMY!2ol0t(yl>}ynKDVV(tdtry*uL{hxI)| z>dib+r^9@xC)8}DzKiWC3Cad#Bps(JatYw=+7C=G8qeW>2BPcNQR&t&$z)-ZSu1C5 zA+lq)%aUnXN<{mB`G7)x@m4uKewX2B2Ad}0^1#P>w8Mk}v$SPE3y?=Z-udQ|?eyI; zYpctM?c-}bz_dPO(nLrA#=&sYdp zN~E#sRQLs^^5sK`H0!}`w`hTi$t)4Pe`&^Wt%oQ|vW%!@Q>9Ox@?VtR zjb^l-pV!EymwH~SduerTabv64-UX2*wzv~RBrZNy#BM~0NOHLwa!D99y&r|+@i&B| z(&3L#mruI1Ye>G&b1kq7@_?~Q5QTBH5JQ5b4^j?gm%{xxZT;Q$rEzkPC~KJ+PzO0+ z>H>hI5<$Tmxz6X@bG2^|d_C}oi5c}PjSotg7#>@BuAVsV8L<>=ECh(S7&;T@EEeUE~5B(sheni~xVPPDa&LP!H5M9&0ECK$*OMi?my z%;jS>G;fR^3h@+Hw;D#dWv^PuJjJ=v8Fd(-Qdb^oz+PChypy?C3a(BSSdGtzwmuWF z@ZIFT8PW8(?C?I>C5Dl)M$lvZ^P&tG!fZRw$+v08d6{6a@g|=N*xB3aI*Q5UMde2? zoE1SNssQMu0zq{EG<=`94@8tDt4{sf{LXcB?8-hU@h^rfATwWIM|%??R(lw(ZcH&q z`$w3z%;Ya)BY>b}uKg=8};Gwcnw#z-|z>sq+iH4DYiuJuUu?HyvW zyZzRq2A^$c>a%QE+Es$;Q5jg-*5fGZeptf*ckhRV?7rQoc#~7nZ4*!5=3Z(S){u=a zE~Z3g+{+)#NISk@vYZ@pHWN_r-G;3ty{y^{7ZWPPA9O0GC0OJ4faEC+l73*ydB@A7 zDoHD-qNL!Tx|z&DuG_OL+Ur4}&1DiZEY9pOWC5G~XUd_Bc#(zzuqUl+__xRU9)V%0 zTWVL+LG~CiJXeS;eB$WO9BVbfNJNqaAw#-?NEyaWXlv`Dy!Q6@SFl@~fW}*O)f&yE zD(VSWhIJ*rWd{VGoB}by&Cxs?q-h=)pZhk)MO`I;wlHbaTSaQDXA)pCO1@l$i%6#` z+m(v576P-3V)c?Io-(s{IPVI4d+>jcd_`osHn9%1{k)FWnu)j6Bhs!EB4!bHBtp^W z8C7VN%cHl^+^?IyFG=2)8>=iXikdWB|o`AeRFjhV6dqTfN&WVgDK*X{PU$ud3P%^dNR z1929~A&pK7tC;qJSE`gIs#Ao%2(|04%&&`6Y8^)K-p>r471Xr}?4fImN$n%HWYjx( zQTdV~S$QK8>_RXEjNd4?;qj(}bsnFg!wsaFnpmwZk^+;tEbA;No1>7DNoN2OPDpMJ zBKVTl%ft41rQNh5%HR~Y)n(LeY^`UGRwOF4vLu860XUC4R5#2H4uswn(QIr@=CiF? z-om!61lPBhkw+koHb{Y4V+y;21sjpKZ^6#$n9^2C)+SAL{0kb#iD9^s-|X5<*HbLb zB7`P)jmW{19$0Oy%8&tLo~I-aH2AsuU-(b{_90Xsq)~T)P7Iv%f-&v9i*hR(D-d)&R!)J9TljX)|OPLoT8Miuz#|jnP z6;}8+#~Njgozzykr;3f%V)l#nltLpcf(~YuF(i;|bWNfkN!K-9 zKjH19dQPA4{{U9;1@Vbwf*9bmg4Hm=Rb`%eBa9KA1{m$Y=LZt_TR}c4(pKTTB{zk4 zT{NksYB1TX&`KHA$dcAcBXx4l%HjTWl;kerqjzNoE>xGUz4pET00cPHigvR+ireFN zhIP*n`92`CRCgX9)x0UG>33sFd%KH>Erz3aJ*k(;x7&4jZ*?Sg>Psj|2GCn>(n9?O;exImcEU%<#^CP^PoDe!Bh9R_>9ysKP$P^O0vT%eoHs?#T@W!8UeW+e( zdZgEjoLktRIK+Sgp<@N6U^9@aIl_UHlT)cpN8P65b)}pBnRKd4q^`RkKKx7lmi`*} z+U2!>7fW;Fi;X_YM2Y0KNats>x>x}{w42jv!ig^m63NSBN#mfIXNby z500-+%bDA=dVSAAoTDzEGv)0kQ1NGpt*m@I;VnWxh`KI@78{=wSzSpcm#?nXaRjnS z4dF)!0W9|g4)CcXNrjK3)NDR0L17%4eUFE9`-|x|lc{PJP}$fiE%O^ODV?*C^OlY9 zoG(?cZun{7eK$g~o9s4r`evD>+)Eyxr&uI#!D9-lgj7`Qt#0+N zB0Cwa?UpoVxoZV6-Moix71CB+>++HnS3YJ2O1N3AiiD~;Q-XHyt^I$i8Y#57S@7?V zCH=8KwdRvc@UO!8E%e)`&9t|=WHR4|Afuhyi>}?f04nj4Ln|pcPf@DJ?+sOc6r zJ}lAx8F+q4BE{a8n&sWa+OH#Vni#HaiDCm`8NgmTwnxy{Wi;JN;!iS5S*_J>6`_E; zs%&0-l7Zw0Io%k178!0hv47%)V!}-~R9GX7$n%?2k2t|lsU(XiC#E*%fTU!oJ5|g* ztP~XpMfXYH^D~Sm33GF{yFI@v{wL3W6g(;7L-6ZbmiFI4Xl$j1__eO7G}9HtaXASk zyg-Q509AICMq~4Q*zvW3MvI{O75=sNRgZ||hglX7!y4XAx<-cL>NqAu1Ayqe%VcdC zT(1Of<86HV`$2paZw703I>b71>H1C8(L|2g>Pv{@ECVZ$_VM`&gu_=&k<%40y8IFduX;7#v_9N&?LxUBy?^BY|BSSz7Jgo!!aE zsKB)mu4CjJoRV{2LG7Y=oRTp7*`f?V#!oHMoYxl$`?K4CdXH?M^TlmPZ3W7Fu#^7K z;8c<6cDr`80!|1S?MK#PFJ~rm{{U^1cP-DM_3ca-%zCF>j-9Kg{>6YO{{TmivHQ8r zTDS1$+EO_d+7wne^Bn>&=il(nPu8Q=73^iP#69NI{-s%$t`rkeN2^>s`#2uWu7Hk|bNRfWzi*pdCLNZLXPdbr$H=W4CS^X$V9;`t>K-a%lS6 zZ({v}IAW@D-c#qG7{~el0PEBS-J@--3F=C-w_jfM-`vKw2^?#1*Agn6?T^ciK7{OlHc4;6oFX+8|rHA@>+mg`Tjp5onPD3F;FGEhkD@v6pKZsuoPE>1-_;-jJ$v2EDn znFLnyO(BjLZQ_z?9!3g~Mv7V8n2-XhD={a40VIGcfz^H~!{W8@-S>l6TDQKBS9vXU z9alrs;L`O8A`**PEkCsmWR zm#FEMz7+8mo1|)@2(L9bTV0Oo`a65i?JqV6E#aCpmoP}HzAdP#Jf@3l`p&hcU0!Op zNK*D|h+u}|>rA$VRv6?M-lu`s`~3uBNrFx91~U%-0&!KQz~; zSJZEJMK}ZH5;xkmu`G?`mf8VQqb9br-w#{Qu1}_$%Lyd7hDf6G1k+qk6siG@1g<7; zmGZ$6ly2xN55t!BzYcDieHI(b%`Z>5Yf}xq(JdtMNM1$>adLN{W?~*TMN-=_@?dRS z>*?aV8;8^NMYp@2Rv0oQ!rnxbq^Tf_e&Uiw(YPf1$is3R5sd1+VrlID)J@Gk4LeD) zo5|E9va!BZl0CCF@^af<2;ugf*x`l-4nV73AvbrP8~ZGmm;PLk$vM<_`E1NGcMw5l z-IfF@V+g~Kx_CRyMr~FbyDzs|_-n*a+8c@DW{ya2BxV8MZen?qY}&U8v6n0yHaw-) z(wD?uAJ(JtX40>&CYL*T4Jzd9{oZ!F6i_z_Fy3BA%1#X;v_wjqZtawOG2_d>h5B&T zBF49+TEvCr(zN)l<|wlul$jy|+C8Ai?2fUv$Q%xsF4A?47vcWBruZ&Knmaqa7TI)* zu!|Vg9VPM&oN{di-BL)JH1jton{MJp4wr;iR=(1fT_#DjjRqU3XSAMgDpq@G0yHXz zVVTTjofz-j#w2BT-r!^WZSdXKiM|nCTcp|>NYN_X+uvzJThlIl$rX`q;AVz&^2h*5 z6D+Zxo8|)wM%Uz<)8(MuxwPNQ`rOi!QL~b3%fy=ew};_q=do*X9rSG$CCbR7ehM&k z5xL%uen;LGwRCwb=kY|4t?j3oc@Vj{f<_X&Aj(rFUMC9JV4?W}Hrf{$Z!nJ5)M?RP zUtemLdbX`%+7^*_qiH!?L*3%;;!xUdNio{jSX#16y4O`Y4GWb_Tv$)glY^Ctb&>P3K zw$Y)DZ=+%)Gh4|FaBplVYz@pqbLPlZmz}xztEcOhy4If8RyIB$j^cFFQ&M>q8sae{ zMI4Ywt1GK4E^`vGA}4sno?42=@aKja!{O5Cz7Fu}{2(?EER&(qpw%q2Nl7K+AW0lA z2qH{7tYL@D8aG3-X{M?2y)XHGVJJ52Pix?7e~tIaf8n1Lc$ORQ0cwhFE%ZCNV~$X( zv6gFlgCugH1%CLAw=PxV%M&J}ZWH0JiFNH#xQc*!a6f z@ci2KjkCkUPOe3+AbiqdxLFMND7c?z;z8=b;9cI}f3vPG4cBWwqrQ@|e#G@pe>MzPYh&3i%DF5rS2i7nxf z>37p^B^&K*+`F?rS){m@B|G+o4AsPV8}^%3n)kszF7Z{zf%Sm!PjBLj?-1#lrkird zb1kjWlTbGh$+APe|S8|+ivWa{iSrz8Ee;?E}3Jf zpA~L3=$4V{HtneS z#&(e>m?Jhr50#0G(tI?$*P{4s4zZ%! zwt=JH-rdat&lBqE=&VeVOhk&R#|Vr(w3p3f-EA2T2XU?VisI+S`fPXB_Oj|)ZM@op z+`ff!bo8OZTZDlGvM@qlZUJP+&|%S{_>-%6iq6)?PZ4;QYisNKF9~>x z?&|9N6<8K&ZRER4B?u4$Hr9C(BaEMvc2!WR9&S!ut!G!%ni99Fb3w=Mt(|Ee;P`jH^{?E~@POBSDJkrhbtdqCdn5&q~49gH$&nh=awSFx4 zF8=^i{?^nlz8mUN#igKIEllb;Utd?%(oW}6L}|Y@<2YFt?Kgl zn(|wT>{(;Awpk;%5W{`u&n$z^m4}q-&Ngk3JP3h_#Hv4fFL*EFo{e#*Tk2N&_lNFU z(s@?uHfwuXAVme6%vq!^yEcKgMjWu|kOw4c&YYa#`rPRDw_APspELYd_#YR7yceL{ zzL>L5uie{R-ZjUBt~@hyZ+j!Otc+xt(oz=HB`7yKg3?5>u_8}?pTiaxSCH#kPN}L{ z?7C})C7UKfmA-Tbh&|Bb*?j5T#=ioWjbju$P&8$hNX;KKUZS~mF*23@Y zHu9MA%Cg8NGRGvsSp-EKvo=-mtEmsd&kWgkQsr&*oi5%P8s-AYH1_`hWOi~;D(?Wq zs^J1FE)`I$WRe1_ijH3w;O~qZi`7J)+)pRX4SC$K{+I)+B3rY6Ywow$U>xFWP z@cE;W^D?^=%LW;*Jn-M_!{F^};(h+HH-v2USnf2KE$?Nzd!I7?Z z^5u?AnAjK~YVV-lMc1^dDLq68hTw@&1-EOa!OsIE|LZF6-Gj^b!>BmYR--#tTcn% zY82(}rp|Zv=KYO4NBd6cJ{QuwH{y+Y*HY2#q`tR4BU_vJT^4IRTT3Oud6Y9nzlL>Y ziEyAZmBi9~1@S}SM}w!-^?g6#MV^YwZ!N*Jk5G7SWQ+o`BZy>6HW@%7lG@=|5{LI~ zk+b4`X6wKgRx@h1(|9^b7~JW%SDLF$ZFA*~(hnoeOKYe^N~Ab;Wm3cx#^ccV3-*xz z0EC7SXQ(vSnvB-JYO~aQHu74>c?VRuwz~Ud26Wvf8W`>hs{kAjRG&hYI=3WL;+$jM zZE__+eTi@S9K62~H2(nErq@aEj-I!deh2Y&^`hBn@&wzV>T)Zzk;M#&b|kfx5-%xP z3`R*O3X#SY2e?J6$?=E4*Nx%`^nFg&>fh~FuX7ME$hiI7uIaQhaygAk9G%Eils_qd z!9{g@uY+F(^gTDk8uy3pJUOoGT4jyKzOw%SYNNN>T3hKZU=v)SD6uSxt7wh6Sow}s zV}Ek^ckw5}z95RtV!F_EJuk#oMkJom!L@%gfU9m*K3PIKu3%iUgd13aS>vhHRN;wt z_nTMgrM)%R^$Knhlcxo&Qhs{>0K*w@c%#7n7WlUYk!hk$;J=9)#f+ElBTa70e{Tr| zq#tOR=2hBA1YIJwWGbzeQRtpD{hly%`Quy49pP3(8cCk$0i0EL=n7koR!+qxj0fe z`9a`Cg@&PVCZTcQ-En8q?S9O^*m|zkiA%~KXZlLPB7#8)I?3e|!l_-gg*-zu`|Il)n42f< zX7YECPZ(k5LS&XLqxWiX4SJTduKxhS8KGWjy2PF>v5!>M{{XZ!qp0dnsai{MBeU%C zAw`V4N)?b=+qNCl`GD`wmi$-vd#!v|@iw^(dTym*Yb~_bnl`^QcXqc?>S8}4IIba% z-aAdln4Kq%Gv!F`p*+bm>HTW0RqX4u|;Rt*-7aB4Q%~7J|;!Ta}N1=#hzIz*D$@M?d=xc)!Hn8~Aa3;ZGOpFzEjP5xg69 z_BGTeZT9!JhZ4ef6=f+rECNapuo1Z*GL@}Ai*}NDpTrYuaM{^-qDic0vDEZ!6U0|a zz=Sgit~aHzX(Lv7KzN8MtV)u>#|&Vp&C;H>-KTr@)3Hn6_mb10iQ&)M3skWEqcv+C zM@jLw!?PEHV7b%nJV|IGyAVUDENyWc-Ir!*6trdEDxOL|d@h&mCE`6f8^S&t@o$X2 zAGN28H3=-WDSTC@YUaXAc%o^egf*qWnJyM+pkpDL0g|MEp+kI$`%hdfKOKAn;$H`8 zciMz7*}j(@gt0*siF0=D(Oc{m$nLUv?C8cUKH?HVx8?hnQ`7u=+O3^yTe zxE>+Yd|TpM9aBxzv|H(Q3oFZWsp>u-)bFnKJ4XsWXzZ=wGt8t)(Kg+{Gm>ysg<|+) z!14Sv_%-4!Yel#5Pl+`xCjR46vxCG*1-7ZWa~Lo?I9YtWl^do(F3q?bN|VP@N>S!( zTkm_{@{0SuV57FaR{p#H086RdYL>b$#VPIXue9sSeP_b*x=m{Y-($Y8GRGNqG9-x$ zt1Bbns+;op_X?@XP3!GQ~Tx#A>Ro| z)ky#hFUM~aTuI^$7gE#V+a1-i-C5k~Hp>;#znJN}IZ&T4QUMBa-;thKInzsB{{SX! zN-4{g9--mC99?*~Rkf4De_-*(lXWbsaWA=&bf;fE#S zJwo5dzYn!5Tf55{uHm^^wD|7t;*mbz=5K3zWSE3l+^mWe< z4P(Qa*0H9r7fn2{$$uydh{T~1GYp$bmGc$22L~L9jx9=;EAMeiDNEjVvGPyGzZ1*j z{{VR z_Bni_@X&DD$H(Rgyj0sS9Rd>B7Yt+>84-2okEhn9Z5GvI+Sf-p<1rq7oqt?bN81>_ zR!2C-IKf(yeNCMbHj$feO`k1yd7L-a<;T*Ym5O4ORzL~7wwlo<=k+zZmJGehzv6*(w4c3Rav3-u2EiY5(wvr-@%+DNRopntdFMapr8n(yM{WDR-E>z6_=mTpLmZa&h!@M+F}W9_ zk@$L4wQ{f6v~>G8rC8QhkxwA)0JeGQ+l+8}cNI=+8*?ekXLAwr5y#hxf1e&yZ7sVT zWDI>hKl;@9j4*BaomtLC6gI>4=lRjfS2I4IhgXK`d7`$z)3&g0_2&&P*Um>(f8BLnw=)k^>}1Cj^Jg&E`!M+2ya z`a8=VNrK03`_hbtDU)Pm@wbDFoa7wygU2|m-A7J+M^lF0-^;p=W97TYnDQh9F;|lT zHaW)fp+hL@FiUlLE#CfLvcn3;36UB*nOZUs1z6;8%)&V{9^Auinit4qwjp!JaeB@%`$CKU{;KI>ls`wWCNarV;RRM*k`?F z==RqBOBp1J-s8+vg5FtJ$sjI9(#QglwYsoR;Q;ZPKhiZVD7!~-9qqPOMrg@h+4)nd zh9r^;1O$Ae?-EMo7Usp}<40w0^0K?Ho=Up`A`PQC`?w^GW4P^+MZCQ3cV#V-OUZ-m zxIW$MEBiMF)oj{Jxy)`DxpS}q%ErqhZ67e|#c(|v2Qo_uB|de<)vuP!!BtWBOvIcZ z47ndJ=D}?IpbYa%k~Xk&HDj_9#P=&}=UKX}q0CnimI?jR6 zpCp@&tF&h;f;exxfN(fGWY!g!j`0>q<+hq=#(bDuyu@VXnHY|M4wx7@8@bFW8N8Zi zhVvPSDS}7x@(u>f@rB12VxS$pNEn_=GP$m6Hon3rqxpjXLk3N)8OhEw$pa(Plj+Hh z*I#QC6D&%L3l<99KhIz1o+`Y$4W#!A95-umB+)s88%~T7B9S@U4c;WSf7}j4CaRgZ9+WV3FOzISpH;K+F)5(U!S6{ zO!wsT`5I=Cs7b9!Dn$2FNwoP9#~;ljj2sYKA9p;0alpYfa?8PRU-*tIb+y$mq4Pv@ zBgYiJTyEk#9fxZY&Wn})E-{>ex8h%dl4zb1)HNTny{V2sk;Qp*uOlYypd$<&%Z#$J z;FfG2D>mZ`CTYnjJDkAQ-rbfGBn=xLUm`~7@_;~A0OVnMbJnhZ!bv5)yi>Bf$0BAj zk?`D+oQ~O3$5HuJO;<{^TNqks(ka178RcPan>LO?cRw>_cm(w)Bn(!V@L;{u7IYH*Tcz$aRN^Be|b)%^qI_BK7<~&-JTc+LC>Z zE-)Gl?U1R@mU%dD?)2}+y(XvdKgCuJWjomYvd-ya#nrGfG)i#9$p`{cRAd}3;0Lv3 z=)Mz&To$m}-|2U5(1G?_tJv+PhC&VzH_D;&!2v@t0E}cD#iK1^Xq5Vz@OXyY+bo`P zrtkK+91i?{Dtvw;P}^08?%;64>!1GsRZAbkdsn|}R=lwLN!#{Tx71^AF-GD^1sIkD z0N4Wq_;N`Q_>KIi@r0yY|K+2NM{{Sr5H_gX9bjD3gV+Ww^G_G8W zU1o(_%;9-B{u7GT@bAQX?+x#g&PzSA$FTX+M$}_?x3&&aH75og(sD zOM(y7Z}#o<$?Do!Qi0HeX~cZ+xW{xxV?%}A!a^qQbH8npPrjZ0~X{5Hb zG$c3Kmg>^ZJ+0RgF>C?X0D5uFN1*&b)~|=!o5Efj(r%sG3;zHK7`aHIAM?{?vV6xG z`9mo6tRMJGG;b$zTf)1x$>oTFm7F)stXl*tC=K$H)B%jPH?RDCYo^5njca2z=1__D zX=5=UQT^nOw05!boR9Qf zWh9Bfaq|(7+=2+qV<6++u0!J(a?NXG*0wO6l0TU7Nipg+voTYSoepq%bgoy%KNfV$ z9W5rY(OX%PNs&B_HSKKTw*`O?C)zF+SKE`Fgpd^AACxvlhmUQ%K{wkqUkbLL^PjWB z7P)UM-*an9${ZqO=MlE^_i|K$S-dwY=GNYU@ojIv{MqRjlcnCFACV>GfT;@8To~7; zM(^Hp>=jAwJt`Z|7T#&{{g+Gd&aJIoM**7MrEwfCayat~I8Iyci1WjIr14z(c+X9o zMz;EG)}+!aw9h5XA-1mKqjS2%OAr()zsg*mnKgS!@jj1tYYcaGdey76j~Yh=qUK5P zIAI(G)Q`LfXIur&26I@-ic(g7niWp=)nDiT00h;x@y*q}x1XtacGlK!`E3=u{jNxc z3E=FB+a1+V`)3%g2IuzB@cx_PRnzXg58|oXORuv@b^V4mL^l;4WLuW(F(48a7Am9` zz&v!;{{RtY(X5fLG`|;F7jULIG^?Aq=8PY{(p#&9!03dRUVyenY0dG9`&TAw%`Z^Y zG%LsfjvYdC4ARblnPOWhBXXc;hLT9gIpg@Kk1RKLHH8%ZDt~i1eNXoP0MK+$%Xyg@Z9FL`x10wHx;a`>C2Sr01{i`mbB=g1|$RuXx11F}2t?_m(E=y6YXut9BVvgOKRlh7<%Hkq0WET+*kvg5GVHcF@Eo5^oquw*+=pjD`WSyO(eP zgI1yOWzEWbz692~W6DXi^3HG%%39%9k5?)^3B_=~4*vjZzaMJG&HPE>-wRpU!!eHM zQPX@uEycycsAVr5lUfIiZra-#X%5iX+-st|{iyWo9}yiWE!Fkq-IHJaoLM5u$>s>b zC2*uMC%Hc<&H)7C?3!*#>C(n-jP**F;@Q$ZzVY6)U_6yJEMgjG>q-Y5=pg$YH$YZFa(YX#(4Yh+A2rz z?Zw8K;hh%V1(mJhmr_#)nJ59b`Ar$!7$k5?o=F(M-3F8UQ}}~kwYNV5mDyL~AfOCybX>zG8cK)<0>U9$4l|2^v{{X={vGIPw`YSkQ z(lu)fsRs6m?ABi>00}KBJ7Gp}9fEWGBY{=d;}wk2O}9hw1kGnE+qxYtRZYif8(650 zPrkgy%rlXkj8vcSxO`dSH<&+zE#yx)MQ=06(rt*SK4ZL*BOnKN%CWvc1QVV)yN`&z zIll1~ir!iHTTimF4JG!=Wt#r}HQEEl8Qemo@7x2pk()>T+$@;pt!o23{7flpBNWU8mQAmI_%n1O*ET)i+Knid3VPO z2+)=Qx9oKg0S;+(Y2lEMv2>d2Xd=f)=+6hGkh8pa^l-fW!hb#c59w zO(vwS{{XIuex*ka<8O0+Klm&1EZKZc(R58YUr=2aL-OMfC#fKT)B)DL-^c5J4aGFjcwX}9qv$Q} zEd|RtR&Bc#LFXNEPq$6f^uO9mT-EI@@0-HE*_QHRC4*6(M!l8GlxWOR$K@*IXL?I2 zl|7g;u4*mEo0~$TPhDa7nvd~cO8(d}+lV8#3`CM#!Em9)H@54iMd3MYen^aZ zgI_hqSbzjZDNJpSo?M194sv)E&dK{gc-f^?(|jZF_U8UA-df#iHyV1b-S~EYDcu#y z{Hm(?>Rm@8PFq+YyPnGYCz~k9Y^Vei z&vG&k<5~;jFAHj#NWX(x(IwMu@xE~&FviLTcQIug0s%bW9C2JnhW<8qqgu4F)qFwW zyDtsgPK@y_wc6ez##LJgaq~(rMt6`1`<#GqHIIrKhs5U7ZBkDP*w1irXBMfV{{U}X zVSZqf+D2pYS&x^P)-Oy|i^MX) zmU+HHls73<8DsesL01E zMR{k2JbCd7=k0BI@cZFzlW%JAB1a#GClhO=faQ`QJaXB{gh;9ZJ2S*{f=p%i zFCdJO$K_bIo;C4R?1imw{6Aw1cM-;kHKdMqh07UbYmM#B2Guc;2OJC;r1+`gJte2O zywr3XrEp%}+*(UzZipNy#O*7yF!VTFpP8|NQ5z*_{zQ8p=1bE50PsIkqSLjBuWx+F z?e8?jwjs&Afvuc;pyVB_rG`iGRhnh#6uh?8E}P8z&4`@&GO1gUE62+ z6Dk!F=1b&zd|5+o9nnYURYRLTiy*WW-T3D+R3nj4_O&WZbk@E(+77$Rae8>uAd^bg6{d5OEHdb zE@8EluFscgVmE#Bj>jO^2jPz%d|s#$H@`sxz~4!Z;Q^%oRr5$~Aa+ zx2ya_snl9Uuj}M`#-%m)*;9I7dD3lh2##NoKQ4?PZ?ce+Cg5;njQq;k?8?132OMAi z#nhs`^5M4HZ;naPZfSEp&Z%{t=nHBY2>n7ulO=wM!z0 zYQ^?RKXB4J6(&HX04MiqO6Pk*pT-(?wRX4OJk&MI9f>`(_WBl|Y333nNiF3_kbHS769FJhtwqCoZ@ixSk@@E~nI_hD~$C)~g!< z9?e!ubuF~03eg0Y3&}fQ_=)*)Gjms)T$e|-x6^z{saVA8BAdI*WWLm=^b0K8<3bKF z(j?475Pt4XQNz(r{e021r&XmJ>HU1pv%~gq!!z00%B`wMzEpP0b0f^KkCYO}1e|A* z#B?6DZ&mQ0hjho1=uEL*TB(4o#n+t3GIBE^&O>fHMgYt4j8~Ite-E`k?1?X~JVUKV zt;onHlIs5RTF~AC4)Hde*EaUj@Y&wm2xZRFxkjS@01C7_NZQWhMbK}fx1Tyg!E0+} zCx_JKfU{U(%5p&~BROC|Z!rg!-8_`J6MvT9pY_njG~YIof985(c!J(LrIN=|j^Y^Q zNP@=~0f_*Jj_s|G!A~dVDmtB};46Q5s9G=feyyt7#QSYt-SKYcE{h~8T2UTY4cH*| zCl%(J$AR_jPs4j-@%Mln*^J6|)O|?DcMZvI8(Dc0j67rx;%M^k3HE_FU4kXLI9U8CltB zWiGBY2qTVViB>qkRhfQkcRm`8R>JyEE-xxUCCNW{{H0Ng zE;=8Ok_a4ey129O>Q6H2Xzw*`9jBR#TxdGQ-ibBbcsmkDvUrS&i-lF_0MAldnV|Sm z>qyowCAaZMiyF@MIQ-Zyb$jcH1c~zkw-QS%%ew?H4f75@P%%*bovxd|YZdHOtd7Fd z#`-nBsV0*hzlH96L8Yh{T79*}ymxl7ZQZ&^L1L%?92O@5N1#1o>DQ6zt#PVbL!`8F z7}`j0Wb$Ug7$fCFlh4Xa;E~H3@_&gw2Dtc_;rop;d)uux)!HfSbqy+YTc(T%+5Ua! z8DyDAb=py~7j{_S$M6#0M$waQzv3-sXhex^b$_f~+|O#8m&)@)W+@^-LhK=Pu^G2A zmTQl)x4hc<6YP_b~nZw^{Cw@s`pHvC5=^j8SGgJj6^+^!Dn;5luiZ38Eh^L_sS{1ZFjABl9ibxm?_ z7;0Lrz**(gr13@Uas!Y_jU$;+V`dwQq6iFaSFysj`Jj7l%-Vye078NzwI7&M)SI z@<7E}NR9+7^2Ztn!DwSxl#oW!6si&WqFc)S6_&p=^wY?v32A@pJGQonY&nPS4O$!#5CM=FW_rFKd} zf>)ZxPJ{SUvAh(L*ZTPvv~P=E9v&!$!cT}^7u2<#Qr&NtOw+X+S*N+R&SSX?=f3Z~ z%cB57pxcwVw50gE;2k#R1iA62h2y-rlgp0C_=eeT?pW+Z2a?H_?jk#1}kHWv$ z@8O@qyNlb;4)|A3(eCw$WP7`aq>}1G69(A?D?F~2_TeQll#NwcS<@SGD@$Onyu7qp z{O_lwj6ZnZsd@hZT~Ax^=f@or#I2{rq~BY$&Z!H%wYA;s7PD#qg(#36lWs4fO85D@ex%Bs+EHG& z(DrMuivAJtHLNXT;)$oVyNo0nowlT@3(8opmmHEw<}{(vfrS-_D!{120SWk&z8mob zHW%JBzm7>@n(W)psp!z%2q9CxbhIb!FB;>QhBi#)h*6SxABNro(R3|N<5;!PY%cW+ zzFc8eq5DNi}vsRyjJU60Q+}&F06EexHN%n{%y3`EzvNgF) z@<5U~ja>sK@VO}8F~BOvE_kh4b~KeFmnvpgjX&U_KLmU+Cx>Id_|b7~XRXZZrfb$R z-Y%6i@T6}fa%vW8Eg6tY51R`)*lr>cBJWyKQ1D;E9T!LOC;UtFKMd%4nq5b^R!chsb0P)} z13V=^eI{6K1W0mn$2w`K{3MseGWfGl(Ec4hy&suzFNt9mcDjggim!5S7)LN+9>83_ z;)Ovaah~64gypoMJ9?{M{{R6wRT}EfEnCt50GV&X9~gWw@k39NZwdI@!hSNdvnnRJ z(e;(oB(_ZMZ$4O@#R&v98P!2uq-^@mQJ3JU+bYSiGSdzp9rtChz^VK1L3}-twybM zQ&iOT+buc>!ZE_h9-Ac6NP0AWLNU${3%L33kAL8<{sqx2?^{jr55qlIM=`?`+DbvG zUHS6J-{~?KZfz{2^7c7j-MqvYfx`zXJ&WOg!mrscOYo#}_g|uZp#tx2IHsawf`r7YhYhPE{Zgb96zi!=sKy!C>*e}i}SqWz(~GvSQ}ZwTA?%T3b0!p(JarN$$Q;!7)c z^4iK9d14U9=G-ZTlgp5ztgFM6V7>#m(fkwO+ecf=9f@t`+`(&bpJ;@%p%tDeV>0X@ z5tA6gf(lagZ}d4IjGwi?hreap=w|qf z{{RVpgJZb9x>#-XIH1&Y-A{T30!6fYv2P-@VVmsA>l^P3Nsy?M;Xmzz;osU{Og=Sdm(tH!EX&xW=WZDmiFSPw` z^HPtiA&twuzR22UDx-933rDvt{;#dStNRq(FHzsFi7vf=GUTfBU2UPp zL*UPapS2%{W7ahND(hZld1cYOLv`WrDs4LB&wn=N+AG0sOC-qKjA&zbiwAiG3{M8% z>KDEzx`{p|cu&Rq*jeJ6%UrRtp@W-s+9U| z`93T7``~@fqjBPI2J7B3(BuWIEi|ZL)wT5h07i`@SypLnE?zbb^=Drz1uwu?oY&mpCO;nNNKJCiQtXKy5DYsOh$VnOjE zUTYm14O;U{y=yypR^|N1QzgFZsO{ut+)9|$NtNW@3dIm`F~IEn74aIw#rmp$Vd@Ke zYj16C*NJWcw)5tUks3Pz6UeF*v}nfyL}wfY8T)ujExIcG`&&)Bl{zh1r>9?1kAi+P z>IcLY+F9^!t>H~?PccsxrLJi9ZDXmZkR7%^W7H)rD(*%K%kqT5Ib4q=@Hg#?AHh$I zz9jfj;?D)^n)mh=i58=#MW<=D(tWDMh2z}Z-W|}x401-PA%va5fmHJgh?Cg7KWQGF zsM>!1NiHEQ!6ZIo0z9Q;DgetC-gn>*amFxU__Of8Lh;Pd>({znz2)|wIv7pXl(#-) zUnmM5P;euXSqhaS3pChY;tG~3h1#o4S+1QPn(u$>LS;%D%sq)y{iB{iF3y z9r#B?y3>3M;;#zNE%V!5X*$-LmN$00QdyKiY}XM39KKw!d5v=!Vz~K93^4pt;}0Hw z*4h=Gnc?3D>0b@(^{8$ny1VhsthU;di4oQtX0}mwa9I`It_CDfA=uHovFrQ?tbL;5 z-BB%O9#~0P6~(lq;zi!j518RMDPjWXi;OKl6@LOB)b;S2qaV?LB zZ!Mx4WzvEk7Md#uXNi+(Li=PZ8QrjjuTuEgr}($R+7kZ&ZR)yav7+2xs=)*rGeJBF zB-oZIadkhR3;B#xVLY`!xMJBlcbaT^QDm|EUY{DqfpN-n)r=T^B-@$!b;hvSNED{}IrO~EcRzQJI zpKTJlLaht|NOLrST}dK1$)@<<;?}j{7}n$A{+cwKO>)-e-W@6R$MEu~5fw?Gid`ma zds&ssIV4B5LKzvBMJe3)QsDT8@vd#5x4MqbMULv;(iL{|BUJLFjgJW6AnVRhobigz zwa_e|RJYZ)GhTU$@<|kHEaeplWe7fb6o!y&EPiHUFmq7xkmpl{HE!D5@pt@5jTEL@=??1EVNMMXSk?(71mt=z=MHHX92wAp*wY6Ua zS*`8Fl1Zic+H6TSscCdXaNJuwb0pD}l_Vh>$|ROq6sn!WEsf2ulW82VBg+(K+cHY4F=mQahYW=`WtTdmK(%YguPqJKE2`Y3 z;I_CB?u}%RCM~K=OUc@HZVcgocQ~&i{iOakL-2RP+NHdDmxt_cBh&6bvVXRRWB`oD&wwf_K#M~LmG*Wr%#`a5}KU$VTA*`usROcq9xQU>80#9f@jp?|?+zBG8# z;myUzfPNeJZ$Z<%Hf*B4@g>B!`lPVP=*u0n(ln_Ik8$Nl5+{x1U>gOP83)xGkL-E- zKK|EUE0f0_GqJqZ_1$wvwSp^QsociN1(XN`kc)O*@w8)aoMf3~5V%003paf)!Z^GK z;5|RXKLzw%FTna{nP$mpb^ibe^}Xh+rmW4EAU;jq(FGY=;hEHvfEjn!(*FQ!Woncu zDjxE+@3QZ%xBHJVW%%D}U{I?)Ar!~q`og*-)fp)z#S&yJu=Qnp}e`i z)Gb!|WSvmE3FlP1DDX;LDmzE>qKJzM_D_s|w138Lg&z;~eR@9ycr#G@E}e6EuBEn{ zc-GKMZEkL-o+kTzW@r}O9std?q>=!`Xke>r;J1VH{{Y$7;VeD}*F0&bYhECZNo=ep z)xgtB7h@{H`n%o*D3dyt-=mk_CxwJV8CB!MC66!7WY%j2I|Tsh4ymwz8hD#XlXj4-))B zzxaFL$Zh1;Zl|}ky1#}0gEl+WbD6V9jYQbLiWa)}T-jjbw-h?_}CDo#?R6yB+%)3blouVKcU z=h9cU>*RA^3O)hq9|!cy{T5FgNe#Sr(Ebn4p3gweuq^U z#t~Lp9`o?$P}Q$>jW<%0#k$6*q$2F%*H5@4l{wiU5%N)T;eZhia$TyI#SaJGYaR-? zy|qG40k!yHuV3t6>^)NqN+>q39!SPO+y|)q2=%S|f7yS=4|N<-=qqz9(6!2{YF2Hv z6yTOVb`XLwwXojR>)N-Cd_ktcG}bX`_mfQlTQ2`X$uG^S&D3s}T@?fcC6RXOl)Pb-z6l8KM*M?^%xsqG$sp8bZ zrN7^y;r8FMH;$#Ygszif#(2!D8P=>3z#TzWoHl)cKU(26{T5FJ_=e+4)ve^S)h!r# zw)62MVBn4i@R7)2!2}R-UuwU@O)h(Q)*D-S=0e$#q6DKb8OTsN;Bn4>O6I;H{5sNg z?+V-7>s}nwwY@V;l#6UT+qJroGK$dcbO+?XQlOACn$kIgPxpw!*r)J4Pmzu6I9;r( z{?Gvb0H4N*byarxn8>4y=i0uk(7$Kjhq`W%_UYlB15meEXN^i6d>~MoD8l zgjFmOBgm&K3R>%=}5ytuybq>yXc3rIpj_bR%Dw*c*R;bc$?A2CYhP?D=%G_iDK z?R$EWDl=Q2b^WUvCo0=}fPb0)0P9mzRfa9ZdCBS%lh3LD0P9x9neao!Qr_Cz-s%4U z*-_l1OC8nJQ%!EcSrp~1@m;cbcufp{QBtAKA9|L~3`AZS2I!7Wkxj zWMBC92PRh9j~Wzkj;zd^S_kaur`&2Y>ergo6KOi;V}ip}j9o+L5{`n&+Cw}_HY+)f zUFCxn{oC{2_=>{c#2z&M(6!U!zWYR0_O^ESx=)#7Z4w!6p=h2IW{j|v)X1B#0^}}9 zH|}-#ZG2;Aq3QazpKYjK>M>p1S?U^X#nksU(VyNdB-|>jz`Sm(Vk)`ZV{PGwp64d6 z-}xQ!v{j&wGyedE0j9;S=&fS5`aQmy_dnT*9E}W@ODc$&i1K8LX(aRR0g=~psDN@J zCA|wr_*0|!N+#5nW&YN`v5FhHAhnL({H!pT)Xyv+3B0uks~Z6jRAvC+DBp;-xnXA{ z7g}6*5ly<{L=s$EpaGGG%II0QpOm(C@-`l)N5&bp(4}duWOZ9hq4spdLh27K8bwv% zScgPCF_sy|FxbkYX>)EqXL}}c(EKsbB=JmMBwHW&m_ZEJR$7SB)LzX4`H1%GBvD2W zl%KmrIg`p&TsU%0H;4WW>ed?d#l@xdt6RJ;EV0X@N|N3}iyOvT3u6NzC7&xVoq(}y zT!um4X+8w|MfHKWyS}*dtVY|5nWI&`&iu%pT!=#9!#PyJ%3zFQwRF#ii}2P78Y|60 zOL-eEtguXsT1R#)!Y$*O4<(NQdVIyIH5UH>@JN+ros-w0%y@mQ^^2`RVAL&dqnHB? zinMZFX>pKt8Gw}^WB%=e$h*Pc*nqj(m%}+Nqr11%yiwvS==B0t*5>9o;cHo&4IUcK z2xbUdb7ab|&I5wP*GDFuW2D&4Z5%f8NbJm((aa;biB!HoD#vt1hT^!%IXOIS*wC~~ zokzf$d)r?}c+&ig)>5pNv#xLk)Fv^NTwn}vMlte^erDCy#;Sa}uBR)mXcHB~RW*6lCSqn<`^sQ~+`~)9|mwuZKPibNb!EtFOrwO0QCSHaIXZ2;ClDZi%xXDNYl zx=Jrkkuj*_xq+nkX4dX&TMz9GHuB?2h62|x+%%KkO6wwdviU?x8PEeE*vjmro>j7v z_$J_M7FyATt}i2Ij@hDHk#9N(q);Xhx|tAe8$_|lP>urba(291;CJz7g|95*Rkd6+ zcAj;hyGW!$zFeUs;!Uief(RghRnV%DCWC9F>tATKytmWNwQ(Nn=oTpLrFIILbVX3? zi@65y&5WpK-HLpP>cTZ$u8O*Si)&iLK-T(hr3)|be4x=oZz`5;#@a*+f;Qqs4f8AH z4DK^(mim>wyJ@l9M=UDfLu+wyaFI!c`G0uwl})_h?b?1&Hk=U-f#Tl>>#)Q2Ul3@w zQKiaT!*Oq^!6awqFoaeFhHdKUkO?jsc_4w>TzE=5D+amp#lcLKn8wj8O4vAOk3T8n zrZdN&sI-=kK$NW2(Z_gy!(Z@_XrfZ`Tdl0B)5a7+vbN+RY$B4Z8Bv2EjzH0`%rSzV z9GA;`i>B3n*w+*JUPb1kJ;lYOXf~`^l2&CbHp#fCalEM{1Zvl^(PP)|rHAbDLk+a1 zIUo_pcE~{{NZL`HHsC|9K?jB>k)+y0H&?dS^Tw9<5T?ky(4uKoaq`AnJ5+iN#BsnG zG`G{Br7Lc87TzAy_04`puw6FB?pvXEtJz6BA8L?!K@sI(%+H@LB;G+Ex?JQgD>G01 zoU|Pt9W?0omlhgbn?8I!eRp$tq)diV(n0nq=5&X1v*DrG0c`DMAx~MYr-k3db~9?4 zjh&73QON`W^?2dCjyGits#;CvH)KFmVOXm1#~T+fXJ)7^t`)aI=Qhd4_@ZHza=_pz z9TfNhtx)4qNhFUB@F&4v5qN7(x6)+sb&ra)rjl9hwHs0`^(ce7Pi)c7(mZ>V zg=Udt-s8##ATl14N7eN$7g$|4#Tq1++Tz_w9fkB7UZr(yb#0RnRK7za01w?6-fcE*D%WXA9&O`ai*`0zcHb9GqD80N-a}yH z`$4ZQw8#D6iKY?SV$3;Rt1B{$vVzFWH)ej&p9i&njG9G;gAK*MhVHaI(?X2|GisVU z#x|F+xLdfI-CidN=Kxr500{#SzMVISv{tr`%Ii?l?v3$l2;iC-H3%eST*()f0*7Ib znmpueZlrPN>+wIrJ|EQd{{RW<5_m5ASht+oG@3?%s4cdV-zmgPzJJ_>E|NQ3z!T>l zS;HWzbM{SDi?oyL{zb+zsQF_T->tn&KZf=?_rYyO?#EbxwGRu+a}+k3&abFjPpIoR zZ18z9HL|IaOr5ChH18y3Ji{Kq&ba;}v6n>ny(fyiC!y>97uGJ|8Xt&mw8*Aeb*ng2 zbP@ff?W9TNTqH^*xC{eD5+ffh*R|@N8;?$FePYi@hfuUu4RdP>THDEd7;N*5l1_st zIx|nZ1c8!3t{QKMo(k}c7xrEt_?-`jWxl_RX_kIDvKDt*5k-a>Z1-Fut;L*}jGgYv z3ztdG;LB8HIVU*i-kM)q{{UC*pnP$-ZS)}-*OVpy0+HE@T zNR^_#fT3;IkU@DAl1!_%A#fuk4T#El%zhF0ci|t38kV&VkN*G(2ZHsBsHf5{bT1Fy z$D~aP`Gp>MJcL`DYt~{GMVO(K#)4Rxp+*zjcsIg-wFiuD^j{C^UJ>|>Cxhb=>KcFA zEY9T)u@ThhEs z;+u5U-XM-nj+Gjv19KQWjJMc{z~zGhMo=Z z?t!nx;Oz&&z9MZeL(*+ESm9VNG`Qurp6d1_xEgi+!Ix1HeU~D985%i|MhXQ7-8>y8 zo2~dlO+NBFOYH(Ni;2an>G3lu!6EWwR0IMEa!CFnrxnMFQm0XGe>M6h?dWODoH?Ox zn}1sC=ySdd@HW4qYmw+$zlc@T|!#LED#jg<{Sn&qE^d|%;s zBfh*#iCLnW8Ic)ex4M~@H;d;01!1%9uu`RJrADl-?AzaO(8e{npS!nR7wB-GwHNK5 z;J?_@!Pffa`*^ZT9}{af(rQ*8*^@G>6p{tJNgo#NAo3zsjU`DWk8FWiM*8f&419U` zfBQywS4Fw--;KN*eP^gk3>OyDPZ!#5WIMLSEv3Y4$syWspL+?N+-|O4_KWzL@OMMd zt{dVZ%CXx?s79#?F5pWt{i+if-mI+dy>xJJtB1Wf z$<$p|s@=8P-d844N^9DCv1_i5{{VKqJkPH_I{1aY4nbpQrs(>Pv2S#<17V{0HuJte2bb|DNwo1%Mve;!mrI`4Nw_)k+V$XRM9naW{^_n2 z*&LXNkP^K_z7Fw5wQ$}h&~=Xn_={AyMuGK>Bf_bo-NMcR7`c{amC-g3VU}4778z*v z=DfYR7+EIRfyIb}2I_c7qvgWn=?f9Mbx5S-4;fAHCcyi%2hrF?kuL4`@D|*_t zpSM415iFi`g#dMyKP$}L8!$-&0({3`@E5@QUx!y-Ch)!AhO{3H>rQ;B{1<&bpJOT@ z1ijU~F}0kMM?cpzR8O~C{{X}P07%F2U+mBD%i?I!ZEkL$ z@qXDF<4HG`r|kEadu|^ktzXGxDnV9XFKUKlR#L!odLQjGrTi}O=k`C3JQHK!-Enkw zdz~u&`C7tuxSllg3M`8R+uq$r+DR^l%F7@|an#5AduhHFHagFRd}-ic9gB%fHyUq- zJW+IY3tuo2(*FQwt%x&x$e=8k{o^nCvP0LV=${`v594o!(>?X~f_!tO!XEb3+DmJf z(|3k&(wNcZwQPc-Z!J_5A2E8lLcKWh)r_Cc*7<+HHjQPZ_fM+p_;fiRgP*i_!q1Er zmXB|&_S*V z2U$`;(F5j0cw)FD@l>7Vxu7 z>%CS}HVFy2B`kOPLVRj%bHTQLEV_!~#@0!acWqM6YbJ`#nH0Gae9eMc_n-(@X&v*+ zT8e^ANy&WI=3N?+jIV3@o=L6S={_Xz{pXAIZ6C!~UM{z`iql)uFXMx5rEHS05=N8A z`=nn!R^8?h#GH&DmbR;Z;NKN$_EFz_FYunVuW9qgV`Mcrt$gUF2(!X(Jjo>TB4its z-A1e(P%53_>(RVH@fX1!KGs`Bcw1j<*u}}UfWtJ6VH8(g~izT(Tsx+rq5Kq^Tfa%r}Drkb}ghASB#J3=yKz=lNHWMk#IV2#b`UOV_z z;(a4j(DmO6>l#eZNd~2PV`1U#OIxSYsbDj*=hRTfq9~i8YT5 z_;1E7@fPu-is1N48^|oK*P2o znIi;BIK4Yv(tLlR#i(9*16Z+=D>&v5!DV@IYcr#hwA|dHZUr+B?ld?G~y&d*2aFtKHkS-}P^CEc1fO1^^N=@rC1>lU}mA@os~smb~!; zO=~(opQqlni#aD?%E`JGOg0I8@yH5AK%pHjeb||^z;6a=6?$Q9P1Yz7qz$7 zwT71B^6ut#g32pxK6_MoS+R0&VWXXkOJB*S>T>`NyAIPU^ELilv5&Ud_XYC75y74BrXQj>dxirW% z8@SX*cNdcLgFJEUjyWO_NL%Fya7wc7!1E7?U$=&f@HfRe&xt%;;NKKpXsY({X?`iv zv^JYTn$kpz{$69fc+9HpDdh_l04UDv)f_!~(!Ch|9lIM#5aPMy^y%wze}Z4L7lZx^ zc!KgZ@UM#wsOcI(s`+m{)x;?oDAPKS!AQ!2z>MZRg&{{-s{AkT--ES@JVm1Dt)}1V za=~+~G%-A4?;GPXI|OXF5(aI{&z3W^KH<`QCjFrP7JPS&ZnT|SL)9)VWLt;|YxXkS zE0A|>NN!|g3OHau$iO?Rp}p~izlQuxa`zTG)XSB4+Q&$mK@QRZ4W?+sC-87zlyahtpUV~uT2-2 zmX{iQ_IC{l1PN6oR3vcNE4e`&gMurKu=t|*xqWE@aonu#ir^FCiaRlwt-EusKJf4 z{F^W{@{mUvKr+G`$soShPPxF-J1n!*afHiJ0PLOnk`9qz51agMvB_C;g#*DmTK}uC zx{VU?u5Q{v95!A`v2Qzcv9hMpB}tg9h|v{i96b5CVbq#(jGd&u@(p6+QuwFvS6+(a zPQBCan@hO1ODHdG588`D;~A8*oE#4^R5n8|0D^uzu=r`IKiZa5HsZz1H!@tSTdXbs z$~Tx4f&m<2zO%dV^}p>=@Xx|}mx{bP{{RmBTyD+F=`h?yJ4j=YrW1dLW(mNO(m zMz|Z8Z6FmtPQTBZ`q;`%T=}|@N!g=J#kNNM)SH*S##YWTjimd3J}G~*(n$ih-p||s zjAQGH&l1d1F#8+JO|HXY5;*F>bNF-hrNKt>*kzmM{v4>|{hWWE)Z3cb5S%-fLdUs; zi5w%1xhL1uo-{n-!FZ%APs}132m2bKa}o zXjYe@B>wpS<@Qlvc*XcRG7tq-%Mnr<}o67_jpgo)JR<^Be<# zkyiv(v)yh(2u$?|N9oT`uYT2w;hhsrx4bdOr`o;M!a9jS`H+-2BoKGDPaj`erk`$} z2;^J&n+l-$s#}qq9&mg5@G4wq(S&6VsOq4$vHMutHN2>?voTa7Y2&UG<2lD%6Zuw! z+!{>r+kKDDmUV<1ghXPfK{*F>OOcFZjDf-HjBruvx`nH&2HS8(72$qQIUF1wG4J@& ze{Cq6%$neNlPacJJf?q8GsAT1I@W&1r}Hx9T9@*k`wp))v#*&Uby$3_CFNyF7iUmd z?IZ!lIQenNIHyCZ$)`A#enwX zLoBEr%$F)NmfS&HZ8;wy$jLbX3X=O-oTaUcUqIII%+f%xBS^8HNRWW4RFlv$5&`4@ zIqLjz@yEoU6>RqF@Y&v2#>7KwG)6l(U4}ALHq#)^;7)e-0C8MQf@qQDRaA_IMqs}q zXOWx_n1BybFaQ}Nk(_y-#8bD~Ex(AxtP(?OcXb?du#^r~DJ4evU8CLAcRto2<19ak zv6z?9+B7W68_aZN3Z>RV*|1m)WCO-Va!TVMzAI(Zp~l%2+B4+LBn*;7K~e!9d+w3A zG2w{kH6^{?+go!S@GS7g3p&LddHbUT;O8ISah`F|168iX^CzgXYKq$(zjq8S9K5JD z#f{@E`*$Mp-7*g1PdrjSuO#{)O+4wwU;g94j*EOJ}mO&DeQ&`&mFQNbjPa!B2{@q%;3O@)4@mYE|p&Sqy~ zidDRcHb@43Y&OOiWxy;(I42~KD{9VL2`=OkX}X2X4!%=e-YlxtY=J==qd*%OPIiOy z0CBiyjk=HQ_Yz3Vr)l#Hg>tH(XK@?31TZ-~WpEpVR<15iqh``vd3O?SGL{>@Ms?ux zxb+zWrvzkn9XD-DjO=z7e+}+DSFUZ)(yMoHo*1oetpJ6(-~xc1^B9aLu%a-MF5-vF*$k?$D;S>y`ED0@{x--MQZFBa9CY;yT>#ter8$%%=GsQI~#K2w4U z;4tQ1@9a*dW@b&{cPP%l6rIPkcXz$wBgty6l6Hr&*0fUT^%_^LCv0mC%v8iF=Mbs~3lJR6)hyCD$KG<@*f|G@2UQPjCPFtZQ(_--i zRstC8|VWq&DU2ypz~;;<@csHPWv< zw7IpGAiJYB?ZiaqIRFB@4pqQm(*V;oc_p=lLo34^(JM0;SP6#Hf<1GzwQ90^4Q}ow|Ej~IQfoGIot*Wx+jUW)w6K-J#Gdz+i ztTzYEjxh>B69zcSC{T)rAHo8XI23y{whw75*`2kojSi`*W?v#%8G#Q5Q|#wCB&w7n z0A~Xn5saRfrSUZB6f$|&H)|gF-t}_NE)};S`BbZN`Hj4* zDu->PXM#v4l?31%5=UMIKF`K+HkSko_Q^3UtRj+D5yH#|Au)wH+4CNtW9WN6#Pjz% z7(7X8+g>lOb1l6H=9FTdjx0o&!rd3x)-xgV0g(rYjvO0i9 zMh$WBJ;YNxTih&y+~$g?U&kT}e$(fp1WjtC%}kPip=M}V$2V!{0APy^1 zeI_eAONF^>PqjkkIh*@JGO7m90E-~;&PtX51DtpAzwJi4j!7ikCbyAcXWU*kRtEz+ zO6MqYp|X8AAWWVupHkFdi_Ww^I|jrFZmq)dRE3NKj-hbf^GC5`jZ}I_G3b_P8dQ;_ z%u1?PV&H+alfnKWk$^BTau_YUt#0E+v$wpC*Hn%)Z zyK6LTuYg8(4naM5T9t=eG+L>l-~Rx@MXOoZ2=`ujGb1#RB+NG`anvxu!>Z>as`jYl z_>DJcyB22$%YxY>h>{ra017=v%Ylq^0MtA*Z>&)Lyt|#n$B*@mM&3o1 z>RF+f7Cip|tPR&E7$E+&UeCn$z8bsp;aM#tx`;y3yeh3Ec_c3*?)=1n2^{yXK7WX6 zT+44K*;!XC14$!FN!&<%zE~pw5DMgTf^yZUz9hc0xVyGlp_)d833#4GTa?K6q2Xb>iu;O=BBshu?>l&YEoxTQs|z-tbqfvNSg^L*IQfGsLP5uKo}6Hc zw!gFwh%Mp=?bfQ<wg~J9hQQxCCR+dCZoSvk|vVC18?gVtj^;omKP6P^{a4 zPwxV}{K^h$f3s;WhM!!Vp7;5l%@4$H3F9c}Gw;1MIlPE}7ze9_-0`95cfifl5LoC7FrjETbye0I?0mbAWrqvgmG+Us#sS zp0Ta`L(p#9b7+^>o^q2i3*#z-(_=-Dt;g|(&IA59zox4kJNpQ%(ZO(e0cmNDT%W1uqrNIuRWX^eywMyTkKVH71EiA$Ymxa%W^VuZ~(~3 z2E3-@Ser|UA(v8Bj!5>H7Febyl79GbIV1!3x;I8#RcouCJ_uQ^G}9yzlEvjJu>|>m zILJmJvIAi7Jw;^lxb)Dt<7B#?*Qn@P=8>nx4YiJ<@i`t;w$PdU!~pS-LV|eSj7<{=z#||AC9$~kmcoKgFe%e~ zc)z?=GsCCI(Z&~imc4S=;HNFdIos>)nU-5tFWqIsFpKDGXcB*BYPXGa*YixDtmio+ zIU7kGG2X4i@pj7MO|PWftoxQh8r(y05709q=kPf78KtrDwugId^Q@L~`Gs3LV;}&G zg(|J`k^>*SLBYTn#b+!nRJIST#!phcmA&QDTD!@)qXAW#Vp2r}a0%;>TNxer#U3GR z?MXKIl32&MD_qSIN{PtPDb$Z{P7h0(XNUDjpps{X`bjO=w%fE~7s^L{1p?xB45jWm-(Z#E%Wyw;tfAYog}JdziX2w+Ib+;LR2TNy<~yIh+4 zQyPWd`0O`F7-KY#IgBDMa{gEk=51g>%SHg)cN`Ttx;CuVu(y|{YZmdVIawtmb-`j= z3Yh{l=Z&ow66!=SWo+# zaT-Ybyx%)}NrDK*?Zht!?yv;sjFL%o_BQudQMZYGJO%A@Z*ZZ>Gu%f52f-mpM#AsL z00;QSdy3D!)$MP!D^@5WaR#EHtwG(>Kexh#=tyBjzV1 zN6Uf@6(bb1CZ4ZSt@yjwyhV7h!EAKc9yupzT3yV_!0k|n3>d6n=V|Bfe+kF&66#HQ zthzimNO2>{ae4N3E;itnNaR-`N6HIuG0Ec{Ew{tpEYIdeGOgsnr2%#<*vAY`K^=~I z0otdVz=@|`ZHC+IF~}Ao;tmR^W>LCRo!lH9*&Jg76r&|;Gfrr!XwH7{TwLq-GBh^O zODrJ~lu2`OG=~^KcKoa{oyQA-!!Rcr*H(8rRI6&%@j^^5BDLJj8*mO)kyN=S3_%>> zPZ_``{38~+=CKv!;@o+~e3EB&UoNXl**!)=zqpMsPZEYm*)#Q?1%duWfk1erQM2noI1tDKCTQq=_SlTuz z_kd%yxC}AL1Yt*PRee`XwYrT~^Gng>xx%Y7`gBESRbWy#Vx>k~pnjyDxgxWK;;fuO z*}MLy6X2M2O=rULY7MFQFHo_wf*E6*L%Wvh&gGxylHo20@?H`O1r3H)W(HQ;hPE~T z02pas3}@49d{-^zlLo0eTWPW1H`u=0aW3_aJ7Y5eERD5-?T`j5!!ZO4o-y#Hjunf_A#=qsy2MjfxCIwcV$YIC5tI#%b!j0XN~kv22ZJJTDGO9 z_+s-qqcN zku(c?JIz(%ytI{!tqt*J0b1TiVH9xOsxWC>pbSuT#+Cw3{L)QyvVZ0GbTe|D^*axZ zKeR57@cZE|sp9E1D-R0IV{`ThBi0s1y1aPZ{@dl)$0ov36laa2-lTKpg#lk1O8vF` zJMrU4hR;UvHnHHp^Z=ssU9?MSwFKFf7K)OF59O#O$X_f;rzW|-q;eWx!~XyR z{9x54)x3S-Pl(B>Sla&pXTjnrF7Es_b6+Y`%e$LVhn z{@J=;!A%<1!#eejy=QfGX04_WNb0P+Q2gc zspl0TKY2z=w`b{og*Z6FnmS+4`nUNX4F1i(v3vNV#G0h~KgLZ@$C@6sD_>m8ajjq4 z+v;yD-@dD;p)ZRs z+g6h+n4q+lM14Zs%F)Fq?qrJC6ltVZXrfm1ABg_|3A}l8t1hjrcwWPQ&P{{U@hejn3(G2y=jXsxpCbq3R{?qvo| zxRdPBsz$bO$0Ufc$uJRog;<7SHsvhRQ>)D9dwMJS+S>New@%SY7T5Z|r_Ub?zh%!H z_*Uyp)GoD;5x0po87_3&Js#i2O{i)1&2aNi1cD7onJ0?4DImiuB5am6aLeVnM=P*vSo|Zn*SuJ_ znzoOsT}Nt?J>35Q+gDOs#VR0J=Z?l`gcC?W$(Q#|n?Y1<(kSGqj&&z`tzBRG{{Sn4 zaZA7T{cLz&?RWbc%khroJSDG8d|{#Jw=v&a=yp=Y=jiH0tGd)d9_V8#la})wVQp1b zCfcoEJ@~i&2`l3-1}})Te+?&ub?Z2m9d>)~99vFxYj|R3MEfi@>oc@rUlKI2Mdz^E zk-wIrzd^n-{2TFKi##GcJE7^iJ*}*k?{1Te&$2WrFZ#eXi3wHtTXb>m-53gEQ2h1!YBv_PzYX-eD`tT;8*d3|(=Yag!ZUf% z+$=sz2RjszaUa?PDu+gOAo~}Ez7}|*`qnn_2Dy1~UJ#STr`=p>5J&RAn9;{;BtA@K zn|VZI{nB6N%sw;t6|Z=QP;0La>px+dX0~s(?E7TiLZJ?d46dqJZNo5qyPE)Xt~%L- zs?VM8exHVh(3B$iUB9o9$bQd%3jYA%9lD=bvuo&9`PO@tYb(onM58+lhDk)yIwHq{ z=rhmDxG_9ui+msAzZ3ZX0K|Idf_y=v>Hh#~y%w76l6)w+)2@r5*wD$V%#ke1@`Y9a zuLA%W)E`Kj_C4{(i2PZl>)-H}-$saw2CHozfd~3zO4|tY)x5<}^Jwq}^!u)*)Uu)1^jF`uq+%!+#BR4-Up7(B8_+QoQr-wLz)a$-7yN;#keBvf0TLOuLMMT6DW%87yOv zmTIj#r-mRJR-L9zr%icl_8V&}VDMW(4%BV2ssu%qNSN*t24w{Eu#xH-XTU4HHp)mM z8m77C3~$x`({txWK3$)@^8&5{jf=HN8DLK0a%S)y)!NMrmX_B@vnpLfe-cQgqAi4V zkP*Qw2rI}0S1hL{tuHq{j#2$6Nj@EjmhNiIUk8UpEx3-$r8;!?)cMmRKEh9mRgALtwDZ*D% zr+BBrdZagh*?$l`BY1S%c>~F(_@_*f^yr4-cOpA&3Kh7>QWu#1T-AH8h&~ALzk&3- zlkr2t%i-Nx;qF&e)VxUr<+h~ZhnxPByX@$rBm|4fRRur<5T{ynYFVho-_iCb+eI|q z$1|k(I^)3}F|jtbko}(MBtui5!!4-l1V*ZYJBiVfSrN+y^EWaE!!jxj!>YA{>c&g! z=xp_9^xa8(`-YzK^6Ew?T<(Dwx-v5q0U-U@X89EEs`fq?_Q>$*(ey*BTN&1S zDPp!dj1m0Lv(1RSknRDAUCICqq{o69-cHT~VAaN*S*u13y>Fu&sztlAu<^d7scYX4?^^Ri@l@9l{_^ilOG5L= zQV}AsAzm%gafsw-)E2`9lX$9Wb91$IEjC%Cj#xauv1%4#Bd0mRD^z;Q7VJ{1gx1 zpNfQb+IPoq3CXEkOK)pzwz@X6CB*WOfmA{*S=otFF%JhI9#{iVz}KI>3Qz8T73?#v{kzaxljXB67AY1qcLXltSzlYlfACT-gB}%v;%!6X z)s4$X8jHAe>uaq_I~b(IdtKv=(jv{q-!WN88C}DTY2oYgdp~02_3x+r66(}SNy(jr zy7X4pJ1;e>yNhcjOKZ!>uI}`?Ve<%(A2tbNcz)3wGu zo*8R=$zge`Yc_h$l4IJ);&c~NOS>o;zRhs6CoLgxCWLYRJ^i&mWcz;-=-MZWd_`)| zX**G)z3{!>rxV*T&f9@JMWrWuNHQD}+s5WOJqN>o+XLVpvlX)ZJn(>hI?#Fp&?d9X(DqYo}bcEGQZzCL_m@qg_Zao~M3 zz&1LRI&X@#El0!iUR+Nh*EI`G(Mfr2btr9+Y5P3PM2jEp?VQMpp?7^X`%nJII#2D5 zpxVzh=C$y(>@_y~Qq87EYiF#++ps{@ZglxP+?fevS>RH#6EVt)-tZUfOgL^Rg17+QZ6@8Zoa?r&DV?>7}pN zXK17|&zFhh3n7*El!{i2 z`Isyn8j_S0l&1As*>~!{%jR}f#VFb8qt{EnmZ#A1{3z3}b^RMu*DYc3M~E$@j^@f+ ztGAtDx)G>*h~txZf>+##NE^XW08~I*Rkb}l>k{7C>2O%Jo5^V|?FFr#WI(%8IV4fK zBrhRc28=tt)4MhE-@?D!!&uWb+wTo{o8a$=B+~o~sp=M9A@N?Mm$vrWTETMhhPydr zXIVBpm^>GBSd>O3e?-uK;G%yDTg2AdFZ?CG5nXfa(AgL?KMMGo=2))FIcU+o$NSh7 zRa7fPB`1GD(>Y~$=)PAL?X{i%04x6hRwg*A4^;mEPt5gi1o%@;_;(h)ty$^C?mSz0 z9GADYlF#;wsNscSfV#@KMO6)iKtA&~%+AK9@fE4@6n5(!ypIf#BEf8sB-X+5;zyK7 z#kdTmReok5WbvBD_-p$~UHnzHeM`bO4Xaqq1S@TEEvsp|Rm(E0$ucyttfiSJQ20}Z zjk1X7;krK!`1e@TQad%1P`Zg6t4R8d!#D-LRYL0KU8i{7?2Uzt;N+3!)^%Yfsy%%F z03&K~zr7XbxsR!MBT(_Jt>vxtoyYc6FdJ{PJPo!`V_3-~G1%;?L1B~A9E_N?KZh3o z01x#`JG~D@)wKBS;xWL|M#&OJapr7Npg+%pk@s+Mf=zD?Li@$H26#TzaItPe*E*xy zxKEi1XYB6T<2d8R(t>e5*>=)C|sO20qv5g-i?}G zQFigEfqGnK<4Ftw&@8h(W&vTHh4 zpQ=YSxh@{+c;tpMSxJaShB*Ug7-td!hiGtqS~sH3-pW0&7QD2WO(o*UQPAMB76%MQ zN_^Y`NnUV4(HdH5gfS;(#CM8ND5G%xm~9?uF^Z(JsK5TqYjZQhbB45fwC|Q z3~+D=`G6zTj%$Uv@rAydYaPa$b*#mGr^)5c`jn|R+fkc2FrCXL)+N9r3Px0dyt~03 zJh+PWZKRt|crGM1_O`DifX)ML5|~-orVuG|22SDq?g>%6Zgb01zVPRc{JEyLQ49T@ zo*CteX1IzBV{e>U5C&jNe5CCJ9zz3NCC`fDZzdnJznMF?n27H3Mv8JvC|m#mTyv9= zz^^y>x!~s3G!G`*#y%kUZ?0O-w>ov^n{I9vZ=dcplLm_7CSs@MUE_BQpExwEyh-8v zeG=7ITGISWaWsHkUBzrHq+getkF!6S<+BFlC}iEw1n{E?a;F#av;P2w{77)6CT{r8 z#&F!F!s&6^wdJk3e=|@sLmEEvzEiwtU88cWcc>v*3lhaVx6bj5t7+j#f3rr7rfV9b zJYQ_QMxMrLBZ#?HU_@-bS!6Ems!j$*Mtrm4ug1>_{3q0{ZFL_IX*w_V!!lb-cL9b? zMd3zfG87Fflu$-pI)jc$TG+MtO?Bd{Xzm(Kb4k3sXyve1Ni_NA#BLO6iUf*-EC1xm?M73uC0W_`Bi11nJhgo#wGDTGjsmnt=_(Y*J4(_Xzx? z4f7q2GUSCTf)C1kf8$riPxx4x{+VOq9}IZb)5G>L!E-l=mfr4Vx|Uhm7;OBO95cL% z)OY|yQp+e_((Mgwci2WUTFH*WHUu;_Unj# z$gqWqRY_nGO2LDsT^cj$VRHDx_xs0Y`Y*XQVN#{!p!e<8#fx8ndOyXDD^0c3J{#O! zK{fOjX{Ot2A7;MOo;OB{=1C+rq)q0W50W8(+Yo{oy$8cT3+!%uF?}R)c;3q9!uIw! z7hJq)8tOxE@~l?STFSQn0A`H9CGw(FU9k<}Tjo43hQ2YkgDt!f{{RacP|)>FYwUvk z=ZiwN)9vnIm4s_7X$_p4WsXL-^BhkEXJlDT(zqU<`$k!4J}USJ;>#DC#E`C`rxduC zO|`qaxtXM8A81=xkcV`VCCQ0cv>^G5@|@LLm6KE(x^GS2UYa2)aZjBq75qDS;ok@N z;@iVZ;w@TDTTigMV`B_bLd>jf51jV)o5ISGOKAHRAbh)!cJ15`Kj7br{ul7fHy6?C zpAoFy^TcVSYFb{urofPCH=+q8+#z^YM1aQ>WkZ%yB}V{xf~oujO;1ViMwt!9t>Ud( zhmWgwAW?%f50!4?52360UhRRJNr9r&`S)PWtUHgGN$Kg1}oiu5a~Y@JUgIU+IYX> zZ-RVv;n^$&<+aorA<}h=c0>F|E98OTVV25=c0YGu3eDK*KMpMQy>MK8m2}Ibh6}5~ zFNflicXZyY7BaEQOECF@0IbogV|OOqzk)xp;ubn?r6sKHNvvGYuW4^Q zx`nLT0Mhmg0%l+sXw`}Kc*Sl*%r3X0_!q_ADbqFW3gg0>d{@_UYH|3}Lxl`)Aqf+~HQlW0jMHpf zypj2D_H{z+;4$=#3fk9RX&{YmG^q+bv0vL z#{y|uDgOY3ep&6IYt<4!@nwvAR@z90VG6PBXxjuzLWJ0BKWEIZt@^v^Z%zLI8xX5X z61vm+{7)0qeh^vskH%W2kEr}YT`$E^tdnVay{3mPzM-Jo&vL>!tzLVHP>jT}%E^Rm zDPp9l9c8bBwQT~&ONUOAMVWNjmfG`D`xLrN4v&_WK^kW*E0;p06tgkPkj`4>v@QHE z<5shV?oTQ`Hhb%<8{HE2+T!LA;0K71yQGMtmWg7Oon%Ja5`fR0;J+7J_>)=w&AQYq z?RA+o0Btn8xth*cZL-GQmOF=Ya}3Um7D(L^Oaw$A0q)NF1v z{d2{ZT3L!gc(&U8>ggr6s%Ob(UoF3M0*J(9ZfD%ZiKqC-;Xc1)G_6}nX3~5@);CaF zq?WSW={NHE!nqIDi@Iu#rAR#sU@Y|D!Yw0$lBAswtt}%=A~q$zVGYvJ?hriQnb;vKP$u@ zD2mqW&Mwy1hWSw8vXR`viz+g+alOQZB&Oj=ZOAv00Vm7+b@2zqzY2A2FGZWfmm0;5sfyNFF0@@&?0WW6H7ot1 zu(WngvM>U9(nuu|Zet3@Yp3|z;GY$EyTF$BS`DX#ei`c@X^!UJNn(9YKRIRIZEq)% z3x6&vsMS=<5H63LJc*Vo*gjO`?4d<{%MT8YjV@4B1*w6gm!-s5COic#>);*ONvS zN}x$5^CXY=Za@*TjjxVWl6=zU*?(n^3~Syr(*73dI!%t6*0;L+S6(8p(H?tgzJ2z0 zE*=+=Jh?FoPi(I79inw1o1wh;+u=VCd_mK69}M`*;EdWHp&XLi+h2IHJ6%cG2_uRK zY~lfD-6||*NNx*9xxt1)p-p{OvxVv3k>9Uv?`Hn~q{_d&t9MrP^uKeu)Z%0C*HQ5N zHa2$p6wn)1)9r2(OpbV1gfYb>x+o8@fWI=az+L-|d5?kqEcge&zY>4p4c6`7;l8&w zl)7}1>9Gv{OC{fx9mBwHBJ*vP zl&B09gR+y543S5>JRFQG_5T0@>Aw^-&+NTQI~`iq*5#H-XQ+~gnz^r{wDtbOIdYWT?bjYx4&oD>UUcrz`|JL+>O7?GDKuR z&9+1W?uFnTYJ0}iA6C-!DI+3iXM^ogwA;t;4cu|cs91!6js9YWLdq8)iIq7kC)?0) zsR-*A{$J#L&EgN)SHi!w;Ir{#Tl_w?*Q~Bg7QQU-Dr!0|y<<2<1|_2XLM{b&{{RjAE#t2X{5{k>F{*3+Ao0Z7eac#-tKw_uXVg{jRqv*XWtLe9R*{)P zN`hb+3_l`!UxxH+J#S83M^;MYr zuI9CtJAX3s?EYp1ao*06w2gw;`LIg`4Zs<|KJ}$cMR`F}a&A2n*4~8sYH_IQLMcA4 z{u^`Wo3Dbp2C<`CMt&Y?v8}vP8w)h`)xt1_9xzAIy>=k;?-?#B9<6ip-XQqTq^Nz*d6oqc%SmcyQ=_-bh4>OVr9Fdo-{2%aV$G;l*M^)7Bb$<=(S}v73L2Px2H0hKp z1-K1sZtw$c`_!2&=5NyQBWRjyJ)dvaYG{cj86=0Eo1Y9C)I` zPuC)GHjdsSy_U-E=28rk?0IDKWOd}QE4-H68$4R^?|}aR;bQz1)im3EQ&82RzLqw$ zieqOBT1jq3Qr=XANN^O!$n&yo+@vThPo{W(Q}HK>q*%3&hdP#<3_66Ck~X`n>FuaZ z5(U|Qt7+!JhRd$OIxy_62o=xhRyu{&rKvWjb#)H5*AF!DjWFWLBLSn{_ZH{o+MyZZ zo@;p+9h{ypsr87hWwx8&Z%^|son=q*n-2}z_@d)R)U7YCG?}H1tycER@W9sy-#!$DG7=aU z%9z{`PV>cbviQeT_}^uGx;>wY5?>Ep+nsy+OT(9XeUyABmxvU@arSADI>{i3qK^TY zBpa2syeVsA@sr`#hGx6)ZS0n|@JBg^U(x1St!EC)7nJu)Zqq`gg2gdi~O3s76Fa!AJQ7E7|raK{hm-L(7;Z{i1yq49;lO+)?>{{R|X>Fpeo=$hrtp)g49tY=v!U))XrQW%#Hv?$u@ zSb3b@3Gok$wQJ2E;qJHb7sI;4YBKBkL>?URwuLj<&SMN0$+*7~y_}BsOm@as_kbu> z47KXE+6Rqc)g!Uhya?VZfPCWX`%up&lG5%b0Swm2e$K7Y%*2t8-30=L3uUSt7~d)V@G%0B1nk4e5F<;S#SnEZd41WiIpo#TJ_Q2@9113P5X)4 z`t5Wx;kWD!W8u9L$5`?7e-XYVc;ifC6{fweYF5VcNl5?(3rl3Wnj2(OxNVM1{JVk6 zZ4yoJ()z_L?KGR6S`9x;o#9lvlTMl&)mOvCESC=V1eOeE|%Jcku{8#p<9)6DoGQe18i<5R4gOjWqcMi^o?`kPl~kZ zHBC#x{w9Y|NX!#xQD5m1!7}p8a;~yRwnjJ%uW>5p?%)dPXZTs;Nwq1h8^wMayzuFXz3rf@?_URkL|R3x6~B za;rrcb@N!Z(5Ohm9NPZ?ghK0E@cEC!I)iw+JvLC&L^YJ2J2HSw*qe6j;P9?Xe8@MV ze9N6mvXoR)x?69dtve}mIUg}w{=?r1e0^i#>-c;ftX@OnZ6(%orEB8XRNhetxXky7 zZT6%_A&ikQk+&VLNek;52kd>~e+zg%?@#bAkGyGNp;#rlLt(G$u3zR5I{_i7>{{XFG zc|Dy=+xy?}bShNTpFKC~U%kHZCx^T{aJpZ^SMhu4@`PKfeMe0*Z7aJmM|Ul}z$2C$ z423`djII{5yeFvqLb5m25ClCG!&s zN+uMKQn&b>;J=H%33WI$e;3_qSBj9&q2B8nL#3t6+nlssdLqUmXwq0Dz;7glFPRWl z2gCa>i9Zf?EkJ4dPs7_CHuCLdj^1C0m$uhYiIhD152T&o=kC!L>4$> z@_}g^18CjLYrh*U{5&l0HLnqPe@~8ie#vinV|6y7w}c(*`^ltLx4=`F?%*en-M`Jp zrF=co=J9rw_Q_<^^!Je?dwD@iIpR!Y5?o6d9Do9XjxfQ9AP#IsGIM{t_od$L-|_tn zV~6%@nmR7l+xq#OJ-5Oi8tOV-o{KHkv90NTAGwWnDfPV~JLo(_r2qvdV;eI>Ht&(5 zK4Zk9HH;w#Q^fxO2reY?HJ#$er|JVqfHT8Az3r@?QcRKo=RjDpWlJ<|6RG(@z%EZ+ zr}+N>MSTkD<4@FYJWXR9;?K_T%p+D;l;b0G3_>F3Eh!5U4oi*!ey8BgUsk!iv(tP% zt~7Q(XO1?S>N%#Bw;wUQzb(X0h)D&eb0*=y+D&6RvQ~S31EZqEvSk5M6oKON8b6x@h9n?gH82H7@gu`lKM=kh>b@7A>RIHvXs6ol zjTva2WQoPQ#zxUHAf`c(+fzNmt2-MT+v;Jw#xaOTpwe z=+q+!qquY`**G3z=d!jItZgcnSJ{&pt8+(m&r|y@sL|Nj$^DvdmfP&%V0)Qio;F|N zET~tEjBrCU0h|JJhr)jhhtu@^V@njNg^Aij0Ilna^XgEoO3q2E?dQ~IMiamRdDt^U=YwXcAFBkH!zf2wO*^JwpLZwz_|hcz(`(O?8JLnY*49df5Bh(X){ zU@}LazMZAX3(apd-b|U;(_1yXn9hD^-Bpo~bz#RNwS9hC>QlqU6{6E!(et^LE^6M= zn@vAHrYxv7ukKfH?!fc@eQLS6U$quhVEpnrS4D56>31m$$9;ILKKlq5s2@;IPh51Z z8GapFy`0iRtXSO4hwi#avq%Z&XaIqZ`>=iMwpHUD{{T~i>hhA&ekkNT_61RaUBC?a zg+TQL1t;+xJLj-<3n6x65Z^8j0Ntk0J#xx3->|K@d>e%k#*Mv+CAyNJ@qx7aOU~q-8P6H}faGH%lhZX)tq!bFqc^f5(C&11@dlsvcy-9;X`@y1 zE@D;A;4{J;XQ1TcBC;dA)62%v3)YQE-5N}a?7qc@GtXRBwZDM%EjIeiqmD@?c@fe+ znNUU#UNeK#j`WwF1JrFTlpA}20U?${3B#U9?}1Yp$9`e^Ii+PEz=7|4I+92K022LT z>N#_fHlqx9PeN7}=b`k#Jad}Jx|__C%!VenwQ|oG{{UFH<7(t8gN~WN>MHAaM)DX| zL|caP+Yh=j7t@3Int}8$CN0tKZOiilyGnHDu6@0-d)BeHb2^uARC^zva6?BVGI^3m zg)h1^Af4ZP2LPxU#&R2?^F*sMz|qNWB9UbqcKpT4sSdm_$jMWY{n3KG4_ODneR9si z)@a~??XQWIr?d`4J33&8L}Cdn3XTIP$mAYIIOMaP{Ks2ZZTG^{I7N^Bow(e05ELAt z8@dDA&ZklmPnD*65~n!XNFGS7=V*4xX1kc+)-Eo{9$CJhlSCdI8 zYOwvWZJtM!3Z=wx`S7}hAY`+EK_Q7F0~lgWbQeAt)9!RtjX!;K%mBDIYNi!p6OhrS z_80&ZaKw^J9u#9zQQ7WkPMocCOGEg1qTXt9HjSz+t=ut{o_T{yXdUAoTFv{s#-J%9 zcH@;+$vtms-vhO+I?@WxYXT1nr?w|n8;L3~d<_Y)f}OU_h+ONm(~laG)io?TBX$OCf_>_EkH zucus~xOuGEWVcrms@z8#BM*~mqWt`>0XQ4C6VPrwE$_t%wQV}$%IeEYjav?)8)F>J zo>Vgy+N!*rpaID_7#OEvqhCLVv1j4dn#GH%+`YMmF#QVdW+{N!U~;+S9=NR`Dv@6P z{-$zNrDaXC3Tb7E(i?SAZ*T~X+8BbucDUqiOfxsiqviyG!N&rY5Vp5){^~o+81|Kp zU}RE3CnSahsRV*o2j)FHb+)=Ty=i$imleI8xs!X%u{T4E;O)j^EOJOFOn@_B4B&0q zd??f;Ml(&N+o^A~2vRa*`=An_s;)Q+co^-#6*9y{d_#^M%T#&ZpKmnAM*BaLbsFp? zcQK5RN5~WvM#nfCS8+H3n=Pf}@W;ML*K}#RCLx%~mfMlE5!VFoY@Vl}uTnn*mg3qu zqn}c?#vPi@!^@5*Bpk--`$_AOwSCFXX|jAR(tmR`)ZQYz)g#*A&pc`$D}r&ea5+5z zQOFnril44Sd;SCZoZHm%NNi!z!rQ2f`H>WH&N{Is@r8-dxB9$;6k!_DIR$FSV(h>oUkT}c&N?V%q4|!TceYb zMtP@ZYk2KqV5;IznlKLLVUdB*bDoEuw8?LzlKSEyG|{n<{FzJcAPfM-hBt2D^OAQQ z5HX9FS{!ps#yI0uWoLpvEVd6I7G`|LNCz#39f0Q|vfM4P-8G`zTgKQBfWSyWR|-H< zO65-qK^zUhEp{td<$662Q21kG;M=$*i%{^^t9x;EGBlC{dXjvxm1K@+6|lHq`v6WH zf=ERpL&pCA34Ax=^tJy0giWt4*+WTkmXaAKm6!l>&m(}Ueo&+%5^{FbpA39?qInT% zV&eY*OqlKpvm;4wg6)+_Oo~(jbIIz*IqG`tQaf=7hHYL2muX~;WO!tC3^@vN0X%Y4 zoF4qwhg!8rRlcj{dlcx=l{B53JT^}XU3hx)%ha@eQKXHSLp`W#cZY8|^5u^VpaGI3 zQaR_5j+?>WCYMCf{{XXfT}s+LIfRqj+uU163qjtq#w#OR_<39 zQ1Vqt#IdTZX`En@f)^*c^*wu<)>?$q*~JsA1{?N4-0H{LjeC@%|FCgKLdBGf3qxj##ekF=L_;w!; ztQPV`=IPPTF5*uI%xjFC1Aq#)eF-(E;D3j@UaNiPY8s{Xr!z(+*%hp@!)=ZUX@iG< zlw;-EdW@5SUDe0IUk=WJ?S_XXyEY{rbThL88N6i+mbP~5IO$o^lcLF$5Q!k;r$lJPgQXc z-4qebgBihfgFr^cpX{iS&$PY*m0g<^k0&`^2VC^m(Y^-X_=8Q3((=nzh5pVh z+jabKAslBBMHH$t!5_SBxfxIa&p)<|b#wc*Iz68@ia(*{mv$*^&29;qRHDWpxDv+_ zmJB|01Po_(Ff)^$pww}}wkC!#yhf)jwBdo^CqFJe_ud)c_3K`}WBWSU==!WKzhR!; zU1V!(xlGJm7!Y=}Ml6mxt~nq84lApZ;l`J!YQ?SeJudou2_a#nKGkIe4kIx@2vDFX zjORHco+shb8im@ZH*4O>Kfc<1Fgq18=Ef2XoD6 zYo7*uHLGdS$Zs?&i>t@;qqwlNwzFx`lmHe>RYbttaI6Vp!*C=F>Gj%e_4|qXthTw~ z*5UIcTjh4Mh)B^m^5KF`pcTkFj&KhhI&~rP`E4v}tG4oZLV&xNI0p&>k&l&z0)e=L z^8Ma@3&wf|pW$5*t-s+H(JgFjQ3betPGK{*${EB%W+mX|u)GWq**W8M*~X1`aj5A3 z0NXZqj3l~$J4S|h+CzYh(#aukOAnZG4)KwmD|q4~C88(l?LT>oZ{Z&jX;xCS+82mn ziHivtbg70BO1{yA8Ru!vPCx@BRNe-W;>8!`fcCfg)w78TgIe8WvgadU2ZZh2gF_)yOKHdop}sOz`T}n zMYJditi_`zZWV^ocAigS#}E5qn|GF|cDDBjNN8B$K?ek%;pYc9#^qot_k}z&t$3C~ zwpxFQuB_c=j#ty{?q*VsF_tL93KXiILIIJIO?r-t@cun&z}#w97P@?U)rt)*VY&bo z%D&m=OyHgjWlnkwfC`nAHIp4YJgR&rk^cZ`$!#Qx(cS#}Q#diRoU0MD)9&Do%fP|G zea-Zj6Tqu*7ZIdhPn)_l#uyRXZ2d3+P1=~@AZ9?NullP8R+}T>%S)sVxXXEamk+aV8NnnH03fMP5eaNW zu=9@QE9x@+m96BDXo&ohNDyVo%MH!Ko$9@^QgPKTe+Qv2)k;7{p)JY>U zkCj56fpedmDmM_rpM2JrPh&eu`jf@4+(`_QO=`Cm@;1ZvmEW{&Osa<9u>%JgYvU!UXY>{3^B>Rf2 zoJ81@X~D@=BOUSysjvJga~xY_I!>P(NLm=~E^uFV2_tIZnWGzt1e5aMax&Cod)#WA zw6R_*&$3*6#gpwZAPS|UWpJ#jPeoynxl_2|bHU`^uzFdPNl z_lX3r1QW^4Zx4%lhVL@+OIx8B+ZUT3a6-3Um;p({DJ_GOjMp1!VLtf&&n46{O~>A7 z*^b_fPw{Ta1Lh}aI2aWiFkJ^&)mzTNfHHzQ0#7;5B#z^SCmi6O%}EM18d@Ejd|I0F zbdug1J8>CT@~oH3RUHzGoqDat95bpm1@{ zcpQh=wJXbAtda<0xn_nqh>|tRkoaOxBW8Os+sNR6+c_lh1b1I$x02~$4fcU&7n$U! zRwLz1h1|*p2?LUUhNs!2?pL(ByFCVPiB=G5ZEtm^%^XWOS3;58TqfU@kYL1tcLEMZ zQ~}EnO*(&w_Lf&MJ)}{@nSHA;@+KX25;qknM;^JzJYu}vuB3)ZEN-Tf-ti(PNNyNK zG-y`ItgaTM*J_5`;NT4BC3}K0-7+&;l6ZpR$~AjimXcW+TrT(8xhOC& zPUc*Yc8ugO9kV}ITcVX+b!Vzuc;4$p@+7y^Cs50gEEBc7h;TBblA{^m9N~dd2;>bb zFO52kFg$X2gIu*9X!9j3Wb)X9jI$lblbyTq-vrl_&EjoCR#;}bS&WDGQp;@#VsnlT zaCyTqP(b;QAaPVqsIkRwGf2K<$|HX^BMQXKNGs6%y?F$XF_F-m{-~{C`)9j7qCbef zD7v+2wEqASH2zC&3-;q2gpQa4J5D|S01Ogp$@qigts2#2YprrP_XQHR$)O`3!ps;p zGJ1@DxbXWchLYtL>K!yI1Z8PZ#@2yBW(Ss83lp4`94G{JYG$vfTj@Hq!rtE2Ibqou zj?&~v`-lMJ05JK1l}Ee~G&o zfHwEd7N4{>u>&sMLKfTduKQGWen|fBBy{7`p*?&;U2Z61kz`xtjy7=1<&m?f-L;$N z8RL=&$6mQFZnXVIFZ77yw}#*}Y`1cUSKOfQ`2gF73^t9#jl%?ywpIq8RKDSRchL7q ze`pJ}ba-do1RgSKd4W&m-XPhpIc zp1%C}LTeWmvxQlvwQnzDA}c}!8+hEg1dI+>kT5ZxDhrFom+by^(|p^TB#Abh0L#=6 zNIOF?$31b#uk8A5>_4oueHmlpZxU;E&2eW9#F4{*vsq}<%9(CdW)x){6#!r_%sb|z zhvMgpwU_eXwU**|3CvddU}=+%yH$6esUKW%UpTDrnWJ37t+14xq72HRRfYp^% zXVoq2q)5mh3sY?}DHzVdg8h$C_eduPjq4ALfAEk&G`5myeq3xLZ#AWddB)&I)o!W> z9F7PFBLn5P)bE>4-fk{g@^<o#SuaTpj>!z~E$Hbrk4)L8*mVBGj&fFf39i_B2Q_ zj3V++EJipP2N*dMEV`cd8pJ;5(ii?Oj$bln)x0jtxHyhoQtnw?j++$2yCZ|fNaLmj zQq+DZ-e~&M#_y+Gt*o9=lF_atS%>iy-M4oDk+?2)=b_Df^>yRDTJm2q>hc+qKx1t5 zbp#w75rU`d_jADFn0#%hwX)k>O>ZQ^ExutA5JIanZD$!)4Z^74FaUzXH4)1xbVYq~ zdp3PLr~G5lY~#hnozloAEOuI|h?t&ES@XMqPe4fOdYd+X8}yspkF)BH2JNbticBM9 zF)GiFnaC#<^3~^#pG(x*NhF#Sjz(s4D@MQ^?InhA+%9l%Iq#4pm&VtU+(!(PUbMN| zW0-C#`6Y-9r=cY9GI=8-nolZ&dLb-Z>U}+9@qC3bLlTfqMh|`u13sjBXDp^S(75Ae z)cU7D_>ZF7SVFc}8g`RAC+{LM<}!FYH?(LD2|SR1;G7OIdVdm4K8+{#O}B*giK4`9 z6~@2zJ932l#LBk!001{OHU(qylDRBCOCCMA@*??|rMho*X|jkt^4MICM+3J#1!!CR zU27;AW{%GD%)$dOLdruf2?4=S$BcoK>&;{Rl9NWO7@nhkQO z>|(IPi5|!9p=3Rv9UXyG7Anms^E1zbv*G~ zS~u-w;@ie(;@0)!ZwdLCoxgU!-e4P!G1Q(&8LeT1N>`jYzwPUP?X1pKskquM-;e5w zuz$fq=Jxox{ime+M9jb2Hh&Lvdy9am6D*NQav&Kj0BNH=NKx{URpR}s^^v+ujY%YBVYJT! zyAzBM7#w!zb~<;h>rdKf-Od)~$48l@Vy*knBuI16lBcKpN58!}N0w>Ag17j;;32|s zYSNPXzu>c+u<@_QO-sh|T`YgJ1*e6fw=FHJXrB$<`u)cRm_vtyYX%I6lRiMnLTb*p z@vGxzkqwRhnef-+2ES-aPDh9}-v@Yd=2EyNE)k$DDQpE(0=E)j>#LizzPmT*kBZq&p*nO##fWq46Xfk z)LgXfWj~+wp@n(zm*dUUc9UuU010$mbNf=%w6WU!Sa=u1%yJoLV+>aJOa>Tv2udDr~_yqT9Q z6mLkBh09@>?5O7bpnM{!kN8QB=LC=~Zj}i>%ML%ru&n+*={DMg*8c$Tnd!HBUBr#$ z#&kVVZmhGDgqS~;SML4j^PHUHXc6r3Gmk83DD~Ov^MCLOm1JofE@b$vQ_aTE*)efB|K}U{XHpETH$Ws(s4pT5U^#5 zu9tOVaxNpegTZ#Q-Id8cQWs+i4dgcS1d@EC<^%? ziB>pt?-EMfgTB_@HB+1peB$2u#aqMU=F@llKQLJ8OH|R0e`9}zpAft&C6=|JX}%?~ z)I8YcX}mk(>v?U~L@~)7yq4N*GQpAqZbnIw;{-^gxNf__f3vTJ`~{#}X#O6!@n)M2 zoo^kjtVhNgjnP<KC?Gb9krX=AU_J#og>YZE<3kN`Hajg%ULwCk+rsT;wny5pzZO zaQ+zZ{5pU9Bp(sAC_zHk8kdW&H4C~llHgOBAzx+3F$vGl6Pt{Hr@_c;y#3cFb7gQ3eW19grcC{ zo~TjAP+s-_00w$iq41{4^G5#9vDUm(qQ=`^%3UVz7$wnm?J6xmw|HY-FhPln0z+^B zT$w%vJYFmQ*tPNZ#VH_T98>9+UN*eAvYRd%M|5Wr%3tT)vqGfZN#`#ei5<%#oOV8cjHB)83+u_W8JO)zZUzHJEXR5wody$I#=9_5!>b>-LQCj-dOdzR>MSY`2%B zLf9Dt??|k2I%J&mUf=J@=RCb%NNP|wZMgzA#R&WW=<&0od$0x<7@vps# zS(P2^&t~wqf#&eGk*aDM73A6;qa=bvxc>lzgH*PL=2iQqMYp(*%?B(tw?zmrcGdkC z;RWc|>~;IE7kJlP)-8#&p7MVa>eH*h1d6NW{ikTaml@m13Qpn+SI<{JA3RlfKY8Oh z{{VQqpJlzgZs&oW>li$cFEOz&n_WIVhXQ(rTx5mGzT1+=?ExK4Ij#iJBa+|i~9Fdyw z?-=|S@ehGD*>&wd$KMh>L4R)}%WrF_>(boV**kp3D>m|s@v||=4?8*A7%asB9MnG; zd{=j=DYx-Ail(}gdIyg6)<7GU`GFV*9N>e`ImygApNTwJZCCqGR`GqppWY$9)n%BI z6Z8gI3BtBWL7a9Tl}{_iB+{#+zjyxt3|wczaZu-%|KHppA1@o%JZS zZ5HdqOJnA=&vPLfdfX+am>9@kbSyEvlO`FDx9cAhwGD0Kmh%4qS-z4vizJg>%PZvZ zoRV1JV+TJkL5|mLJ~w!aYsqKgZxn7|(M<7cS59(-t1EusGo~_KcxWNhyMFE6Z{F zkRTXfHsmUm&k?G4(($hT(LKb?aR?VoX~R0;H%)I2_%7ng%ELy}^|xJD`zj$6 zduK6Q+mI39^0995%*akrgOI~^+xA`X-iz^DP_^*Rq2Y@SH^zKhLbB=?rIqlaKT@4(2SlB@cP5&c#p&F=QqqG)oqF?7{h<8r%tsDX>)L!7I}+pC9+XhZgId>81MNC@Tz2V=OvCsjcCL@_5z_LG11pSgdXuCr3gU5g=27 zN{~okLE3WLOw=sqWrtO|nlc+~S6e0rjy`4B6*Ck{Tn9a{{Rp2GFhbDv`XjF z$@@a-I#d$d+3Pym>Gu)&R~C_3GNhRSNd==~ud{I7yW5d~IlJGEI!Qw-!>WC#p;p;x z7|MVE!v%4tZl<7RLG)Tr4i57{tL`p5p|4dYtpunti)m2)7t+K5vm&#|don z=)|1opI-T{$mO(>v$>Dgs$Ze&nuo_LTd92LwEL!!@}!ufiAcxy20$4n0eHdS3do=1 z*O#e}vfEqR#~V408Se6-n0?|#)?%%Kxi}kC9m9j>tW-s{R^gNlqiT*= zO?YLIKpVFxXUeI^RR93k&&+d?b@6{xI$LR}t39ocnr3Jtx@co(z)j?2jD^B(9PPl* zr5^?SE%67$4QkKH(ykW5X;wL}CXwxI;Zne5=XDX5Eb0OP%*D7|D-qcIJN=$lT8Cz} zru<0Kt{PWMOV}=K^f+zjj^&YYadf4oje;o;Y9z*TvK|Or*m!KV+^ABoG@E)DpR=Ej z;PFx4wo;NX&Np$QsH>35G!D&7NN^<5{r1m&4E5 zH%{=*iKFN~8HVS=ei_pA`+Y|DLbrG{%|UNj<8Wk>3_$TDZ7goZr)kMj7(93MCsnqdJ7ux7YZRF-oCk9DY|+OU2o$@>k_jV`!*24Na@56A_Ku`g z(%SmFU+(kM@jVK3-z;F>t9yS}IZqk*J|7(X3(%~-E8Tc!#abSRVJ5kC1*NdOx789D z_cZPHlv8Wv%QhA`q(x+gQpqR^=g2=}?-c&dAGCiBI_fe) zWSTo$hyZJeB$&IgXzwuLBLK5P&0fvpzu5CZ@z?C>;$H$s;vG}KejL;q8$B}OKeX9> znk9|h?O%AP-#SlMmKh2!77!vzD({uKWJ!7Th?@XO)du8*SpWbt>0t~8BG&rz{H z7q^Q`ita|WFwZo$BJ5g8BgFDs`O=XjiU^dle(ZE$>fx0+D%D(F{ncwFezsbEsK*g1 zyzAM*>e{>OzTeh|(^@yhEeGJwgD&*_a>mcV*1B!P`L~|(djSLuBS{l)oHv~*QqpZ? zXD7^Nnc1YRZ-!qHz8ZXY(&U@NJ|faQMg5Sr)88Z-te3YMbE~mMxJg^h&zM<%dZF7Y zFhG+KlNvo!*zFNv7(KtsqIQVYQWHw-Sjw;;gV_Tx7<; zm9H|jIyRDWyWKVV-(SZ@b;d4DHSUo3fA*L7L*Rdn5_~)U*wOSq7FphZrfCUoqIq=_ zD-#;SjqfpX?5?4XBv&j6HQ8L=ct6GW`o5EYeW_dB>W*&PPu6sXibx?@3WpN3A!fB^ zjf%6Dq;>|7yV2W!9 z?==bTqO=MS`EbheZbW5}W;K-+cCZCQ9oarD*8Ds0D^8nI)Gd5PtLg}X7LLzKeO_k< zSgqrZ6jUmJ7BXysau7<+17Vj3UYEiC1o(!!4~r~(SEuP()s@}Oovo&cZw{HKNfpM~ ztl_$|g(ZrAE*Rugkv2;bfw|okYewVYMy>w<2~E6K-YnDg-w*0qf7)$rXVL`MVNqgJ zBvZs=k%K7%5+m*2n|6g2%TiS#B`GV$TKf54TYbjV;|V7oZBfa1bN0FLZ-{&es@mx` zo*>sRwB0$OZ8ufZ2A8MDbj!c&w*pp`EfnMyjZxWEqYcPKJyiZY(e#}*>i*MD&~=Ne zdn;%o(DjX9O|a8+yM^+EHc?&61aBKnDPJw5C49^Rs)cs*dgs9FT|45XuA~0|2u718 zp?T)dF2AKi8eS@ei9}5#axA5tBVmS76FY_82?%@73wTSz-Y&J({5y50!?$dfH{o>a zTb7mq6kbzL1mbm(9YIMJ?l7)X?kLz6)T1e<7+O76?5dHc7<;X`ci7~96#msd7V(CK zqv}^47V&164dtPG=``76*QL?-EM&oP3{foKyBUp)aqL%F5VJ}^XnafY!$s1fwVvz6 z8XmQv-)k4b8;f0QN@yh!dAA`!wP73P1(n$+D)>%W+=Z?`U;hAtY?etqdtl8zPI7O1n52;@l@Joiuco8K&bx!=@YDlk+3X{ou$;bQYr=j zc{{>y`G8zkGve=tK0Nr#1+I&zd@s83zr$)q+ne=92OThzNO!nZE zSlt9NlQNuu3NnnJ0)N3F{vvn|YabIy@iSi4v{M>O2A|*^_g*K}pjb`C$h5bT<_Kh1 z;f#_}c?)if%Z^RNFK!nv!6kU&6P@(Y{JO1sYI0V@Vk7R#i{`9`< zd3k?h;t!1)q?ZtjNwtkT#}_Z%9B^ke>>FWtZ`b z=(=u;;y>ED#_Pc>hCdfBxpbP87I#Vswo6-!F)Dd8L*>tD5RFw;B+Q7$M)qAF!xsA2 ziQ#QyOI>R7M1Qhq{vy;bBze5Jdg>uPqk0D|lFev^h;@^bdv?qXm zICx9Oejf4OyYW)sm={>^{)+~iqRlO{$F#Ipb5A29#J2It8I}(q<9Golkq<5#6;@Mp zr&UH>8+*RnTHa0BKAldyL}@6gLKnA1r_R^j-!tg>{7wG=2;ak>>`f+JW5l<=+CSOP z1<;>QzPz}1X%>0X-qCjXp+FPJu*O3IWI{n6E#W`-DZY}r>|YMPCVVXYpfvqMQl0+8 z2Cv{quVEWxb~CzOHN?LxW6ft-CqS9>$@(+Ff44TJ;x86Ah3-5ntay9HT7|54mKKw1 zx;!_xwvX~W(OZ4CLXsrHMNqLxZpI=6(ldEY@i&RT;F}+`$LvSpeGY%wx8v`NHLnfb zPj`Cy2BEFCpJ#I#NWM%FAaiFklrsq>k>Cu`KcY zwH`=md$hHEJs#iiPp7YcX^X8=3t0R&@ZZG|S?gM4H?Zpw-*|f8PP3hgd3M7(v~bCC zlDukSSpibAOi+O4;wfX9Mzze@hoKLdP6@sGq4TiE!6#=i=@K{dnOP2vqJN3pe*HWNc0 zV~+Aq?I=%`BB`3vaHcr+N#+T6R#>bZJUrC|(uBU%+g^QIe=j4djcC<_pI+Ku%XFH# z>2rS29u>OL^eL_NO$}em_@?$K^_?yaGTM81!$i|ZJ8f?x$Sd-zHJjZ2^#|HnPDjWxe$F4Z z$H9LWY4@5}?Oot+5L?M{{hz1Js`!FL+zE6lBD=Ga7TT&a8Z(|iK>KrE+50*_j=Xc= z*72vt4~rUJp>g2*oBcyyx$w`2^lMn|ZFKZ~=4tKWO-B(c$jn+83Mx*I69Ob?t%IXN zo#<6lzMWfl>1${zIEl{koLm>5^=I7WekOcJ_*bTW)V>+h(_Hwapm^s{(64T6wR>yJ zr5Yj_bjm2b!sMN?zLHU$DDx(oTIg8V-?zFEn?a?NM=c3xkzrIF|siR7KkjM zB+^7lx2|tr{hs5K$J&30Kj9+r#fGJ%-(26vq-ghWXnJ0wG|~q0?yat+X|AJXB?MAW zASoov7+u0M(D--48VAJmU426)*e z10HTO^YpqttzkcpJVBxOx_cQkopV&Rm%)01Tpfy9-U!W#jJ!}2a}kyhSytjnri~ZP zw{6~aI=cSn-ID0~`CtAR(szS#maEJ3JVW5OfP7`)T~AV$mz{i@#SY#gJkY)-|I)R<9;FQ?(p7Wk{-_r;G6-uUy!N5lGFzVqq2EO2;+ z)$~`nAejEoY|y)T)5eF(^W~65v63?xA~yEV6?`$(d=cO+N5mRc+bF<=Rn5KD zrECl;(5BY6k>Q<4LdYbIi;c+TF;^^9l$xEr<-N7_?r9rTvs)uy#a1^y7?V)(9;NY8 zUk~Xvw*GC!)~Tjwa#)5ys>b43V2m=eqO&AYMTYrT%gW=;K0k{cHh%%!c%#JDcRmT% zHF)Kt8XlUt6nV=##$!7sZC?!TdfmGiYXo& zi%$<}HuqPmjLUTME!Dj7J4Y_~+sjniKn#j`e>(6l?Jwhx**{vo@E)moseEFw@eZYM zZ1i6g-`hj1Xi!LSvHhYMUg~QXZOk#HuaKu3m3D$*XsW8-(Q_?rwbz!G^WRXNNz;|% z8?Nfw6MTF4o8TXV)?OUb?L1+i*j>P|+dyr#Hv1l+tsn_&aT>h$P+H;lBE=HH7%8~n zSXF-wd`#4?JQH~jhI~cgzlrynM79=|Z>M;oWsg#YrUjODjytI$X)UEg_M(dsVu;(o zc+~h&@Ppyk?7!jL?SI0W-LHi_FXKIG$6va<)NE`uJtNI|T`lbc7+_|#U$-QR-LbPsLt*Wee$ZD&;R=fe9vHpj%a-`X}_E%0B2Sm}!tE`nGt#i(gj(q&1KQl}g6 ze6tvNh|$AJT(r}dX8PLKT|YaTO0`JS_rKup^E%xVU)MDsv)^hS7t}Ntkz=yBvD6ya z-q}bBNwE278PSUH#gya;2IV2&nAQIPWN!_8Yw>-&(rdpOwEfzIt$*Q5pBUfU=vQdU zWPc*wS5;^j$RuAPMT{1}ae{-Y_}h8=DM6y?9w_*SsOh##qB})z9=Rr`qwGnP!zHt6 z_a+vaClM0X#uf~#yrEK9p9z0!e}=yk{B5IJ{20APX4Wzdxz4l4~8S{%{7j_S!S*X#XQ=lbO;%|Z(8Yxi~B^M8Wh zw!g!_gj$^51@Ui&{8#W^>7|lwHa{I|Cr{J$CXBRly|vVrazQGW3%hKBCUGHl4%?sF z`~l<0em(dC;_KnQq43LIv(seqW7KVLPN8oUv14>)A(wPJWD3e2VdtvuM%V+^uk8__ zcrV3&1GQH8k)rrlQSkkdkL~T^IAWgHPMS#)*j$^5A)PIma)jJ66;KIs5HTMgd|m$l zf-wHiKMOQ{Q{u&q_ls@x9R}JBR$FZ=Q-$E`)Fx zi1WD066vQjTkYRpnS`rXjMeP#yS}M+w$JcA2KHOejrKaGi{gJ3U1?KU>M&|z!%B|x z!}k`lTS^ehf?Tb|s7I6%(N3p)LwP8hcwgD~_Mu%n#Cnf}d}ZLTiXJf5w26G325mp# z@RM5>aRY@*gQ=u4BwN_AjxxSf!GVa#(Wj7>^qqUa?cp6a#MYM5*xtjb1o0iN zxoo+PSk~R9k831_cRH|gWx#QR8P1(*Fm4!?zecQ=rM0v4J$ZXMLe%AN&-49XndsjU z{x^7HZ2@$>9O(WW)V#J!s~hciK+|uxnHD>JHs;gKxwt|Eg_xJOi#d&)mJ3VbuL<}w z!U=ZvcG?}Do21)F`nUWfdS0atmn55VpJ}zb32tCm)ub1@5*5NQmO{i=ns|ryaq)hk z;a?7}vdwwotLYlr&rbMtb)@(j<5|*S4?LGrLwM4iLgQ&gXb{B|NbExp+mFt_89!rx z+7rQEFQ3Gk9oL6ETVjw)C5%2IO+)Rz9!GgRn~V4@;7vXo$b8g%$XY)(KQUE+EnS#w zzYA7rMsZHsYoq(l8kmXGrFNaV+gJA{{{Tbu3rO)MldJ2RO89e9@Z6f9guSW_OU(Y+ zx8A|tFZAYF!nVz;6tjfM5@EKWG<(a-;h+sAotH18^Xjug6( z+lzaR#iL7yW=RZ@k+*Gd;xg(KWocB4dhK?XpE9?m+xcp3La()r+G%;Ef4b+eYF`!p z1?YDkBe6E{OK)N`f2V1>IEM1Y8UFx#Gug#%w-Nb8Lo>W((DFbl&o`jyJ|F#|bXlbE zezoy?;zoycaSgz*)O9$tJAF9-WA=}>SZV8hYmJN*UC|kU-;`y~pXr|hzBFsvoSqxg zJ|KJ>l1~rj3#G7=RQ}XWLVI}GmTOx}m=@07MqGT3`6!ZkWsG5X_xN4=S!y>{J{j>( zivAw>4&THQrk`sK`f4|KceV}12^ zcHg!9^s}*@OiPR9ag)=wkMaD^v%EXuCDH9Hg~qY3-rZT+ErUJ&xh?(e-rOrOc{j<+ zDz@cj++=1rCoRlbXubjXm^?`(roG~C7d7#hPt|l~@nzNBjKU-l%)i;u?v7l>S{6P; zyWTyVNTiRJe`tRhc=Pr(({ww38-CF~H}G}Vp=P!h_jf-8EiW{EO6o)AtY-EFhy_TB z6AHb|k+d=%K3K;Mp!_!RzsB#`?^^KhggwZ;`Jorqn!tr&?bHQ5+#+mrsJ-=eKp*$|bm%Gb6E4 zB9=Z8;a~V7Ps2IB4tSDj{w3*tJG`-Ly&q8VJ*d@WwD7K}Zn(pFaEp6Hjq&GyXg=12 zBS!IV4PPB=-|$W?FGar8mfQA;{haTubZ;qd?$cksjyT>(#G7GLXTI-f`B>X5pgOYk z#(mrtPlBll#+7L)Us+m7zSdX#(dXkcY-}Y7N{Vr6=_Z}6-P`hK?q%QX_waAU8fxk{ zT2F=bC}sl7M)4M{dv~hpR}qp-avQtN^QF4C@ifm0{{Rt>B`e|o0NP9b3LoOn*+=5$ zvEkcIL-tA5HH|*}S{rMawOh;hR52b+)y2G4wqs%ChFfW3H!uv<@_vi|00b}io2%YP zF1&T{S5LD@)>~@JQ6PAnSmjYF})7YxCIFma!A{^DzXCA7+k9B(&@J9lKwaP0nTbASQz-BrzD#+hf>sBYP3@|Bnvl-r|b zLE-j)@K+CwPd1+=zwHU*C`O!2f*aO`YdKr6F@#b<939)U$2Ir#{{ZkvKZYJUx06q` z_#yC@!+OP-o#C{XSn(W-t3V81T&r>~fwpDbL;mXE0^=xzu6(D)U+_jh0Ql17yb8Yu zd|B}8#QMd;3m+NyLhAnj;s=MIRBXtlntM}fN-1Kuk%!pBW=;utelI5We3b8Hz0@1^ z>fg%cVqRx|-bM}dvzq)lqmKa{+mk)<8e0`}{X^;y) zFUe+(2>>B{sK7{sBLMF*J{)-tgZpdVTX?rj`yI!Lv|kU{&nnvJ@c4%I-%ZotnrC;5 zbS`cLAjrkGF_DHzW@1VG)bOW)pHk56;qmu^belMQaS6QFY;`LQ4_;`l%dr+oJWxk( zJW8e9i0vC5SlugaX0Mv=Kj4Dj0N2MeYZ^a|bO>A>rb@QAz9?M7Yp}^ zk76ShUVv?Esb|?roTFNsj{4onU;5aoVKYcBdUay_xo!S`p`-BI;f}TAPltL2x25>l z>)I9MCM_pX@b<5NdHtgSiO|OvnW{h}xmH(+HgRa$9+BbQF3(XBV1z}mvxZ2cB$C#s=)1hK@&Kni@5U)UA5Y=wJ|TFU!un^1 zH3_vCV+-Rw8VH1U@il9dvgq&vMTMs?4Wn)*CVBN{y6xCO+H(hR`*Mn%8u^R zX-wAfgb_v$mZxBReCh$}PI4c^5!}FwJ=41|AfsFj%nwWqanrE%uYQc&X{A@<*`GgN znspzt*ulK9TT68~D(rB9S8w5*@%5-}Z=o`*R}wTgQHCNpH;n%PwUy^Q_8@xJ^qvux z+SwuV`c!jxR(Kot%`{?9;Yk&|!Pt_d#RPX! z%*z`x!b@$9j`iuuCy#DPJXM=*LP%`}=_FKQtWMTtTyR0b{$s6Z+-V}ABFoA-p zd}pU8pYf<)N`bBa0M=dp>|{swbq>6DA-jD!qn?{V$x`|iB6Yv=q>l1NY2N@CR31+p zU>qEEC)1@xEu@NNadRYW8<*RS&HNxM0!i)0YTeR9CB%ECl0{rF{n=Ji$87r!DVvsf zq+gY#&J|-p9?SxAao>-vY0VV0BGTEikJ)4STIowj!*ODvQ3q_3-0|;K5Jzhiize3d zR|;9q)@}~~4l&15gIeu#Ge*0T6;>Po4&@zAK^^+%81(kT@lT0#Ujb?M*E+VTr0H?Z zaUHyEJkFr*kyYPlQp85AUCM*CRGO-KyCta-x%6$ngFH#8MRhKrb*Nizb&k*_q_RgQ zKY%KNi`O_97#x64DL=tYYIvdfZzNRM#a_xy+rtL=K2!bG9k?evX1$uz#u`o9ZCyi8 zh44cZ2pIJ0asc}N9ZgGjb7F5rymz+mIZ{Mobyi$sBWoOz3HtS~pZeuh_D^%_wA$83 zj9Grq8nlgW&}g$;Fjf=XhWjgCNWgsTzGIKN00CoP_Jeh;$M`klU$I9FlEwBtk)oiP zW@r-_!vW>ta5K6vNyZ4^W787FoMJfUXyF^3L}iqdo=N;Yx>P^gs_GT3ZRA-1$=X%1 z?SKw_27fxs>$Rlyv7~Uc*TUK7^Zw6zjsBqr+BK$z-W}V5Su48ae53;|Hm?9F%N&3h zVy;?#&9>Hvo^Oh^%d5EK@|qcJg`&t$-;;@4?_-0Iaxgs(eF*C@q$?vwi4fz;IpIgI zBk9oNH5@w2Gpe#%uEhDjdN((>E5{zaJ!)f&ud-wMwI!-roU~s7G+PlHO{T|n10j%a zlI2x%fH3=mZXAw5CvoKVS-u%~Cq}xsxYYE!7hQ-4+HWpb%jls%3;`#ue!PR4=&q#m z<=o$AbyWZdbZ`bZ_qtTatx7MLmB z6|$=m!~innzIk5%0D(Biy4q{A&4pRC_bN&|#T@R;M_jWx!3RADMg3-y_CtbRUTKc49kNudX4RA%)7u#jpyNVB}<~;Dsc0 z1D=(7$H2ZWwU!_4D}M~f9(>Hsi6g|k00Bt`2+1EX=OAF<=hY>>Ymz+6uw-CZ4eqSm z^cW|x&T=ZOn)Hyy+gmWUH>&Kzd+s2U`O=m$PwcO_al^H*GcojU3|r}Qw2!0tnLweV zh7T@a7d_-Ba^wtcKDp-=xC6%9Akx|xmPIM%AUl8~k%r)b>IYxM=HF}0cve3$>326E zmE(>xkWWu;pPgro0^m>PM}K__6(nLvlqYgj`FYNI1}C=$vyI-Z*w>YO-ut=S&fj^4dSvi8ODi=2Iju z@=6-sITt<78GGOg+m{yp871gr&xcCwHgr~hvp8Ck~b6A)K+q%UQ6C=xYVZ~g?-0(bgNri zv*oSVlB$TY&2aJ+0|X2+uu`g-%8oq>nM9x2yut<0A`9kq@o&iN#>o+7yZ^9JlO zkWb;*OmLNMx_ry}#4XqEIy>Kk8cpQk=kVRUf>+#LIav3}I5S|J=K$o4)KUBm&|$fb z_;^MYNPE4@Dy9GcovpV$Gm*O^u4{q+0EB_2kgPU#`?JfX)9qZ5(1rut05EadtyuV; z%s{PmajiuoslvqhQNj0SJ^JIZ?TX*()l$|^`uUj05l;Fg{d%5|o)3AT4R3DIDzTC{ z4g9gjxX1%%IUMJvG3%TTFIVuNile=jOL+7hC7^x6Z|zh7um=);`O7cgewYh^jApW9 z)l&B4{{Uy|l1m=ovBxBj9I3$S89*fd98+(#ORK_u(Q$utsKk_c8f6Ecx(WJwb552X zN!sc9ps8IoqHEEccYm|iyW&{mZAZm=UzH%qiaXVsIXT^oCP`8M0O}*X>rdIQOM+;o zy8ATE89QWz0>tsa;|rdh2VQH4pUIHnofr{}e5VWkAK})L+7#1fUngvGWUlxSMt0|c zkOBO9@QPjsQRXLQ^vyj-5#PmOK_5Y_D?yj{^}}y-uVL^ z$JdIA-{K@QPvzU+NUfcsG>IE&>5Q~sf$TXP{vK^{@s|AMn?=*^q+Q$7b8d6AjtAlE z{Hrqe<8GH9mnGkZ>@EKG?Xeahe5H5?sTe;uILRWMa{1crekiG8sXY_?&t8{Ry47Nn zbdbp$gMjvY{tO7u;aN9}9*uUgNo%J^GH@A@;lb!VzW@jxg1G$x^G)$=A?uEQLlpGV`Bf)OX^rl@$kO&7)H4=#KZq z(n)O4+qZ^pkgo7wQ4({22guQ@0y*i_`g2%1)sDS$D-}p#fxi3L`O+Uk*%IUoarZ#y zJQ}&HXfgrkww0}_slyzME4ykgd>~MIIghUo--KJI~9=lW@PC5@x z_18u*wV`k8=5th(lGTx{FJ|*B-ZSy-t4s)C46`tQOa{5w!-I^DI||gb*Yy29#zlu* z@q>A%=4sj>4n_zn94$j(b41CiA6#b#XT z9w5G-%KpvNrjl>Cg2mU&CzH2oax=#n=Rc2Pqs*+?%JB+65B2z+O_z>z_+`S}>J1SE zP!L&LfHJ^1>CH#0_?tnyQpp9>(ZtH^rVt2Wj2!OdfW3J*9@Wl&!oTqZc9Y*94(rQj zZ}ZD=)-w4~<2fw*LaqSs?O8DvaILw3<2gTf`eXk9*HiTxd+I;0PsrTWbsZMw6N?4R z#BX4pTW~NwVA=H@GvBpm>E0IbxVdQ(8(7t365{G>srE1gWCX{}^B%bz`ry?#L(3-J ziI(n2@4*=V01s+wtdT>z%jHO9+z3&}uQ(a+?ki~F(v70u-bArZTC~37xJ_0YTX}0j_Zna+z&5ymd#`+aK`uT?|?SgycU<1Ly zzI*h7-qmK2n1Q-vh%r3<=OK6)T=*`=_Q96(#2>lyi}@iV3a|a)$RLkV{VI$6AMpLuQT>NhzQkiJe5l;A z;CJ%!ag6=!dh{4FSmR*XKypbRG1@l}taP+b z0r-DOx}Iy#8){mmx&pGUli{sW4hK6-jc!wpIXv)rrR>ypsQ%zshb`gxnQib3PP}HC z<5TnEZLF)ZRdyq%`nKZ(1F${8=C!;j@WDJgAN)#n4NA#aFg`@Lajp;EQmchI#yQS$ z$*o&WW8m(a1R-Sce76h$l*Q!?dJOLOJq z9zkz95siQz=y@SterX)B+3cetlTy>w#ET znvS2VTeYp;m!s`sr^$IO$qWf28+I@w12}AC4l`Rfe-b_&qO$4!7u58k3k7&?c9lY- zZsnb>gFf)bAfkbe8)*%>p?r7nRnCEJ9p#HlGlLwq+LYTsAm?}bEu%&W$MCSnr4gd{ zv%mG(ht_Ye`5ae5>CusB=Fn8 z3@h;SN|WsB{#uHpMAUbLsp*gPPR;0EMgI-DoQxhx#JMt_qnvK@XTz_f>e1 zC;$!_f%Fw)O8AF8g@kfw-V*Rj86!~fJkf4$`Pwg8i31#gw=I#8z#SJY)4#9$KjKff zOZrDIsCehYz8*x5Z-zb%jz!Ai=fe}o!AbkMn2xyaTa59|cit2DgRXe>8~ZE5eigfx z#xEjBUfx12)wbmdDPoC$2F@4Tu$If>U&M_H+DltC(dKK$B`1RVJ3p}l);+3<+du~d zm*s{xecHtFkHpW2dKRN@(pl<_A}I*+GwNP& z*G}6VpTmEI_wdGmY=-7R93b*n%X@PiVBll|cM-_xk1g>}#Z4zkkXg;}=fG;wyqjkh z`(%(3N!U_2({Cga6C^iU#PLV%1LBVyLk+&Ysp-1J7Vo%6KAT|i@&`K}+^*sX$ zAB*>!TuG+s@a#>hbo(tX%~f~uah!}`fJR8J>NI&*Grj$PO^$g=T->OufAJr} z+aiX~!+six;E+kZr=QGqT$IbCsUu*sH_prnZ16`iPvh%3T*fqA9pQ7kX@Xe-gOj)S z(@mA!#e$Q7*dw6C-|)FL;#bmdtg^;y|*G7{gSUYDsxCM#HKPc*bdgPjuPK|Wyg?}d2MqSzSt)sa^o}rdSV8gEr z2==L(SXM2;g5Yg9kQY`NILiP|4tkH&8ip2*MvaS=!;~$@T8*89y%Jb=# zcX77+Ye?2cW+DjI+ymcg#uXKL`>Fr{a0L_Sme&4ZdpW_$JqgJ6InGBSsYzbr)o6zQ z0Kz?I5=S4|ZP{T}3Ibt96aa8I&NGrh>U~W^{{RT(pfWGn(MdcNc2#rkpzZYZJPNe8 ztu(RjSlGG23DfSLKplR)IUck<>dxmYg(PhYyPWaV^!$B#(3)iGmZejmSjh0QSjTM3 z7*O!sNgEaeXktqfoxE{@jsP6fPJv^ctz#OgkaM{5Kpy_sJmB-{b78Jy@}%0ywMj3? z1b?6YwL|vUO8Jc>d$=DggXTESG5L1SN-uSwxt~%n+)hbEy@q!LV9^H?(;ZaSjTHD9EON5PB?LzZoa}qECBy;u8PL;>qe$u`L z)4XA8qTG0^O^)jR++D#dOcvHv-pRFRW96~j0O7Dn01`t5sKvKy5}UEwjRwW#;@aJ_ zobOI?_;l;qiF_xg%NgCL+BAHFx-pF7sN)&MHcdeyfm_XH^P}@)2*9haP(eHZe=fY# zZ>l+k8_ko-k#Yf0*bUQwI(m>lTAhM2(?V&yA!8U{J59A#Z=4xnR?a~gT#h(q86BAV z)XSq-nOWA_)mlmQO6aNbFM{hL~}HPWyb^s$iP0sjEwWf zYA@~h_GOu~kXHwAIrKTsKA+)4VC|qebv6ter}Hp@N6ec+&T+^%IVamcT6&eYk7~$W zKm?EJ{{YskHSruTCivuCgCGNq%%B#}9A_9ly#8+xNJbr)Duq4;*(bTl6Rb<-0Ic9aj`T}~B zocnvyN#Z#!3ao2_q~Pw)1K4xea!*6}QOj}am5tFlpjP?16S-d;4^#Sn6_DOHwTr~b zr<+^jZq|nFZlSfF;wNDtM~{4HRd(eYB!I!rGqJHqU8_$b-3`n)ISnrea53`n*N#qc z*V8p`wW$WXW3^=lOKX)3#E?of2e+|3`Y9M3Hmd8x`tUg%U(X!(i+Hup@Bir?$Tt?CD z`A^G`p!;$3{{ZXPF2hiD+YX}BM;h!4a}089T>EWeN2xsXNpT(a95vRQL}Pd_XEO8X zSWHJ=!EyOf$sjr_jaoPpX+|R>ExQ;w>Us7*pS?tN=;Mq?(8{Vw4EuL0W3WEH)y>H@ z?4D=t^tl>E1QBxSuoIpJ#vKPt@qynNbefga1!RS7ln<1C{pBsr4?bFs-81+MW{z8Q zV752c#qh|=!Zu*I3VRT7`G1Z_6=FSpIc8w7?Z!dexxqcV`u_kb<=*2`w=246-F(U^DCp>o@sq(hA2cgqTsuz!P`AsHq z^Cklx<2+-j{dhG{YVtD3e$O0$HVI$g_Uqe@wa*#mmR2_xSJQce?-vL=;ZD#v#&{$Q zeFaSo%pwToRg-|&a>1HGoO)-j?_3aZ&S;Dz&}_|%e-KG4{{XA=Jg_-TZF9lS@9Ix) zr6=~i+{Ihvw^k&mcT&WC2OM|g{*{a+`%FSlnVEoC{{VT64C4R;&M*#epzg)bDAcYBX*4aYJ`Di)EXRp=ZYpmsR>zS-}Js4rx15bDs! zG&ff591JjpqM3hqr-x8U$RL6}qTAjzyqg(}5fo@sZ~ZfGl|jhjJ-tU# zc!pmYUfGEJ$gJ<#x|k;sx`Ti}cI1z)Bt1D4?(i#(@_KW@=}eCK zZX-rkDy_JxFUmp2dCmt>&=H*HH2GbLj++WRc@xBZ)w#E3ZG^wwUt+^4k=Lo~R^L`FmO);IXn++V`=1IlTVkhM{}~e@XR)st7|s3XJ)fTB#LXLRWcl& z7#TiO#&XA;j0~I}jz8I}#u|l;7nV9+p{-iX364u!dpV+Z1cDXC*~Z+GNl-TR86|7W zO544n7HhVLhDcWCWY|7Zqz&IMY;*(jqU=Ygqcr!r#pKhu4d-4@H=o8AhjWvYk8Jc6 z7pb%oE8M$Mx#?Oj?BU~Wc`lmI!+N%-_DAxGu!=jRjhJ!1NZGcq&UTf_9Q4I!>wgEl zTW32x$AmmVrQ6$<4fgq=iZyb_BP@tcG0Nv4@t(Q!6W~t|$#&BVXARZ1g$Tg{d@K54Ti7%jv&%iz)Z?lgiG+G=n zJ1N1-O#-Nw?vc5HZ_rl)Z1mX@Pc~I02H3=w`N%z4T~L-Mp&7}@Qgq$4Va&Rn2D9)-$C@?dE30@j#kT7!Ewnysc4*VevLidQ zoS7s!>G!$d)l;Ud?kP&mTl|aqFTuYMH7V$KY!p3E9v0YrL0IpPSR~W(Q7Xv4u z;;HLj4fTBsOq%-hMZb#DIlP~=T-%uAjmvFqg$gEe2pdMrEWn+eiNZ z6AO2lTbR-bH(-N}$9YqqW5(g0;5H2+O-AN4ZBEwBFhP~!n4sghLnCy_z*0^L$D@p^ zBwKdKS~c1pCnR&z7#SY8$Ugn4v7NYejf!+FxU%%=+;z{X;MF9NK1kTm{4=AunYC{e zY6|x3JcY8;CuloldvU-}$8@N1#{}Y|)wFL9{k}BQZ@ft*tZEVGztip3eDX;V zCC`=I01J{md)7H<Dq?19i`>lF=YiJcHCER`@`i0fnuQUsrMtl;#6Zf=&r`!CWB}^yM04d7Y`ow zhD|o!Hf$VahuSmvu0bSpJ!;9USVd~SMXZ+Yg`Q@X>N#LI11+$|F^+n^>$gzOxtj(z}n{K#W&E+QMU^pePwd-FDe`lRDLHK+$xT2d+ z@f2w-&E@!sqMp#;70Qw~aa!NQczi)+9jsmt@SK-Y zGAPw%(jZv;-!axgP~nw~FXm*kg=AxZ0M2ytNbNYgc{`2Zc4|k*x_*st{vd}>)aJJE z{nU=A=U;ZyfA@{>h#vytC`+3FKtL#M}MX(Z;_LvXRl6sn1F7>+x;TTeS_RYsOV6K9$fo$pyZ z)0;$+es_Q5Z5*~bUEb%JH|%++Sa{mT+Fega)gTs-UR|u#w~+{!daR&%ag#EPfT1Og z-+W|j%Msf6ci?Y>JV_&6_)WB#@3i(UY_e)m%_oKLVnvmq-3Wqm_(^ip2_!MRgfNdG z=kcexOoQW@3)fwZlB@iZT$h?+9cnUmSCb>a9fFCettB0NUn;*Hfrk-)1lXdE+0Q+jSP9_Lez?@rUp+3R{T zO$_L<+*#YT<+%djLa|B&jLgBD9B*6|%K`%_k{^gZAMoFeR>wuU@a5NuG`n^G0EtTK ziE(po(Wzo4+;^;dNpe|EQa3DeNUlg)>B(QYw=;S`&CvBdKf`_)v$fI9z3!P|B44ZN z*0*rl+arXQIczQCdA#rSOPFF+M{vX{obHbI!1n$>)U9<5TI&Ap(&=Hk7MBq!$jp)? zkWIa|$c~c$2pChiD=rQPGw@HsKk%-6BXzDf#7`M`<5|@at`k+(^^fiARgL6^N&d?M zgp3&j$jDio{Hd`@kge8yQuxge!|xS%Ye~A({?R{(@6y^ER@0``Ur!$^iKb{0UnCK? zXPS_MlEy$0mbK(gt*JYbTsL};uoEuB|{8)EZ}&*m7( z!1Fge`j?KpMXl%;^Gvo{9G}`!Fjy~PyN-Kk?ly_!SbugJXw(cm=18{!M&acTKbOWo z5Ih0o_={TbzlSxy3ALNvNvv4hUD~{>^1N8Hk50TYn8L6oDf23}X7c#R*?9U{eISigcg~m~i=1iRy@5Fx&d;_M(CXXkL zqrHi>2DtFwiVe<qG|eu zq4o_&OPUDpq12s(vAw1AkuA(JK=Hdd-6)NnRBpk=5}?%idObQf>;C`_5tf&*?Is;A z(*9`l+gTbPvo*x_dSq73e=!{$b4CtsQ@Zd^EatmkEYTi^~gpIHJ?;ZmkmDM+qET zU8UO*k~eLv8I=xHae{WLZW8H!v~H%{%q0_AS|*s97Z-S{u*28 zo*{$8b~ZDAX|0lrnJr>-=36Lf8X_Z&x3e}BCz%)li)F&>rO6(DfBOEsjI~nHklJ|j zMbb3ct|im;Z7$SriQiJQky;4^k}Rm|t_UC|@gQ*v#@R^-8>!1C6I8aFSxXNGT6m*LvfCZq^tzOG z&ub$LM+cO!Ih6kSH8<{E9hzEkZ> zXiO~3?o3aXa*7*1c2ui*5A9R`00l7ckL>UJN?Z6h#FA?oXNT{+F1{kP)b!0k^=&s% zGx^_Xfs!1}3?}9RvIQke#W0p85AyZVqgJEkrxzy`qfYin&Qpr`?32{=PY_t@-UIO! z#l6>wHN&dj%E5GtDI)PWfec~SP+4y+n(EC<1l+AFTF2%(A!1R7VSS^=ap0SYG(YT^ zd}Ly1EN(6YBTu!HK2&XR6yjBn_i=0>xl!^fZ`wT9;Qs)PJ`(=Z-wEyhAn7++E}^C9 z_P18iY`iuWHt@i6D@$o0RkthUhFLtV>l!InP{l`~cw@qzDEJSkE#|wW$Kov`TDe#) zBmUOYt~DE38_Z>b-WhG};*)4pVq}(i(NX??DHsk}LQa1Avt1sV_FwQ#J){*h;_v$W z`x$-%T|>ZE?csf9%S`a|Nu{mTwB8)jWYX;Ht|A$_NFFO`tVBgwSwx~DrAZke`CQ+_ z&xm>sui$M{SNLD8c(cb)XmCxaTxiWT)$R79=aVFJ+uUAlH#?d)Wb&>VRlx;SNscMJ zU-3Xe@qpRf>z@=n7q9A)I86^q(yaA6tMeFTid!pKR#SM6s&~n29O)E_Jl`Nkv8Ye` zP57I_-Y)R3iM5SN>&BlB?w0FH*Zfbbc$&vW{{Vz)X>M)a*6QxoC}W5w)$+IfnmJT7 zo7in~dZUG$*DG4fZET&jzSez~x7Vo>tdr*Z?frcIS0V7v!#{>!9(*C<4;S9}XTiQL zw$b$|FCNoa)05M0{adBh1L66~HpKYS62n_sgQhokr(#C|vUdGLqE zULC*i_ny}}m&50}8pW=G9JZ*a`f$0BU0I~8VlphUPZ%Y(q(rXX&*IjabIE5m*)c>e%QlU;*O@JoCi zo5emERgUk&{wNlDa^6}CSj$^Q{*gVstPFxk_Dcnx=U7>8cHw2{!%DShDjKC{rS6rx z-D&bm^DwCzDk{6*zkNM*`JT_>KMzf+_{Uw*uO!s1R{Guxy+X%Ru={qKuRG!fjc&F{ zZmk+431JA+G;)&>0FZU`tqWA~x5Jw+6nJ<35POdZT{MZRY0^O>HlS^#dudi3L^2|I za@xfj2_f5?RU4H^+pFLoi81(_!TNpW#f`UzuQjVta}|uY7W#}rLR1Kt+0Q6!r_QDZ zXu>X7p&M(>ul@x|;SY#9#r3TK|3Co0p1&TSu1RsI-W@N*vG`#%Ii-pQj_Nj!(P5V1 zr+HdQ8c-yWBQms!h}X}f2s^@hHMY%PXVrYSIwa=xU)S~K^gPG*`1qf1;eBP}@h8O( zAAB^2T13($*JkiGovV0zPoCo3vcYw6ZezK#x`^&)jb3>tj3YOn0KxZP*#pGi6}(UI z(A;ZZ7Q6@X`@X<<-*af%Tm?#!=Z=wARVF5L@1VV|k63kq+2HL_Eoc_?>*m;`~qhG+ua5#y&Op z+}{bVn_ku}as7?qJqpiL*UL+El3l-(=gn(0?K1hxJSz>-AsnAA)O!+*KV|h~)%_N& z?Y*V*yE!>!HmcOoeEM&u$I*YXC+$PvPujoX?Zx-Q-x^1Iu6SzUV%Idwx3`k_Ol6Ux zXs3?dnl`s5A}gDBc*t1Dl1w_cG5bZogVV*jr^E;F&a>isJzZN%@fEI_1=gT-cp{0Q zj%%v`toO-nByVVCjb2#RVnP&&*)z4DfwBBq@P(I*z5&_jz83hCV{rw(r>c05!0jHr zr)`clme&1`mw9OZ2s@y4^^Sv)K7C&gDfw5HEik5bhy zA4!OOu#dCbzNlqXkyX6K`y@MvZX`J)8h9#mn|OIBTXiRA=db1cUny3dB&9Uu{FVOo z{ePEhZL9b@!O`lPcZGEOUkzxt*A}wD;=L9}eHX*m_j!+e`enp1zLzpiyqTklDT7KR zZK*QH={nDW?kqkJ&87To)wN$6YFCSnem9#w{uQo2T4XSZ*FP zNOxq2KX_#E{YzK$@g@y4Hbs%m~X_|@=6d%>zb?zuFymEB55+jL8xk$o9*{+lq7N( zBS~5|J6i_3so-fhdDLAx^En`sKj*7sw3A?m;3M_hQa(?h^<+EU~g&dCr6TR{SH=eiv$59DHPyxuNMg#I`r&lJhO@fU#NLLpIDCIVT(UtC@FguD|wn`0=IqL&N%hjd$_u z!8+!bYhx_>MxA}|+xrh(x3VqrM3%{@&2v0rFm}vsZW)nSysSZS!-~LEN>ik*X4a}& zr_pI;ZF^{UQ^qSsGPU0OS$;i!X!MT;OLg%70LGf0gQfVY%56SvN?YF$_-92 z>wXuK=KD?5qAsS#P`PN0!ZI$|qA$8B72KgE8EcLhdCHQVCCu+_z2#-UO*iP?hO(&z zQunr(($?Se{{S=DbUzJfdS}GT$n?E)RQm_SNaejS&w7_SaJ+eBd!`6cB#Gxq9m+wy zJizW_P(!Uh7yi%Q8MV^Q_jWN%Bc3~Zhr5kqmQW@QnIih@!2T)mcf;=(_@hj`)vWwY z;Csno)qFoR^3DCJp-U)@F72;mxOj-SS)c6+7B_H`x{ak4I?V9}wymik_?6*b6MR9u zxYDgLe_(Zs8$B0Rf+cAhM}ts78pIg5S)=l0WMD~ggI+)#TSt# zLrCchBFLkBi!L`;Qui9y#;*vbv444WV#*?q%Cx_l;^GwrlnEZ$B3RpbQi~aNW3__- zq@Nh^55o_Ka(r%sQn>Lw$AIsqjybRO33QdR`+UD>GD9+I4Q+2ES4HM3Rjy}+m=ux; zgAm-YoN7;!7p9uoYqxtFOPR*<)uXuahwSqO?voy^Z{oj-UIWy$bcEZ#g>TM?8Y_61 zM`$FB%Nts@TQSTXRI?wEFbACcOz{`(f#F|<{vPpP!`~fvAL5<$ybpVK;oWz^`dy9X z<*wCfHs4y^HN3@RWZqzs)VivWyPIL{R`bPQ4n7umlKOVnymFd(W2jt5{g>xo!mdow z2w{aS)<%oWRfz+plefLpEtNe}(WGOb3-K8$iU687ygR9W>diH4OSp9n0i#(M$aO1X@xuvXRb0THSuvt3hHAt8 zqkKPg`#=0MhsB;0_)9OuuN7G|cGosqHl+rcdue5HBX3~R+dH+K(xhS3joaBbEByO8 z-8qeHoYi%~aL#~}jIr}(YPbaU>zxAP!`)qt~@vp&HbV)p6;Qs≻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�}-z>YgB) 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

&5VPn51m95;kNY&(WJf7?7a;tP#R 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 z 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 diff --git a/orange-admin-web/src/utils/index.js b/orange-admin-web/src/utils/index.js index 336c9f3c..7c48d739 100644 --- a/orange-admin-web/src/utils/index.js +++ b/orange-admin-web/src/utils/index.js @@ -1,3 +1,5 @@ +import JSEncrypt from 'jsencrypt'; + /** * 列表数据转换树形数据 * @param {Array} data 要转换的列表 @@ -207,3 +209,14 @@ export function random (min, max) { let base = Math.random(); return min + base * (max - min); } +/** + * 加密 + * @param {*} value 要加密的字符串 + */ +const publicKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpC4QMnbTrQOFriJJCCFFWhlruBJThAEBfRk7pRx1jsAhyNVL3CqJb0tRvpnbCnJhrRAEPdgFHXv5A0RrvFp+5Cw7QoFH6O9rKB8+0H7+aVQeKITMUHf/XMXioymw6Iq4QfWd8RhdtM1KM6eGTy8aU7SO2s69Mc1LXefg/x3yw6wIDAQAB'; +export function encrypt (value) { + if (value == null || value === '') return null; + let encrypt = new JSEncrypt(); + encrypt.setPublicKey(publicKey); + return encodeURIComponent(encrypt.encrypt(value)); +} diff --git a/orange-admin-web/src/views/generated/formTeacher/index.vue b/orange-admin-web/src/views/generated/formTeacher/index.vue index b1d6296a..2a35a88f 100644 --- a/orange-admin-web/src/views/generated/formTeacher/index.vue +++ b/orange-admin-web/src/views/generated/formTeacher/index.vue @@ -63,7 +63,7 @@ {{formatDateByStatsType(scope.row.registerDate, 'day')}} - +