From cbe0f7947de8133fccc7ccb49538de0ce005d382 Mon Sep 17 00:00:00 2001 From: Jerry <707344974@qq.com> Date: Sun, 20 Feb 2022 13:40:36 +0800 Subject: [PATCH] =?UTF-8?q?commit=EF=BC=9A=E5=90=8C=E6=AD=A52.3=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webadmin/config/FilterConfig.java | 12 +- .../upms/dao/SysDeptRelationMapper.java | 2 +- .../upms/dao/mapper/SysPostMapper.xml | 2 +- .../src/main/resources/application-dev.yml | 98 + .../src/main/resources/application.yml | 207 +- .../common/core/base/service/BaseService.java | 4 +- .../common/core/util/MyDateUtil.java | 16 + .../dao/mapper/FlowEntryPublishMapper.xml | 4 +- .../mapper/FlowEntryPublishVariableMapper.xml | 2 +- .../dao/mapper/FlowEntryVariableMapper.xml | 2 +- .../flow/dao/mapper/FlowMessageMapper.xml | 8 +- .../log/dao/mapper/SysOperationLogMapper.xml | 2 +- .../controller/OnlineColumnController.java | 5 +- .../controller/OnlineOperationController.java | 316 +- .../common/online/dao/OnlineColumnMapper.java | 4 +- .../online/dao/mapper/OnlineColumnMapper.xml | 16 +- .../mapper/OnlineDatasourceRelationMapper.xml | 4 +- .../online/dao/mapper/OnlineDictMapper.xml | 2 +- .../online/dao/mapper/OnlinePageMapper.xml | 2 +- .../online/dao/mapper/OnlineRuleMapper.xml | 2 +- .../common/online/object/ConstDictInfo.java | 24 + .../online/service/OnlineColumnService.java | 11 +- .../service/impl/OnlineColumnServiceImpl.java | 122 +- .../service/impl/OnlineDblinkServiceImpl.java | 29 +- .../impl/OnlineOperationServiceImpl.java | 107 +- .../online/util/OnlineOperationHelper.java | 12 +- .../orange-demo-flowable-service/pom.xml | 4 +- .../zz-resource/db-scripts/.DS_Store | Bin 6148 -> 0 bytes .../src/staticDict/onlineStaticDict.js | 7 +- .../src/views/layout/index.vue | 2 +- .../onlineForm/components/customTable.vue | 91 +- .../components/editWidgetTableOperation.vue | 103 +- .../onlineForm/components/formGenerator.vue | 47 +- .../onlineForm/data/onlineFormOptions.js | 16 +- .../formOnlineDict/editDictDataButton.vue | 4 +- .../editOnlinePageDatasourceRelation.vue | 39 +- .../onlineForm/formRender/onlineFormMixins.js | 2 +- .../onlineForm/formRender/onlineQueryForm.vue | 8 +- .../onlineForm/formRender/workflowForm.vue | 65 +- .../src/views/upms/formEditSysMenu/index.vue | 5 +- .../workflow/components/HandlerFlowTask.vue | 2 +- .../views/workflow/handlerFlowTask/index.vue | 2 +- .../src/views/upms/formEditSysMenu/index.vue | 5 +- .../OperationLogConsumerApplication.java | 6 +- .../CourseClassApplication.java | 7 +- .../dao/mapper/StudentMapper.xml | 2 +- .../gateway/GatewayApplication.java | 8 +- .../gateway/config/CorsConfig.java | 12 +- .../statsservice/StatsApplication.java | 7 +- .../upmsservice/UpmsApplication.java | 10 +- .../dao/SysDeptRelationMapper.java | 2 +- .../core/base/client/BaseFallbackFactory.java | 2 +- .../core/base/controller/BaseController.java | 44 +- .../common/core/config/FeignConfig.java | 2 + .../core/object/MyAggregationParam.java | 4 +- .../common/core/object/MyQueryParam.java | 10 + .../common/core/util/MyDateUtil.java | 16 + .../log/dao/mapper/SysOperationLogMapper.xml | 2 +- .../uaaadmin/UaaAdminApplication.java | 6 +- .../uaaadmin/config/CorsConfig.java | 12 +- .../service/impl/SysUaaUserServiceImpl.java | 3 +- .../framework/uaa/uaa-auth/pom.xml | 1 + .../uaaauth/UaaAuthApplication.java | 6 +- .../orange-demo-multi-service-uaa/pom.xml | 19 +- .../config-data/application-dev.yaml | 24 +- .../zz-resource/config-data/gateway-dev.yaml | 12 - .../db-scripts/init-upms-data-script.sql | 13 - .../db-scripts/rollback-upms-data-script.sql | 3 - .../zz-resource/db-scripts/upms-script.sql | 13 + .../OperationLogConsumerApplication.java | 6 +- .../CourseClassApplication.java | 7 +- .../dao/mapper/StudentMapper.xml | 2 +- .../gateway/GatewayApplication.java | 8 +- .../gateway/config/CorsConfig.java | 12 +- .../statsservice/StatsApplication.java | 7 +- .../upmsservice/UpmsApplication.java | 10 +- .../dao/SysDeptRelationMapper.java | 2 +- .../core/base/client/BaseFallbackFactory.java | 2 +- .../core/base/controller/BaseController.java | 44 +- .../common/core/config/FeignConfig.java | 2 + .../core/object/MyAggregationParam.java | 4 +- .../common/core/object/MyQueryParam.java | 10 + .../common/core/util/MyDateUtil.java | 16 + .../log/dao/mapper/SysOperationLogMapper.xml | 2 +- .../orange-demo-multi-service/pom.xml | 19 +- .../config-data/application-dev.yaml | 24 +- .../zz-resource/config-data/gateway-dev.yaml | 12 - .../db-scripts/init-upms-data-script.sql | 13 - .../db-scripts/rollback-upms-data-script.sql | 3 - .../zz-resource/db-scripts/upms-script.sql | 13 + .../src/views/upms/formEditSysMenu/index.vue | 5 +- .../orange-demo-single-pg-service/.gitignore | 26 + .../orange-demo-single-pg-service/README.md | 17 + .../application-webadmin/pom.xml | 93 + .../webadmin/WebAdminApplication.java | 22 + .../util/CaptchaCacheServiceRedisImpl.java | 52 + .../webadmin/config/ApplicationConfig.java | 51 + .../webadmin/config/DataSourceConfig.java | 30 + .../webadmin/config/FilterConfig.java | 61 + .../webadmin/config/InterceptorConfig.java | 21 + .../AuthenticationInterceptor.java | 143 + .../upms/controller/LoginController.java | 342 + .../upms/controller/LoginUserController.java | 83 + .../controller/SysDataPermController.java | 300 + .../upms/controller/SysDeptController.java | 226 + .../upms/controller/SysMenuController.java | 224 + .../controller/SysOperationLogController.java | 61 + .../controller/SysPermCodeController.java | 195 + .../upms/controller/SysPermController.java | 196 + .../controller/SysPermModuleController.java | 168 + .../upms/controller/SysRoleController.java | 358 + .../upms/controller/SysUserController.java | 359 + .../upms/dao/SysDataPermDeptMapper.java | 13 + .../webadmin/upms/dao/SysDataPermMapper.java | 35 + .../upms/dao/SysDataPermUserMapper.java | 13 + .../webadmin/upms/dao/SysDeptMapper.java | 33 + .../upms/dao/SysDeptRelationMapper.java | 42 + .../webadmin/upms/dao/SysMenuMapper.java | 54 + .../upms/dao/SysMenuPermCodeMapper.java | 13 + .../webadmin/upms/dao/SysPermCodeMapper.java | 45 + .../upms/dao/SysPermCodePermMapper.java | 13 + .../webadmin/upms/dao/SysPermMapper.java | 54 + .../upms/dao/SysPermModuleMapper.java | 22 + .../upms/dao/SysPermWhitelistMapper.java | 13 + .../webadmin/upms/dao/SysRoleMapper.java | 45 + .../webadmin/upms/dao/SysRoleMenuMapper.java | 13 + .../webadmin/upms/dao/SysUserMapper.java | 115 + .../webadmin/upms/dao/SysUserRoleMapper.java | 13 + .../upms/dao/mapper/SysDataPermDeptMapper.xml | 8 + .../upms/dao/mapper/SysDataPermMapper.xml | 60 + .../upms/dao/mapper/SysDataPermUserMapper.xml | 8 + .../upms/dao/mapper/SysDeptMapper.xml | 70 + .../upms/dao/mapper/SysDeptRelationMapper.xml | 29 + .../upms/dao/mapper/SysMenuMapper.xml | 107 + .../upms/dao/mapper/SysMenuPermCodeMapper.xml | 8 + .../upms/dao/mapper/SysPermCodeMapper.xml | 90 + .../upms/dao/mapper/SysPermCodePermMapper.xml | 8 + .../upms/dao/mapper/SysPermMapper.xml | 131 + .../upms/dao/mapper/SysPermModuleMapper.xml | 40 + .../dao/mapper/SysPermWhitelistMapper.xml | 9 + .../upms/dao/mapper/SysRoleMapper.xml | 89 + .../upms/dao/mapper/SysRoleMenuMapper.xml | 8 + .../upms/dao/mapper/SysUserMapper.xml | 246 + .../upms/dao/mapper/SysUserRoleMapper.xml | 8 + .../webadmin/upms/dto/SysDataPermDeptDto.java | 28 + .../webadmin/upms/dto/SysDataPermDto.java | 56 + .../webadmin/upms/dto/SysDeptDto.java | 73 + .../webadmin/upms/dto/SysMenuDto.java | 75 + .../webadmin/upms/dto/SysOperationLogDto.java | 78 + .../webadmin/upms/dto/SysPermCodeDto.java | 64 + .../webadmin/upms/dto/SysPermDto.java | 61 + .../webadmin/upms/dto/SysPermModuleDto.java | 57 + .../webadmin/upms/dto/SysRoleDto.java | 33 + .../webadmin/upms/dto/SysUserDto.java | 119 + .../webadmin/upms/model/SysDataPerm.java | 106 + .../webadmin/upms/model/SysDataPermDept.java | 29 + .../webadmin/upms/model/SysDataPermUser.java | 27 + .../webadmin/upms/model/SysDept.java | 81 + .../webadmin/upms/model/SysDeptRelation.java | 31 + .../webadmin/upms/model/SysMenu.java | 130 + .../webadmin/upms/model/SysMenuPermCode.java | 27 + .../webadmin/upms/model/SysPerm.java | 80 + .../webadmin/upms/model/SysPermCode.java | 113 + .../webadmin/upms/model/SysPermCodePerm.java | 27 + .../webadmin/upms/model/SysPermModule.java | 74 + .../webadmin/upms/model/SysPermWhitelist.java | 33 + .../webadmin/upms/model/SysRole.java | 89 + .../webadmin/upms/model/SysRoleMenu.java | 27 + .../webadmin/upms/model/SysUser.java | 184 + .../webadmin/upms/model/SysUserRole.java | 27 + .../upms/model/constant/SysMenuType.java | 54 + .../model/constant/SysOnlineMenuPermType.java | 44 + .../upms/model/constant/SysPermCodeType.java | 49 + .../model/constant/SysPermModuleType.java | 44 + .../upms/model/constant/SysUserStatus.java | 44 + .../upms/model/constant/SysUserType.java | 49 + .../upms/service/SysDataPermService.java | 104 + .../webadmin/upms/service/SysDeptService.java | 78 + .../webadmin/upms/service/SysMenuService.java | 111 + .../upms/service/SysPermCodeService.java | 94 + .../upms/service/SysPermModuleService.java | 63 + .../webadmin/upms/service/SysPermService.java | 107 + .../upms/service/SysPermWhitelistService.java | 23 + .../webadmin/upms/service/SysRoleService.java | 105 + .../webadmin/upms/service/SysUserService.java | 170 + .../service/impl/SysDataPermServiceImpl.java | 334 + .../upms/service/impl/SysDeptServiceImpl.java | 237 + .../upms/service/impl/SysMenuServiceImpl.java | 331 + .../service/impl/SysPermCodeServiceImpl.java | 224 + .../impl/SysPermModuleServiceImpl.java | 122 + .../upms/service/impl/SysPermServiceImpl.java | 241 + .../impl/SysPermWhitelistServiceImpl.java | 52 + .../upms/service/impl/SysRoleServiceImpl.java | 226 + .../upms/service/impl/SysUserServiceImpl.java | 364 + .../webadmin/upms/vo/SysDataPermDeptVo.java | 28 + .../webadmin/upms/vo/SysDataPermVo.java | 72 + .../webadmin/upms/vo/SysDeptVo.java | 66 + .../webadmin/upms/vo/SysMenuVo.java | 102 + .../webadmin/upms/vo/SysOperationLogVo.java | 145 + .../webadmin/upms/vo/SysPermCodeVo.java | 84 + .../webadmin/upms/vo/SysPermModuleVo.java | 78 + .../webadmin/upms/vo/SysPermVo.java | 84 + .../webadmin/upms/vo/SysRoleVo.java | 60 + .../webadmin/upms/vo/SysUserVo.java | 116 + ...m.anji.captcha.service.CaptchaCacheService | 1 + .../src/main/resources/application-dev.yml | 96 + .../src/main/resources/application.yml | 143 + .../resources/images/jigsaw/original/bg1.png | Bin 0 -> 105636 bytes .../resources/images/jigsaw/original/bg10.png | Bin 0 -> 87531 bytes .../resources/images/jigsaw/original/bg11.png | Bin 0 -> 83599 bytes .../resources/images/jigsaw/original/bg12.png | Bin 0 -> 78934 bytes .../resources/images/jigsaw/original/bg13.png | Bin 0 -> 81552 bytes .../resources/images/jigsaw/original/bg14.png | Bin 0 -> 59228 bytes .../resources/images/jigsaw/original/bg15.png | Bin 0 -> 85655 bytes .../resources/images/jigsaw/original/bg16.png | Bin 0 -> 73738 bytes .../resources/images/jigsaw/original/bg17.png | Bin 0 -> 76842 bytes .../resources/images/jigsaw/original/bg18.png | Bin 0 -> 73061 bytes .../resources/images/jigsaw/original/bg19.png | Bin 0 -> 85663 bytes .../resources/images/jigsaw/original/bg2.png | Bin 0 -> 82613 bytes .../resources/images/jigsaw/original/bg20.png | Bin 0 -> 77849 bytes .../resources/images/jigsaw/original/bg3.png | Bin 0 -> 96776 bytes .../resources/images/jigsaw/original/bg4.png | Bin 0 -> 90015 bytes .../resources/images/jigsaw/original/bg5.png | Bin 0 -> 70640 bytes .../resources/images/jigsaw/original/bg6.png | Bin 0 -> 84881 bytes .../resources/images/jigsaw/original/bg7.png | Bin 0 -> 66861 bytes .../resources/images/jigsaw/original/bg8.png | Bin 0 -> 65868 bytes .../resources/images/jigsaw/original/bg9.png | Bin 0 -> 83763 bytes .../images/jigsaw/slidingBlock/1.png | Bin 0 -> 22049 bytes .../images/jigsaw/slidingBlock/10.png | Bin 0 -> 6662 bytes .../images/jigsaw/slidingBlock/11.png | Bin 0 -> 6663 bytes .../images/jigsaw/slidingBlock/2.png | Bin 0 -> 21367 bytes .../images/jigsaw/slidingBlock/3.png | Bin 0 -> 21660 bytes .../images/jigsaw/slidingBlock/4.png | Bin 0 -> 21923 bytes .../images/jigsaw/slidingBlock/5.png | Bin 0 -> 7853 bytes .../images/jigsaw/slidingBlock/6.png | Bin 0 -> 7970 bytes .../images/jigsaw/slidingBlock/7.png | Bin 0 -> 7749 bytes .../images/jigsaw/slidingBlock/8.png | Bin 0 -> 6660 bytes .../images/jigsaw/slidingBlock/9.png | Bin 0 -> 6659 bytes .../main/resources/images/pic-click/bg1.png | Bin 0 -> 36206 bytes .../main/resources/images/pic-click/bg2.png | Bin 0 -> 43926 bytes .../main/resources/images/pic-click/bg3.png | Bin 0 -> 41195 bytes .../main/resources/images/pic-click/bg4.png | Bin 0 -> 52213 bytes .../main/resources/images/pic-click/bg5.png | Bin 0 -> 27608 bytes .../main/resources/images/pic-click/bg6.png | Bin 0 -> 30151 bytes .../main/resources/images/pic-click/bg7.png | Bin 0 -> 59340 bytes .../main/resources/images/pic-click/bg8.png | Bin 0 -> 37701 bytes .../main/resources/images/pic-click/bg9.png | Bin 0 -> 40371 bytes .../src/main/resources/log4j2.xml | 77 + .../common/common-core/pom.xml | 114 + .../core/advice/MyControllerAdvice.java | 31 + .../core/advice/MyExceptionHandler.java | 141 + .../core/annotation/DeptFilterColumn.java | 16 + .../core/annotation/DisableDataFilter.java | 17 + .../core/annotation/DisableTenantFilter.java | 28 + .../core/annotation/EnableDataPerm.java | 35 + .../core/annotation/JobUpdateTimeColumn.java | 16 + .../common/core/annotation/MyDataSource.java | 21 + .../core/annotation/MyDataSourceResolver.java | 29 + .../common/core/annotation/MyRequestBody.java | 31 + .../core/annotation/NoAuthInterface.java | 15 + .../core/annotation/RelationConstDict.java | 29 + .../common/core/annotation/RelationDict.java | 70 + .../core/annotation/RelationManyToMany.java | 38 + .../RelationManyToManyAggregation.java | 95 + .../core/annotation/RelationOneToMany.java | 53 + .../RelationOneToManyAggregation.java | 67 + .../core/annotation/RelationOneToOne.java | 60 + .../core/annotation/TenantFilterColumn.java | 16 + .../core/annotation/UploadFlagColumn.java | 24 + .../core/annotation/UserFilterColumn.java | 16 + .../common/core/aop/DataSourceAspect.java | 48 + .../core/aop/DataSourceResolveAspect.java | 62 + .../common/core/aop/DictCacheSyncAspect.java | 64 + .../common/core/base/dao/BaseDaoMapper.java | 87 + .../core/base/mapper/BaseModelMapper.java | 124 + .../core/base/mapper/DummyModelMapper.java | 58 + .../core/base/service/BaseDictService.java | 266 + .../common/core/base/service/BaseService.java | 2008 + .../core/base/service/IBaseDictService.java | 82 + .../core/base/service/IBaseService.java | 439 + .../common/core/cache/DictionaryCache.java | 88 + .../common/core/cache/MapDictionaryCache.java | 358 + .../core/cache/MapTreeDictionaryCache.java | 292 + .../core/config/CommonWebMvcConfig.java | 68 + .../common/core/config/CoreProperties.java | 43 + .../core/config/DataSourceContextHolder.java | 52 + .../common/core/config/DynamicDataSource.java | 17 + .../common/core/config/EncryptConfig.java | 20 + .../core/config/RestTemplateConfig.java | 64 + .../common/core/config/TomcatConfig.java | 39 + .../common/core/constant/AggregationType.java | 81 + .../common/core/constant/AppDeviceType.java | 59 + .../core/constant/ApplicationConstant.java | 85 + .../common/core/constant/ErrorCodeEnum.java | 84 + .../core/constant/GlobalDeletedFlag.java | 25 + .../exception/DataValidationException.java | 26 + .../exception/InvalidClassFieldException.java | 30 + .../exception/InvalidDataFieldException.java | 30 + .../exception/InvalidDataModelException.java | 27 + .../exception/InvalidRedisModeException.java | 27 + .../exception/MapCacheAccessException.java | 20 + .../core/exception/MyRuntimeException.java | 36 + .../core/exception/NoDataAffectException.java | 26 + .../core/exception/NoDataPermException.java | 26 + .../exception/RedisCacheAccessException.java | 20 + .../MyRequestArgumentResolver.java | 234 + .../listener/LoadServiceRelationListener.java | 28 + .../common/core/object/CallResult.java | 104 + .../common/core/object/DummyClass.java | 27 + .../common/core/object/GlobalThreadLocal.java | 52 + .../common/core/object/LoginUserInfo.java | 62 + .../common/core/object/MyGroupCriteria.java | 24 + .../common/core/object/MyGroupParam.java | 194 + .../common/core/object/MyOrderParam.java | 265 + .../common/core/object/MyPageData.java | 36 + .../common/core/object/MyPageParam.java | 58 + .../common/core/object/MyRelationParam.java | 91 + .../common/core/object/MyWhereCriteria.java | 361 + .../common/core/object/ResponseResult.java | 235 + .../common/core/object/TableModelInfo.java | 33 + .../common/core/object/TokenData.java | 111 + .../common/core/object/Tuple2.java | 50 + .../common/core/upload/BaseUpDownloader.java | 137 + .../common/core/upload/LocalUpDownloader.java | 149 + .../core/upload/UpDownloaderFactory.java | 49 + .../core/upload/UploadResponseInfo.java | 29 + .../common/core/upload/UploadStoreInfo.java | 22 + .../core/upload/UploadStoreTypeEnum.java | 19 + .../common/core/util/AopTargetUtil.java | 64 + .../core/util/ApplicationContextHolder.java | 90 + .../common/core/util/ContextUtil.java | 49 + .../common/core/util/DataSourceResolver.java | 19 + .../common/core/util/ExportUtil.java | 95 + .../common/core/util/ImportUtil.java | 252 + .../orangeforms/common/core/util/IpUtil.java | 104 + .../orangeforms/common/core/util/JwtUtil.java | 110 + .../common/core/util/LogMessageUtil.java | 33 + .../common/core/util/MyCommonUtil.java | 262 + .../common/core/util/MyDateUtil.java | 201 + .../common/core/util/MyModelUtil.java | 772 + .../common/core/util/MyPageUtil.java | 108 + .../common/core/util/RedisKeyUtil.java | 86 + .../orangeforms/common/core/util/RsaUtil.java | 115 + .../common/core/util/TreeNode.java | 93 + .../common/core/validator/AddGroup.java | 10 + .../common/core/validator/ConstDictRef.java | 48 + .../core/validator/ConstDictValidator.java | 33 + .../common/core/validator/TextLength.java | 55 + .../core/validator/TextLengthValidator.java | 39 + .../common/core/validator/UpdateGroup.java | 11 + .../common/common-datafilter/pom.xml | 29 + .../aop/DisableDataFilterAspect.java | 41 + .../config/DataFilterAutoConfig.java | 13 + .../config/DataFilterProperties.java | 44 + .../config/DataFilterWebMvcConfigurer.java | 21 + .../datafilter/constant/DataPermRuleType.java | 69 + .../interceptor/DataFilterInterceptor.java | 42 + .../MybatisDataFilterInterceptor.java | 479 + .../listener/LoadDataFilterInfoListener.java | 25 + .../main/resources/META-INF/spring.factories | 2 + .../common/common-log/pom.xml | 43 + .../common/log/annotation/OperationLog.java | 33 + .../common/log/aop/OperationLogAspect.java | 260 + .../log/config/CommonLogAutoConfig.java | 13 + .../log/config/OperationLogProperties.java | 24 + .../common/log/dao/SysOperationLogMapper.java | 34 + .../log/dao/mapper/SysOperationLogMapper.xml | 99 + .../common/log/model/SysOperationLog.java | 170 + .../model/constant/SysOperationLogType.java | 166 + .../log/service/SysOperationLogService.java | 45 + .../impl/SysOperationLogServiceImpl.java | 84 + .../main/resources/META-INF/spring.factories | 2 + .../common/common-redis/pom.xml | 29 + .../redis/cache/RedisDictionaryCache.java | 417 + .../redis/cache/RedisTreeDictionaryCache.java | 354 + .../redis/cache/RedissonCacheConfig.java | 67 + .../redis/cache/SessionCacheHelper.java | 97 + .../common/redis/config/RedissonConfig.java | 105 + .../main/resources/META-INF/spring.factories | 2 + .../common/common-sequence/pom.xml | 24 + .../config/IdGeneratorAutoConfig.java | 14 + .../config/IdGeneratorProperties.java | 20 + .../sequence/generator/BasicIdGenerator.java | 48 + .../sequence/generator/MyIdGenerator.java | 24 + .../sequence/wrapper/IdGeneratorWrapper.java | 52 + .../main/resources/META-INF/spring.factories | 2 + .../common/common-swagger/pom.xml | 39 + .../config/SwaggerAutoConfiguration.java | 56 + .../swagger/config/SwaggerProperties.java | 45 + .../common/swagger/plugin/ByteBuddyUtil.java | 85 + .../plugin/DynamicBodyModelPlugin.java | 61 + .../plugin/DynamicBodyParameterBuilder.java | 64 + .../main/resources/META-INF/spring.factories | 2 + .../common/pom.xml | 22 + .../framework/apidoc-tools/pom.xml | 29 + .../apidoc/tools/ExportApiApp.java | 28 + .../apidoc/tools/ExportDocApp.java | 28 + .../tools/codeparser/ApiCodeConfig.java | 83 + .../tools/codeparser/ApiCodeParser.java | 672 + .../ApiCodeConfigParseException.java | 27 + .../tools/exception/MapperParseException.java | 27 + .../apidoc/tools/export/ApiDocExporter.java | 84 + .../tools/export/ApiPostmanExporter.java | 53 + .../apidoc/tools/util/FreeMarkerUtils.java | 28 + .../src/main/resources/export-api-config.json | 24 + .../main/resources/templates/api-doc.md.ftl | 144 + .../templates/postman_collection.json.ftl | 42 + .../resources/templates/postman_common.ftl | 120 + .../framework/pom.xml | 17 + .../orange-demo-single-pg-service/pom.xml | 260 + .../zz-resource/db-scripts/areacode-pg.sql | 3689 + .../db-scripts/init-upms-data-script-pg.sql | 409 + .../rollback-upms-data-script-pg.sql | 405 + .../zz-resource/db-scripts/upms-script-pg.sql | 490 + .../docker-files/docker-compose.yml | 16 + .../docker-files/services/redis/Dockerfile | 13 + .../docker-files/services/redis/redis.conf | 1307 + .../orange-demo-single-pg-web/.browserslistrc | 2 + .../orange-demo-single-pg-web/.editorconfig | 5 + .../orange-demo-single-pg-web/.eslintignore | 2 + .../orange-demo-single-pg-web/.eslintrc.js | 39 + .../orange-demo-single-pg-web/.gitignore | 21 + .../orange-demo-single-pg-web/README.md | 15 + .../orange-demo-single-pg-web/babel.config.js | 5 + .../orange-demo-single-pg-web/jest.config.js | 3 + .../orange-demo-single-pg-web/package.json | 72 + .../public/favicon.ico | Bin 0 -> 4286 bytes .../img/icons/android-chrome-192x192.png | Bin 0 -> 9416 bytes .../img/icons/android-chrome-512x512.png | Bin 0 -> 29808 bytes .../icons/android-chrome-maskable-192x192.png | Bin 0 -> 6401 bytes .../icons/android-chrome-maskable-512x512.png | Bin 0 -> 23038 bytes .../img/icons/apple-touch-icon-120x120.png | Bin 0 -> 3369 bytes .../img/icons/apple-touch-icon-152x152.png | Bin 0 -> 4046 bytes .../img/icons/apple-touch-icon-180x180.png | Bin 0 -> 4678 bytes .../img/icons/apple-touch-icon-60x60.png | Bin 0 -> 1491 bytes .../img/icons/apple-touch-icon-76x76.png | Bin 0 -> 1823 bytes .../public/img/icons/apple-touch-icon.png | Bin 0 -> 4678 bytes .../public/img/icons/favicon-16x16.png | Bin 0 -> 799 bytes .../public/img/icons/favicon-32x32.png | Bin 0 -> 1271 bytes .../img/icons/msapplication-icon-144x144.png | Bin 0 -> 1169 bytes .../public/img/icons/mstile-150x150.png | Bin 0 -> 4282 bytes .../public/img/icons/safari-pinned-tab.svg | 149 + .../public/index.html | 16 + .../public/robots.txt | 2 + .../orange-demo-single-pg-web/src/App.vue | 21 + .../api/Controller/DictionaryController.js | 52 + .../api/Controller/SysDataPermController.js | 61 + .../src/api/Controller/SysDeptController.js | 25 + .../src/api/Controller/SysUserController.js | 25 + .../src/api/Controller/SystemController.js | 260 + .../src/api/index.js | 13 + .../src/assets/element-variables-blue.scss | 1014 + .../src/assets/element-variables-dark.scss | 1000 + .../src/assets/element-variables-green.scss | 1000 + .../src/assets/element-variables-light.scss | 998 + .../src/assets/element-variables-orange.scss | 1001 + .../src/assets/img/default-header.jpg | Bin 0 -> 14882 bytes .../src/assets/img/default.jpg | Bin 0 -> 20200 bytes .../src/assets/img/login.png | Bin 0 -> 728962 bytes .../src/assets/img/login_bg.jpg | Bin 0 -> 494030 bytes .../src/assets/img/login_logo.png | Bin 0 -> 16011 bytes .../src/assets/img/logo.jpg | Bin 0 -> 19013 bytes .../src/assets/img/logo.png | Bin 0 -> 9808 bytes .../src/assets/img/orange-group1.png | Bin 0 -> 10894 bytes .../src/assets/img/orange-group2.png | Bin 0 -> 4705 bytes .../src/assets/package.json | 13 + .../src/assets/style/base.scss | 677 + .../src/assets/style/element-variables.scss | 5 + .../src/assets/style/form-style.scss | 117 + .../src/assets/style/index.scss | 3 + .../src/assets/style/transition.scss | 31 + .../src/assets/theme/alert.css | 343 + .../src/assets/theme/aside.css | 136 + .../src/assets/theme/autocomplete.css | 1467 + .../src/assets/theme/avatar.css | 284 + .../src/assets/theme/backtop.css | 273 + .../src/assets/theme/badge.css | 290 + .../src/assets/theme/base.css | 1244 + .../src/assets/theme/breadcrumb-item.css | 0 .../src/assets/theme/breadcrumb.css | 287 + .../src/assets/theme/button-group.css | 0 .../src/assets/theme/button.css | 762 + .../src/assets/theme/calendar.css | 1065 + .../src/assets/theme/card.css | 271 + .../src/assets/theme/carousel-item.css | 291 + .../src/assets/theme/carousel.css | 367 + .../src/assets/theme/cascader-panel.css | 1781 + .../src/assets/theme/cascader.css | 3504 + .../src/assets/theme/checkbox-button.css | 0 .../src/assets/theme/checkbox-group.css | 0 .../src/assets/theme/checkbox.css | 636 + .../src/assets/theme/col.css | 1877 + .../src/assets/theme/collapse-item.css | 0 .../src/assets/theme/collapse.css | 543 + .../src/assets/theme/color-picker.css | 545 + .../src/assets/theme/container.css | 151 + .../src/assets/theme/date-picker.css | 3698 + .../src/assets/theme/dialog.css | 651 + .../src/assets/theme/display.css | 293 + .../src/assets/theme/divider.css | 284 + .../src/assets/theme/drawer.css | 503 + .../src/assets/theme/dropdown-item.css | 0 .../src/assets/theme/dropdown-menu.css | 0 .../src/assets/theme/dropdown.css | 1451 + .../assets/theme/element-variables-blue.css | 120 + .../assets/theme/element-variables-dark.css | 120 + .../assets/theme/element-variables-green.css | 120 + .../assets/theme/element-variables-light.css | 120 + .../assets/theme/element-variables-orange.css | 120 + .../src/assets/theme/element-variables.css | 120 + .../src/assets/theme/fonts/element-icons.ttf | Bin 0 -> 55956 bytes .../src/assets/theme/fonts/element-icons.woff | Bin 0 -> 28200 bytes .../src/assets/theme/footer.css | 256 + .../src/assets/theme/form-item.css | 0 .../src/assets/theme/form.css | 364 + .../src/assets/theme/header.css | 256 + .../src/assets/theme/icon.css | 1008 + .../src/assets/theme/image.css | 443 + .../src/assets/theme/index.css | 57046 ++++++++++++++++ .../src/assets/theme/infinite-scroll.css | 0 .../src/assets/theme/infiniteScroll.css | 0 .../src/assets/theme/input-number.css | 891 + .../src/assets/theme/input.css | 534 + .../src/assets/theme/link.css | 342 + .../src/assets/theme/loading.css | 336 + .../src/assets/theme/main.css | 261 + .../src/assets/theme/menu-item-group.css | 0 .../src/assets/theme/menu-item.css | 0 .../src/assets/theme/menu.css | 719 + .../src/assets/theme/message-box.css | 2018 + .../src/assets/theme/message.css | 336 + .../src/assets/theme/notification.css | 323 + .../src/assets/theme/option-group.css | 276 + .../src/assets/theme/option.css | 273 + .../src/assets/theme/page-header.css | 283 + .../src/assets/theme/pagination.css | 3275 + .../src/assets/theme/popconfirm.css | 264 + .../src/assets/theme/popover.css | 605 + .../src/assets/theme/popper.css | 328 + .../src/assets/theme/progress.css | 349 + .../src/assets/theme/radio-button.css | 458 + .../src/assets/theme/radio-group.css | 255 + .../src/assets/theme/radio.css | 509 + .../src/assets/theme/rate.css | 284 + .../src/assets/theme/reset.css | 174 + .../src/assets/theme/row.css | 289 + .../src/assets/theme/scrollbar.css | 296 + .../src/assets/theme/select-dropdown.css | 623 + .../src/assets/theme/select.css | 2825 + .../src/assets/theme/slider.css | 1677 + .../src/assets/theme/spinner.css | 180 + .../src/assets/theme/step.css | 485 + .../src/assets/theme/steps.css | 146 + .../src/assets/theme/submenu.css | 0 .../src/assets/theme/switch.css | 333 + .../src/assets/theme/tab-pane.css | 0 .../src/assets/theme/table-column.css | 1410 + .../src/assets/theme/table.css | 2047 + .../src/assets/theme/tabs.css | 831 + .../src/assets/theme/tag.css | 462 + .../src/assets/theme/time-picker.css | 2523 + .../src/assets/theme/time-select.css | 1918 + .../src/assets/theme/timeline-item.css | 318 + .../src/assets/theme/timeline.css | 256 + .../src/assets/theme/tooltip.css | 342 + .../src/assets/theme/transfer.css | 2349 + .../src/assets/theme/tree.css | 1210 + .../src/assets/theme/upload.css | 1045 + .../src/components/DateRange/index.vue | 305 + .../src/components/Dialog/index.js | 77 + .../src/components/FilterBox/index.vue | 134 + .../src/components/Hamburger/index.vue | 44 + .../src/components/IconSelect/icon.json | 280 + .../src/components/IconSelect/index.vue | 104 + .../src/components/InputNumberRange/index.vue | 227 + .../src/components/Progress/index.vue | 44 + .../src/components/RichEditor/index.vue | 132 + .../components/TableProgressColumn/index.vue | 119 + .../src/components/TreeSelect/index.vue | 290 + .../src/components/Verifition/Verify.vue | 494 + .../Verifition/Verify/VerifyPoints.vue | 268 + .../Verifition/Verify/VerifySlide.vue | 381 + .../src/components/Verifition/api/index.js | 25 + .../src/components/Verifition/utils/ase.js | 11 + .../src/components/Verifition/utils/axios.js | 31 + .../src/components/Verifition/utils/util.js | 36 + .../src/core/config/development.js | 4 + .../src/core/config/index.js | 18 + .../src/core/config/production.js | 4 + .../src/core/directive/sortable.js | 14 + .../src/core/directive/sortableData.js | 60 + .../src/core/http/index.js | 244 + .../src/core/http/request.js | 75 + .../src/core/http/requestUrl.js | 27 + .../src/core/mixins/global.js | 117 + .../src/core/mixins/index.js | 299 + .../orange-demo-single-pg-web/src/main.js | 39 + .../src/registerServiceWorker.js | 32 + .../src/router/import-development.js | 1 + .../src/router/import-production.js | 1 + .../src/router/index.js | 41 + .../src/router/systemRouters.js | 45 + .../src/staticDict/index.js | 251 + .../src/store/actions.js | 16 + .../src/store/getters.js | 89 + .../src/store/index.js | 15 + .../src/store/mutations.js | 171 + .../src/store/state.js | 32 + .../src/store/utils/index.js | 52 + .../src/utils/chartOption.js | 56 + .../src/utils/index.js | 447 + .../src/utils/validate.js | 33 + .../src/utils/widget.js | 322 + .../layout/components/breadcrumb/index.vue | 53 + .../components/formModifyHeadImage/index.vue | 76 + .../components/formModifyPassword/index.vue | 98 + .../layout/components/sidebar/menu-item.vue | 59 + .../layout/components/sidebar/sidebar.vue | 82 + .../views/layout/components/tags/tagItem.vue | 79 + .../views/layout/components/tags/tagPanel.vue | 213 + .../src/views/layout/index.vue | 205 + .../src/views/login/index.vue | 148 + .../views/upms/formDictManagement/index.vue | 193 + .../src/views/upms/formEditDict/index.vue | 110 + .../views/upms/formEditSysDataPerm/index.vue | 243 + .../src/views/upms/formEditSysDept/index.vue | 201 + .../views/upms/formEditSysMenu/editColumn.vue | 108 + .../src/views/upms/formEditSysMenu/index.vue | 283 + .../src/views/upms/formEditSysPerm/index.vue | 168 + .../views/upms/formEditSysPermCode/index.vue | 221 + .../upms/formEditSysPermModule/index.vue | 184 + .../src/views/upms/formEditSysRole/index.vue | 158 + .../src/views/upms/formEditSysUser/index.vue | 226 + .../src/views/upms/formMenuPerm/index.vue | 150 + .../src/views/upms/formSetRoleUsers/index.vue | 216 + .../upms/formSetSysDataPermUser/index.vue | 216 + .../src/views/upms/formSysDataPerm/index.vue | 489 + .../src/views/upms/formSysDept/index.vue | 190 + .../src/views/upms/formSysLoginUser/index.vue | 151 + .../upms/formSysMenu/formSysColumnMenu.vue | 307 + .../upms/formSysMenu/formSysMenuPerm.vue | 203 + .../src/views/upms/formSysMenu/index.vue | 241 + .../views/upms/formSysOperationLog/index.vue | 220 + .../upms/formSysPerm/formSysPermDetail.vue | 323 + .../src/views/upms/formSysPerm/index.vue | 412 + .../formSysPermCode/formSysPermCodeDetail.vue | 253 + .../src/views/upms/formSysPermCode/index.vue | 275 + .../upms/formSysRole/formSysRolePerm.vue | 264 + .../src/views/upms/formSysRole/index.vue | 483 + .../upms/formSysUser/formSysUserPerm.vue | 335 + .../src/views/upms/formSysUser/index.vue | 287 + .../upms/formViewSysOperationLog/index.vue | 120 + .../src/views/welcome/index.vue | 161 + .../orange-demo-single-pg-web/static/.gitkeep | 0 .../orange-demo-single-pg-web/vue.config.js | 5 + .../orange-demo-single-pg-service/.gitignore | 26 + .../webadmin/app/dao/mapper/StudentMapper.xml | 2 +- .../webadmin/config/FilterConfig.java | 12 +- .../upms/dao/SysDeptRelationMapper.java | 2 +- .../src/main/resources/application-dev.yml | 96 + .../src/main/resources/application.yml | 171 +- .../common/core/base/service/BaseService.java | 4 +- .../common/core/util/MyDateUtil.java | 16 + .../log/dao/mapper/SysOperationLogMapper.xml | 2 +- .../orange-demo-single-service/pom.xml | 4 +- .../db-scripts/init-upms-data-script.sql | 9 - .../zz-resource/db-scripts/upms-script.sql | 9 + .../src/views/upms/formEditSysMenu/index.vue | 5 +- 668 files changed, 172592 insertions(+), 821 deletions(-) create mode 100644 orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application-dev.yml create mode 100644 orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/object/ConstDictInfo.java delete mode 100644 orange-demo-flowable/orange-demo-flowable-service/zz-resource/db-scripts/.DS_Store create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/.gitignore create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/README.md create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/WebAdminApplication.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/util/CaptchaCacheServiceRedisImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/config/ApplicationConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/config/DataSourceConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/config/FilterConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/config/InterceptorConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/interceptor/AuthenticationInterceptor.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysOperationLogController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDataPermDeptMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDataPermMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDataPermUserMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDeptMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDeptRelationMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysMenuMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysMenuPermCodeMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysPermCodeMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysPermCodePermMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysPermMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysPermModuleMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysPermWhitelistMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysRoleMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysRoleMenuMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysUserMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysUserRoleMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysDataPermDeptMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysDataPermMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysDataPermUserMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysDeptMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysDeptRelationMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysMenuMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysMenuPermCodeMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPermCodeMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPermCodePermMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPermMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPermModuleMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPermWhitelistMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysRoleMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysRoleMenuMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysUserMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysUserRoleMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysOperationLogDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysDataPerm.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysDataPermDept.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysDataPermUser.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysDept.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysDeptRelation.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysMenu.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysMenuPermCode.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysPerm.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysPermCode.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysPermCodePerm.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysPermModule.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysPermWhitelist.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysRole.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysRoleMenu.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysUser.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/SysUserRole.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/constant/SysMenuType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/constant/SysOnlineMenuPermType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/constant/SysPermCodeType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/constant/SysPermModuleType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/constant/SysUserStatus.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/model/constant/SysUserType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysDataPermService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysDeptService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysMenuService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysPermCodeService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysPermModuleService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysPermService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysPermWhitelistService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysRoleService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/SysUserService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysDataPermServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysDeptServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysMenuServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysPermCodeServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysPermModuleServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysPermServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysPermWhitelistServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysRoleServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/service/impl/SysUserServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysOperationLogVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaCacheService create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/application-dev.yml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/application.yml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg1.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg10.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg11.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg12.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg13.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg14.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg15.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg16.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg17.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg18.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg19.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg2.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg20.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg3.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg4.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg5.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg6.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg7.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg8.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/original/bg9.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/1.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/10.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/11.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/2.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/3.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/4.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/5.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/6.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/7.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/8.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/jigsaw/slidingBlock/9.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg1.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg2.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg3.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg4.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg5.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg6.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg7.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg8.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/images/pic-click/bg9.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/application-webadmin/src/main/resources/log4j2.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/advice/MyControllerAdvice.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/advice/MyExceptionHandler.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DeptFilterColumn.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DisableDataFilter.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DisableTenantFilter.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/EnableDataPerm.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/JobUpdateTimeColumn.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyDataSource.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyDataSourceResolver.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyRequestBody.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/NoAuthInterface.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationConstDict.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationDict.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationManyToMany.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationManyToManyAggregation.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToMany.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToManyAggregation.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToOne.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/TenantFilterColumn.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/UploadFlagColumn.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/UserFilterColumn.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DataSourceAspect.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DataSourceResolveAspect.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DictCacheSyncAspect.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/base/dao/BaseDaoMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/base/mapper/BaseModelMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/base/mapper/DummyModelMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseDictService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/IBaseDictService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/IBaseService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/DictionaryCache.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/MapDictionaryCache.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/MapTreeDictionaryCache.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/config/CommonWebMvcConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/config/CoreProperties.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/config/DataSourceContextHolder.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/config/DynamicDataSource.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/config/EncryptConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/config/RestTemplateConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/config/TomcatConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AggregationType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AppDeviceType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/ApplicationConstant.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/ErrorCodeEnum.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/GlobalDeletedFlag.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/DataValidationException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidClassFieldException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidDataFieldException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidDataModelException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidRedisModeException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/MapCacheAccessException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/MyRuntimeException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/NoDataAffectException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/NoDataPermException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/RedisCacheAccessException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/interceptor/MyRequestArgumentResolver.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/listener/LoadServiceRelationListener.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/CallResult.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/DummyClass.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/GlobalThreadLocal.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/LoginUserInfo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyGroupCriteria.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyGroupParam.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyOrderParam.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyPageData.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyPageParam.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyRelationParam.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyWhereCriteria.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/ResponseResult.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/TableModelInfo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/TokenData.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/object/Tuple2.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/BaseUpDownloader.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/LocalUpDownloader.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UpDownloaderFactory.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadResponseInfo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadStoreInfo.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadStoreTypeEnum.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/AopTargetUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ApplicationContextHolder.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ContextUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/DataSourceResolver.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ExportUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ImportUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/IpUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/JwtUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/LogMessageUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyCommonUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyDateUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyPageUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/RedisKeyUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/RsaUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/util/TreeNode.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/AddGroup.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/ConstDictRef.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/ConstDictValidator.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/TextLength.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/TextLengthValidator.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/UpdateGroup.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/aop/DisableDataFilterAspect.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterAutoConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterProperties.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterWebMvcConfigurer.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/constant/DataPermRuleType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/DataFilterInterceptor.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/listener/LoadDataFilterInfoListener.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-datafilter/src/main/resources/META-INF/spring.factories create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/annotation/OperationLog.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/config/CommonLogAutoConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/SysOperationLogMapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/mapper/SysOperationLogMapper.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/model/SysOperationLog.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/model/constant/SysOperationLogType.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/service/SysOperationLogService.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/java/com/orangeforms/common/log/service/impl/SysOperationLogServiceImpl.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-log/src/main/resources/META-INF/spring.factories create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-redis/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisDictionaryCache.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTreeDictionaryCache.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedissonCacheConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-redis/src/main/java/com/orangeforms/common/redis/config/RedissonConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-redis/src/main/resources/META-INF/spring.factories create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-sequence/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/config/IdGeneratorAutoConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/config/IdGeneratorProperties.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/BasicIdGenerator.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/MyIdGenerator.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/wrapper/IdGeneratorWrapper.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-sequence/src/main/resources/META-INF/spring.factories create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-swagger/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/common-swagger/src/main/resources/META-INF/spring.factories create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/common/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/ExportApiApp.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/ExportDocApp.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/codeparser/ApiCodeConfig.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/codeparser/ApiCodeParser.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/exception/ApiCodeConfigParseException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/exception/MapperParseException.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/export/ApiDocExporter.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/export/ApiPostmanExporter.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/util/FreeMarkerUtils.java create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/resources/export-api-config.json create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/resources/templates/api-doc.md.ftl create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/resources/templates/postman_collection.json.ftl create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/apidoc-tools/src/main/resources/templates/postman_common.ftl create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/framework/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/pom.xml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/zz-resource/db-scripts/areacode-pg.sql create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/zz-resource/db-scripts/init-upms-data-script-pg.sql create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/zz-resource/db-scripts/rollback-upms-data-script-pg.sql create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/zz-resource/db-scripts/upms-script-pg.sql create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/zz-resource/docker-files/docker-compose.yml create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/zz-resource/docker-files/services/redis/Dockerfile create mode 100644 orange-demo-single-pg/orange-demo-single-pg-service/zz-resource/docker-files/services/redis/redis.conf create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/.browserslistrc create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/.editorconfig create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/.eslintignore create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/.eslintrc.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/.gitignore create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/README.md create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/babel.config.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/jest.config.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/package.json create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/favicon.ico create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/android-chrome-192x192.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/android-chrome-512x512.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/android-chrome-maskable-192x192.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/android-chrome-maskable-512x512.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/apple-touch-icon-120x120.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/apple-touch-icon-152x152.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/apple-touch-icon-180x180.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/apple-touch-icon-60x60.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/apple-touch-icon-76x76.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/apple-touch-icon.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/favicon-16x16.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/favicon-32x32.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/msapplication-icon-144x144.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/mstile-150x150.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/img/icons/safari-pinned-tab.svg create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/index.html create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/public/robots.txt create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/App.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/api/Controller/DictionaryController.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/api/Controller/SysDataPermController.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/api/Controller/SysDeptController.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/api/Controller/SysUserController.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/api/Controller/SystemController.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/api/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/element-variables-blue.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/element-variables-dark.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/element-variables-green.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/element-variables-light.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/element-variables-orange.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/default-header.jpg create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/default.jpg create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/login.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/login_bg.jpg create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/login_logo.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/logo.jpg create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/logo.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/orange-group1.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/img/orange-group2.png create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/package.json create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/style/base.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/style/element-variables.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/style/form-style.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/style/index.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/style/transition.scss create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/alert.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/aside.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/autocomplete.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/avatar.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/backtop.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/badge.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/base.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/breadcrumb-item.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/breadcrumb.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/button-group.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/button.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/calendar.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/card.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/carousel-item.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/carousel.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/cascader-panel.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/cascader.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/checkbox-button.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/checkbox-group.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/checkbox.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/col.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/collapse-item.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/collapse.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/color-picker.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/container.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/date-picker.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/dialog.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/display.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/divider.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/drawer.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/dropdown-item.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/dropdown-menu.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/dropdown.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/element-variables-blue.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/element-variables-dark.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/element-variables-green.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/element-variables-light.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/element-variables-orange.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/element-variables.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/fonts/element-icons.ttf create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/fonts/element-icons.woff create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/footer.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/form-item.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/form.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/header.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/icon.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/image.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/index.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/infinite-scroll.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/infiniteScroll.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/input-number.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/input.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/link.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/loading.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/main.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/menu-item-group.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/menu-item.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/menu.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/message-box.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/message.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/notification.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/option-group.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/option.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/page-header.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/pagination.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/popconfirm.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/popover.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/popper.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/progress.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/radio-button.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/radio-group.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/radio.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/rate.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/reset.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/row.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/scrollbar.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/select-dropdown.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/select.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/slider.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/spinner.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/step.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/steps.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/submenu.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/switch.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/tab-pane.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/table-column.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/table.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/tabs.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/tag.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/time-picker.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/time-select.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/timeline-item.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/timeline.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/tooltip.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/transfer.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/tree.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/assets/theme/upload.css create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/DateRange/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Dialog/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/FilterBox/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Hamburger/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/IconSelect/icon.json create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/IconSelect/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/InputNumberRange/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Progress/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/RichEditor/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/TableProgressColumn/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/TreeSelect/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Verifition/Verify.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Verifition/Verify/VerifyPoints.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Verifition/Verify/VerifySlide.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Verifition/api/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Verifition/utils/ase.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Verifition/utils/axios.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/components/Verifition/utils/util.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/config/development.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/config/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/config/production.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/directive/sortable.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/directive/sortableData.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/http/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/http/request.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/http/requestUrl.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/mixins/global.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/core/mixins/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/main.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/registerServiceWorker.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/router/import-development.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/router/import-production.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/router/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/router/systemRouters.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/staticDict/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/store/actions.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/store/getters.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/store/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/store/mutations.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/store/state.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/store/utils/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/utils/chartOption.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/utils/index.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/utils/validate.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/utils/widget.js create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/layout/components/breadcrumb/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/layout/components/formModifyHeadImage/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/layout/components/formModifyPassword/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/layout/components/sidebar/menu-item.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/layout/components/sidebar/sidebar.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/layout/components/tags/tagItem.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/layout/components/tags/tagPanel.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/layout/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/login/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formDictManagement/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditDict/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysDataPerm/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysDept/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysMenu/editColumn.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysMenu/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysPerm/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysPermCode/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysPermModule/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysRole/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formEditSysUser/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formMenuPerm/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSetRoleUsers/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSetSysDataPermUser/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysDataPerm/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysDept/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysLoginUser/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysMenu/formSysColumnMenu.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysMenu/formSysMenuPerm.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysMenu/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysOperationLog/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysPerm/formSysPermDetail.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysPerm/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysPermCode/formSysPermCodeDetail.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysPermCode/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysRole/formSysRolePerm.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysRole/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysUser/formSysUserPerm.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formSysUser/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/upms/formViewSysOperationLog/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/src/views/welcome/index.vue create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/static/.gitkeep create mode 100644 orange-demo-single-pg/orange-demo-single-pg-web/vue.config.js create mode 100644 orange-demo-single/orange-demo-single-pg-service/.gitignore create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/resources/application-dev.yml diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/config/FilterConfig.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/config/FilterConfig.java index bd4d63ce..19f3c659 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/config/FilterConfig.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/config/FilterConfig.java @@ -28,10 +28,14 @@ public class FilterConfig { UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); if (StringUtils.isNotBlank(applicationConfig.getCredentialIpList())) { - String[] credentialIpList = StringUtils.split(applicationConfig.getCredentialIpList(), ","); - if (credentialIpList.length > 0) { - for (String ip : credentialIpList) { - corsConfiguration.addAllowedOrigin(ip); + if ("*".equals(applicationConfig.getCredentialIpList())) { + corsConfiguration.addAllowedOriginPattern("*"); + } else { + String[] credentialIpList = StringUtils.split(applicationConfig.getCredentialIpList(), ","); + if (credentialIpList.length > 0) { + for (String ip : credentialIpList) { + corsConfiguration.addAllowedOrigin(ip); + } } } corsConfiguration.addAllowedHeader("*"); diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDeptRelationMapper.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDeptRelationMapper.java index 4c438921..a6d7151a 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDeptRelationMapper.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/SysDeptRelationMapper.java @@ -26,7 +26,7 @@ public interface SysDeptRelationMapper extends BaseDaoMapper { /** * 批量插入部门关联数据。 * 由于目前版本(3.4.1)的Mybatis Plus没有提供真正的批量插入,为了保证效率需要自己实现。 - * 目前我们仅仅给出MySQL的insert list实现作为参考,其他数据库需要自行修改。 + * 目前我们仅仅给出MySQL和PostgresSQL的insert list实现作为参考,其他数据库需要自行修改。 * * @param deptRelationList 部门关联关系数据列表。 */ diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPostMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPostMapper.xml index 56fec569..1be28260 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPostMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dao/mapper/SysPostMapper.xml @@ -5,7 +5,7 @@ - + diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application-dev.yml b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application-dev.yml new file mode 100644 index 00000000..c5d04f87 --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application-dev.yml @@ -0,0 +1,98 @@ +spring: + # aj-captcha 对redis缓存的依赖。 + redis: + database: 2 + host: localhost + port: 6379 + password: '' + timeout: 60000 + datasource: + type: com.alibaba.druid.pool.DruidDataSource + druid: + # 数据库链接 [主数据源] + main: + url: jdbc:mysql://localhost:3306/zzdemo-online?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai + username: root + password: 123456 + driver-class-name: com.mysql.cj.jdbc.Driver + name: application-webadmin + initialSize: 10 + minIdle: 10 + maxActive: 50 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + maxOpenPreparedStatements: 20 + validationQuery: SELECT 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 + filters: stat,wall + useGlobalDataSourceStat: true + web-stat-filter: + enabled: true + url-pattern: /* + exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" + stat-view-servlet: + enabled: true + urlPattern: /druid/* + resetEnable: true + +application: + # Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。 + tokenSigningKey: DemoFlow-signing-key + # Jwt令牌在Http Header中的键名称。 + tokenHeaderKey: Authorization + # Jwt令牌刷新后在Http Header中的键名称。 + refreshedTokenHeaderKey: RefreshedToken + # Jwt令牌过期时间(毫秒)。 + expiration: 72000000 + # 初始化密码。 + defaultUserPassword: 123456 + # 缺省的文件上传根目录。 + uploadFileBaseDir: ./zz-resource/upload-files/app + # 跨域的IP(http://192.168.10.10:8086)白名单列表,多个IP之间逗号分隔(* 表示全部信任,空白表示禁用跨域信任)。 + credentialIpList: "*" + # Session的用户和数据权限在Redis中的过期时间(秒)。 + sessionExpiredSeconds: 86400 + +sequence: + # Snowflake 分布式Id生成算法所需的WorkNode参数值。 + snowflakeWorkNode: 1 + +# 存储session数据的Redis,所有服务均需要,因此放到公共配置中。 +# 根据实际情况,该Redis也可以用于存储其他数据。 +redis: + # redisson的配置。每个服务可以自己的配置文件中覆盖此选项。 + redisson: + # 如果该值为false,系统将不会创建RedissionClient的bean。 + enabled: true + # mode的可用值为,single/cluster/sentinel/master-slave + mode: single + # single: 单机模式 + # address: redis://localhost:6379 + # cluster: 集群模式 + # 每个节点逗号分隔,同时每个节点前必须以redis://开头。 + # address: redis://localhost:6379,redis://localhost:6378,... + # sentinel: + # 每个节点逗号分隔,同时每个节点前必须以redis://开头。 + # address: redis://localhost:6379,redis://localhost:6378,... + # master-slave: + # 每个节点逗号分隔,第一个为主节点,其余为从节点。同时每个节点前必须以redis://开头。 + # address: redis://localhost:6379,redis://localhost:6378,... + address: redis://localhost:6379 + # 链接超时,单位毫秒。 + timeout: 6000 + # 单位毫秒。分布式锁的超时检测时长。 + # 如果一次锁内操作超该毫秒数,或在释放锁之前异常退出,Redis会在该时长之后主动删除该锁使用的key。 + lockWatchdogTimeout: 60000 + # redis 密码,空可以不填。 + password: + pool: + # 连接池数量。 + poolSize: 20 + # 连接池中最小空闲数量。 + minIdle: 5 diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application.yml b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application.yml index 63b7e8d0..07ac1eb7 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application.yml +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application.yml @@ -59,43 +59,13 @@ pagehelper: supportMethodsArguments: false params: count=countSql -# 存储session数据的Redis,所有服务均需要,因此放到公共配置中。 -# 根据实际情况,该Redis也可以用于存储其他数据。 -redis: - # redisson的配置。每个服务可以自己的配置文件中覆盖此选项。 - redisson: - # 如果该值为false,系统将不会创建RedissionClient的bean。 - enabled: true - # mode的可用值为,single/cluster/sentinel/master-slave - mode: single - # single: 单机模式 - # address: redis://localhost:6379 - # cluster: 集群模式 - # 每个节点逗号分隔,同时每个节点前必须以redis://开头。 - # address: redis://localhost:6379,redis://localhost:6378,... - # sentinel: - # 每个节点逗号分隔,同时每个节点前必须以redis://开头。 - # address: redis://localhost:6379,redis://localhost:6378,... - # master-slave: - # 每个节点逗号分隔,第一个为主节点,其余为从节点。同时每个节点前必须以redis://开头。 - # address: redis://localhost:6379,redis://localhost:6378,... - address: redis://localhost:6379 - # 链接超时,单位毫秒。 - timeout: 6000 - # 单位毫秒。分布式锁的超时检测时长。 - # 如果一次锁内操作超该毫秒数,或在释放锁之前异常退出,Redis会在该时长之后主动删除该锁使用的key。 - lockWatchdogTimeout: 60000 - # redis 密码,空可以不填。 - password: - pool: - # 连接池数量。 - poolSize: 20 - # 连接池中最小空闲数量。 - minIdle: 5 +common-core: + # 可选值为 mysql / postgresql + databaseType: mysql common-online: # 可选值为 mysql / postgresql - datasourceType: mysql + databaseType: mysql # 注意不要以反斜杠(/)结尾。 operationUrlPrefix: /admin/online # 在线表单业务数据上传资源路径 @@ -108,21 +78,25 @@ common-online-api: urlPrefix: /admin/online # 下面的url列表,请保持反斜杠(/)结尾。 viewUrlList: - - ${common-online.operationUrlPrefix}/onlineOperation/viewByDatasourceId/ - - ${common-online.operationUrlPrefix}/onlineOperation/viewByOneToManyRelationId/ - - ${common-online.operationUrlPrefix}/onlineOperation/listByDatasourceId/ - - ${common-online.operationUrlPrefix}/onlineOperation/listByOneToManyRelationId/ - - ${common-online.operationUrlPrefix}/onlineOperation/downloadDatasource/ - - ${common-online.operationUrlPrefix}/onlineOperation/downloadOneToManyRelation/ + - ${common-online.operationUrlPrefix}/onlineOperation/viewByDatasourceId/ + - ${common-online.operationUrlPrefix}/onlineOperation/viewByOneToManyRelationId/ + - ${common-online.operationUrlPrefix}/onlineOperation/listByDatasourceId/ + - ${common-online.operationUrlPrefix}/onlineOperation/listByOneToManyRelationId/ + - ${common-online.operationUrlPrefix}/onlineOperation/exportByDatasourceId/ + - ${common-online.operationUrlPrefix}/onlineOperation/exportByOneToManyRelationId/ + - ${common-online.operationUrlPrefix}/onlineOperation/downloadDatasource/ + - ${common-online.operationUrlPrefix}/onlineOperation/downloadOneToManyRelation/ editUrlList: - - ${common-online.operationUrlPrefix}/onlineOperation/addDatasource/ - - ${common-online.operationUrlPrefix}/onlineOperation/addOneToManyRelation/ - - ${common-online.operationUrlPrefix}/onlineOperation/updateDatasource/ - - ${common-online.operationUrlPrefix}/onlineOperation/updateOneToManyRelation/ - - ${common-online.operationUrlPrefix}/onlineOperation/deleteDatasource/ - - ${common-online.operationUrlPrefix}/onlineOperation/deleteOneToManyRelation/ - - ${common-online.operationUrlPrefix}/onlineOperation/uploadDatasource/ - - ${common-online.operationUrlPrefix}/onlineOperation/uploadOneToManyRelation/ + - ${common-online.operationUrlPrefix}/onlineOperation/addDatasource/ + - ${common-online.operationUrlPrefix}/onlineOperation/addOneToManyRelation/ + - ${common-online.operationUrlPrefix}/onlineOperation/updateDatasource/ + - ${common-online.operationUrlPrefix}/onlineOperation/updateOneToManyRelation/ + - ${common-online.operationUrlPrefix}/onlineOperation/deleteDatasource/ + - ${common-online.operationUrlPrefix}/onlineOperation/deleteOneToManyRelation/ + - ${common-online.operationUrlPrefix}/onlineOperation/deleteBatchDatasource/ + - ${common-online.operationUrlPrefix}/onlineOperation/deleteBatchOneToManyRelation/ + - ${common-online.operationUrlPrefix}/onlineOperation/uploadDatasource/ + - ${common-online.operationUrlPrefix}/onlineOperation/uploadOneToManyRelation/ common-flow: # 请慎重修改urlPrefix的缺省配置,注意不要以反斜杠(/)结尾。如必须修改其他路径,请同步修改数据库脚本。 @@ -168,8 +142,7 @@ management: # keys-to-sanitize: keys-to-sanitize: password server: - servlet: - context-path: "/" + base-path: "/" aj: captcha: @@ -206,137 +179,3 @@ aj: aes-status: true # 滑动干扰项(0/1/2) interference-options: 2 - -# 开发数据库相关配置 ---- -spring: - profiles: dev - # aj-captcha 对redis缓存的依赖。 - redis: - database: 2 - host: localhost - port: 6379 - password: '' - timeout: 60000 - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - main: - url: jdbc:mysql://localhost:3306/zzdemo-online?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver - name: application-webadmin - initialSize: 10 - minIdle: 10 - maxActive: 50 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - maxOpenPreparedStatements: 20 - validationQuery: SELECT 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 - filters: stat,wall - useGlobalDataSourceStat: true - web-stat-filter: - enabled: true - url-pattern: /* - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" - stat-view-servlet: - enabled: true - urlPattern: /druid/* - resetEnable: true - -application: - # Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。 - tokenSigningKey: DemoFlow-signing-key - # Jwt令牌在Http Header中的键名称。 - tokenHeaderKey: Authorization - # Jwt令牌刷新后在Http Header中的键名称。 - refreshedTokenHeaderKey: RefreshedToken - # Jwt令牌过期时间(毫秒)。 - expiration: 72000000 - # 初始化密码。 - defaultUserPassword: 123456 - # 缺省的文件上传根目录。 - uploadFileBaseDir: ./zz-resource/upload-files/app - # 跨域的IP(http://192.168.10.10:8086)白名单列表,多个IP之间逗号分隔(* 表示全部信任,空白表示禁用跨域信任)。 - credentialIpList: "*" - # Session的用户和数据权限在Redis中的过期时间(秒)。 - sessionExpiredSeconds: 86400 - -sequence: - # Snowflake 分布式Id生成算法所需的WorkNode参数值。 - snowflakeWorkNode: 1 - -# 发布数据库相关配置 ---- -spring: - profiles: product - # aj-captcha 对redis缓存的依赖。 - redis: - database: 2 - host: localhost - port: 6379 - password: '' - timeout: 60000 - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - main: - url: jdbc:mysql://localhost:3306/zzdemo-online?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver - name: application-webadmin - initialSize: 10 - minIdle: 10 - maxActive: 50 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - maxOpenPreparedStatements: 20 - validationQuery: SELECT 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 - filters: stat,wall - useGlobalDataSourceStat: true - web-stat-filter: - enabled: true - url-pattern: /* - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" - stat-view-servlet: - enabled: true - urlPattern: /druid/* - resetEnable: true - -application: - # Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。 - tokenSigningKey: DemoFlow-signing-key - # Jwt令牌在Http Header中的键名称。 - tokenHeaderKey: Authorization - # Jwt令牌刷新后在Http Header中的键名称。 - refreshedTokenHeaderKey: RefreshedToken - # Jwt令牌过期时间(毫秒)。 - expiration: 72000000 - # 初始化密码。 - defaultUserPassword: 123456 - # 缺省的文件上传根目录。 - uploadFileBaseDir: ./zz-resource/upload-files/app - # 跨域的IP(http://192.168.10.10:8086)白名单列表,多个IP之间逗号分隔(* 表示全部信任,空白表示禁用跨域信任)。 - credentialIpList: "*" - # Session的用户和数据权限在Redis中的过期时间(秒)。 - sessionExpiredSeconds: 86400 - -sequence: - # Snowflake 分布式Id生成算法所需的WorkNode参数值。 - snowflakeWorkNode: 1 \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseService.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseService.java index 69ae86d1..05d1cdcc 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseService.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseService.java @@ -156,8 +156,8 @@ public abstract class BaseService extends ServiceImpl */ private final TableModelInfo tableModelInfo = new TableModelInfo(); - private static final String GROUPED_KEY = "groupedKey"; - private static final String AGGREGATED_VALUE = "aggregatedValue"; + private static final String GROUPED_KEY = "grouped_key"; + private static final String AGGREGATED_VALUE = "aggregated_value"; private static final String AND_OP = " AND "; @Override diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyDateUtil.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyDateUtil.java index b6db705e..3e80aa73 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyDateUtil.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyDateUtil.java @@ -43,6 +43,12 @@ public class MyDateUtil { private static final DateTimeFormatter DATETIME_PARSE_FORMATTER = DateTimeFormat.forPattern(MyDateUtil.COMMON_DATETIME_FORMAT); + /** + * 缺省短日期时间格式化器,提前获取提升运行时效率。 + */ + private static final DateTimeFormatter DATETIME_SHORT_PARSE_FORMATTER = + DateTimeFormat.forPattern(MyDateUtil.COMMON_SHORT_DATETIME_FORMAT); + /** * 获取一天的开始时间的字符串格式,如2019-08-03 00:00:00.000。 * @@ -144,6 +150,16 @@ public class MyDateUtil { return DATETIME_PARSE_FORMATTER.parseDateTime(dateTimeString); } + /** + * 将缺省格式的(不包含毫秒的)日期时间字符串解析为日期对象。 + * + * @param dateTimeString 待解析的字符串。 + * @return 解析后的日期对象。 + */ + public static DateTime toDateTimeWithoutMs(String dateTimeString) { + return DATETIME_SHORT_PARSE_FORMATTER.parseDateTime(dateTimeString); + } + /** * 截取时间到天。如2019-10-03 01:20:30 转换为 2019-10-03 00:00:00。 * 由于没有字符串的中间转换,因此效率更高。 diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryPublishMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryPublishMapper.xml index f222b357..f9ffa126 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryPublishMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryPublishMapper.xml @@ -7,8 +7,8 @@ - - + + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryPublishVariableMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryPublishVariableMapper.xml index c3be0cf1..68bd83ff 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryPublishVariableMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryPublishVariableMapper.xml @@ -10,7 +10,7 @@ - + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryVariableMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryVariableMapper.xml index c72fea71..09a4ea8e 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryVariableMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowEntryVariableMapper.xml @@ -10,7 +10,7 @@ - + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml index c4360fcf..5e0b41f4 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml @@ -17,9 +17,9 @@ - + - + @@ -30,7 +30,7 @@ SELECT COUNT(1) FROM zz_flow_message a - a.task_finished = 0 + a.task_finished = false AND a.message_type = 0 AND (a.task_assignee = #{loginName} OR EXISTS (SELECT * FROM zz_flow_message_candicate_identity b WHERE a.message_id = b.message_id AND b.candidate_id in diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/mapper/SysOperationLogMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/mapper/SysOperationLogMapper.xml index 891a882d..4523c8af 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/mapper/SysOperationLogMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/mapper/SysOperationLogMapper.xml @@ -16,7 +16,7 @@ - + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java index 18a2252a..4f3aec06 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java @@ -154,22 +154,19 @@ public class OnlineColumnController { * 列出符合过滤条件的字段数据列表。 * * @param onlineColumnDtoFilter 过滤对象。 - * @param orderParam 排序参数。 * @param pageParam 分页参数。 * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") public ResponseResult> list( @MyRequestBody OnlineColumnDto onlineColumnDtoFilter, - @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } OnlineColumn onlineColumnFilter = MyModelUtil.copyTo(onlineColumnDtoFilter, OnlineColumn.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, OnlineColumn.class); List onlineColumnList = - onlineColumnService.getOnlineColumnListWithRelation(onlineColumnFilter, orderBy); + onlineColumnService.getOnlineColumnListWithRelation(onlineColumnFilter); return ResponseResult.success(MyPageUtil.makeResponseData(onlineColumnList, OnlineColumn.INSTANCE)); } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java index e14548ac..ba6ce63d 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java @@ -1,6 +1,7 @@ package com.orangeforms.common.online.controller; import io.swagger.annotations.Api; +import cn.hutool.core.map.MapUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.StrUtil; @@ -8,9 +9,7 @@ import com.alibaba.fastjson.JSONObject; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.ContextUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.util.MyPageUtil; +import com.orangeforms.common.core.util.*; import com.orangeforms.common.online.util.OnlineOperationHelper; import com.orangeforms.common.online.dto.OnlineFilterDto; import com.orangeforms.common.online.model.*; @@ -20,7 +19,9 @@ import com.orangeforms.common.online.object.ColumnData; import com.orangeforms.common.online.service.*; import com.orangeforms.common.online.util.OnlineConstant; import com.github.pagehelper.page.PageMethod; +import lombok.Data; import lombok.extern.slf4j.Slf4j; +import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.web.bind.annotation.*; @@ -56,6 +57,8 @@ public class OnlineOperationController { private OnlineTableService onlineTableService; @Autowired private OnlineOperationHelper onlineOperationHelper; + @Autowired + private OnlineVirtualColumnService onlineVirtualColumnService; /** * 新增数据接口。 @@ -237,28 +240,23 @@ public class OnlineOperationController { @PathVariable("datasourceVariableName") String datasourceVariableName, @MyRequestBody(required = true) Long datasourceId, @MyRequestBody(required = true) String dataId) { - String errorMessage; - ResponseResult datasourceResult = - onlineOperationHelper.verifyAndGetDatasource(datasourceId); - if (!datasourceResult.isSuccess()) { - return ResponseResult.errorFrom(datasourceResult); - } - OnlineDatasource datasource = datasourceResult.getData(); - if (!datasource.getVariableName().equals(datasourceVariableName)) { - ContextUtil.getHttpResponse().setStatus(HttpServletResponse.SC_FORBIDDEN); - return ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION); - } - OnlineTable masterTable = datasource.getMasterTable(); - ResponseResult> relationListResult = - onlineOperationHelper.verifyAndGetRelationList(datasourceId, RelationType.ONE_TO_MANY); - if (!relationListResult.isSuccess()) { - return ResponseResult.errorFrom(relationListResult); - } - List relationList = relationListResult.getData(); - if (!onlineOperationService.delete(masterTable, relationList, dataId)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); + return this.doDelete(datasourceVariableName, datasourceId, CollUtil.newArrayList(dataId)); + } + + /** + * 批量删除主数据接口。 + * + * @param datasourceVariableName 数据源名称。 + * @param datasourceId 主表数据源Id。 + * @param dataIdList 待删除的数据表主键Id列表。 + * @return 应该结果。 + */ + @PostMapping("/deleteBatchDatasource/{datasourceVariableName}") + public ResponseResult deleteBatchDatasource( + @PathVariable("datasourceVariableName") String datasourceVariableName, + @MyRequestBody(required = true) Long datasourceId, + @MyRequestBody(required = true, elementType = String.class) List dataIdList) { + return this.doDelete(datasourceVariableName, datasourceId, dataIdList); } /** @@ -276,26 +274,25 @@ public class OnlineOperationController { @MyRequestBody(required = true) Long datasourceId, @MyRequestBody(required = true) Long relationId, @MyRequestBody(required = true) String dataId) { - String errorMessage; - OnlineDatasource datasource = onlineDatasourceService.getById(datasourceId); - if (datasource == null) { - errorMessage = "数据验证失败,数据源Id并不存在!"; - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - if (!datasource.getVariableName().equals(datasourceVariableName)) { - ContextUtil.getHttpResponse().setStatus(HttpServletResponse.SC_FORBIDDEN); - return ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION); - } - ResponseResult relationResult = - onlineOperationHelper.verifyAndGetOneToManyRelation(datasourceId, relationId); - if (!relationResult.isSuccess()) { - return ResponseResult.errorFrom(relationResult); - } - OnlineDatasourceRelation relation = relationResult.getData(); - if (!onlineOperationService.delete(relation.getSlaveTable(), null, dataId)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); + return this.doDelete(datasourceVariableName, datasourceId, relationId, CollUtil.newArrayList(dataId)); + } + + /** + * 批量删除一对多关联表单条数据接口。 + * + * @param datasourceVariableName 数据源名称。 + * @param datasourceId 主表数据源Id。 + * @param relationId 一对多关联Id。 + * @param dataIdList 一对多关联表主键Id列表。 + * @return 应该结果。 + */ + @PostMapping("/deleteBatchOneToManyRelation/{datasourceVariableName}") + public ResponseResult deleteBatchOneToManyRelation( + @PathVariable("datasourceVariableName") String datasourceVariableName, + @MyRequestBody(required = true) Long datasourceId, + @MyRequestBody(required = true) Long relationId, + @MyRequestBody(required = true, elementType = String.class) List dataIdList) { + return this.doDelete(datasourceVariableName, datasourceId, relationId, dataIdList); } /** @@ -593,6 +590,66 @@ public class OnlineOperationController { return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); } + /** + * 根据数据源Id,以及接口参数,为动态表单导出数据列表。 + * + * @param datasourceVariableName 数据源名称。 + * @param datasourceId 数据源Id。 + * @param filterDtoList 多虑数据对象列表。 + * @param orderParam 排序对象。 + * @param exportInfoList 导出字段信息列表。 + */ + @PostMapping("/exportByDatasourceId/{datasourceVariableName}") + public void exportByDatasourceId( + @PathVariable("datasourceVariableName") String datasourceVariableName, + @MyRequestBody(required = true) Long datasourceId, + @MyRequestBody(elementType = OnlineFilterDto.class) List filterDtoList, + @MyRequestBody MyOrderParam orderParam, + @MyRequestBody(elementType = ExportInfo.class, required = true) List exportInfoList) throws IOException { + // 1. 验证数据源及其关联 + ResponseResult datasourceResult = + onlineOperationHelper.verifyAndGetDatasource(datasourceId); + if (!datasourceResult.isSuccess()) { + ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST, datasourceResult); + } + OnlineDatasource datasource = datasourceResult.getData(); + if (!datasource.getVariableName().equals(datasourceVariableName)) { + ResponseResult.output(HttpServletResponse.SC_FORBIDDEN); + } + OnlineTable masterTable = datasource.getMasterTable(); + ResponseResult> relationListResult = + onlineOperationHelper.verifyAndGetRelationList(datasourceId, null); + if (!relationListResult.isSuccess()) { + ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST, relationListResult); + } + List allRelationList = relationListResult.getData(); + // 2. 验证数据过滤对象中的表名和字段,确保没有sql注入。 + ResponseResult filterDtoListResult = this.verifyFilterDtoList(filterDtoList); + if (!filterDtoListResult.isSuccess()) { + ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST, filterDtoListResult); + } + // 3. 解析排序参数,同时确保没有sql注入。 + Map tableMap = new HashMap<>(4); + tableMap.put(masterTable.getTableName(), masterTable); + List oneToOneRelationList = relationListResult.getData().stream() + .filter(r -> r.getRelationType().equals(RelationType.ONE_TO_ONE)).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(oneToOneRelationList)) { + Map relationTableMap = oneToOneRelationList.stream() + .map(OnlineDatasourceRelation::getSlaveTable).collect(Collectors.toMap(OnlineTable::getTableName, c -> c)); + tableMap.putAll(relationTableMap); + } + ResponseResult orderByResult = this.makeOrderBy(orderParam, masterTable, tableMap); + if (!orderByResult.isSuccess()) { + ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST, orderByResult); + } + String orderBy = orderByResult.getData(); + List> resultList = onlineOperationService.getMasterDataList( + masterTable, oneToOneRelationList, allRelationList, filterDtoList, orderBy); + Map headerMap = this.makeExportHeaderMap(masterTable, allRelationList, exportInfoList); + String filename = datasourceVariableName + "-" + MyDateUtil.toDateTimeString(DateTime.now()) + ".xlsx"; + ExportUtil.doExport(resultList, headerMap, filename); + } + /** * 根据数据源Id和数据源关联Id,以及接口参数,为动态表单查询该一对多关联的数据列表。 * @@ -655,6 +712,68 @@ public class OnlineOperationController { onlineOperationService.getSlaveDataList(relation, filterDtoList, orderBy); return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); } + + /** + * 根据数据源Id和数据源关联Id,以及接口参数,为动态表单查询该一对多关联的数据列表。 + * + * @param datasourceVariableName 数据源名称。 + * @param datasourceId 数据源Id。 + * @param relationId 数据源的一对多关联Id。 + * @param filterDtoList 多虑数据对象列表。 + * @param orderParam 排序对象。 + * @param exportInfoList 导出字段信息列表。 + */ + @PostMapping("/exportByOneToManyRelationId/{datasourceVariableName}") + public void exportByOneToManyRelationId( + @PathVariable("datasourceVariableName") String datasourceVariableName, + @MyRequestBody(required = true) Long datasourceId, + @MyRequestBody(required = true) Long relationId, + @MyRequestBody(elementType = OnlineFilterDto.class) List filterDtoList, + @MyRequestBody MyOrderParam orderParam, + @MyRequestBody(elementType = ExportInfo.class, required = true) List exportInfoList) throws IOException { + String errorMessage; + OnlineDatasource datasource = onlineDatasourceService.getById(datasourceId); + if (datasource == null) { + errorMessage = "数据验证失败,数据源Id并不存在!"; + ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST, + ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage)); + } + if (!datasource.getVariableName().equals(datasourceVariableName)) { + ResponseResult.output(HttpServletResponse.SC_FORBIDDEN); + } + ResponseResult relationResult = + onlineOperationHelper.verifyAndGetOneToManyRelation(datasourceId, relationId); + if (!relationResult.isSuccess()) { + ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST, relationResult); + } + OnlineDatasourceRelation relation = relationResult.getData(); + OnlineTable slaveTable = relation.getSlaveTable(); + // 验证数据过滤对象中的表名和字段,确保没有sql注入。 + ResponseResult filterDtoListResult = this.verifyFilterDtoList(filterDtoList); + if (!filterDtoListResult.isSuccess()) { + ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST, filterDtoListResult); + } + Map tableMap = new HashMap<>(1); + tableMap.put(slaveTable.getTableName(), slaveTable); + if (CollUtil.isNotEmpty(orderParam)) { + for (MyOrderParam.OrderInfo orderInfo : orderParam) { + orderInfo.setFieldName(StrUtil.removePrefix(orderInfo.getFieldName(), + relation.getVariableName() + OnlineConstant.RELATION_TABLE_COLUMN_SEPARATOR)); + } + } + ResponseResult orderByResult = this.makeOrderBy(orderParam, slaveTable, tableMap); + if (!orderByResult.isSuccess()) { + ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST, orderByResult); + } + String orderBy = orderByResult.getData(); + List> resultList = + onlineOperationService.getSlaveDataList(relation, filterDtoList, orderBy); + Map headerMap = this.makeExportHeaderMap( + null, CollUtil.newArrayList(relation), exportInfoList); + String filename = datasourceVariableName + "-relation-" + + MyDateUtil.toDateTimeString(DateTime.now()) + ".xlsx"; + ExportUtil.doExport(resultList, headerMap, filename); + } /** * 查询字典数据,并以字典的约定方式,返回数据结果集。 @@ -690,6 +809,60 @@ public class OnlineOperationController { return ResponseResult.success(resultList); } + private ResponseResult doDelete( + String datasourceVariableName, Long datasourceId, List dataIdList) { + String errorMessage; + ResponseResult datasourceResult = + onlineOperationHelper.verifyAndGetDatasource(datasourceId); + if (!datasourceResult.isSuccess()) { + return ResponseResult.errorFrom(datasourceResult); + } + OnlineDatasource datasource = datasourceResult.getData(); + if (!datasource.getVariableName().equals(datasourceVariableName)) { + ContextUtil.getHttpResponse().setStatus(HttpServletResponse.SC_FORBIDDEN); + return ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION); + } + OnlineTable masterTable = datasource.getMasterTable(); + ResponseResult> relationListResult = + onlineOperationHelper.verifyAndGetRelationList(datasourceId, RelationType.ONE_TO_MANY); + if (!relationListResult.isSuccess()) { + return ResponseResult.errorFrom(relationListResult); + } + List relationList = relationListResult.getData(); + for (String dataId : dataIdList) { + if (!onlineOperationService.delete(masterTable, relationList, dataId)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + } + return ResponseResult.success(); + } + + private ResponseResult doDelete( + String datasourceVariableName, Long datasourceId, Long relationId, List dataIdList) { + String errorMessage; + OnlineDatasource datasource = onlineDatasourceService.getById(datasourceId); + if (datasource == null) { + errorMessage = "数据验证失败,数据源Id并不存在!"; + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + if (!datasource.getVariableName().equals(datasourceVariableName)) { + ContextUtil.getHttpResponse().setStatus(HttpServletResponse.SC_FORBIDDEN); + return ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION); + } + ResponseResult relationResult = + onlineOperationHelper.verifyAndGetOneToManyRelation(datasourceId, relationId); + if (!relationResult.isSuccess()) { + return ResponseResult.errorFrom(relationResult); + } + OnlineDatasourceRelation relation = relationResult.getData(); + for (String dataId : dataIdList) { + if (!onlineOperationService.delete(relation.getSlaveTable(), null, dataId)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + } + return ResponseResult.success(); + } + private ResponseResult verifyFilterDtoList(List filterDtoList) { if (CollUtil.isEmpty(filterDtoList)) { return ResponseResult.success(); @@ -785,4 +958,57 @@ public class OnlineOperationController { } return ResponseResult.success(sb.toString()); } + + private Map makeExportHeaderMap( + OnlineTable masterTable, + List allRelationList, + List exportInfoList) { + Map headerMap = new LinkedHashMap<>(16); + Map allRelationMap = null; + if (CollUtil.isNotEmpty(allRelationList)) { + allRelationMap = allRelationList.stream() + .collect(Collectors.toMap(OnlineDatasourceRelation::getSlaveTableId, r -> r)); + } + for (ExportInfo exportInfo : exportInfoList) { + if (masterTable != null && exportInfo.getTableId().equals(masterTable.getTableId())) { + if (exportInfo.getVirtualColumnId() != null) { + OnlineVirtualColumn virtualColumn = + onlineVirtualColumnService.getById(exportInfo.getVirtualColumnId()); + if (virtualColumn != null) { + headerMap.put(virtualColumn.getObjectFieldName(), exportInfo.showName); + } + } else { + OnlineColumn column = masterTable.getColumnMap().get(exportInfo.getColumnId()); + if (column.getDictId() != null) { + headerMap.put(column.getColumnName() + "__DictMap.name", exportInfo.getShowName()); + } else { + headerMap.put(column.getColumnName(), exportInfo.getShowName()); + } + } + } else { + if (MapUtil.isEmpty(allRelationMap)) { + continue; + } + OnlineDatasourceRelation relation = allRelationMap.get(exportInfo.getTableId()); + if (relation != null) { + OnlineColumn column = relation.getSlaveTable().getColumnMap().get(exportInfo.getColumnId()); + String columnName = relation.getVariableName() + + OnlineConstant.RELATION_TABLE_COLUMN_SEPARATOR + column.getColumnName(); + if (column.getDictId() != null) { + columnName = columnName + "__DictMap.name"; + } + headerMap.put(columnName, exportInfo.getShowName()); + } + } + } + return headerMap; + } + + @Data + public static class ExportInfo { + private Long tableId; + private Long columnId; + private Long virtualColumnId; + private String showName; + } } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/OnlineColumnMapper.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/OnlineColumnMapper.java index abbd3b22..4a2eeaca 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/OnlineColumnMapper.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/OnlineColumnMapper.java @@ -18,9 +18,7 @@ public interface OnlineColumnMapper extends BaseDaoMapper { * 获取过滤后的对象列表。 * * @param onlineColumnFilter 主表过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 * @return 对象列表。 */ - List getOnlineColumnList( - @Param("onlineColumnFilter") OnlineColumn onlineColumnFilter, @Param("orderBy") String orderBy); + List getOnlineColumnList(@Param("onlineColumnFilter") OnlineColumn onlineColumnFilter); } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineColumnMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineColumnMapper.xml index c6bc89ac..10389b5f 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineColumnMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineColumnMapper.xml @@ -7,18 +7,18 @@ - - - + + + - - - + + + @@ -49,8 +49,6 @@ - - ORDER BY ${orderBy} - + ORDER BY column_show_order diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineDatasourceRelationMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineDatasourceRelationMapper.xml index a9200b1d..4f92c5f5 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineDatasourceRelationMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineDatasourceRelationMapper.xml @@ -10,8 +10,8 @@ - - + + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineDictMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineDictMapper.xml index a0cd621b..d036e704 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineDictMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineDictMapper.xml @@ -14,7 +14,7 @@ - + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlinePageMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlinePageMapper.xml index 9f72c41a..bd3fde4e 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlinePageMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlinePageMapper.xml @@ -7,7 +7,7 @@ - + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineRuleMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineRuleMapper.xml index f9d1c8ba..9d688d40 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineRuleMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dao/mapper/OnlineRuleMapper.xml @@ -5,7 +5,7 @@ - + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/object/ConstDictInfo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/object/ConstDictInfo.java new file mode 100644 index 00000000..f58e6429 --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/object/ConstDictInfo.java @@ -0,0 +1,24 @@ +package com.orangeforms.common.online.object; + +import lombok.Data; + +import java.util.List; + +/** + * 在线表单常量字典的数据结构。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Data +public class ConstDictInfo { + + private List dictData; + + @Data + public static class ConstDictData { + private String type; + private Object id; + private String name; + } +} diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/OnlineColumnService.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/OnlineColumnService.java index 7b278284..19174be7 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/OnlineColumnService.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/OnlineColumnService.java @@ -1,7 +1,6 @@ package com.orangeforms.common.online.service; import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.object.CallResult; import com.orangeforms.common.online.model.OnlineColumn; import com.orangeforms.common.online.model.OnlineColumnRule; import com.orangeforms.common.online.object.SqlTableColumn; @@ -105,22 +104,20 @@ public interface OnlineColumnService extends IBaseService { * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 * 如果需要同时获取关联数据,请移步(getOnlineColumnListWithRelation)方法。 * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 + * @param filter 过滤对象。 * @return 查询结果集。 */ - List getOnlineColumnList(OnlineColumn filter, String orderBy); + List getOnlineColumnList(OnlineColumn filter); /** * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 * 如果仅仅需要获取主表数据,请移步(getOnlineColumnList),以便获取更好的查询性能。 * - * @param filter 主表过滤对象。 - * @param orderBy 排序参数。 + * @param filter 主表过滤对象。 * @return 查询结果集。 */ - List getOnlineColumnListWithRelation(OnlineColumn filter, String orderBy); + List getOnlineColumnListWithRelation(OnlineColumn filter); /** * 获取指定数据表Id集合的字段对象列表。 diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineColumnServiceImpl.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineColumnServiceImpl.java index 4736b222..f878598b 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineColumnServiceImpl.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineColumnServiceImpl.java @@ -8,8 +8,10 @@ import com.orangeforms.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.service.BaseService; import com.orangeforms.common.core.object.CallResult; import com.orangeforms.common.core.object.MyRelationParam; +import com.orangeforms.common.core.config.CoreProperties; import com.orangeforms.common.core.util.RedisKeyUtil; import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; +import com.orangeforms.common.online.config.OnlineProperties; import com.orangeforms.common.online.dao.OnlineColumnMapper; import com.orangeforms.common.online.dao.OnlineColumnRuleMapper; import com.orangeforms.common.online.model.OnlineColumn; @@ -51,6 +53,8 @@ public class OnlineColumnServiceImpl extends BaseService imp private IdGeneratorWrapper idGenerator; @Autowired private RedissonClient redissonClient; + @Autowired + private OnlineProperties onlineProperties; /** * 返回当前Service的主表Mapper对象。 @@ -168,13 +172,12 @@ public class OnlineColumnServiceImpl extends BaseService imp * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 * 如果需要同时获取关联数据,请移步(getOnlineColumnListWithRelation)方法。 * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 + * @param filter 过滤对象。 * @return 查询结果集。 */ @Override - public List getOnlineColumnList(OnlineColumn filter, String orderBy) { - return onlineColumnMapper.getOnlineColumnList(filter, orderBy); + public List getOnlineColumnList(OnlineColumn filter) { + return onlineColumnMapper.getOnlineColumnList(filter); } /** @@ -182,13 +185,12 @@ public class OnlineColumnServiceImpl extends BaseService imp * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 * 如果仅仅需要获取主表数据,请移步(getOnlineColumnList),以便获取更好的查询性能。 * - * @param filter 主表过滤对象。 - * @param orderBy 排序参数。 + * @param filter 主表过滤对象。 * @return 查询结果集。 */ @Override - public List getOnlineColumnListWithRelation(OnlineColumn filter, String orderBy) { - List resultList = onlineColumnMapper.getOnlineColumnList(filter, orderBy); + public List getOnlineColumnListWithRelation(OnlineColumn filter) { + List resultList = onlineColumnMapper.getOnlineColumnList(filter); // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; @@ -325,41 +327,75 @@ public class OnlineColumnServiceImpl extends BaseService imp } private String convertToJavaType(String columnType) { - if ("varchar".equals(columnType) - || "char".equals(columnType) - || "text".equals(columnType) - || "longtext".equals(columnType) - || "mediumtext".equals(columnType) - || "tinytext".equals(columnType)) { - return "String"; - } - if ("int".equals(columnType) - || "mediumint".equals(columnType) - || "smallint".equals(columnType) - || "tinyint".equals(columnType)) { - return "Integer"; - } - if ("bit".equals(columnType)) { - return "Boolean"; - } - if ("bigint".equals(columnType)) { - return "Long"; - } - if ("decimal".equals(columnType)) { - return "BigDecimal"; - } - if ("float".equals(columnType) - || "double".equals(columnType)) { - return "Double"; - } - if ("date".equals(columnType) - || "datetime".equals(columnType) - || "timestamp".equals(columnType) - || "time".equals(columnType)) { - return "Date"; - } - if ("blob".equals(columnType)) { - return "byte[]"; + if (onlineProperties.getDatabaseType().equals(CoreProperties.MYSQL_TYPE)) { + if ("varchar".equals(columnType) + || "char".equals(columnType) + || "text".equals(columnType) + || "longtext".equals(columnType) + || "mediumtext".equals(columnType) + || "tinytext".equals(columnType)) { + return "String"; + } + if ("int".equals(columnType) + || "mediumint".equals(columnType) + || "smallint".equals(columnType) + || "tinyint".equals(columnType)) { + return "Integer"; + } + if ("bit".equals(columnType)) { + return "Boolean"; + } + if ("bigint".equals(columnType)) { + return "Long"; + } + if ("decimal".equals(columnType)) { + return "BigDecimal"; + } + if ("float".equals(columnType) + || "double".equals(columnType)) { + return "Double"; + } + if ("date".equals(columnType) + || "datetime".equals(columnType) + || "timestamp".equals(columnType) + || "time".equals(columnType)) { + return "Date"; + } + if ("blob".equals(columnType)) { + return "byte[]"; + } + } else if (onlineProperties.getDatabaseType().equals(CoreProperties.POSTGRESQL_TYPE)) { + if ("varchar".equals(columnType) + || "char".equals(columnType) + || "text".equals(columnType)) { + return "String"; + } + if ("int4".equals(columnType) + || "int2".equals(columnType) + || "bit".equals(columnType)) { + return "Integer"; + } + if ("bool".equals(columnType)) { + return "Boolean"; + } + if ("int8".equals(columnType)) { + return "Long"; + } + if ("numeric".equals(columnType)) { + return "BigDecimal"; + } + if ("float4".equals(columnType) + || "float8".equals(columnType)) { + return "Double"; + } + if ("date".equals(columnType) + || "timestamp".equals(columnType) + || "time".equals(columnType)) { + return "Date"; + } + if ("bytea".equals(columnType)) { + return "byte[]"; + } } throw new RuntimeException("Unsupported Data Type"); } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineDblinkServiceImpl.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineDblinkServiceImpl.java index f25b4270..a72e7bf2 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineDblinkServiceImpl.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineDblinkServiceImpl.java @@ -1,8 +1,11 @@ package com.orangeforms.common.online.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; +import cn.hutool.core.util.StrUtil; import com.orangeforms.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.service.BaseService; +import com.orangeforms.common.core.config.CoreProperties; import com.orangeforms.common.core.config.DataSourceContextHolder; import com.orangeforms.common.core.object.MyRelationParam; import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; @@ -166,7 +169,16 @@ public class OnlineDblinkServiceImpl extends BaseService imp resultList.forEach(r -> { SqlTableColumn sqlTableColumn = BeanUtil.mapToBean(r, SqlTableColumn.class, false, null); - sqlTableColumn.setAutoIncrement("auto_increment".equals(sqlTableColumn.getExtra())); + if (onlineProperties.getDatabaseType().equals(CoreProperties.POSTGRESQL_TYPE)) { + if (StrUtil.equalsAny(sqlTableColumn.getColumnType(), "char", "varchar")) { + sqlTableColumn.setFullColumnType( + sqlTableColumn.getColumnType() + "(" + sqlTableColumn.getStringPrecision() + ")"); + } else { + sqlTableColumn.setFullColumnType(sqlTableColumn.getColumnType()); + } + } else if (onlineProperties.getDatabaseType().equals(CoreProperties.MYSQL_TYPE)) { + sqlTableColumn.setAutoIncrement("auto_increment".equals(sqlTableColumn.getExtra())); + } columnList.add(sqlTableColumn); }); return columnList; @@ -191,9 +203,18 @@ public class OnlineDblinkServiceImpl extends BaseService imp if (result == null) { return null; } - SqlTableColumn sqlTableColumn = - BeanUtil.mapToBean(result, SqlTableColumn.class, false, null); - sqlTableColumn.setAutoIncrement("auto_increment".equals(sqlTableColumn.getExtra())); + SqlTableColumn sqlTableColumn = BeanUtil.mapToBean( + result, SqlTableColumn.class, false, CopyOptions.create().ignoreCase()); + if (onlineProperties.getDatabaseType().equals(CoreProperties.POSTGRESQL_TYPE)) { + if (StrUtil.equalsAny(sqlTableColumn.getColumnType(), "char", "varchar")) { + sqlTableColumn.setFullColumnType( + sqlTableColumn.getColumnType() + "(" + sqlTableColumn.getStringPrecision() + ")"); + } else { + sqlTableColumn.setFullColumnType(sqlTableColumn.getColumnType()); + } + } else if (onlineProperties.getDatabaseType().equals(CoreProperties.MYSQL_TYPE)) { + sqlTableColumn.setAutoIncrement("auto_increment".equals(sqlTableColumn.getExtra())); + } return sqlTableColumn; } finally { DataSourceContextHolder.unset(originalType); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineOperationServiceImpl.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineOperationServiceImpl.java index d751b34f..c55f308f 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineOperationServiceImpl.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/service/impl/OnlineOperationServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.map.MapUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONArray; import com.orangeforms.common.core.annotation.MyDataSourceResolver; import com.orangeforms.common.core.config.CoreProperties; @@ -19,6 +20,7 @@ import com.orangeforms.common.datafilter.constant.DataPermRuleType; import com.orangeforms.common.datafilter.config.DataFilterProperties; import com.orangeforms.common.online.config.OnlineProperties; import com.orangeforms.common.online.model.constant.*; +import com.orangeforms.common.online.object.ConstDictInfo; import com.orangeforms.common.online.service.OnlineVirtualColumnService; import com.orangeforms.common.online.util.OnlineOperationHelper; import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; @@ -75,14 +77,14 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { /** * 聚合返回数据中,聚合键的常量字段名。 - * 如select groupColumn groupedKey, max(aggregationColumn) aggregatedValue。 + * 如select groupColumn grouped_key, max(aggregationColumn) aggregated_value。 */ - private static final String KEY_NAME = "groupedKey"; + private static final String KEY_NAME = "grouped_key"; /** * 聚合返回数据中,聚合值的常量字段名。 - * 如select groupColumn groupedKey, max(aggregationColumn) aggregatedValue。 + * 如select groupColumn grouped_key, max(aggregationColumn) aggregated_value。 */ - private static final String VALUE_NAME = "aggregatedValue"; + private static final String VALUE_NAME = "aggregated_value"; @Transactional(rollbackFor = Exception.class) @Override @@ -556,8 +558,10 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { if (CollUtil.isEmpty(dictIdSet)) { return; } - List dictList = onlineDictService.getOnlineDictList(dictIdSet) - .stream().filter(d -> d.getDictType() == DictType.TABLE).collect(Collectors.toList()); + List allDictList = onlineDictService.getOnlineDictList(dictIdSet); + List dictList = allDictList.stream() + .filter(d -> d.getDictType() == DictType.TABLE || d.getDictType() == DictType.CUSTOM) + .collect(Collectors.toList()); for (OnlineDict dict : dictList) { Collection columnNameList = dictColumnMap.get(dict.getDictId()); for (String columnName : columnNameList) { @@ -571,27 +575,38 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { if (CollUtil.isEmpty(dictIdDataSet)) { continue; } - String selectFields = this.makeDictSelectFields(dict, true); - List filterList = new LinkedList<>(); - if (StrUtil.isNotBlank(dict.getDeletedColumnName())) { - OnlineFilterDto filter = new OnlineFilterDto(); - filter.setColumnName(dict.getDeletedColumnName()); - filter.setColumnValue(GlobalDeletedFlag.NORMAL); - filterList.add(filter); - } - OnlineFilterDto inlistFilter = new OnlineFilterDto(); - inlistFilter.setColumnName(dict.getKeyColumnName()); - inlistFilter.setColumnValueList(dictIdDataSet); - inlistFilter.setFilterType(FieldFilterType.IN_LIST_FILTER); - filterList.add(inlistFilter); - List> dictResultList = - onlineOperationMapper.getDictList(dict.getTableName(), selectFields, filterList, null); - if (CollUtil.isEmpty(dictResultList)) { - continue; - } - Map dictResultMap = new HashMap<>(dictResultList.size()); - for (Map dictResult : dictResultList) { - dictResultMap.put(dictResult.get("id"), dictResult.get("name")); + Map dictResultMap; + if (dict.getDictType().equals(DictType.CUSTOM)) { + ConstDictInfo dictInfo = + JSONObject.parseObject(dict.getDictDataJson(), ConstDictInfo.class); + List dictDataList = dictInfo.getDictData(); + dictResultMap = new HashMap<>(dictDataList.size()); + for (ConstDictInfo.ConstDictData dictData : dictDataList) { + dictResultMap.put(dictData.getId(), dictData.getName()); + } + } else { + String selectFields = this.makeDictSelectFields(dict, true); + List filterList = new LinkedList<>(); + if (StrUtil.isNotBlank(dict.getDeletedColumnName())) { + OnlineFilterDto filter = new OnlineFilterDto(); + filter.setColumnName(dict.getDeletedColumnName()); + filter.setColumnValue(GlobalDeletedFlag.NORMAL); + filterList.add(filter); + } + OnlineFilterDto inlistFilter = new OnlineFilterDto(); + inlistFilter.setColumnName(dict.getKeyColumnName()); + inlistFilter.setColumnValueList(dictIdDataSet); + inlistFilter.setFilterType(FieldFilterType.IN_LIST_FILTER); + filterList.add(inlistFilter); + List> dictResultList = + onlineOperationMapper.getDictList(dict.getTableName(), selectFields, filterList, null); + if (CollUtil.isEmpty(dictResultList)) { + continue; + } + dictResultMap = new HashMap<>(dictResultList.size()); + for (Map dictResult : dictResultList) { + dictResultMap.put(dictResult.get("id"), dictResult.get("name")); + } } String dictKeyName = columnName + "__DictMap"; for (Map result : resultList) { @@ -664,32 +679,32 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { .append(column.getColumnName()) .append(" AS ") .append(intString) - .append(") ") + .append(") \"") .append(relationVariableName) .append(OnlineConstant.RELATION_TABLE_COLUMN_SEPARATOR) .append(column.getColumnName()) - .append(","); + .append("\","); } else if ("date".equals(column.getColumnType())) { selectFieldBuider .append("CAST(") .append(slaveTable.getTableName()) .append(".") .append(column.getColumnName()) - .append(" AS CHAR(10)) ") + .append(" AS CHAR(10)) \"") .append(relationVariableName) .append(OnlineConstant.RELATION_TABLE_COLUMN_SEPARATOR) .append(column.getColumnName()) - .append(","); + .append("\","); } else { selectFieldBuider .append(slaveTable.getTableName()) .append(".") .append(column.getColumnName()) - .append(" ") + .append(" \"") .append(relationVariableName) .append(OnlineConstant.RELATION_TABLE_COLUMN_SEPARATOR) .append(column.getColumnName()) - .append(","); + .append("\","); } } return selectFieldBuider.substring(0, selectFieldBuider.length() - 1); @@ -718,32 +733,32 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { .append(column.getColumnName()) .append(" AS ") .append(intString) - .append(") ") + .append(") \"") .append(relation.getVariableName()) .append(OnlineConstant.RELATION_TABLE_COLUMN_SEPARATOR) .append(column.getColumnName()) - .append(","); + .append("\","); } else if ("date".equals(column.getColumnType())) { selectFieldBuider .append("CAST(") .append(slaveTable.getTableName()) .append(".") .append(column.getColumnName()) - .append(" AS CHAR(10)) ") + .append(" AS CHAR(10)) \"") .append(relation.getVariableName()) .append(OnlineConstant.RELATION_TABLE_COLUMN_SEPARATOR) .append(column.getColumnName()) - .append(","); + .append("\","); } else { selectFieldBuider .append(slaveTable.getTableName()) .append(".") .append(column.getColumnName()) - .append(" ") + .append(" \"") .append(relation.getVariableName()) .append(OnlineConstant.RELATION_TABLE_COLUMN_SEPARATOR) .append(column.getColumnName()) - .append(","); + .append("\","); } } } @@ -762,18 +777,18 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { .append(column.getColumnName()) .append(" AS ") .append(intString) - .append(") ") + .append(") \"") .append(column.getColumnName()) - .append(","); + .append("\","); } else if ("date".equals(column.getColumnType())) { selectFieldBuider .append("CAST(") .append(masterTable.getTableName()) .append(".") .append(column.getColumnName()) - .append(" AS CHAR(10)) ") + .append(" AS CHAR(10)) \"") .append(column.getColumnName()) - .append(","); + .append("\","); } else { selectFieldBuider .append(masterTable.getTableName()) @@ -787,10 +802,10 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { private String makeDictSelectFields(OnlineDict onlineDict, boolean ignoreParentId) { StringBuilder sb = new StringBuilder(128); - sb.append(onlineDict.getKeyColumnName()).append(" id, "); - sb.append(onlineDict.getValueColumnName()).append(" name"); + sb.append(onlineDict.getKeyColumnName()).append(" \"id\", "); + sb.append(onlineDict.getValueColumnName()).append(" \"name\""); if (!ignoreParentId && onlineDict.getTreeFlag()) { - sb.append(", ").append(onlineDict.getParentKeyColumnName()).append(" parentId"); + sb.append(", ").append(onlineDict.getParentKeyColumnName()).append(" \"parentId\""); } return sb.toString(); } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/util/OnlineOperationHelper.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/util/OnlineOperationHelper.java index 9b253947..7dbee80a 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/util/OnlineOperationHelper.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/util/OnlineOperationHelper.java @@ -1,6 +1,7 @@ package com.orangeforms.common.online.util; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -114,10 +115,6 @@ public class OnlineOperationHelper { if (relation == null || !relation.getDatasourceId().equals(datasourceId)) { return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); } - if (!relation.getRelationType().equals(RelationType.ONE_TO_MANY)) { - errorMessage = "数据验证失败,数据源关联 [" + relation.getRelationName() + " ] 不是一对多关联,不能调用该接口!"; - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } OnlineTable slaveTable = onlineTableService.getOnlineTableFromCache(relation.getSlaveTableId()); if (slaveTable == null) { errorMessage = "数据验证失败,数据源关联 [" + relation.getRelationName() + " ] 引用的从表不存在!"; @@ -173,6 +170,13 @@ public class OnlineOperationHelper { continue; } Object value = tableData.get(column.getColumnName()); + if (value != null) { + if ("Long".equals(column.getObjectFieldType())) { + value = Long.valueOf(value.toString()); + } else if ("Date".equals(column.getObjectFieldType())) { + value = Convert.toDate(value); + } + } // 对于主键数据的处理。 if (column.getPrimaryKey()) { // 如果是更新则必须包含主键参数。 diff --git a/orange-demo-flowable/orange-demo-flowable-service/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/pom.xml index 2caaa016..7a3bcd0e 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/pom.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/pom.xml @@ -10,8 +10,8 @@ pom - 2.3.10.RELEASE - 2.3.1 + 2.5.8 + 2.5.5 UTF-8 1.8 1.8 diff --git a/orange-demo-flowable/orange-demo-flowable-service/zz-resource/db-scripts/.DS_Store b/orange-demo-flowable/orange-demo-flowable-service/zz-resource/db-scripts/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 + style="height: 18px; line-height: 18px; cursor: pointer;"> diff --git a/orange-demo-flowable/orange-demo-flowable-web/src/views/onlineForm/components/customTable.vue b/orange-demo-flowable/orange-demo-flowable-web/src/views/onlineForm/components/customTable.vue index fa891ca4..4e2a514e 100644 --- a/orange-demo-flowable/orange-demo-flowable-web/src/views/onlineForm/components/customTable.vue +++ b/orange-demo-flowable/orange-demo-flowable-web/src/views/onlineForm/components/customTable.vue @@ -11,7 +11,8 @@ v-for="operation in getTableOperation(false)" :key="operation.id" :plain="operation.plain" :type="operation.btnType" - @click.stop="onOperationClick(operation)"> + @click.stop="onOperationClick(operation)" + > {{operation.name}} @@ -22,7 +23,8 @@ :style="{height: (widgetConfig.tableInfo.height != null && widgetConfig.tableInfo.height !== '') ? widgetConfig.tableInfo.height + 'px' : undefined}" :height="(widgetConfig.tableInfo.height != null && widgetConfig.tableInfo.height !== '') ? widgetConfig.tableInfo.height + 'px' : undefined" :data="tableWidget.dataList" :row-key="primaryColumnName" - @sort-change="tableWidget.onSortChange"> + @sort-change="tableWidget.onSortChange" @selection-change="onTableSelectionChange"> +