Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
fill-system
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
廖旭伟
fill-system
Commits
a74945e2
Commit
a74945e2
authored
Nov 02, 2022
by
廖旭伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
框架版本升级到1.1.7
parent
7064a0a9
Pipeline
#2285
failed with stages
Changes
135
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
135 changed files
with
5858 additions
and
2046 deletions
+5858
-2046
common-lib/pom.xml
common-lib/pom.xml
+37
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/DefinitionVoPdu.java
...java/com/mortals/xhx/common/pdu/flow/DefinitionVoPdu.java
+29
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowCommentPdu.java
.../java/com/mortals/xhx/common/pdu/flow/FlowCommentPdu.java
+21
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowNextPdu.java
...ain/java/com/mortals/xhx/common/pdu/flow/FlowNextPdu.java
+35
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowProcDefPdu.java
.../java/com/mortals/xhx/common/pdu/flow/FlowProcDefPdu.java
+76
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowSaveXmlPdu.java
.../java/com/mortals/xhx/common/pdu/flow/FlowSaveXmlPdu.java
+30
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowTaskNotifyPdu.java
...va/com/mortals/xhx/common/pdu/flow/FlowTaskNotifyPdu.java
+31
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowTaskPdu.java
...ain/java/com/mortals/xhx/common/pdu/flow/FlowTaskPdu.java
+132
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowTaskVars.java
...in/java/com/mortals/xhx/common/pdu/flow/FlowTaskVars.java
+96
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowTaskVoPdu.java
...n/java/com/mortals/xhx/common/pdu/flow/FlowTaskVoPdu.java
+63
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowUserTaskPdu.java
...java/com/mortals/xhx/common/pdu/flow/FlowUserTaskPdu.java
+26
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowViewerPdu.java
...n/java/com/mortals/xhx/common/pdu/flow/FlowViewerPdu.java
+18
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/sms/SmsSendReq.java
.../main/java/com/mortals/xhx/common/pdu/sms/SmsSendReq.java
+12
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/sms/SmsSendResp.java
...main/java/com/mortals/xhx/common/pdu/sms/SmsSendResp.java
+9
-0
common-lib/src/main/java/com/mortals/xhx/feign/AttachmentEntity.java
...src/main/java/com/mortals/xhx/feign/AttachmentEntity.java
+30
-0
common-lib/src/main/java/com/mortals/xhx/feign/BaseTaskReq.java
...-lib/src/main/java/com/mortals/xhx/feign/BaseTaskReq.java
+64
-0
common-lib/src/main/java/com/mortals/xhx/feign/flowable/IApiFlowDefinitionFeign.java
...m/mortals/xhx/feign/flowable/IApiFlowDefinitionFeign.java
+54
-0
common-lib/src/main/java/com/mortals/xhx/feign/flowable/IApiFlowFeign.java
...in/java/com/mortals/xhx/feign/flowable/IApiFlowFeign.java
+194
-0
common-lib/src/main/java/com/mortals/xhx/feign/flowable/IApiFlowInstanceFeign.java
...com/mortals/xhx/feign/flowable/IApiFlowInstanceFeign.java
+91
-0
common-lib/src/main/java/com/mortals/xhx/feign/flowable/IApiFlowTaskFeign.java
...ava/com/mortals/xhx/feign/flowable/IApiFlowTaskFeign.java
+195
-0
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/InstanceQueryParamsReq.java
...als/xhx/feign/processinstance/InstanceQueryParamsReq.java
+68
-0
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessCommonReq.java
...m/mortals/xhx/feign/processinstance/ProcessCommonReq.java
+22
-0
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessDeleteReq.java
...m/mortals/xhx/feign/processinstance/ProcessDeleteReq.java
+27
-0
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessInstanceInfo.java
...ortals/xhx/feign/processinstance/ProcessInstanceInfo.java
+158
-0
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessStopReq.java
...com/mortals/xhx/feign/processinstance/ProcessStopReq.java
+20
-0
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessUpdateStateReq.java
...tals/xhx/feign/processinstance/ProcessUpdateStateReq.java
+26
-0
common-lib/src/main/java/com/mortals/xhx/feign/req/BaseQuery.java
...ib/src/main/java/com/mortals/xhx/feign/req/BaseQuery.java
+1
-0
common-lib/src/main/java/com/mortals/xhx/feign/rsp/ApiResp.java
...-lib/src/main/java/com/mortals/xhx/feign/rsp/ApiResp.java
+6
-0
common-lib/src/main/java/com/mortals/xhx/feign/rsp/DefinitionDeployRsp.java
...n/java/com/mortals/xhx/feign/rsp/DefinitionDeployRsp.java
+21
-0
common-lib/src/main/java/com/mortals/xhx/feign/rsp/FlowProcDef.java
.../src/main/java/com/mortals/xhx/feign/rsp/FlowProcDef.java
+64
-0
common-lib/src/main/java/com/mortals/xhx/feign/rsp/FlowProcStartInfo.java
...ain/java/com/mortals/xhx/feign/rsp/FlowProcStartInfo.java
+25
-0
common-lib/src/main/java/com/mortals/xhx/feign/rsp/FlowTaskInfo.java
...src/main/java/com/mortals/xhx/feign/rsp/FlowTaskInfo.java
+167
-0
common-lib/src/main/java/com/mortals/xhx/feign/rsp/TaskRsp.java
...-lib/src/main/java/com/mortals/xhx/feign/rsp/TaskRsp.java
+22
-0
common-lib/src/main/java/com/mortals/xhx/feign/runtime/StartProcessInstanceReq.java
...om/mortals/xhx/feign/runtime/StartProcessInstanceReq.java
+70
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/AddSignTaskReq.java
.../main/java/com/mortals/xhx/feign/task/AddSignTaskReq.java
+24
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/CommonTaskReq.java
...c/main/java/com/mortals/xhx/feign/task/CommonTaskReq.java
+33
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/CompleteTaskReq.java
...main/java/com/mortals/xhx/feign/task/CompleteTaskReq.java
+47
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/DelegateTaskReq.java
...main/java/com/mortals/xhx/feign/task/DelegateTaskReq.java
+23
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/DeleteTaskReq.java
...c/main/java/com/mortals/xhx/feign/task/DeleteTaskReq.java
+20
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/RejectTaskReq.java
...c/main/java/com/mortals/xhx/feign/task/RejectTaskReq.java
+20
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/ReturnTaskReq.java
...c/main/java/com/mortals/xhx/feign/task/ReturnTaskReq.java
+20
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/RevokeTaskReq.java
...c/main/java/com/mortals/xhx/feign/task/RevokeTaskReq.java
+20
-0
common-lib/src/main/java/com/mortals/xhx/feign/task/TurnTaskReq.java
...src/main/java/com/mortals/xhx/feign/task/TurnTaskReq.java
+23
-0
common-lib/src/main/java/com/mortals/xhx/utils/QRCodeUtil.java
...n-lib/src/main/java/com/mortals/xhx/utils/QRCodeUtil.java
+1
-1
fill-manager/pom.xml
fill-manager/pom.xml
+23
-31
fill-manager/src/main/java/com/mortals/xhx/base/framework/CustomJsonDateDeserializer.java
...ortals/xhx/base/framework/CustomJsonDateDeserializer.java
+38
-0
fill-manager/src/main/java/com/mortals/xhx/base/framework/WxMessageConverter.java
...va/com/mortals/xhx/base/framework/WxMessageConverter.java
+21
-0
fill-manager/src/main/java/com/mortals/xhx/base/framework/annotation/ApiUserAuth.java
...om/mortals/xhx/base/framework/annotation/ApiUserAuth.java
+14
-0
fill-manager/src/main/java/com/mortals/xhx/base/framework/aspect/OperlogAspect.java
.../com/mortals/xhx/base/framework/aspect/OperlogAspect.java
+32
-10
fill-manager/src/main/java/com/mortals/xhx/base/framework/aspect/WebLogAspect.java
...a/com/mortals/xhx/base/framework/aspect/WebLogAspect.java
+15
-6
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/AccountConfig.java
.../com/mortals/xhx/base/framework/config/AccountConfig.java
+13
-6
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/CorsConfig.java
...ava/com/mortals/xhx/base/framework/config/CorsConfig.java
+46
-0
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java
...m/mortals/xhx/base/framework/config/CrossInterceptor.java
+1
-7
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/FilterConfig.java
...a/com/mortals/xhx/base/framework/config/FilterConfig.java
+57
-0
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/MybatisConfiguration.java
...rtals/xhx/base/framework/config/MybatisConfiguration.java
+1
-12
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/RedissonConfig.java
...com/mortals/xhx/base/framework/config/RedissonConfig.java
+79
-0
fill-manager/src/main/java/com/mortals/xhx/base/framework/filter/RequestFilter.java
.../com/mortals/xhx/base/framework/filter/RequestFilter.java
+13
-23
fill-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
.../xhx/base/framework/interceptor/AuthTokenServiceImpl.java
+7
-7
fill-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java
...s/xhx/base/framework/interceptor/AuthUserInterceptor.java
+18
-16
fill-manager/src/main/java/com/mortals/xhx/base/framework/ws/handler/AuthMessageHandler.java
...als/xhx/base/framework/ws/handler/AuthMessageHandler.java
+0
-1
fill-manager/src/main/java/com/mortals/xhx/base/framework/ws/handler/HeartBeatHandler.java
...rtals/xhx/base/framework/ws/handler/HeartBeatHandler.java
+0
-2
fill-manager/src/main/java/com/mortals/xhx/base/framework/ws/websocket/WebSocketShakeInterceptor.java
...ase/framework/ws/websocket/WebSocketShakeInterceptor.java
+6
-5
fill-manager/src/main/java/com/mortals/xhx/base/login/interceptor/AuthJsonInterceptor.java
...rtals/xhx/base/login/interceptor/AuthJsonInterceptor.java
+12
-1
fill-manager/src/main/java/com/mortals/xhx/base/login/web/LoginController.java
.../java/com/mortals/xhx/base/login/web/LoginController.java
+73
-22
fill-manager/src/main/java/com/mortals/xhx/base/login/web/LoginForm.java
...c/main/java/com/mortals/xhx/base/login/web/LoginForm.java
+2
-4
fill-manager/src/main/java/com/mortals/xhx/base/login/web/SecurityCodeController.java
...om/mortals/xhx/base/login/web/SecurityCodeController.java
+6
-8
fill-manager/src/main/java/com/mortals/xhx/base/system/menu/model/MenuEntity.java
...va/com/mortals/xhx/base/system/menu/model/MenuEntity.java
+12
-1
fill-manager/src/main/java/com/mortals/xhx/base/system/menu/service/MenuService.java
...com/mortals/xhx/base/system/menu/service/MenuService.java
+8
-0
fill-manager/src/main/java/com/mortals/xhx/base/system/menu/service/impl/MenuServiceImpl.java
...ls/xhx/base/system/menu/service/impl/MenuServiceImpl.java
+78
-10
fill-manager/src/main/java/com/mortals/xhx/base/system/menu/web/MenuController.java
.../com/mortals/xhx/base/system/menu/web/MenuController.java
+76
-70
fill-manager/src/main/java/com/mortals/xhx/base/system/oper/model/OperLogEntity.java
...com/mortals/xhx/base/system/oper/model/OperLogEntity.java
+0
-3
fill-manager/src/main/java/com/mortals/xhx/base/system/oper/service/impl/OperLogServiceImpl.java
...xhx/base/system/oper/service/impl/OperLogServiceImpl.java
+1
-1
fill-manager/src/main/java/com/mortals/xhx/base/system/oper/web/OperLogController.java
...m/mortals/xhx/base/system/oper/web/OperLogController.java
+41
-30
fill-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceController.java
...tals/xhx/base/system/resource/web/ResourceController.java
+9
-17
fill-manager/src/main/java/com/mortals/xhx/base/system/role/model/RoleEntity.java
...va/com/mortals/xhx/base/system/role/model/RoleEntity.java
+5
-1
fill-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleServiceImpl.java
...ls/xhx/base/system/role/service/impl/RoleServiceImpl.java
+32
-3
fill-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java
...hx/base/system/role/service/impl/RoleUserServiceImpl.java
+4
-1
fill-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthController.java
.../mortals/xhx/base/system/role/web/RoleAuthController.java
+35
-39
fill-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleController.java
.../com/mortals/xhx/base/system/role/web/RoleController.java
+20
-23
fill-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserController.java
.../mortals/xhx/base/system/role/web/RoleUserController.java
+77
-83
fill-manager/src/main/java/com/mortals/xhx/base/system/task/service/impl/TaskServiceImpl.java
...ls/xhx/base/system/task/service/impl/TaskServiceImpl.java
+12
-12
fill-manager/src/main/java/com/mortals/xhx/base/system/task/web/TaskController.java
.../com/mortals/xhx/base/system/task/web/TaskController.java
+15
-53
fill-manager/src/main/java/com/mortals/xhx/base/system/upload/service/UploadService.java
...mortals/xhx/base/system/upload/service/UploadService.java
+2
-0
fill-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java
...hx/base/system/upload/service/impl/UploadServiceImpl.java
+20
-29
fill-manager/src/main/java/com/mortals/xhx/base/system/upload/web/UploadController.java
.../mortals/xhx/base/system/upload/web/UploadController.java
+8
-22
fill-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java
...va/com/mortals/xhx/base/system/user/model/UserEntity.java
+240
-394
fill-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntityExt.java
...com/mortals/xhx/base/system/user/model/UserEntityExt.java
+31
-28
fill-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserQuery.java
...ava/com/mortals/xhx/base/system/user/model/UserQuery.java
+502
-897
fill-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java
...ava/com/mortals/xhx/base/system/user/model/vo/UserVo.java
+46
-0
fill-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java
...com/mortals/xhx/base/system/user/service/UserService.java
+14
-8
fill-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
...ls/xhx/base/system/user/service/impl/UserServiceImpl.java
+66
-64
fill-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java
.../com/mortals/xhx/base/system/user/web/UserController.java
+88
-50
fill-manager/src/main/java/com/mortals/xhx/base/system/valid/web/ValidCodeController.java
...ortals/xhx/base/system/valid/web/ValidCodeController.java
+2
-13
fill-manager/src/main/java/com/mortals/xhx/common/code/AgentEnum.java
.../src/main/java/com/mortals/xhx/common/code/AgentEnum.java
+75
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/ApiRespCodeEnum.java
...ain/java/com/mortals/xhx/common/code/ApiRespCodeEnum.java
+29
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/AssetFlowStatusEnum.java
...java/com/mortals/xhx/common/code/AssetFlowStatusEnum.java
+35
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/BomStatusEnum.java
.../main/java/com/mortals/xhx/common/code/BomStatusEnum.java
+64
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/CacheServiceTypeEnum.java
...ava/com/mortals/xhx/common/code/CacheServiceTypeEnum.java
+76
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/CompareTypeEnum.java
...ain/java/com/mortals/xhx/common/code/CompareTypeEnum.java
+37
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/ComponentEnum.java
.../main/java/com/mortals/xhx/common/code/ComponentEnum.java
+1
-1
fill-manager/src/main/java/com/mortals/xhx/common/code/DividedTableTypeEnum.java
...ava/com/mortals/xhx/common/code/DividedTableTypeEnum.java
+78
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/EventFieldInputTypeEnum.java
.../com/mortals/xhx/common/code/EventFieldInputTypeEnum.java
+64
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/FlowStatusEnum.java
...main/java/com/mortals/xhx/common/code/FlowStatusEnum.java
+63
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/GenTypeEnum.java
...rc/main/java/com/mortals/xhx/common/code/GenTypeEnum.java
+75
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/HtmlTypeEnum.java
...c/main/java/com/mortals/xhx/common/code/HtmlTypeEnum.java
+82
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/MannerEnum.java
...src/main/java/com/mortals/xhx/common/code/MannerEnum.java
+75
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/OneThingRespCodeEnum.java
...ava/com/mortals/xhx/common/code/OneThingRespCodeEnum.java
+29
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/OneThingStatusEnum.java
.../java/com/mortals/xhx/common/code/OneThingStatusEnum.java
+64
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/OneThingTypeEnum.java
...in/java/com/mortals/xhx/common/code/OneThingTypeEnum.java
+75
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/PublishStatusEnum.java
...n/java/com/mortals/xhx/common/code/PublishStatusEnum.java
+65
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/TopicalTypeEnum.java
...ain/java/com/mortals/xhx/common/code/TopicalTypeEnum.java
+75
-0
fill-manager/src/main/java/com/mortals/xhx/common/code/TreeTypeEnum.java
...c/main/java/com/mortals/xhx/common/code/TreeTypeEnum.java
+64
-0
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignCheckboxComponent.java
.../common/formdesign/component/DesignCheckboxComponent.java
+1
-1
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignDateComponent.java
.../xhx/common/formdesign/component/DesignDateComponent.java
+1
-1
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignDynamicTableComponent.java
...mon/formdesign/component/DesignDynamicTableComponent.java
+1
-5
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignInputComponent.java
...xhx/common/formdesign/component/DesignInputComponent.java
+1
-1
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignRadioComponent.java
...xhx/common/formdesign/component/DesignRadioComponent.java
+1
-1
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignSelectComponent.java
...hx/common/formdesign/component/DesignSelectComponent.java
+1
-1
fill-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
...er/src/main/java/com/mortals/xhx/common/key/Constant.java
+0
-3
fill-manager/src/main/java/com/mortals/xhx/common/key/ErrorCode.java
...r/src/main/java/com/mortals/xhx/common/key/ErrorCode.java
+125
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/NodeEntity.java
.../src/main/java/com/mortals/xhx/common/pdu/NodeEntity.java
+2
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/gen/component/ComponentCons.java
...m/mortals/xhx/common/pdu/gen/component/ComponentCons.java
+2
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/ChildrenItem.java
...in/java/com/mortals/xhx/common/pdu/test/ChildrenItem.java
+30
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Config.java
...src/main/java/com/mortals/xhx/common/pdu/test/Config.java
+62
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/FieldsItem.java
...main/java/com/mortals/xhx/common/pdu/test/FieldsItem.java
+84
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Methods.java
...rc/main/java/com/mortals/xhx/common/pdu/test/Methods.java
+7
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/On.java
...ger/src/main/java/com/mortals/xhx/common/pdu/test/On.java
+9
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/RegListItem.java
...ain/java/com/mortals/xhx/common/pdu/test/RegListItem.java
+12
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Response.java
...c/main/java/com/mortals/xhx/common/pdu/test/Response.java
+46
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Slot.java
...r/src/main/java/com/mortals/xhx/common/pdu/test/Slot.java
+15
-0
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Style.java
.../src/main/java/com/mortals/xhx/common/pdu/test/Style.java
+7
-0
fill-manager/src/main/java/com/mortals/xhx/common/utils/ExportDocUtil.java
...main/java/com/mortals/xhx/common/utils/ExportDocUtil.java
+192
-13
fill-manager/src/main/java/com/mortals/xhx/common/utils/WordUtil.java
.../src/main/java/com/mortals/xhx/common/utils/WordUtil.java
+14
-3
fill-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/DemoStartService.java
...rtals/xhx/daemon/applicationservice/DemoStartService.java
+13
-1
fill-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/DemoStartedService.java
...als/xhx/daemon/applicationservice/DemoStartedService.java
+14
-1
No files found.
common-lib/pom.xml
View file @
a74945e2
...
@@ -53,7 +53,17 @@
...
@@ -53,7 +53,17 @@
<artifactId>
guava
</artifactId>
<artifactId>
guava
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
io.swagger
</groupId>
<artifactId>
swagger-annotations
</artifactId>
<version>
1.6.2
</version>
</dependency>
<dependency>
<groupId>
com.google.zxing
</groupId>
<artifactId>
javase
</artifactId>
<version>
3.4.1
</version>
</dependency>
<dependency>
<dependency>
<groupId>
junit
</groupId>
<groupId>
junit
</groupId>
...
@@ -70,5 +80,32 @@
...
@@ -70,5 +80,32 @@
<filtering>
true
</filtering>
<filtering>
true
</filtering>
</resource>
</resource>
</resources>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
${java.version}
</source>
<target>
${java.version}
</target>
<encoding>
${project.build.sourceEncoding}
</encoding>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-resources-plugin
</artifactId>
<configuration>
<encoding>
${project.build.sourceEncoding}
</encoding>
</configuration>
</plugin>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<skip>
true
</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</build>
</project>
</project>
\ No newline at end of file
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/DefinitionVoPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Map
;
/**
* 工作流定义前端实体类
*
* @author: finegirl
* @date: 2021/7/31 23:38
*/
@Getter
@Setter
@ApiModel
(
"工作流定义前端实体类"
)
public
class
DefinitionVoPdu
implements
Serializable
{
@ApiModelProperty
(
"流程定义ID"
)
private
String
deployId
;
@ApiModelProperty
(
"状态"
)
private
Integer
state
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowCommentPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
@Builder
public
class
FlowCommentPdu
implements
Serializable
{
/**
* 意见类别 0 正常意见 1 退回意见 2 驳回意见
*/
private
String
type
;
/**
* 意见内容
*/
private
String
comment
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowNextPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
com.mortals.xhx.common.model.SysRole
;
import
com.mortals.xhx.common.model.SysUser
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* 动态人员、组
*
* @author: finegirl
* @date: 2021/8/1 22:49
*/
@Data
public
class
FlowNextPdu
implements
Serializable
{
private
String
type
;
/**
* 数据类型(fixed,dynamc两种)
*/
private
String
dateType
;
private
String
vars
;
private
String
name
;
private
String
assignee
;
private
List
<
String
>
candidateUsers
;
private
List
<
String
>
candidateGroups
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowProcDefPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 流程定义实体类
*
* @author: finegirl
* @date: 2021/7/31 14:56
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"流程定义"
)
public
class
FlowProcDefPdu
implements
Serializable
{
/**
* 流程id
*/
@ApiModelProperty
(
"流程id"
)
private
String
id
;
/**
* 流程名称
*/
@ApiModelProperty
(
"流程名称"
)
private
String
name
;
/**
* 流程key
*/
@ApiModelProperty
(
"流程key"
)
private
String
key
;
/**
* 流程分类
*/
@ApiModelProperty
(
"流程分类"
)
private
String
category
;
/**
* 配置表单名称
*/
@ApiModelProperty
(
"配置表单名称"
)
private
String
formName
;
/**
* 配置表单id
*/
@ApiModelProperty
(
"配置表单id"
)
private
Long
formId
;
/**
* 版本
*/
@ApiModelProperty
(
"版本"
)
private
int
version
;
/**
* 部署id
*/
@ApiModelProperty
(
"部署ID"
)
private
String
deploymentId
;
/**
* 流程定义状态: 1:激活 , 2:中止
*/
@ApiModelProperty
(
"流程定义状态: 1:激活 , 2:中止"
)
private
int
suspensionState
;
/**
* 部署时间
*/
@ApiModelProperty
(
"部署时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
deploymentTime
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowSaveXmlPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 流程类
*
* @author: finegirl
* @date: 2021/7/31 21:15
*/
@Data
public
class
FlowSaveXmlPdu
implements
Serializable
{
/**
* 流程名称
*/
private
String
name
;
/**
* 流程分类
*/
private
String
category
;
/**
* xml 文件
*/
private
String
xml
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowTaskNotifyPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
@Data
public
class
FlowTaskNotifyPdu
implements
Serializable
{
/**
* 用户审核列表(一个或者多个)
*/
private
List
<
String
>
userNameList
;
/**
* taskId
*/
private
String
taskId
;
/**
* taskName
*/
private
String
taskName
;
/**
* 租户Id
*/
private
String
tenantId
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowTaskPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.xhx.feign.AttachmentEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 工作流任务
*
* @author: finegirl
* @date: 2021/7/31 23:38
*/
@Getter
@Setter
@ApiModel
(
"工作流任务相关-返回参数"
)
public
class
FlowTaskPdu
implements
Serializable
{
@ApiModelProperty
(
"任务编号"
)
private
String
taskId
;
@ApiModelProperty
(
"任务名称"
)
private
String
taskName
;
@ApiModelProperty
(
"是否为子任务,0否 1是"
)
private
Integer
subTask
=
0
;
@ApiModelProperty
(
"父任务编号"
)
private
String
parentTaskId
;
@ApiModelProperty
(
"业务系统key"
)
private
String
businessKey
;
@ApiModelProperty
(
"任务Key"
)
private
String
taskDefKey
;
@ApiModelProperty
(
"任务执行人Id"
)
private
String
assigneeId
;
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"流程发起人部门名称"
)
private
String
startDeptName
;
@ApiModelProperty
(
"任务执行人名称"
)
private
String
assigneeName
;
@ApiModelProperty
(
"流程发起人Id"
)
private
String
startUserId
;
@ApiModelProperty
(
"流程发起人名称"
)
private
String
startUserName
;
@ApiModelProperty
(
"流程类型"
)
private
String
category
;
@ApiModelProperty
(
"流程变量信息"
)
private
Object
procVars
;
@ApiModelProperty
(
"局部变量信息"
)
private
Object
taskLocalVars
;
@ApiModelProperty
(
"流程部署编号"
)
private
String
deployId
;
@ApiModelProperty
(
"流程ID"
)
private
String
procDefId
;
@ApiModelProperty
(
"流程key"
)
private
String
procDefKey
;
@ApiModelProperty
(
"流程定义名称"
)
private
String
procDefName
;
@ApiModelProperty
(
"流程定义内置使用版本"
)
private
int
procDefVersion
;
@ApiModelProperty
(
"流程实例ID"
)
private
String
procInsId
;
@ApiModelProperty
(
"历史流程实例ID"
)
private
String
hisProcInsId
;
@ApiModelProperty
(
"任务耗时"
)
private
String
duration
;
@ApiModelProperty
(
"任务意见"
)
private
FlowCommentPdu
comment
;
@ApiModelProperty
(
"候选执行人"
)
private
String
candidate
;
@ApiModelProperty
(
"任务创建时间"
)
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private
Date
createTime
;
@ApiModelProperty
(
"任务完成时间"
)
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private
Date
finishTime
;
@ApiModelProperty
(
"流程变量信息"
)
private
Map
<
String
,
Object
>
values
;
@ApiModelProperty
(
"附件信息"
)
private
List
<
AttachmentEntity
>
attachmentList
;
/**
* 用户名称
*/
private
String
userCode
;
@ApiModelProperty
(
"审批人"
)
private
String
assignee
;
@ApiModelProperty
(
"候选人"
)
private
List
<
String
>
candidateUsers
;
@ApiModelProperty
(
"审批组"
)
private
List
<
String
>
candidateGroups
;
@ApiModelProperty
(
"业务平台标识"
)
private
String
platformSn
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowTaskVars.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Map
;
@Getter
@Setter
@ApiModel
(
"工作流任务相关-返回参数"
)
public
class
FlowTaskVars
implements
Serializable
{
@ApiModelProperty
(
"任务Id"
)
private
String
taskId
;
@ApiModelProperty
(
"节点"
)
private
String
targetKey
;
private
String
name
;
@ApiModelProperty
(
"审批人"
)
private
String
assignee
;
@ApiModelProperty
(
"候选人"
)
private
List
<
String
>
candidateUsers
;
@ApiModelProperty
(
"候选人"
)
private
String
candidateUsersName
;
@ApiModelProperty
(
"候选人名"
)
private
String
candidateUsersIds
;
@ApiModelProperty
(
"审批组"
)
private
List
<
String
>
candidateGroups
;
@ApiModelProperty
(
"审批组名"
)
private
String
candidateGroupsName
;
@ApiModelProperty
(
"审批组ids"
)
private
String
candidateGroupsids
;
@ApiModelProperty
(
"el表达式"
)
private
String
el
;
@ApiModelProperty
(
"是否多实例并行,0否1是"
)
private
Integer
multiple
;
@ApiModelProperty
(
"审核人列表"
)
private
List
<
String
>
assigneeList
;
public
static
void
main
(
String
[]
args
)
{
String
temp
=
"[{\"el\":\"${assignee1}\",\"multiple\":0,\"name\":\"行政审批\",\"targetKey\":\"Activity_04yxg8r\",\"assignee\":\"finegirl\",\"assigneeName\":\"张三\"},{\"el\":\"${assignee2}\",\"multiple\":0,\"name\":\"经理审批\",\"targetKey\":\"Activity_0m7qwz2\",\"assignee\":\"zhaoxiaofei\",\"assigneeName\":\"赵啸非\"},{\"el\":\"assigneeList\",\"multiple\":1,\"name\":\"领导会签\",\"targetKey\":\"Activity_1uv5dhe\",\"assigneeList\":[\"zhang1\",\"zhangbao\"],\"assigneeName\":\"张1,张宝,\"}]\n"
;
List
<
FlowTaskVars
>
list
=
JSON
.
parseObject
(
temp
,
new
TypeReference
<
List
<
FlowTaskVars
>>()
{
});
//构建提交参数
JSONObject
jsonObject
=
new
JSONObject
();
for
(
FlowTaskVars
var
:
list
){
//判断是否并联
if
(
var
.
getMultiple
()==
0
){
//key
String
el
=
var
.
getEl
();
String
key
=
el
.
substring
(
2
,
el
.
length
()
-
1
);
//值
String
assignee
=
var
.
getAssignee
();
jsonObject
.
put
(
key
,
assignee
);
}
else
{
//key
String
key
=
var
.
getEl
();
JSONArray
jsonArray
=
new
JSONArray
();
jsonArray
.
addAll
(
var
.
getAssigneeList
());
jsonObject
.
put
(
key
,
jsonArray
);
}
}
System
.
out
.
println
(
JSON
.
toJSONString
(
jsonObject
));
}
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowTaskVoPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 工作流任务
*
* @author: finegirl
* @date: 2021/7/31 23:38
*/
@Getter
@Setter
@ApiModel
(
"工作流任务相关-返回参数"
)
public
class
FlowTaskVoPdu
implements
Serializable
{
@ApiModelProperty
(
"任务Id"
)
private
String
taskId
;
@ApiModelProperty
(
"用户Id"
)
private
String
userId
;
@ApiModelProperty
(
"任务意见"
)
private
String
comment
;
@ApiModelProperty
(
"流程实例Id"
)
private
String
instanceId
;
@ApiModelProperty
(
"节点"
)
private
String
targetKey
;
private
String
name
;
@ApiModelProperty
(
"流程变量信息"
)
private
Map
<
String
,
Object
>
values
;
@ApiModelProperty
(
"审批人"
)
private
String
assignee
;
@ApiModelProperty
(
"候选人"
)
private
List
<
String
>
candidateUsers
;
@ApiModelProperty
(
"审批组"
)
private
List
<
String
>
candidateGroups
;
@ApiModelProperty
(
"租户Id"
)
private
String
tenantId
;
@ApiModelProperty
(
"el表达式"
)
private
String
el
;
@ApiModelProperty
(
"是否多实例并行,0否1是"
)
private
Integer
multiple
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowUserTaskPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
FlowUserTaskPdu
implements
Serializable
{
/**
* 用户id
*/
private
String
id
;
/**
* 用户名称
*/
private
String
name
;
/**
* 租户Id
*/
private
String
tenantId
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/flow/FlowViewerPdu.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.flow
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
*
*
* @author: zxfei
* @date: 2021/8/5 13:28
*/
@Data
public
class
FlowViewerPdu
implements
Serializable
{
private
String
key
;
private
boolean
completed
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/sms/SmsSendReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.sms
;
import
lombok.Data
;
@Data
public
class
SmsSendReq
{
private
String
mobile
;
private
String
templeteId
;
private
String
[]
params
;
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/sms/SmsSendResp.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.sms
;
import
lombok.Data
;
@Data
public
class
SmsSendResp
{
}
common-lib/src/main/java/com/mortals/xhx/feign/AttachmentEntity.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign
;
import
lombok.Data
;
/**
* 附件实体类
*
* @author: zxfei
* @date: 2021/8/26 17:46
* @description:
**/
@Data
public
class
AttachmentEntity
{
/**
* 附件名称
*/
protected
String
name
;
/**
* 附件描述
*/
protected
String
desc
;
/**
* 附件类型
*/
protected
String
type
;
/**
* 附件下载地址
*/
protected
String
url
;
}
common-lib/src/main/java/com/mortals/xhx/feign/BaseTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign
;
import
com.mortals.xhx.common.code.CommentTypeEnum
;
import
com.mortals.xhx.common.code.ProcessStatusEnum
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 流程执行过程中的基本参数Req
*
* @author: zxfei
* @date: 2021/8/26 9:55
*/
@Data
public
abstract
class
BaseTaskReq
implements
Serializable
{
/**********************任务相关的参数**********************/
/**
* 任务id 必填
*/
@ApiModelProperty
(
value
=
"任务id"
,
required
=
true
)
private
String
taskId
;
/**
* 流程实例的id
*/
@ApiModelProperty
(
value
=
"流程实例的id"
,
required
=
true
)
private
String
processInstanceId
;
/**
* 节点id 选填
*/
@ApiModelProperty
(
value
=
"节点id"
)
private
String
activityId
;
/**
* 节点名称 选填
*/
@ApiModelProperty
(
value
=
"节点名称"
)
private
String
activityName
;
/**
* 流程实例状态 必填
*/
@ApiModelProperty
(
value
=
"流程实例状态"
,
required
=
true
)
private
ProcessStatusEnum
processStatusEnum
;
/**********************审批意见的参数**********************/
/**
* 操作人code 必填
*/
@ApiModelProperty
(
value
=
"操作人code"
,
required
=
true
)
private
String
userCode
;
/**
* 审批意见 必填
*/
@ApiModelProperty
(
value
=
"审批意见"
,
required
=
true
)
private
String
message
;
/**
* 审批意见类型 必填
*/
@ApiModelProperty
(
value
=
"审批意见类型"
,
required
=
true
)
private
CommentTypeEnum
commentTypeEnum
;
}
common-lib/src/main/java/com/mortals/xhx/feign/flowable/IApiFlowDefinitionFeign.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.flowable
;
import
com.mortals.xhx.feign.IFeign
;
import
com.mortals.xhx.feign.req.BaseFlowReq
;
import
com.mortals.xhx.feign.req.BaseQuery
;
import
com.mortals.xhx.feign.req.DefinitionReq
;
import
com.mortals.xhx.feign.rsp.ApiResp
;
import
com.mortals.xhx.feign.rsp.DefinitionDeployRsp
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* 工作流程访问
*
* @author: zxfei
* @date: 2021/8/31 9:34
*/
@FeignClient
(
name
=
"workflow-manager"
,
path
=
"/m"
)
public
interface
IApiFlowDefinitionFeign
extends
IFeign
{
/**
* 流程部署列表查询
*
* @param req
* @return
*/
@PostMapping
(
"/api/definition/deploy/list"
)
ApiResp
<
DefinitionDeployRsp
>
deploymentsList
(
@RequestBody
BaseFlowReq
<
BaseQuery
>
req
);
/**
* 激活或挂起流程定义(已经部署)
*
* @param req
* @return
*/
@PostMapping
(
"/api/definition/deploy/updateState"
)
ApiResp
<
String
>
updateState
(
@RequestBody
DefinitionReq
req
);
/**
* 激活或挂起流程定义(已经部署)
*
* @param req
* @return
*/
@PostMapping
(
"/api/definition/deploy/readXml"
)
ApiResp
<
String
>
readXml
(
@RequestBody
DefinitionReq
req
);
}
\ No newline at end of file
common-lib/src/main/java/com/mortals/xhx/feign/flowable/IApiFlowFeign.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.flowable
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.xhx.common.pdu.api.ApiRespPdu
;
import
com.mortals.xhx.common.pdu.sms.SmsSendReq
;
import
com.mortals.xhx.feign.IFeign
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.Map
;
/**
* 工作流api
*/
@FeignClient
(
name
=
"government-flowable"
,
path
=
"/m"
)
public
interface
IApiFlowFeign
extends
IFeign
{
/**
* 流程部署
*
* @param modelId 流程ID,来自 ACT_DE_MODEL
* @return
* @throws AppException
*/
@PostMapping
(
value
=
"/flowable/api/deploy"
)
ApiRespPdu
<
String
>
deploy
(
@RequestParam
(
"modelId"
)
String
modelId
)
throws
AppException
;
/**
* 启动流程
*
* @param deployId 部署的流程 Id,来自 ACT_RE_PROCDEF
* @param userId 用户 Id
* @param dataKey 数据 Key,业务键,一般为表单数据的 ID,仅作为表单数据与流程实例关联的依据
* @return
* @throws AppException
*/
@PostMapping
(
value
=
"/flowable/api/start"
)
ApiRespPdu
<
String
>
start
(
@RequestParam
(
value
=
"deployId"
)
String
deployId
,
@RequestParam
(
value
=
"userId"
)
String
userId
,
@RequestParam
(
value
=
"dataKey"
)
String
dataKey
);
/**
* 设置任务参数
*
* @param taskId 任务ID
* @param map 用户列表
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/setVariables"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
String
>
setVariables
(
@RequestParam
(
value
=
"taskId"
)
String
taskId
,
@RequestBody
Map
<
String
,
Object
>
map
);
/**
* 设置任务参数
*
* @param taskId 任务ID
* @param key 键
* @param value 值
* @return
*/
@RequestMapping
(
value
=
"/setVariable"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
String
>
setVariable
(
@RequestParam
(
value
=
"taskId"
)
String
taskId
,
@RequestParam
(
value
=
"key"
)
String
key
,
@RequestParam
(
value
=
"value"
)
Object
value
);
/**
* 设置任务参数,List 使用
*
* @param taskId 任务ID
* @param key 键
* @param value 值
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/setListVariable"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
String
>
setListVariable
(
@RequestParam
(
value
=
"taskId"
)
String
taskId
,
@RequestParam
(
value
=
"key"
)
String
key
,
@RequestParam
(
value
=
"value"
)
List
<
String
>
value
);
/**
* 任务处理1
*
* @param taskId 任务 Id,来自 ACT_RU_TASK
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/task"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
String
>
task
(
@RequestParam
(
value
=
"taskId"
)
String
taskId
);
/**
* 任务处理
*
* @param taskId 任务 Id,来自 ACT_RU_TASK
* @param assignee 设置审核人,替换
* @param map 完成任务需要的条件参数
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/taskByAssignee"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
String
>
taskByAssignee
(
@RequestParam
(
value
=
"taskId"
)
String
taskId
,
@RequestParam
(
value
=
"assignee"
)
String
assignee
,
@RequestBody
Map
<
String
,
Object
>
map
);
/**
* 中止流程
*
* @param processId 流程ID
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/deleteProcess"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
String
>
deleteProcess
(
@RequestParam
(
value
=
"processId"
)
String
processId
);
/**
* 获取正在运行的数据 Id 列表
*
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/getRuntimeDataId"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
List
<
String
>>
getRuntimeDataId
();
/**
* 根据用户,获取需要审核的业务键 business_key 列表
*
* @param userId 用户 Id
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/getRuntimeBusinessKeyByUser"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
List
<
Map
<
String
,
Object
>>>
getRuntimeBusinessKeyByUser
(
@RequestParam
(
value
=
"userId"
)
String
userId
);
/**
* 获取组,获取需要审核的业务键 business_key 列表
*
* @param groupIds 组 Id
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/getRuntimeBusinessKeyByGroup"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
List
<
Map
<
String
,
Object
>>>
getRuntimeBusinessKeyByGroup
(
@RequestBody
List
<
String
>
groupIds
);
/**
* 获取用户审核历史
*
* @param userId 发起人 Id
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/getHistoryByUser"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
List
<
Map
<
String
,
Object
>>>
getHistoryByUser
(
@RequestParam
(
value
=
"userId"
)
String
userId
);
/**
* 通过流程实例 Id,判断流程是否结束
*
* @param processInstanceId 流程实例 Id
* @return true 结束,false 未结束
*/
@RequestMapping
(
value
=
"/flowable/api/checkProcessInstanceFinish"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
Boolean
>
checkProcessInstanceFinish
(
@RequestParam
(
value
=
"processInstanceId"
)
String
processInstanceId
);
/**
* 根据任务节点获取流程实例 Id
*
* @param taskId 任务节点 Id
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/getTaskInfo"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
String
>
getTaskInfo
(
@RequestParam
(
value
=
"taskId"
)
String
taskId
);
/**
* 根据流程实例 ID 获取任务进度流程图
*
* @param processInstanceId 流程实例id
* @return base64图片数据
* @throws AppException
*/
@RequestMapping
(
value
=
"/flowable/api/getProcessDiagram"
,
method
=
RequestMethod
.
POST
)
String
getProcessDiagram
(
@RequestParam
(
"processInstanceId"
)
String
processInstanceId
);
/**
* 根据任务 ID 获取任务进度流程图
*
* @param taskId 任务节点 Id
* @return
*/
@RequestMapping
(
value
=
"/flowable/api/getTaskProcessDiagram"
,
method
=
RequestMethod
.
POST
)
ApiRespPdu
<
String
>
getTaskProcessDiagram
(
@RequestParam
(
value
=
"taskId"
)
String
taskId
);
}
common-lib/src/main/java/com/mortals/xhx/feign/flowable/IApiFlowInstanceFeign.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.flowable
;
import
com.mortals.xhx.common.pdu.api.ApiRespPdu
;
import
com.mortals.xhx.common.pdu.flow.FlowTaskVoPdu
;
import
com.mortals.xhx.common.pdu.flow.FlowViewerPdu
;
import
com.mortals.xhx.feign.IFeign
;
import
com.mortals.xhx.feign.processinstance.ProcessCommonReq
;
import
com.mortals.xhx.feign.processinstance.ProcessDeleteReq
;
import
com.mortals.xhx.feign.processinstance.ProcessStopReq
;
import
com.mortals.xhx.feign.processinstance.ProcessUpdateStateReq
;
import
com.mortals.xhx.feign.rsp.ApiResp
;
import
com.mortals.xhx.feign.runtime.StartProcessInstanceReq
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
import
java.util.Map
;
/**
* 工作流流程实例
*
* @author: finegirl
* @date: 2021/7/31 19:52
*/
@FeignClient
(
name
=
"workflow-manager"
,
path
=
"/m"
)
public
interface
IApiFlowInstanceFeign
extends
IFeign
{
/**
* 启动流程
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/process/start"
)
ApiResp
<
String
>
processStart
(
@RequestBody
StartProcessInstanceReq
req
);
/**
* 激活或挂起流程实例
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/process/updateState"
)
ApiResp
updateState
(
@RequestBody
ProcessUpdateStateReq
req
);
/**
* 终止流程
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/process/stop"
)
ApiResp
<
String
>
stopProcess
(
@RequestBody
ProcessStopReq
req
);
/**
* 删除流程
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/process/delete"
)
ApiResp
<
String
>
deleteProcess
(
@RequestBody
ProcessDeleteReq
req
);
/**
* 获取流程执行过程
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/process/getFlowViewer"
)
ApiResp
<
List
<
FlowViewerPdu
>>
getFlowViewer
(
@RequestBody
ProcessCommonReq
req
);
/**
* 根据流程实例ID 获取当前流程运行情况 返回BASE64图片
*
* @param req
* @return base64图片数据
*/
@PostMapping
(
"/api/flow/process/getImage"
)
ApiResp
<
String
>
processReadImage
(
@RequestBody
ProcessCommonReq
req
);
@PostMapping
(
"/api/flow/process/getAllProcessInstanceEl"
)
ApiResp
<
List
<
FlowTaskVoPdu
>>
getAllProcessInstanceEl
(
@RequestBody
StartProcessInstanceReq
req
);
}
\ No newline at end of file
common-lib/src/main/java/com/mortals/xhx/feign/flowable/IApiFlowTaskFeign.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.flowable
;
import
com.mortals.xhx.common.pdu.flow.FlowNextPdu
;
import
com.mortals.xhx.common.pdu.flow.FlowUserTaskPdu
;
import
com.mortals.xhx.feign.IFeign
;
import
com.mortals.xhx.feign.req.BaseFlowReq
;
import
com.mortals.xhx.feign.req.BaseQuery
;
import
com.mortals.xhx.feign.rsp.ApiResp
;
import
com.mortals.xhx.feign.rsp.TaskRsp
;
import
com.mortals.xhx.feign.task.*
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
import
java.util.Map
;
/**
* 工作流任务管理
*
* @author: finegirl
* @date: 2021/7/31 19:52
*/
@FeignClient
(
name
=
"workflow-manager"
,
path
=
"/m"
)
public
interface
IApiFlowTaskFeign
extends
IFeign
{
/**
* 我发起的流程
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/myProcess"
)
ApiResp
<
TaskRsp
>
myProcess
(
@RequestBody
BaseFlowReq
<
BaseQuery
>
req
);
/**
* 获取待办列表
* 获取的列表需要和业务系统数据合并
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/todoList"
)
ApiResp
<
TaskRsp
>
todoList
(
@RequestBody
BaseFlowReq
<
BaseQuery
>
req
);
/**
* 获取已办任务
* 获取的列表需要和业务系统数据合并
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/finishedList"
)
ApiResp
<
TaskRsp
>
finishedList
(
@RequestBody
BaseFlowReq
<
BaseQuery
>
req
);
/**
* 流程历史流转记录
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/flowRecord"
)
ApiResp
<
TaskRsp
>
flowRecord
(
@RequestBody
BaseFlowReq
<
BaseQuery
>
req
);
/**
* 获取流程变量
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/processVariables"
)
ApiResp
<
Map
<
String
,
Object
>>
processVariables
(
@RequestBody
CommonTaskReq
req
);
/**
* 设置流程变量
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/setProcessVariables"
)
ApiResp
<
Map
<
String
,
Object
>>
setProcessVariables
(
@RequestBody
CommonTaskReq
req
);
/**
* 撤回流程
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/revokeProcess"
)
ApiResp
revokeProcess
(
@RequestBody
RevokeTaskReq
req
);
/**
* 取消申请
*
* @param commonTaskReq
* @return
*/
@PostMapping
(
"/api/flow/task/stopProcess"
)
ApiResp
stopProcess
(
@RequestBody
CommonTaskReq
commonTaskReq
);
/**
* 审批任务
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/complete"
)
ApiResp
<
String
>
complete
(
@RequestBody
CompleteTaskReq
req
);
/**
* 驳回任务
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/reject"
)
ApiResp
<
String
>
reject
(
@RequestBody
RejectTaskReq
req
);
/**
* 退回任务
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/return"
)
ApiResp
<
String
>
taskReturn
(
@RequestBody
ReturnTaskReq
req
);
/**
* 删除任务
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/delete"
)
ApiResp
<
String
>
delete
(
@RequestBody
DeleteTaskReq
req
);
/**
* 委派任务
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/delegate"
)
ApiResp
<
String
>
delegateTask
(
@RequestBody
DelegateTaskReq
req
);
/**
* 转办任务
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/assign"
)
ApiResp
<
String
>
assignTask
(
@RequestBody
TurnTaskReq
req
);
/**
* 加签任务
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/addSign"
)
ApiResp
<
String
>
addSignTask
(
@RequestBody
AddSignTaskReq
req
);
/**
* 获取所有可回退的节点
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/findReturnTaskList"
)
ApiResp
<
List
<
FlowUserTaskPdu
>>
findReturnTaskList
(
@RequestBody
CommonTaskReq
req
);
/**
* 获取下一节点
*
* @param req
* @return
*/
@PostMapping
(
"/api/flow/task/nextFlowNode"
)
ApiResp
<
FlowNextPdu
>
nextFlowNode
(
@RequestBody
CommonTaskReq
req
);
}
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/InstanceQueryParamsReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.processinstance
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 实例查询Query
*
* @author: zxfei
* @date: 2021/8/24 20:42
*/
@Data
public
class
InstanceQueryParamsReq
{
/**
* 用户的工号 必填
*/
@ApiModelProperty
(
value
=
"用户的工号"
)
private
String
userCode
;
/**
* 平台应用标识 必填
*/
@ApiModelProperty
(
value
=
"平台应用标识"
)
private
String
platformSn
;
/**
* 开始时间
*/
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
startTime
;
/**
* 结束时间
*/
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
endTime
;
/**
* 业务系统的id
*/
@ApiModelProperty
(
value
=
"业务系统的id"
)
private
String
businessKey
;
/**
* 排序字段 1 升序 0 降序
*/
@ApiModelProperty
(
value
=
"排序字段 1 升序 0 降序"
)
private
Integer
orderFlag
=
0
;
/**
* 流程实例ID
*/
@ApiModelProperty
(
value
=
"流程实例ID"
)
private
String
processInstanceId
;
/**
* 流程定义KEY
*/
@ApiModelProperty
(
value
=
"流程定义KEY"
)
private
String
processDefinitionKey
;
/**
* 流程状态
*/
@ApiModelProperty
(
value
=
"流程状态"
)
private
String
processType
;
/**
* 发起人工号集合
*/
@ApiModelProperty
(
value
=
"发起人工号集合"
)
private
String
startedUserIds
;
}
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessCommonReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.processinstance
;
import
lombok.Data
;
/**
* 实例通用请求
* @author: zxfei
* @date: 2021/8/26 10:42
* @description:
**/
@Data
public
class
ProcessCommonReq
{
/**
* 处理人Id
*/
private
String
userCode
;
/**
* 流程实例id
*/
private
String
processInstanceId
;
}
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessDeleteReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.processinstance
;
import
lombok.Data
;
/**
* @author: zxfei
* @date: 2021/8/26 10:42
* @description:
**/
@Data
public
class
ProcessDeleteReq
{
/**
* 处理人Id 必填
*/
private
String
userCode
;
/**
* 流程实例id 必填
*/
private
String
processInstanceId
;
/**
* 删除原因 必填
*/
private
String
deleteReason
;
}
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessInstanceInfo.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.processinstance
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* 流程实例返回数据对象
*
* @author: zxfei
* @date: 2021/8/26 10:31
*/
@Data
@ApiModel
(
value
=
"ProcessInstanceInfo"
,
description
=
"查询流程实例返回对象"
)
public
class
ProcessInstanceInfo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5038515846218363889L
;
/**
* 流程实例id
*/
private
String
processInstanceId
;
/**
* 流程定义id
*/
private
String
processDefinitionId
;
/**
* 流程定义的名称
*/
private
String
processDefinitionName
;
/**
* 流程定义的key
*/
private
String
processDefinitionKey
;
/**
* 流程定义类型
*/
private
Integer
processDefinitionType
;
/**
* 流程定义的版本号
*/
private
Integer
processDefinitionVersion
;
/**
* 分类编号
*/
private
String
categoryCode
;
/**
* 部署id
*/
private
String
deploymentId
;
/**
* 业务表单的id
*/
private
String
businessKey
;
/**
* 办理人
*/
private
String
assignees
;
/**
* 应用id
*/
private
String
appId
;
/**
* 平台应用标识
*/
private
String
appSn
;
/**
* 创建时间
*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
/**
* 挂起状态 1激活 2挂起 @see ProcessInstanceStatusEnum
*/
private
Integer
pState
;
/**
* 删除标记
*/
private
String
reason
;
/**
* 创建人的id
*/
private
String
startedUserId
;
/**
* 创建人的名称
*/
private
String
startedUserName
;
/**
* 创建人ids
*/
private
List
<
String
>
startedUserIds
;
/**
* 默认所有的
*/
private
Boolean
finishFlag
=
false
;
/**
* 流程实例状态 @see {@link ProcessStatusEnum}
*/
private
String
processStatus
;
/**
* 流程实例状态名称
*/
private
String
processStatusName
;
/**
* 表单的名称
*/
private
String
formName
;
/**
* 流程创建人姓名
*/
private
String
startPersonName
;
/**
* 流程的创建时间
*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
startTime
;
/**
* 结束时间
*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
endTime
;
private
String
startTimeStr
;
private
String
endTimeStr
;
/**
* 系统名称
*/
private
String
appName
;
/**
* 业务系统的url
*/
private
String
businessUrl
;
/**
* 总耗时
*/
private
String
totalTime
;
/**
* 当前办理人(当前流程是多人办理)
*/
// private List<ApproverVo> currentAssignees;
public
ProcessInstanceInfo
()
{
}
public
ProcessInstanceInfo
(
String
processInstanceId
,
String
businessKey
,
String
formName
,
String
startedUserId
)
{
this
.
processInstanceId
=
processInstanceId
;
this
.
businessKey
=
businessKey
;
this
.
formName
=
formName
;
this
.
startedUserId
=
startedUserId
;
}
}
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessStopReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.processinstance
;
import
lombok.Data
;
/**
* @author: zxfei
* @date: 2021/8/26 10:42
* @description:
**/
@Data
public
class
ProcessStopReq
{
/**
* 处理人Id 必填
*/
private
String
userCode
;
/**
* 流程实例id
*/
private
String
processInstanceId
;
}
common-lib/src/main/java/com/mortals/xhx/feign/processinstance/ProcessUpdateStateReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.processinstance
;
import
lombok.Data
;
/**
* @author: zxfei
* @date: 2021/8/26 10:42
* @description:
**/
@Data
public
class
ProcessUpdateStateReq
{
/**
* 处理人Id 必填
*/
private
String
userCode
;
/**
* 流程实例id 必填
*/
private
String
processInstanceId
;
/**
* 激活或挂起流程实例(1:激活,2:挂起) 必填
*/
private
Integer
suspensionState
;
}
common-lib/src/main/java/com/mortals/xhx/feign/req/BaseQuery.java
View file @
a74945e2
package
com.mortals.xhx.feign.req
;
package
com.mortals.xhx.feign.req
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
...
common-lib/src/main/java/com/mortals/xhx/feign/rsp/ApiResp.java
View file @
a74945e2
...
@@ -20,4 +20,10 @@ public class ApiResp<T> {
...
@@ -20,4 +20,10 @@ public class ApiResp<T> {
*/
*/
private
T
data
;
private
T
data
;
// public boolean isSuccess() {
// if (YesNoEnum.YES.getValue() == code) {
// return true;
// }
// return false;
// }
}
}
common-lib/src/main/java/com/mortals/xhx/feign/rsp/DefinitionDeployRsp.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.rsp
;
import
com.mortals.xhx.common.pdu.api.Page
;
import
lombok.Data
;
import
java.util.List
;
/**
* 流程部署列表(业务端可发起的实例)
*
* @author: zxfei
* @date: 2021/8/24 20:51
*/
@Data
public
class
DefinitionDeployRsp
{
private
Page
page
;
private
List
<
FlowProcDef
>
list
;
}
common-lib/src/main/java/com/mortals/xhx/feign/rsp/FlowProcDef.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.rsp
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 流程定义类
*
* @author: zxfei
* @date: 2021/8/24 22:29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
FlowProcDef
implements
Serializable
{
/**
* 流程定义id
*/
private
String
id
;
/**
* 流程名称
*/
private
String
name
;
/**
* 流程key
*/
private
String
key
;
/**
* 流程key
*/
private
String
processDefinitionKey
;
/**
* 流程分类
*/
private
String
category
;
/**
* 版本
*/
private
int
version
;
/**
* 流程部署id
*/
private
String
deployId
;
/**
* 流程部署id
*/
private
String
deploymentId
;
/**
* 流程定义状态: 1:激活 , 2:中止
*/
private
int
suspensionState
;
/**
* 部署时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
deploymentTime
;
}
common-lib/src/main/java/com/mortals/xhx/feign/rsp/FlowProcStartInfo.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.rsp
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* 流程启动响应类
*
* @author: zxfei
* @date: 2021/8/24 22:29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
FlowProcStartInfo
implements
Serializable
{
/**
* 流程实例id
*/
private
String
proInstanceId
;
}
common-lib/src/main/java/com/mortals/xhx/feign/rsp/FlowTaskInfo.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.rsp
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.xhx.common.pdu.flow.FlowCommentPdu
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 工作流任务相关-返回参数
*
* @author: zxfei
* @date: 2021/8/25 11:13
*/
@Getter
@Setter
public
class
FlowTaskInfo
implements
Serializable
{
/**
* 任务编号
*/
private
String
taskId
;
/**
* 任务名称
*/
private
String
taskName
;
/**
* 任务Key
*/
private
String
taskDefKey
;
/**
* 任务执行人Id
*/
private
String
assigneeId
;
/**
* 任务执行人名称
*/
private
String
assigneeName
;
/**
* 流程发起人Id
*/
private
String
startUserId
;
/**
* 流程发起人名称
*/
private
String
startUserName
;
/**
* 流程类型
*/
private
String
category
;
/**
* 流程变量信息
*/
private
Object
procVars
;
/**
* 局部变量信息
*/
private
Object
taskLocalVars
;
/**
* 流程部署ID
*/
private
String
deployId
;
/**
* 流程定义ID
*/
private
String
procDefId
;
/**
* 流程key
*/
private
String
procDefKey
;
/**
* 流程定义名称
*/
private
String
procDefName
;
/**
* 流程定义使用版本
*/
private
int
procDefVersion
;
/**
* 流程实例ID
*/
private
String
procInsId
;
/**
* 历史流程实例ID
*/
private
String
hisProcInsId
;
/**
* 任务耗时
*/
private
String
duration
;
/**
* 任务意见
*/
private
FlowCommentPdu
comment
;
/**
* 候选执行人(多个人都能办理当前任务)
*/
private
String
candidate
;
/**
* 任务创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
/**
* 任务完成时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
finishTime
;
/**
* 流程变量信息
*/
private
Map
<
String
,
Object
>
values
;
/**
* 用户id
*/
private
String
userId
;
/**
* 审批人
*/
private
String
assignee
;
/**
* 候选人
*/
private
List
<
String
>
candidateUsers
;
/**
* 候选审批组
*/
private
List
<
String
>
candidateGroups
;
/**
* 业务系统编号
*/
private
String
tenantId
;
}
common-lib/src/main/java/com/mortals/xhx/feign/rsp/TaskRsp.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.rsp
;
import
com.mortals.xhx.common.pdu.api.Page
;
import
com.mortals.xhx.common.pdu.flow.FlowTaskPdu
;
import
lombok.Data
;
import
java.util.List
;
/**
* 流程任务详细返回
*
* @author: zxfei
* @date: 2021/8/24 20:51
*/
@Data
public
class
TaskRsp
{
private
Page
page
;
private
List
<
FlowTaskPdu
>
list
;
}
common-lib/src/main/java/com/mortals/xhx/feign/runtime/StartProcessInstanceReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.runtime
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
com.mortals.framework.util.DateUtils
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Map
;
/**
* 启动流程参数
*
* @author: zxfei
* @date: 2021/8/26 10:45
*/
@Data
public
class
StartProcessInstanceReq
implements
Serializable
{
/**
* 流程部署key 必填
*/
@ApiModelProperty
(
value
=
"流程定义key"
,
required
=
true
)
private
String
processDefinitionKey
;
/**
* 业务系统表单id 必填
*/
@ApiModelProperty
(
value
=
"业务系统唯一标识"
,
required
=
true
)
private
String
businessKey
;
/**
* 业务表单显示名称 必填(如请假单)
*/
@ApiModelProperty
(
value
=
"表单显示名称"
,
required
=
true
)
private
String
formName
;
/**
* 启动流程变量 选填
*/
@ApiModelProperty
(
value
=
"启动流程变量"
)
private
Map
<
String
,
Object
>
variables
;
/**
* 申请人id号 必填
*/
@ApiModelProperty
(
value
=
"申请人id号"
)
private
String
userCode
;
/**
* 平台系统标识 必填
*/
@ApiModelProperty
(
value
=
"平台系统标识"
,
required
=
true
)
private
String
platformSn
;
/**
* 流程提交人工号 通常和申请人id一致即可 必填
*/
@ApiModelProperty
(
value
=
"流程提交人工号 通常和申请人id一致即可"
,
required
=
true
)
private
String
creator
;
public
static
void
main
(
String
[]
args
)
{
DateTime
dateTime
=
DateUtil
.
offsetMonth
(
new
Date
(),
2
);
System
.
out
.
println
(
DateUtils
.
getStrDate
(
dateTime
));
}
}
common-lib/src/main/java/com/mortals/xhx/feign/task/AddSignTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* 任务加签(审批参数)
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"AddSignTaskReq"
,
description
=
"审批参数"
)
public
class
AddSignTaskReq
extends
BaseTaskReq
implements
Serializable
{
/**
* 向前加签人员号 必填
*/
private
List
<
String
>
addSignUserList
;
}
common-lib/src/main/java/com/mortals/xhx/feign/task/CommonTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Map
;
/**
* 任务参数
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"CommonTaskReq"
,
description
=
"任务参数"
)
public
class
CommonTaskReq
extends
BaseTaskReq
implements
Serializable
{
/**
* 平台系统标识 必填
*/
@ApiModelProperty
(
value
=
"平台系统标识"
,
required
=
true
)
private
String
platformSn
;
/**
* 启动流程变量 选填
*/
@ApiModelProperty
(
value
=
"启动流程变量"
)
private
Map
<
String
,
Object
>
variables
;
}
common-lib/src/main/java/com/mortals/xhx/feign/task/CompleteTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.xhx.feign.AttachmentEntity
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 任务执行(审批参数)
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"CompleteTask"
,
description
=
"审批参数"
)
public
class
CompleteTaskReq
extends
BaseTaskReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5583096980348786337L
;
/**
* 流程标题 选填 只有在重新发起的时候才会修改表单标题
*/
@ApiModelProperty
(
value
=
"流程标题"
)
private
String
formTitle
;
/**
* 任务参数 选填
*/
@ApiModelProperty
(
value
=
"任务参数"
)
private
Map
<
String
,
Object
>
variables
;
/**
* 任务参数 附件 选填
*/
@ApiModelProperty
(
value
=
"附件参数"
)
private
List
<
AttachmentEntity
>
attachments
;
}
common-lib/src/main/java/com/mortals/xhx/feign/task/DelegateTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 任务委派(审批参数)
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"DelegateTaskReq"
,
description
=
"审批参数"
)
public
class
DelegateTaskReq
extends
BaseTaskReq
implements
Serializable
{
/**
* 委派人
*/
private
String
delegateUserCode
;
}
common-lib/src/main/java/com/mortals/xhx/feign/task/DeleteTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 任务删除(审批参数)
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"DeleteTaskReq"
,
description
=
"审批参数"
)
public
class
DeleteTaskReq
extends
BaseTaskReq
implements
Serializable
{
}
common-lib/src/main/java/com/mortals/xhx/feign/task/RejectTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 任务驳回(审批参数)
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"RejectTaskReq"
,
description
=
"审批参数"
)
public
class
RejectTaskReq
extends
BaseTaskReq
implements
Serializable
{
}
common-lib/src/main/java/com/mortals/xhx/feign/task/ReturnTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 任务驳回(审批参数)
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"RejectTaskReq"
,
description
=
"审批参数"
)
public
class
ReturnTaskReq
extends
BaseTaskReq
implements
Serializable
{
}
common-lib/src/main/java/com/mortals/xhx/feign/task/RevokeTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 任务撤回(审批参数)
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"RevokeTaskReq"
,
description
=
"审批参数"
)
public
class
RevokeTaskReq
extends
BaseTaskReq
implements
Serializable
{
}
common-lib/src/main/java/com/mortals/xhx/feign/task/TurnTaskReq.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.feign.task
;
import
com.mortals.xhx.feign.BaseTaskReq
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 任务转办(审批参数)
*
* @author: zxfei
* @date: 2021/8/26 17:23
*/
@Data
@ApiModel
(
value
=
"TurnTaskReq"
,
description
=
"审批参数"
)
public
class
TurnTaskReq
extends
BaseTaskReq
implements
Serializable
{
/**
* 被转办人工号 必填
*/
private
String
turnToUserId
;
}
common-lib/src/main/java/com/mortals/xhx/utils/QRCodeUtil.java
View file @
a74945e2
package
com.mortals.xhx.utils
;
package
com.mortals.xhx.utils
;
import
cn.hutool.extra.qrcode.BufferedImageLuminanceSource
;
import
com.google.zxing.*
;
import
com.google.zxing.*
;
import
com.google.zxing.client.j2se.BufferedImageLuminanceSource
;
import
com.google.zxing.common.BitMatrix
;
import
com.google.zxing.common.BitMatrix
;
import
com.google.zxing.common.HybridBinarizer
;
import
com.google.zxing.common.HybridBinarizer
;
import
com.google.zxing.qrcode.decoder.ErrorCorrectionLevel
;
import
com.google.zxing.qrcode.decoder.ErrorCorrectionLevel
;
...
...
fill-manager/pom.xml
View file @
a74945e2
...
@@ -78,10 +78,6 @@
...
@@ -78,10 +78,6 @@
<artifactId>
poi-ooxml-schemas
</artifactId>
<artifactId>
poi-ooxml-schemas
</artifactId>
<groupId>
org.apache.poi
</groupId>
<groupId>
org.apache.poi
</groupId>
</exclusion>
</exclusion>
<exclusion>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
</exclusion>
</exclusions>
</exclusions>
</dependency>
</dependency>
...
@@ -96,6 +92,7 @@
...
@@ -96,6 +92,7 @@
<artifactId>
druid-spring-boot-starter
</artifactId>
<artifactId>
druid-spring-boot-starter
</artifactId>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot-starter
</artifactId>
<artifactId>
mybatis-spring-boot-starter
</artifactId>
...
@@ -110,6 +107,15 @@
...
@@ -110,6 +107,15 @@
<artifactId>
spring-data-redis
</artifactId>
<artifactId>
spring-data-redis
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-websocket
</artifactId>
<artifactId>
spring-boot-starter-websocket
</artifactId>
...
@@ -122,16 +128,18 @@
...
@@ -122,16 +128,18 @@
<version>
2.3.31
</version>
<version>
2.3.31
</version>
</dependency>
</dependency>
<!--Token生成与解析-->
<!-- <dependency>-->
<dependency>
<!-- <groupId>com.aspose</groupId>-->
<groupId>
io.jsonwebtoken
</groupId>
<!-- <artifactId>aspose-words</artifactId>-->
<artifactId>
jjwt
</artifactId>
<!-- <version>20.1</version>-->
</dependency>
<!-- <classifier>jdk17</classifier>-->
<!-- </dependency>-->
<dependency>
<dependency>
<groupId>
junit
</groupId>
<groupId>
com.aspose.words
</groupId>
<artifactId>
junit
</artifactId>
<artifactId>
aspose-words
</artifactId>
<scope>
test
</scope>
<version>
19.2
</version>
<classifier>
jdk16
</classifier>
</dependency>
</dependency>
<dependency>
<dependency>
...
@@ -140,26 +148,15 @@
...
@@ -140,26 +148,15 @@
<version>
2.0.8
</version>
<version>
2.0.8
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.aspose.words
</groupId>
<artifactId>
aspose-words
</artifactId>
<version>
19.2
</version>
<classifier>
jdk16
</classifier>
</dependency>
<dependency>
<dependency>
<groupId>
com.deepoove
</groupId>
<groupId>
com.deepoove
</groupId>
<artifactId>
poi-tl
</artifactId>
<artifactId>
poi-tl
</artifactId>
<version>
1.12.0
</version>
<version>
1.12.0
</version>
</dependency>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
5.7.14
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
<resources>
<resources>
<resource>
<resource>
...
@@ -169,11 +166,6 @@
...
@@ -169,11 +166,6 @@
</resources>
</resources>
<plugins>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-jar-plugin
</artifactId>
</plugin>
<plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-surefire-plugin
</artifactId>
<artifactId>
maven-surefire-plugin
</artifactId>
...
@@ -187,7 +179,7 @@
...
@@ -187,7 +179,7 @@
<artifactId>
spring-boot-maven-plugin
</artifactId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<configuration>
<jvmArguments>
-Dfile.encoding=UTF-8
</jvmArguments>
<jvmArguments>
-Dfile.encoding=UTF-8
</jvmArguments>
<outputDirectory>
${project.
basedir}/dist/${projec
t.artifactId}/boot
</outputDirectory>
<outputDirectory>
${project.
parent.basedir}/dist/${project.paren
t.artifactId}/boot
</outputDirectory>
<layout>
ZIP
</layout>
<layout>
ZIP
</layout>
</configuration>
</configuration>
</plugin>
</plugin>
...
@@ -213,7 +205,7 @@
...
@@ -213,7 +205,7 @@
</goals>
</goals>
<configuration>
<configuration>
<encoding>
UTF-8
</encoding>
<encoding>
UTF-8
</encoding>
<outputDirectory>
${project.
basedir}/dist/${projec
t.artifactId}/bin
</outputDirectory>
<outputDirectory>
${project.
parent.basedir}/dist/${project.paren
t.artifactId}/bin
</outputDirectory>
<resources>
<resources>
<resource>
<resource>
<directory>
src/main/bin/
</directory>
<directory>
src/main/bin/
</directory>
...
...
fill-manager/src/main/java/com/mortals/xhx/base/framework/CustomJsonDateDeserializer.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.base.framework
;
import
com.fasterxml.jackson.core.JsonParser
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.DeserializationContext
;
import
com.fasterxml.jackson.databind.JsonDeserializer
;
import
org.springframework.util.ObjectUtils
;
import
java.io.IOException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
/**
* @author: zxfei
* @date: 2022/6/30 10:49
* @description:
**/
public
class
CustomJsonDateDeserializer
extends
JsonDeserializer
<
Date
>
{
@Override
public
Date
deserialize
(
JsonParser
jp
,
DeserializationContext
ctxt
)
throws
IOException
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
date
=
jp
.
getText
();
if
(!
ObjectUtils
.
isEmpty
(
date
))
{
try
{
return
format
.
parse
(
date
);
}
catch
(
ParseException
e
)
{
return
null
;
}
}
else
{
return
null
;
}
}
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/WxMessageConverter.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.base.framework
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author: zxfei
* @date: 2022/6/28 15:57
* @description:
**/
// 创建一个新的转换器 解析微信的 [text/plain]
public
class
WxMessageConverter
extends
MappingJackson2HttpMessageConverter
{
public
WxMessageConverter
()
{
List
<
MediaType
>
mediaTypes
=
new
ArrayList
<>();
mediaTypes
.
add
(
MediaType
.
TEXT_PLAIN
);
setSupportedMediaTypes
(
mediaTypes
);
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/framework/annotation/ApiUserAuth.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.base.framework.annotation
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Target
(
ElementType
.
METHOD
)
public
@interface
ApiUserAuth
{
String
msg
()
default
""
;
String
params
()
default
""
;
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/aspect/OperlogAspect.java
View file @
a74945e2
...
@@ -4,6 +4,9 @@ import java.util.Date;
...
@@ -4,6 +4,9 @@ import java.util.Date;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
com.mortals.framework.model.OperateLogPdu
;
import
com.mortals.framework.service.IMessageProduceService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.aspectj.lang.JoinPoint
;
import
org.aspectj.lang.JoinPoint
;
import
org.aspectj.lang.annotation.AfterReturning
;
import
org.aspectj.lang.annotation.AfterReturning
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Aspect
;
...
@@ -22,20 +25,37 @@ import com.mortals.xhx.base.system.oper.service.OperLogService;
...
@@ -22,20 +25,37 @@ import com.mortals.xhx.base.system.oper.service.OperLogService;
/**
/**
* 操作日志记录
* 操作日志记录
*
* @author: zxfei
* @date: 2021/11/5 13:28
*/
*/
@Component
@Component
public
class
OperlogAspect
extends
FileLogServiceImpl
implements
ILogService
{
@Slf4j
public
class
OperlogAspect
extends
FileLogServiceImpl
implements
ILogService
{
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
OperlogAspect
.
class
);
@Autowired
@Autowired
private
OperLogService
operLogService
;
private
OperLogService
operLogService
;
@Autowired
private
IMessageProduceService
messageProduceService
;
@Override
@Override
public
void
doHandlerLog
(
String
platformMark
,
Long
userId
,
String
userName
,
String
loginName
,
String
requestUrl
,
public
void
doHandlerLog
(
String
platformMark
,
Long
userId
,
String
userName
,
String
loginName
,
String
requestUrl
,
String
content
,
String
ip
,
Date
logDate
)
{
String
content
,
String
ip
,
Date
logDate
)
{
super
.
doHandlerLog
(
platformMark
,
userId
,
userName
,
loginName
,
requestUrl
,
content
,
ip
,
logDate
);
super
.
doHandlerLog
(
platformMark
,
userId
,
userName
,
loginName
,
requestUrl
,
content
,
ip
,
logDate
);
operLogService
.
insertOperLog
(
ip
,
requestUrl
,
userId
,
userName
,
loginName
,
content
);
operLogService
.
insertOperLog
(
ip
,
requestUrl
,
userId
,
userName
,
loginName
,
content
);
OperateLogPdu
operateLogPdu
=
new
OperateLogPdu
();
operateLogPdu
.
initAttrValue
();
operateLogPdu
.
setIp
(
ip
);
operateLogPdu
.
setRequestUrl
(
requestUrl
);
operateLogPdu
.
setUserId
(
userId
);
operateLogPdu
.
setUserName
(
userName
);
operateLogPdu
.
setLoginName
(
loginName
);
operateLogPdu
.
setPlatformMark
(
platformMark
);
operateLogPdu
.
setLogDate
(
logDate
);
operateLogPdu
.
setContent
(
content
);
operateLogPdu
.
setOperType
(
1
);
messageProduceService
.
syncOperSend
(
operateLogPdu
);
}
}
@Override
@Override
...
@@ -43,9 +63,11 @@ public class OperlogAspect extends FileLogServiceImpl implements ILogService {
...
@@ -43,9 +63,11 @@ public class OperlogAspect extends FileLogServiceImpl implements ILogService {
// operLogService.insertOperLog(ip, requestUrl, null, "", loginName,
// operLogService.insertOperLog(ip, requestUrl, null, "", loginName,
// content);
// content);
this
.
doHandlerLog
(
platformMark
,
null
,
""
,
loginName
,
requestUrl
,
content
,
ip
,
new
Date
());
this
.
doHandlerLog
(
platformMark
,
null
,
""
,
loginName
,
requestUrl
,
content
,
ip
,
new
Date
());
}
}
@Pointcut
(
"execution(public * com.mortals.xhx..*Controller.*(..))"
)
/*
@Pointcut("execution(public * com.mortals.xhx..*Controller.*(..))")
public void accessLog() {
public void accessLog() {
}
}
...
@@ -55,13 +77,13 @@ public class OperlogAspect extends FileLogServiceImpl implements ILogService {
...
@@ -55,13 +77,13 @@ public class OperlogAspect extends FileLogServiceImpl implements ILogService {
HttpServletRequest request = attributes.getRequest();
HttpServletRequest request = attributes.getRequest();
// url
// url
log
ger
.
info
(
"ip[{}]url[{}]"
,
request
.
getRemoteAddr
(),
request
.
getRequestURL
());
log.info("ip[{}]url[{}]", request.getRemoteAddr(), request.getRequestURL());
// 参数第1和第2个参数为HttpServletRequest request, HttpServletResponse
// 参数第1和第2个参数为HttpServletRequest request, HttpServletResponse
// response
// response
if (joinPoint.getArgs().length > 2) {
if (joinPoint.getArgs().length > 2) {
log
ger
.
info
(
"args={}"
,
joinPoint
.
getArgs
()[
2
]);
log.info("args={}", joinPoint.getArgs()[2]);
} else {
} else {
log
ger
.
info
(
"args={}"
,
joinPoint
.
getArgs
());
log.info("args={}", joinPoint.getArgs());
}
}
}
}
...
@@ -69,7 +91,7 @@ public class OperlogAspect extends FileLogServiceImpl implements ILogService {
...
@@ -69,7 +91,7 @@ public class OperlogAspect extends FileLogServiceImpl implements ILogService {
@AfterReturning(returning = "object", pointcut = "accessLog()")
@AfterReturning(returning = "object", pointcut = "accessLog()")
public void doAfterReturning(Object object) {
public void doAfterReturning(Object object) {
if (null != object) {
if (null != object) {
log
ger
.
info
(
"response={}"
,
object
.
toString
());
log.info("response={}", object.toString());
}
}
}
}
*/
}
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/aspect/WebLogAspect.java
View file @
a74945e2
package
com.mortals.xhx.base.framework.aspect
;
package
com.mortals.xhx.base.framework.aspect
;
import
cn.hutool.core.net.Ipv4Util
;
import
cn.hutool.extra.servlet.ServletUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -27,11 +30,11 @@ import java.util.Map;
...
@@ -27,11 +30,11 @@ import java.util.Map;
* @author: zxfei
* @author: zxfei
* @date: 2022/4/20 9:24
* @date: 2022/4/20 9:24
*/
*/
@Aspect
//
@Aspect
@Component
//
@Component
@Slf4j
@Slf4j
@Order
(
1
)
@Order
(
1
)
@Profile
({
"default"
,
"develop"
,
"test"
})
//
@Profile({"default", "develop", "test"})
public
class
WebLogAspect
{
public
class
WebLogAspect
{
@Pointcut
(
"execution(public * com.mortals..*Controller.*(..))"
)
@Pointcut
(
"execution(public * com.mortals..*Controller.*(..))"
)
public
void
webLog
()
{
public
void
webLog
()
{
...
@@ -61,13 +64,19 @@ public class WebLogAspect {
...
@@ -61,13 +64,19 @@ public class WebLogAspect {
public
void
afterReturning
(
Object
result
)
{
public
void
afterReturning
(
Object
result
)
{
ServletRequestAttributes
attributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
ServletRequestAttributes
attributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
HttpServletRequest
request
=
attributes
.
getRequest
();
HttpServletRequest
request
=
attributes
.
getRequest
();
Map
<
String
,
String
>
map
=
MDC
.
getCopyOfContextMap
();
Map
<
String
,
String
>
map
=
MDC
.
getCopyOfContextMap
();
if
(
map
!=
null
&&
result
!=
null
)
{
if
(
map
!=
null
&&
result
!=
null
)
{
String
startTime
=
map
.
getOrDefault
(
"startTime"
,
String
.
valueOf
(
System
.
currentTimeMillis
()));
String
startTime
=
map
.
getOrDefault
(
"startTime"
,
String
.
valueOf
(
System
.
currentTimeMillis
()));
long
takeTime
=
(
System
.
currentTimeMillis
()
-
Long
.
parseLong
(
startTime
));
long
takeTime
=
(
System
.
currentTimeMillis
()
-
Long
.
parseLong
(
startTime
));
log
.
info
(
" \n 请求路径:{} \n 耗时:{}ms \n 请求报文:{} \n 响应报文:{}"
if
(
result
instanceof
String
)
{
,
request
.
getRequestURI
(),
takeTime
,
map
.
getOrDefault
(
"req"
,
""
),
result
==
null
?
""
:
result
.
toString
());
log
.
info
(
" \n 请求路径:{} 耗时:{}ms 客户端IP:{} \n 请求报文:{} \n 响应报文:{} "
,
request
.
getRequestURI
(),
takeTime
,
ServletUtil
.
getClientIP
(
request
),
map
.
getOrDefault
(
"req"
,
""
),
result
);
}
else
{
log
.
info
(
" \n 请求路径:{} 耗时:{}ms 客户端IP:{}\n 请求报文:{} \n 响应报文:{}"
,
request
.
getRequestURI
(),
takeTime
,
ServletUtil
.
getClientIP
(
request
),
map
.
getOrDefault
(
"req"
,
""
),
JSON
.
toJSONString
(
result
));
}
}
}
}
}
...
...
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/AccountConfig.java
View file @
a74945e2
package
com.mortals.xhx.base.framework.config
;
package
com.mortals.xhx.base.framework.config
;
import
com.mortals.framework.springcloud.config.web.BaseWebMvcConfigurer
;
import
com.mortals.framework.springcloud.config.web.BaseWebMvcConfigurer
;
import
com.mortals.xhx.base.framework.feign.HierarchicalContract
;
import
com.mortals.xhx.base.framework.WxMessageConverter
;
import
feign.Contract
;
import
feign.codec.Decoder
;
import
org.springframework.beans.factory.ObjectFactory
;
import
org.springframework.boot.autoconfigure.http.HttpMessageConverters
;
import
org.springframework.cloud.openfeign.support.SpringDecoder
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
...
@@ -14,12 +17,16 @@ import org.springframework.context.annotation.Configuration;
...
@@ -14,12 +17,16 @@ import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration
public
class
AccountConfig
{
public
class
AccountConfig
{
@Bean
@Bean
public
Contract
feignContract
()
{
public
BaseWebMvcConfigurer
getBaseWebMvc
()
{
return
new
HierarchicalContract
(
);
return
new
BaseWebMvcConfigurer
(
false
,
null
);
}
}
@Bean
@Bean
public
BaseWebMvcConfigurer
getBaseWebMvc
(){
public
Decoder
feignDecoder
()
{
return
new
BaseWebMvcConfigurer
(
false
,
null
);
WxMessageConverter
wxConverter
=
new
WxMessageConverter
();
ObjectFactory
<
HttpMessageConverters
>
objectFactory
=
()
->
new
HttpMessageConverters
(
wxConverter
);
return
new
SpringDecoder
(
objectFactory
);
}
}
}
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/CorsConfig.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.base.framework.config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
/**
* @author: zxfei
* @date: 2022/2/15 13:16
* @description:
**/
@Configuration
public
class
CorsConfig
implements
WebMvcConfigurer
{
@Bean
public
CorsFilter
corsFilter
(){
//初始化配置对象
CorsConfiguration
configuration
=
new
CorsConfiguration
();
//允许跨域访问的域名
configuration
.
addAllowedOrigin
(
"*"
);
// configuration.setAllowCredentials(true); //运行携带cookie
configuration
.
addAllowedMethod
(
"*"
);
//代表所有请求方法
configuration
.
addAllowedHeader
(
"*"
);
//允许携带任何头信息
//初始化cors配置源对象
UrlBasedCorsConfigurationSource
configurationSource
=
new
UrlBasedCorsConfigurationSource
();
configurationSource
.
registerCorsConfiguration
(
"/**"
,
configuration
);
//返回CorSfilter实例,参数
return
new
CorsFilter
(
configurationSource
);
}
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
)
{
registry
.
addMapping
(
"/**"
)
.
allowCredentials
(
true
)
.
allowedOrigins
(
"*"
)
.
allowedMethods
(
new
String
[]
{
"GET"
,
"POST"
,
"PUT"
,
"DELETE"
})
.
allowedHeaders
(
"*"
)
.
exposedHeaders
(
"*"
);
}
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/CrossInterceptor.java
View file @
a74945e2
package
com.mortals.xhx.base.framework.config
;
package
com.mortals.xhx.base.framework.config
;
import
com.mortals.framework.web.interceptor.BaseInterceptor
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
...
@@ -13,7 +12,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -13,7 +12,7 @@ import javax.servlet.http.HttpServletResponse;
* @description:添加跨域响应
* @description:添加跨域响应
**/
**/
@Component
@Component
public
class
CrossInterceptor
extends
BaseIntercepto
r
{
public
class
CrossInterceptor
extends
HandlerInterceptorAdapte
r
{
@Override
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
...
@@ -24,9 +23,4 @@ public class CrossInterceptor extends BaseInterceptor {
...
@@ -24,9 +23,4 @@ public class CrossInterceptor extends BaseInterceptor {
response
.
setHeader
(
"Access-Control-Allow-Credentials"
,
"true"
);
response
.
setHeader
(
"Access-Control-Allow-Credentials"
,
"true"
);
return
true
;
return
true
;
}
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
super
.
afterCompletion
(
request
,
response
,
handler
,
ex
);
}
}
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/FilterConfig.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.base.framework.config
;
import
com.mortals.framework.filter.RepeatableFilter
;
import
com.mortals.framework.filter.XssFilter
;
import
com.mortals.framework.util.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.web.servlet.FilterRegistrationBean
;
import
org.springframework.context.annotation.Bean
;
import
javax.servlet.DispatcherType
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* Filter配置
*
* @author zxfei
*/
//@Configuration
public
class
FilterConfig
{
@Value
(
"${xss.enabled}"
)
private
String
enabled
;
@Value
(
"${xss.excludes}"
)
private
String
excludes
;
@Value
(
"${xss.urlPatterns}"
)
private
String
urlPatterns
;
@SuppressWarnings
({
"rawtypes"
,
"unchecked"
})
@Bean
public
FilterRegistrationBean
xssFilterRegistration
()
{
FilterRegistrationBean
registration
=
new
FilterRegistrationBean
();
registration
.
setDispatcherTypes
(
DispatcherType
.
REQUEST
);
registration
.
setFilter
(
new
XssFilter
());
registration
.
addUrlPatterns
(
StringUtils
.
split
(
urlPatterns
,
","
));
registration
.
setName
(
"xssFilter"
);
registration
.
setOrder
(
FilterRegistrationBean
.
HIGHEST_PRECEDENCE
);
Map
<
String
,
String
>
initParameters
=
new
HashMap
<
String
,
String
>();
initParameters
.
put
(
"excludes"
,
excludes
);
initParameters
.
put
(
"enabled"
,
enabled
);
registration
.
setInitParameters
(
initParameters
);
return
registration
;
}
@SuppressWarnings
({
"rawtypes"
,
"unchecked"
})
@Bean
public
FilterRegistrationBean
someFilterRegistration
()
{
FilterRegistrationBean
registration
=
new
FilterRegistrationBean
();
registration
.
setFilter
(
new
RepeatableFilter
());
registration
.
addUrlPatterns
(
"/*"
);
registration
.
setName
(
"repeatableFilter"
);
registration
.
setOrder
(
FilterRegistrationBean
.
LOWEST_PRECEDENCE
);
return
registration
;
}
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/MybatisConfiguration.java
View file @
a74945e2
package
com.mortals.xhx.base.framework.config
;
package
com.mortals.xhx.base.framework.config
;
import
java.io.IOException
;
import
java.net.URLDecoder
;
import
javax.sql.DataSource
;
import
com.mortals.framework.springcloud.config.mybatis.AbstractMybatisConfiguration
;
import
com.mortals.framework.springcloud.config.mybatis.AbstractMybatisConfiguration
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.ibatis.io.VFS
;
import
org.apache.ibatis.session.SqlSessionFactory
;
import
org.apache.ibatis.session.SqlSessionFactory
;
import
org.mybatis.spring.SqlSessionFactoryBean
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.support.PathMatchingResourcePatternResolver
;
import
org.springframework.core.io.support.ResourcePatternResolver
;
import
com.mortals.framework.springcloud.config.SpringBootVFS
;
import
javax.sql.DataSource
;
@Configuration
@Configuration
//@AutoConfigureAfter(DataSourceAutoConfiguration.class)
//@AutoConfigureAfter(DataSourceAutoConfiguration.class)
...
@@ -45,7 +35,6 @@ public class MybatisConfiguration extends AbstractMybatisConfiguration {
...
@@ -45,7 +35,6 @@ public class MybatisConfiguration extends AbstractMybatisConfiguration {
@Value
(
"${mybatis.config-location}"
)
@Value
(
"${mybatis.config-location}"
)
private
String
configLocation
;
private
String
configLocation
;
// 提供SqlSeesion
// 提供SqlSeesion
@Bean
(
name
=
"sqlSessionFactory"
)
@Bean
(
name
=
"sqlSessionFactory"
)
public
SqlSessionFactory
sqlSessionFactoryBean
(
@Qualifier
(
"dataSource"
)
DataSource
dataSource
)
{
public
SqlSessionFactory
sqlSessionFactoryBean
(
@Qualifier
(
"dataSource"
)
DataSource
dataSource
)
{
...
...
fill-manager/src/main/java/com/mortals/xhx/base/framework/config/RedissonConfig.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.base.framework.config
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.redisson.Redisson
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.client.codec.Codec
;
import
org.redisson.codec.JsonJacksonCodec
;
import
org.redisson.config.Config
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
/**
* RedissonConfig配置
*
* @author: zxfei
* @date: 2022/8/8 16:02
*/
//@Configuration
//@ConfigurationProperties(prefix = "spring.redis")
@Slf4j
@Data
public
class
RedissonConfig
{
private
String
host
;
private
int
port
;
private
String
password
;
private
int
database
;
//@Bean
public
RedissonClient
redissonClient
()
{
RedissonClient
redissonClient
;
Config
config
=
new
Config
();
String
url
=
"redis://"
+
host
+
":"
+
port
;
// 单节点配置
config
.
useSingleServer
().
setAddress
(
url
).
setDatabase
(
database
).
setPassword
(
password
);
//使用json序列化方式
Codec
codec
=
new
JsonJacksonCodec
();
config
.
setCodec
(
codec
);
// 主从配置
/*config.useMasterSlaveServers()
// 设置redis主节点
.setMasterAddress("redis://192.168.1.120:6379")
// 设置redis从节点
.addSlaveAddress("redis://192.168.1.130:6379", "redis://192.168.1.140:6379");*/
// 哨兵部署方式,sentinel是采用Paxos拜占庭协议,一般sentinel至少3个节点
/*config.useSentinelServers()
.setMasterName("my-sentinel-name")
.addSentinelAddress("redis://192.168.1.120:6379")
.addSentinelAddress("redis://192.168.1.130:6379")
.addSentinelAddress("redis://192.168.1.140:6379");*/
// 集群部署方式,cluster方式至少6个节点,3主3从,3主做sharding,3从用来保证主宕机后可以高可用
/*config.useClusterServers()
// 集群状态扫描间隔时间,单位是毫秒
.setScanInterval(2000)
.addNodeAddress("redis://192.168.1.120:6379")
.addNodeAddress("redis://192.168.1.130:6379")
.addNodeAddress("redis://192.168.1.140:6379")
.addNodeAddress("redis://192.168.1.150:6379")
.addNodeAddress("redis://192.168.1.160:6379")
.addNodeAddress("redis://192.168.1.170:6379");*/
// 云托管部署方式,这种方式主要解决redis提供商为云服务的提供商的redis连接,比如亚马逊云、微软云
/*config.useReplicatedServers()
// 主节点变化扫描间隔时间
.setScanInterval(2000)
.addNodeAddress("redis://192.168.1.120:6379")
.addNodeAddress("redis://192.168.1.130:6379")
.addNodeAddress("redis://192.168.1.140:6379");*/
redissonClient
=
Redisson
.
create
(
config
);
return
redissonClient
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/framework/filter/RequestFilter.java
View file @
a74945e2
package
com.mortals.xhx.base.framework.filter
;
package
com.mortals.xhx.base.framework.filter
;
import
cn.hutool.core.util.IdUtil
;
import
com.mortals.framework.service.IAuthTokenService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.slf4j.MDC
;
import
org.slf4j.MDC
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
org.springframework.web.util.ContentCachingRequestWrapper
;
import
org.springframework.web.util.ContentCachingRequestWrapper
;
...
@@ -23,19 +19,13 @@ import java.io.IOException;
...
@@ -23,19 +19,13 @@ import java.io.IOException;
* @author: zxfei
* @author: zxfei
* @date: 2022/4/20 14:52
* @date: 2022/4/20 14:52
*/
*/
@Component
//
@Component
@Slf4j
@Slf4j
public
class
RequestFilter
extends
OncePerRequestFilter
implements
Filter
{
public
class
RequestFilter
extends
OncePerRequestFilter
implements
Filter
{
@Autowired
private
IAuthTokenService
authTokenService
;
@Override
@Override
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
filterChain
)
throws
ServletException
,
IOException
{
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
filterChain
)
throws
ServletException
,
IOException
{
try
{
try
{
//每个请求记录一个traceId,可以根据traceId搜索出本次请求的全部相关日志
MDC
.
put
(
"traceId"
,
IdUtil
.
fastSimpleUUID
().
substring
(
0
,
12
));
setUsername
(
request
);
request
=
new
ContentCachingRequestWrapper
(
request
);
request
=
new
ContentCachingRequestWrapper
(
request
);
filterChain
.
doFilter
(
request
,
response
);
filterChain
.
doFilter
(
request
,
response
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -47,22 +37,22 @@ public class RequestFilter extends OncePerRequestFilter implements Filter {
...
@@ -47,22 +37,22 @@ public class RequestFilter extends OncePerRequestFilter implements Filter {
}
}
private
void
setUsername
(
HttpServletRequest
request
)
{
/*
private void setUsername(HttpServletRequest request) {
//通过token解析出username
//通过token解析出username
String token = authTokenService.getToken(request);
String token = authTokenService.getToken(request);
//String token = request.getHeader("token");
//String token = request.getHeader("token");
if (!ObjectUtils.isEmpty(token)) {
if (!ObjectUtils.isEmpty(token)) {
MDC.put("token",token);
MDC.put("token",token);
//
MDC.put("token", token);
MDC.put("token", token);
//
try {
try {
//
SessionUserInfo info = tokenService.getUserInfo();
SessionUserInfo info = tokenService.getUserInfo();
//
if (info != null) {
if (info != null) {
//
String username = info.getUsername();
String username = info.getUsername();
//
MDC.put("username", username);
MDC.put("username", username);
//
}
}
//
} catch (CommonJsonException e) {
} catch (CommonJsonException e) {
//
log.info("无效的token:{}", token);
log.info("无效的token:{}", token);
//
}
}
}
}
}
}
*/
}
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/
security
/AuthTokenServiceImpl.java
→
fill-manager/src/main/java/com/mortals/xhx/base/framework/
interceptor
/AuthTokenServiceImpl.java
View file @
a74945e2
package
com.mortals.xhx.base.framework.
security
;
package
com.mortals.xhx.base.framework.
interceptor
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.ap.SysConstains
;
import
com.mortals.framework.ap.SysConstains
;
...
@@ -14,7 +14,6 @@ import io.jsonwebtoken.SignatureAlgorithm;
...
@@ -14,7 +14,6 @@ import io.jsonwebtoken.SignatureAlgorithm;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -28,7 +27,7 @@ import java.util.Map;
...
@@ -28,7 +27,7 @@ import java.util.Map;
*
*
* @author zxfei
* @author zxfei
*/
*/
@Primary
@Service
@Service
@Order
(
1
)
@Order
(
1
)
@Slf4j
@Slf4j
...
@@ -55,6 +54,9 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
...
@@ -55,6 +54,9 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
@Value
(
"${token.database:0}"
)
@Value
(
"${token.database:0}"
)
private
Integer
portalDb
;
private
Integer
portalDb
;
@Value
(
"${platform.type:cloud}"
)
private
String
platFormType
;
//版本,默认云服务版本
protected
static
final
Long
SECOND
=
1
l
;
protected
static
final
Long
SECOND
=
1
l
;
protected
static
final
Long
SECOND_MINUTE
=
60
*
SECOND
;
protected
static
final
Long
SECOND_MINUTE
=
60
*
SECOND
;
...
@@ -85,12 +87,10 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
...
@@ -85,12 +87,10 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
Claims
claims
=
parseToken
(
token
);
Claims
claims
=
parseToken
(
token
);
String
uuid
=
(
String
)
claims
.
get
(
SysConstains
.
LOGIN_USER_KEY
);
String
uuid
=
(
String
)
claims
.
get
(
SysConstains
.
LOGIN_USER_KEY
);
String
userKey
=
getTokenKey
(
uuid
);
String
userKey
=
getTokenKey
(
uuid
);
cacheService
.
select
(
portalDb
);
String
userStr
=
cacheService
.
get
(
userKey
);
cacheService
.
select
(
db
);
// Rest<String> rest = userFeign.getToken(userKey);
// Rest<String> rest = userFeign.getToken(userKey);
// String userStr = rest.getData();
// String userStr = rest.getData();
String
userStr
=
""
;
userStr
=
cacheService
.
get
(
userKey
);
if
(
StringUtils
.
isNotEmpty
(
userStr
))
{
if
(
StringUtils
.
isNotEmpty
(
userStr
))
{
UserEntity
userEntity
=
JSONObject
.
parseObject
(
userStr
,
UserEntity
.
class
);
UserEntity
userEntity
=
JSONObject
.
parseObject
(
userStr
,
UserEntity
.
class
);
userEntity
.
setToken
(
token
);
userEntity
.
setToken
(
token
);
...
...
fill-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java
View file @
a74945e2
...
@@ -2,13 +2,14 @@ package com.mortals.xhx.base.framework.interceptor;
...
@@ -2,13 +2,14 @@ package com.mortals.xhx.base.framework.interceptor;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.service.IAuthTokenService
;
import
com.mortals.framework.service.IAuthTokenService
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.util.AESUtil
;
import
com.mortals.framework.util.AESUtil
;
import
com.mortals.framework.utils.ServletUtils
;
import
com.mortals.framework.utils.ServletUtils
;
import
com.mortals.framework.web.interceptor.BaseInterceptor
;
import
com.mortals.framework.web.interceptor.BaseInterceptor
;
import
com.mortals.xhx.base.framework.config.InterceptorConfig
;
import
com.mortals.xhx.base.framework.config.InterceptorConfig
;
import
com.mortals.xhx.common.
key.Constant
;
import
com.mortals.xhx.common.
code.ApiRespCodeEnum
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
...
@@ -19,6 +20,9 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -19,6 +20,9 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Method
;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.*;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.
ERROR_USER_OPERATION_CONTENT
;
/**
/**
* 用户权限验证,基于token
* 用户权限验证,基于token
*
*
...
@@ -40,7 +44,8 @@ public class AuthUserInterceptor extends BaseInterceptor {
...
@@ -40,7 +44,8 @@ public class AuthUserInterceptor extends BaseInterceptor {
@Override
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
throws
Exception
{
if
(
handler
instanceof
HandlerMethod
)
{
JSONObject
ret
=
new
JSONObject
();
if
(
handler
instanceof
HandlerMethod
){
HandlerMethod
handlerMethod
=
(
HandlerMethod
)
handler
;
HandlerMethod
handlerMethod
=
(
HandlerMethod
)
handler
;
Method
method
=
handlerMethod
.
getMethod
();
Method
method
=
handlerMethod
.
getMethod
();
UnAuth
annotation
=
method
.
getAnnotation
(
UnAuth
.
class
);
UnAuth
annotation
=
method
.
getAnnotation
(
UnAuth
.
class
);
...
@@ -48,10 +53,9 @@ public class AuthUserInterceptor extends BaseInterceptor {
...
@@ -48,10 +53,9 @@ public class AuthUserInterceptor extends BaseInterceptor {
//取消校验
//取消校验
return
true
;
return
true
;
}
}
}
else
if
(
handler
instanceof
ResourceHttpRequestHandler
)
{
}
else
if
(
handler
instanceof
ResourceHttpRequestHandler
)
{
return
true
;
return
true
;
}
}
JSONObject
ret
=
new
JSONObject
();
try
{
try
{
String
uri
=
request
.
getServletPath
();
String
uri
=
request
.
getServletPath
();
//校验配置的请求路径是否需要检查权限
//校验配置的请求路径是否需要检查权限
...
@@ -59,23 +63,23 @@ public class AuthUserInterceptor extends BaseInterceptor {
...
@@ -59,23 +63,23 @@ public class AuthUserInterceptor extends BaseInterceptor {
//需要校验权限
//需要校验权限
boolean
auth
=
this
.
checkAuth
(
request
,
uri
,
config
.
getSecurityKey
());
boolean
auth
=
this
.
checkAuth
(
request
,
uri
,
config
.
getSecurityKey
());
if
(!
auth
)
{
if
(!
auth
)
{
//校验token不正常
String
token
=
authTokenService
.
getToken
(
request
);
if
(
ObjectUtils
.
isEmpty
(
token
)){
ServletUtils
.
renderString
(
response
,
JSONObject
.
toJSONString
(
Rest
.
fail
(
ERROR_TOKEN_UNAUTHORIZED
,
ERROR_TOKEN_UNAUTHORIZED_CONTENT
)));
return
false
;
}
//不存在时候 如果是管理员也不做拦截
//不存在时候 如果是管理员也不做拦截
IUser
loginUser
=
authTokenService
.
getLoginUser
(
request
);
IUser
loginUser
=
authTokenService
.
getLoginUser
(
request
);
//loginUser.isManager()
if
(
ObjectUtils
.
isEmpty
(
loginUser
))
{
if
(
ObjectUtils
.
isEmpty
(
loginUser
)){
ServletUtils
.
renderString
(
response
,
JSONObject
.
toJSONString
(
Rest
.
fail
(
ERROR_TOKEN_EXPIRED
,
ERROR_TOKEN_EXPIRED_CONTENT
)));
ret
.
put
(
"code"
,
401
);
ret
.
put
(
"msg"
,
"用户未登录或登录失效,请重新登录"
);
ServletUtils
.
renderString
(
response
,
JSONObject
.
toJSONString
(
ret
));
return
false
;
return
false
;
}
else
if
(
loginUser
.
isAdmin
()||
loginUser
.
getUserType
()==
1
||
loginUser
.
getUserType
()==
Constant
.
CUSTOMER_USER
)
{
}
else
if
(
loginUser
.
isAdmin
()
||
loginUser
.
getUserType
()
==
1
)
{
return
super
.
preHandle
(
request
,
response
,
handler
);
return
super
.
preHandle
(
request
,
response
,
handler
);
}
else
{
}
else
{
ret
.
put
(
"code"
,
-
1
);
ServletUtils
.
renderString
(
response
,
JSONObject
.
toJSONString
(
Rest
.
fail
(
ERROR_USER_OPERATION
,
ERROR_USER_OPERATION_CONTENT
)));
ret
.
put
(
"msg"
,
"用户无该操作权限!"
);
ServletUtils
.
renderString
(
response
,
JSONObject
.
toJSONString
(
ret
));
return
false
;
return
false
;
}
}
}
}
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -102,6 +106,4 @@ public class AuthUserInterceptor extends BaseInterceptor {
...
@@ -102,6 +106,4 @@ public class AuthUserInterceptor extends BaseInterceptor {
return
false
;
return
false
;
}
}
}
}
fill-manager/src/main/java/com/mortals/xhx/base/framework/ws/handler/AuthMessageHandler.java
View file @
a74945e2
...
@@ -3,7 +3,6 @@ package com.mortals.xhx.base.framework.ws.handler;
...
@@ -3,7 +3,6 @@ package com.mortals.xhx.base.framework.ws.handler;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.xhx.base.framework.ws.message.AuthRequest
;
import
com.mortals.xhx.base.framework.ws.message.AuthRequest
;
import
com.mortals.xhx.base.framework.ws.message.AuthResponse
;
import
com.mortals.xhx.base.framework.ws.message.AuthResponse
;
import
com.mortals.xhx.base.framework.ws.message.UserJoinNoticeRequest
;
import
com.mortals.xhx.base.framework.ws.util.WebSocketUtil
;
import
com.mortals.xhx.base.framework.ws.util.WebSocketUtil
;
import
lombok.extern.apachecommons.CommonsLog
;
import
lombok.extern.apachecommons.CommonsLog
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
...
fill-manager/src/main/java/com/mortals/xhx/base/framework/ws/handler/HeartBeatHandler.java
View file @
a74945e2
...
@@ -2,8 +2,6 @@ package com.mortals.xhx.base.framework.ws.handler;
...
@@ -2,8 +2,6 @@ package com.mortals.xhx.base.framework.ws.handler;
import
com.mortals.xhx.base.framework.ws.message.HeartBeatRequest
;
import
com.mortals.xhx.base.framework.ws.message.HeartBeatRequest
;
import
com.mortals.xhx.base.framework.ws.message.SendResponse
;
import
com.mortals.xhx.base.framework.ws.message.SendResponse
;
import
com.mortals.xhx.base.framework.ws.message.SendToOneRequest
;
import
com.mortals.xhx.base.framework.ws.message.SendToUserRequest
;
import
com.mortals.xhx.base.framework.ws.util.WebSocketUtil
;
import
com.mortals.xhx.base.framework.ws.util.WebSocketUtil
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.socket.WebSocketSession
;
import
org.springframework.web.socket.WebSocketSession
;
...
...
fill-manager/src/main/java/com/mortals/xhx/base/framework/ws/websocket/WebSocketShakeInterceptor.java
View file @
a74945e2
...
@@ -4,7 +4,6 @@ import lombok.extern.apachecommons.CommonsLog;
...
@@ -4,7 +4,6 @@ import lombok.extern.apachecommons.CommonsLog;
import
org.springframework.http.server.ServerHttpRequest
;
import
org.springframework.http.server.ServerHttpRequest
;
import
org.springframework.http.server.ServerHttpResponse
;
import
org.springframework.http.server.ServerHttpResponse
;
import
org.springframework.http.server.ServletServerHttpRequest
;
import
org.springframework.http.server.ServletServerHttpRequest
;
import
org.springframework.web.socket.WebSocketHandler
;
import
org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor
;
import
org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -17,18 +16,20 @@ import java.util.Map;
...
@@ -17,18 +16,20 @@ import java.util.Map;
@CommonsLog
@CommonsLog
public
class
WebSocketShakeInterceptor
extends
HttpSessionHandshakeInterceptor
{
public
class
WebSocketShakeInterceptor
extends
HttpSessionHandshakeInterceptor
{
@Override
// 拦截 Handshake 事件
public
boolean
beforeHandshake
(
ServerHttpRequest
request
,
ServerHttpResponse
response
,
@Override
WebSocketHandler
wsHandler
,
Map
<
String
,
Object
>
attributes
)
throws
Exception
{
public
boolean
beforeHandshake
(
ServerHttpRequest
request
,
ServerHttpResponse
response
,
org
.
springframework
.
web
.
socket
.
WebSocketHandler
wsHandler
,
Map
<
String
,
Object
>
attributes
)
throws
Exception
{
// 获得 accessToken
// 获得 accessToken
if
(
request
instanceof
ServletServerHttpRequest
)
{
if
(
request
instanceof
ServletServerHttpRequest
)
{
ServletServerHttpRequest
serverRequest
=
(
ServletServerHttpRequest
)
request
;
ServletServerHttpRequest
serverRequest
=
(
ServletServerHttpRequest
)
request
;
attributes
.
put
(
"accessToken"
,
serverRequest
.
getServletRequest
().
getParameter
(
"accessToken"
));
attributes
.
put
(
"accessToken"
,
serverRequest
.
getServletRequest
().
getParameter
(
"accessToken"
));
}
}
// 调用父方法,继续执行逻辑
return
super
.
beforeHandshake
(
request
,
response
,
wsHandler
,
attributes
);
return
super
.
beforeHandshake
(
request
,
response
,
wsHandler
,
attributes
);
}
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
WebSocketShakeInterceptor
webSocketShakeInterceptor
=
new
WebSocketShakeInterceptor
();
WebSocketShakeInterceptor
webSocketShakeInterceptor
=
new
WebSocketShakeInterceptor
();
}
}
...
...
fill-manager/src/main/java/com/mortals/xhx/base/login/interceptor/AuthJsonInterceptor.java
View file @
a74945e2
package
com.mortals.xhx.base.login.interceptor
;
package
com.mortals.xhx.base.login.interceptor
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.xhx.base.framework.config.InterceptorConfig
;
import
com.mortals.xhx.base.framework.config.InterceptorConfig
;
import
com.mortals.framework.ap.CookieService
;
import
com.mortals.framework.ap.CookieService
;
import
com.mortals.framework.ap.SysConstains
;
import
com.mortals.framework.ap.SysConstains
;
...
@@ -13,10 +14,13 @@ import com.mortals.framework.web.interceptor.BaseInterceptor;
...
@@ -13,10 +14,13 @@ import com.mortals.framework.web.interceptor.BaseInterceptor;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.method.HandlerMethod
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
//@Order(1)
import
java.lang.reflect.Method
;
@Order
(
1
)
//@Component
//@Component
public
class
AuthJsonInterceptor
extends
BaseInterceptor
{
public
class
AuthJsonInterceptor
extends
BaseInterceptor
{
...
@@ -35,6 +39,13 @@ public class AuthJsonInterceptor extends BaseInterceptor {
...
@@ -35,6 +39,13 @@ public class AuthJsonInterceptor extends BaseInterceptor {
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
throws
Exception
{
try
{
try
{
HandlerMethod
handlerMethod
=
(
HandlerMethod
)
handler
;
Method
method
=
handlerMethod
.
getMethod
();
UnAuth
annotation
=
method
.
getAnnotation
(
UnAuth
.
class
);
if
(
annotation
!=
null
)
{
//取消校验
return
true
;
}
String
uri
=
request
.
getServletPath
();
String
uri
=
request
.
getServletPath
();
if
(
config
.
needCheckAuth
(
uri
))
{
if
(
config
.
needCheckAuth
(
uri
))
{
boolean
auth
=
this
.
checkAuth
(
request
,
uri
,
config
.
getSecurityKey
());
boolean
auth
=
this
.
checkAuth
(
request
,
uri
,
config
.
getSecurityKey
());
...
...
fill-manager/src/main/java/com/mortals/xhx/base/login/web/LoginController.java
View file @
a74945e2
...
@@ -2,10 +2,12 @@ package com.mortals.xhx.base.login.web;
...
@@ -2,10 +2,12 @@ package com.mortals.xhx.base.login.web;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.IdUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.ap.CookieService
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.ap.SysConstains
;
import
com.mortals.framework.ap.SysConstains
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.service.IAuthTokenService
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.ITokenService
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.util.AESUtil
;
import
com.mortals.framework.util.AESUtil
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.framework.util.DateUtils
;
...
@@ -19,9 +21,11 @@ import com.mortals.xhx.base.system.user.model.UserEntity;
...
@@ -19,9 +21,11 @@ import com.mortals.xhx.base.system.user.model.UserEntity;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.base.system.valid.service.ValidCodeService
;
import
com.mortals.xhx.base.system.valid.service.ValidCodeService
;
import
com.mortals.xhx.common.key.RedisKey
;
import
com.mortals.xhx.common.key.RedisKey
;
import
org.apache.commons.logging.Log
;
import
lombok.extern.slf4j.Slf4j
;
import
org.
apache.commons.logging.LogFactory
;
import
org.
springframework.beans.factory.InitializingBean
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnExpression
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -31,9 +35,13 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -31,9 +35,13 @@ import javax.servlet.http.HttpServletResponse;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Set
;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.
ERROR_TOKEN_EXPIRED
;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.
ERROR_TOKEN_EXPIRED_CONTENT
;
@RestController
@RestController
@Slf4j
@RequestMapping
(
"login"
)
@RequestMapping
(
"login"
)
public
class
LoginController
extends
BaseCRUDJsonBodyMappingController
<
UserService
,
UserEntity
,
Long
>
{
public
class
LoginController
extends
BaseCRUDJsonBodyMappingController
<
UserService
,
UserEntity
,
Long
>
implements
InitializingBean
{
@Autowired
@Autowired
private
UserService
userService
;
private
UserService
userService
;
...
@@ -44,19 +52,15 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -44,19 +52,15 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
@Autowired
@Autowired
private
MenuService
menuService
;
private
MenuService
menuService
;
@Autowired
@Autowired
private
ITokenService
tokenService
;
@Autowired
private
ICacheService
cacheService
;
private
ICacheService
cacheService
;
@Autowired
private
static
Log
logger
=
LogFactory
.
getLog
(
LoginController
.
class
)
;
private
IAuthTokenService
authTokenService
;
@RequestMapping
(
"login"
)
@RequestMapping
(
"login"
)
public
String
login
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@RequestBody
LoginForm
loginForm
)
throws
Exception
{
public
String
login
(
@RequestBody
LoginForm
loginForm
)
throws
Exception
{
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
String
loginName
=
loginForm
.
getLoginName
();
String
loginName
=
loginForm
.
getLoginName
();
String
password
=
loginForm
.
getPassword
();
String
password
=
loginForm
.
getPassword
();
//String securityCode = loginForm.getSecurityCode();
String
ip
=
super
.
getRequestIP
(
request
);
String
ip
=
super
.
getRequestIP
(
request
);
if
(
StringUtils
.
isEmpty
(
loginName
)
||
StringUtils
.
isEmpty
(
password
))
{
if
(
StringUtils
.
isEmpty
(
loginName
)
||
StringUtils
.
isEmpty
(
password
))
{
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
...
@@ -66,10 +70,8 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -66,10 +70,8 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
UserEntity
userEntity
=
null
;
UserEntity
userEntity
=
null
;
try
{
try
{
loginForm
.
validate
();
loginForm
.
validate
();
userEntity
=
userService
.
doLogin
(
loginName
,
password
,
ip
);
userEntity
=
userService
.
doLogin
(
loginName
,
password
,
ip
);
userEntity
.
setLastLoginAddress
(
ip
);
userEntity
.
setLastLoginAddress
(
ip
);
//saveCurrUser(request, response, userEntity);
recordSysLog
(
request
,
userEntity
,
"用户登录系统成功!"
);
recordSysLog
(
request
,
userEntity
,
"用户登录系统成功!"
);
// 返回拥有的菜单数据
// 返回拥有的菜单数据
Set
<
String
>
urls
=
resourceService
.
findUrlSetByUserId
(
userEntity
.
getId
());
Set
<
String
>
urls
=
resourceService
.
findUrlSetByUserId
(
userEntity
.
getId
());
...
@@ -78,23 +80,26 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -78,23 +80,26 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
if
(
currUserName
==
null
||
currUserName
.
trim
().
length
()
==
0
)
{
if
(
currUserName
==
null
||
currUserName
.
trim
().
length
()
==
0
)
{
currUserName
=
"管理员"
;
currUserName
=
"管理员"
;
}
}
userEntity
.
setLoginTime
(
System
.
currentTimeMillis
());
userEntity
.
setToken
(
IdUtil
.
fastSimpleUUID
());
userEntity
.
setExpireTime
(
DateUtils
.
addCurrDate
(
7
).
getTime
());
String
token
=
authTokenService
.
createToken
(
userEntity
);
JSONObject
data
=
new
JSONObject
();
JSONObject
data
=
new
JSONObject
();
data
.
put
(
"token"
,
token
);
data
.
put
(
"currUserName"
,
currUserName
);
data
.
put
(
"currUserName"
,
currUserName
);
data
.
put
(
"barList"
,
outlookBarList
);
data
.
put
(
"barList"
,
outlookBarList
);
data
.
put
(
"id"
,
userEntity
.
getId
());
data
.
put
(
"id"
,
userEntity
.
getId
());
data
.
put
(
"userType"
,
userEntity
.
getUserType
());
data
.
put
(
"userType"
,
userEntity
.
getUserType
());
userEntity
.
setLoginTime
(
System
.
currentTimeMillis
());
userEntity
.
setToken
(
IdUtil
.
fastSimpleUUID
());
userEntity
.
setExpireTime
(
DateUtils
.
addCurrDate
(
7
).
getTime
());
userEntity
.
setMenuUrl
(
generateMenuUrlCode
(
urls
));
String
token
=
authTokenService
.
createToken
(
userEntity
);
data
.
put
(
"token"
,
token
);
//设置token 和过期时间
//data.put("expiresTime", DateUtils.addCurrDate(7).getTime());
generateMenuUrlCode
(
urls
);
//this.generateBlackCookie(request, response, loginName, urls);
//this.generateBlackCookie(request, response, loginName, urls);
ret
.
put
(
KEY_RESULT_DATA
,
data
);
ret
.
put
(
KEY_RESULT_DATA
,
data
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_MSG
,
"用户登录系统成功!"
);
ret
.
put
(
KEY_RESULT_MSG
,
"用户登录系统成功!"
);
ret
.
put
(
"resources"
,
urls
);
ret
.
put
(
"resources"
,
urls
);
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"login error "
,
e
);
log
.
error
(
"login error "
,
e
);
...
@@ -109,17 +114,18 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -109,17 +114,18 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
}
}
@RequestMapping
(
"logout"
)
@RequestMapping
(
"logout"
)
public
void
logout
()
throws
Exception
{
public
void
logout
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
recordSysLog
(
request
,
"退出登录"
);
recordSysLog
(
request
,
"退出登录"
);
super
.
removeCurrUser
(
request
);
super
.
removeCurrUser
(
request
);
this
.
deleteBlackCookie
(
request
,
response
);
}
}
@RequestMapping
(
"index"
)
@RequestMapping
(
"index"
)
public
String
index
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
public
String
index
()
throws
Exception
{
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
IUser
user
=
this
.
getCurUser
();
IUser
user
=
this
.
getCurUser
();
if
(
user
==
null
)
{
if
(
user
==
null
)
{
return
""
;
return
JSONObject
.
toJSONString
(
Rest
.
fail
(
ERROR_TOKEN_EXPIRED
,
ERROR_TOKEN_EXPIRED_CONTENT
))
;
}
}
Set
<
String
>
urls
=
resourceService
.
findUrlSetByUserId
(
user
.
getId
());
Set
<
String
>
urls
=
resourceService
.
findUrlSetByUserId
(
user
.
getId
());
List
<
MenuEntity
>
outlookBarList
=
menuService
.
findTreeMenu
(
user
,
urls
);
List
<
MenuEntity
>
outlookBarList
=
menuService
.
findTreeMenu
(
user
,
urls
);
...
@@ -128,6 +134,9 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -128,6 +134,9 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
currUserName
=
"管理员"
;
currUserName
=
"管理员"
;
}
}
JSONObject
data
=
new
JSONObject
();
JSONObject
data
=
new
JSONObject
();
String
token
=
authTokenService
.
getToken
(
request
);
data
.
put
(
"token"
,
token
);
data
.
put
(
"currUserName"
,
currUserName
);
data
.
put
(
"currUserName"
,
currUserName
);
data
.
put
(
"barList"
,
outlookBarList
);
data
.
put
(
"barList"
,
outlookBarList
);
data
.
put
(
"id"
,
user
.
getId
());
data
.
put
(
"id"
,
user
.
getId
());
...
@@ -163,6 +172,26 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -163,6 +172,26 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
}
}
}
}
private
String
generateMenuUrlCode
(
Set
<
String
>
urls
)
{
try
{
String
securityKey
=
GlobalSysInfo
.
getPropertyValue
(
SysConstains
.
PROP_COOKIE_SECURITY_KEY
);
StringBuilder
sb
=
new
StringBuilder
();
if
(
urls
!=
null
&&
urls
.
size
()
>
0
)
{
for
(
String
url
:
urls
)
{
int
index
=
url
.
hashCode
()
&
(
Integer
.
MAX_VALUE
-
1
);
sb
.
append
(
index
).
append
(
","
);
}
}
String
menuUrl
=
sb
.
toString
();
return
AESUtil
.
encrypt
(
menuUrl
,
securityKey
);
}
catch
(
Throwable
e
)
{
log
.
error
(
"编码异常"
,
e
);
return
null
;
}
}
@RequestMapping
(
"validcode"
)
@RequestMapping
(
"validcode"
)
public
String
validCode
(
HttpServletRequest
request
,
HttpServletResponse
response
,
LoginForm
loginForm
)
{
public
String
validCode
(
HttpServletRequest
request
,
HttpServletResponse
response
,
LoginForm
loginForm
)
{
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
...
@@ -206,4 +235,26 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
...
@@ -206,4 +235,26 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
}
protected
void
deleteBlackCookie
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
try
{
CookieService
.
deleteCookieForAuth
(
request
,
response
);
}
catch
(
Throwable
e
)
{
}
}
@RequestMapping
(
"parseToken"
)
public
IUser
parseToken
()
throws
Exception
{
IUser
userEntity
=
authTokenService
.
getLoginUser
(
request
);
if
(!
ObjectUtils
.
isEmpty
(
userEntity
))
{
authTokenService
.
verifyToken
(
userEntity
);
return
userEntity
;
}
return
null
;
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
log
.
info
(
"初始化加载单机版登录。。。"
);
}
}
}
fill-manager/src/main/java/com/mortals/xhx/base/login/web/LoginForm.java
View file @
a74945e2
...
@@ -37,7 +37,7 @@ public class LoginForm extends BaseForm {
...
@@ -37,7 +37,7 @@ public class LoginForm extends BaseForm {
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"loginName:"
+
this
.
loginName
+
" password:"
+
this
.
password
;
return
"loginName:"
+
this
.
loginName
+
" password:"
+
this
.
password
+
" securityCode:"
+
this
.
securityCode
;
}
}
@Override
@Override
...
@@ -48,9 +48,7 @@ public class LoginForm extends BaseForm {
...
@@ -48,9 +48,7 @@ public class LoginForm extends BaseForm {
if
(
password
==
null
||
password
.
trim
().
length
()
==
0
)
{
if
(
password
==
null
||
password
.
trim
().
length
()
==
0
)
{
throw
new
AppException
(
"密码不能为空!"
);
throw
new
AppException
(
"密码不能为空!"
);
}
}
// if (securityCode == null || securityCode.trim().length() == 0) {
// throw new AppException("验证码不能为空!");
// }
return
super
.
validate
();
return
super
.
validate
();
}
}
}
}
fill-manager/src/main/java/com/mortals/xhx/base/login/web/SecurityCodeController.java
View file @
a74945e2
package
com.mortals.xhx.base.login.web
;
package
com.mortals.xhx.base.login.web
;
import
java.awt.image.BufferedImage
;
import
com.mortals.framework.util.SecurityImage
;
import
com.mortals.framework.web.BaseCRUDJsonController
;
import
javax.servlet.http.HttpServletRequest
;
import
com.mortals.xhx.base.login.service.GifSecurityImage
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.xhx.base.system.valid.model.ValidCodeEntity
;
import
com.mortals.xhx.base.system.valid.model.ValidCodeEntity
;
import
com.mortals.xhx.base.system.valid.service.ValidCodeService
;
import
com.mortals.xhx.base.system.valid.service.ValidCodeService
;
import
com.mortals.xhx.base.system.valid.web.ValidCodeForm
;
import
com.mortals.xhx.base.system.valid.web.ValidCodeForm
;
...
@@ -13,9 +11,9 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -13,9 +11,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.mortals.framework.util.SecurityImage
;
import
javax.servlet.http.HttpServletRequest
;
import
com.mortals.framework.web.BaseCRUDJsonController
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.xhx.base.login.service.GifSecurity
Image
;
import
java.awt.image.Buffered
Image
;
@RestController
@RestController
@RequestMapping
(
"securitycode"
)
@RequestMapping
(
"securitycode"
)
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/menu/model/MenuEntity.java
View file @
a74945e2
...
@@ -76,6 +76,9 @@ public class MenuEntity extends BaseEntityLong{
...
@@ -76,6 +76,9 @@ public class MenuEntity extends BaseEntityLong{
/** 创建用户名称 */
/** 创建用户名称 */
private
String
createUserName
;
private
String
createUserName
;
private
Integer
type
;
private
List
<
MenuEntity
>
childList
=
new
ArrayList
<
MenuEntity
>();
private
List
<
MenuEntity
>
childList
=
new
ArrayList
<
MenuEntity
>();
...
@@ -83,6 +86,14 @@ public class MenuEntity extends BaseEntityLong{
...
@@ -83,6 +86,14 @@ public class MenuEntity extends BaseEntityLong{
}
}
public
Integer
getType
()
{
return
type
;
}
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
/**
/**
* 获取 菜单名称
* 获取 菜单名称
* @return name
* @return name
...
@@ -410,7 +421,7 @@ public class MenuEntity extends BaseEntityLong{
...
@@ -410,7 +421,7 @@ public class MenuEntity extends BaseEntityLong{
this
.
name
=
null
;
this
.
name
=
null
;
this
.
url
=
null
;
this
.
url
=
null
;
this
.
parentId
=
null
;
this
.
parentId
=
null
;
this
.
orderId
=
null
;
this
.
orderId
=
0
;
this
.
status
=
1
;
this
.
status
=
1
;
this
.
linkType
=
0
;
this
.
linkType
=
0
;
this
.
groupId
=
1
;
this
.
groupId
=
1
;
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/menu/service/MenuService.java
View file @
a74945e2
...
@@ -52,4 +52,12 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
...
@@ -52,4 +52,12 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
* @throws AppException
* @throws AppException
*/
*/
public
List
<
MenuEntity
>
findTreeMenu
()
throws
AppException
;
public
List
<
MenuEntity
>
findTreeMenu
()
throws
AppException
;
/**
* 更新排列顺序
* @param id
* @param type
*/
void
upOrDown
(
Long
id
,
Integer
type
);
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/menu/service/impl/MenuServiceImpl.java
View file @
a74945e2
/**
/**
* 文件:MenuServiceImpl.java
* 文件:MenuServiceImpl.java
* 版本:1.0.0
* 版本:1.0.0
* 日期:
* 日期:
* Copyright ®
* Copyright ®
* All right reserved.
* All right reserved.
*/
*/
package
com.mortals.xhx.base.system.menu.service.impl
;
package
com.mortals.xhx.base.system.menu.service.impl
;
import
com.mortals.framework.common.code.YesNo
;
import
com.mortals.framework.common.code.YesNo
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
...
@@ -19,20 +20,23 @@ import com.mortals.xhx.base.system.menu.model.MenuEntity;
...
@@ -19,20 +20,23 @@ import com.mortals.xhx.base.system.menu.model.MenuEntity;
import
com.mortals.xhx.base.system.menu.model.MenuQuery
;
import
com.mortals.xhx.base.system.menu.model.MenuQuery
;
import
com.mortals.xhx.base.system.menu.service.MenuService
;
import
com.mortals.xhx.base.system.menu.service.MenuService
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
/**
* <p>Title: 菜单信息</p>
* <p>Title: 菜单信息</p>
* <p>Description: MenuServiceImpl service接口 </p>
* <p>Description: MenuServiceImpl service接口 </p>
* <p>Copyright: Copyright ® </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* <p>Company: </p>
* @author
*
* @author
* @version 1.0.0
* @version 1.0.0
*/
*/
@Service
(
"menuService"
)
@Service
(
"menuService"
)
public
class
MenuServiceImpl
extends
AbstractCRUDServiceImpl
<
MenuDao
,
MenuEntity
,
Long
>
implements
MenuService
{
public
class
MenuServiceImpl
extends
AbstractCRUDServiceImpl
<
MenuDao
,
MenuEntity
,
Long
>
implements
MenuService
{
@Override
@Override
public
List
<
MenuEntity
>
findAllEnable
()
throws
AppException
{
public
List
<
MenuEntity
>
findAllEnable
()
throws
AppException
{
...
@@ -48,7 +52,7 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao,MenuEntity,
...
@@ -48,7 +52,7 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao,MenuEntity,
@Override
@Override
public
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
,
Set
<
String
>
urls
)
throws
AppException
{
public
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
,
Set
<
String
>
urls
)
throws
AppException
{
Set
<
Long
>
authIds
=
new
HashSet
<
Long
>();
Set
<
Long
>
authIds
=
new
HashSet
<>();
Map
<
Long
,
MenuEntity
>
menuMap
=
new
HashMap
<
Long
,
MenuEntity
>();
Map
<
Long
,
MenuEntity
>
menuMap
=
new
HashMap
<
Long
,
MenuEntity
>();
List
<
MenuEntity
>
userModuleList
=
this
.
findAllEnable
();
List
<
MenuEntity
>
userModuleList
=
this
.
findAllEnable
();
for
(
MenuEntity
sysModule
:
userModuleList
)
{
for
(
MenuEntity
sysModule
:
userModuleList
)
{
...
@@ -111,5 +115,69 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao,MenuEntity,
...
@@ -111,5 +115,69 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao,MenuEntity,
}
}
return
outlookBar
;
return
outlookBar
;
}
}
@Override
public
void
upOrDown
(
Long
id
,
Integer
type
)
{
MenuQuery
query
=
new
MenuQuery
();
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"orderId"
)));
query
.
setOrderKind
(
OrderCol
.
ASCENDING
);
//判断移动的是一级菜单还是二级菜单
MenuEntity
menuEntity
=
this
.
get
(
id
);
if
(
menuEntity
.
getParentId
()
==
0
)
{
//一级菜单
query
.
setParentId
(
0L
);
}
else
{
//二级菜单
query
.
setParentId
(
menuEntity
.
getParentId
());
}
List
<
MenuEntity
>
list
=
this
.
find
(
query
);
MenuEntity
preEntity
=
null
;
MenuEntity
curEntity
=
null
;
if
(
type
==
YesNoEnum
.
NO
.
getValue
())
{
//up
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
if
(
list
.
get
(
i
).
getId
().
equals
(
id
)
&&
i
>
0
)
{
curEntity
=
list
.
get
(
i
);
preEntity
=
list
.
get
(
i
-
1
);
break
;
}
}
}
else
{
//down
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
if
(
list
.
get
(
i
).
getId
().
equals
(
id
)
&&
i
+
1
<
list
.
size
())
{
curEntity
=
list
.
get
(
i
);
preEntity
=
list
.
get
(
i
+
1
);
break
;
}
}
}
if
(
preEntity
!=
null
&&
curEntity
!=
null
)
{
//交换
int
temp
=
preEntity
.
getOrderId
();
preEntity
.
setOrderId
(
curEntity
.
getOrderId
());
curEntity
.
setOrderId
(
temp
);
this
.
update
(
preEntity
);
this
.
update
(
curEntity
);
}
}
@Override
protected
void
saveBefore
(
MenuEntity
entity
,
Context
context
)
throws
AppException
{
MenuQuery
query
=
new
MenuQuery
();
query
.
setParentId
(
entity
.
getParentId
());
Comparator
<
Integer
>
comparator
=
Comparator
.
comparing
(
Integer:
:
intValue
);
Optional
<
Integer
>
maxOptional
=
this
.
find
(
query
).
stream
().
map
(
MenuEntity:
:
getOrderId
).
filter
(
f
->
f
!=
9999
).
max
(
comparator
);
maxOptional
.
ifPresent
(
e
->
{
e
=
e
+
1
;
entity
.
setOrderId
(
e
);
});
super
.
saveBefore
(
entity
,
context
);
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/menu/web/MenuController.java
View file @
a74945e2
/**
* 文件:MenuController.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.menu.web
;
package
com.mortals.xhx.base.system.menu.web
;
...
@@ -13,9 +6,9 @@ import com.mortals.framework.exception.AppException;
...
@@ -13,9 +6,9 @@ import com.mortals.framework.exception.AppException;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.model.OrderCol
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
com.mortals.xhx.base.system.menu.model.MenuQuery
;
import
org.springframework.web.bind.annotation.
RestController
;
import
org.springframework.web.bind.annotation.
*
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
...
@@ -35,73 +28,86 @@ import java.util.Map;
...
@@ -35,73 +28,86 @@ import java.util.Map;
/**
/**
* <p>Title: 菜单信息</p>
* 菜单信息
* <p>Description: MenuController </p>
*
* <p>Copyright: Copyright ® </p>
* @author: zxfei
* <p>Company: </p>
* @date: 2021/11/30 10:02
* @author
* @version 1.0.0
*/
*/
@RestController
@RestController
@RequestMapping
(
"menu"
)
@RequestMapping
(
"menu"
)
public
class
MenuController
extends
BaseCRUDJsonMappingController
<
MenuService
,
MenuForm
,
MenuEntity
,
Long
>
{
public
class
MenuController
extends
BaseCRUDJsonBodyMappingController
<
MenuService
,
MenuEntity
,
Long
>
{
public
MenuController
()
{
super
.
setModuleDesc
(
"菜单信息"
);
}
public
MenuController
(){
@Override
super
.
setFormClass
(
MenuForm
.
class
);
protected
void
doListBefore
(
MenuEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
super
.
setModuleDesc
(
"菜单信息"
);
List
<
OrderCol
>
orderColList
=
new
ArrayList
<
OrderCol
>();
}
orderColList
.
add
(
new
OrderCol
(
"parentId"
));
orderColList
.
add
(
new
OrderCol
(
"orderId"
));
query
.
setOrderColList
(
orderColList
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
Map
<
String
,
Object
>
status
=
new
HashMap
<
String
,
Object
>();
status
.
put
(
"status"
,
DataSatus
.
getEnumMap
(
DataSatus
.
CLOSE
.
getValue
(),
DataSatus
.
DELETE
.
getValue
(),
DataSatus
.
OVERDUE
.
getValue
(),
DataSatus
.
USEOUT
.
getValue
()));
status
.
put
(
"linkType"
,
MenuLinkType
.
getEnumMap
());
status
.
put
(
"commMenu"
,
MenuComm
.
getEnumMap
());
status
.
put
(
"menuType"
,
MenuType
.
getEnumMap
());
status
.
put
(
"authType"
,
MenuAuthType
.
getEnumMap
());
model
.
put
(
KEY_RESULT_DICT
,
status
);
}
@Override
/**
protected
void
doListBefore
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MenuForm
form
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
* 改变状态
List
<
OrderCol
>
orderColList
=
new
ArrayList
<
OrderCol
>();
*/
orderColList
.
add
(
new
OrderCol
(
"parentId"
));
@RequestMapping
(
value
=
"change/status"
)
orderColList
.
add
(
new
OrderCol
(
"orderId"
));
public
String
changeStatus
(
@RequestBody
MenuEntity
query
)
{
form
.
getQuery
().
setOrderColList
(
orderColList
);
JSONObject
ret
=
new
JSONObject
();
}
Context
context
=
getContext
();
try
{
MenuEntity
entity
=
this
.
service
.
get
(
query
.
getId
(),
context
);
//.doSubmitAudit(form.getEntity(), context);
if
(
null
==
entity
)
{
throw
new
AppException
(
"菜单不存在!"
);
}
if
(
null
==
entity
.
getStatus
())
{
throw
new
AppException
(
"菜单状态不能为空!"
);
}
if
(
entity
.
getStatus
()
!=
DataSatus
.
ENABLE
.
getValue
()
&&
entity
.
getStatus
()
!=
DataSatus
.
DISENABLE
.
getValue
())
{
throw
new
AppException
(
"非法菜单状态!"
);
}
String
busiDesc
=
DataSatus
.
getByValue
(
entity
.
getStatus
()).
getDesc
();
entity
.
setStatus
(
entity
.
getStatus
());
this
.
service
.
update
(
entity
,
context
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_MSG
,
busiDesc
+
"成功"
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】 [id:"
+
entity
.
getId
()
+
"]"
);
@Override
}
catch
(
Exception
e
)
{
protected
void
init
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MenuForm
form
,
Map
<
String
,
Object
>
model
,
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
Context
context
)
{
ret
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
Map
<
String
,
Object
>
status
=
new
HashMap
<
String
,
Object
>();
}
status
.
put
(
"status"
,
DataSatus
.
getEnumMap
(
DataSatus
.
CLOSE
.
getValue
(),
DataSatus
.
DELETE
.
getValue
(),
DataSatus
.
OVERDUE
.
getValue
(),
DataSatus
.
USEOUT
.
getValue
()));
return
ret
.
toJSONString
();
status
.
put
(
"linkType"
,
MenuLinkType
.
getEnumMap
());
}
status
.
put
(
"commMenu"
,
MenuComm
.
getEnumMap
());
status
.
put
(
"menuType"
,
MenuType
.
getEnumMap
());
status
.
put
(
"authType"
,
MenuAuthType
.
getEnumMap
());
model
.
put
(
KEY_RESULT_DICT
,
status
);
super
.
init
(
request
,
response
,
form
,
model
,
context
);
}
/**
* 改变状态
*/
@RequestMapping
(
value
=
"change/status"
)
public
String
changeStatus
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MenuForm
form
)
{
JSONObject
ret
=
new
JSONObject
();
Context
context
=
getContext
();
try
{
MenuEntity
entity
=
this
.
service
.
get
(
form
.
getEntity
().
getId
(),
context
);
//.doSubmitAudit(form.getEntity(), context);
if
(
null
==
entity
)
{
throw
new
AppException
(
"菜单不存在!"
);
}
if
(
null
==
form
.
getEntity
().
getStatus
())
{
throw
new
AppException
(
"菜单状态不能为空!"
);
}
if
(
form
.
getEntity
().
getStatus
()
!=
DataSatus
.
ENABLE
.
getValue
()
&&
form
.
getEntity
().
getStatus
()
!=
DataSatus
.
DISENABLE
.
getValue
())
{
throw
new
AppException
(
"非法菜单状态!"
);
}
String
busiDesc
=
DataSatus
.
getByValue
(
form
.
getEntity
().
getStatus
()).
getDesc
();
entity
.
setStatus
(
form
.
getEntity
().
getStatus
());
this
.
service
.
update
(
entity
,
context
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_MSG
,
busiDesc
+
"成功"
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】 [id:"
+
entity
.
getId
()
+
"]"
);
}
catch
(
Exception
e
)
{
/**
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
* 更换排序
ret
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
*/
}
@PostMapping
(
value
=
"upOrDown"
)
return
ret
.
toJSONString
();
public
String
upOrDownTopicList
(
@RequestBody
MenuEntity
query
)
{
}
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
try
{
this
.
service
.
upOrDown
(
query
.
getId
(),
query
.
getType
());
}
catch
(
Exception
e
)
{
log
.
error
(
"更新错误"
,
e
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
ret
.
put
(
KEY_RESULT_MSG
,
e
.
getMessage
());
}
return
ret
.
toJSONString
();
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/oper/model/OperLogEntity.java
View file @
a74945e2
...
@@ -10,8 +10,6 @@ package com.mortals.xhx.base.system.oper.model;
...
@@ -10,8 +10,6 @@ package com.mortals.xhx.base.system.oper.model;
import
java.util.Date
;
import
java.util.Date
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.model.BaseEntityLong
;
/**
/**
...
@@ -47,7 +45,6 @@ public class OperLogEntity extends BaseEntityLong{
...
@@ -47,7 +45,6 @@ public class OperLogEntity extends BaseEntityLong{
private
String
ip
;
private
String
ip
;
/** 操作时间 */
/** 操作时间 */
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
logDate
;
private
Date
logDate
;
/** 操作类型,0:新增,1:修改,2:删除 */
/** 操作类型,0:新增,1:修改,2:删除 */
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/oper/service/impl/OperLogServiceImpl.java
View file @
a74945e2
...
@@ -106,7 +106,7 @@ public class OperLogServiceImpl extends AbstractCRUDServiceImpl<OperLogDao,OperL
...
@@ -106,7 +106,7 @@ public class OperLogServiceImpl extends AbstractCRUDServiceImpl<OperLogDao,OperL
operLogEntity
.
setLogDate
(
new
Date
());
operLogEntity
.
setLogDate
(
new
Date
());
operLogEntity
.
setPlatformMark
(
GlobalSysInfo
.
getPropertyValue
(
SysConstains
.
PROP_PLATFORM_MARK
));
operLogEntity
.
setPlatformMark
(
GlobalSysInfo
.
getPropertyValue
(
SysConstains
.
PROP_PLATFORM_MARK
));
//
operLogEntity.setOperType(operType.getValue());
//
operLogEntity.setOperType(operType.getValue());
operLogEntity
.
setRequestUrl
(
requestUrl
);
operLogEntity
.
setRequestUrl
(
requestUrl
);
operLogEntity
.
setLoginName
(
loginName
);
operLogEntity
.
setLoginName
(
loginName
);
operLogEntity
.
setUserId
(
userId
);
operLogEntity
.
setUserId
(
userId
);
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/oper/web/OperLogController.java
View file @
a74945e2
/**
/**
* 文件:OperLogController.java
* 文件:OperLogController.java
* 版本:1.0.0
* 版本:1.0.0
* 日期:
* 日期:
* Copyright ®
* Copyright ®
* All right reserved.
* All right reserved.
*/
*/
package
com.mortals.xhx.base.system.oper.web
;
package
com.mortals.xhx.base.system.oper.web
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.model.OrderCol
;
...
@@ -14,9 +16,15 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
...
@@ -14,9 +16,15 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import
com.mortals.xhx.base.system.oper.model.OperLogEntity
;
import
com.mortals.xhx.base.system.oper.model.OperLogEntity
;
import
com.mortals.xhx.base.system.oper.service.OperLogService
;
import
com.mortals.xhx.base.system.oper.service.OperLogService
;
import
com.mortals.xhx.common.code.OperTypeEnum
;
import
com.mortals.xhx.common.code.OperTypeEnum
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -26,33 +34,36 @@ import java.util.Map;
...
@@ -26,33 +34,36 @@ import java.util.Map;
* <p>Description: OperLogController </p>
* <p>Description: OperLogController </p>
* <p>Copyright: Copyright ® </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* <p>Company: </p>
* @author
*
* @author
* @version 1.0.0
* @version 1.0.0
*/
*/
@RestController
@RestController
@RequestMapping
(
"oper/log"
)
@RequestMapping
(
"oper/log"
)
public
class
OperLogController
extends
BaseCRUDJsonBodyMappingController
<
OperLogService
,
OperLogEntity
,
Long
>
{
public
class
OperLogController
extends
BaseCRUDJsonBodyMappingController
<
OperLogService
,
OperLogEntity
,
Long
>
{
public
OperLogController
(){
public
OperLogController
()
{
super
.
setFormClass
(
OperLogForm
.
class
);
super
.
setFormClass
(
OperLogForm
.
class
);
super
.
setModuleDesc
(
"操作日志"
);
super
.
setModuleDesc
(
"操作日志"
);
}
}
@Override
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
// 返回日志类型
Map
<
String
,
Object
>
status
=
new
HashMap
<
String
,
Object
>(
1
);
this
.
addDict
(
model
,
"operType"
,
OperTypeEnum
.
getEnumMap
());
// 返回日志类型
super
.
init
(
model
,
context
);
status
.
put
(
"operType"
,
OperTypeEnum
.
getEnumMap
());
}
model
.
put
(
KEY_RESULT_DICT
,
status
);
@Override
}
protected
void
doListBefore
(
OperLogEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
query
.
setOrderColList
(
new
ArrayList
<
OrderCol
>()
{
@Override
{
protected
void
doListBefore
(
OperLogEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
add
(
new
OrderCol
(
"a.logDate"
,
"desc"
));
query
.
setOrderColList
(
new
ArrayList
<
OrderCol
>()
{
}
{
});
add
(
new
OrderCol
(
"a.logDate"
,
"desc"
));
}
}
});
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceController.java
View file @
a74945e2
/**
* 文件:ResourceController.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.resource.web
;
package
com.mortals.xhx.base.system.resource.web
;
...
@@ -16,6 +9,8 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -16,6 +9,8 @@ import javax.servlet.http.HttpServletResponse;
import
com.mortals.framework.common.IBaseEnum
;
import
com.mortals.framework.common.IBaseEnum
;
import
com.mortals.framework.common.code.UserType
;
import
com.mortals.framework.common.code.UserType
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -29,16 +24,15 @@ import com.mortals.xhx.common.code.AuthType;
...
@@ -29,16 +24,15 @@ import com.mortals.xhx.common.code.AuthType;
import
com.mortals.xhx.common.code.SourceType
;
import
com.mortals.xhx.common.code.SourceType
;
/**
/**
* <p>Title: 资源信息</p>
* 资源信息
* <p>Description: ResourceController </p>
*
* <p>Copyright: Copyright ® </p>
* @author: zxfei
* <p>Company: </p>
* @date: 2022/5/7 15:27
* @author
* @version 1.0.0
*/
*/
@Slf4j
@RestController
@RestController
@RequestMapping
(
"resource"
)
@RequestMapping
(
"resource"
)
public
class
ResourceController
extends
BaseCRUDJson
MappingController
<
ResourceService
,
ResourceForm
,
ResourceEntity
,
Long
>
{
public
class
ResourceController
extends
BaseCRUDJson
BodyMappingController
<
ResourceService
,
ResourceEntity
,
Long
>
{
public
ResourceController
(){
public
ResourceController
(){
super
.
setFormClass
(
ResourceForm
.
class
);
super
.
setFormClass
(
ResourceForm
.
class
);
...
@@ -46,8 +40,7 @@ public class ResourceController extends BaseCRUDJsonMappingController<ResourceSe
...
@@ -46,8 +40,7 @@ public class ResourceController extends BaseCRUDJsonMappingController<ResourceSe
}
}
@Override
@Override
protected
void
init
(
HttpServletRequest
request
,
HttpServletResponse
response
,
ResourceForm
form
,
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
Map
<
String
,
Object
>
model
,
Context
context
)
{
Map
<
String
,
Object
>
statsus
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
statsus
=
new
HashMap
<
String
,
Object
>();
statsus
.
put
(
"authType"
,
AuthType
.
getEnumMap
());
statsus
.
put
(
"authType"
,
AuthType
.
getEnumMap
());
statsus
.
put
(
"sourceType"
,
SourceType
.
getEnumMap
());
statsus
.
put
(
"sourceType"
,
SourceType
.
getEnumMap
());
...
@@ -57,7 +50,6 @@ public class ResourceController extends BaseCRUDJsonMappingController<ResourceSe
...
@@ -57,7 +50,6 @@ public class ResourceController extends BaseCRUDJsonMappingController<ResourceSe
statsus
.
put
(
"userType"
,
UserType
.
findByValue
(
getCurUser
().
getUserType
()));
statsus
.
put
(
"userType"
,
UserType
.
findByValue
(
getCurUser
().
getUserType
()));
}
}
model
.
put
(
KEY_RESULT_DICT
,
statsus
);
model
.
put
(
KEY_RESULT_DICT
,
statsus
);
super
.
init
(
request
,
response
,
form
,
model
,
context
);
}
}
/**
/**
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/role/model/RoleEntity.java
View file @
a74945e2
...
@@ -22,7 +22,11 @@ import com.mortals.framework.model.BaseEntityLong;
...
@@ -22,7 +22,11 @@ import com.mortals.framework.model.BaseEntityLong;
*/
*/
public
class
RoleEntity
extends
BaseEntityLong
{
public
class
RoleEntity
extends
BaseEntityLong
{
private
static
final
long
serialVersionUID
=
1547777703344L
;
private
static
final
long
serialVersionUID
=
1547777703344L
;
/** 用户ID */
private
Long
userId
;
/** 角色名称 */
/** 角色名称 */
private
String
name
;
private
String
name
;
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleServiceImpl.java
View file @
a74945e2
...
@@ -8,13 +8,20 @@
...
@@ -8,13 +8,20 @@
package
com.mortals.xhx.base.system.role.service.impl
;
package
com.mortals.xhx.base.system.role.service.impl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.xhx.base.system.role.dao.RoleDao
;
import
com.mortals.xhx.base.system.role.dao.RoleDao
;
import
com.mortals.xhx.base.system.role.model.RoleEntity
;
import
com.mortals.xhx.base.system.role.model.*
;
import
com.mortals.xhx.base.system.role.service.RoleAuthService
;
import
com.mortals.xhx.base.system.role.service.RoleService
;
import
com.mortals.xhx.base.system.role.service.RoleService
;
import
com.mortals.xhx.base.system.role.service.RoleUserService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
/**
/**
* <p>Title: 角色信息</p>
* <p>Title: 角色信息</p>
* <p>Description: RoleServiceImpl service接口 </p>
* <p>Description: RoleServiceImpl service接口 </p>
...
@@ -25,7 +32,29 @@ import org.springframework.stereotype.Service;
...
@@ -25,7 +32,29 @@ import org.springframework.stereotype.Service;
*/
*/
@Service
(
"roleService"
)
@Service
(
"roleService"
)
public
class
RoleServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleDao
,
RoleEntity
,
Long
>
implements
RoleService
{
public
class
RoleServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleDao
,
RoleEntity
,
Long
>
implements
RoleService
{
@Autowired
private
RoleAuthService
roleAuthService
;
@Autowired
private
RoleUserService
roleUserService
;
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
//删除关联角色
Arrays
.
asList
(
ids
).
stream
().
peek
(
roleId
->{
RoleAuthQuery
roleAuthQuery
=
new
RoleAuthQuery
();
roleAuthQuery
.
setRoleId
(
roleId
);
Long
[]
roleAuthIds
=
roleAuthService
.
find
(
roleAuthQuery
).
stream
().
map
(
RoleAuthEntity:
:
getId
).
toArray
(
Long
[]::
new
);
roleAuthService
.
remove
(
roleAuthIds
,
context
);
RoleUserQuery
roleUserQuery
=
new
RoleUserQuery
();
roleUserQuery
.
setRoleId
(
roleId
);
Long
[]
roleUserIds
=
roleUserService
.
find
(
roleUserQuery
).
stream
().
map
(
RoleUserEntity:
:
getId
).
toArray
(
Long
[]::
new
);
roleUserService
.
remove
(
roleUserIds
,
context
);
}).
count
();
super
.
removeAfter
(
ids
,
context
,
result
);
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java
View file @
a74945e2
...
@@ -32,6 +32,7 @@ import java.util.Map;
...
@@ -32,6 +32,7 @@ import java.util.Map;
@Service
(
"roleUserService"
)
@Service
(
"roleUserService"
)
public
class
RoleUserServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleUserDao
,
RoleUserEntity
,
Long
>
implements
RoleUserService
{
public
class
RoleUserServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleUserDao
,
RoleUserEntity
,
Long
>
implements
RoleUserService
{
@Override
@Override
public
void
doDistributionUser
(
RoleUserQuery
query
)
{
public
void
doDistributionUser
(
RoleUserQuery
query
)
{
Long
roleId
=
query
.
getRoleId
();
Long
roleId
=
query
.
getRoleId
();
...
@@ -68,5 +69,7 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
...
@@ -68,5 +69,7 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
}
}
this
.
dao
.
insertBatch
(
list
);
this
.
dao
.
insertBatch
(
list
);
}
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthController.java
View file @
a74945e2
/**
* 文件:RoleAuthController.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.role.web
;
package
com.mortals.xhx.base.system.role.web
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.role.model.RoleAuthQuery
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -21,39 +18,38 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -21,39 +18,38 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
/**
/**
* <p>Title: 角色资源权限</p>
* 角色资源权限
* <p>Description: RoleAuthController </p>
*
* <p>Copyright: Copyright ® </p>
* @author: zxfei
* <p>Company: </p>
* @date: 2022/5/7 15:19
* @author
* @version 1.0.0
*/
*/
@Slf4j
@RestController
@RestController
@RequestMapping
(
"role/auth"
)
@RequestMapping
(
"role/auth"
)
public
class
RoleAuthController
extends
BaseCRUDJson
MappingController
<
RoleAuthService
,
RoleAuthForm
,
RoleAuthEntity
,
Long
>
{
public
class
RoleAuthController
extends
BaseCRUDJson
BodyMappingController
<
RoleAuthService
,
RoleAuthEntity
,
Long
>
{
public
RoleAuthController
()
{
public
RoleAuthController
()
{
super
.
setFormClass
(
RoleAuthForm
.
class
);
super
.
setFormClass
(
RoleAuthForm
.
class
);
super
.
setModuleDesc
(
"角色资源权限"
);
super
.
setModuleDesc
(
"角色资源权限"
);
}
}
/**
/**
* 分配资源
* 分配资源
*/
*/
@PostMapping
(
value
=
"distributionSource"
)
@PostMapping
(
value
=
"distributionSource"
)
public
String
distributionUser
(
HttpServletRequest
request
,
HttpServletResponse
response
,
RoleAuthForm
form
)
{
public
String
distributionUser
(
@RequestBody
RoleAuthQuery
query
)
{
try
{
try
{
service
.
doDistributionSource
(
form
.
getQuery
()
);
service
.
doDistributionSource
(
query
);
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"分配角色资源错误"
,
e
);
log
.
error
(
"分配角色资源错误"
,
e
);
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
ret
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
ret
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
}
}
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleController.java
View file @
a74945e2
/**
* 文件:RoleController.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.role.web
;
package
com.mortals.xhx.base.system.role.web
;
...
@@ -14,11 +7,10 @@ import com.mortals.framework.common.code.UserType;
...
@@ -14,11 +7,10 @@ import com.mortals.framework.common.code.UserType;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BasePhpCRUDJsonMappingController
;
import
com.mortals.xhx.base.system.role.model.RoleQuery
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.xhx.base.system.role.model.RoleEntity
;
import
com.mortals.xhx.base.system.role.model.RoleEntity
;
import
com.mortals.xhx.base.system.role.model.RoleUserEntity
;
import
com.mortals.xhx.base.system.role.model.RoleUserEntity
;
...
@@ -34,12 +26,10 @@ import java.util.List;
...
@@ -34,12 +26,10 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
* <p>Title: 角色信息</p>
* 角色信息
* <p>Description: RoleController </p>
*
* <p>Copyright: Copyright ® </p>
* @author: zxfei
* <p>Company: </p>
* @date: 2022/5/7 15:15
* @author
* @version 1.0.0
*/
*/
@RestController
@RestController
@RequestMapping
(
"role"
)
@RequestMapping
(
"role"
)
...
@@ -55,17 +45,24 @@ public class RoleController extends BaseCRUDJsonBodyMappingController<RoleServic
...
@@ -55,17 +45,24 @@ public class RoleController extends BaseCRUDJsonBodyMappingController<RoleServic
@Override
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"userType"
,
IBaseEnum
.
getEnumMap
(
UserType
.
class
));
Map
<
String
,
Object
>
status
=
new
HashMap
<>();
this
.
addDict
(
model
,
"roleType"
,
RoleType
.
getEnumMap
());
status
.
put
(
"userType"
,
IBaseEnum
.
getEnumMap
(
UserType
.
class
));
super
.
init
(
model
,
context
);
status
.
put
(
"roleType"
,
RoleType
.
getEnumMap
());
model
.
put
(
KEY_RESULT_DICT
,
status
);
}
}
/**
* 根据用户id获取角色名称
* @param userId
* @return
*/
@PostMapping
(
"roleNameByUserId"
)
@PostMapping
(
"roleNameByUserId"
)
public
String
getRoleNameByUserId
(
@Request
Body
RoleUserEntity
query
)
{
public
String
getRoleNameByUserId
(
@Request
Param
(
value
=
"userId"
)
Long
userId
)
{
try
{
try
{
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
RoleUserEntity
roleUserEntity
=
new
RoleUserEntity
();
RoleUserEntity
roleUserEntity
=
new
RoleUserEntity
();
roleUserEntity
.
setUserId
(
query
.
getUserId
()
);
roleUserEntity
.
setUserId
(
userId
);
List
<
RoleUserEntity
>
find
=
roleUserService
.
find
(
roleUserEntity
,
new
Context
());
List
<
RoleUserEntity
>
find
=
roleUserService
.
find
(
roleUserEntity
,
new
Context
());
List
<
RoleEntity
>
model
=
new
ArrayList
<>();
List
<
RoleEntity
>
model
=
new
ArrayList
<>();
if
(
find
.
size
()
>
0
){
if
(
find
.
size
()
>
0
){
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserController.java
View file @
a74945e2
/**
* 文件:RoleUserController.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.role.web
;
package
com.mortals.xhx.base.system.role.web
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -15,9 +8,12 @@ import com.mortals.framework.exception.AppException;
...
@@ -15,9 +8,12 @@ import com.mortals.framework.exception.AppException;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.role.model.RoleUserQuery
;
import
org.apache.commons.beanutils.MethodUtils
;
import
org.apache.commons.beanutils.MethodUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
...
@@ -38,29 +34,50 @@ import java.util.Set;
...
@@ -38,29 +34,50 @@ import java.util.Set;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
* <p>Title: 角色用户</p>
* 角色用户
* <p>Description: RoleUserController </p>
*
* <p>Copyright: Copyright ® </p>
* @author: zxfei
* <p>Company: </p>
* @date: 2022/5/7 15:15
* @author
* @version 1.0.0
*/
*/
@RestController
@RestController
@RequestMapping
(
"role/user"
)
@RequestMapping
(
"role/user"
)
public
class
RoleUserController
extends
BaseCRUDJsonMappingController
<
RoleUserService
,
RoleUserForm
,
RoleUserEntity
,
Long
>
{
public
class
RoleUserController
extends
BaseCRUDJsonBodyMappingController
<
RoleUserService
,
RoleUserEntity
,
Long
>
{
@Autowired
private
RoleService
roleService
;
@Autowired
private
UserService
userService
;
public
RoleUserController
()
{
super
.
setFormClass
(
RoleUserForm
.
class
);
super
.
setModuleDesc
(
"角色用户"
);
}
@Autowired
private
RoleService
roleService
;
@Autowired
private
UserService
userService
;
public
RoleUserController
(){
@Override
super
.
setFormClass
(
RoleUserForm
.
class
);
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
super
.
setModuleDesc
(
"角色用户"
);
Map
<
String
,
Object
>
status
=
new
HashMap
<>(
3
);
}
status
.
put
(
"roleId"
,
roleService
.
find
(
new
RoleEntity
(),
null
).
stream
()
.
collect
(
Collectors
.
toMap
(
e
->
e
.
getId
().
toString
(),
RoleEntity:
:
getName
)));
/**
List
<
RoleUserEntity
>
roleUserList
=
(
List
<
RoleUserEntity
>)
model
.
get
(
SysConstains
.
RESULT_KEY
);
if
(
roleUserList
!=
null
&&
roleUserList
.
size
()
>
0
)
{
List
<
Long
>
userIdsList
=
roleUserList
.
stream
().
map
(
RoleUserEntity:
:
getUserId
).
collect
(
Collectors
.
toList
());
List
<
UserEntity
>
userEntityList
=
userService
.
find
(
getQuery
(
UserQuery
.
class
,
Sets
.
newHashSet
(
"id"
,
"realName"
,
"loginName"
),
userIdsList
.
toArray
(
new
Long
[
userIdsList
.
size
()])),
null
);
if
(
userEntityList
!=
null
)
{
status
.
put
(
"userReNameMap"
,
userEntityList
.
stream
().
collect
(
Collectors
.
toMap
(
e
->
e
.
getId
().
toString
(),
UserEntity:
:
getRealName
)));
status
.
put
(
"userId"
,
userEntityList
.
stream
().
collect
(
Collectors
.
toMap
(
e
->
e
.
getId
().
toString
(),
UserEntity:
:
getLoginName
)));
}
}
model
.
put
(
KEY_RESULT_DICT
,
status
);
}
/**
* 获取查询对象,限制查询返回的结果只包含ID和名称
* 获取查询对象,限制查询返回的结果只包含ID和名称
*
* @param IdList
* @param IdList
* @return
* @return
*/
*/
...
@@ -79,65 +96,42 @@ public class RoleUserController extends BaseCRUDJsonMappingController<RoleUserSe
...
@@ -79,65 +96,42 @@ public class RoleUserController extends BaseCRUDJsonMappingController<RoleUserSe
}
}
}
}
@SuppressWarnings
(
"unchecked"
)
/**
@Override
* 分配用户
protected
void
init
(
HttpServletRequest
request
,
HttpServletResponse
response
,
RoleUserForm
form
,
Map
<
String
,
Object
>
model
,
Context
context
)
{
*/
Map
<
String
,
Object
>
status
=
new
HashMap
<>(
3
);
@PostMapping
(
value
=
"distributionUser"
)
status
.
put
(
"roleId"
,
roleService
.
find
(
new
RoleEntity
(),
null
).
stream
()
public
String
distributionUser
(
@RequestBody
RoleUserQuery
query
)
{
.
collect
(
Collectors
.
toMap
(
e
->
e
.
getId
().
toString
(),
RoleEntity:
:
getName
)));
try
{
List
<
RoleUserEntity
>
roleUserList
=
(
List
<
RoleUserEntity
>)
model
.
get
(
SysConstains
.
RESULT_KEY
);
service
.
doDistributionUser
(
query
);
if
(
roleUserList
!=
null
&&
roleUserList
.
size
()>
0
)
{
JSONObject
ret
=
new
JSONObject
();
List
<
Long
>
userIdsList
=
roleUserList
.
stream
().
map
(
RoleUserEntity:
:
getUserId
).
collect
(
Collectors
.
toList
());
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
List
<
UserEntity
>
userEntityList
=
userService
.
find
(
getQuery
(
UserQuery
.
class
,
return
ret
.
toJSONString
();
Sets
.
newHashSet
(
"id"
,
"realName"
,
"loginName"
),
userIdsList
.
toArray
(
new
Long
[
userIdsList
.
size
()])),
null
);
}
catch
(
Exception
e
)
{
if
(
userEntityList
!=
null
)
{
log
.
error
(
"分配用户错误"
,
e
);
status
.
put
(
"userReNameMap"
,
JSONObject
ret
=
new
JSONObject
();
userEntityList
.
stream
().
collect
(
Collectors
.
toMap
(
e
->
e
.
getId
().
toString
(),
UserEntity:
:
getRealName
)));
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
status
.
put
(
"userId"
,
ret
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
userEntityList
.
stream
().
collect
(
Collectors
.
toMap
(
e
->
e
.
getId
().
toString
(),
UserEntity:
:
getLoginName
)));
return
ret
.
toJSONString
();
}
}
}
}
model
.
put
(
KEY_RESULT_DICT
,
status
);
super
.
init
(
request
,
response
,
form
,
model
,
context
);
}
/**
* 分配用户
*/
@PostMapping
(
value
=
"distributionUser"
)
public
String
distributionUser
(
HttpServletRequest
request
,
HttpServletResponse
response
,
RoleUserForm
form
)
{
try
{
service
.
doDistributionUser
(
form
.
getQuery
());
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
return
ret
.
toJSONString
();
}
catch
(
Exception
e
)
{
log
.
error
(
"分配用户错误"
,
e
);
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
ret
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
return
ret
.
toJSONString
();
}
}
/**
/**
* 分配角色
* 分配角色
*/
*/
@PostMapping
(
value
=
"distributionRole"
)
@PostMapping
(
value
=
"distributionRole"
)
public
String
distributionRole
(
HttpServletRequest
request
,
HttpServletResponse
response
,
RoleUserForm
form
)
{
public
String
distributionRole
(
@RequestBody
RoleUserQuery
query
)
{
try
{
try
{
service
.
doDistributionRole
(
form
.
getQuery
()
);
service
.
doDistributionRole
(
query
);
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"分配角色错误"
,
e
);
log
.
error
(
"分配角色错误"
,
e
);
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
ret
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
ret
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
}
}
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/task/service/impl/TaskServiceImpl.java
View file @
a74945e2
...
@@ -62,7 +62,7 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
...
@@ -62,7 +62,7 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
private
Thread
thread
=
null
;
private
Thread
thread
=
null
;
/** 日志打印时间,key:任务ID,value:最后一次打印日志时间 */
/** 日志打印时间,key:任务ID,value:最后一次打印日志时间 */
private
Map
<
Long
,
Long
>
printLogTime
=
new
HashMap
<
Long
,
Long
>();
private
Map
<
Long
,
Long
>
printLogTime
=
new
HashMap
<>();
@Autowired
(
required
=
false
)
@Autowired
(
required
=
false
)
private
TaskService
taskService
;
private
TaskService
taskService
;
...
@@ -216,17 +216,17 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
...
@@ -216,17 +216,17 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
}
}
if
(
interimExcuteStatus
!=
TaskInterimExcuteStatus
.
UNUSE
.
getValue
()
// 启用立即执行
if
(
interimExcuteStatus
!=
TaskInterimExcuteStatus
.
UNUSE
.
getValue
()
// 启用立即执行
||
((
strategy
==
TaskExcuteStrategy
.
DAY
.
getValue
()
// 按天
||
((
strategy
==
TaskExcuteStrategy
.
DAY
.
getValue
()
// 按天
||
(
strategy
==
TaskExcuteStrategy
.
WEEK
.
getValue
()
||
(
strategy
==
TaskExcuteStrategy
.
WEEK
.
getValue
()
&&
week
==
excuteDate
)
&&
week
==
excuteDate
)
// 按周
// 按周
||
(
strategy
==
TaskExcuteStrategy
.
MONTH
.
getValue
()
||
(
strategy
==
TaskExcuteStrategy
.
MONTH
.
getValue
()
&&
(
day
==
excuteDate
&&
(
day
==
excuteDate
||
(
excuteDate
>
maxDay
&&
day
==
maxDay
))))
// 按月
||
(
excuteDate
>
maxDay
&&
day
==
maxDay
))))
// 按月
&&
(
excuteTime
==
currTime
&&
(
excuteTime
==
currTime
&&
!
lastExcuteTimeStr
.
equals
(
currDateTimeStr
))
// 执行间隔最少为一天
&&
!
lastExcuteTimeStr
.
equals
(
currDateTimeStr
))
// 执行间隔最少为一天
)
||
(
strategy
==
TaskExcuteStrategy
.
INTERVAL
.
getValue
()
// 按间隔时间
)
||
(
strategy
==
TaskExcuteStrategy
.
INTERVAL
.
getValue
()
// 按间隔时间
&&
(
lastExcuteTime
==
null
||
lastExcuteTime
.
getTime
()
&&
(
lastExcuteTime
==
null
||
lastExcuteTime
.
getTime
()
+
excuteDate
*
1000
<=
currDateTime
.
getTime
())))
{
+
excuteDate
*
1000
<=
currDateTime
.
getTime
())))
{
final
boolean
printLog
=
checkPrintLog
(
task
);
final
boolean
printLog
=
checkPrintLog
(
task
);
Object
excuteBean
=
GlobalSysInfo
.
getBeanByName
(
task
.
getExcuteService
());
Object
excuteBean
=
GlobalSysInfo
.
getBeanByName
(
task
.
getExcuteService
());
if
(
excuteBean
==
null
||
!(
excuteBean
instanceof
ITaskExcuteService
))
{
if
(
excuteBean
==
null
||
!(
excuteBean
instanceof
ITaskExcuteService
))
{
...
@@ -261,7 +261,7 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
...
@@ -261,7 +261,7 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
log
.
error
(
"执行任务失败-->"
+
excuteTask
,
e
);
log
.
error
(
"执行任务失败-->"
+
excuteTask
,
e
);
}
}
if
(
strategy
==
TaskExcuteStrategy
.
INTERVAL
.
getValue
())
{
if
(
strategy
==
TaskExcuteStrategy
.
INTERVAL
.
getValue
())
{
// 按间隔时间,更新执行时间,避免一直重复执行
// 按间隔时间,更新执行时间,避免一直重复执行
excuteTask
.
setLastExcuteTime
(
currDateTime
);
excuteTask
.
setLastExcuteTime
(
currDateTime
);
}
}
}
finally
{
}
finally
{
...
@@ -297,7 +297,7 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
...
@@ -297,7 +297,7 @@ public class TaskServiceImpl extends AbstractCRUDServiceImpl<TaskDao, TaskEntity
executorService
.
shutdown
();
executorService
.
shutdown
();
log
.
info
(
"任务执行线程退出!"
);
log
.
info
(
"任务执行线程退出!"
);
});
});
//
thread.start();
thread
.
start
();
}
}
@Override
@Override
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/task/web/TaskController.java
View file @
a74945e2
/**
* 文件:TaskController.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.task.web
;
package
com.mortals.xhx.base.system.task.web
;
...
@@ -14,6 +7,8 @@ import java.util.Map;
...
@@ -14,6 +7,8 @@ import java.util.Map;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.task.model.TaskQuery
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -32,16 +27,14 @@ import com.mortals.xhx.common.code.TaskExcuteStrategyEnum;
...
@@ -32,16 +27,14 @@ import com.mortals.xhx.common.code.TaskExcuteStrategyEnum;
import
com.mortals.xhx.common.code.TaskInterimExcuteStatusEnum
;
import
com.mortals.xhx.common.code.TaskInterimExcuteStatusEnum
;
/**
/**
* <p>Title: 任务信息</p>
* 任务信息
* <p>Description: TaskController </p>
*
* <p>Copyright: Copyright ® </p>
* @author: zxfei
* <p>Company: </p>
* @date: 2022/5/7 15:39
* @author
* @version 1.0.0
*/
*/
@RestController
@RestController
@RequestMapping
(
"task"
)
@RequestMapping
(
"task"
)
public
class
TaskController
extends
BaseCRUDJson
MappingController
<
TaskService
,
TaskForm
,
TaskEntity
,
Long
>
{
public
class
TaskController
extends
BaseCRUDJson
BodyMappingController
<
TaskService
,
TaskEntity
,
Long
>
{
public
TaskController
()
{
public
TaskController
()
{
super
.
setFormClass
(
TaskForm
.
class
);
super
.
setFormClass
(
TaskForm
.
class
);
...
@@ -50,8 +43,7 @@ public class TaskController extends BaseCRUDJsonMappingController<TaskService, T
...
@@ -50,8 +43,7 @@ public class TaskController extends BaseCRUDJsonMappingController<TaskService, T
@Override
@Override
protected
void
init
(
HttpServletRequest
request
,
HttpServletResponse
response
,
TaskForm
form
,
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
Map
<
String
,
Object
>
model
,
Context
context
)
{
Map
<
String
,
Object
>
status
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
status
=
new
HashMap
<
String
,
Object
>();
status
.
put
(
"status"
,
TaskExcuteStatusEnum
.
getEnumMap
());
status
.
put
(
"status"
,
TaskExcuteStatusEnum
.
getEnumMap
());
status
.
put
(
"excuteStrategy"
,
TaskExcuteStrategyEnum
.
getEnumMap
());
status
.
put
(
"excuteStrategy"
,
TaskExcuteStrategyEnum
.
getEnumMap
());
...
@@ -71,60 +63,30 @@ public class TaskController extends BaseCRUDJsonMappingController<TaskService, T
...
@@ -71,60 +63,30 @@ public class TaskController extends BaseCRUDJsonMappingController<TaskService, T
}
}
model
.
put
(
"excuteService"
,
serviceList
);
model
.
put
(
"excuteService"
,
serviceList
);
model
.
put
(
KEY_RESULT_DICT
,
status
);
model
.
put
(
KEY_RESULT_DICT
,
status
);
super
.
init
(
request
,
response
,
form
,
model
,
context
);
}
/**
* @param request
* @param response
* @param form
* @param model
* @param context
* @throws AppException
* @Description: TODO
*/
@Override
protected
void
saveBefore
(
HttpServletRequest
request
,
HttpServletResponse
response
,
TaskForm
form
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
if
(
null
==
form
.
getEntity
().
getExcuteService
())
{
}
// TaskEntity condition = new TaskEntity();
// condition.setExcuteService(form.getEntity().getExcuteService());
// List<TaskEntity> datas = this.service.find(condition, context);
// if (null != datas && datas.size() > 0) {
// for (TaskEntity entity : datas) {
// if (entity.getId().longValue() != form.getEntity().getId().longValue()) {
// throw new AppException("任务已存在,请勿重复配置");
// }
// }
// }
super
.
saveBefore
(
request
,
response
,
form
,
model
,
context
);
}
}
/**
/**
* 改变状态
* 改变状态
*/
*/
@RequestMapping
(
value
=
"change/status"
)
@RequestMapping
(
value
=
"change/status"
)
public
String
changeStatus
(
HttpServletRequest
request
,
HttpServletResponse
response
,
TaskForm
form
)
{
public
String
changeStatus
(
TaskQuery
query
)
{
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
Context
context
=
getContext
();
Context
context
=
getContext
();
try
{
try
{
TaskEntity
entity
=
this
.
service
.
get
(
form
.
getEntity
()
.
getId
(),
context
);
// .doSubmitAudit(form.getEntity(),
TaskEntity
entity
=
this
.
service
.
get
(
query
.
getId
(),
context
);
// .doSubmitAudit(form.getEntity(),
// context);
// context);
if
(
null
==
entity
)
{
if
(
null
==
entity
)
{
throw
new
AppException
(
"任务不存在!"
);
throw
new
AppException
(
"任务不存在!"
);
}
}
if
(
null
==
form
.
getEntity
()
.
getStatus
())
{
if
(
null
==
query
.
getStatus
())
{
throw
new
AppException
(
"任务状态不能为空!"
);
throw
new
AppException
(
"任务状态不能为空!"
);
}
}
if
(
form
.
getEntity
()
.
getStatus
()
!=
DataSatusEnum
.
ENABLE
.
getValue
()
if
(
query
.
getStatus
()
!=
DataSatusEnum
.
ENABLE
.
getValue
()
&&
form
.
getEntity
()
.
getStatus
()
!=
DataSatusEnum
.
DISENABLE
.
getValue
())
{
&&
query
.
getStatus
()
!=
DataSatusEnum
.
DISENABLE
.
getValue
())
{
throw
new
AppException
(
"非法任务状态!"
);
throw
new
AppException
(
"非法任务状态!"
);
}
}
String
busiDesc
=
DataSatusEnum
.
getByValue
(
form
.
getEntity
()
.
getStatus
()).
getDesc
();
String
busiDesc
=
DataSatusEnum
.
getByValue
(
query
.
getStatus
()).
getDesc
();
entity
.
setStatus
(
form
.
getEntity
()
.
getStatus
());
entity
.
setStatus
(
query
.
getStatus
());
this
.
service
.
update
(
entity
,
context
);
this
.
service
.
update
(
entity
,
context
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_MSG
,
busiDesc
+
"成功"
);
ret
.
put
(
KEY_RESULT_MSG
,
busiDesc
+
"成功"
);
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/upload/service/UploadService.java
View file @
a74945e2
...
@@ -52,4 +52,6 @@ public interface UploadService extends IService {
...
@@ -52,4 +52,6 @@ public interface UploadService extends IService {
void
uploadDownload
(
String
fileName
,
HttpServletResponse
response
);
void
uploadDownload
(
String
fileName
,
HttpServletResponse
response
);
void
deleteFile
(
String
fileName
);
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java
View file @
a74945e2
package
com.mortals.xhx.base.system.upload.service.impl
;
package
com.mortals.xhx.base.system.upload.service.impl
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.IdUtil
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.util.StringUtils
;
...
@@ -15,9 +16,7 @@ import org.springframework.http.MediaType;
...
@@ -15,9 +16,7 @@ import org.springframework.http.MediaType;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.imageio.ImageIO
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.awt.image.BufferedImage
;
import
java.io.File
;
import
java.io.File
;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
...
@@ -49,9 +48,7 @@ public class UploadServiceImpl implements UploadService {
...
@@ -49,9 +48,7 @@ public class UploadServiceImpl implements UploadService {
if
(
tempFile
==
null
||
tempFile
.
getSize
()
==
0
)
{
if
(
tempFile
==
null
||
tempFile
.
getSize
()
==
0
)
{
throw
new
AppException
(
"没有要上传的文件!"
);
throw
new
AppException
(
"没有要上传的文件!"
);
}
}
if
(
StringUtils
.
isEmpty
(
prePath
)){
prePath
=
"file/uploadfile"
;
}
String
fileName
=
tempFile
.
getOriginalFilename
();
String
fileName
=
tempFile
.
getOriginalFilename
();
String
extension
=
FilenameUtils
.
getExtension
(
fileName
);
String
extension
=
FilenameUtils
.
getExtension
(
fileName
);
UploadFileType
type
=
UploadFileType
.
getFileType
(
extension
);
UploadFileType
type
=
UploadFileType
.
getFileType
(
extension
);
...
@@ -69,14 +66,12 @@ public class UploadServiceImpl implements UploadService {
...
@@ -69,14 +66,12 @@ public class UploadServiceImpl implements UploadService {
if
(!
pathDir
.
exists
())
{
if
(!
pathDir
.
exists
())
{
pathDir
.
mkdirs
();
pathDir
.
mkdirs
();
}
}
String
newName
=
new
Date
().
getTime
()
+
"."
+
extension
;
String
newName
=
new
Date
().
getTime
()
+
"."
+
extension
;
//String newName = IdUtil.fastSimpleUUID() + "." + extension;
String
filePathAll
=
filePath
+
newName
;
String
filePathAll
=
filePath
+
newName
;
File
uploadFile
=
new
File
(
filePathAll
);
File
uploadFile
=
new
File
(
filePathAll
);
try
{
try
{
log
.
info
(
"文件正在储存
"
);
log
.
info
(
"文件正在储存
,filepath:"
+
filePathAll
);
tempFile
.
transferTo
(
uploadFile
);
tempFile
.
transferTo
(
uploadFile
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
AppException
(
e
.
getMessage
());
throw
new
AppException
(
e
.
getMessage
());
...
@@ -94,7 +89,7 @@ public class UploadServiceImpl implements UploadService {
...
@@ -94,7 +89,7 @@ public class UploadServiceImpl implements UploadService {
@Override
@Override
public
void
fileDownload
(
String
fileName
,
Boolean
delete
,
HttpServletResponse
response
)
{
public
void
fileDownload
(
String
fileName
,
Boolean
delete
,
HttpServletResponse
response
)
{
String
realFileName
=
System
.
currentTimeMillis
()
+
fileName
.
substring
(
fileName
.
indexOf
(
"_"
)
+
1
);
String
realFileName
=
System
.
currentTimeMillis
()
+
fileName
.
substring
(
fileName
.
indexOf
(
"_"
)
+
1
);
String
filePath
=
getFilePath
(
fileName
)
;
String
filePath
=
this
.
filePath
+
fileName
;
try
{
try
{
response
.
setContentType
(
MediaType
.
IMAGE_JPEG_VALUE
);
response
.
setContentType
(
MediaType
.
IMAGE_JPEG_VALUE
);
setAttachmentResponseHeader
(
response
,
realFileName
);
setAttachmentResponseHeader
(
response
,
realFileName
);
...
@@ -107,28 +102,14 @@ public class UploadServiceImpl implements UploadService {
...
@@ -107,28 +102,14 @@ public class UploadServiceImpl implements UploadService {
@Override
@Override
public
void
preview
(
String
fileName
,
HttpServletResponse
response
)
{
public
void
preview
(
String
fileName
,
HttpServletResponse
response
)
{
// String filePath = this.filePath+"/preview/" + fileName;
String
filePath
=
this
.
filePath
+
"/file/preview/"
+
fileName
;
// try {
// response.setContentType(MediaType.IMAGE_JPEG_VALUE);
// setAttachmentResponseHeader(response, fileName);
// FileUtil.writeToStream(filePath, response.getOutputStream());
// } catch (Exception e) {
// log.error("下载文件失败", e);
// }
String
filePath
=
getFilePath
(
fileName
);
try
{
try
{
File
file
=
new
File
(
filePath
);
response
.
setContentType
(
MediaType
.
IMAGE_JPEG_VALUE
);
BufferedImage
image
=
ImageIO
.
read
(
file
);
setAttachmentResponseHeader
(
response
,
fileName
);
response
.
setHeader
(
"Pragma"
,
"No-cache"
);
FileUtil
.
writeToStream
(
filePath
,
response
.
getOutputStream
());
response
.
setHeader
(
"Cache-Control"
,
"No-cache"
);
}
catch
(
Exception
e
)
{
response
.
setDateHeader
(
"Expires"
,
0L
);
log
.
error
(
"下载文件失败"
,
e
);
response
.
setContentType
(
"image/jpeg"
);
ImageIO
.
write
(
image
,
"JPEG"
,
response
.
getOutputStream
());
}
catch
(
Exception
var4
)
{
this
.
log
.
debug
(
"响应图片消息异常-->"
+
var4
.
getMessage
());
}
}
}
}
...
@@ -179,4 +160,14 @@ public class UploadServiceImpl implements UploadService {
...
@@ -179,4 +160,14 @@ public class UploadServiceImpl implements UploadService {
}
}
}
}
@Override
public
void
deleteFile
(
String
fileName
)
{
String
filePath
=
this
.
filePath
+
fileName
;
try
{
FileUtil
.
del
(
filePath
);
}
catch
(
Exception
e
)
{
log
.
error
(
"下载文件失败"
,
e
);
}
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/upload/web/UploadController.java
View file @
a74945e2
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.base.system.upload.web;
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.base.system.upload.web;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.web.BaseController
;
import
com.mortals.framework.web.BaseController
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
...
@@ -15,13 +16,10 @@ import java.util.HashMap;
...
@@ -15,13 +16,10 @@ import java.util.HashMap;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
* <p>Title: 上传文件</p>
* 上传文件
* <p>Description: UploadfileController </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
*
*
* @author
* @author
: zxfei
* @
version 1.0.0
* @
date: 2021/11/30 10:06
*/
*/
@RestController
@RestController
@RequestMapping
(
"file"
)
@RequestMapping
(
"file"
)
...
@@ -31,7 +29,8 @@ public class UploadController extends BaseController {
...
@@ -31,7 +29,8 @@ public class UploadController extends BaseController {
private
UploadService
uploadService
;
private
UploadService
uploadService
;
@RequestMapping
(
value
=
"upload"
)
@RequestMapping
(
value
=
"upload"
)
public
String
doFileUpload
(
HttpServletRequest
request
,
HttpServletResponse
response
,
UploadForm
form
)
{
@UnAuth
public
String
doFileUpload
(
HttpServletRequest
request
,
UploadForm
form
)
{
Map
<
String
,
Object
>
model
=
new
HashMap
<>();
Map
<
String
,
Object
>
model
=
new
HashMap
<>();
String
jsonStr
=
""
;
String
jsonStr
=
""
;
try
{
try
{
...
@@ -55,7 +54,8 @@ public class UploadController extends BaseController {
...
@@ -55,7 +54,8 @@ public class UploadController extends BaseController {
@RequestMapping
(
value
=
"commonupload"
)
@RequestMapping
(
value
=
"commonupload"
)
public
String
doFileUpload
(
MultipartFile
file
,
@RequestParam
(
value
=
"prePath"
,
defaultValue
=
"file/uploadfile"
)
String
prePath
)
{
@UnAuth
public
String
doFileUpload
(
MultipartFile
file
,
@RequestParam
(
value
=
"prePath"
,
defaultValue
=
"file/fileupload"
)
String
prePath
)
{
Map
<
String
,
Object
>
model
=
new
HashMap
<>();
Map
<
String
,
Object
>
model
=
new
HashMap
<>();
String
jsonStr
=
""
;
String
jsonStr
=
""
;
try
{
try
{
...
@@ -94,20 +94,6 @@ public class UploadController extends BaseController {
...
@@ -94,20 +94,6 @@ public class UploadController extends BaseController {
}
}
}
}
/**
* 图片预览 (PathVariable)
*
* @param fileName 文件名称
*/
@GetMapping
(
"preview/{prePath}/{fileName}"
)
public
void
preViewPath
(
@PathVariable
(
value
=
"fileName"
)
String
fileName
,
@PathVariable
(
value
=
"prePath"
)
String
prePath
,
HttpServletResponse
response
)
{
try
{
uploadService
.
preview
(
prePath
+
"/"
+
fileName
,
response
);
}
catch
(
Exception
e
)
{
log
.
error
(
"下载文件失败:"
,
e
);
}
}
/**
/**
* 图片预览 (PathVariable)
* 图片预览 (PathVariable)
*
*
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java
View file @
a74945e2
package
com.mortals.xhx.base.system.user.model
;
package
com.mortals.xhx.base.system.user.model
;
import
java.util.Date
;
import
java.util.Objects
;
import
com.mortals.framework.ap.SysConstains
;
import
com.mortals.framework.ap.SysConstains
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.xhx.base.system.user.model.vo.UserVo
;
import
java.util.Date
;
/**
/**
*
* 用户信息业务实体对象
* Description:User
*
* date: 2021-9-26 16:11:48
* @author zxfei
*/
* @date 2022-07-05
public
class
UserEntity
extends
UserEntityExt
implements
IUser
{
*/
private
static
final
long
serialVersionUID
=
1632643908537L
;
public
class
UserEntity
extends
UserVo
implements
IUser
{
private
static
final
long
serialVersionUID
=
1L
;
/**
/**
* 登录名
* 登录名
*/
*/
private
String
loginName
;
private
String
loginName
;
/**
/**
* 登录密码,使用md5双次加密
* 登录密码,使用md5双次加密
*/
*/
private
String
loginPwd
;
private
String
loginPwd
;
/**
* 最近一次使用密码,使用md5双次加密
*/
private
String
loginPwd1
;
/**
* 最近二次使用密码,使用md5双次加密
*/
private
String
loginPwd2
;
/**
* 最近三次使用密码,使用md5双次加密
*/
private
String
loginPwd3
;
/**
/**
* 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
*/
*/
private
String
loginLimitAddress
;
private
String
loginLimitAddress
;
/**
/**
* 用户名
* 用户名
*/
*/
private
String
realName
;
private
String
realName
;
/**
/**
* 用户手机号
* 用户手机号
*/
*/
private
String
mobile
;
private
String
mobile
;
/**
/**
* 用户联系电话
* 用户联系电话
*/
*/
private
String
phone
;
private
String
phone
;
/**
/**
* 用户邮箱
* 用户邮箱
*/
*/
private
String
email
;
private
String
email
;
/**
/**
* QQ号码
* QQ号码
*/
*/
private
String
qq
;
private
String
qq
;
/**
/**
* 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 用户类型(0.系统用户,1.普通用户,2.工作人员)
*/
*/
private
Integer
userType
;
private
Integer
userType
;
/**
/**
* 站点id
* 所属站点id,多个逗号分隔
*/
*/
private
Long
siteId
;
private
String
siteIds
;
/**
* 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
*/
private
Integer
status
;
/**
/**
* 客户ID
* 所属区域code,多个逗号分隔
*/
*/
private
Long
customerId
;
private
String
areaCodes
;
/**
/**
* 创建时间
* 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
*/
*/
private
Date
createTime
;
private
Integer
status
;
/**
* 创建用户
*/
private
Long
createUserId
;
/**
/**
* 创建用户名称
* 创建用户名称
*/
*/
private
String
createUserName
;
private
String
createUserName
;
/**
/**
* 最后一次登录时间
* 最后一次登录时间
*/
*/
private
Date
lastLoginTime
;
private
Date
lastLoginTime
;
/**
/**
* 最后一次登录地址
* 最后一次登录地址
*/
*/
private
String
lastLoginAddress
;
private
String
lastLoginAddress
;
/**
* 最后修改密码时间
*/
private
Date
lastModPwdTime
;
/**
* 最后修改密码地址
*/
private
String
lastModPwdAddr
;
public
UserEntity
(){
public
UserEntity
(){}
}
/**
/**
* 获取 登录名
* 获取 登录名
* @return loginName
* @return String
*/
*/
public
String
getLoginName
()
{
public
String
getLoginName
(){
return
this
.
loginName
;
return
loginName
;
}
}
/**
/**
* 设置 登录名
* 设置 登录名
* @param loginName
* @param loginName
*/
*/
public
void
setLoginName
(
String
loginName
)
{
public
void
setLoginName
(
String
loginName
){
this
.
loginName
=
loginName
;
this
.
loginName
=
loginName
;
}
}
/**
/**
* 获取 登录密码,使用md5双次加密
* 获取 登录密码,使用md5双次加密
* @return loginPwd
* @return String
*/
*/
public
String
getLoginPwd
()
{
public
String
getLoginPwd
(){
return
this
.
loginPwd
;
return
loginPwd
;
}
}
/**
/**
* 设置 登录密码,使用md5双次加密
* 设置 登录密码,使用md5双次加密
* @param loginPwd
* @param loginPwd
*/
*/
public
void
setLoginPwd
(
String
loginPwd
)
{
public
void
setLoginPwd
(
String
loginPwd
){
this
.
loginPwd
=
loginPwd
;
this
.
loginPwd
=
loginPwd
;
}
}
/**
/**
* 获取 最近一次使用密码,使用md5双次加密
* 获取 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @return loginPwd1
* @return String
*/
*/
public
String
getLoginPwd1
()
{
public
String
getLoginLimitAddress
(){
return
this
.
loginPwd1
;
return
loginLimitAddress
;
}
/**
* 设置 最近一次使用密码,使用md5双次加密
* @param loginPwd1
*/
public
void
setLoginPwd1
(
String
loginPwd1
)
{
this
.
loginPwd1
=
loginPwd1
;
}
/**
* 获取 最近二次使用密码,使用md5双次加密
* @return loginPwd2
*/
public
String
getLoginPwd2
()
{
return
this
.
loginPwd2
;
}
}
/**
/**
* 设置 最近二次使用密码,使用md5双次加密
* 设置 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @param loginPwd2
* @param loginLimitAddress
*/
*/
public
void
setLoginPwd2
(
String
loginPwd2
)
{
public
void
setLoginLimitAddress
(
String
loginLimitAddress
){
this
.
loginPwd2
=
loginPwd2
;
}
/**
* 获取 最近三次使用密码,使用md5双次加密
* @return loginPwd3
*/
public
String
getLoginPwd3
()
{
return
this
.
loginPwd3
;
}
/**
* 设置 最近三次使用密码,使用md5双次加密
* @param loginPwd3
*/
public
void
setLoginPwd3
(
String
loginPwd3
)
{
this
.
loginPwd3
=
loginPwd3
;
}
/**
* 获取 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @return loginLimitAddress
*/
public
String
getLoginLimitAddress
()
{
return
this
.
loginLimitAddress
;
}
/**
* 设置 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @param loginLimitAddress
*/
public
void
setLoginLimitAddress
(
String
loginLimitAddress
)
{
this
.
loginLimitAddress
=
loginLimitAddress
;
this
.
loginLimitAddress
=
loginLimitAddress
;
}
}
/**
/**
* 获取 用户名
* 获取 用户名
* @return realName
* @return String
*/
*/
public
String
getRealName
()
{
public
String
getRealName
(){
return
this
.
realName
;
return
realName
;
}
}
@Override
@Override
...
@@ -237,144 +145,111 @@ public class UserEntity extends UserEntityExt implements IUser {
...
@@ -237,144 +145,111 @@ public class UserEntity extends UserEntityExt implements IUser {
}
}
/**
/**
* 设置 用户名
* 设置 用户名
* @param realName
* @param realName
*/
*/
public
void
setRealName
(
String
realName
)
{
public
void
setRealName
(
String
realName
){
this
.
realName
=
realName
;
this
.
realName
=
realName
;
}
}
/**
/**
* 获取 用户手机号
* 获取 用户手机号
* @return mobile
* @return String
*/
*/
public
String
getMobile
()
{
public
String
getMobile
(){
return
this
.
mobile
;
return
mobile
;
}
}
/**
/**
* 设置 用户手机号
* 设置 用户手机号
* @param mobile
* @param mobile
*/
*/
public
void
setMobile
(
String
mobile
)
{
public
void
setMobile
(
String
mobile
){
this
.
mobile
=
mobile
;
this
.
mobile
=
mobile
;
}
}
/**
/**
* 获取 用户联系电话
* 获取 用户联系电话
* @return phone
* @return String
*/
*/
public
String
getPhone
()
{
public
String
getPhone
(){
return
this
.
phone
;
return
phone
;
}
}
/**
/**
* 设置 用户联系电话
* 设置 用户联系电话
* @param phone
* @param phone
*/
*/
public
void
setPhone
(
String
phone
)
{
public
void
setPhone
(
String
phone
){
this
.
phone
=
phone
;
this
.
phone
=
phone
;
}
}
/**
/**
* 获取 用户邮箱
* 获取 用户邮箱
* @return email
* @return String
*/
*/
public
String
getEmail
()
{
public
String
getEmail
(){
return
this
.
email
;
return
email
;
}
}
/**
/**
* 设置 用户邮箱
* 设置 用户邮箱
* @param email
* @param email
*/
*/
public
void
setEmail
(
String
email
)
{
public
void
setEmail
(
String
email
){
this
.
email
=
email
;
this
.
email
=
email
;
}
}
/**
/**
* 获取 QQ号码
* 获取 QQ号码
* @return qq
* @return String
*/
*/
public
String
getQq
()
{
public
String
getQq
(){
return
this
.
qq
;
return
qq
;
}
}
/**
/**
* 设置 QQ号码
* 设置 QQ号码
* @param qq
* @param qq
*/
*/
public
void
setQq
(
String
qq
)
{
public
void
setQq
(
String
qq
){
this
.
qq
=
qq
;
this
.
qq
=
qq
;
}
}
/**
/**
* 获取 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 获取 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @return userType
* @return Integer
*/
*/
public
Integer
getUserType
()
{
public
Integer
getUserType
(){
return
this
.
userType
;
return
userType
;
}
@Override
public
String
getMenuUrl
()
{
return
null
;
}
}
/**
/**
* 设置 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userType
* @param userType
*/
*/
public
void
setUserType
(
Integer
userType
)
{
public
void
setUserType
(
Integer
userType
){
this
.
userType
=
userType
;
this
.
userType
=
userType
;
}
}
/**
* 获取 站点id
* @return siteId
*/
public
Long
getSiteId
()
{
return
this
.
siteId
;
}
@Override
@Override
public
String
getSiteIds
()
{
public
Long
getDeptId
()
{
return
super
.
getSiteIds
()
;
return
null
;
}
}
/**
@Override
* 设置 站点id
public
String
getDeptName
()
{
* @param siteId
return
null
;
*/
public
void
setSiteId
(
Long
siteId
)
{
this
.
siteId
=
siteId
;
}
/**
* 获取 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* @return status
*/
public
Integer
getStatus
()
{
return
this
.
status
;
}
/**
* 设置 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* @param status
*/
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
}
@Override
@Override
public
Long
get
Dept
Id
()
{
public
Long
get
Customer
Id
()
{
return
null
;
return
null
;
}
}
@Override
@Override
public
String
getDeptName
()
{
public
Long
getSiteId
()
{
return
null
;
return
null
;
}
}
/**
/**
* 获取 客户ID
* 获取 所属站点id,多个逗号分隔
* @return customerId
* @return String
*/
*/
public
Long
getCustomerId
()
{
public
String
getSiteIds
()
{
return
this
.
customerId
;
return
siteIds
;
}
}
@Override
@Override
public
Long
getCustomerJoinId
()
{
public
Long
getCustomerJoinId
()
{
return
null
;
return
null
;
...
@@ -386,123 +261,96 @@ public class UserEntity extends UserEntityExt implements IUser {
...
@@ -386,123 +261,96 @@ public class UserEntity extends UserEntityExt implements IUser {
}
}
/**
/**
* 设置 客户ID
* 设置 所属站点id,多个逗号分隔
* @param customerId
* @param siteIds
*/
*/
public
void
set
CustomerId
(
Long
customerId
)
{
public
void
set
SiteIds
(
String
siteIds
)
{
this
.
customerId
=
customerId
;
this
.
siteIds
=
siteIds
;
}
}
/**
/**
* 获取 创建时间
* 获取 所属区域code,多个逗号分隔
* @return createTime
* @return String
*/
*/
public
Date
getCreateTime
()
{
public
String
getAreaCodes
()
{
return
this
.
createTime
;
return
areaCodes
;
}
}
/**
/**
* 设置 创建时间
* 设置 所属区域code,多个逗号分隔
* @param createTime
* @param areaCodes
*/
*/
public
void
set
CreateTime
(
Date
createTime
)
{
public
void
set
AreaCodes
(
String
areaCodes
)
{
this
.
createTime
=
createTime
;
this
.
areaCodes
=
areaCodes
;
}
}
/**
/**
* 获取 创建用户
* 获取 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @return createUserId
* @return Integer
*/
*/
public
Long
getCreateUserId
()
{
public
Integer
getStatus
()
{
return
this
.
createUserId
;
return
status
;
}
}
/**
/**
* 设置 创建用户
* 设置 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param createUserId
* @param status
*/
*/
public
void
set
CreateUserId
(
Long
createUserId
)
{
public
void
set
Status
(
Integer
status
)
{
this
.
createUserId
=
createUserId
;
this
.
status
=
status
;
}
}
/**
/**
* 获取 创建用户名称
* 获取 创建用户名称
* @return createUserName
* @return String
*/
*/
public
String
getCreateUserName
()
{
public
String
getCreateUserName
(){
return
this
.
createUserName
;
return
createUserName
;
}
}
/**
/**
* 设置 创建用户名称
* 设置 创建用户名称
* @param createUserName
* @param createUserName
*/
*/
public
void
setCreateUserName
(
String
createUserName
)
{
public
void
setCreateUserName
(
String
createUserName
){
this
.
createUserName
=
createUserName
;
this
.
createUserName
=
createUserName
;
}
}
/**
/**
* 获取 最后一次登录时间
* 获取 最后一次登录时间
* @return lastLoginTim
e
* @return Dat
e
*/
*/
public
Date
getLastLoginTime
()
{
public
Date
getLastLoginTime
(){
return
this
.
lastLoginTime
;
return
lastLoginTime
;
}
}
/**
/**
* 设置 最后一次登录时间
* 设置 最后一次登录时间
* @param lastLoginTime
* @param lastLoginTime
*/
*/
public
void
setLastLoginTime
(
Date
lastLoginTime
)
{
public
void
setLastLoginTime
(
Date
lastLoginTime
){
this
.
lastLoginTime
=
lastLoginTime
;
this
.
lastLoginTime
=
lastLoginTime
;
}
}
/**
/**
* 获取 最后一次登录地址
* 获取 最后一次登录地址
* @return lastLoginAddress
* @return String
*/
*/
public
String
getLastLoginAddress
()
{
public
String
getLastLoginAddress
(){
return
this
.
lastLoginAddress
;
return
lastLoginAddress
;
}
}
/**
/**
* 设置 最后一次登录地址
* 设置 最后一次登录地址
* @param lastLoginAddress
* @param lastLoginAddress
*/
*/
public
void
setLastLoginAddress
(
String
lastLoginAddress
)
{
public
void
setLastLoginAddress
(
String
lastLoginAddress
){
this
.
lastLoginAddress
=
lastLoginAddress
;
this
.
lastLoginAddress
=
lastLoginAddress
;
}
}
/**
* 获取 最后修改密码时间
* @return lastModPwdTime
*/
public
Date
getLastModPwdTime
()
{
return
this
.
lastModPwdTime
;
}
/**
* 设置 最后修改密码时间
* @param lastModPwdTime
*/
public
void
setLastModPwdTime
(
Date
lastModPwdTime
)
{
this
.
lastModPwdTime
=
lastModPwdTime
;
}
/**
* 获取 最后修改密码地址
* @return lastModPwdAddr
*/
public
String
getLastModPwdAddr
()
{
return
this
.
lastModPwdAddr
;
}
/**
* 设置 最后修改密码地址
* @param lastModPwdAddr
*/
public
void
setLastModPwdAddr
(
String
lastModPwdAddr
)
{
this
.
lastModPwdAddr
=
lastModPwdAddr
;
}
@Override
@Override
public
int
hashCode
()
{
public
int
hashCode
()
{
return
Objects
.
hash
(
super
.
hashCode
(),
loginName
,
loginPwd
,
loginPwd1
,
loginPwd2
,
loginPwd3
,
loginLimitAddress
,
realName
,
mobile
,
phone
,
email
,
qq
,
userType
,
status
,
customerId
,
createTime
,
createUserId
,
createUserName
,
lastLoginTime
,
lastLoginAddress
,
lastModPwdTime
,
lastModPwdAddr
);
return
this
.
getId
().
hashCode
();
}
}
@Override
@Override
public
boolean
equals
(
Object
obj
)
{
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
if
(
obj
==
null
)
return
false
;
return
false
;
if
(
obj
instanceof
UserEntity
)
{
if
(
obj
instanceof
UserEntity
)
{
UserEntity
tmp
=
(
UserEntity
)
obj
;
UserEntity
tmp
=
(
UserEntity
)
obj
;
if
(
this
.
getId
()
.
longValue
()
==
tmp
.
getId
().
longValue
())
{
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
return
true
;
}
}
}
}
...
@@ -511,56 +359,54 @@ public class UserEntity extends UserEntityExt implements IUser {
...
@@ -511,56 +359,54 @@ public class UserEntity extends UserEntityExt implements IUser {
public
String
toString
(){
public
String
toString
(){
StringBuilder
sb
=
new
StringBuilder
(
""
);
StringBuilder
sb
=
new
StringBuilder
(
""
);
sb
sb
.
append
(
",loginName:"
).
append
(
getLoginName
());
.
append
(
",id:"
).
append
(
getId
())
sb
.
append
(
",loginPwd:"
).
append
(
getLoginPwd
());
.
append
(
",loginName:"
).
append
(
getLoginName
())
sb
.
append
(
",loginLimitAddress:"
).
append
(
getLoginLimitAddress
());
.
append
(
",loginPwd:"
).
append
(
getLoginPwd
())
sb
.
append
(
",realName:"
).
append
(
getRealName
());
.
append
(
",loginPwd1:"
).
append
(
getLoginPwd1
())
sb
.
append
(
",mobile:"
).
append
(
getMobile
());
.
append
(
",loginPwd2:"
).
append
(
getLoginPwd2
())
sb
.
append
(
",phone:"
).
append
(
getPhone
());
.
append
(
",loginPwd3:"
).
append
(
getLoginPwd3
())
sb
.
append
(
",email:"
).
append
(
getEmail
());
.
append
(
",loginLimitAddress:"
).
append
(
getLoginLimitAddress
())
sb
.
append
(
",qq:"
).
append
(
getQq
());
.
append
(
",realName:"
).
append
(
getRealName
())
sb
.
append
(
",userType:"
).
append
(
getUserType
());
.
append
(
",mobile:"
).
append
(
getMobile
())
sb
.
append
(
",siteIds:"
).
append
(
getSiteIds
());
.
append
(
",phone:"
).
append
(
getPhone
())
sb
.
append
(
",areaCodes:"
).
append
(
getAreaCodes
());
.
append
(
",email:"
).
append
(
getEmail
())
sb
.
append
(
",status:"
).
append
(
getStatus
());
.
append
(
",qq:"
).
append
(
getQq
())
sb
.
append
(
",createUserName:"
).
append
(
getCreateUserName
());
.
append
(
",userType:"
).
append
(
getUserType
())
sb
.
append
(
",lastLoginTime:"
).
append
(
getLastLoginTime
());
.
append
(
",siteId:"
).
append
(
getSiteId
())
sb
.
append
(
",lastLoginAddress:"
).
append
(
getLastLoginAddress
());
.
append
(
",status:"
).
append
(
getStatus
())
.
append
(
",customerId:"
).
append
(
getCustomerId
())
.
append
(
",createTime:"
).
append
(
getCreateTime
())
.
append
(
",createUserId:"
).
append
(
getCreateUserId
())
.
append
(
",createUserName:"
).
append
(
getCreateUserName
())
.
append
(
",lastLoginTime:"
).
append
(
getLastLoginTime
())
.
append
(
",lastLoginAddress:"
).
append
(
getLastLoginAddress
())
.
append
(
",lastModPwdTime:"
).
append
(
getLastModPwdTime
())
.
append
(
",lastModPwdAddr:"
).
append
(
getLastModPwdAddr
())
;
return
sb
.
toString
();
return
sb
.
toString
();
}
}
public
void
initAttrValue
(){
public
void
initAttrValue
(){
this
.
loginName
=
null
;
this
.
loginPwd
=
null
;
this
.
loginName
=
""
;
this
.
loginPwd1
=
null
;
this
.
loginPwd2
=
null
;
this
.
loginPwd
=
""
;
this
.
loginPwd3
=
null
;
this
.
loginLimitAddress
=
null
;
this
.
loginLimitAddress
=
""
;
this
.
realName
=
null
;
this
.
mobile
=
null
;
this
.
realName
=
""
;
this
.
phone
=
null
;
this
.
email
=
null
;
this
.
mobile
=
""
;
this
.
qq
=
null
;
this
.
userType
=
null
;
this
.
phone
=
""
;
this
.
siteId
=
null
;
this
.
status
=
1
;
this
.
email
=
""
;
this
.
customerId
=
null
;
this
.
createTime
=
null
;
this
.
qq
=
""
;
this
.
createUserId
=
null
;
this
.
createUserName
=
null
;
this
.
userType
=
null
;
this
.
lastLoginTime
=
null
;
this
.
lastLoginAddress
=
null
;
this
.
siteIds
=
""
;
this
.
lastModPwdTime
=
null
;
this
.
lastModPwdAddr
=
null
;
this
.
areaCodes
=
""
;
this
.
status
=
1
;
this
.
createUserName
=
""
;
this
.
lastLoginTime
=
null
;
this
.
lastLoginAddress
=
""
;
}
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntityExt.java
View file @
a74945e2
package
com.mortals.xhx.base.system.user.model
;
package
com.mortals.xhx.base.system.user.model
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.model.BaseEntityLong
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
/**
/**
*
* Description:User
* Description:User
* date: 2021-9-26 16:11:48
* date: 2021-9-26 16:11:48
*/
*/
@Data
@Data
public
class
UserEntityExt
extends
BaseEntityLong
{
public
class
UserEntityExt
extends
BaseEntityLong
{
/**
/**
* 唯一标识
* 站点名称
*/
*/
@JSONField
(
serialize
=
false
)
private
String
siteName
;
private
String
token
;
private
String
roleIds
;
/**
/**
* 登录时间
* 唯一标识
*/
*/
private
Long
loginTime
;
private
String
token
;
/**
/**
* 菜单栏
* 过期时间
*/
*/
private
String
menuUrl
;
private
Long
expireTime
;
/**
private
String
siteName
;
* 登录时间
private
List
<
Long
>
roleIds
;
*/
private
String
siteCode
;
private
Long
loginTime
;
private
String
oldPassword
;
/**
private
String
newPassword
;
* 过期时间
private
String
siteIds
;
*/
private
Long
expireTime
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserQuery.java
View file @
a74945e2
package
com.mortals.xhx.base.system.user.model
;
package
com.mortals.xhx.base.system.user.model
;
import
java.util.List
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
/**
/**
*
* 用户信息业务查询对象
* Description:User
*
* date: 2021-9-26 16:11:48
* @author zxfei
*/
* @date 2022-07-06
public
class
UserQuery
extends
UserEntity
{
*/
private
static
final
long
serialVersionUID
=
1632643908887L
;
public
class
UserQuery
extends
UserEntity
{
/** 开始 用户ID,主键,自增长 */
/** 开始 用户ID,主键,自增长 */
private
Long
idStart
;
private
Long
idStart
;
...
@@ -19,25 +19,15 @@ public class UserQuery extends UserEntity{
...
@@ -19,25 +19,15 @@ public class UserQuery extends UserEntity{
/** 增加 用户ID,主键,自增长 */
/** 增加 用户ID,主键,自增长 */
private
Long
idIncrement
;
private
Long
idIncrement
;
/** 用户ID,主键,自增长 */
/** 用户ID,主键,自增长
列表
*/
private
List
<
Long
>
idList
;
private
List
<
Long
>
idList
;
/** 登录名 */
/** 登录名 */
private
List
<
String
>
loginNameList
;
private
List
<
String
>
loginNameList
;
/** 登录密码,使用md5双次加密 */
/** 登录密码,使用md5双次加密 */
private
List
<
String
>
loginPwdList
;
private
List
<
String
>
loginPwdList
;
/** 最近一次使用密码,使用md5双次加密 */
private
List
<
String
>
loginPwd1List
;
/** 最近二次使用密码,使用md5双次加密 */
private
List
<
String
>
loginPwd2List
;
/** 最近三次使用密码,使用md5双次加密 */
private
List
<
String
>
loginPwd3List
;
/** 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录 */
/** 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录 */
private
List
<
String
>
loginLimitAddressList
;
private
List
<
String
>
loginLimitAddressList
;
...
@@ -56,58 +46,42 @@ public class UserQuery extends UserEntity{
...
@@ -56,58 +46,42 @@ public class UserQuery extends UserEntity{
/** QQ号码 */
/** QQ号码 */
private
List
<
String
>
qqList
;
private
List
<
String
>
qqList
;
/** 开始 用户类型
,0:系统用户 1:普通用户 2:工作人员,默认2
*/
/** 开始 用户类型
(0.系统用户,1.普通用户,2.工作人员)
*/
private
Integer
userTypeStart
;
private
Integer
userTypeStart
;
/** 结束 用户类型
,0:系统用户 1:普通用户 2:工作人员,默认2
*/
/** 结束 用户类型
(0.系统用户,1.普通用户,2.工作人员)
*/
private
Integer
userTypeEnd
;
private
Integer
userTypeEnd
;
/** 增加 用户类型
,0:系统用户 1:普通用户 2:工作人员,默认2
*/
/** 增加 用户类型
(0.系统用户,1.普通用户,2.工作人员)
*/
private
Integer
userTypeIncrement
;
private
Integer
userTypeIncrement
;
/** 用户类型
,0:系统用户 1:普通用户 2:工作人员,默认2
*/
/** 用户类型
(0.系统用户,1.普通用户,2.工作人员)列表
*/
private
List
<
Integer
>
userTypeList
;
private
List
<
Integer
>
userTypeList
;
/** 开始 站点id */
private
Long
siteIdStart
;
/** 结束 站点id */
private
Long
siteIdEnd
;
/**
增加 站点id
*/
/**
所属站点id,多个逗号分隔
*/
private
L
ong
siteIdIncremen
t
;
private
L
ist
<
String
>
siteIdsLis
t
;
/**
站点id
*/
/**
所属区域code,多个逗号分隔
*/
private
List
<
Long
>
siteId
List
;
private
List
<
String
>
areaCodes
List
;
/** 开始 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职) */
/** 开始 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1 */
private
Integer
statusStart
;
private
Integer
statusStart
;
/** 结束 用户状态
,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
*/
/** 结束 用户状态
(0.停用,1.正常,2.冻结,3.销户,4.离职)
*/
private
Integer
statusEnd
;
private
Integer
statusEnd
;
/** 增加 用户状态
,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
*/
/** 增加 用户状态
(0.停用,1.正常,2.冻结,3.销户,4.离职)
*/
private
Integer
statusIncrement
;
private
Integer
statusIncrement
;
/** 用户状态
,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
*/
/** 用户状态
(0.停用,1.正常,2.冻结,3.销户,4.离职)列表
*/
private
List
<
Integer
>
statusList
;
private
List
<
Integer
>
statusList
;
/** 开始 客户ID */
private
Long
customerIdStart
;
/** 结束 客户ID */
private
Long
customerIdEnd
;
/** 增加 客户ID */
private
Long
customerIdIncrement
;
/** 客户ID */
private
List
<
Long
>
customerIdList
;
/** 开始 创建时间 */
/** 开始 创建时间 */
private
String
createTimeStart
;
private
String
createTimeStart
;
/** 结束 创建时间 */
/** 结束 创建时间 */
private
String
createTimeEnd
;
private
String
createTimeEnd
;
/** 开始 创建用户 */
/** 开始 创建用户 */
private
Long
createUserIdStart
;
private
Long
createUserIdStart
;
...
@@ -117,12 +91,12 @@ public class UserQuery extends UserEntity{
...
@@ -117,12 +91,12 @@ public class UserQuery extends UserEntity{
/** 增加 创建用户 */
/** 增加 创建用户 */
private
Long
createUserIdIncrement
;
private
Long
createUserIdIncrement
;
/** 创建用户 */
/** 创建用户
列表
*/
private
List
<
Long
>
createUserIdList
;
private
List
<
Long
>
createUserIdList
;
/** 创建用户名称 */
/** 创建用户名称 */
private
List
<
String
>
createUserNameList
;
private
List
<
String
>
createUserNameList
;
/** 开始 最后一次登录时间 */
/** 开始 最后一次登录时间 */
private
String
lastLoginTimeStart
;
private
String
lastLoginTimeStart
;
...
@@ -131,14 +105,6 @@ public class UserQuery extends UserEntity{
...
@@ -131,14 +105,6 @@ public class UserQuery extends UserEntity{
/** 最后一次登录地址 */
/** 最后一次登录地址 */
private
List
<
String
>
lastLoginAddressList
;
private
List
<
String
>
lastLoginAddressList
;
/** 开始 最后修改密码时间 */
private
String
lastModPwdTimeStart
;
/** 结束 最后修改密码时间 */
private
String
lastModPwdTimeEnd
;
/** 最后修改密码地址 */
private
List
<
String
>
lastModPwdAddrList
;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private
List
<
UserQuery
>
orConditionList
;
private
List
<
UserQuery
>
orConditionList
;
...
@@ -146,1307 +112,946 @@ public class UserQuery extends UserEntity{
...
@@ -146,1307 +112,946 @@ public class UserQuery extends UserEntity{
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private
List
<
UserQuery
>
andConditionList
;
private
List
<
UserQuery
>
andConditionList
;
public
UserQuery
(){}
public
UserQuery
(){
}
/**
/**
* 获取 开始 用户ID,主键,自增长
* 获取 开始 用户ID,主键,自增长
* @return idStart
* @return idStart
*/
*/
public
Long
getIdStart
(){
public
Long
getIdStart
(){
return
this
.
idStart
;
return
this
.
idStart
;
}
}
/**
/**
* 设置 开始 用户ID,主键,自增长
* 设置 开始 用户ID,主键,自增长
* @param idStart
* @param idStart
*/
*/
public
void
setIdStart
(
Long
idStart
){
public
void
setIdStart
(
Long
idStart
){
this
.
idStart
=
idStart
;
this
.
idStart
=
idStart
;
}
}
/**
/**
* 获取 结束 用户ID,主键,自增长
* 获取 结束 用户ID,主键,自增长
* @return
idEnd
* @return $
idEnd
*/
*/
public
Long
getIdEnd
(){
public
Long
getIdEnd
(){
return
this
.
idEnd
;
return
this
.
idEnd
;
}
}
/**
/**
* 设置 结束 用户ID,主键,自增长
* 设置 结束 用户ID,主键,自增长
* @param idEnd
* @param idEnd
*/
*/
public
void
setIdEnd
(
Long
idEnd
){
public
void
setIdEnd
(
Long
idEnd
){
this
.
idEnd
=
idEnd
;
this
.
idEnd
=
idEnd
;
}
}
/**
/**
* 获取 增加 用户ID,主键,自增长
* 获取 增加 用户ID,主键,自增长
* @return idIncrement
* @return idIncrement
*/
*/
public
Long
getIdIncrement
(){
public
Long
getIdIncrement
(){
return
this
.
idIncrement
;
return
this
.
idIncrement
;
}
}
/**
/**
* 设置 增加 用户ID,主键,自增长
* 设置 增加 用户ID,主键,自增长
* @param idIncrement
* @param idIncrement
*/
*/
public
void
setIdIncrement
(
Long
idIncrement
){
public
void
setIdIncrement
(
Long
idIncrement
){
this
.
idIncrement
=
idIncrement
;
this
.
idIncrement
=
idIncrement
;
}
}
/**
/**
* 获取 用户ID,主键,自增长
* 获取 用户ID,主键,自增长
* @return idList
* @return idList
*/
*/
public
List
<
Long
>
getIdList
(){
public
List
<
Long
>
getIdList
(){
return
this
.
idList
;
return
this
.
idList
;
}
}
/**
/**
* 设置 用户ID,主键,自增长
* 设置 用户ID,主键,自增长
* @param idList
* @param idList
*/
*/
public
void
setIdList
(
List
<
Long
>
idList
){
public
void
setIdList
(
List
<
Long
>
idList
){
this
.
idList
=
idList
;
this
.
idList
=
idList
;
}
}
/**
/**
* 获取 登录名
* 获取 登录名
* @return loginNameList
* @return loginNameList
*/
*/
public
List
<
String
>
getLoginNameList
(){
public
List
<
String
>
getLoginNameList
(){
return
this
.
loginNameList
;
return
this
.
loginNameList
;
}
}
/**
/**
* 设置 登录名
* 设置 登录名
* @param loginNameList
* @param loginNameList
*/
*/
public
void
setLoginNameList
(
List
<
String
>
loginNameList
){
public
void
setLoginNameList
(
List
<
String
>
loginNameList
){
this
.
loginNameList
=
loginNameList
;
this
.
loginNameList
=
loginNameList
;
}
}
/**
/**
* 获取 登录密码,使用md5双次加密
* 获取 登录密码,使用md5双次加密
* @return loginPwdList
* @return loginPwdList
*/
*/
public
List
<
String
>
getLoginPwdList
(){
public
List
<
String
>
getLoginPwdList
(){
return
this
.
loginPwdList
;
return
this
.
loginPwdList
;
}
}
/**
/**
* 设置 登录密码,使用md5双次加密
* 设置 登录密码,使用md5双次加密
* @param loginPwdList
* @param loginPwdList
*/
*/
public
void
setLoginPwdList
(
List
<
String
>
loginPwdList
){
public
void
setLoginPwdList
(
List
<
String
>
loginPwdList
){
this
.
loginPwdList
=
loginPwdList
;
this
.
loginPwdList
=
loginPwdList
;
}
}
/**
/**
* 获取 最近一次使用密码,使用md5双次加密
* 获取 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @return loginPwd1List
* @return loginLimitAddressList
*/
*/
public
List
<
String
>
getLoginPwd1List
(){
return
this
.
loginPwd1List
;
}
/**
* 设置 最近一次使用密码,使用md5双次加密
* @param loginPwd1List
*/
public
void
setLoginPwd1List
(
List
<
String
>
loginPwd1List
){
this
.
loginPwd1List
=
loginPwd1List
;
}
/**
* 获取 最近二次使用密码,使用md5双次加密
* @return loginPwd2List
*/
public
List
<
String
>
getLoginPwd2List
(){
return
this
.
loginPwd2List
;
}
/**
* 设置 最近二次使用密码,使用md5双次加密
* @param loginPwd2List
*/
public
void
setLoginPwd2List
(
List
<
String
>
loginPwd2List
){
this
.
loginPwd2List
=
loginPwd2List
;
}
/**
* 获取 最近三次使用密码,使用md5双次加密
* @return loginPwd3List
*/
public
List
<
String
>
getLoginPwd3List
(){
return
this
.
loginPwd3List
;
}
/**
* 设置 最近三次使用密码,使用md5双次加密
* @param loginPwd3List
*/
public
void
setLoginPwd3List
(
List
<
String
>
loginPwd3List
){
this
.
loginPwd3List
=
loginPwd3List
;
}
/**
* 获取 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @return loginLimitAddressList
*/
public
List
<
String
>
getLoginLimitAddressList
(){
public
List
<
String
>
getLoginLimitAddressList
(){
return
this
.
loginLimitAddressList
;
return
this
.
loginLimitAddressList
;
}
}
/**
/**
* 设置 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* 设置 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @param loginLimitAddressList
* @param loginLimitAddressList
*/
*/
public
void
setLoginLimitAddressList
(
List
<
String
>
loginLimitAddressList
){
public
void
setLoginLimitAddressList
(
List
<
String
>
loginLimitAddressList
){
this
.
loginLimitAddressList
=
loginLimitAddressList
;
this
.
loginLimitAddressList
=
loginLimitAddressList
;
}
}
/**
/**
* 获取 用户名
* 获取 用户名
* @return realNameList
* @return realNameList
*/
*/
public
List
<
String
>
getRealNameList
(){
public
List
<
String
>
getRealNameList
(){
return
this
.
realNameList
;
return
this
.
realNameList
;
}
}
/**
/**
* 设置 用户名
* 设置 用户名
* @param realNameList
* @param realNameList
*/
*/
public
void
setRealNameList
(
List
<
String
>
realNameList
){
public
void
setRealNameList
(
List
<
String
>
realNameList
){
this
.
realNameList
=
realNameList
;
this
.
realNameList
=
realNameList
;
}
}
/**
/**
* 获取 用户手机号
* 获取 用户手机号
* @return mobileList
* @return mobileList
*/
*/
public
List
<
String
>
getMobileList
(){
public
List
<
String
>
getMobileList
(){
return
this
.
mobileList
;
return
this
.
mobileList
;
}
}
/**
/**
* 设置 用户手机号
* 设置 用户手机号
* @param mobileList
* @param mobileList
*/
*/
public
void
setMobileList
(
List
<
String
>
mobileList
){
public
void
setMobileList
(
List
<
String
>
mobileList
){
this
.
mobileList
=
mobileList
;
this
.
mobileList
=
mobileList
;
}
}
/**
/**
* 获取 用户联系电话
* 获取 用户联系电话
* @return phoneList
* @return phoneList
*/
*/
public
List
<
String
>
getPhoneList
(){
public
List
<
String
>
getPhoneList
(){
return
this
.
phoneList
;
return
this
.
phoneList
;
}
}
/**
/**
* 设置 用户联系电话
* 设置 用户联系电话
* @param phoneList
* @param phoneList
*/
*/
public
void
setPhoneList
(
List
<
String
>
phoneList
){
public
void
setPhoneList
(
List
<
String
>
phoneList
){
this
.
phoneList
=
phoneList
;
this
.
phoneList
=
phoneList
;
}
}
/**
/**
* 获取 用户邮箱
* 获取 用户邮箱
* @return emailList
* @return emailList
*/
*/
public
List
<
String
>
getEmailList
(){
public
List
<
String
>
getEmailList
(){
return
this
.
emailList
;
return
this
.
emailList
;
}
}
/**
/**
* 设置 用户邮箱
* 设置 用户邮箱
* @param emailList
* @param emailList
*/
*/
public
void
setEmailList
(
List
<
String
>
emailList
){
public
void
setEmailList
(
List
<
String
>
emailList
){
this
.
emailList
=
emailList
;
this
.
emailList
=
emailList
;
}
}
/**
/**
* 获取 QQ号码
* 获取 QQ号码
* @return qqList
* @return qqList
*/
*/
public
List
<
String
>
getQqList
(){
public
List
<
String
>
getQqList
(){
return
this
.
qqList
;
return
this
.
qqList
;
}
}
/**
/**
* 设置 QQ号码
* 设置 QQ号码
* @param qqList
* @param qqList
*/
*/
public
void
setQqList
(
List
<
String
>
qqList
){
public
void
setQqList
(
List
<
String
>
qqList
){
this
.
qqList
=
qqList
;
this
.
qqList
=
qqList
;
}
}
/**
/**
* 获取 开始 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 获取 开始 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @return userTypeStart
* @return userTypeStart
*/
*/
public
Integer
getUserTypeStart
(){
public
Integer
getUserTypeStart
(){
return
this
.
userTypeStart
;
return
this
.
userTypeStart
;
}
}
/**
/**
* 设置 开始 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 开始 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userTypeStart
* @param userTypeStart
*/
*/
public
void
setUserTypeStart
(
Integer
userTypeStart
){
public
void
setUserTypeStart
(
Integer
userTypeStart
){
this
.
userTypeStart
=
userTypeStart
;
this
.
userTypeStart
=
userTypeStart
;
}
}
/**
/**
* 获取 结束 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 获取 结束 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @return
userTypeEnd
* @return $
userTypeEnd
*/
*/
public
Integer
getUserTypeEnd
(){
public
Integer
getUserTypeEnd
(){
return
this
.
userTypeEnd
;
return
this
.
userTypeEnd
;
}
}
/**
/**
* 设置 结束 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 结束 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userTypeEnd
* @param userTypeEnd
*/
*/
public
void
setUserTypeEnd
(
Integer
userTypeEnd
){
public
void
setUserTypeEnd
(
Integer
userTypeEnd
){
this
.
userTypeEnd
=
userTypeEnd
;
this
.
userTypeEnd
=
userTypeEnd
;
}
}
/**
/**
* 获取 增加 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 获取 增加 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @return userTypeIncrement
* @return userTypeIncrement
*/
*/
public
Integer
getUserTypeIncrement
(){
public
Integer
getUserTypeIncrement
(){
return
this
.
userTypeIncrement
;
return
this
.
userTypeIncrement
;
}
}
/**
/**
* 设置 增加 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 增加 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userTypeIncrement
* @param userTypeIncrement
*/
*/
public
void
setUserTypeIncrement
(
Integer
userTypeIncrement
){
public
void
setUserTypeIncrement
(
Integer
userTypeIncrement
){
this
.
userTypeIncrement
=
userTypeIncrement
;
this
.
userTypeIncrement
=
userTypeIncrement
;
}
}
/**
/**
* 获取 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 获取 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @return userTypeList
* @return userTypeList
*/
*/
public
List
<
Integer
>
getUserTypeList
(){
public
List
<
Integer
>
getUserTypeList
(){
return
this
.
userTypeList
;
return
this
.
userTypeList
;
}
}
/**
/**
* 设置 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userTypeList
* @param userTypeList
*/
*/
public
void
setUserTypeList
(
List
<
Integer
>
userTypeList
){
public
void
setUserTypeList
(
List
<
Integer
>
userTypeList
){
this
.
userTypeList
=
userTypeList
;
this
.
userTypeList
=
userTypeList
;
}
}
/**
* 获取 开始 站点id
* @return siteIdStart
*/
public
Long
getSiteIdStart
(){
return
this
.
siteIdStart
;
}
/**
/**
* 设置 开始 站点id
* 获取 所属站点id,多个逗号分隔
* @param siteIdStar
t
* @return siteIdsLis
t
*/
*/
public
void
setSiteIdStart
(
Long
siteIdStart
){
public
List
<
String
>
getSiteIdsList
(
){
this
.
siteIdStart
=
siteIdStar
t
;
return
this
.
siteIdsLis
t
;
}
}
/**
/**
* 获取 结束 站点id
* 设置 所属站点id,多个逗号分隔
* @return siteIdEnd
* @param siteIdsList
*/
*/
public
Long
getSiteIdEnd
(
){
public
void
setSiteIdsList
(
List
<
String
>
siteIdsList
){
return
this
.
siteIdEnd
;
this
.
siteIdsList
=
siteIdsList
;
}
}
/**
/**
* 设置 结束 站点id
* 获取 所属区域code,多个逗号分隔
* @param siteIdEnd
* @return areaCodesList
*/
*/
public
void
setSiteIdEnd
(
Long
siteIdEnd
){
public
List
<
String
>
getAreaCodesList
(
){
this
.
siteIdEnd
=
siteIdEnd
;
return
this
.
areaCodesList
;
}
}
/**
/**
* 获取 增加 站点id
* 设置 所属区域code,多个逗号分隔
* @return siteIdIncremen
t
* @param areaCodesLis
t
*/
*/
public
Long
getSiteIdIncrement
(
){
public
void
setAreaCodesList
(
List
<
String
>
areaCodesList
){
return
this
.
siteIdIncremen
t
;
this
.
areaCodesList
=
areaCodesLis
t
;
}
}
/**
* 设置 增加 站点id
* @param siteIdIncrement
*/
public
void
setSiteIdIncrement
(
Long
siteIdIncrement
){
this
.
siteIdIncrement
=
siteIdIncrement
;
}
/**
* 获取 站点id
* @return siteIdList
*/
public
List
<
Long
>
getSiteIdList
(){
return
this
.
siteIdList
;
}
/**
/**
* 设置 站点id
* 获取 开始 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param siteIdList
* @return statusStart
*/
*/
public
void
setSiteIdList
(
List
<
Long
>
siteIdList
){
this
.
siteIdList
=
siteIdList
;
}
/**
* 获取 开始 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* @return statusStart
*/
public
Integer
getStatusStart
(){
public
Integer
getStatusStart
(){
return
this
.
statusStart
;
return
this
.
statusStart
;
}
}
/**
/**
* 设置 开始 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 设置 开始 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param statusStart
* @param statusStart
*/
*/
public
void
setStatusStart
(
Integer
statusStart
){
public
void
setStatusStart
(
Integer
statusStart
){
this
.
statusStart
=
statusStart
;
this
.
statusStart
=
statusStart
;
}
}
/**
/**
* 获取 结束 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 获取 结束 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @return
statusEnd
* @return $
statusEnd
*/
*/
public
Integer
getStatusEnd
(){
public
Integer
getStatusEnd
(){
return
this
.
statusEnd
;
return
this
.
statusEnd
;
}
}
/**
/**
* 设置 结束 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 设置 结束 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param statusEnd
* @param statusEnd
*/
*/
public
void
setStatusEnd
(
Integer
statusEnd
){
public
void
setStatusEnd
(
Integer
statusEnd
){
this
.
statusEnd
=
statusEnd
;
this
.
statusEnd
=
statusEnd
;
}
}
/**
/**
* 获取 增加 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 获取 增加 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @return statusIncrement
* @return statusIncrement
*/
*/
public
Integer
getStatusIncrement
(){
public
Integer
getStatusIncrement
(){
return
this
.
statusIncrement
;
return
this
.
statusIncrement
;
}
}
/**
/**
* 设置 增加 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 设置 增加 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param statusIncrement
* @param statusIncrement
*/
*/
public
void
setStatusIncrement
(
Integer
statusIncrement
){
public
void
setStatusIncrement
(
Integer
statusIncrement
){
this
.
statusIncrement
=
statusIncrement
;
this
.
statusIncrement
=
statusIncrement
;
}
}
/**
/**
* 获取 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 获取 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @return statusList
* @return statusList
*/
*/
public
List
<
Integer
>
getStatusList
(){
public
List
<
Integer
>
getStatusList
(){
return
this
.
statusList
;
return
this
.
statusList
;
}
}
/**
/**
* 设置 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 设置 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param statusList
* @param statusList
*/
*/
public
void
setStatusList
(
List
<
Integer
>
statusList
){
public
void
setStatusList
(
List
<
Integer
>
statusList
){
this
.
statusList
=
statusList
;
this
.
statusList
=
statusList
;
}
}
/**
* 获取 开始 客户ID
* @return customerIdStart
*/
public
Long
getCustomerIdStart
(){
return
this
.
customerIdStart
;
}
/**
* 设置 开始 客户ID
* @param customerIdStart
*/
public
void
setCustomerIdStart
(
Long
customerIdStart
){
this
.
customerIdStart
=
customerIdStart
;
}
/**
* 获取 结束 客户ID
* @return customerIdEnd
*/
public
Long
getCustomerIdEnd
(){
return
this
.
customerIdEnd
;
}
/**
* 设置 结束 客户ID
* @param customerIdEnd
*/
public
void
setCustomerIdEnd
(
Long
customerIdEnd
){
this
.
customerIdEnd
=
customerIdEnd
;
}
/**
/**
* 获取 增加 客户ID
* 获取 开始 创建时间
* @return customerIdIncrement
* @return createTimeStart
*/
*/
public
Long
getCustomerIdIncrement
(){
return
this
.
customerIdIncrement
;
}
/**
* 设置 增加 客户ID
* @param customerIdIncrement
*/
public
void
setCustomerIdIncrement
(
Long
customerIdIncrement
){
this
.
customerIdIncrement
=
customerIdIncrement
;
}
/**
* 获取 客户ID
* @return customerIdList
*/
public
List
<
Long
>
getCustomerIdList
(){
return
this
.
customerIdList
;
}
/**
* 设置 客户ID
* @param customerIdList
*/
public
void
setCustomerIdList
(
List
<
Long
>
customerIdList
){
this
.
customerIdList
=
customerIdList
;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public
String
getCreateTimeStart
(){
public
String
getCreateTimeStart
(){
return
this
.
createTimeStart
;
return
this
.
createTimeStart
;
}
}
/**
/**
* 设置 开始 创建时间
* 设置 开始 创建时间
* @param createTimeStart
* @param createTimeStart
*/
*/
public
void
setCreateTimeStart
(
String
createTimeStart
){
public
void
setCreateTimeStart
(
String
createTimeStart
){
this
.
createTimeStart
=
createTimeStart
;
this
.
createTimeStart
=
createTimeStart
;
}
}
/**
/**
* 获取 结束 创建时间
* 获取 结束 创建时间
* @return createTimeEnd
* @return createTimeEnd
*/
*/
public
String
getCreateTimeEnd
(){
public
String
getCreateTimeEnd
(){
return
this
.
createTimeEnd
;
return
this
.
createTimeEnd
;
}
}
/**
/**
* 设置 结束 创建时间
* 设置 结束 创建时间
* @param createTimeEnd
* @param createTimeEnd
*/
*/
public
void
setCreateTimeEnd
(
String
createTimeEnd
){
public
void
setCreateTimeEnd
(
String
createTimeEnd
){
this
.
createTimeEnd
=
createTimeEnd
;
this
.
createTimeEnd
=
createTimeEnd
;
}
}
/**
/**
* 获取 开始 创建用户
* 获取 开始 创建用户
* @return createUserIdStart
* @return createUserIdStart
*/
*/
public
Long
getCreateUserIdStart
(){
public
Long
getCreateUserIdStart
(){
return
this
.
createUserIdStart
;
return
this
.
createUserIdStart
;
}
}
/**
/**
* 设置 开始 创建用户
* 设置 开始 创建用户
* @param createUserIdStart
* @param createUserIdStart
*/
*/
public
void
setCreateUserIdStart
(
Long
createUserIdStart
){
public
void
setCreateUserIdStart
(
Long
createUserIdStart
){
this
.
createUserIdStart
=
createUserIdStart
;
this
.
createUserIdStart
=
createUserIdStart
;
}
}
/**
/**
* 获取 结束 创建用户
* 获取 结束 创建用户
* @return
createUserIdEnd
* @return $
createUserIdEnd
*/
*/
public
Long
getCreateUserIdEnd
(){
public
Long
getCreateUserIdEnd
(){
return
this
.
createUserIdEnd
;
return
this
.
createUserIdEnd
;
}
}
/**
/**
* 设置 结束 创建用户
* 设置 结束 创建用户
* @param createUserIdEnd
* @param createUserIdEnd
*/
*/
public
void
setCreateUserIdEnd
(
Long
createUserIdEnd
){
public
void
setCreateUserIdEnd
(
Long
createUserIdEnd
){
this
.
createUserIdEnd
=
createUserIdEnd
;
this
.
createUserIdEnd
=
createUserIdEnd
;
}
}
/**
/**
* 获取 增加 创建用户
* 获取 增加 创建用户
* @return createUserIdIncrement
* @return createUserIdIncrement
*/
*/
public
Long
getCreateUserIdIncrement
(){
public
Long
getCreateUserIdIncrement
(){
return
this
.
createUserIdIncrement
;
return
this
.
createUserIdIncrement
;
}
}
/**
/**
* 设置 增加 创建用户
* 设置 增加 创建用户
* @param createUserIdIncrement
* @param createUserIdIncrement
*/
*/
public
void
setCreateUserIdIncrement
(
Long
createUserIdIncrement
){
public
void
setCreateUserIdIncrement
(
Long
createUserIdIncrement
){
this
.
createUserIdIncrement
=
createUserIdIncrement
;
this
.
createUserIdIncrement
=
createUserIdIncrement
;
}
}
/**
/**
* 获取 创建用户
* 获取 创建用户
* @return createUserIdList
* @return createUserIdList
*/
*/
public
List
<
Long
>
getCreateUserIdList
(){
public
List
<
Long
>
getCreateUserIdList
(){
return
this
.
createUserIdList
;
return
this
.
createUserIdList
;
}
}
/**
/**
* 设置 创建用户
* 设置 创建用户
* @param createUserIdList
* @param createUserIdList
*/
*/
public
void
setCreateUserIdList
(
List
<
Long
>
createUserIdList
){
public
void
setCreateUserIdList
(
List
<
Long
>
createUserIdList
){
this
.
createUserIdList
=
createUserIdList
;
this
.
createUserIdList
=
createUserIdList
;
}
}
/**
/**
* 获取 创建用户名称
* 获取 创建用户名称
* @return createUserNameList
* @return createUserNameList
*/
*/
public
List
<
String
>
getCreateUserNameList
(){
public
List
<
String
>
getCreateUserNameList
(){
return
this
.
createUserNameList
;
return
this
.
createUserNameList
;
}
}
/**
/**
* 设置 创建用户名称
* 设置 创建用户名称
* @param createUserNameList
* @param createUserNameList
*/
*/
public
void
setCreateUserNameList
(
List
<
String
>
createUserNameList
){
public
void
setCreateUserNameList
(
List
<
String
>
createUserNameList
){
this
.
createUserNameList
=
createUserNameList
;
this
.
createUserNameList
=
createUserNameList
;
}
}
/**
/**
* 获取 开始 最后一次登录时间
* 获取 开始 最后一次登录时间
* @return lastLoginTimeStart
* @return lastLoginTimeStart
*/
*/
public
String
getLastLoginTimeStart
(){
public
String
getLastLoginTimeStart
(){
return
this
.
lastLoginTimeStart
;
return
this
.
lastLoginTimeStart
;
}
}
/**
/**
* 设置 开始 最后一次登录时间
* 设置 开始 最后一次登录时间
* @param lastLoginTimeStart
* @param lastLoginTimeStart
*/
*/
public
void
setLastLoginTimeStart
(
String
lastLoginTimeStart
){
public
void
setLastLoginTimeStart
(
String
lastLoginTimeStart
){
this
.
lastLoginTimeStart
=
lastLoginTimeStart
;
this
.
lastLoginTimeStart
=
lastLoginTimeStart
;
}
}
/**
/**
* 获取 结束 最后一次登录时间
* 获取 结束 最后一次登录时间
* @return lastLoginTimeEnd
* @return lastLoginTimeEnd
*/
*/
public
String
getLastLoginTimeEnd
(){
public
String
getLastLoginTimeEnd
(){
return
this
.
lastLoginTimeEnd
;
return
this
.
lastLoginTimeEnd
;
}
}
/**
/**
* 设置 结束 最后一次登录时间
* 设置 结束 最后一次登录时间
* @param lastLoginTimeEnd
* @param lastLoginTimeEnd
*/
*/
public
void
setLastLoginTimeEnd
(
String
lastLoginTimeEnd
){
public
void
setLastLoginTimeEnd
(
String
lastLoginTimeEnd
){
this
.
lastLoginTimeEnd
=
lastLoginTimeEnd
;
this
.
lastLoginTimeEnd
=
lastLoginTimeEnd
;
}
}
/**
/**
* 获取 最后一次登录地址
* 获取 最后一次登录地址
* @return lastLoginAddressList
* @return lastLoginAddressList
*/
*/
public
List
<
String
>
getLastLoginAddressList
(){
public
List
<
String
>
getLastLoginAddressList
(){
return
this
.
lastLoginAddressList
;
return
this
.
lastLoginAddressList
;
}
}
/**
/**
* 设置 最后一次登录地址
* 设置 最后一次登录地址
* @param lastLoginAddressList
* @param lastLoginAddressList
*/
*/
public
void
setLastLoginAddressList
(
List
<
String
>
lastLoginAddressList
){
public
void
setLastLoginAddressList
(
List
<
String
>
lastLoginAddressList
){
this
.
lastLoginAddressList
=
lastLoginAddressList
;
this
.
lastLoginAddressList
=
lastLoginAddressList
;
}
}
/**
/**
* 获取 开始 最后修改密码时间
* 设置 用户ID,主键,自增长
* @return lastModPwdTimeStart
* @param id
*/
*/
public
String
getLastModPwdTimeStart
(){
public
UserQuery
id
(
Long
id
){
return
this
.
lastModPwdTimeStart
;
setId
(
id
);
}
return
this
;
/**
* 设置 开始 最后修改密码时间
* @param lastModPwdTimeStart
*/
public
void
setLastModPwdTimeStart
(
String
lastModPwdTimeStart
){
this
.
lastModPwdTimeStart
=
lastModPwdTimeStart
;
}
/**
* 获取 结束 最后修改密码时间
* @return lastModPwdTimeEnd
*/
public
String
getLastModPwdTimeEnd
(){
return
this
.
lastModPwdTimeEnd
;
}
/**
* 设置 结束 最后修改密码时间
* @param lastModPwdTimeEnd
*/
public
void
setLastModPwdTimeEnd
(
String
lastModPwdTimeEnd
){
this
.
lastModPwdTimeEnd
=
lastModPwdTimeEnd
;
}
/**
* 获取 最后修改密码地址
* @return lastModPwdAddrList
*/
public
List
<
String
>
getLastModPwdAddrList
(){
return
this
.
lastModPwdAddrList
;
}
}
/**
/**
* 设置 最后修改密码地址
* 设置 开始 用户ID,主键,自增长
* @param lastModPwdAddrList
* @param idStart
*/
*/
public
void
setLastModPwdAddrList
(
List
<
String
>
lastModPwdAddrList
){
this
.
lastModPwdAddrList
=
lastModPwdAddrList
;
}
/**
* 设置 用户ID,主键,自增长
* @param id
*/
public
UserQuery
id
(
Long
id
){
setId
(
id
);
return
this
;
}
/**
* 设置 开始 用户ID,主键,自增长
* @param idStart
*/
public
UserQuery
idStart
(
Long
idStart
){
public
UserQuery
idStart
(
Long
idStart
){
this
.
idStart
=
idStart
;
this
.
idStart
=
idStart
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 结束 用户ID,主键,自增长
* 设置 结束 用户ID,主键,自增长
* @param idEnd
* @param idEnd
*/
*/
public
UserQuery
idEnd
(
Long
idEnd
){
public
UserQuery
idEnd
(
Long
idEnd
){
this
.
idEnd
=
idEnd
;
this
.
idEnd
=
idEnd
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 增加 用户ID,主键,自增长
* 设置 增加 用户ID,主键,自增长
* @param idIncrement
* @param idIncrement
*/
*/
public
UserQuery
idIncrement
(
Long
idIncrement
){
public
UserQuery
idIncrement
(
Long
idIncrement
){
this
.
idIncrement
=
idIncrement
;
this
.
idIncrement
=
idIncrement
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 用户ID,主键,自增长
* 设置 用户ID,主键,自增长
* @param idList
* @param idList
*/
*/
public
UserQuery
idList
(
List
<
Long
>
idList
){
public
UserQuery
idList
(
List
<
Long
>
idList
){
this
.
idList
=
idList
;
this
.
idList
=
idList
;
return
this
;
return
this
;
}
}
/**
* 设置 登录名
* @param loginName
/**
*/
* 设置 登录名
* @param loginName
*/
public
UserQuery
loginName
(
String
loginName
){
public
UserQuery
loginName
(
String
loginName
){
setLoginName
(
loginName
);
setLoginName
(
loginName
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 登录名
* 设置 登录名
* @param loginNameList
* @param loginNameList
*/
*/
public
UserQuery
loginNameList
(
List
<
String
>
loginNameList
){
public
UserQuery
loginNameList
(
List
<
String
>
loginNameList
){
this
.
loginNameList
=
loginNameList
;
this
.
loginNameList
=
loginNameList
;
return
this
;
return
this
;
}
}
/**
* 设置 登录密码,使用md5双次加密
* @param loginPwd
/**
*/
* 设置 登录密码,使用md5双次加密
* @param loginPwd
*/
public
UserQuery
loginPwd
(
String
loginPwd
){
public
UserQuery
loginPwd
(
String
loginPwd
){
setLoginPwd
(
loginPwd
);
setLoginPwd
(
loginPwd
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 登录密码,使用md5双次加密
* 设置 登录密码,使用md5双次加密
* @param loginPwdList
* @param loginPwdList
*/
*/
public
UserQuery
loginPwdList
(
List
<
String
>
loginPwdList
){
public
UserQuery
loginPwdList
(
List
<
String
>
loginPwdList
){
this
.
loginPwdList
=
loginPwdList
;
this
.
loginPwdList
=
loginPwdList
;
return
this
;
return
this
;
}
/**
* 设置 最近一次使用密码,使用md5双次加密
* @param loginPwd1
*/
public
UserQuery
loginPwd1
(
String
loginPwd1
){
setLoginPwd1
(
loginPwd1
);
return
this
;
}
/**
* 设置 最近一次使用密码,使用md5双次加密
* @param loginPwd1List
*/
public
UserQuery
loginPwd1List
(
List
<
String
>
loginPwd1List
){
this
.
loginPwd1List
=
loginPwd1List
;
return
this
;
}
/**
* 设置 最近二次使用密码,使用md5双次加密
* @param loginPwd2
*/
public
UserQuery
loginPwd2
(
String
loginPwd2
){
setLoginPwd2
(
loginPwd2
);
return
this
;
}
/**
* 设置 最近二次使用密码,使用md5双次加密
* @param loginPwd2List
*/
public
UserQuery
loginPwd2List
(
List
<
String
>
loginPwd2List
){
this
.
loginPwd2List
=
loginPwd2List
;
return
this
;
}
/**
* 设置 最近三次使用密码,使用md5双次加密
* @param loginPwd3
*/
public
UserQuery
loginPwd3
(
String
loginPwd3
){
setLoginPwd3
(
loginPwd3
);
return
this
;
}
}
/**
/**
* 设置 最近三次使用密码,使用md5双次加密
* 设置 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @param loginPwd3List
* @param loginLimitAddress
*/
*/
public
UserQuery
loginPwd3List
(
List
<
String
>
loginPwd3List
){
this
.
loginPwd3List
=
loginPwd3List
;
return
this
;
}
/**
* 设置 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @param loginLimitAddress
*/
public
UserQuery
loginLimitAddress
(
String
loginLimitAddress
){
public
UserQuery
loginLimitAddress
(
String
loginLimitAddress
){
setLoginLimitAddress
(
loginLimitAddress
);
setLoginLimitAddress
(
loginLimitAddress
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* 设置 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
* @param loginLimitAddressList
* @param loginLimitAddressList
*/
*/
public
UserQuery
loginLimitAddressList
(
List
<
String
>
loginLimitAddressList
){
public
UserQuery
loginLimitAddressList
(
List
<
String
>
loginLimitAddressList
){
this
.
loginLimitAddressList
=
loginLimitAddressList
;
this
.
loginLimitAddressList
=
loginLimitAddressList
;
return
this
;
return
this
;
}
}
/**
* 设置 用户名
* @param realName
/**
*/
* 设置 用户名
* @param realName
*/
public
UserQuery
realName
(
String
realName
){
public
UserQuery
realName
(
String
realName
){
setRealName
(
realName
);
setRealName
(
realName
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 用户名
* 设置 用户名
* @param realNameList
* @param realNameList
*/
*/
public
UserQuery
realNameList
(
List
<
String
>
realNameList
){
public
UserQuery
realNameList
(
List
<
String
>
realNameList
){
this
.
realNameList
=
realNameList
;
this
.
realNameList
=
realNameList
;
return
this
;
return
this
;
}
}
/**
* 设置 用户手机号
* @param mobile
/**
*/
* 设置 用户手机号
* @param mobile
*/
public
UserQuery
mobile
(
String
mobile
){
public
UserQuery
mobile
(
String
mobile
){
setMobile
(
mobile
);
setMobile
(
mobile
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 用户手机号
* 设置 用户手机号
* @param mobileList
* @param mobileList
*/
*/
public
UserQuery
mobileList
(
List
<
String
>
mobileList
){
public
UserQuery
mobileList
(
List
<
String
>
mobileList
){
this
.
mobileList
=
mobileList
;
this
.
mobileList
=
mobileList
;
return
this
;
return
this
;
}
}
/**
* 设置 用户联系电话
* @param phone
/**
*/
* 设置 用户联系电话
* @param phone
*/
public
UserQuery
phone
(
String
phone
){
public
UserQuery
phone
(
String
phone
){
setPhone
(
phone
);
setPhone
(
phone
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 用户联系电话
* 设置 用户联系电话
* @param phoneList
* @param phoneList
*/
*/
public
UserQuery
phoneList
(
List
<
String
>
phoneList
){
public
UserQuery
phoneList
(
List
<
String
>
phoneList
){
this
.
phoneList
=
phoneList
;
this
.
phoneList
=
phoneList
;
return
this
;
return
this
;
}
}
/**
* 设置 用户邮箱
* @param email
/**
*/
* 设置 用户邮箱
* @param email
*/
public
UserQuery
email
(
String
email
){
public
UserQuery
email
(
String
email
){
setEmail
(
email
);
setEmail
(
email
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 用户邮箱
* 设置 用户邮箱
* @param emailList
* @param emailList
*/
*/
public
UserQuery
emailList
(
List
<
String
>
emailList
){
public
UserQuery
emailList
(
List
<
String
>
emailList
){
this
.
emailList
=
emailList
;
this
.
emailList
=
emailList
;
return
this
;
return
this
;
}
}
/**
* 设置 QQ号码
* @param qq
/**
*/
* 设置 QQ号码
* @param qq
*/
public
UserQuery
qq
(
String
qq
){
public
UserQuery
qq
(
String
qq
){
setQq
(
qq
);
setQq
(
qq
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 QQ号码
* 设置 QQ号码
* @param qqList
* @param qqList
*/
*/
public
UserQuery
qqList
(
List
<
String
>
qqList
){
public
UserQuery
qqList
(
List
<
String
>
qqList
){
this
.
qqList
=
qqList
;
this
.
qqList
=
qqList
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userType
* @param userType
*/
*/
public
UserQuery
userType
(
Integer
userType
){
public
UserQuery
userType
(
Integer
userType
){
setUserType
(
userType
);
setUserType
(
userType
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 开始 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 开始 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userTypeStart
* @param userTypeStart
*/
*/
public
UserQuery
userTypeStart
(
Integer
userTypeStart
){
public
UserQuery
userTypeStart
(
Integer
userTypeStart
){
this
.
userTypeStart
=
userTypeStart
;
this
.
userTypeStart
=
userTypeStart
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 结束 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 结束 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userTypeEnd
* @param userTypeEnd
*/
*/
public
UserQuery
userTypeEnd
(
Integer
userTypeEnd
){
public
UserQuery
userTypeEnd
(
Integer
userTypeEnd
){
this
.
userTypeEnd
=
userTypeEnd
;
this
.
userTypeEnd
=
userTypeEnd
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 增加 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 增加 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userTypeIncrement
* @param userTypeIncrement
*/
*/
public
UserQuery
userTypeIncrement
(
Integer
userTypeIncrement
){
public
UserQuery
userTypeIncrement
(
Integer
userTypeIncrement
){
this
.
userTypeIncrement
=
userTypeIncrement
;
this
.
userTypeIncrement
=
userTypeIncrement
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
* 设置 用户类型(0.系统用户,1.普通用户,2.工作人员)
* @param userTypeList
* @param userTypeList
*/
*/
public
UserQuery
userTypeList
(
List
<
Integer
>
userTypeList
){
public
UserQuery
userTypeList
(
List
<
Integer
>
userTypeList
){
this
.
userTypeList
=
userTypeList
;
this
.
userTypeList
=
userTypeList
;
return
this
;
return
this
;
}
/**
* 设置 站点id
* @param siteId
*/
public
UserQuery
siteId
(
Long
siteId
){
setSiteId
(
siteId
);
return
this
;
}
/**
* 设置 开始 站点id
* @param siteIdStart
*/
public
UserQuery
siteIdStart
(
Long
siteIdStart
){
this
.
siteIdStart
=
siteIdStart
;
return
this
;
}
/**
* 设置 结束 站点id
* @param siteIdEnd
*/
public
UserQuery
siteIdEnd
(
Long
siteIdEnd
){
this
.
siteIdEnd
=
siteIdEnd
;
return
this
;
}
/**
* 设置 增加 站点id
* @param siteIdIncrement
*/
public
UserQuery
siteIdIncrement
(
Long
siteIdIncrement
){
this
.
siteIdIncrement
=
siteIdIncrement
;
return
this
;
}
/**
* 设置 站点id
* @param siteIdList
*/
public
UserQuery
siteIdList
(
List
<
Long
>
siteIdList
){
this
.
siteIdList
=
siteIdList
;
return
this
;
}
/**
* 设置 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* @param status
*/
public
UserQuery
status
(
Integer
status
){
setStatus
(
status
);
return
this
;
}
}
/**
/**
* 设置 开始 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 设置 所属站点id,多个逗号分隔
* @param statusStart
* @param siteIds
*/
*/
public
UserQuery
s
tatusStart
(
Integer
statusStart
){
public
UserQuery
s
iteIds
(
String
siteIds
){
this
.
statusStart
=
statusStart
;
setSiteIds
(
siteIds
)
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 结束 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 设置 所属站点id,多个逗号分隔
* @param statusEnd
* @param siteIdsList
*/
*/
public
UserQuery
s
tatusEnd
(
Integer
statusEnd
){
public
UserQuery
s
iteIdsList
(
List
<
String
>
siteIdsList
){
this
.
s
tatusEnd
=
statusEnd
;
this
.
s
iteIdsList
=
siteIdsList
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 增加 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 设置 所属区域code,多个逗号分隔
* @param statusIncrement
* @param areaCodes
*/
*/
public
UserQuery
statusIncrement
(
Integer
statusIncrement
){
public
UserQuery
areaCodes
(
String
areaCodes
){
this
.
statusIncrement
=
statusIncrement
;
setAreaCodes
(
areaCodes
)
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
* 设置 所属区域code,多个逗号分隔
* @param statu
sList
* @param areaCode
sList
*/
*/
public
UserQuery
statusList
(
List
<
Integer
>
statu
sList
){
public
UserQuery
areaCodesList
(
List
<
String
>
areaCode
sList
){
this
.
statusList
=
statu
sList
;
this
.
areaCodesList
=
areaCode
sList
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 客户ID
* 设置 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param customerId
* @param status
*/
*/
public
UserQuery
customerId
(
Long
customerId
){
public
UserQuery
status
(
Integer
status
){
setCustomerId
(
customerId
);
setStatus
(
status
);
return
this
;
return
this
;
}
/**
* 设置 开始 客户ID
* @param customerIdStart
*/
public
UserQuery
customerIdStart
(
Long
customerIdStart
){
this
.
customerIdStart
=
customerIdStart
;
return
this
;
}
}
/**
/**
* 设置 结束 客户ID
* 设置 开始 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param customerIdEnd
* @param statusStart
*/
*/
public
UserQuery
customerIdEnd
(
Long
customerIdEnd
){
public
UserQuery
statusStart
(
Integer
statusStart
){
this
.
customerIdEnd
=
customerIdEnd
;
this
.
statusStart
=
statusStart
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 增加 客户ID
* 设置 结束 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param customerIdIncrement
* @param statusEnd
*/
*/
public
UserQuery
customerIdIncrement
(
Long
customerIdIncrement
){
public
UserQuery
statusEnd
(
Integer
statusEnd
){
this
.
customerIdIncrement
=
customerIdIncrement
;
this
.
statusEnd
=
statusEnd
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 客户ID
* 设置 增加 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param customerIdLis
t
* @param statusIncremen
t
*/
*/
public
UserQuery
customerIdList
(
List
<
Long
>
customerIdLis
t
){
public
UserQuery
statusIncrement
(
Integer
statusIncremen
t
){
this
.
customerIdList
=
customerIdLis
t
;
this
.
statusIncrement
=
statusIncremen
t
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 开始 创建时间
* 设置 用户状态(0.停用,1.正常,2.冻结,3.销户,4.离职)
* @param createTimeStar
t
* @param statusLis
t
*/
*/
public
UserQuery
createTimeStart
(
String
createTimeStar
t
){
public
UserQuery
statusList
(
List
<
Integer
>
statusLis
t
){
this
.
createTimeStart
=
createTimeStar
t
;
this
.
statusList
=
statusLis
t
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 结束 创建时间
* 设置 创建用户
* @param createTimeEn
d
* @param createUserI
d
*/
*/
public
UserQuery
create
TimeEnd
(
String
createTimeEn
d
){
public
UserQuery
create
UserId
(
Long
createUserI
d
){
this
.
createTimeEnd
=
createTimeEnd
;
setCreateUserId
(
createUserId
)
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 创建用户
* 设置 开始 创建用户
* @param createUserId
* @param createUserIdStart
*/
*/
public
UserQuery
createUserId
(
Long
createUserId
){
setCreateUserId
(
createUserId
);
return
this
;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public
UserQuery
createUserIdStart
(
Long
createUserIdStart
){
public
UserQuery
createUserIdStart
(
Long
createUserIdStart
){
this
.
createUserIdStart
=
createUserIdStart
;
this
.
createUserIdStart
=
createUserIdStart
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 结束 创建用户
* 设置 结束 创建用户
* @param createUserIdEnd
* @param createUserIdEnd
*/
*/
public
UserQuery
createUserIdEnd
(
Long
createUserIdEnd
){
public
UserQuery
createUserIdEnd
(
Long
createUserIdEnd
){
this
.
createUserIdEnd
=
createUserIdEnd
;
this
.
createUserIdEnd
=
createUserIdEnd
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 增加 创建用户
* 设置 增加 创建用户
* @param createUserIdIncrement
* @param createUserIdIncrement
*/
*/
public
UserQuery
createUserIdIncrement
(
Long
createUserIdIncrement
){
public
UserQuery
createUserIdIncrement
(
Long
createUserIdIncrement
){
this
.
createUserIdIncrement
=
createUserIdIncrement
;
this
.
createUserIdIncrement
=
createUserIdIncrement
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 创建用户
* 设置 创建用户
* @param createUserIdList
* @param createUserIdList
*/
*/
public
UserQuery
createUserIdList
(
List
<
Long
>
createUserIdList
){
public
UserQuery
createUserIdList
(
List
<
Long
>
createUserIdList
){
this
.
createUserIdList
=
createUserIdList
;
this
.
createUserIdList
=
createUserIdList
;
return
this
;
return
this
;
}
}
/**
* 设置 创建用户名称
* @param createUserName
/**
*/
* 设置 创建用户名称
* @param createUserName
*/
public
UserQuery
createUserName
(
String
createUserName
){
public
UserQuery
createUserName
(
String
createUserName
){
setCreateUserName
(
createUserName
);
setCreateUserName
(
createUserName
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 创建用户名称
* 设置 创建用户名称
* @param createUserNameList
* @param createUserNameList
*/
*/
public
UserQuery
createUserNameList
(
List
<
String
>
createUserNameList
){
public
UserQuery
createUserNameList
(
List
<
String
>
createUserNameList
){
this
.
createUserNameList
=
createUserNameList
;
this
.
createUserNameList
=
createUserNameList
;
return
this
;
return
this
;
}
}
/**
* 设置 开始 最后一次登录时间
* @param lastLoginTimeStart
*/
public
UserQuery
lastLoginTimeStart
(
String
lastLoginTimeStart
){
this
.
lastLoginTimeStart
=
lastLoginTimeStart
;
return
this
;
}
/**
/**
* 设置 结束 最后一次登录时间
* 设置 最后一次登录地址
* @param lastLoginTimeEnd
* @param lastLoginAddress
*/
*/
public
UserQuery
lastLoginTimeEnd
(
String
lastLoginTimeEnd
){
this
.
lastLoginTimeEnd
=
lastLoginTimeEnd
;
return
this
;
}
/**
* 设置 最后一次登录地址
* @param lastLoginAddress
*/
public
UserQuery
lastLoginAddress
(
String
lastLoginAddress
){
public
UserQuery
lastLoginAddress
(
String
lastLoginAddress
){
setLastLoginAddress
(
lastLoginAddress
);
setLastLoginAddress
(
lastLoginAddress
);
return
this
;
return
this
;
}
}
/**
/**
* 设置 最后一次登录地址
* 设置 最后一次登录地址
* @param lastLoginAddressList
* @param lastLoginAddressList
*/
*/
public
UserQuery
lastLoginAddressList
(
List
<
String
>
lastLoginAddressList
){
public
UserQuery
lastLoginAddressList
(
List
<
String
>
lastLoginAddressList
){
this
.
lastLoginAddressList
=
lastLoginAddressList
;
this
.
lastLoginAddressList
=
lastLoginAddressList
;
return
this
;
return
this
;
}
}
/**
/**
* 设置 开始 最后修改密码时间
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param lastModPwdTimeStart
* @return orConditionList
*/
*/
public
UserQuery
lastModPwdTimeStart
(
String
lastModPwdTimeStart
){
this
.
lastModPwdTimeStart
=
lastModPwdTimeStart
;
return
this
;
}
/**
* 设置 结束 最后修改密码时间
* @param lastModPwdTimeEnd
*/
public
UserQuery
lastModPwdTimeEnd
(
String
lastModPwdTimeEnd
){
this
.
lastModPwdTimeEnd
=
lastModPwdTimeEnd
;
return
this
;
}
/**
* 设置 最后修改密码地址
* @param lastModPwdAddr
*/
public
UserQuery
lastModPwdAddr
(
String
lastModPwdAddr
){
setLastModPwdAddr
(
lastModPwdAddr
);
return
this
;
}
/**
* 设置 最后修改密码地址
* @param lastModPwdAddrList
*/
public
UserQuery
lastModPwdAddrList
(
List
<
String
>
lastModPwdAddrList
){
this
.
lastModPwdAddrList
=
lastModPwdAddrList
;
return
this
;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public
List
<
UserQuery
>
getOrConditionList
(){
public
List
<
UserQuery
>
getOrConditionList
(){
return
this
.
orConditionList
;
return
this
.
orConditionList
;
}
}
/**
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
* @param orConditionList
*/
*/
public
void
setOrConditionList
(
List
<
UserQuery
>
orConditionList
){
public
void
setOrConditionList
(
List
<
UserQuery
>
orConditionList
){
this
.
orConditionList
=
orConditionList
;
this
.
orConditionList
=
orConditionList
;
}
}
/**
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
* @return andConditionList
*/
*/
public
List
<
UserQuery
>
getAndConditionList
(){
public
List
<
UserQuery
>
getAndConditionList
(){
return
this
.
andConditionList
;
return
this
.
andConditionList
;
}
}
/**
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
* @param andConditionList
*/
*/
public
void
setAndConditionList
(
List
<
UserQuery
>
andConditionList
){
public
void
setAndConditionList
(
List
<
UserQuery
>
andConditionList
){
this
.
andConditionList
=
andConditionList
;
this
.
andConditionList
=
andConditionList
;
}
}
...
...
fill-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.base.system.user.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 用户信息业务视图对象
*
* @author zxfei
* @date 2022-07-05
*/
@Data
public
class
UserVo
extends
BaseEntityLong
{
/**
* 站点名称
*/
private
String
siteName
;
private
String
roleIds
;
/**
* 唯一标识
*/
private
String
token
;
/**
* 菜单栏
*/
private
String
menuUrl
;
/**
* 登录时间
*/
private
Long
loginTime
;
/**
* 过期时间
*/
private
Long
expireTime
;
private
Long
siteId
;
private
Long
customerId
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java
View file @
a74945e2
...
@@ -13,6 +13,7 @@ import com.mortals.framework.model.Result;
...
@@ -13,6 +13,7 @@ import com.mortals.framework.model.Result;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
import
com.mortals.xhx.base.system.user.dao.UserDao
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
java.util.List
;
import
java.util.List
;
...
@@ -37,7 +38,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
...
@@ -37,7 +38,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @return
* @throws AppException
* @throws AppException
*/
*/
public
UserEntity
doLogin
(
String
loginName
,
String
password
,
String
loginIp
)
throws
AppException
;
UserEntity
doLogin
(
String
loginName
,
String
password
,
String
loginIp
)
throws
AppException
;
/**
/**
* 校验用户名与密码是否正确
* 校验用户名与密码是否正确
...
@@ -47,7 +48,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
...
@@ -47,7 +48,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @return
* @throws AppException
* @throws AppException
*/
*/
public
UserEntity
doCheckUser
(
String
loginName
,
String
password
)
throws
AppException
;
UserEntity
doCheckUser
(
String
loginName
,
String
password
)
throws
AppException
;
/**
/**
* 检查用户是否存在
* 检查用户是否存在
...
@@ -56,7 +57,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
...
@@ -56,7 +57,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @param userId 密码
* @param userId 密码
* @return
* @return
*/
*/
public
boolean
existUser
(
String
loginName
,
Long
userId
)
throws
AppException
;
boolean
existUser
(
String
loginName
,
Long
userId
)
throws
AppException
;
/**
/**
* 通过登录用户获取菜单功能权限
* 通过登录用户获取菜单功能权限
...
@@ -64,7 +65,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
...
@@ -64,7 +65,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @param user
* @param user
* @return
* @return
*/
*/
public
List
<
MenuEntity
>
findOutlookBarList
(
IUser
user
);
List
<
MenuEntity
>
findOutlookBarList
(
IUser
user
);
/**
/**
* 查询用户所有有权限的菜单ID
* 查询用户所有有权限的菜单ID
...
@@ -72,7 +73,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
...
@@ -72,7 +73,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @param userEntity
* @param userEntity
* @return
* @return
*/
*/
public
Set
<
Long
>
findAllAuthIds
(
UserEntity
userEntity
)
throws
AppException
;
Set
<
Long
>
findAllAuthIds
(
UserEntity
userEntity
)
throws
AppException
;
/**
/**
* 查询用户记录
* 查询用户记录
...
@@ -84,7 +85,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
...
@@ -84,7 +85,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @return
* @throws AppException
* @throws AppException
*/
*/
public
Result
<
UserEntity
>
find
(
Long
platformId
,
UserEntity
params
,
int
currPage
,
int
prePageResult
)
throws
AppException
;
Result
<
UserEntity
>
find
(
Long
platformId
,
UserEntity
params
,
int
currPage
,
int
prePageResult
)
throws
AppException
;
/**
/**
* 为客户创建用户
* 为客户创建用户
...
@@ -99,7 +100,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
...
@@ -99,7 +100,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @return
* @throws AppException
* @throws AppException
*/
*/
public
UserEntity
createUser
(
IUser
currUser
,
Long
customerId
,
String
customerName
,
String
loginName
,
String
password
,
UserEntity
createUser
(
IUser
currUser
,
Long
customerId
,
String
customerName
,
String
loginName
,
String
password
,
String
userName
,
String
mobile
)
throws
AppException
;
String
userName
,
String
mobile
)
throws
AppException
;
/**
/**
...
@@ -111,5 +112,10 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
...
@@ -111,5 +112,10 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @return
* @throws AppException
* @throws AppException
*/
*/
public
boolean
updateUserPwd
(
String
loginName
,
String
oldPwd
,
String
newPwd
)
throws
AppException
;
boolean
updateUserPwd
(
String
loginName
,
String
oldPwd
,
String
newPwd
)
throws
AppException
;
UserDao
getUserDao
();
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
View file @
a74945e2
...
@@ -22,23 +22,29 @@ import com.mortals.xhx.base.system.menu.model.MenuEntity;
...
@@ -22,23 +22,29 @@ import com.mortals.xhx.base.system.menu.model.MenuEntity;
import
com.mortals.xhx.base.system.menu.service.MenuService
;
import
com.mortals.xhx.base.system.menu.service.MenuService
;
import
com.mortals.xhx.base.system.resource.model.ResourceEntity
;
import
com.mortals.xhx.base.system.resource.model.ResourceEntity
;
import
com.mortals.xhx.base.system.resource.service.ResourceService
;
import
com.mortals.xhx.base.system.resource.service.ResourceService
;
import
com.mortals.xhx.base.system.role.dao.RoleUserDao
;
import
com.mortals.xhx.base.system.role.model.RoleUserEntity
;
import
com.mortals.xhx.base.system.role.model.RoleUserEntity
;
import
com.mortals.xhx.base.system.role.model.RoleUserQuery
;
import
com.mortals.xhx.base.system.role.service.RoleService
;
import
com.mortals.xhx.base.system.role.service.RoleUserService
;
import
com.mortals.xhx.base.system.user.dao.UserDao
;
import
com.mortals.xhx.base.system.user.dao.UserDao
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.model.UserQuery
;
import
com.mortals.xhx.base.system.user.model.UserQuery
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
/**
* <p>Title: 用户信息</p>
* <p>Title: 用户信息</p>
* <p>Description: UserServiceImpl service接口 </p>
* <p>Description: UserServiceImpl service接口 </p>
* <p>Copyright: Copyright ® </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* <p>Company: </p>
*
* @author
* @author
* @version 1.0.0
* @version 1.0.0
*/
*/
...
@@ -51,7 +57,9 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -51,7 +57,9 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
@Autowired
@Autowired
private
ResourceService
resourceService
;
private
ResourceService
resourceService
;
@Autowired
@Autowired
private
RoleUserDao
roleUserDao
;
private
RoleService
roleService
;
@Autowired
private
RoleUserService
roleUserService
;
private
void
doHandlerUser
(
UserEntity
entity
)
throws
AppException
{
private
void
doHandlerUser
(
UserEntity
entity
)
throws
AppException
{
if
(
StringUtils
.
isNotEmpty
(
entity
.
getLoginPwd
()))
{
if
(
StringUtils
.
isNotEmpty
(
entity
.
getLoginPwd
()))
{
...
@@ -63,55 +71,58 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -63,55 +71,58 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
}
else
{
}
else
{
entity
.
setLoginPwd
(
null
);
entity
.
setLoginPwd
(
null
);
}
}
// if (entity.isSystemUser()) {
// entity.setUserType(UserType.SYSTEM.getValue());
// } else {
// entity.setUserType(UserType.CUSTOMER.getValue());
// }
}
}
@Override
@Override
protected
void
saveBefore
(
UserEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveBefore
(
UserEntity
entity
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getLoginName
())
&&
existUser
(
entity
.
getLoginName
(),
entity
.
getId
()))
{
throw
new
AppException
(
"登录名已存在!"
);
}
this
.
doHandlerUser
(
entity
);
this
.
doHandlerUser
(
entity
);
}
}
@Override
@Override
protected
void
saveAfter
(
UserEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
updateBefore
(
UserEntity
entity
,
Context
context
)
throws
AppException
{
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getRoleIds
())){
// if (entity.getId().longValue() == SysConstains.ADMIN_ID && !context.getUser().isAdmin()) {
List
<
RoleUserEntity
>
roleUserEntityList
=
new
ArrayList
<>();
// throw new AppException("你没有权限执行该操作");
entity
.
getRoleIds
().
stream
().
forEach
(
item
->{
// }
RoleUserEntity
roleUserEntity
=
new
RoleUserEntity
();
roleUserEntity
.
setUserId
(
entity
.
getId
());
//更新不更新密码字段
roleUserEntity
.
setRoleId
(
item
);
entity
.
setLoginPwd
(
null
);
roleUserEntityList
.
add
(
roleUserEntity
);
this
.
doHandlerUser
(
entity
);
});
//更新角色
roleUserDao
.
insertBatch
(
roleUserEntityList
);
if
(
entity
.
getId
().
longValue
()
!=
SysConstains
.
ADMIN_ID
&&!
ObjectUtils
.
isEmpty
(
entity
.
getRoleIds
())){
RoleUserQuery
roleUserQuery
=
new
RoleUserQuery
();
roleUserQuery
.
setUserId
(
entity
.
getId
());
List
<
Long
>
idList
=
Arrays
.
asList
(
entity
.
getRoleIds
().
split
(
","
)).
stream
().
map
(
Long:
:
parseLong
).
collect
(
Collectors
.
toList
());
roleUserQuery
.
setRoleIdList
(
idList
);
roleUserService
.
doDistributionRole
(
roleUserQuery
);
}
}
}
}
@Override
@Override
protected
void
updateBefore
(
UserEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveAfter
(
UserEntity
entity
,
Context
context
)
throws
AppException
{
if
(
entity
.
getId
().
longValue
()
==
SysConstains
.
ADMIN_ID
&&
!
context
.
getUser
().
isAdmin
())
{
//更新角色
throw
new
AppException
(
"你没有权限执行该操作"
);
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getId
())&&
entity
.
getId
().
longValue
()
!=
SysConstains
.
ADMIN_ID
&&!
ObjectUtils
.
isEmpty
(
entity
.
getRoleIds
())){
RoleUserQuery
roleUserQuery
=
new
RoleUserQuery
();
roleUserQuery
.
setUserId
(
entity
.
getId
());
List
<
Long
>
idList
=
Arrays
.
asList
(
entity
.
getRoleIds
().
split
(
","
)).
stream
().
map
(
Long:
:
parseLong
).
collect
(
Collectors
.
toList
());
roleUserQuery
.
setRoleIdList
(
idList
);
roleUserService
.
doDistributionRole
(
roleUserQuery
);
}
}
this
.
doHandlerUser
(
entity
);
super
.
saveAfter
(
entity
,
context
);
}
}
@Override
@Override
protected
void
updateAfter
(
UserEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
findAfter
(
UserEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
UserEntity
>
list
)
throws
AppException
{
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getRoleIds
())){
list
.
stream
().
peek
(
item
->
{
List
<
RoleUserEntity
>
roleUserEntityList
=
new
ArrayList
<>();
RoleUserQuery
roleUserQuery
=
new
RoleUserQuery
();
entity
.
getRoleIds
().
stream
().
forEach
(
item
->{
roleUserQuery
.
setUserId
(
item
.
getId
());
RoleUserEntity
roleUserEntity
=
new
RoleUserEntity
();
String
roleIds
=
roleUserService
.
find
(
roleUserQuery
).
stream
().
map
(
RoleUserEntity:
:
getRoleId
).
map
(
String:
:
valueOf
).
collect
(
Collectors
.
joining
(
","
));
roleUserEntity
.
setUserId
(
entity
.
getId
());
item
.
setRoleIds
(
roleIds
);
roleUserEntity
.
setRoleId
(
item
);
}).
count
();
roleUserEntityList
.
add
(
roleUserEntity
);
super
.
findAfter
(
params
,
pageInfo
,
context
,
list
);
});
RoleUserEntity
condition
=
new
RoleUserEntity
();
condition
.
setUserId
(
entity
.
getId
());
roleUserDao
.
delete
(
condition
);
roleUserDao
.
insertBatch
(
roleUserEntityList
);
}
}
}
@Override
@Override
...
@@ -130,23 +141,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -130,23 +141,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
return
super
.
findBefore
(
params
,
pageInfo
,
context
);
return
super
.
findBefore
(
params
,
pageInfo
,
context
);
}
}
@Override
protected
void
findAfter
(
UserEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
UserEntity
>
list
)
throws
AppException
{
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
list
.
stream
().
forEach
(
item
->{
RoleUserEntity
query
=
new
RoleUserEntity
();
query
.
setUserId
(
item
.
getId
());
List
<
RoleUserEntity
>
roleUserEntityList
=
roleUserDao
.
getList
(
query
);
List
<
Long
>
roleIds
=
new
ArrayList
<>();
roleUserEntityList
.
stream
().
forEach
(
role
->{
roleIds
.
add
(
role
.
getRoleId
());
});
item
.
setRoleIds
(
roleIds
);
});
//List<RoleUserEntity> roleUserEntityList =
}
}
public
UserEntity
findByLoginName
(
String
loginName
)
{
public
UserEntity
findByLoginName
(
String
loginName
)
{
UserQuery
params
=
new
UserQuery
();
UserQuery
params
=
new
UserQuery
();
params
.
setLoginName
(
loginName
);
params
.
setLoginName
(
loginName
);
...
@@ -170,11 +164,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -170,11 +164,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
AppException
(
"密码验认出错!"
,
e
);
throw
new
AppException
(
"密码验认出错!"
,
e
);
}
}
UserEntity
update
=
new
UserEntity
();
update
.
setId
(
sysUser
.
getId
());
update
.
setLastLoginAddress
(
loginIp
);
update
.
setLastLoginTime
(
new
Date
());
this
.
dao
.
update
(
update
);
return
sysUser
;
return
sysUser
;
}
}
...
@@ -218,7 +207,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -218,7 +207,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
urls
.
addAll
(
StringUtils
.
converStr2Set
(
url
));
urls
.
addAll
(
StringUtils
.
converStr2Set
(
url
));
}
}
}
}
Set
<
Long
>
authIds
=
new
HashSet
<
Long
>();
Set
<
Long
>
authIds
=
new
HashSet
<>();
Map
<
Long
,
MenuEntity
>
menuMap
=
new
HashMap
<
Long
,
MenuEntity
>();
Map
<
Long
,
MenuEntity
>
menuMap
=
new
HashMap
<
Long
,
MenuEntity
>();
List
<
MenuEntity
>
userModuleList
=
this
.
menuService
.
findAllEnable
();
List
<
MenuEntity
>
userModuleList
=
this
.
menuService
.
findAllEnable
();
for
(
MenuEntity
sysModule
:
userModuleList
)
{
for
(
MenuEntity
sysModule
:
userModuleList
)
{
...
@@ -226,6 +215,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -226,6 +215,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
continue
;
continue
;
}
}
menuMap
.
put
(
sysModule
.
getId
(),
sysModule
);
menuMap
.
put
(
sysModule
.
getId
(),
sysModule
);
if
(!
user
.
isAdmin
()
&&
urls
.
contains
(
StringUtils
.
trim
(
sysModule
.
getUrl
())))
{
if
(!
user
.
isAdmin
()
&&
urls
.
contains
(
StringUtils
.
trim
(
sysModule
.
getUrl
())))
{
authIds
.
add
(
sysModule
.
getId
());
authIds
.
add
(
sysModule
.
getId
());
}
}
...
@@ -274,7 +264,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -274,7 +264,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
entity
.
initAttrValue
();
entity
.
initAttrValue
();
entity
.
setLoginName
(
loginName
);
entity
.
setLoginName
(
loginName
);
entity
.
setRealName
(
userName
);
entity
.
setRealName
(
userName
);
entity
.
setCustomerId
(
customerId
);
entity
.
setLoginPwd
(
password
);
entity
.
setLoginPwd
(
password
);
entity
.
setMobile
(
mobile
);
entity
.
setMobile
(
mobile
);
entity
.
setUserType
(
UserType
.
CUSTOMER
.
getValue
());
entity
.
setUserType
(
UserType
.
CUSTOMER
.
getValue
());
...
@@ -320,14 +309,27 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -320,14 +309,27 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
}
}
try
{
try
{
sysUser
.
setLoginPwd
(
SecurityUtil
.
md5DoubleEncoding
(
newPwd
));
sysUser
.
setLoginPwd
(
SecurityUtil
.
md5DoubleEncoding
(
newPwd
));
sysUser
.
setLoginPwd3
(
sysUser
.
getLoginPwd2
());
sysUser
.
setLoginPwd2
(
sysUser
.
getLoginPwd1
());
sysUser
.
setLoginPwd1
(
sysUser
.
getLoginPwd
());
sysUser
.
setLastModPwdTime
(
new
Date
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
AppException
(
"密码转换异常!"
,
e
);
throw
new
AppException
(
"密码转换异常!"
,
e
);
}
}
dao
.
update
(
sysUser
);
dao
.
update
(
sysUser
);
return
true
;
return
true
;
}
}
@Override
public
UserDao
getUserDao
()
{
return
getDao
();
}
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
Arrays
.
asList
(
ids
).
stream
().
peek
(
userId
->{
RoleUserQuery
roleUserQuery
=
new
RoleUserQuery
();
roleUserQuery
.
setUserId
(
userId
);
Long
[]
userIds
=
roleUserService
.
find
(
roleUserQuery
).
stream
().
map
(
RoleUserEntity:
:
getId
).
toArray
(
Long
[]::
new
);
roleUserService
.
remove
(
userIds
,
context
);
}).
count
();
super
.
removeAfter
(
ids
,
context
,
result
);
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java
View file @
a74945e2
/**
* 文件:UserController.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.user.web
;
package
com.mortals.xhx.base.system.user.web
;
import
java.util.HashMap
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.role.model.RoleEntity
;
import
com.mortals.xhx.base.system.role.service.RoleService
;
import
com.mortals.xhx.common.code.UserStatus
;
import
com.mortals.framework.common.IBaseEnum
;
import
com.mortals.framework.common.IBaseEnum
;
import
com.mortals.framework.common.code.UserType
;
import
com.mortals.framework.common.code.UserType
;
import
com.mortals.xhx.common.key.Constant
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.*
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.xhx.base.framework.annotation.Operlog
;
import
com.mortals.xhx.base.framework.annotation.Operlog
;
import
com.mortals.xhx.base.system.role.model.RoleQuery
;
import
com.mortals.xhx.base.system.role.model.RoleUserEntity
;
import
com.mortals.xhx.base.system.role.model.RoleUserQuery
;
import
com.mortals.xhx.base.system.role.service.RoleService
;
import
com.mortals.xhx.base.system.role.service.RoleUserService
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.common.code.UserStatus
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.Jwts
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Base64
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
/**
* <p>Title: 用户信息</p>
* 用户信息
* <p>Description: UserController </p>
*
* <p>Copyright: Copyright ® </p>
* @author: zxfei
* <p>Company: </p>
* @date: 2022/5/7 15:42
* @author
* @version 1.0.0
*/
*/
@RestController
@RestController
@RequestMapping
(
"user"
)
@RequestMapping
(
"user"
)
public
class
UserController
extends
BaseCRUDJsonBodyMappingController
<
UserService
,
UserEntity
,
Long
>
{
public
class
UserController
extends
BaseCRUDJsonBodyMappingController
<
UserService
,
UserEntity
,
Long
>
{
@Autowired
private
UserService
userService
;
@Autowired
@Autowired
private
RoleService
roleService
;
private
RoleService
roleService
;
@Autowired
private
RoleUserService
roleUserService
;
public
UserController
()
{
public
UserController
()
{
super
.
setFormClass
(
UserForm
.
class
);
super
.
setFormClass
(
UserForm
.
class
);
...
@@ -60,33 +56,57 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
...
@@ -60,33 +56,57 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
@Override
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"userType"
,
IBaseEnum
.
getEnumMap
(
UserType
.
class
));
this
.
addDict
(
model
,
"userType"
,
IBaseEnum
.
getEnumMap
(
UserType
.
class
));
this
.
addDict
(
model
,
"status"
,
UserStatus
.
getEnumMap
());
this
.
addDict
(
model
,
"status"
,
UserStatus
.
getEnumMap
());
List
<
RoleEntity
>
roleList
=
roleService
.
find
(
new
RoleEntity
());
this
.
addDict
(
model
,
"roleIds"
,
roleService
.
find
(
new
RoleQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getName
())));
this
.
addDict
(
model
,
"roleId"
,
roleList
.
stream
().
collect
(
Collectors
.
toMap
(
e
->
e
.
getId
().
toString
(),
e
->
e
.
getName
())));
super
.
init
(
model
,
context
);
}
}
@Override
@Override
protected
int
editAfter
(
Long
id
,
Map
<
String
,
Object
>
model
,
UserEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
doListBefore
(
UserEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
entity
.
setLoginPwd
(
null
);
if
(!
StringUtils
.
isEmpty
(
query
.
getRealName
()))
{
entity
.
setLoginPwd1
(
null
);
query
.
setRealName
(
"%"
.
concat
(
query
.
getRealName
()).
concat
(
"%"
));
entity
.
setLoginPwd2
(
null
);
}
entity
.
setLoginPwd3
(
null
);
if
(!
StringUtils
.
isEmpty
(
query
.
getLoginName
()))
{
return
1
;
query
.
setLoginName
(
"%"
.
concat
(
query
.
getLoginName
()).
concat
(
"%"
));
}
}
}
@RequestMapping
(
value
=
"change/password"
,
method
=
RequestMethod
.
POST
)
public
String
changePassword
(
@RequestBody
UserEntity
entity
)
{
IUser
user
=
this
.
getCurUser
();
@Override
if
(
user
==
null
){
protected
int
editAfter
(
Long
id
,
Map
<
String
,
Object
>
model
,
UserEntity
entity
,
Context
context
)
throws
AppException
{
return
this
.
createFailJsonResp
(
"请先登录"
);
RoleUserQuery
roleUserQuery
=
new
RoleUserQuery
();
roleUserQuery
.
setUserId
(
entity
.
getId
());
String
roleIds
=
roleUserService
.
find
(
roleUserQuery
).
stream
().
map
(
RoleUserEntity:
:
getRoleId
).
map
(
String:
:
valueOf
).
collect
(
Collectors
.
joining
(
","
));
entity
.
setRoleIds
(
roleIds
);
return
super
.
editAfter
(
id
,
model
,
entity
,
context
);
}
@Override
protected
int
saveAfter
(
UserEntity
entity
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
if
(
entity
.
getId
()
==
getCurUser
().
getId
())
{
// TODO: 2022/8/15 更新redis session信息
//saveCurrUserForSession(request, response, userService.get(form.getEntity().getId(), false));
}
}
return
super
.
saveAfter
(
entity
,
model
,
context
);
}
// @Override
// protected void saveBefore(UserEntity entity, Map<String, Object> model, Context context) throws AppException {
// if (!ObjectUtils.isEmpty(entity.getLoginName()) && service.existUser(entity.getLoginName(), entity.getId())) {
// throw new AppException("登录名已存在!");
// }
// super.saveBefore(entity, model, context);
// }
@RequestMapping
(
value
=
"change/password"
,
method
=
RequestMethod
.
POST
)
@Operlog
(
msg
=
"密码修改成功!"
)
public
String
changePassword
(
@RequestParam
String
oldPwd
,
@RequestParam
String
newPwd
)
{
JSONObject
ret
=
new
JSONObject
();
JSONObject
ret
=
new
JSONObject
();
try
{
try
{
service
.
updateUserPwd
(
super
.
getCurUser
().
getLoginName
(),
entity
.
getOldPassword
(),
entity
.
getNewPassword
()
);
service
.
updateUserPwd
(
super
.
getCurUser
().
getLoginName
(),
oldPwd
,
newPwd
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_MSG
,
"密码修改成功!"
);
ret
.
put
(
KEY_RESULT_MSG
,
"密码修改成功!"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -95,4 +115,22 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
...
@@ -95,4 +115,22 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
}
}
return
ret
.
toJSONString
();
return
ret
.
toJSONString
();
}
}
public
static
void
main
(
String
[]
args
)
{
String
token
=
"eyJhbGciOiJIUzI1NiJ9.eyJsb2dpbl91c2VyX2tleSI6IjIzNGE5NDA5ZDVhOTQ3MWNhMzdkYjZkYmMwY2JjZTc5In0.MWyQW40HYDxyUz7PJRf_nRsFPWx3Hr811Ime984nixs"
;
String
secret
=
"026db82420614469897fcc2dc1b4ce38"
;
Claims
claims
=
Jwts
.
parser
()
.
setSigningKey
(
Base64
.
getEncoder
().
encodeToString
(
secret
.
getBytes
()))
.
parseClaimsJws
(
token
)
.
getBody
();
String
uuid
=
(
String
)
claims
.
get
(
"login_user_key"
);
System
.
out
.
println
(
uuid
);
}
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/base/system/valid/web/ValidCodeController.java
View file @
a74945e2
/**
* 文件:ValidCodeController.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.valid.web
;
package
com.mortals.xhx.base.system.valid.web
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.xhx.base.system.valid.model.ValidCodeEntity
;
import
com.mortals.xhx.base.system.valid.model.ValidCodeEntity
;
import
com.mortals.xhx.base.system.valid.service.ValidCodeService
;
import
com.mortals.xhx.base.system.valid.service.ValidCodeService
;
import
com.mortals.xhx.common.code.ValidCodeType
;
import
com.mortals.xhx.common.code.ValidCodeType
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
...
fill-manager/src/main/java/com/mortals/xhx/common/code/AgentEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: //TODO 请完善注释信息
**/
public
enum
AgentEnum
{
SELF
(
0
,
"本人办理"
),
OTHER
(
1
,
"代办"
);
private
int
value
;
private
String
desc
;
private
AgentEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
AgentEnum
getByValue
(
int
value
)
{
AgentEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
AgentEnum
examStatus
=
var1
[
var3
];
if
(
examStatus
.
getValue
()
==
value
)
{
return
examStatus
;
}
}
return
null
;
}
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
();
AgentEnum
[]
var2
=
values
();
int
var3
=
var2
.
length
;
for
(
int
var4
=
0
;
var4
<
var3
;
++
var4
)
{
AgentEnum
item
=
var2
[
var4
];
try
{
boolean
hasE
=
false
;
int
[]
var7
=
eItem
;
int
var8
=
eItem
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
int
e
=
var7
[
var9
];
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
var11
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/code/ApiRespCodeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
/**
* @author karlhoo
*/
public
enum
ApiRespCodeEnum
{
/** 接收成功 */
SUCCESS
(
1
,
"接收成功"
),
/** 执行失败 */
FAILED
(
2
,
"执行失败"
),
;
private
final
Integer
value
;
private
final
String
label
;
ApiRespCodeEnum
(
Integer
value
,
String
label
)
{
this
.
value
=
value
;
this
.
label
=
label
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getLabel
()
{
return
this
.
label
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/AssetFlowStatusEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
public
enum
AssetFlowStatusEnum
{
/** 任意状态 */
Special_597
(
"597"
,
"任意状态"
),
/** 回前状态 */
Special_598
(
"598"
,
"回前状态"
),
/** 不变状态 */
Special_599
(
"599"
,
"不变状态"
);
private
String
value
;
private
String
desc
;
AssetFlowStatusEnum
(
String
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
String
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
static
AssetFlowStatusEnum
getByValue
(
String
value
)
{
for
(
AssetFlowStatusEnum
YesNoEnum
:
AssetFlowStatusEnum
.
values
())
{
if
(
YesNoEnum
.
getValue
()
==
value
)
{
return
YesNoEnum
;
}
}
return
null
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/BomStatusEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
com.mortals.framework.common.IBaseEnum
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
enum
BomStatusEnum
implements
IBaseEnum
{
BOM_EDIT
(
401
,
"修订中"
),
BOM_AUDIT
(
402
,
"审核中"
),
BOM_PUBLISH
(
403
,
"已发布"
);
private
int
value
;
private
String
desc
;
BomStatusEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
@Override
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
static
BomStatusEnum
getByValue
(
int
value
)
{
for
(
BomStatusEnum
YesNoEnum
:
BomStatusEnum
.
values
())
{
if
(
YesNoEnum
.
getValue
()
==
value
)
{
return
YesNoEnum
;
}
}
return
null
;
}
/**
* 获取Map集合
* @param eItem 不包含项
* @return
*/
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<
String
,
String
>();
for
(
BomStatusEnum
item
:
BomStatusEnum
.
values
())
{
try
{
boolean
hasE
=
false
;
for
(
int
e
:
eItem
){
if
(
item
.
getValue
()==
e
){
hasE
=
true
;
break
;
}
}
if
(!
hasE
){
resultMap
.
put
(
item
.
getValue
()+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
ex
){
}
}
return
resultMap
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/CacheServiceTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: 缓存服务方式
**/
public
enum
CacheServiceTypeEnum
{
NORMAL_SERVICE
(
0
,
"无"
),
CACHE_SERVICE
(
1
,
"静态缓存服务"
),
CACHE_DYNAMIC_SERVICE
(
2
,
"动态缓存服务"
);
private
int
value
;
private
String
desc
;
private
CacheServiceTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
CacheServiceTypeEnum
getByValue
(
int
value
)
{
CacheServiceTypeEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
CacheServiceTypeEnum
examStatus
=
var1
[
var3
];
if
(
examStatus
.
getValue
()
==
value
)
{
return
examStatus
;
}
}
return
null
;
}
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
();
CacheServiceTypeEnum
[]
var2
=
values
();
int
var3
=
var2
.
length
;
for
(
int
var4
=
0
;
var4
<
var3
;
++
var4
)
{
CacheServiceTypeEnum
item
=
var2
[
var4
];
try
{
boolean
hasE
=
false
;
int
[]
var7
=
eItem
;
int
var8
=
eItem
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
int
e
=
var7
[
var9
];
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
var11
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/code/CompareTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
com.mortals.framework.common.IBaseEnum
;
public
enum
CompareTypeEnum
implements
IBaseEnum
{
DAY
(
1
,
"按日"
),
MONTH
(
2
,
"按月"
);
private
int
value
;
private
String
desc
;
CompareTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
@Override
public
int
getValue
()
{
return
this
.
value
;
}
@Override
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
Map
<
String
,
String
>
getEnumMap
()
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<
String
,
String
>();
for
(
CompareTypeEnum
item
:
CompareTypeEnum
.
values
())
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
return
resultMap
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/ComponentEnum.java
View file @
a74945e2
...
@@ -18,7 +18,7 @@ public enum ComponentEnum {
...
@@ -18,7 +18,7 @@ public enum ComponentEnum {
DATE
(
"date"
,
"日期选择栏"
),
DATE
(
"date"
,
"日期选择栏"
),
AREA
(
"area"
,
"区域选择栏"
),
AREA
(
"area"
,
"区域选择栏"
),
IMAGE
(
"@image"
,
"图片选择"
),
IMAGE
(
"@image"
,
"图片选择"
),
DYNAMIC_TABLE
(
"dt"
,
"动态表格"
);
DYNAMIC_TABLE
(
"dt"
,
"动态表格"
)
,
;
private
String
value
;
private
String
value
;
private
String
desc
;
private
String
desc
;
...
...
fill-manager/src/main/java/com/mortals/xhx/common/code/DividedTableTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: 分表方式
**/
public
enum
DividedTableTypeEnum
{
DIVIED_NO
(
0
,
"无"
),
DIVIED_BY_DAY
(
1
,
"日"
),
DIVIED_BY_WEEK
(
2
,
"周"
),
DIVIED_BY_MONTH
(
3
,
"月"
),
DIVIED_BY_MOD
(
4
,
"HASH取余"
);
private
int
value
;
private
String
desc
;
private
DividedTableTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
DividedTableTypeEnum
getByValue
(
int
value
)
{
DividedTableTypeEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
DividedTableTypeEnum
examStatus
=
var1
[
var3
];
if
(
examStatus
.
getValue
()
==
value
)
{
return
examStatus
;
}
}
return
null
;
}
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
();
DividedTableTypeEnum
[]
var2
=
values
();
int
var3
=
var2
.
length
;
for
(
int
var4
=
0
;
var4
<
var3
;
++
var4
)
{
DividedTableTypeEnum
item
=
var2
[
var4
];
try
{
boolean
hasE
=
false
;
int
[]
var7
=
eItem
;
int
var8
=
eItem
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
int
e
=
var7
[
var9
];
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
var11
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/code/EventFieldInputTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
com.mortals.framework.common.IBaseEnum
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
enum
EventFieldInputTypeEnum
implements
IBaseEnum
{
INPUT
(
1
,
"手动输入"
),
SCAN
(
2
,
"扫码输入"
),
SELECT
(
3
,
"下拉选择"
);
private
int
value
;
private
String
desc
;
EventFieldInputTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
@Override
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
static
EventFieldInputTypeEnum
getByValue
(
int
value
)
{
for
(
EventFieldInputTypeEnum
YesNoEnum
:
EventFieldInputTypeEnum
.
values
())
{
if
(
YesNoEnum
.
getValue
()
==
value
)
{
return
YesNoEnum
;
}
}
return
null
;
}
/**
* 获取Map集合
* @param eItem 不包含项
* @return
*/
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<
String
,
String
>();
for
(
EventFieldInputTypeEnum
item
:
EventFieldInputTypeEnum
.
values
())
{
try
{
boolean
hasE
=
false
;
for
(
int
e
:
eItem
){
if
(
item
.
getValue
()==
e
){
hasE
=
true
;
break
;
}
}
if
(!
hasE
){
resultMap
.
put
(
item
.
getValue
()+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
ex
){
}
}
return
resultMap
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/FlowStatusEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
com.mortals.framework.common.IBaseEnum
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
enum
FlowStatusEnum
implements
IBaseEnum
{
FLOW_RUNNING
(
1
,
"进行中"
),
FLOW_FINISH
(
2
,
"已完成"
);
private
int
value
;
private
String
desc
;
FlowStatusEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
@Override
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
static
FlowStatusEnum
getByValue
(
int
value
)
{
for
(
FlowStatusEnum
YesNoEnum
:
FlowStatusEnum
.
values
())
{
if
(
YesNoEnum
.
getValue
()
==
value
)
{
return
YesNoEnum
;
}
}
return
null
;
}
/**
* 获取Map集合
* @param eItem 不包含项
* @return
*/
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<
String
,
String
>();
for
(
FlowStatusEnum
item
:
FlowStatusEnum
.
values
())
{
try
{
boolean
hasE
=
false
;
for
(
int
e
:
eItem
){
if
(
item
.
getValue
()==
e
){
hasE
=
true
;
break
;
}
}
if
(!
hasE
){
resultMap
.
put
(
item
.
getValue
()+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
ex
){
}
}
return
resultMap
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/GenTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: //TODO 请完善注释信息
**/
public
enum
GenTypeEnum
{
ZIP
(
0
,
"zip压缩包"
),
CUSTOM
(
1
,
"自定义路径"
);
private
int
value
;
private
String
desc
;
private
GenTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
GenTypeEnum
getByValue
(
int
value
)
{
GenTypeEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
GenTypeEnum
examStatus
=
var1
[
var3
];
if
(
examStatus
.
getValue
()
==
value
)
{
return
examStatus
;
}
}
return
null
;
}
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
();
GenTypeEnum
[]
var2
=
values
();
int
var3
=
var2
.
length
;
for
(
int
var4
=
0
;
var4
<
var3
;
++
var4
)
{
GenTypeEnum
item
=
var2
[
var4
];
try
{
boolean
hasE
=
false
;
int
[]
var7
=
eItem
;
int
var8
=
eItem
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
int
e
=
var7
[
var9
];
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
var11
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/code/HtmlTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: //TODO 请完善注释信息
**/
public
enum
HtmlTypeEnum
{
HTML_INPUT
(
1
,
"文本框"
),
HTML_TEXTAREA
(
2
,
"文本域"
),
HTML_SELECT
(
3
,
"下拉框"
),
HTML_RADIO
(
4
,
"单选框"
),
HTML_CHECKBOX
(
5
,
"复选框"
),
HTML_DATETIME
(
6
,
"日期控件"
),
HTML_IMAGE_UPLOAD
(
7
,
"图片上传控件"
),
HTML_FILE_UPLOAD
(
8
,
"文件上传控件"
),
HTML_EDITOR
(
9
,
"富文本控件"
);
private
int
value
;
private
String
desc
;
private
HtmlTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
HtmlTypeEnum
getByValue
(
int
value
)
{
HtmlTypeEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
HtmlTypeEnum
examStatus
=
var1
[
var3
];
if
(
examStatus
.
getValue
()
==
value
)
{
return
examStatus
;
}
}
return
null
;
}
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
();
HtmlTypeEnum
[]
var2
=
values
();
int
var3
=
var2
.
length
;
for
(
int
var4
=
0
;
var4
<
var3
;
++
var4
)
{
HtmlTypeEnum
item
=
var2
[
var4
];
try
{
boolean
hasE
=
false
;
int
[]
var7
=
eItem
;
int
var8
=
eItem
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
int
e
=
var7
[
var9
];
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
var11
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/code/MannerEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: //TODO 请完善注释信息
**/
public
enum
MannerEnum
{
SELF
(
0
,
"自主取件"
),
EXPRESS
(
1
,
"邮寄"
);
private
int
value
;
private
String
desc
;
private
MannerEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
MannerEnum
getByValue
(
int
value
)
{
MannerEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
MannerEnum
examStatus
=
var1
[
var3
];
if
(
examStatus
.
getValue
()
==
value
)
{
return
examStatus
;
}
}
return
null
;
}
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
();
MannerEnum
[]
var2
=
values
();
int
var3
=
var2
.
length
;
for
(
int
var4
=
0
;
var4
<
var3
;
++
var4
)
{
MannerEnum
item
=
var2
[
var4
];
try
{
boolean
hasE
=
false
;
int
[]
var7
=
eItem
;
int
var8
=
eItem
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
int
e
=
var7
[
var9
];
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
var11
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/code/OneThingRespCodeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
/**
* @author karlhoo
*/
public
enum
OneThingRespCodeEnum
{
/** 接收成功 */
SUCCESS
(
200
,
"成功"
),
/** 执行失败 */
FAILED
(
400
,
"执行失败"
),
;
private
final
Integer
value
;
private
final
String
label
;
OneThingRespCodeEnum
(
Integer
value
,
String
label
)
{
this
.
value
=
value
;
this
.
label
=
label
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getLabel
()
{
return
this
.
label
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/OneThingStatusEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
com.mortals.framework.common.IBaseEnum
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
enum
OneThingStatusEnum
implements
IBaseEnum
{
BOM_EDIT
(
401
,
"修订中"
),
BOM_AUDIT
(
402
,
"审核中"
),
BOM_PUBLISH
(
403
,
"已发布"
);
private
int
value
;
private
String
desc
;
OneThingStatusEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
@Override
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
static
OneThingStatusEnum
getByValue
(
int
value
)
{
for
(
OneThingStatusEnum
YesNoEnum
:
OneThingStatusEnum
.
values
())
{
if
(
YesNoEnum
.
getValue
()
==
value
)
{
return
YesNoEnum
;
}
}
return
null
;
}
/**
* 获取Map集合
* @param eItem 不包含项
* @return
*/
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<
String
,
String
>();
for
(
OneThingStatusEnum
item
:
OneThingStatusEnum
.
values
())
{
try
{
boolean
hasE
=
false
;
for
(
int
e
:
eItem
){
if
(
item
.
getValue
()==
e
){
hasE
=
true
;
break
;
}
}
if
(!
hasE
){
resultMap
.
put
(
item
.
getValue
()+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
ex
){
}
}
return
resultMap
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/OneThingTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: //TODO 请完善注释信息
**/
public
enum
OneThingTypeEnum
{
UNSUBMIT
(
1
,
"资料上传"
),
SUBMIT
(
2
,
"确认提交"
);
private
int
value
;
private
String
desc
;
private
OneThingTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
OneThingTypeEnum
getByValue
(
int
value
)
{
OneThingTypeEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
OneThingTypeEnum
examStatus
=
var1
[
var3
];
if
(
examStatus
.
getValue
()
==
value
)
{
return
examStatus
;
}
}
return
null
;
}
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
();
OneThingTypeEnum
[]
var2
=
values
();
int
var3
=
var2
.
length
;
for
(
int
var4
=
0
;
var4
<
var3
;
++
var4
)
{
OneThingTypeEnum
item
=
var2
[
var4
];
try
{
boolean
hasE
=
false
;
int
[]
var7
=
eItem
;
int
var8
=
eItem
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
int
e
=
var7
[
var9
];
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
var11
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/code/PublishStatusEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
com.mortals.framework.common.IBaseEnum
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
enum
PublishStatusEnum
implements
IBaseEnum
{
PRODUCT_PENDING
(
0
,
"待发布"
),
PRODUCT_AUDITING
(
1
,
"审核中"
),
PRODUCT_SUCESS
(
2
,
"审核通过"
),
PRODUCT_REJECT
(
3
,
"审核拒绝"
);
private
int
value
;
private
String
desc
;
PublishStatusEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
@Override
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
static
PublishStatusEnum
getByValue
(
int
value
)
{
for
(
PublishStatusEnum
YesNoEnum
:
PublishStatusEnum
.
values
())
{
if
(
YesNoEnum
.
getValue
()
==
value
)
{
return
YesNoEnum
;
}
}
return
null
;
}
/**
* 获取Map集合
* @param eItem 不包含项
* @return
*/
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<
String
,
String
>();
for
(
PublishStatusEnum
item
:
PublishStatusEnum
.
values
())
{
try
{
boolean
hasE
=
false
;
for
(
int
e
:
eItem
){
if
(
item
.
getValue
()==
e
){
hasE
=
true
;
break
;
}
}
if
(!
hasE
){
resultMap
.
put
(
item
.
getValue
()+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
ex
){
}
}
return
resultMap
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/code/TopicalTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: //TODO 请完善注释信息
**/
public
enum
TopicalTypeEnum
{
PERSONAL
(
1
,
"个人服务"
),
ENTERPRISE
(
2
,
"企业服务"
);
private
int
value
;
private
String
desc
;
private
TopicalTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
TopicalTypeEnum
getByValue
(
int
value
)
{
TopicalTypeEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
TopicalTypeEnum
examStatus
=
var1
[
var3
];
if
(
examStatus
.
getValue
()
==
value
)
{
return
examStatus
;
}
}
return
null
;
}
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
();
TopicalTypeEnum
[]
var2
=
values
();
int
var3
=
var2
.
length
;
for
(
int
var4
=
0
;
var4
<
var3
;
++
var4
)
{
TopicalTypeEnum
item
=
var2
[
var4
];
try
{
boolean
hasE
=
false
;
int
[]
var7
=
eItem
;
int
var8
=
eItem
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
int
e
=
var7
[
var9
];
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
var11
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/code/TreeTypeEnum.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.code
;
import
com.mortals.framework.common.IBaseEnum
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
enum
TreeTypeEnum
implements
IBaseEnum
{
TOPIC
(
0
,
"el-icon-folder"
),
CLASSIFY
(
1
,
"el-icon-document"
),
CLASSIFYOPTION
(
2
,
"el-icon-s-tools"
);
private
int
value
;
private
String
desc
;
TreeTypeEnum
(
int
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
@Override
public
int
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
static
TreeTypeEnum
getByValue
(
int
value
)
{
for
(
TreeTypeEnum
YesNoEnum
:
TreeTypeEnum
.
values
())
{
if
(
YesNoEnum
.
getValue
()
==
value
)
{
return
YesNoEnum
;
}
}
return
null
;
}
/**
* 获取Map集合
* @param eItem 不包含项
* @return
*/
public
static
Map
<
String
,
String
>
getEnumMap
(
int
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<
String
,
String
>();
for
(
TreeTypeEnum
item
:
TreeTypeEnum
.
values
())
{
try
{
boolean
hasE
=
false
;
for
(
int
e
:
eItem
){
if
(
item
.
getValue
()==
e
){
hasE
=
true
;
break
;
}
}
if
(!
hasE
){
resultMap
.
put
(
item
.
getValue
()+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
ex
){
}
}
return
resultMap
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignCheckboxComponent.java
View file @
a74945e2
...
@@ -50,7 +50,7 @@ public class DesignCheckboxComponent extends DesignComponent {
...
@@ -50,7 +50,7 @@ public class DesignCheckboxComponent extends DesignComponent {
columnsItem
.
setBorder
(
false
);
columnsItem
.
setBorder
(
false
);
columnsItem
.
setSize
(
"medium"
);
columnsItem
.
setSize
(
"medium"
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
24
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setOptionType
(
"default"
);
columnsItem
.
setOptionType
(
"default"
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
...
...
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignDateComponent.java
View file @
a74945e2
...
@@ -45,7 +45,7 @@ public class DesignDateComponent extends DesignComponent {
...
@@ -45,7 +45,7 @@ public class DesignDateComponent extends DesignComponent {
columnsItem
.
setRequired
(
false
);
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
24
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setFormat
(
"yyyy 年 MM 月 dd 日"
);
columnsItem
.
setFormat
(
"yyyy 年 MM 月 dd 日"
);
columnsItem
.
setValueFormat
(
"yyyy 年 MM 月 dd 日"
);
columnsItem
.
setValueFormat
(
"yyyy 年 MM 月 dd 日"
);
...
...
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignDynamicTableComponent.java
View file @
a74945e2
...
@@ -11,8 +11,6 @@ import com.mortals.xhx.common.pdu.gen.component.ComponentCons;
...
@@ -11,8 +11,6 @@ import com.mortals.xhx.common.pdu.gen.component.ComponentCons;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -50,7 +48,6 @@ public class DesignDynamicTableComponent extends DesignComponent {
...
@@ -50,7 +48,6 @@ public class DesignDynamicTableComponent extends DesignComponent {
listItem
.
setShowSummary
(
false
);
listItem
.
setShowSummary
(
false
);
listItem
.
setSumText
(
"合计"
);
listItem
.
setSumText
(
"合计"
);
listItem
.
setSummaryText
(
"元"
);
listItem
.
setSummaryText
(
"元"
);
listItem
.
setRowCount
(
3
);
if
(!
ObjectUtils
.
isEmpty
(
cons
.
getColList
()))
{
if
(!
ObjectUtils
.
isEmpty
(
cons
.
getColList
()))
{
//动态生成列元素
//动态生成列元素
...
@@ -133,12 +130,11 @@ public class DesignDynamicTableComponent extends DesignComponent {
...
@@ -133,12 +130,11 @@ public class DesignDynamicTableComponent extends DesignComponent {
columnsItem
.
setRequired
(
false
);
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
24
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setValue
(
""
);
columnsItem
.
setValue
(
""
);
columnsItem
.
setClearable
(
true
);
columnsItem
.
setClearable
(
true
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setReadonly
(
false
);
columnsItem
.
setReadonly
(
false
);
columnsItem
.
setRules
(
Collections
.
emptyList
());
// columnsItem.setRangeSeparator("-");
// columnsItem.setRangeSeparator("-");
// columnsItem.setFormat("yyyy-MM-dd");
// columnsItem.setFormat("yyyy-MM-dd");
// columnsItem.setValueFormat("yyyy-MM-dd");
// columnsItem.setValueFormat("yyyy-MM-dd");
...
...
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignInputComponent.java
View file @
a74945e2
...
@@ -42,7 +42,7 @@ public class DesignInputComponent extends DesignComponent {
...
@@ -42,7 +42,7 @@ public class DesignInputComponent extends DesignComponent {
columnsItem
.
setRequired
(
false
);
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
24
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setWidth
(
"100%"
);
columnsItem
.
setWidth
(
"100%"
);
columnsItem
.
setClearable
(
true
);
columnsItem
.
setClearable
(
true
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setDisabled
(
false
);
...
...
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignRadioComponent.java
View file @
a74945e2
...
@@ -49,7 +49,7 @@ public class DesignRadioComponent extends DesignComponent {
...
@@ -49,7 +49,7 @@ public class DesignRadioComponent extends DesignComponent {
columnsItem
.
setBorder
(
false
);
columnsItem
.
setBorder
(
false
);
columnsItem
.
setSize
(
"medium"
);
columnsItem
.
setSize
(
"medium"
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
24
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setOptionType
(
"default"
);
columnsItem
.
setOptionType
(
"default"
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
...
...
fill-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignSelectComponent.java
View file @
a74945e2
...
@@ -50,7 +50,7 @@ public class DesignSelectComponent extends DesignComponent {
...
@@ -50,7 +50,7 @@ public class DesignSelectComponent extends DesignComponent {
columnsItem
.
setCollapseTags
(
false
);
columnsItem
.
setCollapseTags
(
false
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
24
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
columnsItem
.
setClearable
(
false
);
columnsItem
.
setClearable
(
false
);
...
...
fill-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
View file @
a74945e2
...
@@ -30,7 +30,4 @@ public final class Constant {
...
@@ -30,7 +30,4 @@ public final class Constant {
public
final
static
String
Param_sealWay
=
"sealWay"
;
public
final
static
String
Param_sealWay
=
"sealWay"
;
public
final
static
String
Param_typeOptions
=
"typeOptions"
;
public
final
static
String
Param_typeOptions
=
"typeOptions"
;
/** 登录用户类型为客户 */
public
final
static
int
CUSTOMER_USER
=
99
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/key/ErrorCode.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.key
;
/**
* 错误码
*
* @author: zxfei
* @date: 2022/5/12 14:56
*/
public
interface
ErrorCode
{
public
static
final
int
STATUS_MS_EXCEPTION
=
500
;
public
static
final
int
STATUS_VALIDATE_EXCEPTION
=
420
;
public
static
final
int
STATUS_UNCHECKED_EXCEPTION
=
605
;
public
static
final
int
STATUS_TOKEN_NULL_EXCEPTION
=
604
;
public
static
final
int
STATUS_CODE_SUCCESS
=
0
;
public
static
final
int
STATUS_CODE_WARN
=
1
;
public
static
final
int
STATUS_CODE_ERROR
=
2
;
public
static
final
int
STATUS_CODE_INFO
=
3
;
public
static
final
int
STATUS_CODE_TOKEN_EXPIRED
=
4
;
public
static
final
int
STATUS_CODE_FATAL
=
5
;
public
static
final
int
STATUS_CODE_TRADE_PWD_NOT_SET
=
6
;
public
static
final
int
STATUS_ACCOUNT_LOCKED
=
7
;
public
static
final
int
STATUS_TRADE_PWD_OVER_THREE_TIME
=
8
;
public
static
final
int
STATUS_TRADE_PWD_ERROR
=
9
;
public
static
final
int
STATUS_EMPTY_PWD_ERROR
=
10
;
public
static
final
int
STATUS_TEL_NOT_RGI_ERROR
=
11
;
public
static
final
int
STATUS_TEL_ALREADY_REGI
=
12
;
public
static
final
int
STATUS_SAFETY_RISK
=
13
;
public
static
final
int
STATUS_LOGIN_CODE
=
15
;
public
static
final
int
BOOK_FAKUAN_CODE
=
16
;
public
static
final
String
ERROR_TRADE_PWD_OVER_THREE_TIME
=
"支付密码错误,请15分钟后再试"
;
public
static
final
String
ERROR_TRADE_PWD_ERROR
=
"支付密码错误,请重试"
;
public
static
final
String
ERROR_EMPTY_PWD_ERROR
=
"请设置登录密码"
;
public
static
final
String
ERROR_TEL_NOT_RGI
=
"该号码未注册"
;
public
static
final
String
ERROR_USERNAME_OR_PASSWORD
=
"用户名或者密码错误"
;
public
static
final
String
ERROR_TRADE_PWD
=
"交易密码错误"
;
public
static
final
String
ERROR_FORBIDDEN_OPER
=
"非法操作"
;
public
static
final
String
ERROR_TRADE_PWD_NOT_SET
=
"非法操作"
;
public
static
final
String
ERROR_NOT_REAL_NAME_AUTH
=
"您未实名认证,禁止该操作"
;
public
static
final
String
ERROR_INTERNAL_SERVER_ERROR
=
"服务器内部错误"
;
public
static
final
String
ERROR_UNAUTHORIZED
=
"token不正确或已过期"
;
public
static
final
String
ERROR_TOKEN_IS_NULL
=
"token不能为空"
;
public
static
final
String
ERROR_MISS_SERVLET
=
"服务不存在"
;
public
static
final
String
ERROR_CAPTCHA_OFTEN
=
"验证码已发送"
;
public
static
final
String
ERROR_CAPTCHA_WRONG
=
"验证码错误"
;
public
static
final
String
ERROR_TEL_ALREADY_REGI
=
"该手机号已被注册"
;
public
static
final
String
ERROR_CODE_DUPLICATE_KEY
=
"重复添加信息(含部分)"
;
public
static
final
String
ERROR_NOT_EXITS
=
"对应记录不存在"
;
public
static
final
String
ERROR_STATUS_CATEGORY
=
"状态错误"
;
public
static
final
String
ERROR_FRIEND_SHIP_ALREADY
=
"已经是你好友"
;
public
static
final
String
ERROR_FRIEND_SHIP_WAIT
=
"已向改好友发出邀请,等待接受"
;
public
static
final
String
ERROR_CODE_ACCOUNT_LOCKED
=
"账号被锁定,请联系客服"
;
public
static
final
String
WARN_ARGUMENT
=
"参数错误"
;
public
static
final
String
ERROR_USERNAME_EXIST
=
"该号码已被注册"
;
public
static
final
String
ERROR_SAFETY_RISK
=
"不在常用设备上登录"
;
public
static
final
String
INFO_TEL_BIND
=
"手机号码已经被绑定"
;
public
static
final
String
INFO_TEL_FORMAT_WRONG
=
"手机号码格式不正确"
;
public
static
final
String
ERROR_NOT_FOUND
=
"404 not found"
;
public
static
final
String
DISABLED
=
"该账号已被封禁,如有疑问请联系平台"
;
public
static
final
String
DATENULL
=
"缺少参数"
;
public
static
final
String
ERRDATE
=
"无效参数"
;
public
static
final
String
ERRSTAE
=
"状态异常"
;
public
static
final
String
EXTDATE
=
"参数异常"
;
public
static
final
String
NUMEXE
=
"账号异常"
;
public
static
final
String
CAPDON
=
"资产已被冻结,如有疑问请联系平台"
;
public
static
final
String
CONOTS
=
"操作失败"
;
public
static
final
String
OK
=
"成功!"
;
public
static
final
String
TOKENX
=
"身份验证失败,请重新登录"
;
public
static
final
String
CAPNOT
=
"充值余额不足请充值"
;
public
static
final
String
SYSNOT
=
"系统繁忙,请稍后再试..."
;
public
static
final
String
NOWER
=
"没有权限"
;
public
static
final
String
PAGEDATA
=
"分页参数不能为空"
;
public
static
final
String
CARADD_MEMBERS
=
"该司机已有绑定车辆,不能绑定多个"
;
public
static
final
int
DEVICE_CODE_IS_EMPTY
=
1001
;
public
static
final
String
DEVICE_CODE_IS_EMPTY_CONTENT
=
"当前设备编码为空!"
;
public
static
final
int
DEVICE_CODE_IS_EXIST
=
1002
;
public
static
final
String
DEVICE_CODE_IS_EXIST_CONTENT
=
"当前设备编码已存在!"
;
public
static
final
int
PRODUCT_IS_EMPTY
=
1003
;
public
static
final
String
PRODUCT_IS_EMPTY_CONTENT
=
"所属产品编码不存在!"
;
public
static
final
int
DEVICE_UNACTIVE
=
1004
;
public
static
final
String
DEVICE_UNACTIVE_CONTENT
=
"当前设备未激活,请在后台配置后再激活!"
;
public
static
final
int
PLATFORM_IS_EMPTY
=
1005
;
public
static
final
String
PLATFORM_IS_EMPTY_CONTENT
=
"当前设备编码不存在!"
;
public
static
final
int
PLATFORM_UNEXIST
=
1006
;
public
static
final
String
PLATFORM_UNEXIST_CONTENT
=
"当前设备所属产品平台未配置,请在后台配置后再激活!"
;
public
static
final
int
SITEID_IS_EMPTY
=
1007
;
public
static
final
String
SITEID_IS_EMPTY_CONTENT
=
"站点ID为空!"
;
public
static
final
int
DEVICE_CONFIG_IS_EMPTY
=
1008
;
public
static
final
String
DEVICE_CONFIG_IS_EMPTY_CONTENT
=
"设备创建,请完善设备配置信息!"
;
public
static
final
int
DEVICE_NOT_EXIST
=
1009
;
public
static
final
String
DEVICE_NOT_EXIST_CONTENT
=
"当前设备不存在!"
;
public
static
final
int
TOKEN_AUTH_FAIL
=
1010
;
public
static
final
String
TOKEN_AUTH_FAIL_CONTENT
=
"token认证失败!"
;
public
static
final
int
DEVICE_VERSION_UNEXIST
=
1011
;
public
static
final
String
DEVICE_VERSION_UNEXIST_CONTENT
=
"未找到设备版本信息!"
;
public
static
final
int
ERROR_TOKEN_EXPIRED
=
9001
;
public
static
final
String
ERROR_TOKEN_EXPIRED_CONTENT
=
"用户登录过期,请重新登录!"
;
public
static
final
int
ERROR_TOKEN_UNAUTHORIZED
=
9002
;
public
static
final
String
ERROR_TOKEN_UNAUTHORIZED_CONTENT
=
"token不正确或已过期"
;
public
static
final
int
ERROR_USER_OPERATION
=
9009
;
public
static
final
String
ERROR_USER_OPERATION_CONTENT
=
"用户无该操作权限!"
;
}
fill-manager/src/main/java/com/mortals/xhx/common/pdu/NodeEntity.java
View file @
a74945e2
package
com.mortals.xhx.common.pdu
;
package
com.mortals.xhx.common.pdu
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.SpliteratorUtil
;
import
cn.hutool.core.util.ReUtil
;
import
cn.hutool.core.util.ReUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
lombok.Data
;
import
lombok.Data
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
...
...
fill-manager/src/main/java/com/mortals/xhx/common/pdu/gen/component/ComponentCons.java
View file @
a74945e2
...
@@ -32,4 +32,6 @@ public class ComponentCons {
...
@@ -32,4 +32,6 @@ public class ComponentCons {
private
String
uploadFileUrl
;
private
String
uploadFileUrl
;
}
}
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/ChildrenItem.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
ChildrenItem
{
@JSONField
(
name
=
"show-text"
)
private
Boolean
showText
;
@JSONField
(
name
=
"show-score"
)
private
Boolean
showScore
;
@JSONField
(
name
=
"__config__"
)
private
Config
config
;
@JSONField
(
name
=
"max"
)
private
Integer
max
;
@JSONField
(
name
=
"allow-half"
)
private
Boolean
allowHalf
;
@JSONField
(
name
=
"__vModel__"
)
private
String
vModel
;
@JSONField
(
name
=
"style"
)
private
Style
style
;
@JSONField
(
name
=
"disabled"
)
private
Boolean
disabled
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Config.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
java.util.List
;
public
class
Config
{
@JSONField
(
name
=
"layout"
)
private
String
layout
;
@JSONField
(
name
=
"tagIcon"
)
private
String
tagIcon
;
@JSONField
(
name
=
"changeTag"
)
private
Boolean
changeTag
;
@JSONField
(
name
=
"document"
)
private
String
document
;
@JSONField
(
name
=
"labelWidth"
)
private
Object
labelWidth
;
@JSONField
(
name
=
"label"
)
private
String
label
;
@JSONField
(
name
=
"tag"
)
private
String
tag
;
@JSONField
(
name
=
"showLabel"
)
private
Boolean
showLabel
;
@JSONField
(
name
=
"span"
)
private
Integer
span
;
@JSONField
(
name
=
"renderKey"
)
private
Long
renderKey
;
@JSONField
(
name
=
"formId"
)
private
Integer
formId
;
@JSONField
(
name
=
"gutter"
)
private
Integer
gutter
;
@JSONField
(
name
=
"layoutTree"
)
private
Boolean
layoutTree
;
@JSONField
(
name
=
"children"
)
private
List
<
ChildrenItem
>
children
;
@JSONField
(
name
=
"componentName"
)
private
String
componentName
;
@JSONField
(
name
=
"defaultValue"
)
private
Integer
defaultValue
;
@JSONField
(
name
=
"required"
)
private
Boolean
required
;
@JSONField
(
name
=
"regList"
)
private
List
<
Object
>
regList
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/FieldsItem.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
FieldsItem
{
@JSONField
(
name
=
"__config__"
)
private
Config
config
;
@JSONField
(
name
=
"round"
)
private
Boolean
round
;
@JSONField
(
name
=
"size"
)
private
String
size
;
@JSONField
(
name
=
"plain"
)
private
Boolean
plain
;
@JSONField
(
name
=
"icon"
)
private
String
icon
;
@JSONField
(
name
=
"disabled"
)
private
Boolean
disabled
;
@JSONField
(
name
=
"type"
)
private
String
type
;
@JSONField
(
name
=
"circle"
)
private
Boolean
circle
;
@JSONField
(
name
=
"__slot__"
)
private
Slot
slot
;
@JSONField
(
name
=
"on"
)
private
On
on
;
@JSONField
(
name
=
"justify"
)
private
String
justify
;
@JSONField
(
name
=
"align"
)
private
String
align
;
@JSONField
(
name
=
"clearable"
)
private
Boolean
clearable
;
@JSONField
(
name
=
"range-separator"
)
private
String
rangeSeparator
;
@JSONField
(
name
=
"readonly"
)
private
Boolean
readonly
;
@JSONField
(
name
=
"start-placeholder"
)
private
String
startPlaceholder
;
@JSONField
(
name
=
"format"
)
private
String
format
;
@JSONField
(
name
=
"value-format"
)
private
String
valueFormat
;
@JSONField
(
name
=
"__vModel__"
)
private
String
vModel
;
@JSONField
(
name
=
"style"
)
private
Style
style
;
@JSONField
(
name
=
"end-placeholder"
)
private
String
endPlaceholder
;
@JSONField
(
name
=
"maxlength"
)
private
Integer
maxlength
;
@JSONField
(
name
=
"placeholder"
)
private
String
placeholder
;
@JSONField
(
name
=
"show-word-limit"
)
private
Boolean
showWordLimit
;
@JSONField
(
name
=
"prefix-icon"
)
private
String
prefixIcon
;
@JSONField
(
name
=
"suffix-icon"
)
private
String
suffixIcon
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Methods.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
Methods
{
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/On.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
On
{
@JSONField
(
name
=
"click"
)
private
String
click
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/RegListItem.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
RegListItem
{
@JSONField
(
name
=
"pattern"
)
private
String
pattern
;
@JSONField
(
name
=
"message"
)
private
String
message
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Response.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
java.util.List
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
Response
{
@JSONField
(
name
=
"formBtns"
)
private
Boolean
formBtns
;
@JSONField
(
name
=
"labelWidth"
)
private
Integer
labelWidth
;
@JSONField
(
name
=
"formRef"
)
private
String
formRef
;
@JSONField
(
name
=
"gutter"
)
private
Integer
gutter
;
@JSONField
(
name
=
"size"
)
private
String
size
;
@JSONField
(
name
=
"formRules"
)
private
String
formRules
;
@JSONField
(
name
=
"labelPosition"
)
private
String
labelPosition
;
@JSONField
(
name
=
"unFocusedComponentBorder"
)
private
Boolean
unFocusedComponentBorder
;
@JSONField
(
name
=
"disabled"
)
private
Boolean
disabled
;
@JSONField
(
name
=
"formModel"
)
private
String
formModel
;
@JSONField
(
name
=
"fields"
)
private
List
<
FieldsItem
>
fields
;
@JSONField
(
name
=
"__methods__"
)
private
Methods
methods
;
@JSONField
(
name
=
"span"
)
private
Integer
span
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Slot.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
Slot
{
@JSONField
(
name
=
"default"
)
private
String
jsonMemberDefault
;
@JSONField
(
name
=
"prepend"
)
private
String
prepend
;
@JSONField
(
name
=
"append"
)
private
String
append
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/pdu/test/Style.java
0 → 100644
View file @
a74945e2
package
com.mortals.xhx.common.pdu.test
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
Style
{
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/common/utils/ExportDocUtil.java
View file @
a74945e2
package
com.mortals.xhx.common.utils
;
package
com.mortals.xhx.common.utils
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.ReUtil
;
import
cn.hutool.core.util.ReUtil
;
...
@@ -52,7 +51,7 @@ public class ExportDocUtil {
...
@@ -52,7 +51,7 @@ public class ExportDocUtil {
String
xpath
=
"/"
+
paths
.
stream
().
collect
(
Collectors
.
joining
(
"/"
));
String
xpath
=
"/"
+
paths
.
stream
().
collect
(
Collectors
.
joining
(
"/"
));
Node
node
=
((
Node
)
XmlUtil
.
getByXPath
(
xpath
,
document
,
XPathConstants
.
NODE
,
ns
));
Node
node
=
((
Node
)
XmlUtil
.
getByXPath
(
xpath
,
document
,
XPathConstants
.
NODE
,
ns
));
if
(!
ObjectUtils
.
isEmpty
(
node
)
&&
sourceEl
.
equals
(
node
.
getTextContent
()))
{
if
(!
ObjectUtils
.
isEmpty
(
node
)
&&
sourceEl
.
equals
(
node
.
getTextContent
()))
{
node
.
setTextContent
(
targetEl
);
node
.
setTextContent
(
targetEl
);
}
}
// NodeList nodeList = ((NodeList) XmlUtil.getByXPath(xpath, document, XPathConstants.NODESET, ns));
// NodeList nodeList = ((NodeList) XmlUtil.getByXPath(xpath, document, XPathConstants.NODESET, ns));
...
@@ -174,6 +173,7 @@ public class ExportDocUtil {
...
@@ -174,6 +173,7 @@ public class ExportDocUtil {
NodeList
nodeList
=
element
.
getChildNodes
();
NodeList
nodeList
=
element
.
getChildNodes
();
Node
childNode
;
Node
childNode
;
// 有可能没有子节点,做一个非空判断
// 有可能没有子节点,做一个非空判断
if
(
nodeList
.
getLength
()
!=
0
)
{
if
(
nodeList
.
getLength
()
!=
0
)
{
//分组子节点分组编号,且是element节点
//分组子节点分组编号,且是element节点
...
@@ -204,7 +204,7 @@ public class ExportDocUtil {
...
@@ -204,7 +204,7 @@ public class ExportDocUtil {
Pattern
pattern
=
Pattern
.
compile
(
regEx
);
Pattern
pattern
=
Pattern
.
compile
(
regEx
);
List
<
String
>
allGroups
=
ReUtil
.
getAllGroups
(
pattern
,
childNode
.
getTextContent
());
List
<
String
>
allGroups
=
ReUtil
.
getAllGroups
(
pattern
,
childNode
.
getTextContent
());
if
(!
ObjectUtils
.
isEmpty
(
allGroups
))
{
if
(!
ObjectUtils
.
isEmpty
(
allGroups
))
{
// text = CollUtil.join(allGroups, ";");
// text = CollUtil.join(allGroups, ";");
text
=
Arrays
.
asList
(
childNode
.
getTextContent
().
split
(
"\\$"
)).
stream
().
map
(
String:
:
trim
)
text
=
Arrays
.
asList
(
childNode
.
getTextContent
().
split
(
"\\$"
)).
stream
().
map
(
String:
:
trim
)
.
map
(
item
->
StrUtil
.
subBetween
(
item
,
"{"
,
"}"
))
.
map
(
item
->
StrUtil
.
subBetween
(
item
,
"{"
,
"}"
))
.
filter
(
f
->
f
!=
null
)
.
filter
(
f
->
f
!=
null
)
...
@@ -295,6 +295,21 @@ public class ExportDocUtil {
...
@@ -295,6 +295,21 @@ public class ExportDocUtil {
return
sb
.
toString
();
return
sb
.
toString
();
}
}
public
static
String
createCheckBoxStrOther
(
Boolean
checked
,
String
label
)
{
StringBuilder
sb
=
new
StringBuilder
();
if
(
checked
)
{
String
ckHeader
=
"☑"
;
sb
.
append
(
ckHeader
);
}
else
{
String
ckHeader
=
"□"
;
sb
.
append
(
ckHeader
);
}
sb
.
append
(
label
);
return
sb
.
toString
();
}
/**
/**
* 校验并更新文档中的非法el表达式
* 校验并更新文档中的非法el表达式
*
*
...
@@ -410,18 +425,182 @@ public class ExportDocUtil {
...
@@ -410,18 +425,182 @@ public class ExportDocUtil {
//log.info("deletePathList:" + JSON.toJSONString(deletePathList));
//log.info("deletePathList:" + JSON.toJSONString(deletePathList));
}
}
public
static
String
createCheckBoxStrOther
(
Boolean
checked
,
String
label
)
{
StringBuilder
sb
=
new
StringBuilder
();
if
(
checked
)
{
String
ckHeader
=
"☑"
;
sb
.
append
(
ckHeader
);
public
static
void
testClearXml
()
{
}
else
{
File
file
=
new
File
(
"E:\\评审报告(竞争性谈判).xml"
);
String
ckHeader
=
"□"
;
sb
.
append
(
ckHeader
);
Document
document
=
XmlUtil
.
readXML
(
file
);
List
<
NodeEntity
>
list
=
new
ArrayList
<>();
ExportDocUtil
.
parseXMLFile
(
list
,
"E:\\评审报告(竞争性谈判).xml"
);
ExportDocUtil
.
checkAndUpdateExpressionByDocument
(
document
,
list
);
XmlUtil
.
toFile
(
document
,
"E:\\评审报告(竞争性谈判)修正.xml"
);
}
@SneakyThrows
public
static
void
main
(
String
[]
args
)
{
//测试清洗数据
ExportDocUtil
.
testClearXml
();
//解析xml文档,修改非法的$表达式为合法
/*
File file = new File("E:\\pic\\doc\\建设工程消防验收备案表(模板)修正.xml");
Document document = XmlUtil.readXML(file);
List<NodeEntity> list = new ArrayList<>();
ExportDocUtil.parseXMLFile(list, "E:\\pic\\doc\\建设工程消防验收备案表(模板)修正.xml");
//查找${col 节点
NodeEntity colNode = null;
for (NodeEntity node : list) {
if (!ObjectUtils.isEmpty(node.getContent())&&node.getContent().startsWith("${col.")) {
colNode = node;
break;
}
}
}
sb
.
append
(
label
);
return
sb
.
toString
();
log.info("colNode:" + JSON.toJSONString(colNode));
*/
//System.out.println(XmlUtil.format(document));
// Map root = new HashMap();
// root.put(
// "doc",
// freemarker.ext.dom.NodeModel.parse(new File("the/path/of/the.xml")));
//
//
// String ckStr=" <#list><w:r>\n" +
// "\t\t\t\t\t\t\t\t\t\t<w:rPr>\n" +
// "\t\t\t\t\t\t\t\t\t\t\t<w:rFonts w:ascii=\"宋体\" w:h-ansi=\"宋体\"/>\n" +
// "\t\t\t\t\t\t\t\t\t\t\t<wx:font wx:val=\"宋体\"/>\n" +
// "\t\t\t\t\t\t\t\t\t\t</w:rPr>\n" +
// "\t\t\t\t\t\t\t\t\t\t<w:sym w:font=\"Wingdings 2\" w:char=\"0052\"/>\n" +
// "\t\t\t\t\t\t\t\t\t</w:r></#list>";
//
// XmlUtil.parseXml(ckStr);
//<#list columns as column>
// Document xml = XmlUtil.createXml();
// Element element = xml.createElement("#list");
// xml.appendChild(element);
// Element elementPr = xml.createElement("w:rPr");
// element.appendChild(elementPr);
//
// Element elementFonts = xml.createElement("w:rFonts");
// elementFonts.setAttribute("w:ascii","宋体");
// elementFonts.setAttribute("w:h-ansi","宋体");
// elementPr.appendChild(elementFonts);
// Element elementFont = xml.createElement("wx:font");
// elementFont.setAttribute("wx:val","宋体");
// elementPr.appendChild(elementFont);
// System.out.println(ExportDocUtil.getStringFromDocument(xml));
// System.out.println(XmlUtil.format(xml));
// System.out.println(XmlUtil.toStr(element,"utf-8",true,false));
// String imagepath="E:\\pic\\1.png";
//
// BufferedImage image = ImgUtil.read(imagepath);
//
// String png = ImgUtil.toBase64(image, "png");
//
// System.out.println(png);
//
// String path = "E:\\新建文件夹\\测试.doc";
//
//// String path = "E:\\pic\\doc\\附件1-四川省危险废物经营许可证申请表(补办)空白.xml";
////
// List<Map<String, String>> list = new ArrayList<>();
//
// ExportDocUtil.parseXMLFile(list, path);
//
// //查找w:binData的节点路径
//
// //1.
// String id = "";
// List<String> paths = new ArrayList<>();
// for (Map<String, String> map : list) {
// if ("w:binData".equals(map.get("TagName"))) {
// System.out.println("id:" + map.get("id"));
// System.out.println("parentId:" + map.get("parentId"));
// id = map.get("parentId");
// paths.add(map.get("TagName"));
// break;
// }
// }
// ExportDocUtil.getPath(paths, list, id);
// System.out.println(JSON.toJSONString(paths));
// Document document = XmlUtil.readXML(new File(path));
// NamespaceContext ns = ExportDocUtil.buildNsByDocument(document);
// paths = CollUtil.reverse(paths);
//
// String xpath = "/" + paths.stream().collect(Collectors.joining("/"));
//
// System.out.println("xpath:" + xpath);
//
// Node byXPath = (Node) XmlUtil.getByXPath(xpath, document, XPathConstants.NODE, ns);
// byXPath.setTextContent("${image1}");
//
// System.out.println(XmlUtil.toStr(document));
//System.out.println("xPath"+byXPath.setTextContent(););
// xpath="//*[name()='wordml://02000001.jpg']";
// document.getElementById()
//List<Element> nodeList = document.selectNodes(xpath).selectNodes("//w:tbl//w:tr//w:tc//w:p//w:r//w:t");
//DefaultNamespaceContext defaultNamespaceContext = DefaultNamespaceContext.create(document);
//通过dom xpath 获取节点值 并修改
//Element elementByXPath = XmlUtil.getRootElement(document).getElementsByTagName(document., "w:binData");
//System.out.println("xpath element:"+elementByXPath.getTextContent());
//System.out.println(JSON.toJSONString(list));
// File file = new File("E:\\pic\\doc\\doc.xml");
//
// Document document = XmlUtil.readXML(file);
//
// Element element = document.getDocumentElement();
//
// // 第一次调用,就是第一级,parent_id 就给空
// ExportDocUtil.parseElement(list,element,"");
//
// NodeList childNodes = document.getChildNodes();
// System.out.println("size:"+childNodes.getLength());
// for(int i=0;i<childNodes.getLength();i++){
// Node item = childNodes.item(i);
//
// if(!"".equals(item.getTextContent().trim())){
// //System.out.println(item.getNodeValue());
//
// System.out.println(item.getTextContent().trim());
// }
// }
}
}
}
}
fill-manager/src/main/java/com/mortals/xhx/common/utils/WordUtil.java
View file @
a74945e2
package
com.mortals.xhx.common.utils
;
package
com.mortals.xhx.common.utils
;
//import com.aspose.words.Document;
/**
//import com.aspose.words.ImageSaveOptions;
* @author: zxfei
//import com.aspose.words.SaveFormat;
* @date: 2021/10/14 15:44
* @description:
**/
import
com.aspose.words.Document
;
import
com.aspose.words.Document
;
import
com.aspose.words.ImageSaveOptions
;
import
com.aspose.words.ImageSaveOptions
;
import
com.aspose.words.SaveFormat
;
import
com.aspose.words.SaveFormat
;
...
@@ -216,5 +219,13 @@ public class WordUtil {
...
@@ -216,5 +219,13 @@ public class WordUtil {
}
}
public
static
void
main
(
String
[]
args
)
{
String
docPath
=
"E:\\pic\\doc\\附件1-四川省危险废物经营许可证申请表(补办)空白.docx"
;
String
pdfPath
=
"E:\\pic\\pdf\\附件1-四川省危险废物经营许可证申请表(补办)空白.jpg"
;
WordUtil
.
convertWordToJPEG
(
docPath
,
pdfPath
);
}
}
}
fill-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/DemoStartService.java
View file @
a74945e2
...
@@ -6,7 +6,19 @@ import org.springframework.stereotype.Component;
...
@@ -6,7 +6,19 @@ import org.springframework.stereotype.Component;
import
com.mortals.framework.springcloud.service.IApplicationService
;
import
com.mortals.framework.springcloud.service.IApplicationService
;
/**
* 应用级服务,在应用启动、停止过程中调用
*
* 缺陷:类加载完成后就调用,会由于某些组件还未初始化而导致服务异常,
* 比如Kafka的连接以及订阅初始化比较靠后,在服务启动过程中就调用操作kafka相关API,将导致失败
* 比如开启Socket监听端口,可能端口都接收到连接请求了,但数据库连接还未初始化完成,导致请求处理失败
* 比如定时任务,任务执行时,相关缓存还未初始化,导致处理失败
*
* 应用场景:
* 1、无依赖其它模块或框架的数据初始化等操作
* @author GM
* @date 2020年7月15日
*/
@Component
@Component
public
class
DemoStartService
implements
IApplicationService
{
public
class
DemoStartService
implements
IApplicationService
{
...
...
fill-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/DemoStartedService.java
View file @
a74945e2
package
com.mortals.xhx.daemon.applicationservice
;
package
com.mortals.xhx.daemon.applicationservice
;
import
com.mortals.framework.springcloud.
service.IApplicationStartedService
;
import
com.mortals.framework.springcloud.
config.web.BaseWebMvcConfigurer
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.commons.logging.LogFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
com.mortals.framework.springcloud.service.IApplicationStartedService
;
/**
* 应用级服务,在应用启动后、停止过程中调用
* 应用已经完成启动完成,才调用该服务
* 应用场景:
* 1、应用任务,应用启动后定时或间隔执行的任务
* 2、Socket服务端
* @author GM
* @date 2020年7月15日
*/
@Component
@Component
//@ConditionalOnProperty(name="com.mortal",prefix = "",havingValue = "xxx")
//@ConditionalOnProperty(name="com.mortal",prefix = "",havingValue = "xxx")
public
class
DemoStartedService
implements
IApplicationStartedService
{
public
class
DemoStartedService
implements
IApplicationStartedService
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment