From 6001d68c97f2db5d6683ca6804a80eead2ebef44 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Mon, 9 Oct 2023 17:02:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89controller=E4=B8=AD=E7=9A=84a?= =?UTF-8?q?pp=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/AuthorizeRequestsCustomizer.java | 4 - .../WinWebSecurityConfigurerAdapter.java | 6 +- .../config/WinSwaggerAutoConfiguration.java | 2 +- .../framework/web/config/WebProperties.java | 4 +- .../web/config/WinWebAutoConfiguration.java | 1 - .../web/core/filter/ApiRequestFilter.java | 3 +- .../web/core/util/WebFrameworkUtils.java | 3 - .../admin/definition/BpmFormController.java | 79 ----- .../admin/definition/BpmModelController.java | 97 ------ .../BpmProcessDefinitionController.java | 59 ---- .../BpmTaskAssignRuleController.java | 58 ---- .../definition/BpmUserGroupController.java | 85 ----- .../definition/vo/form/BpmFormBaseVO.java | 24 -- .../vo/form/BpmFormCreateReqVO.java | 22 -- .../definition/vo/form/BpmFormPageReqVO.java | 18 -- .../definition/vo/form/BpmFormRespVO.java | 31 -- .../vo/form/BpmFormSimpleRespVO.java | 16 - .../vo/form/BpmFormUpdateReqVO.java | 25 -- .../vo/group/BpmUserGroupBaseVO.java | 32 -- .../vo/group/BpmUserGroupCreateReqVO.java | 11 - .../vo/group/BpmUserGroupPageReqVO.java | 29 -- .../vo/group/BpmUserGroupRespVO.java | 20 -- .../vo/group/BpmUserGroupSimpleRespVO.java | 20 -- .../vo/group/BpmUserGroupUpdateReqVO.java | 17 - .../vo/model/BpmModeImportReqVO.java | 21 -- .../definition/vo/model/BpmModelBaseVO.java | 40 --- .../vo/model/BpmModelCreateReqVO.java | 25 -- .../vo/model/BpmModelPageItemRespVO.java | 48 --- .../vo/model/BpmModelPageReqVO.java | 25 -- .../definition/vo/model/BpmModelRespVO.java | 25 -- .../vo/model/BpmModelUpdateReqVO.java | 39 --- .../vo/model/BpmModelUpdateStateReqVO.java | 20 -- .../BpmProcessDefinitionListReqVO.java | 18 -- .../BpmProcessDefinitionPageItemRespVO.java | 22 -- .../BpmProcessDefinitionPageReqVO.java | 18 -- .../process/BpmProcessDefinitionRespVO.java | 48 --- .../vo/rule/BpmTaskAssignRuleBaseVO.java | 24 -- .../vo/rule/BpmTaskAssignRuleCreateReqVO.java | 24 -- .../vo/rule/BpmTaskAssignRuleRespVO.java | 28 -- .../vo/rule/BpmTaskAssignRuleUpdateReqVO.java | 20 -- .../admin/oa/BpmOALeaveController.java | 63 ---- .../bpm/controller/admin/oa/package-info.java | 5 - .../admin/oa/vo/BpmOALeaveBaseVO.java | 33 -- .../admin/oa/vo/BpmOALeaveCreateReqVO.java | 20 -- .../admin/oa/vo/BpmOALeavePageReqVO.java | 29 -- .../admin/oa/vo/BpmOALeaveRespVO.java | 32 -- .../admin/task/BpmActivityController.java | 39 --- .../task/BpmProcessInstanceController.java | 59 ---- .../admin/task/BpmTaskController.java | 78 ----- .../task/vo/activity/BpmActivityRespVO.java | 25 -- .../BpmProcessInstanceCancelReqVO.java | 20 -- .../BpmProcessInstanceCreateReqVO.java | 20 -- .../BpmProcessInstanceMyPageReqVO.java | 39 --- .../BpmProcessInstancePageItemRespVO.java | 54 ---- .../vo/instance/BpmProcessInstanceRespVO.java | 94 ------ .../task/vo/task/BpmTaskApproveReqVO.java | 20 -- .../vo/task/BpmTaskDonePageItemRespVO.java | 26 -- .../task/vo/task/BpmTaskDonePageReqVO.java | 31 -- .../task/vo/task/BpmTaskRejectReqVO.java | 20 -- .../admin/task/vo/task/BpmTaskRespVO.java | 37 --- .../vo/task/BpmTaskTodoPageItemRespVO.java | 53 --- .../task/vo/task/BpmTaskTodoPageReqVO.java | 28 -- .../vo/task/BpmTaskUpdateAssigneeReqVO.java | 21 -- .../bpm/controller/app/package-info.java | 4 - .../definition/BpmFormController.java | 79 +++++ .../definition/BpmModelController.java | 96 ++++++ .../BpmProcessDefinitionController.java | 59 ++++ .../BpmTaskAssignRuleController.java | 58 ++++ .../definition/BpmUserGroupController.java | 85 +++++ .../definition/vo/form/BpmFormBaseVO.java | 24 ++ .../vo/form/BpmFormCreateReqVO.java | 22 ++ .../definition/vo/form/BpmFormPageReqVO.java | 18 ++ .../definition/vo/form/BpmFormRespVO.java | 31 ++ .../vo/form/BpmFormSimpleRespVO.java | 16 + .../vo/form/BpmFormUpdateReqVO.java | 25 ++ .../vo/group/BpmUserGroupBaseVO.java | 32 ++ .../vo/group/BpmUserGroupCreateReqVO.java | 11 + .../vo/group/BpmUserGroupPageReqVO.java | 29 ++ .../vo/group/BpmUserGroupRespVO.java | 20 ++ .../vo/group/BpmUserGroupSimpleRespVO.java | 20 ++ .../vo/group/BpmUserGroupUpdateReqVO.java | 17 + .../vo/model/BpmModeImportReqVO.java | 21 ++ .../definition/vo/model/BpmModelBaseVO.java | 40 +++ .../vo/model/BpmModelCreateReqVO.java | 25 ++ .../vo/model/BpmModelPageItemRespVO.java | 48 +++ .../vo/model/BpmModelPageReqVO.java | 25 ++ .../definition/vo/model/BpmModelRespVO.java | 25 ++ .../vo/model/BpmModelUpdateReqVO.java | 39 +++ .../vo/model/BpmModelUpdateStateReqVO.java | 20 ++ .../BpmProcessDefinitionListReqVO.java | 18 ++ .../BpmProcessDefinitionPageItemRespVO.java | 22 ++ .../BpmProcessDefinitionPageReqVO.java | 18 ++ .../process/BpmProcessDefinitionRespVO.java | 48 +++ .../vo/rule/BpmTaskAssignRuleBaseVO.java | 24 ++ .../vo/rule/BpmTaskAssignRuleCreateReqVO.java | 24 ++ .../vo/rule/BpmTaskAssignRuleRespVO.java | 28 ++ .../vo/rule/BpmTaskAssignRuleUpdateReqVO.java | 20 ++ .../{admin => }/oa/BpmOALeaveController.http | 0 .../controller/oa/BpmOALeaveController.java | 63 ++++ .../bpm/controller/oa/package-info.java | 5 + .../controller/oa/vo/BpmOALeaveBaseVO.java | 33 ++ .../oa/vo/BpmOALeaveCreateReqVO.java | 20 ++ .../controller/oa/vo/BpmOALeavePageReqVO.java | 29 ++ .../controller/oa/vo/BpmOALeaveRespVO.java | 32 ++ .../module/bpm/controller/package-info.java | 6 - .../task/BpmActivityController.java | 39 +++ .../task/BpmProcessInstanceController.java | 59 ++++ .../controller/task/BpmTaskController.java | 77 +++++ .../task/vo/activity/BpmActivityRespVO.java | 25 ++ .../BpmProcessInstanceCancelReqVO.java | 20 ++ .../BpmProcessInstanceCreateReqVO.java | 20 ++ .../BpmProcessInstanceMyPageReqVO.java | 39 +++ .../BpmProcessInstancePageItemRespVO.java | 54 ++++ .../vo/instance/BpmProcessInstanceRespVO.java | 94 ++++++ .../task/vo/task/BpmTaskApproveReqVO.java | 20 ++ .../vo/task/BpmTaskDonePageItemRespVO.java | 26 ++ .../task/vo/task/BpmTaskDonePageReqVO.java | 31 ++ .../task/vo/task/BpmTaskRejectReqVO.java | 20 ++ .../task/vo/task/BpmTaskRespVO.java | 37 +++ .../vo/task/BpmTaskTodoPageItemRespVO.java | 53 +++ .../task/vo/task/BpmTaskTodoPageReqVO.java | 28 ++ .../vo/task/BpmTaskUpdateAssigneeReqVO.java | 21 ++ .../convert/definition/BpmFormConvert.java | 8 +- .../convert/definition/BpmModelConvert.java | 2 +- .../BpmProcessDefinitionConvert.java | 5 +- .../definition/BpmTaskAssignRuleConvert.java | 6 +- .../definition/BpmUserGroupConvert.java | 6 +- .../bpm/convert/oa/BpmOALeaveConvert.java | 4 +- .../bpm/convert/task/BpmActivityConvert.java | 2 +- .../task/BpmProcessInstanceConvert.java | 4 +- .../bpm/convert/task/BpmTaskConvert.java | 6 +- .../dal/mysql/definition/BpmFormMapper.java | 2 +- .../mysql/definition/BpmUserGroupMapper.java | 2 +- .../bpm/dal/mysql/oa/BpmOALeaveMapper.java | 2 +- .../task/BpmProcessInstanceExtMapper.java | 2 +- .../service/definition/BpmFormService.java | 6 +- .../definition/BpmFormServiceImpl.java | 6 +- .../service/definition/BpmModelService.java | 2 +- .../definition/BpmModelServiceImpl.java | 2 +- .../BpmProcessDefinitionService.java | 8 +- .../BpmProcessDefinitionServiceImpl.java | 8 +- .../definition/BpmTaskAssignRuleService.java | 6 +- .../BpmTaskAssignRuleServiceImpl.java | 6 +- .../definition/BpmUserGroupService.java | 6 +- .../definition/BpmUserGroupServiceImpl.java | 6 +- .../bpm/service/oa/BpmOALeaveService.java | 4 +- .../bpm/service/oa/BpmOALeaveServiceImpl.java | 4 +- .../bpm/service/task/BpmActivityService.java | 2 +- .../service/task/BpmActivityServiceImpl.java | 2 +- .../task/BpmProcessInstanceService.java | 2 +- .../task/BpmProcessInstanceServiceImpl.java | 2 +- .../bpm/service/task/BpmTaskService.java | 3 +- .../bpm/service/task/BpmTaskServiceImpl.java | 3 +- .../admin/codegen/CodegenController.java | 141 -------- .../codegen/vo/CodegenCreateListReqVO.java | 21 -- .../admin/codegen/vo/CodegenDetailRespVO.java | 20 -- .../codegen/vo/CodegenPreviewRespVO.java | 16 - .../admin/codegen/vo/CodegenUpdateReqVO.java | 59 ---- .../vo/column/CodegenColumnBaseVO.java | 85 ----- .../vo/column/CodegenColumnRespVO.java | 22 -- .../codegen/vo/table/CodegenTableBaseVO.java | 61 ---- .../vo/table/CodegenTablePageReqVO.java | 33 -- .../codegen/vo/table/CodegenTableRespVO.java | 28 -- .../codegen/vo/table/DatabaseTableRespVO.java | 16 - .../admin/config/ConfigController.java | 105 ------ .../admin/config/vo/ConfigBaseVO.java | 40 --- .../admin/config/vo/ConfigCreateReqVO.java | 20 -- .../admin/config/vo/ConfigExcelVO.java | 46 --- .../admin/config/vo/ConfigExportReqVO.java | 28 -- .../admin/config/vo/ConfigPageReqVO.java | 33 -- .../admin/config/vo/ConfigRespVO.java | 30 -- .../admin/config/vo/ConfigUpdateReqVO.java | 20 -- .../admin/db/DataSourceConfigController.java | 73 ----- .../admin/db/DatabaseDocController.java | 154 --------- .../admin/db/vo/DataSourceConfigBaseVO.java | 25 -- .../db/vo/DataSourceConfigCreateReqVO.java | 17 - .../admin/db/vo/DataSourceConfigRespVO.java | 20 -- .../db/vo/DataSourceConfigUpdateReqVO.java | 21 -- .../admin/file/FileConfigController.java | 89 ------ .../controller/admin/file/FileController.java | 92 ------ .../file/vo/config/FileConfigBaseVO.java | 22 -- .../file/vo/config/FileConfigCreateReqVO.java | 25 -- .../file/vo/config/FileConfigPageReqVO.java | 30 -- .../file/vo/config/FileConfigRespVO.java | 35 -- .../file/vo/config/FileConfigUpdateReqVO.java | 25 -- .../admin/file/vo/file/FilePageReqVO.java | 30 -- .../admin/file/vo/file/FileRespVO.java | 36 --- .../admin/file/vo/file/FileUploadReqVO.java | 20 -- .../controller/admin/job/JobController.java | 145 --------- .../admin/job/JobLogController.java | 82 ----- .../admin/job/vo/job/JobBaseVO.java | 37 --- .../admin/job/vo/job/JobCreateReqVO.java | 20 -- .../admin/job/vo/job/JobExcelVO.java | 56 ---- .../admin/job/vo/job/JobExportReqVO.java | 19 -- .../admin/job/vo/job/JobPageReqVO.java | 24 -- .../admin/job/vo/job/JobRespVO.java | 30 -- .../admin/job/vo/job/JobUpdateReqVO.java | 20 -- .../admin/job/vo/log/JobLogBaseVO.java | 53 --- .../admin/job/vo/log/JobLogExcelVO.java | 53 --- .../admin/job/vo/log/JobLogExportReqVO.java | 32 -- .../admin/job/vo/log/JobLogPageReqVO.java | 37 --- .../admin/job/vo/log/JobLogRespVO.java | 22 -- .../admin/logger/ApiAccessLogController.java | 60 ---- .../admin/logger/ApiErrorLogController.java | 74 ----- .../vo/apiaccesslog/ApiAccessLogBaseVO.java | 75 ----- .../vo/apiaccesslog/ApiAccessLogExcelVO.java | 65 ---- .../apiaccesslog/ApiAccessLogExportReqVO.java | 37 --- .../apiaccesslog/ApiAccessLogPageReqVO.java | 42 --- .../vo/apiaccesslog/ApiAccessLogRespVO.java | 22 -- .../vo/apierrorlog/ApiErrorLogBaseVO.java | 95 ------ .../vo/apierrorlog/ApiErrorLogExcelVO.java | 90 ------ .../apierrorlog/ApiErrorLogExportReqVO.java | 34 -- .../vo/apierrorlog/ApiErrorLogPageReqVO.java | 39 --- .../vo/apierrorlog/ApiErrorLogRespVO.java | 28 -- .../admin/redis/RedisController.java | 43 --- .../admin/redis/vo/RedisMonitorRespVO.java | 43 --- .../admin/test/TestDemoController.java | 97 ------ .../admin/test/vo/TestDemoBaseVO.java | 32 -- .../admin/test/vo/TestDemoCreateReqVO.java | 11 - .../admin/test/vo/TestDemoExcelVO.java | 38 --- .../admin/test/vo/TestDemoExportReqVO.java | 33 -- .../admin/test/vo/TestDemoPageReqVO.java | 36 --- .../admin/test/vo/TestDemoRespVO.java | 19 -- .../admin/test/vo/TestDemoUpdateReqVO.java | 16 - .../app/file/AppFileController.java | 38 --- .../app/file/vo/AppFileUploadReqVO.java | 20 -- .../infra/controller/app/package-info.java | 4 - .../controller/codegen/CodegenController.java | 141 ++++++++ .../codegen/vo/CodegenCreateListReqVO.java | 21 ++ .../codegen/vo/CodegenDetailRespVO.java | 20 ++ .../codegen/vo/CodegenPreviewRespVO.java | 16 + .../codegen/vo/CodegenUpdateReqVO.java | 59 ++++ .../vo/column/CodegenColumnBaseVO.java | 85 +++++ .../vo/column/CodegenColumnRespVO.java | 22 ++ .../codegen/vo/table/CodegenTableBaseVO.java | 61 ++++ .../vo/table/CodegenTablePageReqVO.java | 33 ++ .../codegen/vo/table/CodegenTableRespVO.java | 28 ++ .../codegen/vo/table/DatabaseTableRespVO.java | 16 + .../controller/config/ConfigController.java | 105 ++++++ .../controller/config/vo/ConfigBaseVO.java | 40 +++ .../config/vo/ConfigCreateReqVO.java | 20 ++ .../controller/config/vo/ConfigExcelVO.java | 46 +++ .../config/vo/ConfigExportReqVO.java | 28 ++ .../controller/config/vo/ConfigPageReqVO.java | 33 ++ .../controller/config/vo/ConfigRespVO.java | 30 ++ .../config/vo/ConfigUpdateReqVO.java | 20 ++ .../db/DataSourceConfigController.java | 73 +++++ .../controller/db/DatabaseDocController.java | 154 +++++++++ .../db/vo/DataSourceConfigBaseVO.java | 25 ++ .../db/vo/DataSourceConfigCreateReqVO.java | 17 + .../db/vo/DataSourceConfigRespVO.java | 20 ++ .../db/vo/DataSourceConfigUpdateReqVO.java | 21 ++ .../file/FileConfigController.http | 0 .../controller/file/FileConfigController.java | 89 ++++++ .../infra/controller/file/FileController.java | 92 ++++++ .../file/vo/config/FileConfigBaseVO.java | 22 ++ .../file/vo/config/FileConfigCreateReqVO.java | 25 ++ .../file/vo/config/FileConfigPageReqVO.java | 30 ++ .../file/vo/config/FileConfigRespVO.java | 35 ++ .../file/vo/config/FileConfigUpdateReqVO.java | 25 ++ .../file/vo/file/FilePageReqVO.java | 30 ++ .../controller/file/vo/file/FileRespVO.java | 36 +++ .../file/vo/file/FileUploadReqVO.java | 20 ++ .../infra/controller/job/JobController.java | 145 +++++++++ .../controller/job/JobLogController.java | 81 +++++ .../controller/job/vo/job/JobBaseVO.java | 37 +++ .../controller/job/vo/job/JobCreateReqVO.java | 20 ++ .../controller/job/vo/job/JobExcelVO.java | 56 ++++ .../controller/job/vo/job/JobExportReqVO.java | 19 ++ .../controller/job/vo/job/JobPageReqVO.java | 24 ++ .../controller/job/vo/job/JobRespVO.java | 30 ++ .../controller/job/vo/job/JobUpdateReqVO.java | 20 ++ .../controller/job/vo/log/JobLogBaseVO.java | 53 +++ .../controller/job/vo/log/JobLogExcelVO.java | 53 +++ .../job/vo/log/JobLogExportReqVO.java | 32 ++ .../job/vo/log/JobLogPageReqVO.java | 37 +++ .../controller/job/vo/log/JobLogRespVO.java | 22 ++ .../logger/ApiAccessLogController.java | 60 ++++ .../logger/ApiErrorLogController.java | 74 +++++ .../vo/apiaccesslog/ApiAccessLogBaseVO.java | 75 +++++ .../vo/apiaccesslog/ApiAccessLogExcelVO.java | 65 ++++ .../apiaccesslog/ApiAccessLogExportReqVO.java | 37 +++ .../apiaccesslog/ApiAccessLogPageReqVO.java | 42 +++ .../vo/apiaccesslog/ApiAccessLogRespVO.java | 22 ++ .../vo/apierrorlog/ApiErrorLogBaseVO.java | 95 ++++++ .../vo/apierrorlog/ApiErrorLogExcelVO.java | 90 ++++++ .../apierrorlog/ApiErrorLogExportReqVO.java | 34 ++ .../vo/apierrorlog/ApiErrorLogPageReqVO.java | 39 +++ .../vo/apierrorlog/ApiErrorLogRespVO.java | 28 ++ .../module/infra/controller/package-info.java | 6 - .../{admin => }/redis/RedisController.http | 0 .../controller/redis/RedisController.java | 43 +++ .../redis/vo/RedisMonitorRespVO.java | 43 +++ .../{admin => }/test/TestDemoController.http | 0 .../controller/test/TestDemoController.java | 97 ++++++ .../controller/test/vo/TestDemoBaseVO.java | 32 ++ .../test/vo/TestDemoCreateReqVO.java | 11 + .../controller/test/vo/TestDemoExcelVO.java | 38 +++ .../test/vo/TestDemoExportReqVO.java | 33 ++ .../controller/test/vo/TestDemoPageReqVO.java | 36 +++ .../controller/test/vo/TestDemoRespVO.java | 19 ++ .../test/vo/TestDemoUpdateReqVO.java | 16 + .../infra/convert/codegen/CodegenConvert.java | 12 +- .../infra/convert/config/ConfigConvert.java | 8 +- .../convert/db/DataSourceConfigConvert.java | 6 +- .../infra/convert/file/FileConfigConvert.java | 6 +- .../infra/convert/file/FileConvert.java | 2 +- .../module/infra/convert/job/JobConvert.java | 8 +- .../infra/convert/job/JobLogConvert.java | 4 +- .../convert/logger/ApiAccessLogConvert.java | 4 +- .../convert/logger/ApiErrorLogConvert.java | 4 +- .../infra/convert/redis/RedisConvert.java | 2 +- .../infra/convert/test/TestDemoConvert.java | 8 +- .../dal/mysql/codegen/CodegenTableMapper.java | 2 +- .../infra/dal/mysql/config/ConfigMapper.java | 4 +- .../dal/mysql/file/FileConfigMapper.java | 2 +- .../infra/dal/mysql/file/FileMapper.java | 2 +- .../infra/dal/mysql/job/JobLogMapper.java | 4 +- .../module/infra/dal/mysql/job/JobMapper.java | 4 +- .../dal/mysql/logger/ApiAccessLogMapper.java | 4 +- .../dal/mysql/logger/ApiErrorLogMapper.java | 4 +- .../infra/dal/mysql/test/TestDemoMapper.java | 4 +- .../infra/service/codegen/CodegenService.java | 8 +- .../service/codegen/CodegenServiceImpl.java | 8 +- .../infra/service/config/ConfigService.java | 8 +- .../service/config/ConfigServiceImpl.java | 8 +- .../service/db/DataSourceConfigService.java | 4 +- .../db/DataSourceConfigServiceImpl.java | 4 +- .../infra/service/file/FileConfigService.java | 6 +- .../service/file/FileConfigServiceImpl.java | 6 +- .../infra/service/file/FileService.java | 2 +- .../infra/service/file/FileServiceImpl.java | 2 +- .../infra/service/job/JobLogService.java | 4 +- .../infra/service/job/JobLogServiceImpl.java | 4 +- .../module/infra/service/job/JobService.java | 8 +- .../infra/service/job/JobServiceImpl.java | 8 +- .../service/logger/ApiAccessLogService.java | 4 +- .../logger/ApiAccessLogServiceImpl.java | 4 +- .../service/logger/ApiErrorLogService.java | 4 +- .../logger/ApiErrorLogServiceImpl.java | 4 +- .../infra/service/test/TestDemoService.java | 8 +- .../service/test/TestDemoServiceImpl.java | 8 +- .../module/mes/controller/package-info.java | 4 + .../admin/ajreport/package-info.java | 1 - .../admin/goview/GoViewDataController.java | 66 ---- .../admin/goview/GoViewProjectController.java | 77 ----- .../vo/data/GoViewDataGetBySqlReqVO.java | 16 - .../goview/vo/data/GoViewDataRespVO.java | 19 -- .../vo/project/GoViewProjectCreateReqVO.java | 15 - .../vo/project/GoViewProjectRespVO.java | 36 --- .../vo/project/GoViewProjectUpdateReqVO.java | 34 -- .../controller/ajreport/package-info.java | 1 + .../goview/GoViewDataController.java | 66 ++++ .../goview/GoViewProjectController.java | 76 +++++ .../vo/data/GoViewDataGetBySqlReqVO.java | 16 + .../goview/vo/data/GoViewDataRespVO.java | 19 ++ .../vo/project/GoViewProjectCreateReqVO.java | 15 + .../vo/project/GoViewProjectRespVO.java | 36 +++ .../vo/project/GoViewProjectUpdateReqVO.java | 34 ++ .../report/controller/package-info.java | 6 - .../convert/goview/GoViewProjectConvert.java | 6 +- .../service/goview/GoViewDataService.java | 2 +- .../service/goview/GoViewDataServiceImpl.java | 2 +- .../service/goview/GoViewProjectService.java | 4 +- .../goview/GoViewProjectServiceImpl.java | 4 +- .../module/scp/controller/package-info.java | 4 + .../controller/admin/auth/AuthController.java | 113 ------- .../admin/auth/vo/AuthLoginReqVO.java | 46 --- .../admin/auth/vo/AuthLoginRespVO.java | 30 -- .../admin/auth/vo/AuthMenuRespVO.java | 53 --- .../auth/vo/AuthPermissionInfoRespVO.java | 93 ------ .../admin/auth/vo/AuthSmsLoginReqVO.java | 28 -- .../admin/auth/vo/AuthSmsSendReqVO.java | 32 -- .../admin/captcha/CaptchaController.java | 87 ----- .../controller/admin/dept/DeptController.java | 86 ----- .../controller/admin/dept/PostController.java | 99 ------ .../admin/dept/vo/dept/DeptBaseVO.java | 47 --- .../admin/dept/vo/dept/DeptCreateReqVO.java | 12 - .../admin/dept/vo/dept/DeptListReqVO.java | 16 - .../admin/dept/vo/dept/DeptRespVO.java | 23 -- .../admin/dept/vo/dept/DeptSimpleRespVO.java | 23 -- .../admin/dept/vo/dept/DeptUpdateReqVO.java | 18 -- .../admin/dept/vo/post/PostBaseVO.java | 36 --- .../admin/dept/vo/post/PostCreateReqVO.java | 11 - .../admin/dept/vo/post/PostExcelVO.java | 31 -- .../admin/dept/vo/post/PostExportReqVO.java | 19 -- .../admin/dept/vo/post/PostListReqVO.java | 18 -- .../admin/dept/vo/post/PostPageReqVO.java | 22 -- .../admin/dept/vo/post/PostRespVO.java | 20 -- .../admin/dept/vo/post/PostSimpleRespVO.java | 20 -- .../admin/dept/vo/post/PostUpdateReqVO.java | 18 -- .../admin/dict/DictDataController.java | 95 ------ .../admin/dict/DictTypeController.java | 95 ------ .../admin/dict/vo/data/DictDataBaseVO.java | 49 --- .../dict/vo/data/DictDataCreateReqVO.java | 12 - .../admin/dict/vo/data/DictDataExcelVO.java | 34 -- .../dict/vo/data/DictDataExportReqVO.java | 23 -- .../admin/dict/vo/data/DictDataPageReqVO.java | 26 -- .../admin/dict/vo/data/DictDataRespVO.java | 24 -- .../dict/vo/data/DictDataSimpleRespVO.java | 25 -- .../dict/vo/data/DictDataUpdateReqVO.java | 18 -- .../admin/dict/vo/type/DictTypeBaseVO.java | 29 -- .../dict/vo/type/DictTypeCreateReqVO.java | 20 -- .../admin/dict/vo/type/DictTypeExcelVO.java | 28 -- .../dict/vo/type/DictTypeExportReqVO.java | 28 -- .../admin/dict/vo/type/DictTypePageReqVO.java | 33 -- .../admin/dict/vo/type/DictTypeRespVO.java | 27 -- .../dict/vo/type/DictTypeSimpleRespVO.java | 23 -- .../dict/vo/type/DictTypeUpdateReqVO.java | 18 -- .../admin/errorcode/ErrorCodeController.java | 89 ------ .../admin/errorcode/vo/ErrorCodeBaseVO.java | 30 -- .../errorcode/vo/ErrorCodeCreateReqVO.java | 14 - .../admin/errorcode/vo/ErrorCodeExcelVO.java | 40 --- .../errorcode/vo/ErrorCodeExportReqVO.java | 31 -- .../errorcode/vo/ErrorCodePageReqVO.java | 36 --- .../admin/errorcode/vo/ErrorCodeRespVO.java | 25 -- .../errorcode/vo/ErrorCodeUpdateReqVO.java | 20 -- .../controller/admin/ip/AreaController.java | 72 ----- .../admin/ip/vo/AreaNodeRespVO.java | 23 -- .../admin/ip/vo/AreaNodeSimpleRespVO.java | 19 -- .../admin/logger/LoginLogController.java | 59 ---- .../admin/logger/OperateLogController.java | 85 ----- .../logger/vo/loginlog/LoginLogBaseVO.java | 42 --- .../logger/vo/loginlog/LoginLogExcelVO.java | 40 --- .../vo/loginlog/LoginLogExportReqVO.java | 28 -- .../logger/vo/loginlog/LoginLogPageReqVO.java | 31 -- .../logger/vo/loginlog/LoginLogRespVO.java | 30 -- .../vo/operatelog/OperateLogBaseVO.java | 85 ----- .../vo/operatelog/OperateLogExcelVO.java | 42 --- .../vo/operatelog/OperateLogExportReqVO.java | 31 -- .../vo/operatelog/OperateLogPageReqVO.java | 32 -- .../vo/operatelog/OperateLogRespVO.java | 20 -- .../admin/mail/MailAccountController.java | 78 ----- .../admin/mail/MailLogController.java | 49 --- .../admin/mail/MailTemplateController.java | 89 ------ .../mail/vo/account/MailAccountBaseVO.java | 41 --- .../vo/account/MailAccountCreateReqVO.java | 14 - .../mail/vo/account/MailAccountPageReqVO.java | 21 -- .../mail/vo/account/MailAccountRespVO.java | 24 -- .../vo/account/MailAccountSimpleRespVO.java | 16 - .../vo/account/MailAccountUpdateReqVO.java | 20 -- .../admin/mail/vo/log/MailLogBaseVO.java | 75 ----- .../admin/mail/vo/log/MailLogPageReqVO.java | 42 --- .../admin/mail/vo/log/MailLogRespVO.java | 19 -- .../mail/vo/template/MailTemplateBaseVO.java | 46 --- .../vo/template/MailTemplateCreateReqVO.java | 14 - .../vo/template/MailTemplatePageReqVO.java | 36 --- .../mail/vo/template/MailTemplateRespVO.java | 26 -- .../vo/template/MailTemplateSendReqVO.java | 25 -- .../vo/template/MailTemplateSimpleRespVO.java | 16 - .../vo/template/MailTemplateUpdateReqVO.java | 20 -- .../admin/notice/NoticeController.java | 72 ----- .../admin/notice/vo/NoticeBaseVO.java | 32 -- .../admin/notice/vo/NoticeCreateReqVO.java | 11 - .../admin/notice/vo/NoticePageReqVO.java | 19 -- .../admin/notice/vo/NoticeRespVO.java | 20 -- .../admin/notice/vo/NoticeUpdateReqVO.java | 18 -- .../admin/notify/NotifyMessageController.java | 95 ------ .../notify/NotifyTemplateController.java | 83 ----- .../vo/message/NotifyMessageBaseVO.java | 60 ---- .../vo/message/NotifyMessageMyPageReqVO.java | 27 -- .../vo/message/NotifyMessagePageReqVO.java | 36 --- .../vo/message/NotifyMessageRespVO.java | 22 -- .../vo/template/NotifyTemplateBaseVO.java | 46 --- .../template/NotifyTemplateCreateReqVO.java | 11 - .../vo/template/NotifyTemplatePageReqVO.java | 33 -- .../vo/template/NotifyTemplateRespVO.java | 24 -- .../vo/template/NotifyTemplateSendReqVO.java | 24 -- .../template/NotifyTemplateUpdateReqVO.java | 17 - .../admin/oauth2/OAuth2ClientController.java | 74 ----- .../admin/oauth2/OAuth2OpenController.java | 302 ------------------ .../admin/oauth2/OAuth2TokenController.java | 50 --- .../admin/oauth2/OAuth2UserController.java | 80 ----- .../oauth2/vo/client/OAuth2ClientBaseVO.java | 82 ----- .../vo/client/OAuth2ClientCreateReqVO.java | 12 - .../vo/client/OAuth2ClientPageReqVO.java | 19 -- .../oauth2/vo/client/OAuth2ClientRespVO.java | 22 -- .../vo/client/OAuth2ClientUpdateReqVO.java | 20 -- .../vo/open/OAuth2OpenAccessTokenRespVO.java | 34 -- .../open/OAuth2OpenAuthorizeInfoRespVO.java | 38 --- .../vo/open/OAuth2OpenCheckTokenRespVO.java | 40 --- .../vo/token/OAuth2AccessTokenPageReqVO.java | 22 -- .../vo/token/OAuth2AccessTokenRespVO.java | 40 --- .../oauth2/vo/user/OAuth2UserInfoRespVO.java | 70 ---- .../oauth2/vo/user/OAuth2UserUpdateReqVO.java | 34 -- .../admin/permission/MenuController.java | 87 ----- .../permission/PermissionController.java | 82 ----- .../admin/permission/RoleController.java | 106 ------ .../admin/permission/vo/menu/MenuBaseVO.java | 65 ---- .../permission/vo/menu/MenuCreateReqVO.java | 10 - .../permission/vo/menu/MenuListReqVO.java | 16 - .../admin/permission/vo/menu/MenuRespVO.java | 27 -- .../permission/vo/menu/MenuSimpleRespVO.java | 28 -- .../permission/vo/menu/MenuUpdateReqVO.java | 17 - .../PermissionAssignRoleDataScopeReqVO.java | 26 -- .../PermissionAssignRoleMenuReqVO.java | 21 -- .../PermissionAssignUserRoleReqVO.java | 21 -- .../admin/permission/vo/role/RoleBaseVO.java | 34 -- .../permission/vo/role/RoleCreateReqVO.java | 12 - .../admin/permission/vo/role/RoleExcelVO.java | 34 -- .../permission/vo/role/RoleExportReqVO.java | 28 -- .../permission/vo/role/RolePageReqVO.java | 31 -- .../admin/permission/vo/role/RoleRespVO.java | 37 --- .../permission/vo/role/RoleSimpleRespVO.java | 20 -- .../permission/vo/role/RoleUpdateReqVO.java | 18 -- .../vo/role/RoleUpdateStatusReqVO.java | 23 -- .../SensitiveWordController.java | 104 ------ .../sensitiveword/vo/SensitiveWordBaseVO.java | 31 -- .../vo/SensitiveWordCreateReqVO.java | 14 - .../vo/SensitiveWordExcelVO.java | 40 --- .../vo/SensitiveWordExportReqVO.java | 28 -- .../vo/SensitiveWordPageReqVO.java | 33 -- .../sensitiveword/vo/SensitiveWordRespVO.java | 22 -- .../vo/SensitiveWordUpdateReqVO.java | 20 -- .../serialnumber/SerialNumberController.java | 99 ------ .../serialnumber/vo/SerialNumberBaseVO.java | 44 --- .../vo/SerialNumberCreateReqVO.java | 14 - .../serialnumber/vo/SerialNumberExcelVO.java | 43 --- .../vo/SerialNumberExportReqVO.java | 18 -- .../vo/SerialNumberPageReqVO.java | 20 -- .../serialnumber/vo/SerialNumberRespVO.java | 16 - .../vo/SerialNumberUpdateReqVO.java | 18 -- .../admin/sms/SmsCallbackController.java | 48 --- .../admin/sms/SmsChannelController.java | 80 ----- .../admin/sms/SmsLogController.java | 60 ---- .../admin/sms/SmsTemplateController.java | 98 ------ .../sms/vo/channel/SmsChannelBaseVO.java | 37 --- .../sms/vo/channel/SmsChannelCreateReqVO.java | 20 -- .../sms/vo/channel/SmsChannelPageReqVO.java | 30 -- .../sms/vo/channel/SmsChannelRespVO.java | 25 -- .../vo/channel/SmsChannelSimpleRespVO.java | 23 -- .../sms/vo/channel/SmsChannelUpdateReqVO.java | 20 -- .../admin/sms/vo/log/SmsLogExcelVO.java | 100 ------ .../admin/sms/vo/log/SmsLogExportReqVO.java | 38 --- .../admin/sms/vo/log/SmsLogPageReqVO.java | 43 --- .../admin/sms/vo/log/SmsLogRespVO.java | 88 ----- .../sms/vo/template/SmsTemplateBaseVO.java | 45 --- .../vo/template/SmsTemplateCreateReqVO.java | 13 - .../sms/vo/template/SmsTemplateExcelVO.java | 55 ---- .../vo/template/SmsTemplateExportReqVO.java | 37 --- .../sms/vo/template/SmsTemplatePageReqVO.java | 42 --- .../sms/vo/template/SmsTemplateRespVO.java | 29 -- .../sms/vo/template/SmsTemplateSendReqVO.java | 24 -- .../vo/template/SmsTemplateUpdateReqVO.java | 20 -- .../admin/tenant/TenantController.java | 98 ------ .../admin/tenant/TenantPackageController.java | 81 ----- .../vo/packages/TenantPackageBaseVO.java | 31 -- .../vo/packages/TenantPackageCreateReqVO.java | 14 - .../vo/packages/TenantPackagePageReqVO.java | 32 -- .../vo/packages/TenantPackageRespVO.java | 22 -- .../packages/TenantPackageSimpleRespVO.java | 20 -- .../vo/packages/TenantPackageUpdateReqVO.java | 17 - .../admin/tenant/vo/tenant/TenantBaseVO.java | 46 --- .../tenant/vo/tenant/TenantCreateReqVO.java | 29 -- .../admin/tenant/vo/tenant/TenantExcelVO.java | 39 --- .../tenant/vo/tenant/TenantExportReqVO.java | 31 -- .../tenant/vo/tenant/TenantPageReqVO.java | 36 --- .../admin/tenant/vo/tenant/TenantRespVO.java | 20 -- .../tenant/vo/tenant/TenantUpdateReqVO.java | 17 - .../controller/admin/user/UserController.java | 192 ----------- .../admin/user/UserProfileController.java | 100 ------ .../user/vo/profile/UserProfileRespVO.java | 103 ------ .../UserProfileUpdatePasswordReqVO.java | 23 -- .../vo/profile/UserProfileUpdateReqVO.java | 31 -- .../admin/user/vo/user/UserBaseVO.java | 54 ---- .../admin/user/vo/user/UserCreateReqVO.java | 20 -- .../admin/user/vo/user/UserExcelVO.java | 52 --- .../admin/user/vo/user/UserExportReqVO.java | 35 -- .../admin/user/vo/user/UserImportExcelVO.java | 46 --- .../admin/user/vo/user/UserImportRespVO.java | 24 -- .../user/vo/user/UserPageItemRespVO.java | 33 -- .../admin/user/vo/user/UserPageReqVO.java | 38 --- .../admin/user/vo/user/UserRespVO.java | 31 -- .../admin/user/vo/user/UserSimpleRespVO.java | 20 -- .../user/vo/user/UserUpdatePasswordReqVO.java | 23 -- .../admin/user/vo/user/UserUpdateReqVO.java | 18 -- .../user/vo/user/UserUpdateStatusReqVO.java | 23 -- .../app/dict/AppDictDataController.java | 4 - .../controller/app/ip/AppAreaController.java | 34 -- .../app/ip/vo/AppAreaNodeRespVO.java | 23 -- .../system/controller/app/package-info.java | 4 - .../{admin => }/auth/AuthController.http | 0 .../controller/auth/AuthController.java | 113 +++++++ .../controller/auth/vo/AuthLoginReqVO.java | 46 +++ .../controller/auth/vo/AuthLoginRespVO.java | 30 ++ .../controller/auth/vo/AuthMenuRespVO.java | 53 +++ .../auth/vo/AuthPermissionInfoRespVO.java | 93 ++++++ .../controller/auth/vo/AuthSmsLoginReqVO.java | 28 ++ .../controller/auth/vo/AuthSmsSendReqVO.java | 32 ++ .../controller/captcha/CaptchaController.java | 87 +++++ .../controller/dept/DeptController.java | 86 +++++ .../controller/dept/PostController.java | 99 ++++++ .../controller/dept/vo/dept/DeptBaseVO.java | 47 +++ .../dept/vo/dept/DeptCreateReqVO.java | 12 + .../dept/vo/dept/DeptListReqVO.java | 16 + .../controller/dept/vo/dept/DeptRespVO.java | 23 ++ .../dept/vo/dept/DeptSimpleRespVO.java | 23 ++ .../dept/vo/dept/DeptUpdateReqVO.java | 18 ++ .../controller/dept/vo/post/PostBaseVO.java | 36 +++ .../dept/vo/post/PostCreateReqVO.java | 11 + .../controller/dept/vo/post/PostExcelVO.java | 31 ++ .../dept/vo/post/PostExportReqVO.java | 19 ++ .../dept/vo/post/PostListReqVO.java | 18 ++ .../dept/vo/post/PostPageReqVO.java | 22 ++ .../controller/dept/vo/post/PostRespVO.java | 20 ++ .../dept/vo/post/PostSimpleRespVO.java | 20 ++ .../dept/vo/post/PostUpdateReqVO.java | 18 ++ .../{admin => }/dict/DictDataController.http | 0 .../controller/dict/DictDataController.java | 95 ++++++ .../controller/dict/DictTypeController.java | 95 ++++++ .../dict/vo/data/DictDataBaseVO.java | 49 +++ .../dict/vo/data/DictDataCreateReqVO.java | 12 + .../dict/vo/data/DictDataExcelVO.java | 34 ++ .../dict/vo/data/DictDataExportReqVO.java | 23 ++ .../dict/vo/data/DictDataPageReqVO.java | 26 ++ .../dict/vo/data/DictDataRespVO.java | 24 ++ .../dict/vo/data/DictDataSimpleRespVO.java | 25 ++ .../dict/vo/data/DictDataUpdateReqVO.java | 18 ++ .../dict/vo/type/DictTypeBaseVO.java | 29 ++ .../dict/vo/type/DictTypeCreateReqVO.java | 20 ++ .../dict/vo/type/DictTypeExcelVO.java | 28 ++ .../dict/vo/type/DictTypeExportReqVO.java | 28 ++ .../dict/vo/type/DictTypePageReqVO.java | 33 ++ .../dict/vo/type/DictTypeRespVO.java | 27 ++ .../dict/vo/type/DictTypeSimpleRespVO.java | 23 ++ .../dict/vo/type/DictTypeUpdateReqVO.java | 18 ++ .../errorcode/ErrorCodeController.http | 0 .../errorcode/ErrorCodeController.java | 89 ++++++ .../errorcode/vo/ErrorCodeBaseVO.java | 30 ++ .../errorcode/vo/ErrorCodeCreateReqVO.java | 14 + .../errorcode/vo/ErrorCodeExcelVO.java | 40 +++ .../errorcode/vo/ErrorCodeExportReqVO.java | 31 ++ .../errorcode/vo/ErrorCodePageReqVO.java | 36 +++ .../errorcode/vo/ErrorCodeRespVO.java | 25 ++ .../errorcode/vo/ErrorCodeUpdateReqVO.java | 20 ++ .../{admin => }/ip/AreaController.http | 0 .../system/controller/ip/AreaController.java | 72 +++++ .../controller/ip/vo/AreaNodeRespVO.java | 23 ++ .../ip/vo/AreaNodeSimpleRespVO.java | 19 ++ .../controller/logger/LoginLogController.java | 59 ++++ .../logger/OperateLogController.http | 0 .../logger/OperateLogController.java | 85 +++++ .../logger/vo/loginlog/LoginLogBaseVO.java | 42 +++ .../logger/vo/loginlog/LoginLogExcelVO.java | 40 +++ .../vo/loginlog/LoginLogExportReqVO.java | 28 ++ .../logger/vo/loginlog/LoginLogPageReqVO.java | 31 ++ .../logger/vo/loginlog/LoginLogRespVO.java | 30 ++ .../vo/operatelog/OperateLogBaseVO.java | 85 +++++ .../vo/operatelog/OperateLogExcelVO.java | 42 +++ .../vo/operatelog/OperateLogExportReqVO.java | 31 ++ .../vo/operatelog/OperateLogPageReqVO.java | 32 ++ .../vo/operatelog/OperateLogRespVO.java | 20 ++ .../mail/MailAccountController.java | 78 +++++ .../controller/mail/MailLogController.java | 49 +++ .../mail/MailTemplateController.http | 0 .../mail/MailTemplateController.java | 89 ++++++ .../mail/vo/account/MailAccountBaseVO.java | 41 +++ .../vo/account/MailAccountCreateReqVO.java | 14 + .../mail/vo/account/MailAccountPageReqVO.java | 21 ++ .../mail/vo/account/MailAccountRespVO.java | 24 ++ .../vo/account/MailAccountSimpleRespVO.java | 16 + .../vo/account/MailAccountUpdateReqVO.java | 20 ++ .../controller/mail/vo/log/MailLogBaseVO.java | 75 +++++ .../mail/vo/log/MailLogPageReqVO.java | 42 +++ .../controller/mail/vo/log/MailLogRespVO.java | 19 ++ .../mail/vo/template/MailTemplateBaseVO.java | 46 +++ .../vo/template/MailTemplateCreateReqVO.java | 14 + .../vo/template/MailTemplatePageReqVO.java | 36 +++ .../mail/vo/template/MailTemplateRespVO.java | 26 ++ .../vo/template/MailTemplateSendReqVO.java | 25 ++ .../vo/template/MailTemplateSimpleRespVO.java | 16 + .../vo/template/MailTemplateUpdateReqVO.java | 20 ++ .../controller/notice/NoticeController.java | 72 +++++ .../controller/notice/vo/NoticeBaseVO.java | 32 ++ .../notice/vo/NoticeCreateReqVO.java | 11 + .../controller/notice/vo/NoticePageReqVO.java | 19 ++ .../controller/notice/vo/NoticeRespVO.java | 20 ++ .../notice/vo/NoticeUpdateReqVO.java | 18 ++ .../notify/NotifyMessageController.java | 95 ++++++ .../notify/NotifyTemplateController.java | 83 +++++ .../vo/message/NotifyMessageBaseVO.java | 60 ++++ .../vo/message/NotifyMessageMyPageReqVO.java | 27 ++ .../vo/message/NotifyMessagePageReqVO.java | 36 +++ .../vo/message/NotifyMessageRespVO.java | 22 ++ .../vo/template/NotifyTemplateBaseVO.java | 46 +++ .../template/NotifyTemplateCreateReqVO.java | 11 + .../vo/template/NotifyTemplatePageReqVO.java | 33 ++ .../vo/template/NotifyTemplateRespVO.java | 24 ++ .../vo/template/NotifyTemplateSendReqVO.java | 24 ++ .../template/NotifyTemplateUpdateReqVO.java | 17 + .../oauth2/OAuth2ClientController.http | 0 .../oauth2/OAuth2ClientController.java | 74 +++++ .../oauth2/OAuth2OpenController.http | 0 .../oauth2/OAuth2OpenController.java | 302 ++++++++++++++++++ .../oauth2/OAuth2TokenController.java | 50 +++ .../oauth2/OAuth2UserController.http | 0 .../oauth2/OAuth2UserController.java | 80 +++++ .../oauth2/vo/client/OAuth2ClientBaseVO.java | 82 +++++ .../vo/client/OAuth2ClientCreateReqVO.java | 12 + .../vo/client/OAuth2ClientPageReqVO.java | 19 ++ .../oauth2/vo/client/OAuth2ClientRespVO.java | 22 ++ .../vo/client/OAuth2ClientUpdateReqVO.java | 20 ++ .../vo/open/OAuth2OpenAccessTokenRespVO.java | 34 ++ .../open/OAuth2OpenAuthorizeInfoRespVO.java | 38 +++ .../vo/open/OAuth2OpenCheckTokenRespVO.java | 40 +++ .../vo/token/OAuth2AccessTokenPageReqVO.java | 22 ++ .../vo/token/OAuth2AccessTokenRespVO.java | 40 +++ .../oauth2/vo/user/OAuth2UserInfoRespVO.java | 70 ++++ .../oauth2/vo/user/OAuth2UserUpdateReqVO.java | 34 ++ .../system/controller/package-info.java | 6 - .../permission/MenuController.http | 0 .../controller/permission/MenuController.java | 87 +++++ .../permission/PermissionController.java | 82 +++++ .../permission/RoleController.http | 0 .../controller/permission/RoleController.java | 106 ++++++ .../permission/vo/menu/MenuBaseVO.java | 65 ++++ .../permission/vo/menu/MenuCreateReqVO.java | 10 + .../permission/vo/menu/MenuListReqVO.java | 16 + .../permission/vo/menu/MenuRespVO.java | 27 ++ .../permission/vo/menu/MenuSimpleRespVO.java | 28 ++ .../permission/vo/menu/MenuUpdateReqVO.java | 17 + .../PermissionAssignRoleDataScopeReqVO.java | 26 ++ .../PermissionAssignRoleMenuReqVO.java | 21 ++ .../PermissionAssignUserRoleReqVO.java | 21 ++ .../permission/vo/role/RoleBaseVO.java | 34 ++ .../permission/vo/role/RoleCreateReqVO.java | 12 + .../permission/vo/role/RoleExcelVO.java | 34 ++ .../permission/vo/role/RoleExportReqVO.java | 28 ++ .../permission/vo/role/RolePageReqVO.java | 31 ++ .../permission/vo/role/RoleRespVO.java | 37 +++ .../permission/vo/role/RoleSimpleRespVO.java | 20 ++ .../permission/vo/role/RoleUpdateReqVO.java | 18 ++ .../vo/role/RoleUpdateStatusReqVO.java | 23 ++ .../SensitiveWordController.http | 0 .../SensitiveWordController.java | 104 ++++++ .../sensitiveword/vo/SensitiveWordBaseVO.java | 31 ++ .../vo/SensitiveWordCreateReqVO.java | 14 + .../vo/SensitiveWordExcelVO.java | 40 +++ .../vo/SensitiveWordExportReqVO.java | 28 ++ .../vo/SensitiveWordPageReqVO.java | 33 ++ .../sensitiveword/vo/SensitiveWordRespVO.java | 22 ++ .../vo/SensitiveWordUpdateReqVO.java | 20 ++ .../serialnumber/SerialNumberController.java | 99 ++++++ .../serialnumber/vo/SerialNumberBaseVO.java | 44 +++ .../vo/SerialNumberCreateReqVO.java | 12 + .../serialnumber/vo/SerialNumberExcelVO.java | 43 +++ .../vo/SerialNumberExportReqVO.java | 18 ++ .../vo/SerialNumberPageReqVO.java | 20 ++ .../serialnumber/vo/SerialNumberRespVO.java | 15 + .../vo/SerialNumberUpdateReqVO.java | 18 ++ .../controller/sms/SmsCallbackController.java | 48 +++ .../controller/sms/SmsChannelController.java | 80 +++++ .../controller/sms/SmsLogController.java | 60 ++++ .../sms/SmsTemplateController.http | 0 .../controller/sms/SmsTemplateController.java | 98 ++++++ .../sms/vo/channel/SmsChannelBaseVO.java | 37 +++ .../sms/vo/channel/SmsChannelCreateReqVO.java | 20 ++ .../sms/vo/channel/SmsChannelPageReqVO.java | 30 ++ .../sms/vo/channel/SmsChannelRespVO.java | 25 ++ .../vo/channel/SmsChannelSimpleRespVO.java | 23 ++ .../sms/vo/channel/SmsChannelUpdateReqVO.java | 20 ++ .../controller/sms/vo/log/SmsLogExcelVO.java | 100 ++++++ .../sms/vo/log/SmsLogExportReqVO.java | 38 +++ .../sms/vo/log/SmsLogPageReqVO.java | 43 +++ .../controller/sms/vo/log/SmsLogRespVO.java | 88 +++++ .../sms/vo/template/SmsTemplateBaseVO.java | 45 +++ .../vo/template/SmsTemplateCreateReqVO.java | 13 + .../sms/vo/template/SmsTemplateExcelVO.java | 55 ++++ .../vo/template/SmsTemplateExportReqVO.java | 37 +++ .../sms/vo/template/SmsTemplatePageReqVO.java | 42 +++ .../sms/vo/template/SmsTemplateRespVO.java | 29 ++ .../sms/vo/template/SmsTemplateSendReqVO.java | 24 ++ .../vo/template/SmsTemplateUpdateReqVO.java | 20 ++ .../{admin => }/tenant/TenantController.http | 0 .../controller/tenant/TenantController.java | 98 ++++++ .../tenant/TenantPackageController.java | 81 +++++ .../vo/packages/TenantPackageBaseVO.java | 31 ++ .../vo/packages/TenantPackageCreateReqVO.java | 14 + .../vo/packages/TenantPackagePageReqVO.java | 32 ++ .../vo/packages/TenantPackageRespVO.java | 22 ++ .../packages/TenantPackageSimpleRespVO.java | 20 ++ .../vo/packages/TenantPackageUpdateReqVO.java | 17 + .../tenant/vo/tenant/TenantBaseVO.java | 46 +++ .../tenant/vo/tenant/TenantCreateReqVO.java | 29 ++ .../tenant/vo/tenant/TenantExcelVO.java | 39 +++ .../tenant/vo/tenant/TenantExportReqVO.java | 31 ++ .../tenant/vo/tenant/TenantPageReqVO.java | 36 +++ .../tenant/vo/tenant/TenantRespVO.java | 20 ++ .../tenant/vo/tenant/TenantUpdateReqVO.java | 17 + .../{admin => }/user/UserController.http | 0 .../controller/user/UserController.java | 192 +++++++++++ .../user/UserProfileController.http | 0 .../user/UserProfileController.java | 100 ++++++ .../user/vo/profile/UserProfileRespVO.java | 103 ++++++ .../UserProfileUpdatePasswordReqVO.java | 23 ++ .../vo/profile/UserProfileUpdateReqVO.java | 31 ++ .../controller/user/vo/user/UserBaseVO.java | 54 ++++ .../user/vo/user/UserCreateReqVO.java | 20 ++ .../controller/user/vo/user/UserExcelVO.java | 52 +++ .../user/vo/user/UserExportReqVO.java | 35 ++ .../user/vo/user/UserImportExcelVO.java | 46 +++ .../user/vo/user/UserImportRespVO.java | 24 ++ .../user/vo/user/UserPageItemRespVO.java | 33 ++ .../user/vo/user/UserPageReqVO.java | 38 +++ .../controller/user/vo/user/UserRespVO.java | 31 ++ .../user/vo/user/UserSimpleRespVO.java | 20 ++ .../user/vo/user/UserUpdatePasswordReqVO.java | 23 ++ .../user/vo/user/UserUpdateReqVO.java | 18 ++ .../user/vo/user/UserUpdateStatusReqVO.java | 23 ++ .../system/convert/auth/AuthConvert.java | 4 +- .../convert/auth/OAuth2ClientConvert.java | 6 +- .../convert/auth/OAuth2TokenConvert.java | 2 +- .../system/convert/dept/DeptConvert.java | 9 +- .../system/convert/dept/PostConvert.java | 2 +- .../system/convert/dict/DictDataConvert.java | 3 +- .../system/convert/dict/DictTypeConvert.java | 2 +- .../convert/errorcode/ErrorCodeConvert.java | 8 +- .../module/system/convert/ip/AreaConvert.java | 7 +- .../convert/logger/LoginLogConvert.java | 4 +- .../convert/logger/OperateLogConvert.java | 4 +- .../convert/mail/MailAccountConvert.java | 2 +- .../system/convert/mail/MailLogConvert.java | 2 +- .../convert/mail/MailTemplateConvert.java | 5 +- .../system/convert/notice/NoticeConvert.java | 6 +- .../convert/notify/NotifyMessageConvert.java | 2 +- .../convert/notify/NotifyTemplateConvert.java | 6 +- .../convert/oauth2/OAuth2OpenConvert.java | 6 +- .../convert/oauth2/OAuth2UserConvert.java | 6 +- .../convert/permission/MenuConvert.java | 8 +- .../convert/permission/RoleConvert.java | 2 +- .../sensitiveword/SensitiveWordConvert.java | 8 +- .../serialnumber/SerialNumberConvert.java | 5 +- .../system/convert/sms/SmsChannelConvert.java | 8 +- .../system/convert/sms/SmsLogConvert.java | 4 +- .../convert/sms/SmsTemplateConvert.java | 8 +- .../system/convert/tenant/TenantConvert.java | 10 +- .../convert/tenant/TenantPackageConvert.java | 9 +- .../system/convert/user/UserConvert.java | 8 +- .../system/dal/mysql/dept/DeptMapper.java | 2 +- .../system/dal/mysql/dept/PostMapper.java | 4 +- .../system/dal/mysql/dict/DictDataMapper.java | 4 +- .../system/dal/mysql/dict/DictTypeMapper.java | 4 +- .../dal/mysql/errorcode/ErrorCodeMapper.java | 4 +- .../dal/mysql/logger/LoginLogMapper.java | 4 +- .../dal/mysql/logger/OperateLogMapper.java | 4 +- .../dal/mysql/mail/MailAccountMapper.java | 3 +- .../system/dal/mysql/mail/MailLogMapper.java | 2 +- .../dal/mysql/mail/MailTemplateMapper.java | 7 +- .../system/dal/mysql/notice/NoticeMapper.java | 2 +- .../dal/mysql/notify/NotifyMessageMapper.java | 4 +- .../mysql/notify/NotifyTemplateMapper.java | 2 +- .../mysql/oauth2/OAuth2AccessTokenMapper.java | 2 +- .../dal/mysql/oauth2/OAuth2ClientMapper.java | 2 +- .../dal/mysql/permission/MenuMapper.java | 2 +- .../dal/mysql/permission/RoleMapper.java | 4 +- .../sensitiveword/SensitiveWordMapper.java | 4 +- .../serialnumber/SerialNumberMapper.java | 4 +- .../dal/mysql/sms/SmsChannelMapper.java | 2 +- .../system/dal/mysql/sms/SmsLogMapper.java | 4 +- .../dal/mysql/sms/SmsTemplateMapper.java | 4 +- .../system/dal/mysql/tenant/TenantMapper.java | 4 +- .../dal/mysql/tenant/TenantPackageMapper.java | 2 +- .../dal/mysql/user/AdminUserMapper.java | 4 +- .../system/service/auth/AdminAuthService.java | 3 +- .../service/auth/AdminAuthServiceImpl.java | 4 +- .../system/service/dept/DeptService.java | 6 +- .../system/service/dept/DeptServiceImpl.java | 6 +- .../system/service/dept/PostService.java | 8 +- .../system/service/dept/PostServiceImpl.java | 8 +- .../system/service/dict/DictDataService.java | 8 +- .../service/dict/DictDataServiceImpl.java | 8 +- .../system/service/dict/DictTypeService.java | 8 +- .../service/dict/DictTypeServiceImpl.java | 8 +- .../service/errorcode/ErrorCodeService.java | 8 +- .../errorcode/ErrorCodeServiceImpl.java | 8 +- .../service/logger/LoginLogService.java | 4 +- .../service/logger/LoginLogServiceImpl.java | 4 +- .../service/logger/OperateLogService.java | 4 +- .../service/logger/OperateLogServiceImpl.java | 4 +- .../service/mail/MailAccountService.java | 6 +- .../service/mail/MailAccountServiceImpl.java | 6 +- .../system/service/mail/MailLogService.java | 2 +- .../service/mail/MailLogServiceImpl.java | 3 +- .../service/mail/MailTemplateService.java | 6 +- .../service/mail/MailTemplateServiceImpl.java | 6 +- .../system/service/notice/NoticeService.java | 6 +- .../service/notice/NoticeServiceImpl.java | 6 +- .../service/notify/NotifyMessageService.java | 4 +- .../notify/NotifyMessageServiceImpl.java | 4 +- .../service/notify/NotifyTemplateService.java | 6 +- .../notify/NotifyTemplateServiceImpl.java | 6 +- .../service/oauth2/OAuth2ClientService.java | 6 +- .../oauth2/OAuth2ClientServiceImpl.java | 6 +- .../service/oauth2/OAuth2TokenService.java | 2 +- .../oauth2/OAuth2TokenServiceImpl.java | 3 +- .../service/permission/MenuService.java | 6 +- .../service/permission/MenuServiceImpl.java | 6 +- .../service/permission/RoleService.java | 8 +- .../service/permission/RoleServiceImpl.java | 8 +- .../sensitiveword/SensitiveWordService.java | 8 +- .../SensitiveWordServiceImpl.java | 8 +- .../serialnumber/SerialNumberService.java | 8 +- .../serialnumber/SerialNumberServiceImpl.java | 8 +- .../system/service/sms/SmsChannelService.java | 6 +- .../service/sms/SmsChannelServiceImpl.java | 6 +- .../system/service/sms/SmsLogService.java | 4 +- .../system/service/sms/SmsLogServiceImpl.java | 4 +- .../service/sms/SmsTemplateService.java | 8 +- .../service/sms/SmsTemplateServiceImpl.java | 8 +- .../service/tenant/TenantPackageService.java | 6 +- .../tenant/TenantPackageServiceImpl.java | 6 +- .../system/service/tenant/TenantService.java | 8 +- .../service/tenant/TenantServiceImpl.java | 10 +- .../system/service/user/AdminUserService.java | 6 +- .../service/user/AdminUserServiceImpl.java | 6 +- .../AccountcalendarController.java | 99 ++++++ .../vo/AccountcalendarBaseVO.java | 63 ++++ .../vo/AccountcalendarCreateReqVO.java | 14 + .../vo/AccountcalendarExcelVO.java | 56 ++++ .../vo/AccountcalendarExportReqVO.java | 57 ++++ .../vo/AccountcalendarPageReqVO.java | 62 ++++ .../vo/AccountcalendarRespVO.java | 22 ++ .../vo/AccountcalendarUpdateReqVO.java | 14 + .../AccountcalendarController.java | 99 ------ .../vo/AccountcalendarBaseVO.java | 63 ---- .../vo/AccountcalendarCreateReqVO.java | 14 - .../vo/AccountcalendarExcelVO.java | 56 ---- .../vo/AccountcalendarExportReqVO.java | 57 ---- .../vo/AccountcalendarPageReqVO.java | 62 ---- .../vo/AccountcalendarRespVO.java | 22 -- .../vo/AccountcalendarUpdateReqVO.java | 14 - .../admin/areabasic/AreabasicController.java | 99 ------ .../admin/areabasic/vo/AreabasicBaseVO.java | 58 ---- .../areabasic/vo/AreabasicCreateReqVO.java | 14 - .../admin/areabasic/vo/AreabasicExcelVO.java | 58 ---- .../areabasic/vo/AreabasicExportReqVO.java | 54 ---- .../areabasic/vo/AreabasicPageReqVO.java | 59 ---- .../admin/areabasic/vo/AreabasicRespVO.java | 22 -- .../areabasic/vo/AreabasicUpdateReqVO.java | 14 - .../controller/admin/bom/BomController.java | 99 ------ .../controller/admin/bom/vo/BomBaseVO.java | 64 ---- .../admin/bom/vo/BomCreateReqVO.java | 14 - .../controller/admin/bom/vo/BomExcelVO.java | 61 ---- .../admin/bom/vo/BomExportReqVO.java | 58 ---- .../controller/admin/bom/vo/BomPageReqVO.java | 63 ---- .../controller/admin/bom/vo/BomRespVO.java | 22 -- .../admin/bom/vo/BomUpdateReqVO.java | 14 - .../CurrencyexchangeController.java | 99 ------ .../vo/CurrencyexchangeBaseVO.java | 50 --- .../vo/CurrencyexchangeCreateReqVO.java | 14 - .../vo/CurrencyexchangeExcelVO.java | 48 --- .../vo/CurrencyexchangeExportReqVO.java | 46 --- .../vo/CurrencyexchangePageReqVO.java | 51 --- .../vo/CurrencyexchangeRespVO.java | 22 -- .../vo/CurrencyexchangeUpdateReqVO.java | 14 - .../admin/customer/CustomerController.java | 99 ------ .../admin/customer/vo/CustomerBaseVO.java | 82 ----- .../customer/vo/CustomerCreateReqVO.java | 14 - .../admin/customer/vo/CustomerExcelVO.java | 83 ----- .../customer/vo/CustomerExportReqVO.java | 79 ----- .../admin/customer/vo/CustomerPageReqVO.java | 84 ----- .../admin/customer/vo/CustomerRespVO.java | 22 -- .../customer/vo/CustomerUpdateReqVO.java | 14 - .../customerdock/CustomerdockController.java | 99 ------ .../customerdock/vo/CustomerdockBaseVO.java | 70 ---- .../vo/CustomerdockCreateReqVO.java | 14 - .../customerdock/vo/CustomerdockExcelVO.java | 68 ---- .../vo/CustomerdockExportReqVO.java | 66 ---- .../vo/CustomerdockPageReqVO.java | 71 ---- .../customerdock/vo/CustomerdockRespVO.java | 22 -- .../vo/CustomerdockUpdateReqVO.java | 14 - .../customeritem/CustomeritemController.java | 99 ------ .../customeritem/vo/CustomeritemBaseVO.java | 73 ----- .../vo/CustomeritemCreateReqVO.java | 14 - .../customeritem/vo/CustomeritemExcelVO.java | 72 ----- .../vo/CustomeritemExportReqVO.java | 67 ---- .../vo/CustomeritemPageReqVO.java | 72 ----- .../customeritem/vo/CustomeritemRespVO.java | 22 -- .../vo/CustomeritemUpdateReqVO.java | 14 - .../controller/admin/dock/DockController.java | 99 ------ .../controller/admin/dock/vo/DockBaseVO.java | 71 ---- .../admin/dock/vo/DockCreateReqVO.java | 14 - .../controller/admin/dock/vo/DockExcelVO.java | 69 ---- .../admin/dock/vo/DockExportReqVO.java | 66 ---- .../admin/dock/vo/DockPageReqVO.java | 71 ---- .../controller/admin/dock/vo/DockRespVO.java | 22 -- .../admin/dock/vo/DockUpdateReqVO.java | 14 - .../admin/itembasic/ItembasicController.java | 120 ------- .../admin/itembasic/vo/ItembasicBaseVO.java | 115 ------- .../itembasic/vo/ItembasicCreateReqVO.java | 14 - .../admin/itembasic/vo/ItembasicExcelVO.java | 119 ------- .../itembasic/vo/ItembasicExportReqVO.java | 102 ------ .../itembasic/vo/ItembasicPageReqVO.java | 107 ------- .../admin/itembasic/vo/ItembasicRespVO.java | 22 -- .../itembasic/vo/ItembasicUpdateReqVO.java | 14 - .../ItempackagingController.java | 99 ------ .../itempackaging/vo/ItempackagingBaseVO.java | 78 ----- .../vo/ItempackagingCreateReqVO.java | 14 - .../vo/ItempackagingExcelVO.java | 81 ----- .../vo/ItempackagingExportReqVO.java | 73 ----- .../vo/ItempackagingPageReqVO.java | 78 ----- .../itempackaging/vo/ItempackagingRespVO.java | 22 -- .../vo/ItempackagingUpdateReqVO.java | 14 - .../admin/location/LocationController.java | 99 ------ .../admin/location/vo/LocationBaseVO.java | 97 ------ .../location/vo/LocationCreateReqVO.java | 14 - .../admin/location/vo/LocationExcelVO.java | 92 ------ .../location/vo/LocationExportReqVO.java | 88 ----- .../admin/location/vo/LocationPageReqVO.java | 93 ------ .../admin/location/vo/LocationRespVO.java | 22 -- .../location/vo/LocationUpdateReqVO.java | 14 - .../LocationgroupController.java | 99 ------ .../locationgroup/vo/LocationgroupBaseVO.java | 55 ---- .../vo/LocationgroupCreateReqVO.java | 14 - .../vo/LocationgroupExcelVO.java | 53 --- .../vo/LocationgroupExportReqVO.java | 51 --- .../vo/LocationgroupPageReqVO.java | 56 ---- .../locationgroup/vo/LocationgroupRespVO.java | 22 -- .../vo/LocationgroupUpdateReqVO.java | 14 - .../admin/process/ProcessController.java | 99 ------ .../admin/process/vo/ProcessBaseVO.java | 58 ---- .../admin/process/vo/ProcessCreateReqVO.java | 14 - .../admin/process/vo/ProcessExcelVO.java | 57 ---- .../admin/process/vo/ProcessExportReqVO.java | 54 ---- .../admin/process/vo/ProcessPageReqVO.java | 59 ---- .../admin/process/vo/ProcessRespVO.java | 22 -- .../admin/process/vo/ProcessUpdateReqVO.java | 14 - .../ProductionlineController.java | 99 ------ .../vo/ProductionlineBaseVO.java | 61 ---- .../vo/ProductionlineCreateReqVO.java | 14 - .../vo/ProductionlineExcelVO.java | 60 ---- .../vo/ProductionlineExportReqVO.java | 57 ---- .../vo/ProductionlinePageReqVO.java | 62 ---- .../vo/ProductionlineRespVO.java | 22 -- .../vo/ProductionlineUpdateReqVO.java | 14 - .../ProductionlineitemController.java | 99 ------ .../vo/ProductionlineitemBaseVO.java | 49 --- .../vo/ProductionlineitemCreateReqVO.java | 14 - .../vo/ProductionlineitemExcelVO.java | 47 --- .../vo/ProductionlineitemExportReqVO.java | 45 --- .../vo/ProductionlineitemPageReqVO.java | 50 --- .../vo/ProductionlineitemRespVO.java | 22 -- .../vo/ProductionlineitemUpdateReqVO.java | 14 - .../admin/project/ProjectController.java | 99 ------ .../admin/project/vo/ProjectBaseVO.java | 50 --- .../admin/project/vo/ProjectCreateReqVO.java | 14 - .../admin/project/vo/ProjectExcelVO.java | 50 --- .../admin/project/vo/ProjectExportReqVO.java | 48 --- .../admin/project/vo/ProjectPageReqVO.java | 53 --- .../admin/project/vo/ProjectRespVO.java | 22 -- .../admin/project/vo/ProjectUpdateReqVO.java | 14 - .../PurchasepriceController.java | 99 ------ .../purchaseprice/vo/PurchasepriceBaseVO.java | 54 ---- .../vo/PurchasepriceCreateReqVO.java | 14 - .../vo/PurchasepriceExcelVO.java | 52 --- .../vo/PurchasepriceExportReqVO.java | 49 --- .../vo/PurchasepricePageReqVO.java | 54 ---- .../purchaseprice/vo/PurchasepriceRespVO.java | 22 -- .../vo/PurchasepriceUpdateReqVO.java | 14 - .../admin/saleprice/SalepriceController.java | 99 ------ .../admin/saleprice/vo/SalepriceBaseVO.java | 54 ---- .../saleprice/vo/SalepriceCreateReqVO.java | 14 - .../admin/saleprice/vo/SalepriceExcelVO.java | 52 --- .../saleprice/vo/SalepriceExportReqVO.java | 49 --- .../saleprice/vo/SalepricePageReqVO.java | 54 ---- .../admin/saleprice/vo/SalepriceRespVO.java | 22 -- .../saleprice/vo/SalepriceUpdateReqVO.java | 14 - .../stdcostprice/StdcostpriceController.java | 99 ------ .../stdcostprice/vo/StdcostpriceBaseVO.java | 54 ---- .../vo/StdcostpriceCreateReqVO.java | 14 - .../stdcostprice/vo/StdcostpriceExcelVO.java | 52 --- .../vo/StdcostpriceExportReqVO.java | 49 --- .../vo/StdcostpricePageReqVO.java | 54 ---- .../stdcostprice/vo/StdcostpriceRespVO.java | 22 -- .../vo/StdcostpriceUpdateReqVO.java | 14 - .../admin/supplier/SupplierController.java | 99 ------ .../admin/supplier/vo/SupplierBaseVO.java | 83 ----- .../supplier/vo/SupplierCreateReqVO.java | 14 - .../admin/supplier/vo/SupplierExcelVO.java | 83 ----- .../supplier/vo/SupplierExportReqVO.java | 79 ----- .../admin/supplier/vo/SupplierPageReqVO.java | 84 ----- .../admin/supplier/vo/SupplierRespVO.java | 22 -- .../supplier/vo/SupplierUpdateReqVO.java | 14 - .../supplieritem/SupplieritemController.java | 99 ------ .../supplieritem/vo/SupplieritemBaseVO.java | 82 ----- .../vo/SupplieritemCreateReqVO.java | 14 - .../supplieritem/vo/SupplieritemExcelVO.java | 82 ----- .../vo/SupplieritemExportReqVO.java | 76 ----- .../vo/SupplieritemPageReqVO.java | 81 ----- .../supplieritem/vo/SupplieritemRespVO.java | 22 -- .../vo/SupplieritemUpdateReqVO.java | 14 - .../SystemcalendarController.java | 99 ------ .../vo/SystemcalendarBaseVO.java | 49 --- .../vo/SystemcalendarCreateReqVO.java | 14 - .../vo/SystemcalendarExcelVO.java | 47 --- .../vo/SystemcalendarExportReqVO.java | 47 --- .../vo/SystemcalendarPageReqVO.java | 52 --- .../vo/SystemcalendarRespVO.java | 22 -- .../vo/SystemcalendarUpdateReqVO.java | 14 - .../admin/warehouse/WarehouseController.java | 99 ------ .../admin/warehouse/vo/WarehouseBaseVO.java | 50 --- .../warehouse/vo/WarehouseCreateReqVO.java | 14 - .../admin/warehouse/vo/WarehouseExcelVO.java | 51 --- .../warehouse/vo/WarehouseExportReqVO.java | 48 --- .../warehouse/vo/WarehousePageReqVO.java | 53 --- .../admin/warehouse/vo/WarehouseRespVO.java | 22 -- .../warehouse/vo/WarehouseUpdateReqVO.java | 14 - .../admin/workshop/WorkshopController.java | 99 ------ .../admin/workshop/vo/WorkshopBaseVO.java | 50 --- .../workshop/vo/WorkshopCreateReqVO.java | 14 - .../admin/workshop/vo/WorkshopExcelVO.java | 51 --- .../workshop/vo/WorkshopExportReqVO.java | 48 --- .../admin/workshop/vo/WorkshopPageReqVO.java | 53 --- .../admin/workshop/vo/WorkshopRespVO.java | 22 -- .../workshop/vo/WorkshopUpdateReqVO.java | 14 - .../workstation/WorkstationController.java | 99 ------ .../workstation/vo/WorkstationBaseVO.java | 64 ---- .../vo/WorkstationCreateReqVO.java | 14 - .../workstation/vo/WorkstationExcelVO.java | 63 ---- .../vo/WorkstationExportReqVO.java | 60 ---- .../workstation/vo/WorkstationPageReqVO.java | 65 ---- .../workstation/vo/WorkstationRespVO.java | 22 -- .../vo/WorkstationUpdateReqVO.java | 14 - .../areabasic/AreabasicController.java | 99 ++++++ .../areabasic/vo/AreabasicBaseVO.java | 58 ++++ .../areabasic/vo/AreabasicCreateReqVO.java | 14 + .../areabasic/vo/AreabasicExcelVO.java | 58 ++++ .../areabasic/vo/AreabasicExportReqVO.java | 54 ++++ .../areabasic/vo/AreabasicPageReqVO.java | 59 ++++ .../areabasic/vo/AreabasicRespVO.java | 22 ++ .../areabasic/vo/AreabasicUpdateReqVO.java | 14 + .../wms/controller/bom/BomController.java | 99 ++++++ .../wms/controller/bom/vo/BomBaseVO.java | 64 ++++ .../wms/controller/bom/vo/BomCreateReqVO.java | 14 + .../wms/controller/bom/vo/BomExcelVO.java | 61 ++++ .../wms/controller/bom/vo/BomExportReqVO.java | 58 ++++ .../wms/controller/bom/vo/BomPageReqVO.java | 63 ++++ .../wms/controller/bom/vo/BomRespVO.java | 22 ++ .../wms/controller/bom/vo/BomUpdateReqVO.java | 14 + .../CurrencyexchangeController.java | 99 ++++++ .../vo/CurrencyexchangeBaseVO.java | 50 +++ .../vo/CurrencyexchangeCreateReqVO.java | 14 + .../vo/CurrencyexchangeExcelVO.java | 48 +++ .../vo/CurrencyexchangeExportReqVO.java | 46 +++ .../vo/CurrencyexchangePageReqVO.java | 51 +++ .../vo/CurrencyexchangeRespVO.java | 22 ++ .../vo/CurrencyexchangeUpdateReqVO.java | 14 + .../customer/CustomerController.java | 99 ++++++ .../customer/vo/CustomerBaseVO.java | 82 +++++ .../customer/vo/CustomerCreateReqVO.java | 14 + .../customer/vo/CustomerExcelVO.java | 83 +++++ .../customer/vo/CustomerExportReqVO.java | 79 +++++ .../customer/vo/CustomerPageReqVO.java | 84 +++++ .../customer/vo/CustomerRespVO.java | 22 ++ .../customer/vo/CustomerUpdateReqVO.java | 14 + .../customerdock/CustomerdockController.java | 99 ++++++ .../customerdock/vo/CustomerdockBaseVO.java | 70 ++++ .../vo/CustomerdockCreateReqVO.java | 14 + .../customerdock/vo/CustomerdockExcelVO.java | 68 ++++ .../vo/CustomerdockExportReqVO.java | 66 ++++ .../vo/CustomerdockPageReqVO.java | 71 ++++ .../customerdock/vo/CustomerdockRespVO.java | 22 ++ .../vo/CustomerdockUpdateReqVO.java | 14 + .../customeritem/CustomeritemController.java | 99 ++++++ .../customeritem/vo/CustomeritemBaseVO.java | 73 +++++ .../vo/CustomeritemCreateReqVO.java | 14 + .../customeritem/vo/CustomeritemExcelVO.java | 72 +++++ .../vo/CustomeritemExportReqVO.java | 67 ++++ .../vo/CustomeritemPageReqVO.java | 72 +++++ .../customeritem/vo/CustomeritemRespVO.java | 22 ++ .../vo/CustomeritemUpdateReqVO.java | 14 + .../wms/controller/dock/DockController.java | 99 ++++++ .../wms/controller/dock/vo/DockBaseVO.java | 71 ++++ .../controller/dock/vo/DockCreateReqVO.java | 14 + .../wms/controller/dock/vo/DockExcelVO.java | 69 ++++ .../controller/dock/vo/DockExportReqVO.java | 66 ++++ .../wms/controller/dock/vo/DockPageReqVO.java | 71 ++++ .../wms/controller/dock/vo/DockRespVO.java | 22 ++ .../controller/dock/vo/DockUpdateReqVO.java | 14 + .../itembasic/ItembasicController.java | 120 +++++++ .../itembasic/vo/ItembasicBaseVO.java | 115 +++++++ .../itembasic/vo/ItembasicCreateReqVO.java | 14 + .../itembasic/vo/ItembasicExcelVO.java | 119 +++++++ .../itembasic/vo/ItembasicExportReqVO.java | 102 ++++++ .../itembasic/vo/ItembasicPageReqVO.java | 107 +++++++ .../itembasic/vo/ItembasicRespVO.java | 22 ++ .../itembasic/vo/ItembasicUpdateReqVO.java | 14 + .../ItempackagingController.java | 99 ++++++ .../itempackaging/vo/ItempackagingBaseVO.java | 78 +++++ .../vo/ItempackagingCreateReqVO.java | 14 + .../vo/ItempackagingExcelVO.java | 81 +++++ .../vo/ItempackagingExportReqVO.java | 73 +++++ .../vo/ItempackagingPageReqVO.java | 78 +++++ .../itempackaging/vo/ItempackagingRespVO.java | 22 ++ .../vo/ItempackagingUpdateReqVO.java | 14 + .../location/LocationController.java | 99 ++++++ .../location/vo/LocationBaseVO.java | 97 ++++++ .../location/vo/LocationCreateReqVO.java | 14 + .../location/vo/LocationExcelVO.java | 92 ++++++ .../location/vo/LocationExportReqVO.java | 88 +++++ .../location/vo/LocationPageReqVO.java | 93 ++++++ .../location/vo/LocationRespVO.java | 22 ++ .../location/vo/LocationUpdateReqVO.java | 14 + .../LocationgroupController.java | 99 ++++++ .../locationgroup/vo/LocationgroupBaseVO.java | 55 ++++ .../vo/LocationgroupCreateReqVO.java | 14 + .../vo/LocationgroupExcelVO.java | 53 +++ .../vo/LocationgroupExportReqVO.java | 51 +++ .../vo/LocationgroupPageReqVO.java | 56 ++++ .../locationgroup/vo/LocationgroupRespVO.java | 22 ++ .../vo/LocationgroupUpdateReqVO.java | 14 + .../controller/process/ProcessController.java | 99 ++++++ .../controller/process/vo/ProcessBaseVO.java | 58 ++++ .../process/vo/ProcessCreateReqVO.java | 14 + .../controller/process/vo/ProcessExcelVO.java | 57 ++++ .../process/vo/ProcessExportReqVO.java | 54 ++++ .../process/vo/ProcessPageReqVO.java | 59 ++++ .../controller/process/vo/ProcessRespVO.java | 22 ++ .../process/vo/ProcessUpdateReqVO.java | 14 + .../ProductionlineController.java | 99 ++++++ .../vo/ProductionlineBaseVO.java | 61 ++++ .../vo/ProductionlineCreateReqVO.java | 14 + .../vo/ProductionlineExcelVO.java | 60 ++++ .../vo/ProductionlineExportReqVO.java | 57 ++++ .../vo/ProductionlinePageReqVO.java | 62 ++++ .../vo/ProductionlineRespVO.java | 22 ++ .../vo/ProductionlineUpdateReqVO.java | 14 + .../ProductionlineitemController.java | 99 ++++++ .../vo/ProductionlineitemBaseVO.java | 49 +++ .../vo/ProductionlineitemCreateReqVO.java | 14 + .../vo/ProductionlineitemExcelVO.java | 47 +++ .../vo/ProductionlineitemExportReqVO.java | 45 +++ .../vo/ProductionlineitemPageReqVO.java | 50 +++ .../vo/ProductionlineitemRespVO.java | 22 ++ .../vo/ProductionlineitemUpdateReqVO.java | 14 + .../controller/project/ProjectController.java | 99 ++++++ .../controller/project/vo/ProjectBaseVO.java | 50 +++ .../project/vo/ProjectCreateReqVO.java | 14 + .../controller/project/vo/ProjectExcelVO.java | 50 +++ .../project/vo/ProjectExportReqVO.java | 48 +++ .../project/vo/ProjectPageReqVO.java | 53 +++ .../controller/project/vo/ProjectRespVO.java | 22 ++ .../project/vo/ProjectUpdateReqVO.java | 14 + .../PurchasepriceController.java | 99 ++++++ .../purchaseprice/vo/PurchasepriceBaseVO.java | 54 ++++ .../vo/PurchasepriceCreateReqVO.java | 14 + .../vo/PurchasepriceExcelVO.java | 52 +++ .../vo/PurchasepriceExportReqVO.java | 49 +++ .../vo/PurchasepricePageReqVO.java | 54 ++++ .../purchaseprice/vo/PurchasepriceRespVO.java | 22 ++ .../vo/PurchasepriceUpdateReqVO.java | 14 + .../saleprice/SalepriceController.java | 99 ++++++ .../saleprice/vo/SalepriceBaseVO.java | 54 ++++ .../saleprice/vo/SalepriceCreateReqVO.java | 14 + .../saleprice/vo/SalepriceExcelVO.java | 52 +++ .../saleprice/vo/SalepriceExportReqVO.java | 49 +++ .../saleprice/vo/SalepricePageReqVO.java | 54 ++++ .../saleprice/vo/SalepriceRespVO.java | 22 ++ .../saleprice/vo/SalepriceUpdateReqVO.java | 14 + .../stdcostprice/StdcostpriceController.java | 99 ++++++ .../stdcostprice/vo/StdcostpriceBaseVO.java | 54 ++++ .../vo/StdcostpriceCreateReqVO.java | 14 + .../stdcostprice/vo/StdcostpriceExcelVO.java | 52 +++ .../vo/StdcostpriceExportReqVO.java | 49 +++ .../vo/StdcostpricePageReqVO.java | 54 ++++ .../stdcostprice/vo/StdcostpriceRespVO.java | 22 ++ .../vo/StdcostpriceUpdateReqVO.java | 14 + .../supplier/SupplierController.java | 99 ++++++ .../supplier/vo/SupplierBaseVO.java | 83 +++++ .../supplier/vo/SupplierCreateReqVO.java | 14 + .../supplier/vo/SupplierExcelVO.java | 83 +++++ .../supplier/vo/SupplierExportReqVO.java | 79 +++++ .../supplier/vo/SupplierPageReqVO.java | 84 +++++ .../supplier/vo/SupplierRespVO.java | 22 ++ .../supplier/vo/SupplierUpdateReqVO.java | 14 + .../supplieritem/SupplieritemController.java | 99 ++++++ .../supplieritem/vo/SupplieritemBaseVO.java | 82 +++++ .../vo/SupplieritemCreateReqVO.java | 14 + .../supplieritem/vo/SupplieritemExcelVO.java | 82 +++++ .../vo/SupplieritemExportReqVO.java | 76 +++++ .../vo/SupplieritemPageReqVO.java | 81 +++++ .../supplieritem/vo/SupplieritemRespVO.java | 22 ++ .../vo/SupplieritemUpdateReqVO.java | 14 + .../SystemcalendarController.java | 99 ++++++ .../vo/SystemcalendarBaseVO.java | 49 +++ .../vo/SystemcalendarCreateReqVO.java | 14 + .../vo/SystemcalendarExcelVO.java | 47 +++ .../vo/SystemcalendarExportReqVO.java | 47 +++ .../vo/SystemcalendarPageReqVO.java | 52 +++ .../vo/SystemcalendarRespVO.java | 22 ++ .../vo/SystemcalendarUpdateReqVO.java | 14 + .../warehouse/WarehouseController.java | 99 ++++++ .../warehouse/vo/WarehouseBaseVO.java | 50 +++ .../warehouse/vo/WarehouseCreateReqVO.java | 14 + .../warehouse/vo/WarehouseExcelVO.java | 51 +++ .../warehouse/vo/WarehouseExportReqVO.java | 48 +++ .../warehouse/vo/WarehousePageReqVO.java | 53 +++ .../warehouse/vo/WarehouseRespVO.java | 22 ++ .../warehouse/vo/WarehouseUpdateReqVO.java | 14 + .../workshop/WorkshopController.java | 99 ++++++ .../workshop/vo/WorkshopBaseVO.java | 50 +++ .../workshop/vo/WorkshopCreateReqVO.java | 14 + .../workshop/vo/WorkshopExcelVO.java | 51 +++ .../workshop/vo/WorkshopExportReqVO.java | 48 +++ .../workshop/vo/WorkshopPageReqVO.java | 53 +++ .../workshop/vo/WorkshopRespVO.java | 22 ++ .../workshop/vo/WorkshopUpdateReqVO.java | 14 + .../workstation/WorkstationController.java | 99 ++++++ .../workstation/vo/WorkstationBaseVO.java | 64 ++++ .../vo/WorkstationCreateReqVO.java | 14 + .../workstation/vo/WorkstationExcelVO.java | 63 ++++ .../vo/WorkstationExportReqVO.java | 60 ++++ .../workstation/vo/WorkstationPageReqVO.java | 65 ++++ .../workstation/vo/WorkstationRespVO.java | 22 ++ .../vo/WorkstationUpdateReqVO.java | 14 + .../AccountcalendarConvert.java | 8 +- .../convert/areabasic/AreabasicConvert.java | 8 +- .../module/wms/convert/bom/BomConvert.java | 8 +- .../CurrencyexchangeConvert.java | 8 +- .../wms/convert/customer/CustomerConvert.java | 8 +- .../customerdock/CustomerdockConvert.java | 8 +- .../customeritem/CustomeritemConvert.java | 8 +- .../module/wms/convert/dock/DockConvert.java | 8 +- .../convert/itembasic/ItembasicConvert.java | 8 +- .../itempackaging/ItempackagingConvert.java | 8 +- .../wms/convert/location/LocationConvert.java | 8 +- .../locationgroup/LocationgroupConvert.java | 8 +- .../wms/convert/process/ProcessConvert.java | 8 +- .../productionline/ProductionlineConvert.java | 8 +- .../ProductionlineitemConvert.java | 8 +- .../wms/convert/project/ProjectConvert.java | 8 +- .../purchaseprice/PurchasepriceConvert.java | 8 +- .../convert/saleprice/SalepriceConvert.java | 8 +- .../stdcostprice/StdcostpriceConvert.java | 8 +- .../wms/convert/supplier/SupplierConvert.java | 8 +- .../supplieritem/SupplieritemConvert.java | 8 +- .../systemcalendar/SystemcalendarConvert.java | 8 +- .../convert/warehouse/WarehouseConvert.java | 8 +- .../wms/convert/workshop/WorkshopConvert.java | 8 +- .../workstation/WorkstationConvert.java | 8 +- .../AccountcalendarMapper.java | 4 +- .../dal/mysql/areabasic/AreabasicMapper.java | 4 +- .../module/wms/dal/mysql/bom/BomMapper.java | 4 +- .../CurrencyexchangeMapper.java | 4 +- .../dal/mysql/customer/CustomerMapper.java | 4 +- .../customerdock/CustomerdockMapper.java | 4 +- .../customeritem/CustomeritemMapper.java | 4 +- .../module/wms/dal/mysql/dock/DockMapper.java | 4 +- .../dal/mysql/itembasic/ItembasicMapper.java | 4 +- .../itempackaging/ItempackagingMapper.java | 4 +- .../dal/mysql/location/LocationMapper.java | 4 +- .../locationgroup/LocationgroupMapper.java | 4 +- .../wms/dal/mysql/process/ProcessMapper.java | 4 +- .../productionline/ProductionlineMapper.java | 4 +- .../ProductionlineitemMapper.java | 4 +- .../wms/dal/mysql/project/ProjectMapper.java | 4 +- .../purchaseprice/PurchasepriceMapper.java | 4 +- .../dal/mysql/saleprice/SalepriceMapper.java | 4 +- .../stdcostprice/StdcostpriceMapper.java | 4 +- .../dal/mysql/supplier/SupplierMapper.java | 4 +- .../supplieritem/SupplieritemMapper.java | 4 +- .../systemcalendar/SystemcalendarMapper.java | 4 +- .../dal/mysql/warehouse/WarehouseMapper.java | 4 +- .../dal/mysql/workshop/WorkshopMapper.java | 4 +- .../mysql/workstation/WorkstationMapper.java | 4 +- .../AccountcalendarService.java | 8 +- .../AccountcalendarServiceImpl.java | 8 +- .../service/areabasic/AreabasicService.java | 8 +- .../areabasic/AreabasicServiceImpl.java | 8 +- .../module/wms/service/bom/BomService.java | 8 +- .../wms/service/bom/BomServiceImpl.java | 8 +- .../CurrencyexchangeService.java | 8 +- .../CurrencyexchangeServiceImpl.java | 8 +- .../wms/service/customer/CustomerService.java | 8 +- .../service/customer/CustomerServiceImpl.java | 8 +- .../customerdock/CustomerdockService.java | 8 +- .../customerdock/CustomerdockServiceImpl.java | 8 +- .../customeritem/CustomeritemService.java | 8 +- .../customeritem/CustomeritemServiceImpl.java | 8 +- .../module/wms/service/dock/DockService.java | 8 +- .../wms/service/dock/DockServiceImpl.java | 8 +- .../service/itembasic/ItembasicService.java | 8 +- .../itembasic/ItembasicServiceImpl.java | 8 +- .../itempackaging/ItempackagingService.java | 8 +- .../ItempackagingServiceImpl.java | 8 +- .../wms/service/location/LocationService.java | 8 +- .../service/location/LocationServiceImpl.java | 8 +- .../locationgroup/LocationgroupService.java | 8 +- .../LocationgroupServiceImpl.java | 8 +- .../wms/service/process/ProcessService.java | 8 +- .../service/process/ProcessServiceImpl.java | 8 +- .../productionline/ProductionlineService.java | 8 +- .../ProductionlineServiceImpl.java | 8 +- .../ProductionlineitemService.java | 8 +- .../ProductionlineitemServiceImpl.java | 8 +- .../wms/service/project/ProjectService.java | 8 +- .../service/project/ProjectServiceImpl.java | 8 +- .../purchaseprice/PurchasepriceService.java | 8 +- .../PurchasepriceServiceImpl.java | 8 +- .../service/saleprice/SalepriceService.java | 8 +- .../saleprice/SalepriceServiceImpl.java | 8 +- .../stdcostprice/StdcostpriceService.java | 8 +- .../stdcostprice/StdcostpriceServiceImpl.java | 8 +- .../wms/service/supplier/SupplierService.java | 8 +- .../service/supplier/SupplierServiceImpl.java | 8 +- .../supplieritem/SupplieritemService.java | 8 +- .../supplieritem/SupplieritemServiceImpl.java | 8 +- .../systemcalendar/SystemcalendarService.java | 8 +- .../SystemcalendarServiceImpl.java | 8 +- .../service/warehouse/WarehouseService.java | 8 +- .../warehouse/WarehouseServiceImpl.java | 8 +- .../wms/service/workshop/WorkshopService.java | 8 +- .../service/workshop/WorkshopServiceImpl.java | 8 +- .../workstation/WorkstationService.java | 8 +- .../workstation/WorkstationServiceImpl.java | 8 +- .../src/main/resources/application.yaml | 2 +- 1416 files changed, 24817 insertions(+), 24996 deletions(-) delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmFormController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmModelController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmTaskAssignRuleController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmUserGroupController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormPageReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupCreateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupPageReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelPageReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionListReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/BpmOALeaveController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/package-info.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveCreateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeavePageReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmActivityController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmProcessInstanceController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmTaskController.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceMyPageReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/app/package-info.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmFormController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmModelController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmProcessDefinitionController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmTaskAssignRuleController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmUserGroupController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormBaseVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormCreateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormPageReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormSimpleRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormUpdateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupBaseVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupCreateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupPageReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupSimpleRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupUpdateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModeImportReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelBaseVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelCreateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelPageItemRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelPageReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelUpdateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelUpdateStateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionListReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionPageReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleBaseVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java rename win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/{admin => }/oa/BpmOALeaveController.http (100%) create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/BpmOALeaveController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/package-info.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveBaseVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeavePageReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveRespVO.java delete mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/package-info.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmActivityController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmProcessInstanceController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmTaskController.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/activity/BpmActivityRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceCancelReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceCreateReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceMyPageReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskDonePageItemRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskDonePageReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskTodoPageItemRespVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskTodoPageReqVO.java create mode 100644 win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskUpdateAssigneeReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/CodegenController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenDetailRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/ConfigController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigExcelVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigExportReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigPageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/DataSourceConfigController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/DatabaseDocController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileConfigController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigPageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FilePageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FileRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/JobController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/JobLogController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobExcelVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobExportReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobPageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogExcelVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogExportReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogPageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/ApiAccessLogController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/ApiErrorLogController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExcelVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/RedisController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/TestDemoController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoBaseVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoCreateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoExcelVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoExportReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoPageReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/file/AppFileController.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/file/vo/AppFileUploadReqVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/package-info.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/CodegenController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenCreateListReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenDetailRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenPreviewRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenUpdateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/column/CodegenColumnBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/column/CodegenColumnRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTableBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTablePageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTableRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/DatabaseTableRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/ConfigController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigCreateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigExcelVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigExportReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigPageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigUpdateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/DataSourceConfigController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/DatabaseDocController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigCreateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigUpdateReqVO.java rename win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/{admin => }/file/FileConfigController.http (100%) create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileConfigController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigCreateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigPageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigUpdateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/JobController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/JobLogController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobCreateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobExcelVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobExportReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobPageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobUpdateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogExcelVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogExportReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogPageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/ApiAccessLogController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/ApiErrorLogController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogExcelVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogRespVO.java delete mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/package-info.java rename win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/{admin => }/redis/RedisController.http (100%) create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/RedisController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisMonitorRespVO.java rename win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/{admin => }/test/TestDemoController.http (100%) create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/TestDemoController.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoBaseVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoCreateReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoExcelVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoExportReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoPageReqVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoRespVO.java create mode 100644 win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoUpdateReqVO.java create mode 100644 win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/package-info.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/ajreport/package-info.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/GoViewDataController.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/GoViewProjectController.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java create mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/ajreport/package-info.java create mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/GoViewDataController.java create mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/GoViewProjectController.java create mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/data/GoViewDataGetBySqlReqVO.java create mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/data/GoViewDataRespVO.java create mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectCreateReqVO.java create mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectRespVO.java create mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectUpdateReqVO.java delete mode 100644 win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/package-info.java create mode 100644 win-module-scp/win-module-scp-biz/src/main/java/com/win/module/scp/controller/package-info.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/AuthController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthLoginReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthLoginRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthMenuRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/captcha/CaptchaController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/DeptController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/PostController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptListReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostListReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictDataController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictTypeController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/ErrorCodeController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/AreaController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/vo/AreaNodeRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/vo/AreaNodeSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/LoginLogController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/OperateLogController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailAccountController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailLogController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailTemplateController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplatePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/NoticeController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/NotifyMessageController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/NotifyTemplateController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageMyPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2ClientController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2OpenController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2TokenController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2UserController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/MenuController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/PermissionController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/RoleController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuListReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RolePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleUpdateStatusReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/SensitiveWordController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/SerialNumberController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsCallbackController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsChannelController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsLogController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsTemplateController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplatePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantPackageController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackagePageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserProfileController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserBaseVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserCreateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserExportReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserImportExcelVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserImportRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserPageItemRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserPageReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/dict/AppDictDataController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/ip/AppAreaController.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/ip/vo/AppAreaNodeRespVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/package-info.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/auth/AuthController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/AuthController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthLoginReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthLoginRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthMenuRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthPermissionInfoRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthSmsLoginReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthSmsSendReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/captcha/CaptchaController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/DeptController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/PostController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptListReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostListReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostUpdateReqVO.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/dict/DictDataController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictDataController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictTypeController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeUpdateReqVO.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/errorcode/ErrorCodeController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/ErrorCodeController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeUpdateReqVO.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/ip/AreaController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/AreaController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/vo/AreaNodeRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/vo/AreaNodeSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/LoginLogController.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/logger/OperateLogController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/OperateLogController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailAccountController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailLogController.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/mail/MailTemplateController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailTemplateController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplatePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateSendReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/NoticeController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyMessageController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyTemplateController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageMyPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessagePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplatePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateSendReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateUpdateReqVO.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/oauth2/OAuth2ClientController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2ClientController.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/oauth2/OAuth2OpenController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2OpenController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2TokenController.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/oauth2/OAuth2UserController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2UserController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/token/OAuth2AccessTokenRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/user/OAuth2UserInfoRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/user/OAuth2UserUpdateReqVO.java delete mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/package-info.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/permission/MenuController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/MenuController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/PermissionController.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/permission/RoleController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/RoleController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuListReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignRoleMenuReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignUserRoleReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RolePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleUpdateStatusReqVO.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/sensitiveword/SensitiveWordController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/SensitiveWordController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/SerialNumberController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsCallbackController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsChannelController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsLogController.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/sms/SmsTemplateController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsTemplateController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplatePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateSendReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateUpdateReqVO.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/tenant/TenantController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantPackageController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackagePageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantUpdateReqVO.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/user/UserController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserController.java rename win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/{admin => }/user/UserProfileController.http (100%) create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserProfileController.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileUpdatePasswordReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserBaseVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserCreateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserExportReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserImportExcelVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserImportRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserPageItemRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserPageReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserSimpleRespVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdatePasswordReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdateReqVO.java create mode 100644 win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdateStatusReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/AccountcalendarController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/AreabasicController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/BomController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/CurrencyexchangeController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangePageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/CustomerController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/CustomerdockController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/CustomeritemController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/DockController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/ItembasicController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/ItempackagingController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/LocationController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/LocationgroupController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/ProcessController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/ProductionlineController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlinePageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/ProductionlineitemController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/ProjectController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/PurchasepriceController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepricePageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/SalepriceController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepricePageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/StdcostpriceController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpricePageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/SupplierController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/SupplieritemController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/SystemcalendarController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/WarehouseController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehousePageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/WorkshopController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopUpdateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/WorkstationController.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationBaseVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationCreateReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationExcelVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationExportReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationPageReqVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationRespVO.java delete mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/AreabasicController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/BomController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/CurrencyexchangeController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangePageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/CustomerController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/CustomerdockController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/CustomeritemController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/DockController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/ItembasicController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/ItempackagingController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/LocationgroupController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/ProcessController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/ProductionlineController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlinePageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/ProductionlineitemController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/ProjectController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/PurchasepriceController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepricePageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/SalepriceController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepricePageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/StdcostpriceController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpricePageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/SupplierController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/SupplieritemController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/SystemcalendarController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/WarehouseController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehousePageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/WorkshopController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/WorkstationController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationUpdateReqVO.java diff --git a/win-framework/win-spring-boot-starter-security/src/main/java/com/win/framework/security/config/AuthorizeRequestsCustomizer.java b/win-framework/win-spring-boot-starter-security/src/main/java/com/win/framework/security/config/AuthorizeRequestsCustomizer.java index 0da27d9e..89491001 100644 --- a/win-framework/win-spring-boot-starter-security/src/main/java/com/win/framework/security/config/AuthorizeRequestsCustomizer.java +++ b/win-framework/win-spring-boot-starter-security/src/main/java/com/win/framework/security/config/AuthorizeRequestsCustomizer.java @@ -24,10 +24,6 @@ public abstract class AuthorizeRequestsCustomizer return webProperties.getAdminApi().getPrefix() + url; } - protected String buildAppApi(String url) { - return webProperties.getAppApi().getPrefix() + url; - } - @Override public int getOrder() { return 0; diff --git a/win-framework/win-spring-boot-starter-security/src/main/java/com/win/framework/security/config/WinWebSecurityConfigurerAdapter.java b/win-framework/win-spring-boot-starter-security/src/main/java/com/win/framework/security/config/WinWebSecurityConfigurerAdapter.java index 312adc1c..f42eed56 100644 --- a/win-framework/win-spring-boot-starter-security/src/main/java/com/win/framework/security/config/WinWebSecurityConfigurerAdapter.java +++ b/win-framework/win-spring-boot-starter-security/src/main/java/com/win/framework/security/config/WinWebSecurityConfigurerAdapter.java @@ -126,7 +126,7 @@ public class WinWebSecurityConfigurerAdapter { // 1.3 基于 win.security.permit-all-urls 无需认证 .antMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll() // 1.4 设置 App API 无需认证 - .antMatchers(buildAppApi("/**")).permitAll() + //.antMatchers(buildAppApi("/**")).permitAll() // 1.5 验证码captcha 允许匿名访问 //.antMatchers("/captcha/captchaImage").permitAll() // 1.6 webSocket 允许匿名访问 @@ -146,10 +146,6 @@ public class WinWebSecurityConfigurerAdapter { return httpSecurity.build(); } - private String buildAppApi(String url) { - return webProperties.getAppApi().getPrefix() + url; - } - private Multimap getPermitAllUrlsFromAnnotations() { Multimap result = HashMultimap.create(); // 获得接口对应的 HandlerMethod 集合 diff --git a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/swagger/config/WinSwaggerAutoConfiguration.java b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/swagger/config/WinSwaggerAutoConfiguration.java index 76ca3281..b43239be 100644 --- a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/swagger/config/WinSwaggerAutoConfiguration.java +++ b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/swagger/config/WinSwaggerAutoConfiguration.java @@ -116,7 +116,7 @@ public class WinSwaggerAutoConfiguration { public static GroupedOpenApi buildGroupedOpenApi(String group, String path) { return GroupedOpenApi.builder() .group(group) - .pathsToMatch("/admin-api/" + path + "/**", "/app-api/" + path + "/**") + .pathsToMatch("/admin-api/" + path + "/**") .addOperationCustomizer((operation, handlerMethod) -> operation .addParametersItem(buildTenantHeaderParameter()) .addParametersItem(buildSecurityHeaderParameter())) diff --git a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/config/WebProperties.java b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/config/WebProperties.java index f08357e2..5e6b487c 100644 --- a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/config/WebProperties.java +++ b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/config/WebProperties.java @@ -16,10 +16,8 @@ import javax.validation.constraints.NotNull; @Data public class WebProperties { - @NotNull(message = "APP API 不能为空") - private Api appApi = new Api("/app-api", "**.controller.app.**"); @NotNull(message = "Admin API 不能为空") - private Api adminApi = new Api("/admin-api", "**.controller.admin.**"); + private Api adminApi = new Api("/admin-api", "**.controller.**"); @NotNull(message = "Admin UI 不能为空") private Ui adminUi; diff --git a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/config/WinWebAutoConfiguration.java b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/config/WinWebAutoConfiguration.java index d5dac593..eb39f481 100644 --- a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/config/WinWebAutoConfiguration.java +++ b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/config/WinWebAutoConfiguration.java @@ -45,7 +45,6 @@ public class WinWebAutoConfiguration implements WebMvcConfigurer { @Override public void configurePathMatch(PathMatchConfigurer configurer) { configurePathMatch(configurer, webProperties.getAdminApi()); - configurePathMatch(configurer, webProperties.getAppApi()); } /** diff --git a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/filter/ApiRequestFilter.java b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/filter/ApiRequestFilter.java index 2b8a676e..160593c7 100644 --- a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/filter/ApiRequestFilter.java +++ b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/filter/ApiRequestFilter.java @@ -20,8 +20,7 @@ public abstract class ApiRequestFilter extends OncePerRequestFilter { @Override protected boolean shouldNotFilter(HttpServletRequest request) { // 只过滤 API 请求的地址 - return !StrUtil.startWithAny(request.getRequestURI(), webProperties.getAdminApi().getPrefix(), - webProperties.getAppApi().getPrefix()); + return !StrUtil.startWithAny(request.getRequestURI(), webProperties.getAdminApi().getPrefix()); } } diff --git a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/util/WebFrameworkUtils.java b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/util/WebFrameworkUtils.java index 32edfc1b..f57064ff 100644 --- a/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/util/WebFrameworkUtils.java +++ b/win-framework/win-spring-boot-starter-web/src/main/java/com/win/framework/web/core/util/WebFrameworkUtils.java @@ -91,9 +91,6 @@ public class WebFrameworkUtils { if (request.getServletPath().startsWith(properties.getAdminApi().getPrefix())) { return UserTypeEnum.ADMIN.getValue(); } - if (request.getServletPath().startsWith(properties.getAppApi().getPrefix())) { - return UserTypeEnum.MEMBER.getValue(); - } return null; } diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmFormController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmFormController.java deleted file mode 100644 index 2b6489e4..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmFormController.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.win.module.bpm.controller.admin.definition; - -import com.win.module.bpm.controller.admin.definition.vo.form.*; -import com.win.module.bpm.convert.definition.BpmFormConvert; -import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; -import com.win.module.bpm.service.definition.BpmFormService; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 动态表单") -@RestController -@RequestMapping("/bpm/form") -@Validated -public class BpmFormController { - - @Resource - private BpmFormService formService; - - @PostMapping("/create") - @Operation(summary = "创建动态表单") - @PreAuthorize("@ss.hasPermission('bpm:form:create')") - public CommonResult createForm(@Valid @RequestBody BpmFormCreateReqVO createReqVO) { - return success(formService.createForm(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新动态表单") - @PreAuthorize("@ss.hasPermission('bpm:form:update')") - public CommonResult updateForm(@Valid @RequestBody BpmFormUpdateReqVO updateReqVO) { - formService.updateForm(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除动态表单") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:form:delete')") - public CommonResult deleteForm(@RequestParam("id") Long id) { - formService.deleteForm(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得动态表单") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:form:query')") - public CommonResult getForm(@RequestParam("id") Long id) { - BpmFormDO form = formService.getForm(id); - return success(BpmFormConvert.INSTANCE.convert(form)); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获得动态表单的精简列表", description = "用于表单下拉框") - public CommonResult> getSimpleForms() { - List list = formService.getFormList(); - return success(BpmFormConvert.INSTANCE.convertList2(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得动态表单分页") - @PreAuthorize("@ss.hasPermission('bpm:form:query')") - public CommonResult> getFormPage(@Valid BpmFormPageReqVO pageVO) { - PageResult pageResult = formService.getFormPage(pageVO); - return success(BpmFormConvert.INSTANCE.convertPage(pageResult)); - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmModelController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmModelController.java deleted file mode 100644 index 9fd82d77..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmModelController.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.win.module.bpm.controller.admin.definition; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.util.io.IoUtils; -import com.win.module.bpm.controller.admin.definition.vo.model.*; -import com.win.module.bpm.convert.definition.BpmModelConvert; -import com.win.module.bpm.service.definition.BpmModelService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import java.io.IOException; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 流程模型") -@RestController -@RequestMapping("/bpm/model") -@Validated -public class BpmModelController { - - @Resource - private BpmModelService modelService; - - @GetMapping("/page") - @Operation(summary = "获得模型分页") - public CommonResult> getModelPage(BpmModelPageReqVO pageVO) { - return success(modelService.getModelPage(pageVO)); - } - - @GetMapping("/get") - @Operation(summary = "获得模型") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:model:query')") - public CommonResult getModel(@RequestParam("id") String id) { - BpmModelRespVO model = modelService.getModel(id); - return success(model); - } - - @PostMapping("/create") - @Operation(summary = "新建模型") - @PreAuthorize("@ss.hasPermission('bpm:model:create')") - public CommonResult createModel(@Valid @RequestBody BpmModelCreateReqVO createRetVO) { - return success(modelService.createModel(createRetVO, null)); - } - - @PutMapping("/update") - @Operation(summary = "修改模型") - @PreAuthorize("@ss.hasPermission('bpm:model:update')") - public CommonResult updateModel(@Valid @RequestBody BpmModelUpdateReqVO modelVO) { - modelService.updateModel(modelVO); - return success(true); - } - - @PostMapping("/import") - @Operation(summary = "导入模型") - @PreAuthorize("@ss.hasPermission('bpm:model:import')") - public CommonResult importModel(@Valid BpmModeImportReqVO importReqVO) throws IOException { - BpmModelCreateReqVO createReqVO = BpmModelConvert.INSTANCE.convert(importReqVO); - // 读取文件 - String bpmnXml = IoUtils.readUtf8(importReqVO.getBpmnFile().getInputStream(), false); - return success(modelService.createModel(createReqVO, bpmnXml)); - } - - @PostMapping("/deploy") - @Operation(summary = "部署模型") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:model:deploy')") - public CommonResult deployModel(@RequestParam("id") String id) { - modelService.deployModel(id); - return success(true); - } - - @PutMapping("/update-state") - @Operation(summary = "修改模型的状态", description = "实际更新的部署的流程定义的状态") - @PreAuthorize("@ss.hasPermission('bpm:model:update')") - public CommonResult updateModelState(@Valid @RequestBody BpmModelUpdateStateReqVO reqVO) { - modelService.updateModelState(reqVO.getId(), reqVO.getState()); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除模型") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:model:delete')") - public CommonResult deleteModel(@RequestParam("id") String id) { - modelService.deleteModel(id); - return success(true); - } -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java deleted file mode 100644 index 517df48c..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.win.module.bpm.controller.admin.definition; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionListReqVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageItemRespVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageReqVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO; -import com.win.module.bpm.service.definition.BpmProcessDefinitionService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; - -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 流程定义") -@RestController -@RequestMapping("/bpm/process-definition") -@Validated -public class BpmProcessDefinitionController { - - @Resource - private BpmProcessDefinitionService bpmDefinitionService; - - @GetMapping("/page") - @Operation(summary = "获得流程定义分页") - @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')") - public CommonResult> getProcessDefinitionPage( - BpmProcessDefinitionPageReqVO pageReqVO) { - return success(bpmDefinitionService.getProcessDefinitionPage(pageReqVO)); - } - - @GetMapping ("/list") - @Operation(summary = "获得流程定义列表") - @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')") - public CommonResult> getProcessDefinitionList( - BpmProcessDefinitionListReqVO listReqVO) { - return success(bpmDefinitionService.getProcessDefinitionList(listReqVO)); - } - - @GetMapping ("/get-bpmn-xml") - @Operation(summary = "获得流程定义的 BPMN XML") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')") - public CommonResult getProcessDefinitionBpmnXML(@RequestParam("id") String id) { - String bpmnXML = bpmDefinitionService.getProcessDefinitionBpmnXML(id); - return success(bpmnXML); - } -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmTaskAssignRuleController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmTaskAssignRuleController.java deleted file mode 100644 index 7d53028e..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmTaskAssignRuleController.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.win.module.bpm.controller.admin.definition; - -import com.win.framework.common.pojo.CommonResult; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleRespVO; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; -import com.win.module.bpm.service.definition.BpmTaskAssignRuleService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 任务分配规则") -@RestController -@RequestMapping("/bpm/task-assign-rule") -@Validated -public class BpmTaskAssignRuleController { - - @Resource - private BpmTaskAssignRuleService taskAssignRuleService; - - @GetMapping("/list") - @Operation(summary = "获得任务分配规则列表") - @Parameters({ - @Parameter(name = "modelId", description = "模型编号", example = "1024"), - @Parameter(name = "processDefinitionId", description = "流程定义的编号", example = "2048") - }) - @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:query')") - public CommonResult> getTaskAssignRuleList( - @RequestParam(value = "modelId", required = false) String modelId, - @RequestParam(value = "processDefinitionId", required = false) String processDefinitionId) { - return success(taskAssignRuleService.getTaskAssignRuleList(modelId, processDefinitionId)); - } - - @PostMapping("/create") - @Operation(summary = "创建任务分配规则") - @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:create')") - public CommonResult createTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleCreateReqVO reqVO) { - return success(taskAssignRuleService.createTaskAssignRule(reqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新任务分配规则") - @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:update')") - public CommonResult updateTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleUpdateReqVO reqVO) { - taskAssignRuleService.updateTaskAssignRule(reqVO); - return success(true); - } -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmUserGroupController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmUserGroupController.java deleted file mode 100644 index 835d3333..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/BpmUserGroupController.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.win.module.bpm.controller.admin.definition; - -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupPageReqVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupRespVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupUpdateReqVO; -import com.win.module.bpm.convert.definition.BpmUserGroupConvert; -import com.win.module.bpm.dal.dataobject.definition.BpmUserGroupDO; -import com.win.module.bpm.service.definition.BpmUserGroupService; -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 用户组") -@RestController -@RequestMapping("/bpm/user-group") -@Validated -public class BpmUserGroupController { - - @Resource - private BpmUserGroupService userGroupService; - - @PostMapping("/create") - @Operation(summary = "创建用户组") - @PreAuthorize("@ss.hasPermission('bpm:user-group:create')") - public CommonResult createUserGroup(@Valid @RequestBody BpmUserGroupCreateReqVO createReqVO) { - return success(userGroupService.createUserGroup(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新用户组") - @PreAuthorize("@ss.hasPermission('bpm:user-group:update')") - public CommonResult updateUserGroup(@Valid @RequestBody BpmUserGroupUpdateReqVO updateReqVO) { - userGroupService.updateUserGroup(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除用户组") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:user-group:delete')") - public CommonResult deleteUserGroup(@RequestParam("id") Long id) { - userGroupService.deleteUserGroup(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得用户组") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:user-group:query')") - public CommonResult getUserGroup(@RequestParam("id") Long id) { - BpmUserGroupDO userGroup = userGroupService.getUserGroup(id); - return success(BpmUserGroupConvert.INSTANCE.convert(userGroup)); - } - - @GetMapping("/page") - @Operation(summary = "获得用户组分页") - @PreAuthorize("@ss.hasPermission('bpm:user-group:query')") - public CommonResult> getUserGroupPage(@Valid BpmUserGroupPageReqVO pageVO) { - PageResult pageResult = userGroupService.getUserGroupPage(pageVO); - return success(BpmUserGroupConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获取用户组精简信息列表", description = "只包含被开启的用户组,主要用于前端的下拉选项") - public CommonResult> getSimpleUserGroups() { - // 获用户门列表,只要开启状态的 - List list = userGroupService.getUserGroupListByStatus(CommonStatusEnum.ENABLE.getStatus()); - // 排序后,返回给前端 - return success(BpmUserGroupConvert.INSTANCE.convertList2(list)); - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java deleted file mode 100644 index 84ddce24..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.form; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -/** -* 动态表单 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class BpmFormBaseVO { - - @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotNull(message = "表单名称不能为空") - private String name; - - @Schema(description = "表单状态-参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "表单状态不能为空") - private Integer status; - - @Schema(description = "备注", example = "我是备注") - private String remark; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java deleted file mode 100644 index 1bbd4c31..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.form; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import javax.validation.constraints.NotNull; -import java.util.List; - -@Schema(description = "管理后台 - 动态表单创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmFormCreateReqVO extends BpmFormBaseVO { - - @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "表单的配置不能为空") - private String conf; - - @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "表单项的数组不能为空") - private List fields; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormPageReqVO.java deleted file mode 100644 index a8e2ba10..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormPageReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.form; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 动态表单分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmFormPageReqVO extends PageParam { - - @Schema(description = "表单名称", example = "闻荫") - private String name; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java deleted file mode 100644 index 3e0fd089..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.form; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; -import java.util.List; - -@Schema(description = "管理后台 - 动态表单 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmFormRespVO extends BpmFormBaseVO { - - @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "表单的配置不能为空") - private String conf; - - @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "表单项的数组不能为空") - private List fields; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java deleted file mode 100644 index df70fe8b..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.form; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 流程表单精简 Response VO") -@Data -public class BpmFormSimpleRespVO { - - @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java deleted file mode 100644 index 1ba6ece4..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.form; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; -import java.util.List; - -@Schema(description = "管理后台 - 动态表单更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmFormUpdateReqVO extends BpmFormBaseVO { - - @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "表单编号不能为空") - private Long id; - - @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "表单的配置不能为空") - private String conf; - - @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "表单项的数组不能为空") - private List fields; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java deleted file mode 100644 index 2e4287fc..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.group; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.Set; - -/** -* 用户组 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class BpmUserGroupBaseVO { - - @Schema(description = "组名", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotNull(message = "组名不能为空") - private String name; - - @Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") - @NotNull(message = "描述不能为空") - private String description; - - @Schema(description = "成员编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3") - @NotNull(message = "成员编号数组不能为空") - private Set memberUserIds; - - @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - private Integer status; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupCreateReqVO.java deleted file mode 100644 index 34e2d6ed..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupCreateReqVO.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.group; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -@Schema(description = "管理后台 - 用户组创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmUserGroupCreateReqVO extends BpmUserGroupBaseVO { - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupPageReqVO.java deleted file mode 100644 index b46b4ce6..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupPageReqVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.group; - -import com.win.framework.common.pojo.PageParam; -import com.win.framework.common.util.date.DateUtils; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 用户组分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmUserGroupPageReqVO extends PageParam { - - @Schema(description = "组名", example = "闻荫") - private String name; - - @Schema(description = "状态", example = "1") - private Integer status; - - @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java deleted file mode 100644 index 0eb637b3..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.group; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 用户组 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmUserGroupRespVO extends BpmUserGroupBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java deleted file mode 100644 index 94c45e57..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.group; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Schema(description = "管理后台 - 用户组精简信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class BpmUserGroupSimpleRespVO { - - @Schema(description = "用户组编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "用户组名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java deleted file mode 100644 index 78b6928b..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.group; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 用户组更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmUserGroupUpdateReqVO extends BpmUserGroupBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java deleted file mode 100644 index 4fb41010..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.model; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 流程模型的导入 Request VO 相比流程模型的新建来说,只是多了一个 bpmnFile 文件") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmModeImportReqVO extends BpmModelCreateReqVO { - - @Schema(description = "BPMN 文件", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "BPMN 文件不能为空") - private MultipartFile bpmnFile; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java deleted file mode 100644 index 70bc51d8..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.model; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; - -/** -* 流程模型 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class BpmModelBaseVO { - - @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_win") - @NotEmpty(message = "流程标识不能为空") - private String key; - - @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotEmpty(message = "流程名称不能为空") - private String name; - - @Schema(description = "流程描述", example = "我是描述") - private String description; - - @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") - @NotEmpty(message = "流程分类不能为空") - private String category; - - @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1") - private Integer formType; - @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024") - private Long formId; - @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", - example = "/bpm/oa/leave/create") - private String formCustomCreatePath; - @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", - example = "/bpm/oa/leave/view") - private String formCustomViewPath; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java deleted file mode 100644 index 9b29d5dd..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.model; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 流程模型的创建 Request VO") -@Data -public class BpmModelCreateReqVO { - - @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_win") - @NotEmpty(message = "流程标识不能为空") - private String key; - - @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotEmpty(message = "流程名称不能为空") - private String name; - - @Schema(description = "流程描述", example = "我是描述") - private String description; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java deleted file mode 100644 index 3a119294..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.model; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 流程模型的分页的每一项 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmModelPageItemRespVO extends BpmModelBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "表单名字", example = "请假表单") - private String formName; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - /** - * 最新部署的流程定义 - */ - private ProcessDefinition processDefinition; - - @Schema(description = "流程定义") - @Data - public static class ProcessDefinition { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer version; - - @Schema(description = "部署时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime deploymentTime; - - @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer suspensionState; - - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelPageReqVO.java deleted file mode 100644 index 87a6fd83..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelPageReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.model; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - - -@Schema(description = "管理后台 - 流程模型分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmModelPageReqVO extends PageParam { - - @Schema(description = "标识-精准匹配", example = "process1641042089407") - private String key; - - @Schema(description = "名字-模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") - private String category; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java deleted file mode 100644 index 418f873b..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.model; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 流程模型的创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmModelRespVO extends BpmModelBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED) - private String bpmnXml; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java deleted file mode 100644 index 48009b9f..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.model; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 流程模型的更新 Request VO") -@Data -public class BpmModelUpdateReqVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "编号不能为空") - private String id; - - @Schema(description = "流程名称", example = "闻荫") - private String name; - - @Schema(description = "流程描述", example = "我是描述") - private String description; - - @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") - private String category; - - @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED) - private String bpmnXml; - - @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1") - private Integer formType; - @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024") - private Long formId; - @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", - example = "/bpm/oa/leave/create") - private String formCustomCreatePath; - @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", - example = "/bpm/oa/leave/view") - private String formCustomViewPath; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java deleted file mode 100644 index 0d5cebb6..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.model; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 流程模型更新状态 Request VO") -@Data -public class BpmModelUpdateStateReqVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private String id; - - @Schema(description = "状态-见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - private Integer state; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionListReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionListReqVO.java deleted file mode 100644 index aec8aabc..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionListReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.process; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 流程定义列表 Request VO") -@Data -@ToString(callSuper = true) -@EqualsAndHashCode(callSuper = true) -public class BpmProcessDefinitionListReqVO extends PageParam { - - @Schema(description = "中断状态-参见 SuspensionState 枚举", example = "1") - private Integer suspensionState; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java deleted file mode 100644 index 0ad44ff9..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.process; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 流程定义的分页的每一项 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionRespVO { - - @Schema(description = "表单名字", example = "请假表单") - private String formName; - - @Schema(description = "部署时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime deploymentTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageReqVO.java deleted file mode 100644 index 421e5de8..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.process; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 流程定义分页 Request VO") -@Data -@ToString(callSuper = true) -@EqualsAndHashCode(callSuper = true) -public class BpmProcessDefinitionPageReqVO extends PageParam { - - @Schema(description = "标识-精准匹配", example = "process1641042089407") - private String key; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java deleted file mode 100644 index 168e5783..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.process; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import java.util.List; - -@Schema(description = "管理后台 - 流程定义 Response VO") -@Data -public class BpmProcessDefinitionRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer version; - - @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotEmpty(message = "流程名称不能为空") - private String name; - - @Schema(description = "流程描述", example = "我是描述") - private String description; - - @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") - @NotEmpty(message = "流程分类不能为空") - private String category; - - @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1") - private Integer formType; - @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024") - private Long formId; - @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED) - private String formConf; - @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED) - private List formFields; - @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", - example = "/bpm/oa/leave/create") - private String formCustomCreatePath; - @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", - example = "/bpm/oa/leave/view") - private String formCustomViewPath; - - @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer suspensionState; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java deleted file mode 100644 index 518f6be4..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.rule; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.Set; - -/** - * 流程任务分配规则 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class BpmTaskAssignRuleBaseVO { - - @Schema(description = "规则类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "bpm_task_assign_rule_type") - @NotNull(message = "规则类型不能为空") - private Integer type; - - @Schema(description = "规则值数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3") - @NotNull(message = "规则值数组不能为空") - private Set options; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java deleted file mode 100644 index ca458640..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.rule; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 流程任务分配规则的创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmTaskAssignRuleCreateReqVO extends BpmTaskAssignRuleBaseVO { - - @Schema(description = "流程模型的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "流程模型的编号不能为空") - private String modelId; - - @Schema(description = "流程任务定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") - @NotEmpty(message = "流程任务定义的编号不能为空") - private String taskDefinitionKey; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java deleted file mode 100644 index a41116c4..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.rule; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 流程任务分配规则的 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmTaskAssignRuleRespVO extends BpmTaskAssignRuleBaseVO { - - @Schema(description = "任务分配规则的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "流程模型的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") - private String modelId; - - @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4096") - private String processDefinitionId; - - @Schema(description = "流程任务定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") - private String taskDefinitionKey; - @Schema(description = "流程任务定义的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "关注闻荫") - private String taskDefinitionName; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java deleted file mode 100644 index a7ab5b18..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.definition.vo.rule; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 流程任务分配规则的更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmTaskAssignRuleUpdateReqVO extends BpmTaskAssignRuleBaseVO { - - @Schema(description = "任务分配规则的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "任务分配规则的编号不能为空") - private Long id; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/BpmOALeaveController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/BpmOALeaveController.java deleted file mode 100644 index 43a17a74..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/BpmOALeaveController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.win.module.bpm.controller.admin.oa; - -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeaveCreateReqVO; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeaveRespVO; -import com.win.module.bpm.convert.oa.BpmOALeaveConvert; -import com.win.module.bpm.dal.dataobject.oa.BpmOALeaveDO; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.bpm.service.oa.BpmOALeaveService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -/** - * OA 请假申请 Controller,用于演示自己存储数据,接入工作流的例子 - * - * @author jason - * @author 闻荫源码 - */ -@Tag(name = "管理后台 - OA 请假申请") -@RestController -@RequestMapping("/bpm/oa/leave") -@Validated -public class BpmOALeaveController { - - @Resource - private BpmOALeaveService leaveService; - - @PostMapping("/create") - @PreAuthorize("@ss.hasPermission('bpm:oa-leave:create')") - @Operation(summary = "创建请求申请") - public CommonResult createLeave(@Valid @RequestBody BpmOALeaveCreateReqVO createReqVO) { - return success(leaveService.createLeave(getLoginUserId(), createReqVO)); - } - - @GetMapping("/get") - @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") - @Operation(summary = "获得请假申请") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - public CommonResult getLeave(@RequestParam("id") Long id) { - BpmOALeaveDO leave = leaveService.getLeave(id); - return success(BpmOALeaveConvert.INSTANCE.convert(leave)); - } - - @GetMapping("/page") - @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") - @Operation(summary = "获得请假申请分页") - public CommonResult> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) { - PageResult pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO); - return success(BpmOALeaveConvert.INSTANCE.convertPage(pageResult)); - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/package-info.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/package-info.java deleted file mode 100644 index e4bcffc9..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * OA 示例,用于演示外部业务接入 BPM 工作流的示例 - * 一般的接入方式,只需要调用 接口,后续 Admin 用户在管理后台的【待办事务】进行审批 - */ -package com.win.module.bpm.controller.admin.oa; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java deleted file mode 100644 index 43dca5e1..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.win.module.bpm.controller.admin.oa.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.time.LocalDateTime; -import javax.validation.constraints.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** -* 请假申请 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class BpmOALeaveBaseVO { - - @Schema(description = "请假的开始时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "开始时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime startTime; - @Schema(description = "请假的结束时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "结束时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime endTime; - - @Schema(description = "请假类型-参见 bpm_oa_type 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer type; - - @Schema(description = "原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "阅读闻荫源码") - private String reason; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveCreateReqVO.java deleted file mode 100644 index 4595be19..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveCreateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.oa.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.AssertTrue; - -@Schema(description = "管理后台 - 请假申请创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmOALeaveCreateReqVO extends BpmOALeaveBaseVO { - - @AssertTrue(message = "结束时间,需要在开始时间之后") - public boolean isEndTimeValid() { - return !getEndTime().isBefore(getStartTime()); - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeavePageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeavePageReqVO.java deleted file mode 100644 index f0350f81..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeavePageReqVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.win.module.bpm.controller.admin.oa.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.time.LocalDateTime; -import com.win.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 请假申请分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmOALeavePageReqVO extends PageParam { - - @Schema(description = "状态-参见 bpm_process_instance_result 枚举", example = "1") - private Integer result; - - @Schema(description = "请假类型-参见 bpm_oa_type", example = "1") - private Integer type; - - @Schema(description = "原因-模糊匹配", example = "阅读闻荫源码") - private String reason; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "申请时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java deleted file mode 100644 index ac0a0900..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.win.module.bpm.controller.admin.oa.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 请假申请 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmOALeaveRespVO extends BpmOALeaveBaseVO { - - @Schema(description = "请假表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "状态-参见 bpm_process_instance_result 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer result; - - @Schema(description = "申请时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "申请时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime createTime; - - @Schema(description = "流程id") - private String processInstanceId; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmActivityController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmActivityController.java deleted file mode 100644 index 3c0c9573..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmActivityController.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.win.module.bpm.controller.admin.task; - -import com.win.framework.common.pojo.CommonResult; -import com.win.module.bpm.controller.admin.task.vo.activity.BpmActivityRespVO; -import com.win.module.bpm.service.task.BpmActivityService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 流程活动实例") -@RestController -@RequestMapping("/bpm/activity") -@Validated -public class BpmActivityController { - - @Resource - private BpmActivityService activityService; - - @GetMapping("/list") - @Operation(summary = "生成指定流程实例的高亮流程图", - description = "只高亮进行中的任务。不过要注意,该接口暂时没用,通过前端的 ProcessViewer.vue 界面的 highlightDiagram 方法生成") - @Parameter(name = "processInstanceId", description = "流程实例的编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:task:query')") - public CommonResult> getActivityList( - @RequestParam("processInstanceId") String processInstanceId) { - return success(activityService.getActivityListByProcessInstanceId(processInstanceId)); - } -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmProcessInstanceController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmProcessInstanceController.java deleted file mode 100644 index a87bfa9a..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmProcessInstanceController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.win.module.bpm.controller.admin.task; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.bpm.controller.admin.task.vo.instance.*; -import com.win.module.bpm.service.task.BpmProcessInstanceService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -@Tag(name = "管理后台 - 流程实例") // 流程实例,通过流程定义创建的一次“申请” -@RestController -@RequestMapping("/bpm/process-instance") -@Validated -public class BpmProcessInstanceController { - - @Resource - private BpmProcessInstanceService processInstanceService; - - @GetMapping("/my-page") - @Operation(summary = "获得我的实例分页列表", description = "在【我的流程】菜单中,进行调用") - @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") - public CommonResult> getMyProcessInstancePage( - @Valid BpmProcessInstanceMyPageReqVO pageReqVO) { - return success(processInstanceService.getMyProcessInstancePage(getLoginUserId(), pageReqVO)); - } - - @PostMapping("/create") - @Operation(summary = "新建流程实例") - @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") - public CommonResult createProcessInstance(@Valid @RequestBody BpmProcessInstanceCreateReqVO createReqVO) { - return success(processInstanceService.createProcessInstance(getLoginUserId(), createReqVO)); - } - - @GetMapping("/get") - @Operation(summary = "获得指定流程实例", description = "在【流程详细】界面中,进行调用") - @Parameter(name = "id", description = "流程实例的编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") - public CommonResult getProcessInstance(@RequestParam("id") String id) { - return success(processInstanceService.getProcessInstanceVO(id)); - } - - @DeleteMapping("/cancel") - @Operation(summary = "取消流程实例", description = "撤回发起的流程") - @PreAuthorize("@ss.hasPermission('bpm:process-instance:cancel')") - public CommonResult cancelProcessInstance(@Valid @RequestBody BpmProcessInstanceCancelReqVO cancelReqVO) { - processInstanceService.cancelProcessInstance(getLoginUserId(), cancelReqVO); - return success(true); - } -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmTaskController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmTaskController.java deleted file mode 100644 index d70c4ef5..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/BpmTaskController.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.win.module.bpm.controller.admin.task; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.bpm.controller.admin.task.vo.task.*; -import com.win.module.bpm.service.task.BpmTaskService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.web.core.util.WebFrameworkUtils.getLoginUserId; - -@Tag(name = "管理后台 - 流程任务实例") -@RestController -@RequestMapping("/bpm/task") -@Validated -public class BpmTaskController { - - @Resource - private BpmTaskService taskService; - - @GetMapping("todo-page") - @Operation(summary = "获取 Todo 待办任务分页") - @PreAuthorize("@ss.hasPermission('bpm:task:query')") - public CommonResult> getTodoTaskPage(@Valid BpmTaskTodoPageReqVO pageVO) { - return success(taskService.getTodoTaskPage(getLoginUserId(), pageVO)); - } - - @GetMapping("done-page") - @Operation(summary = "获取 Done 已办任务分页") - @PreAuthorize("@ss.hasPermission('bpm:task:query')") - public CommonResult> getDoneTaskPage(@Valid BpmTaskDonePageReqVO pageVO) { - return success(taskService.getDoneTaskPage(getLoginUserId(), pageVO)); - } - - @GetMapping("/list-by-process-instance-id") - @Operation(summary = "获得指定流程实例的任务列表", description = "包括完成的、未完成的") - @Parameter(name = "processInstanceId", description = "流程实例的编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:task:query')") - public CommonResult> getTaskListByProcessInstanceId( - @RequestParam("processInstanceId") String processInstanceId) { - return success(taskService.getTaskListByProcessInstanceId(processInstanceId)); - } - - @PutMapping("/approve") - @Operation(summary = "通过任务") - @PreAuthorize("@ss.hasPermission('bpm:task:update')") - public CommonResult approveTask(@Valid @RequestBody BpmTaskApproveReqVO reqVO) { - taskService.approveTask(getLoginUserId(), reqVO); - return success(true); - } - - @PutMapping("/reject") - @Operation(summary = "不通过任务") - @PreAuthorize("@ss.hasPermission('bpm:task:update')") - public CommonResult rejectTask(@Valid @RequestBody BpmTaskRejectReqVO reqVO) { - taskService.rejectTask(getLoginUserId(), reqVO); - return success(true); - } - - @PutMapping("/update-assignee") - @Operation(summary = "更新任务的负责人", description = "用于【流程详情】的【转派】按钮") - @PreAuthorize("@ss.hasPermission('bpm:task:update')") - public CommonResult updateTaskAssignee(@Valid @RequestBody BpmTaskUpdateAssigneeReqVO reqVO) { - taskService.updateTaskAssignee(getLoginUserId(), reqVO); - return success(true); - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java deleted file mode 100644 index 52c566a4..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.activity; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 流程活动的 Response VO") -@Data -public class BpmActivityRespVO { - - @Schema(description = "流程活动的标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String key; - @Schema(description = "流程活动的类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "StartEvent") - private String type; - - @Schema(description = "流程活动的开始时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime startTime; - @Schema(description = "流程活动的结束时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime endTime; - - @Schema(description = "关联的流程任务的编号-关联的流程任务,只有 UserTask 等类型才有", example = "2048") - private String taskId; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java deleted file mode 100644 index 9579cfb9..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.instance; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 流程实例的取消 Request VO") -@Data -public class BpmProcessInstanceCancelReqVO { - - @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "流程实例的编号不能为空") - private String id; - - @Schema(description = "取消原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!") - @NotEmpty(message = "取消原因不能为空") - private String reason; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java deleted file mode 100644 index 692821f9..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.instance; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import java.util.Map; - -@Schema(description = "管理后台 - 流程实例的创建 Request VO") -@Data -public class BpmProcessInstanceCreateReqVO { - - @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "流程定义编号不能为空") - private String processDefinitionId; - - @Schema(description = "变量实例") - private Map variables; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceMyPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceMyPageReqVO.java deleted file mode 100644 index 0462a784..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceMyPageReqVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.instance; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 流程实例的分页 Item Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmProcessInstanceMyPageReqVO extends PageParam { - - @Schema(description = "流程名称", example = "闻荫") - private String name; - - @Schema(description = "流程定义的编号", example = "2048") - private String processDefinitionId; - - @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", example = "1") - private Integer status; - - @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", example = "2") - private Integer result; - - @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") - private String category; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java deleted file mode 100644 index dccb2286..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.instance; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; -import java.util.List; - -@Schema(description = "管理后台 - 流程实例的分页 Item Response VO") -@Data -public class BpmProcessInstancePageItemRespVO { - - @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") - private String processDefinitionId; - - @Schema(description = "流程分类-参见 bpm_model_category 数据字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private String category; - - @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - private Integer result; - - @Schema(description = "提交时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime endTime; - - /** - * 当前任务 - */ - private List tasks; - - @Schema(description = "流程任务") - @Data - public static class Task { - - @Schema(description = "流程任务的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java deleted file mode 100644 index 58d6c4cd..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.instance; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; -import java.util.List; -import java.util.Map; - -@Schema(description = "管理后台 - 流程实例的 Response VO") -@Data -public class BpmProcessInstanceRespVO { - - @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "流程分类-参见 bpm_model_category 数据字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private String category; - - @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - private Integer result; - - @Schema(description = "提交时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime endTime; - - @Schema(description = "提交的表单值", requiredMode = Schema.RequiredMode.REQUIRED) - private Map formVariables; - - @Schema(description = "业务的唯一标识-例如说,请假申请的编号", example = "1") - private String businessKey; - - /** - * 发起流程的用户 - */ - private User startUser; - - /** - * 流程定义 - */ - private ProcessDefinition processDefinition; - - @Schema(description = "用户信息") - @Data - public static class User { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - private String nickname; - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long deptId; - @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") - private String deptName; - - } - - @Schema(description = "流程定义信息") - @Data - public static class ProcessDefinition { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1") - private Integer formType; - @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024") - private Long formId; - @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED) - private String formConf; - @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED) - private List formFields; - @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", - example = "/bpm/oa/leave/create") - private String formCustomCreatePath; - @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", - example = "/bpm/oa/leave/view") - private String formCustomViewPath; - - @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED) - private String bpmnXml; - - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java deleted file mode 100644 index acca5f08..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.task; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 通过流程任务的 Request VO") -@Data -public class BpmTaskApproveReqVO { - - @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "任务编号不能为空") - private String id; - - @Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!") - @NotEmpty(message = "审批意见不能为空") - private String reason; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java deleted file mode 100644 index 26fd45fe..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.task; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 流程任务的 Done 已完成的分页项 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO { - - @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime endTime; - @Schema(description = "持续时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000") - private Long durationInMillis; - - @Schema(description = "任务结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - private Integer result; - @Schema(description = "审批建议", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!") - private String reason; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageReqVO.java deleted file mode 100644 index 3b01d0e3..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageReqVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.task; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 流程任务的 Done 已办的分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmTaskDonePageReqVO extends PageParam { - - @Schema(description = "流程任务名", example = "闻荫") - private String name; - - @Schema(description = "开始的创建收间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime beginCreateTime; - - @Schema(description = "结束的创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime endCreateTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java deleted file mode 100644 index 0d87c9e3..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.task; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 不通过流程任务的 Request VO") -@Data -public class BpmTaskRejectReqVO { - - @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "任务编号不能为空") - private String id; - - @Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!") - @NotEmpty(message = "审批意见不能为空") - private String reason; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java deleted file mode 100644 index fdaf7a9d..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.task; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 流程任务的 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO { - - @Schema(description = "任务定义的标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "user-001") - private String definitionKey; - - /** - * 审核的用户信息 - */ - private User assigneeUser; - - @Schema(description = "用户信息") - @Data - public static class User { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - private String nickname; - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long deptId; - @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") - private String deptName; - - } -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java deleted file mode 100644 index df0d92f6..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.task; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 流程任务的 Running 进行中的分页项 Response VO") -@Data -public class BpmTaskTodoPageItemRespVO { - - @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "任务名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "接收时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime claimTime; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "激活状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer suspensionState; - - /** - * 所属流程实例 - */ - private ProcessInstance processInstance; - - @Data - @Schema(description = "流程实例") - public static class ProcessInstance { - - @Schema(description = "流程实例编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "流程实例名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "发起人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long startUserId; - - @Schema(description = "发起人的用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - private String startUserNickname; - - @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") - private String processDefinitionId; - - } - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageReqVO.java deleted file mode 100644 index 84d34862..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageReqVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.task; - -import com.win.framework.common.pojo.PageParam; -import com.win.framework.common.util.date.DateUtils; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 流程任务的 TODO 待办的分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BpmTaskTodoPageReqVO extends PageParam { - - @Schema(description = "流程任务名", example = "闻荫") - private String name; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java deleted file mode 100644 index 55407613..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.win.module.bpm.controller.admin.task.vo.task; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 流程任务的更新负责人的 Request VO") -@Data -public class BpmTaskUpdateAssigneeReqVO { - - @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "任务编号不能为空") - private String id; - - @Schema(description = "新审批人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") - @NotNull(message = "新审批人的用户编号不能为空") - private Long assigneeUserId; - -} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/app/package-info.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/app/package-info.java deleted file mode 100644 index 421c0a1e..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/app/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 占位 - */ -package com.win.module.bpm.controller.app; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmFormController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmFormController.java new file mode 100644 index 00000000..39bd8d6d --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmFormController.java @@ -0,0 +1,79 @@ +package com.win.module.bpm.controller.definition; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.bpm.controller.definition.vo.form.*; +import com.win.module.bpm.convert.definition.BpmFormConvert; +import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; +import com.win.module.bpm.service.definition.BpmFormService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 动态表单") +@RestController +@RequestMapping("/bpm/form") +@Validated +public class BpmFormController { + + @Resource + private BpmFormService formService; + + @PostMapping("/create") + @Operation(summary = "创建动态表单") + @PreAuthorize("@ss.hasPermission('bpm:form:create')") + public CommonResult createForm(@Valid @RequestBody BpmFormCreateReqVO createReqVO) { + return success(formService.createForm(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新动态表单") + @PreAuthorize("@ss.hasPermission('bpm:form:update')") + public CommonResult updateForm(@Valid @RequestBody BpmFormUpdateReqVO updateReqVO) { + formService.updateForm(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除动态表单") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bpm:form:delete')") + public CommonResult deleteForm(@RequestParam("id") Long id) { + formService.deleteForm(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得动态表单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:form:query')") + public CommonResult getForm(@RequestParam("id") Long id) { + BpmFormDO form = formService.getForm(id); + return success(BpmFormConvert.INSTANCE.convert(form)); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获得动态表单的精简列表", description = "用于表单下拉框") + public CommonResult> getSimpleForms() { + List list = formService.getFormList(); + return success(BpmFormConvert.INSTANCE.convertList2(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得动态表单分页") + @PreAuthorize("@ss.hasPermission('bpm:form:query')") + public CommonResult> getFormPage(@Valid BpmFormPageReqVO pageVO) { + PageResult pageResult = formService.getFormPage(pageVO); + return success(BpmFormConvert.INSTANCE.convertPage(pageResult)); + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmModelController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmModelController.java new file mode 100644 index 00000000..20ed92fc --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmModelController.java @@ -0,0 +1,96 @@ +package com.win.module.bpm.controller.definition; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.common.util.io.IoUtils; +import com.win.module.bpm.controller.definition.vo.model.*; +import com.win.module.bpm.convert.definition.BpmModelConvert; +import com.win.module.bpm.service.definition.BpmModelService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.io.IOException; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 流程模型") +@RestController +@RequestMapping("/bpm/model") +@Validated +public class BpmModelController { + + @Resource + private BpmModelService modelService; + + @GetMapping("/page") + @Operation(summary = "获得模型分页") + public CommonResult> getModelPage(BpmModelPageReqVO pageVO) { + return success(modelService.getModelPage(pageVO)); + } + + @GetMapping("/get") + @Operation(summary = "获得模型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:model:query')") + public CommonResult getModel(@RequestParam("id") String id) { + BpmModelRespVO model = modelService.getModel(id); + return success(model); + } + + @PostMapping("/create") + @Operation(summary = "新建模型") + @PreAuthorize("@ss.hasPermission('bpm:model:create')") + public CommonResult createModel(@Valid @RequestBody BpmModelCreateReqVO createRetVO) { + return success(modelService.createModel(createRetVO, null)); + } + + @PutMapping("/update") + @Operation(summary = "修改模型") + @PreAuthorize("@ss.hasPermission('bpm:model:update')") + public CommonResult updateModel(@Valid @RequestBody BpmModelUpdateReqVO modelVO) { + modelService.updateModel(modelVO); + return success(true); + } + + @PostMapping("/import") + @Operation(summary = "导入模型") + @PreAuthorize("@ss.hasPermission('bpm:model:import')") + public CommonResult importModel(@Valid BpmModeImportReqVO importReqVO) throws IOException { + BpmModelCreateReqVO createReqVO = BpmModelConvert.INSTANCE.convert(importReqVO); + // 读取文件 + String bpmnXml = IoUtils.readUtf8(importReqVO.getBpmnFile().getInputStream(), false); + return success(modelService.createModel(createReqVO, bpmnXml)); + } + + @PostMapping("/deploy") + @Operation(summary = "部署模型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:model:deploy')") + public CommonResult deployModel(@RequestParam("id") String id) { + modelService.deployModel(id); + return success(true); + } + + @PutMapping("/update-state") + @Operation(summary = "修改模型的状态", description = "实际更新的部署的流程定义的状态") + @PreAuthorize("@ss.hasPermission('bpm:model:update')") + public CommonResult updateModelState(@Valid @RequestBody BpmModelUpdateStateReqVO reqVO) { + modelService.updateModelState(reqVO.getId(), reqVO.getState()); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:model:delete')") + public CommonResult deleteModel(@RequestParam("id") String id) { + modelService.deleteModel(id); + return success(true); + } +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmProcessDefinitionController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmProcessDefinitionController.java new file mode 100644 index 00000000..bce23653 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmProcessDefinitionController.java @@ -0,0 +1,59 @@ +package com.win.module.bpm.controller.definition; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionListReqVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageReqVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO; +import com.win.module.bpm.service.definition.BpmProcessDefinitionService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 流程定义") +@RestController +@RequestMapping("/bpm/process-definition") +@Validated +public class BpmProcessDefinitionController { + + @Resource + private BpmProcessDefinitionService bpmDefinitionService; + + @GetMapping("/page") + @Operation(summary = "获得流程定义分页") + @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')") + public CommonResult> getProcessDefinitionPage( + BpmProcessDefinitionPageReqVO pageReqVO) { + return success(bpmDefinitionService.getProcessDefinitionPage(pageReqVO)); + } + + @GetMapping ("/list") + @Operation(summary = "获得流程定义列表") + @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')") + public CommonResult> getProcessDefinitionList( + BpmProcessDefinitionListReqVO listReqVO) { + return success(bpmDefinitionService.getProcessDefinitionList(listReqVO)); + } + + @GetMapping ("/get-bpmn-xml") + @Operation(summary = "获得流程定义的 BPMN XML") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')") + public CommonResult getProcessDefinitionBpmnXML(@RequestParam("id") String id) { + String bpmnXML = bpmDefinitionService.getProcessDefinitionBpmnXML(id); + return success(bpmnXML); + } +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmTaskAssignRuleController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmTaskAssignRuleController.java new file mode 100644 index 00000000..17538c22 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmTaskAssignRuleController.java @@ -0,0 +1,58 @@ +package com.win.module.bpm.controller.definition; + +import com.win.framework.common.pojo.CommonResult; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; +import com.win.module.bpm.service.definition.BpmTaskAssignRuleService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 任务分配规则") +@RestController +@RequestMapping("/bpm/task-assign-rule") +@Validated +public class BpmTaskAssignRuleController { + + @Resource + private BpmTaskAssignRuleService taskAssignRuleService; + + @GetMapping("/list") + @Operation(summary = "获得任务分配规则列表") + @Parameters({ + @Parameter(name = "modelId", description = "模型编号", example = "1024"), + @Parameter(name = "processDefinitionId", description = "流程定义的编号", example = "2048") + }) + @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:query')") + public CommonResult> getTaskAssignRuleList( + @RequestParam(value = "modelId", required = false) String modelId, + @RequestParam(value = "processDefinitionId", required = false) String processDefinitionId) { + return success(taskAssignRuleService.getTaskAssignRuleList(modelId, processDefinitionId)); + } + + @PostMapping("/create") + @Operation(summary = "创建任务分配规则") + @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:create')") + public CommonResult createTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleCreateReqVO reqVO) { + return success(taskAssignRuleService.createTaskAssignRule(reqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新任务分配规则") + @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:update')") + public CommonResult updateTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleUpdateReqVO reqVO) { + taskAssignRuleService.updateTaskAssignRule(reqVO); + return success(true); + } +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmUserGroupController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmUserGroupController.java new file mode 100644 index 00000000..49f263d4 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/BpmUserGroupController.java @@ -0,0 +1,85 @@ +package com.win.module.bpm.controller.definition; + +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupCreateReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupPageReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupRespVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO; +import com.win.module.bpm.convert.definition.BpmUserGroupConvert; +import com.win.module.bpm.dal.dataobject.definition.BpmUserGroupDO; +import com.win.module.bpm.service.definition.BpmUserGroupService; +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 用户组") +@RestController +@RequestMapping("/bpm/user-group") +@Validated +public class BpmUserGroupController { + + @Resource + private BpmUserGroupService userGroupService; + + @PostMapping("/create") + @Operation(summary = "创建用户组") + @PreAuthorize("@ss.hasPermission('bpm:user-group:create')") + public CommonResult createUserGroup(@Valid @RequestBody BpmUserGroupCreateReqVO createReqVO) { + return success(userGroupService.createUserGroup(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新用户组") + @PreAuthorize("@ss.hasPermission('bpm:user-group:update')") + public CommonResult updateUserGroup(@Valid @RequestBody BpmUserGroupUpdateReqVO updateReqVO) { + userGroupService.updateUserGroup(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除用户组") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bpm:user-group:delete')") + public CommonResult deleteUserGroup(@RequestParam("id") Long id) { + userGroupService.deleteUserGroup(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得用户组") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:user-group:query')") + public CommonResult getUserGroup(@RequestParam("id") Long id) { + BpmUserGroupDO userGroup = userGroupService.getUserGroup(id); + return success(BpmUserGroupConvert.INSTANCE.convert(userGroup)); + } + + @GetMapping("/page") + @Operation(summary = "获得用户组分页") + @PreAuthorize("@ss.hasPermission('bpm:user-group:query')") + public CommonResult> getUserGroupPage(@Valid BpmUserGroupPageReqVO pageVO) { + PageResult pageResult = userGroupService.getUserGroupPage(pageVO); + return success(BpmUserGroupConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获取用户组精简信息列表", description = "只包含被开启的用户组,主要用于前端的下拉选项") + public CommonResult> getSimpleUserGroups() { + // 获用户门列表,只要开启状态的 + List list = userGroupService.getUserGroupListByStatus(CommonStatusEnum.ENABLE.getStatus()); + // 排序后,返回给前端 + return success(BpmUserGroupConvert.INSTANCE.convertList2(list)); + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormBaseVO.java new file mode 100644 index 00000000..9eae7a86 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormBaseVO.java @@ -0,0 +1,24 @@ +package com.win.module.bpm.controller.definition.vo.form; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +/** +* 动态表单 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class BpmFormBaseVO { + + @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotNull(message = "表单名称不能为空") + private String name; + + @Schema(description = "表单状态-参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "表单状态不能为空") + private Integer status; + + @Schema(description = "备注", example = "我是备注") + private String remark; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormCreateReqVO.java new file mode 100644 index 00000000..7dc20e80 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormCreateReqVO.java @@ -0,0 +1,22 @@ +package com.win.module.bpm.controller.definition.vo.form; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Schema(description = "管理后台 - 动态表单创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmFormCreateReqVO extends BpmFormBaseVO { + + @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "表单的配置不能为空") + private String conf; + + @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "表单项的数组不能为空") + private List fields; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormPageReqVO.java new file mode 100644 index 00000000..81dceb59 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormPageReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.bpm.controller.definition.vo.form; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 动态表单分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmFormPageReqVO extends PageParam { + + @Schema(description = "表单名称", example = "闻荫") + private String name; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormRespVO.java new file mode 100644 index 00000000..457182cb --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormRespVO.java @@ -0,0 +1,31 @@ +package com.win.module.bpm.controller.definition.vo.form; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 动态表单 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmFormRespVO extends BpmFormBaseVO { + + @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "表单的配置不能为空") + private String conf; + + @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "表单项的数组不能为空") + private List fields; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormSimpleRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormSimpleRespVO.java new file mode 100644 index 00000000..86057889 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormSimpleRespVO.java @@ -0,0 +1,16 @@ +package com.win.module.bpm.controller.definition.vo.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 流程表单精简 Response VO") +@Data +public class BpmFormSimpleRespVO { + + @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormUpdateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormUpdateReqVO.java new file mode 100644 index 00000000..7a992509 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/form/BpmFormUpdateReqVO.java @@ -0,0 +1,25 @@ +package com.win.module.bpm.controller.definition.vo.form; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; +import java.util.List; + +@Schema(description = "管理后台 - 动态表单更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmFormUpdateReqVO extends BpmFormBaseVO { + + @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "表单编号不能为空") + private Long id; + + @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "表单的配置不能为空") + private String conf; + + @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "表单项的数组不能为空") + private List fields; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupBaseVO.java new file mode 100644 index 00000000..17fbd361 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupBaseVO.java @@ -0,0 +1,32 @@ +package com.win.module.bpm.controller.definition.vo.group; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Set; + +/** +* 用户组 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class BpmUserGroupBaseVO { + + @Schema(description = "组名", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotNull(message = "组名不能为空") + private String name; + + @Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") + @NotNull(message = "描述不能为空") + private String description; + + @Schema(description = "成员编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3") + @NotNull(message = "成员编号数组不能为空") + private Set memberUserIds; + + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + private Integer status; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupCreateReqVO.java new file mode 100644 index 00000000..ed680fb5 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupCreateReqVO.java @@ -0,0 +1,11 @@ +package com.win.module.bpm.controller.definition.vo.group; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - 用户组创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmUserGroupCreateReqVO extends BpmUserGroupBaseVO { + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupPageReqVO.java new file mode 100644 index 00000000..44935ea7 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupPageReqVO.java @@ -0,0 +1,29 @@ +package com.win.module.bpm.controller.definition.vo.group; + +import com.win.framework.common.pojo.PageParam; +import com.win.framework.common.util.date.DateUtils; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 用户组分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmUserGroupPageReqVO extends PageParam { + + @Schema(description = "组名", example = "闻荫") + private String name; + + @Schema(description = "状态", example = "1") + private Integer status; + + @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupRespVO.java new file mode 100644 index 00000000..e6c2efeb --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.definition.vo.group; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 用户组 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmUserGroupRespVO extends BpmUserGroupBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupSimpleRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupSimpleRespVO.java new file mode 100644 index 00000000..1fdfce10 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupSimpleRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.definition.vo.group; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 用户组精简信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class BpmUserGroupSimpleRespVO { + + @Schema(description = "用户组编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "用户组名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupUpdateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupUpdateReqVO.java new file mode 100644 index 00000000..ae0290c9 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/group/BpmUserGroupUpdateReqVO.java @@ -0,0 +1,17 @@ +package com.win.module.bpm.controller.definition.vo.group; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 用户组更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmUserGroupUpdateReqVO extends BpmUserGroupBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModeImportReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModeImportReqVO.java new file mode 100644 index 00000000..43553136 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModeImportReqVO.java @@ -0,0 +1,21 @@ +package com.win.module.bpm.controller.definition.vo.model; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 流程模型的导入 Request VO 相比流程模型的新建来说,只是多了一个 bpmnFile 文件") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmModeImportReqVO extends BpmModelCreateReqVO { + + @Schema(description = "BPMN 文件", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "BPMN 文件不能为空") + private MultipartFile bpmnFile; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelBaseVO.java new file mode 100644 index 00000000..2f5f7e6c --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelBaseVO.java @@ -0,0 +1,40 @@ +package com.win.module.bpm.controller.definition.vo.model; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** +* 流程模型 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class BpmModelBaseVO { + + @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_win") + @NotEmpty(message = "流程标识不能为空") + private String key; + + @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotEmpty(message = "流程名称不能为空") + private String name; + + @Schema(description = "流程描述", example = "我是描述") + private String description; + + @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") + @NotEmpty(message = "流程分类不能为空") + private String category; + + @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1") + private Integer formType; + @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024") + private Long formId; + @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", + example = "/bpm/oa/leave/create") + private String formCustomCreatePath; + @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", + example = "/bpm/oa/leave/view") + private String formCustomViewPath; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelCreateReqVO.java new file mode 100644 index 00000000..244a535a --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelCreateReqVO.java @@ -0,0 +1,25 @@ +package com.win.module.bpm.controller.definition.vo.model; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 流程模型的创建 Request VO") +@Data +public class BpmModelCreateReqVO { + + @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_win") + @NotEmpty(message = "流程标识不能为空") + private String key; + + @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotEmpty(message = "流程名称不能为空") + private String name; + + @Schema(description = "流程描述", example = "我是描述") + private String description; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelPageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelPageItemRespVO.java new file mode 100644 index 00000000..281e3cb2 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelPageItemRespVO.java @@ -0,0 +1,48 @@ +package com.win.module.bpm.controller.definition.vo.model; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 流程模型的分页的每一项 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmModelPageItemRespVO extends BpmModelBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "表单名字", example = "请假表单") + private String formName; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + /** + * 最新部署的流程定义 + */ + private ProcessDefinition processDefinition; + + @Schema(description = "流程定义") + @Data + public static class ProcessDefinition { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer version; + + @Schema(description = "部署时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime deploymentTime; + + @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer suspensionState; + + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelPageReqVO.java new file mode 100644 index 00000000..8fff723d --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelPageReqVO.java @@ -0,0 +1,25 @@ +package com.win.module.bpm.controller.definition.vo.model; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + + +@Schema(description = "管理后台 - 流程模型分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmModelPageReqVO extends PageParam { + + @Schema(description = "标识-精准匹配", example = "process1641042089407") + private String key; + + @Schema(description = "名字-模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") + private String category; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelRespVO.java new file mode 100644 index 00000000..22ecf3a7 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelRespVO.java @@ -0,0 +1,25 @@ +package com.win.module.bpm.controller.definition.vo.model; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 流程模型的创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmModelRespVO extends BpmModelBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED) + private String bpmnXml; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelUpdateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelUpdateReqVO.java new file mode 100644 index 00000000..2a41c17b --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelUpdateReqVO.java @@ -0,0 +1,39 @@ +package com.win.module.bpm.controller.definition.vo.model; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 流程模型的更新 Request VO") +@Data +public class BpmModelUpdateReqVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotEmpty(message = "编号不能为空") + private String id; + + @Schema(description = "流程名称", example = "闻荫") + private String name; + + @Schema(description = "流程描述", example = "我是描述") + private String description; + + @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") + private String category; + + @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED) + private String bpmnXml; + + @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1") + private Integer formType; + @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024") + private Long formId; + @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", + example = "/bpm/oa/leave/create") + private String formCustomCreatePath; + @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", + example = "/bpm/oa/leave/view") + private String formCustomViewPath; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelUpdateStateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelUpdateStateReqVO.java new file mode 100644 index 00000000..08cdb2b1 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/model/BpmModelUpdateStateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.definition.vo.model; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 流程模型更新状态 Request VO") +@Data +public class BpmModelUpdateStateReqVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private String id; + + @Schema(description = "状态-见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + private Integer state; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionListReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionListReqVO.java new file mode 100644 index 00000000..846f8f0f --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionListReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.bpm.controller.definition.vo.process; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 流程定义列表 Request VO") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class BpmProcessDefinitionListReqVO extends PageParam { + + @Schema(description = "中断状态-参见 SuspensionState 枚举", example = "1") + private Integer suspensionState; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java new file mode 100644 index 00000000..d59690cf --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.bpm.controller.definition.vo.process; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 流程定义的分页的每一项 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionRespVO { + + @Schema(description = "表单名字", example = "请假表单") + private String formName; + + @Schema(description = "部署时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime deploymentTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionPageReqVO.java new file mode 100644 index 00000000..f292d339 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionPageReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.bpm.controller.definition.vo.process; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 流程定义分页 Request VO") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class BpmProcessDefinitionPageReqVO extends PageParam { + + @Schema(description = "标识-精准匹配", example = "process1641042089407") + private String key; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionRespVO.java new file mode 100644 index 00000000..9b52af57 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/process/BpmProcessDefinitionRespVO.java @@ -0,0 +1,48 @@ +package com.win.module.bpm.controller.definition.vo.process; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.util.List; + +@Schema(description = "管理后台 - 流程定义 Response VO") +@Data +public class BpmProcessDefinitionRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer version; + + @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotEmpty(message = "流程名称不能为空") + private String name; + + @Schema(description = "流程描述", example = "我是描述") + private String description; + + @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") + @NotEmpty(message = "流程分类不能为空") + private String category; + + @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1") + private Integer formType; + @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024") + private Long formId; + @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED) + private String formConf; + @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED) + private List formFields; + @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", + example = "/bpm/oa/leave/create") + private String formCustomCreatePath; + @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", + example = "/bpm/oa/leave/view") + private String formCustomViewPath; + + @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer suspensionState; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleBaseVO.java new file mode 100644 index 00000000..dfc14bfb --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleBaseVO.java @@ -0,0 +1,24 @@ +package com.win.module.bpm.controller.definition.vo.rule; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Set; + +/** + * 流程任务分配规则 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class BpmTaskAssignRuleBaseVO { + + @Schema(description = "规则类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "bpm_task_assign_rule_type") + @NotNull(message = "规则类型不能为空") + private Integer type; + + @Schema(description = "规则值数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3") + @NotNull(message = "规则值数组不能为空") + private Set options; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java new file mode 100644 index 00000000..57890d44 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java @@ -0,0 +1,24 @@ +package com.win.module.bpm.controller.definition.vo.rule; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 流程任务分配规则的创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmTaskAssignRuleCreateReqVO extends BpmTaskAssignRuleBaseVO { + + @Schema(description = "流程模型的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotEmpty(message = "流程模型的编号不能为空") + private String modelId; + + @Schema(description = "流程任务定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") + @NotEmpty(message = "流程任务定义的编号不能为空") + private String taskDefinitionKey; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleRespVO.java new file mode 100644 index 00000000..d174159f --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleRespVO.java @@ -0,0 +1,28 @@ +package com.win.module.bpm.controller.definition.vo.rule; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 流程任务分配规则的 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmTaskAssignRuleRespVO extends BpmTaskAssignRuleBaseVO { + + @Schema(description = "任务分配规则的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "流程模型的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") + private String modelId; + + @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4096") + private String processDefinitionId; + + @Schema(description = "流程任务定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") + private String taskDefinitionKey; + @Schema(description = "流程任务定义的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "关注闻荫") + private String taskDefinitionName; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java new file mode 100644 index 00000000..983db36c --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.definition.vo.rule; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 流程任务分配规则的更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmTaskAssignRuleUpdateReqVO extends BpmTaskAssignRuleBaseVO { + + @Schema(description = "任务分配规则的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "任务分配规则的编号不能为空") + private Long id; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/BpmOALeaveController.http b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/BpmOALeaveController.http similarity index 100% rename from win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/admin/oa/BpmOALeaveController.http rename to win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/BpmOALeaveController.http diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/BpmOALeaveController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/BpmOALeaveController.java new file mode 100644 index 00000000..e4c64ccb --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/BpmOALeaveController.java @@ -0,0 +1,63 @@ +package com.win.module.bpm.controller.oa; + +import com.win.module.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeavePageReqVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeaveRespVO; +import com.win.module.bpm.convert.oa.BpmOALeaveConvert; +import com.win.module.bpm.dal.dataobject.oa.BpmOALeaveDO; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.bpm.service.oa.BpmOALeaveService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +/** + * OA 请假申请 Controller,用于演示自己存储数据,接入工作流的例子 + * + * @author jason + * @author 闻荫源码 + */ +@Tag(name = "管理后台 - OA 请假申请") +@RestController +@RequestMapping("/bpm/oa/leave") +@Validated +public class BpmOALeaveController { + + @Resource + private BpmOALeaveService leaveService; + + @PostMapping("/create") + @PreAuthorize("@ss.hasPermission('bpm:oa-leave:create')") + @Operation(summary = "创建请求申请") + public CommonResult createLeave(@Valid @RequestBody BpmOALeaveCreateReqVO createReqVO) { + return success(leaveService.createLeave(getLoginUserId(), createReqVO)); + } + + @GetMapping("/get") + @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") + @Operation(summary = "获得请假申请") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getLeave(@RequestParam("id") Long id) { + BpmOALeaveDO leave = leaveService.getLeave(id); + return success(BpmOALeaveConvert.INSTANCE.convert(leave)); + } + + @GetMapping("/page") + @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") + @Operation(summary = "获得请假申请分页") + public CommonResult> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) { + PageResult pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO); + return success(BpmOALeaveConvert.INSTANCE.convertPage(pageResult)); + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/package-info.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/package-info.java new file mode 100644 index 00000000..3ff74345 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/package-info.java @@ -0,0 +1,5 @@ +/** + * OA 示例,用于演示外部业务接入 BPM 工作流的示例 + * 一般的接入方式,只需要调用 接口,后续 Admin 用户在管理后台的【待办事务】进行审批 + */ +package com.win.module.bpm.controller.oa; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveBaseVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveBaseVO.java new file mode 100644 index 00000000..0df24a25 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveBaseVO.java @@ -0,0 +1,33 @@ +package com.win.module.bpm.controller.oa.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; +import javax.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** +* 请假申请 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class BpmOALeaveBaseVO { + + @Schema(description = "请假的开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "开始时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime startTime; + @Schema(description = "请假的结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "结束时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime endTime; + + @Schema(description = "请假类型-参见 bpm_oa_type 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer type; + + @Schema(description = "原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "阅读闻荫源码") + private String reason; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java new file mode 100644 index 00000000..9aae79f7 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.oa.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.AssertTrue; + +@Schema(description = "管理后台 - 请假申请创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOALeaveCreateReqVO extends BpmOALeaveBaseVO { + + @AssertTrue(message = "结束时间,需要在开始时间之后") + public boolean isEndTimeValid() { + return !getEndTime().isBefore(getStartTime()); + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeavePageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeavePageReqVO.java new file mode 100644 index 00000000..6bec8905 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeavePageReqVO.java @@ -0,0 +1,29 @@ +package com.win.module.bpm.controller.oa.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; +import com.win.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 请假申请分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOALeavePageReqVO extends PageParam { + + @Schema(description = "状态-参见 bpm_process_instance_result 枚举", example = "1") + private Integer result; + + @Schema(description = "请假类型-参见 bpm_oa_type", example = "1") + private Integer type; + + @Schema(description = "原因-模糊匹配", example = "阅读闻荫源码") + private String reason; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "申请时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveRespVO.java new file mode 100644 index 00000000..2e94a3be --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/oa/vo/BpmOALeaveRespVO.java @@ -0,0 +1,32 @@ +package com.win.module.bpm.controller.oa.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 请假申请 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOALeaveRespVO extends BpmOALeaveBaseVO { + + @Schema(description = "请假表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "状态-参见 bpm_process_instance_result 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer result; + + @Schema(description = "申请时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "申请时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime createTime; + + @Schema(description = "流程id") + private String processInstanceId; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/package-info.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/package-info.java deleted file mode 100644 index 69fc8c6f..00000000 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 提供 RESTful API 给前端: - * 1. admin 包:提供给管理后台 win-ui-admin 前端项目 - * 2. app 包:提供给用户 APP win-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分 - */ -package com.win.module.bpm.controller; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmActivityController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmActivityController.java new file mode 100644 index 00000000..9db81331 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmActivityController.java @@ -0,0 +1,39 @@ +package com.win.module.bpm.controller.task; + +import com.win.framework.common.pojo.CommonResult; +import com.win.module.bpm.controller.task.vo.activity.BpmActivityRespVO; +import com.win.module.bpm.service.task.BpmActivityService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 流程活动实例") +@RestController +@RequestMapping("/bpm/activity") +@Validated +public class BpmActivityController { + + @Resource + private BpmActivityService activityService; + + @GetMapping("/list") + @Operation(summary = "生成指定流程实例的高亮流程图", + description = "只高亮进行中的任务。不过要注意,该接口暂时没用,通过前端的 ProcessViewer.vue 界面的 highlightDiagram 方法生成") + @Parameter(name = "processInstanceId", description = "流程实例的编号", required = true) + @PreAuthorize("@ss.hasPermission('bpm:task:query')") + public CommonResult> getActivityList( + @RequestParam("processInstanceId") String processInstanceId) { + return success(activityService.getActivityListByProcessInstanceId(processInstanceId)); + } +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmProcessInstanceController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmProcessInstanceController.java new file mode 100644 index 00000000..b195513a --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmProcessInstanceController.java @@ -0,0 +1,59 @@ +package com.win.module.bpm.controller.task; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.bpm.controller.task.vo.instance.*; +import com.win.module.bpm.service.task.BpmProcessInstanceService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +@Tag(name = "管理后台 - 流程实例") // 流程实例,通过流程定义创建的一次“申请” +@RestController +@RequestMapping("/bpm/process-instance") +@Validated +public class BpmProcessInstanceController { + + @Resource + private BpmProcessInstanceService processInstanceService; + + @GetMapping("/my-page") + @Operation(summary = "获得我的实例分页列表", description = "在【我的流程】菜单中,进行调用") + @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") + public CommonResult> getMyProcessInstancePage( + @Valid BpmProcessInstanceMyPageReqVO pageReqVO) { + return success(processInstanceService.getMyProcessInstancePage(getLoginUserId(), pageReqVO)); + } + + @PostMapping("/create") + @Operation(summary = "新建流程实例") + @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") + public CommonResult createProcessInstance(@Valid @RequestBody BpmProcessInstanceCreateReqVO createReqVO) { + return success(processInstanceService.createProcessInstance(getLoginUserId(), createReqVO)); + } + + @GetMapping("/get") + @Operation(summary = "获得指定流程实例", description = "在【流程详细】界面中,进行调用") + @Parameter(name = "id", description = "流程实例的编号", required = true) + @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") + public CommonResult getProcessInstance(@RequestParam("id") String id) { + return success(processInstanceService.getProcessInstanceVO(id)); + } + + @DeleteMapping("/cancel") + @Operation(summary = "取消流程实例", description = "撤回发起的流程") + @PreAuthorize("@ss.hasPermission('bpm:process-instance:cancel')") + public CommonResult cancelProcessInstance(@Valid @RequestBody BpmProcessInstanceCancelReqVO cancelReqVO) { + processInstanceService.cancelProcessInstance(getLoginUserId(), cancelReqVO); + return success(true); + } +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmTaskController.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmTaskController.java new file mode 100644 index 00000000..f999504f --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/BpmTaskController.java @@ -0,0 +1,77 @@ +package com.win.module.bpm.controller.task; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.bpm.controller.task.vo.task.*; +import com.win.module.bpm.service.task.BpmTaskService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.web.core.util.WebFrameworkUtils.getLoginUserId; + +@Tag(name = "管理后台 - 流程任务实例") +@RestController +@RequestMapping("/bpm/task") +@Validated +public class BpmTaskController { + + @Resource + private BpmTaskService taskService; + + @GetMapping("todo-page") + @Operation(summary = "获取 Todo 待办任务分页") + @PreAuthorize("@ss.hasPermission('bpm:task:query')") + public CommonResult> getTodoTaskPage(@Valid BpmTaskTodoPageReqVO pageVO) { + return success(taskService.getTodoTaskPage(getLoginUserId(), pageVO)); + } + + @GetMapping("done-page") + @Operation(summary = "获取 Done 已办任务分页") + @PreAuthorize("@ss.hasPermission('bpm:task:query')") + public CommonResult> getDoneTaskPage(@Valid BpmTaskDonePageReqVO pageVO) { + return success(taskService.getDoneTaskPage(getLoginUserId(), pageVO)); + } + + @GetMapping("/list-by-process-instance-id") + @Operation(summary = "获得指定流程实例的任务列表", description = "包括完成的、未完成的") + @Parameter(name = "processInstanceId", description = "流程实例的编号", required = true) + @PreAuthorize("@ss.hasPermission('bpm:task:query')") + public CommonResult> getTaskListByProcessInstanceId( + @RequestParam("processInstanceId") String processInstanceId) { + return success(taskService.getTaskListByProcessInstanceId(processInstanceId)); + } + + @PutMapping("/approve") + @Operation(summary = "通过任务") + @PreAuthorize("@ss.hasPermission('bpm:task:update')") + public CommonResult approveTask(@Valid @RequestBody BpmTaskApproveReqVO reqVO) { + taskService.approveTask(getLoginUserId(), reqVO); + return success(true); + } + + @PutMapping("/reject") + @Operation(summary = "不通过任务") + @PreAuthorize("@ss.hasPermission('bpm:task:update')") + public CommonResult rejectTask(@Valid @RequestBody BpmTaskRejectReqVO reqVO) { + taskService.rejectTask(getLoginUserId(), reqVO); + return success(true); + } + + @PutMapping("/update-assignee") + @Operation(summary = "更新任务的负责人", description = "用于【流程详情】的【转派】按钮") + @PreAuthorize("@ss.hasPermission('bpm:task:update')") + public CommonResult updateTaskAssignee(@Valid @RequestBody BpmTaskUpdateAssigneeReqVO reqVO) { + taskService.updateTaskAssignee(getLoginUserId(), reqVO); + return success(true); + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/activity/BpmActivityRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/activity/BpmActivityRespVO.java new file mode 100644 index 00000000..0a24d856 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/activity/BpmActivityRespVO.java @@ -0,0 +1,25 @@ +package com.win.module.bpm.controller.task.vo.activity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 流程活动的 Response VO") +@Data +public class BpmActivityRespVO { + + @Schema(description = "流程活动的标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String key; + @Schema(description = "流程活动的类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "StartEvent") + private String type; + + @Schema(description = "流程活动的开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime startTime; + @Schema(description = "流程活动的结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime endTime; + + @Schema(description = "关联的流程任务的编号-关联的流程任务,只有 UserTask 等类型才有", example = "2048") + private String taskId; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceCancelReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceCancelReqVO.java new file mode 100644 index 00000000..7858b1fc --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceCancelReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.task.vo.instance; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 流程实例的取消 Request VO") +@Data +public class BpmProcessInstanceCancelReqVO { + + @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotEmpty(message = "流程实例的编号不能为空") + private String id; + + @Schema(description = "取消原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!") + @NotEmpty(message = "取消原因不能为空") + private String reason; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceCreateReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceCreateReqVO.java new file mode 100644 index 00000000..51bef866 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceCreateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.task.vo.instance; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.util.Map; + +@Schema(description = "管理后台 - 流程实例的创建 Request VO") +@Data +public class BpmProcessInstanceCreateReqVO { + + @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotEmpty(message = "流程定义编号不能为空") + private String processDefinitionId; + + @Schema(description = "变量实例") + private Map variables; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceMyPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceMyPageReqVO.java new file mode 100644 index 00000000..73f3af7a --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceMyPageReqVO.java @@ -0,0 +1,39 @@ +package com.win.module.bpm.controller.task.vo.instance; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 流程实例的分页 Item Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmProcessInstanceMyPageReqVO extends PageParam { + + @Schema(description = "流程名称", example = "闻荫") + private String name; + + @Schema(description = "流程定义的编号", example = "2048") + private String processDefinitionId; + + @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", example = "1") + private Integer status; + + @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", example = "2") + private Integer result; + + @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1") + private String category; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java new file mode 100644 index 00000000..c7e33d15 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java @@ -0,0 +1,54 @@ +package com.win.module.bpm.controller.task.vo.instance; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 流程实例的分页 Item Response VO") +@Data +public class BpmProcessInstancePageItemRespVO { + + @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") + private String processDefinitionId; + + @Schema(description = "流程分类-参见 bpm_model_category 数据字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private String category; + + @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private Integer result; + + @Schema(description = "提交时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime endTime; + + /** + * 当前任务 + */ + private List tasks; + + @Schema(description = "流程任务") + @Data + public static class Task { + + @Schema(description = "流程任务的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceRespVO.java new file mode 100644 index 00000000..cf314682 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/instance/BpmProcessInstanceRespVO.java @@ -0,0 +1,94 @@ +package com.win.module.bpm.controller.task.vo.instance; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Schema(description = "管理后台 - 流程实例的 Response VO") +@Data +public class BpmProcessInstanceRespVO { + + @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "流程分类-参见 bpm_model_category 数据字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private String category; + + @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private Integer result; + + @Schema(description = "提交时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime endTime; + + @Schema(description = "提交的表单值", requiredMode = Schema.RequiredMode.REQUIRED) + private Map formVariables; + + @Schema(description = "业务的唯一标识-例如说,请假申请的编号", example = "1") + private String businessKey; + + /** + * 发起流程的用户 + */ + private User startUser; + + /** + * 流程定义 + */ + private ProcessDefinition processDefinition; + + @Schema(description = "用户信息") + @Data + public static class User { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + private String nickname; + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long deptId; + @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") + private String deptName; + + } + + @Schema(description = "流程定义信息") + @Data + public static class ProcessDefinition { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1") + private Integer formType; + @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024") + private Long formId; + @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED) + private String formConf; + @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED) + private List formFields; + @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", + example = "/bpm/oa/leave/create") + private String formCustomCreatePath; + @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", + example = "/bpm/oa/leave/view") + private String formCustomViewPath; + + @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED) + private String bpmnXml; + + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java new file mode 100644 index 00000000..d38a05be --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.task.vo.task; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 通过流程任务的 Request VO") +@Data +public class BpmTaskApproveReqVO { + + @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotEmpty(message = "任务编号不能为空") + private String id; + + @Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!") + @NotEmpty(message = "审批意见不能为空") + private String reason; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskDonePageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskDonePageItemRespVO.java new file mode 100644 index 00000000..da718af4 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskDonePageItemRespVO.java @@ -0,0 +1,26 @@ +package com.win.module.bpm.controller.task.vo.task; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 流程任务的 Done 已完成的分页项 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO { + + @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime endTime; + @Schema(description = "持续时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000") + private Long durationInMillis; + + @Schema(description = "任务结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private Integer result; + @Schema(description = "审批建议", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!") + private String reason; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskDonePageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskDonePageReqVO.java new file mode 100644 index 00000000..d80e9c14 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskDonePageReqVO.java @@ -0,0 +1,31 @@ +package com.win.module.bpm.controller.task.vo.task; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 流程任务的 Done 已办的分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmTaskDonePageReqVO extends PageParam { + + @Schema(description = "流程任务名", example = "闻荫") + private String name; + + @Schema(description = "开始的创建收间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime beginCreateTime; + + @Schema(description = "结束的创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime endCreateTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java new file mode 100644 index 00000000..5421dad1 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.bpm.controller.task.vo.task; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 不通过流程任务的 Request VO") +@Data +public class BpmTaskRejectReqVO { + + @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotEmpty(message = "任务编号不能为空") + private String id; + + @Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!") + @NotEmpty(message = "审批意见不能为空") + private String reason; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskRespVO.java new file mode 100644 index 00000000..3f2d9938 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskRespVO.java @@ -0,0 +1,37 @@ +package com.win.module.bpm.controller.task.vo.task; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 流程任务的 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO { + + @Schema(description = "任务定义的标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "user-001") + private String definitionKey; + + /** + * 审核的用户信息 + */ + private User assigneeUser; + + @Schema(description = "用户信息") + @Data + public static class User { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + private String nickname; + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long deptId; + @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") + private String deptName; + + } +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskTodoPageItemRespVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskTodoPageItemRespVO.java new file mode 100644 index 00000000..db1fe28c --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskTodoPageItemRespVO.java @@ -0,0 +1,53 @@ +package com.win.module.bpm.controller.task.vo.task; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 流程任务的 Running 进行中的分页项 Response VO") +@Data +public class BpmTaskTodoPageItemRespVO { + + @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "任务名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "接收时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime claimTime; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "激活状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer suspensionState; + + /** + * 所属流程实例 + */ + private ProcessInstance processInstance; + + @Data + @Schema(description = "流程实例") + public static class ProcessInstance { + + @Schema(description = "流程实例编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "流程实例名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "发起人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long startUserId; + + @Schema(description = "发起人的用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + private String startUserNickname; + + @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") + private String processDefinitionId; + + } + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskTodoPageReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskTodoPageReqVO.java new file mode 100644 index 00000000..5cd37223 --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskTodoPageReqVO.java @@ -0,0 +1,28 @@ +package com.win.module.bpm.controller.task.vo.task; + +import com.win.framework.common.pojo.PageParam; +import com.win.framework.common.util.date.DateUtils; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 流程任务的 TODO 待办的分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmTaskTodoPageReqVO extends PageParam { + + @Schema(description = "流程任务名", example = "闻荫") + private String name; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskUpdateAssigneeReqVO.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskUpdateAssigneeReqVO.java new file mode 100644 index 00000000..27e2d4ef --- /dev/null +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/controller/task/vo/task/BpmTaskUpdateAssigneeReqVO.java @@ -0,0 +1,21 @@ +package com.win.module.bpm.controller.task.vo.task; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 流程任务的更新负责人的 Request VO") +@Data +public class BpmTaskUpdateAssigneeReqVO { + + @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotEmpty(message = "任务编号不能为空") + private String id; + + @Schema(description = "新审批人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") + @NotNull(message = "新审批人的用户编号不能为空") + private Long assigneeUserId; + +} diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmFormConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmFormConvert.java index 3e80d3e9..a60f3959 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmFormConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmFormConvert.java @@ -1,9 +1,9 @@ package com.win.module.bpm.convert.definition; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormRespVO; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormSimpleRespVO; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormCreateReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormRespVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormSimpleRespVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormUpdateReqVO; import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; import com.win.framework.common.pojo.PageResult; import org.mapstruct.Mapper; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmModelConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmModelConvert.java index 3e45dd27..11b52bf1 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmModelConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmModelConvert.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.common.util.date.DateUtils; import com.win.framework.common.util.json.JsonUtils; -import com.win.module.bpm.controller.admin.definition.vo.model.*; +import com.win.module.bpm.controller.definition.vo.model.*; import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; import com.win.module.bpm.service.definition.dto.BpmModelMetaInfoRespDTO; import com.win.module.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmProcessDefinitionConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmProcessDefinitionConvert.java index a78ae880..6e048b49 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmProcessDefinitionConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmProcessDefinitionConvert.java @@ -2,9 +2,8 @@ package com.win.module.bpm.convert.definition; import cn.hutool.core.date.LocalDateTimeUtil; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.framework.common.util.date.DateUtils; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageItemRespVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO; import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; import com.win.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; import com.win.module.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmTaskAssignRuleConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmTaskAssignRuleConvert.java index b11c158b..e8c343ec 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmTaskAssignRuleConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmTaskAssignRuleConvert.java @@ -1,9 +1,9 @@ package com.win.module.bpm.convert.definition; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleRespVO; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; import com.win.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; import org.flowable.bpmn.model.UserTask; import org.mapstruct.Mapper; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmUserGroupConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmUserGroupConvert.java index 68b78c9a..84e7b9e8 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmUserGroupConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/definition/BpmUserGroupConvert.java @@ -2,9 +2,9 @@ package com.win.module.bpm.convert.definition; import java.util.*; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupRespVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupCreateReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupRespVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO; import com.win.module.bpm.dal.dataobject.definition.BpmUserGroupDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/oa/BpmOALeaveConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/oa/BpmOALeaveConvert.java index 6b05820e..99c1319b 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/oa/BpmOALeaveConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/oa/BpmOALeaveConvert.java @@ -1,7 +1,7 @@ package com.win.module.bpm.convert.oa; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeaveCreateReqVO; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeaveRespVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeaveRespVO; import com.win.module.bpm.dal.dataobject.oa.BpmOALeaveDO; import com.win.framework.common.pojo.PageResult; import org.mapstruct.Mapper; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmActivityConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmActivityConvert.java index 5d3a160b..dccbbaaa 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmActivityConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmActivityConvert.java @@ -1,7 +1,7 @@ package com.win.module.bpm.convert.task; import com.win.framework.common.util.date.DateUtils; -import com.win.module.bpm.controller.admin.task.vo.activity.BpmActivityRespVO; +import com.win.module.bpm.controller.task.vo.activity.BpmActivityRespVO; import org.flowable.engine.history.HistoricActivityInstance; import org.mapstruct.Mapper; import org.mapstruct.Mapping; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmProcessInstanceConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmProcessInstanceConvert.java index 3c2298db..41fa125b 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmProcessInstanceConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmProcessInstanceConvert.java @@ -3,8 +3,8 @@ package com.win.module.bpm.convert.task; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.date.DateUtils; import com.win.framework.common.util.number.NumberUtils; -import com.win.module.bpm.controller.admin.task.vo.instance.BpmProcessInstancePageItemRespVO; -import com.win.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceRespVO; +import com.win.module.bpm.controller.task.vo.instance.BpmProcessInstancePageItemRespVO; +import com.win.module.bpm.controller.task.vo.instance.BpmProcessInstanceRespVO; import com.win.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; import com.win.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import com.win.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmTaskConvert.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmTaskConvert.java index 494423e6..326e7172 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmTaskConvert.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/convert/task/BpmTaskConvert.java @@ -4,9 +4,9 @@ import cn.hutool.core.date.LocalDateTimeUtil; import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.common.util.date.DateUtils; import com.win.framework.common.util.number.NumberUtils; -import com.win.module.bpm.controller.admin.task.vo.task.BpmTaskDonePageItemRespVO; -import com.win.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO; -import com.win.module.bpm.controller.admin.task.vo.task.BpmTaskTodoPageItemRespVO; +import com.win.module.bpm.controller.task.vo.task.BpmTaskDonePageItemRespVO; +import com.win.module.bpm.controller.task.vo.task.BpmTaskRespVO; +import com.win.module.bpm.controller.task.vo.task.BpmTaskTodoPageItemRespVO; import com.win.module.bpm.dal.dataobject.task.BpmTaskExtDO; import com.win.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO; import com.win.module.system.api.dept.dto.DeptRespDTO; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/definition/BpmFormMapper.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/definition/BpmFormMapper.java index 550fd94f..f31095a1 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/definition/BpmFormMapper.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/definition/BpmFormMapper.java @@ -1,7 +1,7 @@ package com.win.module.bpm.dal.mysql.definition; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormPageReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormPageReqVO; import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/definition/BpmUserGroupMapper.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/definition/BpmUserGroupMapper.java index 87abe7ce..384d545d 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/definition/BpmUserGroupMapper.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/definition/BpmUserGroupMapper.java @@ -1,6 +1,6 @@ package com.win.module.bpm.dal.mysql.definition; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupPageReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupPageReqVO; import com.win.module.bpm.dal.dataobject.definition.BpmUserGroupDO; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/oa/BpmOALeaveMapper.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/oa/BpmOALeaveMapper.java index 3e37cc54..0dcf4a9e 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/oa/BpmOALeaveMapper.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/oa/BpmOALeaveMapper.java @@ -1,6 +1,6 @@ package com.win.module.bpm.dal.mysql.oa; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeavePageReqVO; import com.win.module.bpm.dal.dataobject.oa.BpmOALeaveDO; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java index 327b9d16..436c6d1e 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java @@ -3,7 +3,7 @@ package com.win.module.bpm.dal.mysql.task; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceMyPageReqVO; +import com.win.module.bpm.controller.task.vo.instance.BpmProcessInstanceMyPageReqVO; import com.win.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmFormService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmFormService.java index d84d5769..40ce541b 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmFormService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmFormService.java @@ -1,9 +1,9 @@ package com.win.module.bpm.service.definition; import cn.hutool.core.collection.CollUtil; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormPageReqVO; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormCreateReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormPageReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormUpdateReqVO; import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmFormServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmFormServiceImpl.java index 8ec30fc6..74973d32 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmFormServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmFormServiceImpl.java @@ -3,9 +3,9 @@ package com.win.module.bpm.service.definition; import cn.hutool.core.lang.Assert; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.json.JsonUtils; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormPageReqVO; -import com.win.module.bpm.controller.admin.definition.vo.form.BpmFormUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormCreateReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormPageReqVO; +import com.win.module.bpm.controller.definition.vo.form.BpmFormUpdateReqVO; import com.win.module.bpm.convert.definition.BpmFormConvert; import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; import com.win.module.bpm.dal.mysql.definition.BpmFormMapper; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmModelService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmModelService.java index d89fbeb3..7f9ac110 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmModelService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmModelService.java @@ -1,7 +1,7 @@ package com.win.module.bpm.service.definition; import com.win.framework.common.pojo.PageResult; -import com.win.module.bpm.controller.admin.definition.vo.model.*; +import com.win.module.bpm.controller.definition.vo.model.*; import org.flowable.bpmn.model.BpmnModel; import javax.validation.Valid; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmModelServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmModelServiceImpl.java index 537007a1..f2f06096 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmModelServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmModelServiceImpl.java @@ -7,7 +7,7 @@ import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.common.util.json.JsonUtils; import com.win.framework.common.util.object.PageUtils; import com.win.framework.common.util.validation.ValidationUtils; -import com.win.module.bpm.controller.admin.definition.vo.model.*; +import com.win.module.bpm.controller.definition.vo.model.*; import com.win.module.bpm.convert.definition.BpmModelConvert; import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; import com.win.module.bpm.enums.definition.BpmModelFormTypeEnum; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmProcessDefinitionService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmProcessDefinitionService.java index 456e0238..2ee0d6f6 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmProcessDefinitionService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmProcessDefinitionService.java @@ -2,10 +2,10 @@ package com.win.module.bpm.service.definition; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionListReqVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageItemRespVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageReqVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionListReqVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageReqVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO; import com.win.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; import com.win.module.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; import org.flowable.bpmn.model.BpmnModel; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmProcessDefinitionServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmProcessDefinitionServiceImpl.java index e4691bd9..b49b72c8 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmProcessDefinitionServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmProcessDefinitionServiceImpl.java @@ -6,10 +6,10 @@ import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.object.PageUtils; import com.win.framework.flowable.core.util.FlowableUtils; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionListReqVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageItemRespVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageReqVO; -import com.win.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionListReqVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageReqVO; +import com.win.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO; import com.win.module.bpm.convert.definition.BpmProcessDefinitionConvert; import com.win.module.bpm.dal.dataobject.definition.BpmFormDO; import com.win.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmTaskAssignRuleService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmTaskAssignRuleService.java index acbda944..7075d24c 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmTaskAssignRuleService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmTaskAssignRuleService.java @@ -1,8 +1,8 @@ package com.win.module.bpm.service.definition; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleRespVO; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; import com.win.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.lang.Nullable; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmTaskAssignRuleServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmTaskAssignRuleServiceImpl.java index 9987bdc3..47ebf10b 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmTaskAssignRuleServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmTaskAssignRuleServiceImpl.java @@ -8,9 +8,9 @@ import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.common.util.object.ObjectUtils; import com.win.framework.datapermission.core.annotation.DataPermission; import com.win.framework.flowable.core.util.FlowableUtils; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleRespVO; -import com.win.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO; +import com.win.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; import com.win.module.bpm.convert.definition.BpmTaskAssignRuleConvert; import com.win.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; import com.win.module.bpm.dal.dataobject.definition.BpmUserGroupDO; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmUserGroupService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmUserGroupService.java index dbeee34e..a9b8b786 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmUserGroupService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmUserGroupService.java @@ -3,9 +3,9 @@ package com.win.module.bpm.service.definition; import java.util.*; import javax.validation.*; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupPageReqVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupCreateReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupPageReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO; import com.win.module.bpm.dal.dataobject.definition.BpmUserGroupDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmUserGroupServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmUserGroupServiceImpl.java index 878d2bf8..b19a3a70 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmUserGroupServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/definition/BpmUserGroupServiceImpl.java @@ -1,9 +1,9 @@ package com.win.module.bpm.service.definition; import cn.hutool.core.collection.CollUtil; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupCreateReqVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupPageReqVO; -import com.win.module.bpm.controller.admin.definition.vo.group.BpmUserGroupUpdateReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupCreateReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupPageReqVO; +import com.win.module.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO; import com.win.module.bpm.convert.definition.BpmUserGroupConvert; import com.win.module.bpm.dal.dataobject.definition.BpmUserGroupDO; import com.win.module.bpm.dal.mysql.definition.BpmUserGroupMapper; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/oa/BpmOALeaveService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/oa/BpmOALeaveService.java index a9eee41c..7d2d7014 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/oa/BpmOALeaveService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/oa/BpmOALeaveService.java @@ -2,8 +2,8 @@ package com.win.module.bpm.service.oa; import com.win.framework.common.pojo.PageResult; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeaveCreateReqVO; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeavePageReqVO; import com.win.module.bpm.dal.dataobject.oa.BpmOALeaveDO; import javax.validation.Valid; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/oa/BpmOALeaveServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/oa/BpmOALeaveServiceImpl.java index 8dbfbd37..b26804ed 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/oa/BpmOALeaveServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/oa/BpmOALeaveServiceImpl.java @@ -4,8 +4,8 @@ import cn.hutool.core.date.LocalDateTimeUtil; import com.win.framework.common.pojo.PageResult; import com.win.module.bpm.api.task.BpmProcessInstanceApi; import com.win.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeaveCreateReqVO; -import com.win.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; +import com.win.module.bpm.controller.oa.vo.BpmOALeavePageReqVO; import com.win.module.bpm.convert.oa.BpmOALeaveConvert; import com.win.module.bpm.dal.dataobject.oa.BpmOALeaveDO; import com.win.module.bpm.dal.mysql.oa.BpmOALeaveMapper; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmActivityService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmActivityService.java index 8ee8cbea..b45b30ec 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmActivityService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmActivityService.java @@ -1,6 +1,6 @@ package com.win.module.bpm.service.task; -import com.win.module.bpm.controller.admin.task.vo.activity.BpmActivityRespVO; +import com.win.module.bpm.controller.task.vo.activity.BpmActivityRespVO; import org.flowable.engine.history.HistoricActivityInstance; import java.util.List; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmActivityServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmActivityServiceImpl.java index 5f5b4107..1955220a 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmActivityServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmActivityServiceImpl.java @@ -1,6 +1,6 @@ package com.win.module.bpm.service.task; -import com.win.module.bpm.controller.admin.task.vo.activity.BpmActivityRespVO; +import com.win.module.bpm.controller.task.vo.activity.BpmActivityRespVO; import com.win.module.bpm.convert.task.BpmActivityConvert; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.HistoryService; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmProcessInstanceService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmProcessInstanceService.java index e3b464a8..1c71001e 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmProcessInstanceService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmProcessInstanceService.java @@ -3,7 +3,7 @@ package com.win.module.bpm.service.task; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; import com.win.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; -import com.win.module.bpm.controller.admin.task.vo.instance.*; +import com.win.module.bpm.controller.task.vo.instance.*; import org.flowable.engine.delegate.event.FlowableCancelledEvent; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.runtime.ProcessInstance; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmProcessInstanceServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmProcessInstanceServiceImpl.java index fce2ac02..abef2af3 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmProcessInstanceServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmProcessInstanceServiceImpl.java @@ -1 +1 @@ -package com.win.module.bpm.service.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.number.NumberUtils; import com.win.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import com.win.module.bpm.controller.admin.task.vo.instance.*; import com.win.module.bpm.convert.task.BpmProcessInstanceConvert; import com.win.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; import com.win.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import com.win.module.bpm.dal.mysql.task.BpmProcessInstanceExtMapper; import com.win.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum; import com.win.module.bpm.enums.task.BpmProcessInstanceResultEnum; import com.win.module.bpm.enums.task.BpmProcessInstanceStatusEnum; import com.win.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventPublisher; import com.win.module.bpm.service.definition.BpmProcessDefinitionService; import com.win.module.bpm.service.message.BpmMessageService; import com.win.module.system.api.dept.DeptApi; import com.win.module.system.api.dept.dto.DeptRespDTO; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.HistoryService; import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.event.FlowableCancelledEvent; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.runtime.ProcessInstance; import org.flowable.task.api.Task; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; import java.time.LocalDateTime; import java.util.*; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.util.collection.CollectionUtils.convertList; import static com.win.module.bpm.enums.ErrorCodeConstants.*; /** * 流程实例 Service 实现类 * * ProcessDefinition & ProcessInstance & Execution & Task 的关系: * 1. * * HistoricProcessInstance & ProcessInstance 的关系: * 1. * * 简单来说,前者 = 历史 + 运行中的流程实例,后者仅是运行中的流程实例 * * @author 闻荫源码 */ @Service @Validated @Slf4j public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService { @Resource private RuntimeService runtimeService; @Resource private BpmProcessInstanceExtMapper processInstanceExtMapper; @Resource @Lazy // 解决循环依赖 private BpmTaskService taskService; @Resource private BpmProcessDefinitionService processDefinitionService; @Resource private HistoryService historyService; @Resource private AdminUserApi adminUserApi; @Resource private DeptApi deptApi; @Resource private BpmProcessInstanceResultEventPublisher processInstanceResultEventPublisher; @Resource private BpmMessageService messageService; @Override public ProcessInstance getProcessInstance(String id) { return runtimeService.createProcessInstanceQuery().processInstanceId(id).singleResult(); } @Override public List getProcessInstances(Set ids) { return runtimeService.createProcessInstanceQuery().processInstanceIds(ids).list(); } @Override public PageResult getMyProcessInstancePage(Long userId, BpmProcessInstanceMyPageReqVO pageReqVO) { // 通过 BpmProcessInstanceExtDO 表,先查询到对应的分页 PageResult pageResult = processInstanceExtMapper.selectPage(userId, pageReqVO); if (CollUtil.isEmpty(pageResult.getList())) { return new PageResult<>(pageResult.getTotal()); } // 获得流程 Task Map List processInstanceIds = convertList(pageResult.getList(), BpmProcessInstanceExtDO::getProcessInstanceId); Map> taskMap = taskService.getTaskMapByProcessInstanceIds(processInstanceIds); // 转换返回 return BpmProcessInstanceConvert.INSTANCE.convertPage(pageResult, taskMap); } @Override @Transactional(rollbackFor = Exception.class) public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqVO createReqVO) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getProcessDefinition(createReqVO.getProcessDefinitionId()); // 发起流程 return createProcessInstance0(userId, definition, createReqVO.getVariables(), null); } @Override public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO createReqDTO) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getActiveProcessDefinition(createReqDTO.getProcessDefinitionKey()); // 发起流程 return createProcessInstance0(userId, definition, createReqDTO.getVariables(), createReqDTO.getBusinessKey()); } @Override public BpmProcessInstanceRespVO getProcessInstanceVO(String id) { // 获得流程实例 HistoricProcessInstance processInstance = getHistoricProcessInstance(id); if (processInstance == null) { return null; } BpmProcessInstanceExtDO processInstanceExt = processInstanceExtMapper.selectByProcessInstanceId(id); Assert.notNull(processInstanceExt, "流程实例拓展({}) 不存在", id); // 获得流程定义 ProcessDefinition processDefinition = processDefinitionService .getProcessDefinition(processInstance.getProcessDefinitionId()); Assert.notNull(processDefinition, "流程定义({}) 不存在", processInstance.getProcessDefinitionId()); BpmProcessDefinitionExtDO processDefinitionExt = processDefinitionService.getProcessDefinitionExt( processInstance.getProcessDefinitionId()); Assert.notNull(processDefinitionExt, "流程定义拓展({}) 不存在", id); String bpmnXml = processDefinitionService.getProcessDefinitionBpmnXML(processInstance.getProcessDefinitionId()); // 获得 User AdminUserRespDTO startUser = adminUserApi.getUser(NumberUtils.parseLong(processInstance.getStartUserId())); DeptRespDTO dept = null; if (startUser != null) { dept = deptApi.getDept(startUser.getDeptId()); } // 拼接结果 return BpmProcessInstanceConvert.INSTANCE.convert2(processInstance, processInstanceExt, processDefinition, processDefinitionExt, bpmnXml, startUser, dept); } @Override public void cancelProcessInstance(Long userId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO) { // 校验流程实例存在 ProcessInstance instance = getProcessInstance(cancelReqVO.getId()); if (instance == null) { throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS); } // 只能取消自己的 if (!Objects.equals(instance.getStartUserId(), String.valueOf(userId))) { throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_SELF); } // 通过删除流程实例,实现流程实例的取消, // 删除流程实例,正则执行任务 ACT_RU_TASK. 任务会被删除。通过历史表查询 deleteProcessInstance(cancelReqVO.getId(), BpmProcessInstanceDeleteReasonEnum.CANCEL_TASK.format(cancelReqVO.getReason())); } /** * 获得历史的流程实例 * * @param id 流程实例的编号 * @return 历史的流程实例 */ @Override public HistoricProcessInstance getHistoricProcessInstance(String id) { return historyService.createHistoricProcessInstanceQuery().processInstanceId(id).singleResult(); } @Override public List getHistoricProcessInstances(Set ids) { return historyService.createHistoricProcessInstanceQuery().processInstanceIds(ids).list(); } @Override public void createProcessInstanceExt(ProcessInstance instance) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getProcessDefinition2(instance.getProcessDefinitionId()); // 插入 BpmProcessInstanceExtDO 对象 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(instance.getId()) .setProcessDefinitionId(definition.getId()) .setName(instance.getProcessDefinitionName()) .setStartUserId(Long.valueOf(instance.getStartUserId())) .setCategory(definition.getCategory()) .setStatus(BpmProcessInstanceStatusEnum.RUNNING.getStatus()) .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); processInstanceExtMapper.insert(instanceExtDO); } @Override public void updateProcessInstanceExtCancel(FlowableCancelledEvent event) { // 判断是否为 Reject 不通过。如果是,则不进行更新. // 因为,updateProcessInstanceExtReject 方法,已经进行更新了 if (BpmProcessInstanceDeleteReasonEnum.isRejectReason((String)event.getCause())) { return; } // 需要主动查询,因为 instance 只有 id 属性 // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance HistoricProcessInstance processInstance = getHistoricProcessInstance(event.getProcessInstanceId()); // 更新拓展表 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(event.getProcessInstanceId()) .setEndTime(LocalDateTime.now()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.CANCEL.getResult()); processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } @Override public void updateProcessInstanceExtComplete(ProcessInstance instance) { // 需要主动查询,因为 instance 只有 id 属性 // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId()); // 更新拓展表 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(instance.getProcessInstanceId()) .setEndTime(LocalDateTime.now()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()); // 如果正常完全,说明审批通过 processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程被通过的消息 messageService.sendMessageWhenProcessInstanceApprove(BpmProcessInstanceConvert.INSTANCE.convert2ApprovedReq(instance)); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } @Override @Transactional(rollbackFor = Exception.class) public void updateProcessInstanceExtReject(String id, String reason) { // 需要主动查询,因为 instance 只有 id 属性 ProcessInstance processInstance = getProcessInstance(id); // 删除流程实例,以实现驳回任务时,取消整个审批流程 deleteProcessInstance(id, StrUtil.format(BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.format(reason))); // 更新 status + result // 注意,不能和上面的逻辑更换位置。因为 deleteProcessInstance 会触发流程的取消,进而调用 updateProcessInstanceExtCancel 方法, // 设置 result 为 BpmProcessInstanceStatusEnum.CANCEL,显然和 result 不一定是一致的 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO().setProcessInstanceId(id) .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.REJECT.getResult()); processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程被不通过的消息 messageService.sendMessageWhenProcessInstanceReject(BpmProcessInstanceConvert.INSTANCE.convert2RejectReq(processInstance, reason)); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } private void deleteProcessInstance(String id, String reason) { runtimeService.deleteProcessInstance(id, reason); } private String createProcessInstance0(Long userId, ProcessDefinition definition, Map variables, String businessKey) { // 校验流程定义 if (definition == null) { throw exception(PROCESS_DEFINITION_NOT_EXISTS); } if (definition.isSuspended()) { throw exception(PROCESS_DEFINITION_IS_SUSPENDED); } // 创建流程实例 ProcessInstance instance = runtimeService.createProcessInstanceBuilder() .processDefinitionId(definition.getId()) .businessKey(businessKey) .name(definition.getName().trim()) .variables(variables) .start(); // 设置流程名字 runtimeService.setProcessInstanceName(instance.getId(), definition.getName()); // 补全流程实例的拓展表 processInstanceExtMapper.updateByProcessInstanceId(new BpmProcessInstanceExtDO().setProcessInstanceId(instance.getId()) .setFormVariables(variables)); return instance.getId(); } } \ No newline at end of file +package com.win.module.bpm.service.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.number.NumberUtils; import com.win.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import com.win.module.bpm.controller.task.vo.instance.*; import com.win.module.bpm.convert.task.BpmProcessInstanceConvert; import com.win.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; import com.win.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import com.win.module.bpm.dal.mysql.task.BpmProcessInstanceExtMapper; import com.win.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum; import com.win.module.bpm.enums.task.BpmProcessInstanceResultEnum; import com.win.module.bpm.enums.task.BpmProcessInstanceStatusEnum; import com.win.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventPublisher; import com.win.module.bpm.service.definition.BpmProcessDefinitionService; import com.win.module.bpm.service.message.BpmMessageService; import com.win.module.system.api.dept.DeptApi; import com.win.module.system.api.dept.dto.DeptRespDTO; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.HistoryService; import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.event.FlowableCancelledEvent; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.runtime.ProcessInstance; import org.flowable.task.api.Task; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; import java.time.LocalDateTime; import java.util.*; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.util.collection.CollectionUtils.convertList; import static com.win.module.bpm.enums.ErrorCodeConstants.*; /** * 流程实例 Service 实现类 * * ProcessDefinition & ProcessInstance & Execution & Task 的关系: * 1. * * HistoricProcessInstance & ProcessInstance 的关系: * 1. * * 简单来说,前者 = 历史 + 运行中的流程实例,后者仅是运行中的流程实例 * * @author 闻荫源码 */ @Service @Validated @Slf4j public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService { @Resource private RuntimeService runtimeService; @Resource private BpmProcessInstanceExtMapper processInstanceExtMapper; @Resource @Lazy // 解决循环依赖 private BpmTaskService taskService; @Resource private BpmProcessDefinitionService processDefinitionService; @Resource private HistoryService historyService; @Resource private AdminUserApi adminUserApi; @Resource private DeptApi deptApi; @Resource private BpmProcessInstanceResultEventPublisher processInstanceResultEventPublisher; @Resource private BpmMessageService messageService; @Override public ProcessInstance getProcessInstance(String id) { return runtimeService.createProcessInstanceQuery().processInstanceId(id).singleResult(); } @Override public List getProcessInstances(Set ids) { return runtimeService.createProcessInstanceQuery().processInstanceIds(ids).list(); } @Override public PageResult getMyProcessInstancePage(Long userId, BpmProcessInstanceMyPageReqVO pageReqVO) { // 通过 BpmProcessInstanceExtDO 表,先查询到对应的分页 PageResult pageResult = processInstanceExtMapper.selectPage(userId, pageReqVO); if (CollUtil.isEmpty(pageResult.getList())) { return new PageResult<>(pageResult.getTotal()); } // 获得流程 Task Map List processInstanceIds = convertList(pageResult.getList(), BpmProcessInstanceExtDO::getProcessInstanceId); Map> taskMap = taskService.getTaskMapByProcessInstanceIds(processInstanceIds); // 转换返回 return BpmProcessInstanceConvert.INSTANCE.convertPage(pageResult, taskMap); } @Override @Transactional(rollbackFor = Exception.class) public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqVO createReqVO) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getProcessDefinition(createReqVO.getProcessDefinitionId()); // 发起流程 return createProcessInstance0(userId, definition, createReqVO.getVariables(), null); } @Override public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO createReqDTO) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getActiveProcessDefinition(createReqDTO.getProcessDefinitionKey()); // 发起流程 return createProcessInstance0(userId, definition, createReqDTO.getVariables(), createReqDTO.getBusinessKey()); } @Override public BpmProcessInstanceRespVO getProcessInstanceVO(String id) { // 获得流程实例 HistoricProcessInstance processInstance = getHistoricProcessInstance(id); if (processInstance == null) { return null; } BpmProcessInstanceExtDO processInstanceExt = processInstanceExtMapper.selectByProcessInstanceId(id); Assert.notNull(processInstanceExt, "流程实例拓展({}) 不存在", id); // 获得流程定义 ProcessDefinition processDefinition = processDefinitionService .getProcessDefinition(processInstance.getProcessDefinitionId()); Assert.notNull(processDefinition, "流程定义({}) 不存在", processInstance.getProcessDefinitionId()); BpmProcessDefinitionExtDO processDefinitionExt = processDefinitionService.getProcessDefinitionExt( processInstance.getProcessDefinitionId()); Assert.notNull(processDefinitionExt, "流程定义拓展({}) 不存在", id); String bpmnXml = processDefinitionService.getProcessDefinitionBpmnXML(processInstance.getProcessDefinitionId()); // 获得 User AdminUserRespDTO startUser = adminUserApi.getUser(NumberUtils.parseLong(processInstance.getStartUserId())); DeptRespDTO dept = null; if (startUser != null) { dept = deptApi.getDept(startUser.getDeptId()); } // 拼接结果 return BpmProcessInstanceConvert.INSTANCE.convert2(processInstance, processInstanceExt, processDefinition, processDefinitionExt, bpmnXml, startUser, dept); } @Override public void cancelProcessInstance(Long userId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO) { // 校验流程实例存在 ProcessInstance instance = getProcessInstance(cancelReqVO.getId()); if (instance == null) { throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS); } // 只能取消自己的 if (!Objects.equals(instance.getStartUserId(), String.valueOf(userId))) { throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_SELF); } // 通过删除流程实例,实现流程实例的取消, // 删除流程实例,正则执行任务 ACT_RU_TASK. 任务会被删除。通过历史表查询 deleteProcessInstance(cancelReqVO.getId(), BpmProcessInstanceDeleteReasonEnum.CANCEL_TASK.format(cancelReqVO.getReason())); } /** * 获得历史的流程实例 * * @param id 流程实例的编号 * @return 历史的流程实例 */ @Override public HistoricProcessInstance getHistoricProcessInstance(String id) { return historyService.createHistoricProcessInstanceQuery().processInstanceId(id).singleResult(); } @Override public List getHistoricProcessInstances(Set ids) { return historyService.createHistoricProcessInstanceQuery().processInstanceIds(ids).list(); } @Override public void createProcessInstanceExt(ProcessInstance instance) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getProcessDefinition2(instance.getProcessDefinitionId()); // 插入 BpmProcessInstanceExtDO 对象 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(instance.getId()) .setProcessDefinitionId(definition.getId()) .setName(instance.getProcessDefinitionName()) .setStartUserId(Long.valueOf(instance.getStartUserId())) .setCategory(definition.getCategory()) .setStatus(BpmProcessInstanceStatusEnum.RUNNING.getStatus()) .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); processInstanceExtMapper.insert(instanceExtDO); } @Override public void updateProcessInstanceExtCancel(FlowableCancelledEvent event) { // 判断是否为 Reject 不通过。如果是,则不进行更新. // 因为,updateProcessInstanceExtReject 方法,已经进行更新了 if (BpmProcessInstanceDeleteReasonEnum.isRejectReason((String)event.getCause())) { return; } // 需要主动查询,因为 instance 只有 id 属性 // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance HistoricProcessInstance processInstance = getHistoricProcessInstance(event.getProcessInstanceId()); // 更新拓展表 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(event.getProcessInstanceId()) .setEndTime(LocalDateTime.now()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.CANCEL.getResult()); processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } @Override public void updateProcessInstanceExtComplete(ProcessInstance instance) { // 需要主动查询,因为 instance 只有 id 属性 // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId()); // 更新拓展表 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(instance.getProcessInstanceId()) .setEndTime(LocalDateTime.now()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()); // 如果正常完全,说明审批通过 processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程被通过的消息 messageService.sendMessageWhenProcessInstanceApprove(BpmProcessInstanceConvert.INSTANCE.convert2ApprovedReq(instance)); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } @Override @Transactional(rollbackFor = Exception.class) public void updateProcessInstanceExtReject(String id, String reason) { // 需要主动查询,因为 instance 只有 id 属性 ProcessInstance processInstance = getProcessInstance(id); // 删除流程实例,以实现驳回任务时,取消整个审批流程 deleteProcessInstance(id, StrUtil.format(BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.format(reason))); // 更新 status + result // 注意,不能和上面的逻辑更换位置。因为 deleteProcessInstance 会触发流程的取消,进而调用 updateProcessInstanceExtCancel 方法, // 设置 result 为 BpmProcessInstanceStatusEnum.CANCEL,显然和 result 不一定是一致的 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO().setProcessInstanceId(id) .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.REJECT.getResult()); processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程被不通过的消息 messageService.sendMessageWhenProcessInstanceReject(BpmProcessInstanceConvert.INSTANCE.convert2RejectReq(processInstance, reason)); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } private void deleteProcessInstance(String id, String reason) { runtimeService.deleteProcessInstance(id, reason); } private String createProcessInstance0(Long userId, ProcessDefinition definition, Map variables, String businessKey) { // 校验流程定义 if (definition == null) { throw exception(PROCESS_DEFINITION_NOT_EXISTS); } if (definition.isSuspended()) { throw exception(PROCESS_DEFINITION_IS_SUSPENDED); } // 创建流程实例 ProcessInstance instance = runtimeService.createProcessInstanceBuilder() .processDefinitionId(definition.getId()) .businessKey(businessKey) .name(definition.getName().trim()) .variables(variables) .start(); // 设置流程名字 runtimeService.setProcessInstanceName(instance.getId(), definition.getName()); // 补全流程实例的拓展表 processInstanceExtMapper.updateByProcessInstanceId(new BpmProcessInstanceExtDO().setProcessInstanceId(instance.getId()) .setFormVariables(variables)); return instance.getId(); } } \ No newline at end of file diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmTaskService.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmTaskService.java index ec618438..00872efc 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmTaskService.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmTaskService.java @@ -1,9 +1,8 @@ package com.win.module.bpm.service.task; -import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.module.bpm.controller.admin.task.vo.task.*; +import com.win.module.bpm.controller.task.vo.task.*; import org.flowable.task.api.Task; import javax.validation.Valid; diff --git a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmTaskServiceImpl.java b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmTaskServiceImpl.java index 85aff1cb..c20e31ea 100644 --- a/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/win-module-bpm/win-module-bpm-biz/src/main/java/com/win/module/bpm/service/task/BpmTaskServiceImpl.java @@ -1,14 +1,13 @@ package com.win.module.bpm.service.task; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.date.DateUtils; import com.win.framework.common.util.number.NumberUtils; import com.win.framework.common.util.object.PageUtils; -import com.win.module.bpm.controller.admin.task.vo.task.*; +import com.win.module.bpm.controller.task.vo.task.*; import com.win.module.bpm.convert.task.BpmTaskConvert; import com.win.module.bpm.dal.dataobject.task.BpmTaskExtDO; import com.win.module.bpm.dal.mysql.task.BpmTaskExtMapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/CodegenController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/CodegenController.java deleted file mode 100644 index 4fb08e70..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/CodegenController.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.win.module.infra.controller.admin.codegen; - -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.util.ZipUtil; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.util.servlet.ServletUtils; -import com.win.module.infra.controller.admin.codegen.vo.CodegenCreateListReqVO; -import com.win.module.infra.controller.admin.codegen.vo.CodegenDetailRespVO; -import com.win.module.infra.controller.admin.codegen.vo.CodegenPreviewRespVO; -import com.win.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO; -import com.win.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO; -import com.win.module.infra.controller.admin.codegen.vo.table.CodegenTableRespVO; -import com.win.module.infra.controller.admin.codegen.vo.table.DatabaseTableRespVO; -import com.win.module.infra.convert.codegen.CodegenConvert; -import com.win.module.infra.dal.dataobject.codegen.CodegenColumnDO; -import com.win.module.infra.dal.dataobject.codegen.CodegenTableDO; -import com.win.module.infra.service.codegen.CodegenService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.List; -import java.util.Map; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -@Tag(name = "管理后台 - 代码生成器") -@RestController -@RequestMapping("/infra/codegen") -@Validated -public class CodegenController { - - @Resource - private CodegenService codegenService; - - @GetMapping("/db/table/list") - @Operation(summary = "获得数据库自带的表定义列表", description = "会过滤掉已经导入 Codegen 的表") - @Parameters({ - @Parameter(name = "dataSourceConfigId", description = "数据源配置的编号", required = true, example = "1"), - @Parameter(name = "name", description = "表名,模糊匹配", example = "win"), - @Parameter(name = "comment", description = "描述,模糊匹配", example = "闻荫") - }) - @PreAuthorize("@ss.hasPermission('infra:codegen:query')") - public CommonResult> getDatabaseTableList( - @RequestParam(value = "dataSourceConfigId") Long dataSourceConfigId, - @RequestParam(value = "name", required = false) String name, - @RequestParam(value = "comment", required = false) String comment) { - return success(codegenService.getDatabaseTableList(dataSourceConfigId, name, comment)); - } - - @GetMapping("/table/page") - @Operation(summary = "获得表定义分页") - @PreAuthorize("@ss.hasPermission('infra:codegen:query')") - public CommonResult> getCodeGenTablePage(@Valid CodegenTablePageReqVO pageReqVO) { - PageResult pageResult = codegenService.getCodegenTablePage(pageReqVO); - return success(CodegenConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/detail") - @Operation(summary = "获得表和字段的明细") - @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:codegen:query')") - public CommonResult getCodegenDetail(@RequestParam("tableId") Long tableId) { - CodegenTableDO table = codegenService.getCodegenTablePage(tableId); - List columns = codegenService.getCodegenColumnListByTableId(tableId); - // 拼装返回 - return success(CodegenConvert.INSTANCE.convert(table, columns)); - } - - @Operation(summary = "基于数据库的表结构,创建代码生成器的表和字段定义") - @PostMapping("/create-list") - @PreAuthorize("@ss.hasPermission('infra:codegen:create')") - public CommonResult> createCodegenList(@Valid @RequestBody CodegenCreateListReqVO reqVO) { - return success(codegenService.createCodegenList(getLoginUserId(), reqVO)); - } - - @Operation(summary = "更新数据库的表和字段定义") - @PutMapping("/update") - @PreAuthorize("@ss.hasPermission('infra:codegen:update')") - public CommonResult updateCodegen(@Valid @RequestBody CodegenUpdateReqVO updateReqVO) { - codegenService.updateCodegen(updateReqVO); - return success(true); - } - - @Operation(summary = "基于数据库的表结构,同步数据库的表和字段定义") - @PutMapping("/sync-from-db") - @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:codegen:update')") - public CommonResult syncCodegenFromDB(@RequestParam("tableId") Long tableId) { - codegenService.syncCodegenFromDB(tableId); - return success(true); - } - - @Operation(summary = "删除数据库的表和字段定义") - @DeleteMapping("/delete") - @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:codegen:delete')") - public CommonResult deleteCodegen(@RequestParam("tableId") Long tableId) { - codegenService.deleteCodegen(tableId); - return success(true); - } - - @Operation(summary = "预览生成代码") - @GetMapping("/preview") - @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:codegen:preview')") - public CommonResult> previewCodegen(@RequestParam("tableId") Long tableId) { - Map codes = codegenService.generationCodes(tableId); - return success(CodegenConvert.INSTANCE.convert(codes)); - } - - @Operation(summary = "下载生成代码") - @GetMapping("/download") - @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:codegen:download')") - public void downloadCodegen(@RequestParam("tableId") Long tableId, - HttpServletResponse response) throws IOException { - // 生成代码 - Map codes = codegenService.generationCodes(tableId); - // 构建 zip 包 - String[] paths = codes.keySet().toArray(new String[0]); - ByteArrayInputStream[] ins = codes.values().stream().map(IoUtil::toUtf8Stream).toArray(ByteArrayInputStream[]::new); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - ZipUtil.zip(outputStream, paths, ins); - // 输出 - ServletUtils.writeAttachment(response, "codegen.zip", outputStream.toByteArray()); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java deleted file mode 100644 index d10d86e7..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.List; - -@Schema(description = "管理后台 - 基于数据库的表结构,创建代码生成器的表和字段定义 Request VO") -@Data -public class CodegenCreateListReqVO { - - @Schema(description = "数据源配置的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "数据源配置的编号不能为空") - private Long dataSourceConfigId; - - @Schema(description = "表名数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1, 2, 3]") - @NotNull(message = "表名数组不能为空") - private List tableNames; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenDetailRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenDetailRespVO.java deleted file mode 100644 index 216bb8e7..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenDetailRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo; - -import com.win.module.infra.controller.admin.codegen.vo.column.CodegenColumnRespVO; -import com.win.module.infra.controller.admin.codegen.vo.table.CodegenTableRespVO; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -@Schema(description = "管理后台 - 代码生成表和字段的明细 Response VO") -@Data -public class CodegenDetailRespVO { - - @Schema(description = "表定义") - private CodegenTableRespVO table; - - @Schema(description = "字段定义") - private List columns; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java deleted file mode 100644 index 539318a0..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 代码生成预览 Response VO,注意,每个文件都是一个该对象") -@Data -public class CodegenPreviewRespVO { - - @Schema(description = "文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "java/com.win/adminserver/modules/system/controller/test/SysTestDemoController.java") - private String filePath; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "Hello World") - private String code; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java deleted file mode 100644 index 089be6f0..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo; - -import cn.hutool.core.util.ObjectUtil; -import com.win.module.infra.controller.admin.codegen.vo.column.CodegenColumnBaseVO; -import com.win.module.infra.controller.admin.codegen.vo.table.CodegenTableBaseVO; -import com.win.module.infra.enums.codegen.CodegenSceneEnum; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.Valid; -import javax.validation.constraints.AssertTrue; -import javax.validation.constraints.NotNull; -import java.util.List; - -@Schema(description = "管理后台 - 代码生成表和字段的修改 Request VO") -@Data -public class CodegenUpdateReqVO { - - @Valid // 校验内嵌的字段 - @NotNull(message = "表定义不能为空") - private Table table; - - @Valid // 校验内嵌的字段 - @NotNull(message = "字段定义不能为空") - private List columns; - - @Schema(description = "更新表定义") - @Data - @EqualsAndHashCode(callSuper = true) - @ToString(callSuper = true) - @Valid - public static class Table extends CodegenTableBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @AssertTrue(message = "上级菜单不能为空,请前往 [修改生成配置 -> 生成信息] 界面,设置“上级菜单”字段") - public boolean isParentMenuIdValid() { - // 生成场景为管理后台时,必须设置上级菜单,不然生成的菜单 SQL 是无父级菜单的 - return ObjectUtil.notEqual(getScene(), CodegenSceneEnum.ADMIN.getScene()) - || getParentMenuId() != null; - } - - } - - @Schema(description = "更新表定义") - @Data - @EqualsAndHashCode(callSuper = true) - @ToString(callSuper = true) - public static class Column extends CodegenColumnBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java deleted file mode 100644 index 60e59466..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo.column; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -/** -* 代码生成字段定义 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class CodegenColumnBaseVO { - - @Schema(description = "表编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "表编号不能为空") - private Long tableId; - - @Schema(description = "字段名", requiredMode = Schema.RequiredMode.REQUIRED, example = "user_age") - @NotNull(message = "字段名不能为空") - private String columnName; - - @Schema(description = "字段类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "int(11)") - @NotNull(message = "字段类型不能为空") - private String dataType; - - @Schema(description = "字段描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "年龄") - @NotNull(message = "字段描述不能为空") - private String columnComment; - - @Schema(description = "是否允许为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否允许为空不能为空") - private Boolean nullable; - - @Schema(description = "是否主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") - @NotNull(message = "是否主键不能为空") - private Boolean primaryKey; - - @Schema(description = "是否自增", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否自增不能为空") - private String autoIncrement; - - @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") - @NotNull(message = "排序不能为空") - private Integer ordinalPosition; - - @Schema(description = "Java 属性类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "userAge") - @NotNull(message = "Java 属性类型不能为空") - private String javaType; - - @Schema(description = "Java 属性名", requiredMode = Schema.RequiredMode.REQUIRED, example = "Integer") - @NotNull(message = "Java 属性名不能为空") - private String javaField; - - @Schema(description = "字典类型", example = "sys_gender") - private String dictType; - - @Schema(description = "数据示例", example = "1024") - private String example; - - @Schema(description = "是否为 Create 创建操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否为 Create 创建操作的字段不能为空") - private Boolean createOperation; - - @Schema(description = "是否为 Update 更新操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") - @NotNull(message = "是否为 Update 更新操作的字段不能为空") - private Boolean updateOperation; - - @Schema(description = "是否为 List 查询操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否为 List 查询操作的字段不能为空") - private Boolean listOperation; - - @Schema(description = "List 查询操作的条件类型,参见 CodegenColumnListConditionEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "LIKE") - @NotNull(message = "List 查询操作的条件类型不能为空") - private String listOperationCondition; - - @Schema(description = "是否为 List 查询操作的返回字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否为 List 查询操作的返回字段不能为空") - private Boolean listOperationResult; - - @Schema(description = "显示类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "input") - @NotNull(message = "显示类型不能为空") - private String htmlType; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java deleted file mode 100644 index 707c3005..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo.column; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 代码生成字段定义 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CodegenColumnRespVO extends CodegenColumnBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java deleted file mode 100644 index 77f396df..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo.table; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -/** - * 代码生成 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class CodegenTableBaseVO { - - @Schema(description = "生成场景,参见 CodegenSceneEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "导入类型不能为空") - private Integer scene; - - @Schema(description = "表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") - @NotNull(message = "表名称不能为空") - private String tableName; - - @Schema(description = "表描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotNull(message = "表描述不能为空") - private String tableComment; - - @Schema(description = "备注", example = "我是备注") - private String remark; - - @Schema(description = "模块名", requiredMode = Schema.RequiredMode.REQUIRED, example = "system") - @NotNull(message = "模块名不能为空") - private String moduleName; - - @Schema(description = "业务名", requiredMode = Schema.RequiredMode.REQUIRED, example = "codegen") - @NotNull(message = "业务名不能为空") - private String businessName; - - @Schema(description = "类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "CodegenTable") - @NotNull(message = "类名称不能为空") - private String className; - - @Schema(description = "类描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "代码生成器的表定义") - @NotNull(message = "类描述不能为空") - private String classComment; - - @Schema(description = "作者", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") - @NotNull(message = "作者不能为空") - private String author; - - @Schema(description = "模板类型,参见 CodegenTemplateTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "模板类型不能为空") - private Integer templateType; - - @Schema(description = "前端类型,参见 CodegenFrontTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "20") - @NotNull(message = "前端类型不能为空") - private Integer frontType; - - @Schema(description = "父菜单编号", example = "1024") - private Long parentMenuId; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java deleted file mode 100644 index 5b057a31..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo.table; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 表定义分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CodegenTablePageReqVO extends PageParam { - - @Schema(description = "表名称,模糊匹配", example = "win") - private String tableName; - - @Schema(description = "表描述,模糊匹配", example = "闻荫") - private String tableComment; - - @Schema(description = "实体,模糊匹配", example = "Win") - private String className; - - @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java deleted file mode 100644 index 40abeac4..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo.table; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 代码生成表定义 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CodegenTableRespVO extends CodegenTableBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Integer dataSourceConfigId; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime updateTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java deleted file mode 100644 index 7a6a3790..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.infra.controller.admin.codegen.vo.table; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 数据库的表定义 Response VO") -@Data -public class DatabaseTableRespVO { - - @Schema(description = "表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "yuanma") - private String name; - - @Schema(description = "表描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") - private String comment; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/ConfigController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/ConfigController.java deleted file mode 100644 index dbcf8057..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/ConfigController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.win.module.infra.controller.admin.config; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.infra.controller.admin.config.vo.*; -import com.win.module.infra.convert.config.ConfigConvert; -import com.win.module.infra.dal.dataobject.config.ConfigDO; -import com.win.module.infra.enums.ErrorCodeConstants; -import com.win.module.infra.service.config.ConfigService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 参数配置") -@RestController -@RequestMapping("/infra/config") -@Validated -public class ConfigController { - - @Resource - private ConfigService configService; - - @PostMapping("/create") - @Operation(summary = "创建参数配置") - @PreAuthorize("@ss.hasPermission('infra:config:create')") - public CommonResult createConfig(@Valid @RequestBody ConfigCreateReqVO reqVO) { - return success(configService.createConfig(reqVO)); - } - - @PutMapping("/update") - @Operation(summary = "修改参数配置") - @PreAuthorize("@ss.hasPermission('infra:config:update')") - public CommonResult updateConfig(@Valid @RequestBody ConfigUpdateReqVO reqVO) { - configService.updateConfig(reqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除参数配置") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:config:delete')") - public CommonResult deleteConfig(@RequestParam("id") Long id) { - configService.deleteConfig(id); - return success(true); - } - - @GetMapping(value = "/get") - @Operation(summary = "获得参数配置") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:config:query')") - public CommonResult getConfig(@RequestParam("id") Long id) { - return success(ConfigConvert.INSTANCE.convert(configService.getConfig(id))); - } - - @GetMapping(value = "/get-value-by-key") - @Operation(summary = "根据参数键名查询参数值", description = "不可见的配置,不允许返回给前端") - @Parameter(name = "key", description = "参数键", required = true, example = "yunai.biz.username") - public CommonResult getConfigKey(@RequestParam("key") String key) { - ConfigDO config = configService.getConfigByKey(key); - if (config == null) { - return success(null); - } - if (!config.getVisible()) { - throw exception(ErrorCodeConstants.CONFIG_GET_VALUE_ERROR_IF_VISIBLE); - } - return success(config.getValue()); - } - - @GetMapping("/page") - @Operation(summary = "获取参数配置分页") - @PreAuthorize("@ss.hasPermission('infra:config:query')") - public CommonResult> getConfigPage(@Valid ConfigPageReqVO reqVO) { - PageResult page = configService.getConfigPage(reqVO); - return success(ConfigConvert.INSTANCE.convertPage(page)); - } - - @GetMapping("/export") - @Operation(summary = "导出参数配置") - @PreAuthorize("@ss.hasPermission('infra:config:export')") - @OperateLog(type = EXPORT) - public void exportConfig(@Valid ConfigExportReqVO reqVO, - HttpServletResponse response) throws IOException { - List list = configService.getConfigList(reqVO); - // 拼接数据 - List datas = ConfigConvert.INSTANCE.convertList(list); - // 输出 - ExcelUtils.write(response, "参数配置.xls", "数据", ConfigExcelVO.class, datas); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigBaseVO.java deleted file mode 100644 index a3e654e1..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigBaseVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.win.module.infra.controller.admin.config.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 参数配置 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class ConfigBaseVO { - - @Schema(description = "参数分组", requiredMode = Schema.RequiredMode.REQUIRED, example = "biz") - @NotEmpty(message = "参数分组不能为空") - @Size(max = 50, message = "参数名称不能超过50个字符") - private String category; - - @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据库名") - @NotBlank(message = "参数名称不能为空") - @Size(max = 100, message = "参数名称不能超过100个字符") - private String name; - - @Schema(description = "参数键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotBlank(message = "参数键值不能为空") - @Size(max = 500, message = "参数键值长度不能超过500个字符") - private String value; - - @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否可见不能为空") - private Boolean visible; - - @Schema(description = "备注", example = "备注一下很帅气!") - private String remark; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java deleted file mode 100644 index 1db799aa..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.infra.controller.admin.config.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; - -@Schema(description = "管理后台 - 参数配置创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class ConfigCreateReqVO extends ConfigBaseVO { - - @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username") - @NotBlank(message = "参数键名长度不能为空") - @Size(max = 100, message = "参数键名长度不能超过100个字符") - private String key; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigExcelVO.java deleted file mode 100644 index c67a0eb7..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigExcelVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.win.module.infra.controller.admin.config.vo; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.infra.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 参数配置 Excel 导出响应 VO - */ -@Data -public class ConfigExcelVO { - - @ExcelProperty("参数配置序号") - private Long id; - - @ExcelProperty("参数键名") - private String configKey; - - @ExcelProperty("参数分类") - private String category; - - @ExcelProperty("参数名称") - private String name; - - @ExcelProperty("参数键值") - private String value; - - @ExcelProperty(value = "参数类型", converter = DictConvert.class) - @DictFormat(DictTypeConstants.CONFIG_TYPE) - private Integer type; - - @ExcelProperty(value = "是否可见", converter = DictConvert.class) - @DictFormat(DictTypeConstants.BOOLEAN_STRING) - private Boolean visible; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigExportReqVO.java deleted file mode 100644 index 830b45f8..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigExportReqVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.infra.controller.admin.config.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 参数配置导出 Request VO") -@Data -public class ConfigExportReqVO { - - @Schema(description = "参数名称", example = "模糊匹配") - private String name; - - @Schema(description = "参数键名,模糊匹配", example = "yunai.db.username") - private String key; - - @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", example = "1") - private Integer type; - - @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigPageReqVO.java deleted file mode 100644 index f5a28e6d..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigPageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.win.module.infra.controller.admin.config.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 参数配置分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ConfigPageReqVO extends PageParam { - - @Schema(description = "数据源名称,模糊匹配", example = "名称") - private String name; - - @Schema(description = "参数键名,模糊匹配", example = "yunai.db.username") - private String key; - - @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", example = "1") - private Integer type; - - @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigRespVO.java deleted file mode 100644 index 8c736318..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigRespVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.win.module.infra.controller.admin.config.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 参数配置信息 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class ConfigRespVO extends ConfigBaseVO { - - @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username") - @NotBlank(message = "参数键名长度不能为空") - @Size(max = 100, message = "参数键名长度不能超过100个字符") - private String key; - - @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer type; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java deleted file mode 100644 index fceb9e2d..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.infra.controller.admin.config.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 参数配置创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ConfigUpdateReqVO extends ConfigBaseVO { - - @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "参数配置编号不能为空") - private Long id; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/DataSourceConfigController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/DataSourceConfigController.java deleted file mode 100644 index b688c4d2..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/DataSourceConfigController.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.win.module.infra.controller.admin.db; - -import com.win.framework.common.pojo.CommonResult; -import com.win.module.infra.controller.admin.db.vo.DataSourceConfigCreateReqVO; -import com.win.module.infra.controller.admin.db.vo.DataSourceConfigRespVO; -import com.win.module.infra.controller.admin.db.vo.DataSourceConfigUpdateReqVO; -import com.win.module.infra.convert.db.DataSourceConfigConvert; -import com.win.module.infra.dal.dataobject.db.DataSourceConfigDO; -import com.win.module.infra.service.db.DataSourceConfigService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 数据源配置") -@RestController -@RequestMapping("/infra/data-source-config") -@Validated -public class DataSourceConfigController { - - @Resource - private DataSourceConfigService dataSourceConfigService; - - @PostMapping("/create") - @Operation(summary = "创建数据源配置") - @PreAuthorize("@ss.hasPermission('infra:data-source-config:create')") - public CommonResult createDataSourceConfig(@Valid @RequestBody DataSourceConfigCreateReqVO createReqVO) { - return success(dataSourceConfigService.createDataSourceConfig(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新数据源配置") - @PreAuthorize("@ss.hasPermission('infra:data-source-config:update')") - public CommonResult updateDataSourceConfig(@Valid @RequestBody DataSourceConfigUpdateReqVO updateReqVO) { - dataSourceConfigService.updateDataSourceConfig(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除数据源配置") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:data-source-config:delete')") - public CommonResult deleteDataSourceConfig(@RequestParam("id") Long id) { - dataSourceConfigService.deleteDataSourceConfig(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得数据源配置") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:data-source-config:query')") - public CommonResult getDataSourceConfig(@RequestParam("id") Long id) { - DataSourceConfigDO dataSourceConfig = dataSourceConfigService.getDataSourceConfig(id); - return success(DataSourceConfigConvert.INSTANCE.convert(dataSourceConfig)); - } - - @GetMapping("/list") - @Operation(summary = "获得数据源配置列表") - @PreAuthorize("@ss.hasPermission('infra:data-source-config:query')") - public CommonResult> getDataSourceConfigList() { - List list = dataSourceConfigService.getDataSourceConfigList(); - return success(DataSourceConfigConvert.INSTANCE.convertList(list)); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/DatabaseDocController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/DatabaseDocController.java deleted file mode 100644 index 646fa5f1..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/DatabaseDocController.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.win.module.infra.controller.admin.db; - -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.IdUtil; -import com.win.framework.common.util.servlet.ServletUtils; -import cn.smallbun.screw.core.Configuration; -import cn.smallbun.screw.core.engine.EngineConfig; -import cn.smallbun.screw.core.engine.EngineFileType; -import cn.smallbun.screw.core.engine.EngineTemplateType; -import cn.smallbun.screw.core.execute.DocumentationExecute; -import cn.smallbun.screw.core.process.ProcessConfig; -import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; -import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties; -import com.zaxxer.hikari.HikariConfig; -import com.zaxxer.hikari.HikariDataSource; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.IOException; -import java.util.Arrays; - -@Tag(name = "管理后台 - 数据库文档") -@RestController -@RequestMapping("/infra/db-doc") -public class DatabaseDocController { - - @Resource - private DynamicDataSourceProperties dynamicDataSourceProperties; - - private static final String FILE_OUTPUT_DIR = System.getProperty("java.io.tmpdir") + File.separator - + "db-doc"; - private static final String DOC_FILE_NAME = "数据库文档"; - private static final String DOC_VERSION = "1.0.0"; - private static final String DOC_DESCRIPTION = "文档描述"; - - @GetMapping("/export-html") - @Operation(summary = "导出 html 格式的数据文档") - @Parameter(name = "deleteFile", description = "是否删除在服务器本地生成的数据库文档", example = "true") - public void exportHtml(@RequestParam(defaultValue = "true") Boolean deleteFile, - HttpServletResponse response) throws IOException { - doExportFile(EngineFileType.HTML, deleteFile, response); - } - - @GetMapping("/export-word") - @Operation(summary = "导出 word 格式的数据文档") - @Parameter(name = "deleteFile", description = "是否删除在服务器本地生成的数据库文档", example = "true") - public void exportWord(@RequestParam(defaultValue = "true") Boolean deleteFile, - HttpServletResponse response) throws IOException { - doExportFile(EngineFileType.WORD, deleteFile, response); - } - - @GetMapping("/export-markdown") - @Operation(summary = "导出 markdown 格式的数据文档") - @Parameter(name = "deleteFile", description = "是否删除在服务器本地生成的数据库文档", example = "true") - public void exportMarkdown(@RequestParam(defaultValue = "true") Boolean deleteFile, - HttpServletResponse response) throws IOException { - doExportFile(EngineFileType.MD, deleteFile, response); - } - - private void doExportFile(EngineFileType fileOutputType, Boolean deleteFile, - HttpServletResponse response) throws IOException { - String docFileName = DOC_FILE_NAME + "_" + IdUtil.fastSimpleUUID(); - String filePath = doExportFile(fileOutputType, docFileName); - String downloadFileName = DOC_FILE_NAME + fileOutputType.getFileSuffix(); //下载后的文件名 - try { - // 读取,返回 - ServletUtils.writeAttachment(response, downloadFileName, FileUtil.readBytes(filePath)); - } finally { - handleDeleteFile(deleteFile, filePath); - } - } - - /** - * 输出文件,返回文件路径 - * - * @param fileOutputType 文件类型 - * @param fileName 文件名, 无需 ".docx" 等文件后缀 - * @return 生成的文件所在路径 - */ - private String doExportFile(EngineFileType fileOutputType, String fileName) { - try (HikariDataSource dataSource = buildDataSource()) { - // 创建 screw 的配置 - Configuration config = Configuration.builder() - .version(DOC_VERSION) // 版本 - .description(DOC_DESCRIPTION) // 描述 - .dataSource(dataSource) // 数据源 - .engineConfig(buildEngineConfig(fileOutputType, fileName)) // 引擎配置 - .produceConfig(buildProcessConfig()) // 处理配置 - .build(); - - // 执行 screw,生成数据库文档 - new DocumentationExecute(config).execute(); - - return FILE_OUTPUT_DIR + File.separator + fileName + fileOutputType.getFileSuffix(); - } - } - - private void handleDeleteFile(Boolean deleteFile, String filePath) { - if (!deleteFile) { - return; - } - FileUtil.del(filePath); - } - - /** - * 创建数据源 - */ - // TODO 芋艿:screw 暂时不支持 druid,尴尬 - private HikariDataSource buildDataSource() { - // 获得 DataSource 数据源,目前只支持首个 - String primary = dynamicDataSourceProperties.getPrimary(); - DataSourceProperty dataSourceProperty = dynamicDataSourceProperties.getDatasource().get(primary); - // 创建 HikariConfig 配置类 - HikariConfig hikariConfig = new HikariConfig(); - hikariConfig.setJdbcUrl(dataSourceProperty.getUrl()); - hikariConfig.setUsername(dataSourceProperty.getUsername()); - hikariConfig.setPassword(dataSourceProperty.getPassword()); - hikariConfig.addDataSourceProperty("useInformationSchema", "true"); // 设置可以获取 tables remarks 信息 - // 创建数据源 - return new HikariDataSource(hikariConfig); - } - - /** - * 创建 screw 的引擎配置 - */ - private static EngineConfig buildEngineConfig(EngineFileType fileOutputType, String docFileName) { - return EngineConfig.builder() - .fileOutputDir(FILE_OUTPUT_DIR) // 生成文件路径 - .openOutputDir(false) // 打开目录 - .fileType(fileOutputType) // 文件类型 - .produceType(EngineTemplateType.velocity) // 文件类型 - .fileName(docFileName) // 自定义文件名称 - .build(); - } - - /** - * 创建 screw 的处理配置,一般可忽略 - * 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置 - */ - private static ProcessConfig buildProcessConfig() { - return ProcessConfig.builder() - .ignoreTablePrefix(Arrays.asList("QRTZ_", "ACT_")) // 忽略表前缀 - .build(); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java deleted file mode 100644 index b8375585..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.infra.controller.admin.db.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -/** -* 数据源配置 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class DataSourceConfigBaseVO { - - @Schema(description = "数据源名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "test") - @NotNull(message = "数据源名称不能为空") - private String name; - - @Schema(description = "数据源连接", requiredMode = Schema.RequiredMode.REQUIRED, example = "jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro") - @NotNull(message = "数据源连接不能为空") - private String url; - - @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "root") - @NotNull(message = "用户名不能为空") - private String username; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java deleted file mode 100644 index f01511c9..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.win.module.infra.controller.admin.db.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 数据源配置创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class DataSourceConfigCreateReqVO extends DataSourceConfigBaseVO { - - @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") - @NotNull(message = "密码不能为空") - private String password; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java deleted file mode 100644 index 562fa5bc..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.infra.controller.admin.db.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 数据源配置 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class DataSourceConfigRespVO extends DataSourceConfigBaseVO { - - @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Integer id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java deleted file mode 100644 index 7ca62571..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.win.module.infra.controller.admin.db.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 数据源配置更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class DataSourceConfigUpdateReqVO extends DataSourceConfigBaseVO { - - @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "主键编号不能为空") - private Long id; - - @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") - @NotNull(message = "密码不能为空") - private String password; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileConfigController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileConfigController.java deleted file mode 100644 index ec79f4fd..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileConfigController.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.win.module.infra.controller.admin.file; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigCreateReqVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigPageReqVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigRespVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigUpdateReqVO; -import com.win.module.infra.convert.file.FileConfigConvert; -import com.win.module.infra.dal.dataobject.file.FileConfigDO; -import com.win.module.infra.service.file.FileConfigService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 文件配置") -@RestController -@RequestMapping("/infra/file-config") -@Validated -public class FileConfigController { - - @Resource - private FileConfigService fileConfigService; - - @PostMapping("/create") - @Operation(summary = "创建文件配置") - @PreAuthorize("@ss.hasPermission('infra:file-config:create')") - public CommonResult createFileConfig(@Valid @RequestBody FileConfigCreateReqVO createReqVO) { - return success(fileConfigService.createFileConfig(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新文件配置") - @PreAuthorize("@ss.hasPermission('infra:file-config:update')") - public CommonResult updateFileConfig(@Valid @RequestBody FileConfigUpdateReqVO updateReqVO) { - fileConfigService.updateFileConfig(updateReqVO); - return success(true); - } - - @PutMapping("/update-master") - @Operation(summary = "更新文件配置为 Master") - @PreAuthorize("@ss.hasPermission('infra:file-config:update')") - public CommonResult updateFileConfigMaster(@RequestParam("id") Long id) { - fileConfigService.updateFileConfigMaster(id); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除文件配置") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:file-config:delete')") - public CommonResult deleteFileConfig(@RequestParam("id") Long id) { - fileConfigService.deleteFileConfig(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得文件配置") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:file-config:query')") - public CommonResult getFileConfig(@RequestParam("id") Long id) { - FileConfigDO fileConfig = fileConfigService.getFileConfig(id); - return success(FileConfigConvert.INSTANCE.convert(fileConfig)); - } - - @GetMapping("/page") - @Operation(summary = "获得文件配置分页") - @PreAuthorize("@ss.hasPermission('infra:file-config:query')") - public CommonResult> getFileConfigPage(@Valid FileConfigPageReqVO pageVO) { - PageResult pageResult = fileConfigService.getFileConfigPage(pageVO); - return success(FileConfigConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/test") - @Operation(summary = "测试文件配置是否正确") - @PreAuthorize("@ss.hasPermission('infra:file-config:query')") - public CommonResult testFileConfig(@RequestParam("id") Long id) throws Exception { - String url = fileConfigService.testFileConfig(id); - return success(url); - } -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileController.java deleted file mode 100644 index c91f135d..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileController.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.win.module.infra.controller.admin.file; - -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.util.StrUtil; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.util.servlet.ServletUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.infra.controller.admin.file.vo.file.FilePageReqVO; -import com.win.module.infra.controller.admin.file.vo.file.FileRespVO; -import com.win.module.infra.controller.admin.file.vo.file.FileUploadReqVO; -import com.win.module.infra.convert.file.FileConvert; -import com.win.module.infra.dal.dataobject.file.FileDO; -import com.win.module.infra.service.file.FileService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.HttpStatus; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.Resource; -import javax.annotation.security.PermitAll; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 文件存储") -@RestController -@RequestMapping("/infra/file") -@Validated -@Slf4j -public class FileController { - - @Resource - private FileService fileService; - - @PostMapping("/upload") - @Operation(summary = "上传文件") - @OperateLog(logArgs = false) // 上传文件,没有记录操作日志的必要 - public CommonResult uploadFile(FileUploadReqVO uploadReqVO) throws Exception { - MultipartFile file = uploadReqVO.getFile(); - String path = uploadReqVO.getPath(); - return success(fileService.createFile(file.getOriginalFilename(), path, IoUtil.readBytes(file.getInputStream()))); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除文件") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:file:delete')") - public CommonResult deleteFile(@RequestParam("id") Long id) throws Exception { - fileService.deleteFile(id); - return success(true); - } - - @GetMapping("/{configId}/get/**") - @PermitAll - @Operation(summary = "下载文件") - @Parameter(name = "configId", description = "配置编号", required = true) - public void getFileContent(HttpServletRequest request, - HttpServletResponse response, - @PathVariable("configId") Long configId) throws Exception { - // 获取请求的路径 - String path = StrUtil.subAfter(request.getRequestURI(), "/get/", false); - if (StrUtil.isEmpty(path)) { - throw new IllegalArgumentException("结尾的 path 路径必须传递"); - } - - // 读取内容 - byte[] content = fileService.getFileContent(configId, path); - if (content == null) { - log.warn("[getFileContent][configId({}) path({}) 文件不存在]", configId, path); - response.setStatus(HttpStatus.NOT_FOUND.value()); - return; - } - ServletUtils.writeAttachment(response, path, content); - } - - @GetMapping("/page") - @Operation(summary = "获得文件分页") - @PreAuthorize("@ss.hasPermission('infra:file:query')") - public CommonResult> getFilePage(@Valid FilePageReqVO pageVO) { - PageResult pageResult = fileService.getFilePage(pageVO); - return success(FileConvert.INSTANCE.convertPage(pageResult)); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java deleted file mode 100644 index 636cbbc5..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.infra.controller.admin.file.vo.config; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -/** -* 文件配置 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class FileConfigBaseVO { - - @Schema(description = "配置名", requiredMode = Schema.RequiredMode.REQUIRED, example = "S3 - 阿里云") - @NotNull(message = "配置名不能为空") - private String name; - - @Schema(description = "备注", example = "我是备注") - private String remark; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java deleted file mode 100644 index 7174281e..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.infra.controller.admin.file.vo.config; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; -import java.util.Map; - -@Schema(description = "管理后台 - 文件配置创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FileConfigCreateReqVO extends FileConfigBaseVO { - - @Schema(description = "存储器,参见 FileStorageEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "存储器不能为空") - private Integer storage; - - @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "存储配置不能为空") - private Map config; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigPageReqVO.java deleted file mode 100644 index 70ba40e5..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigPageReqVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.win.module.infra.controller.admin.file.vo.config; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 文件配置分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FileConfigPageReqVO extends PageParam { - - @Schema(description = "配置名", example = "S3 - 阿里云") - private String name; - - @Schema(description = "存储器", example = "1") - private Integer storage; - - @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java deleted file mode 100644 index 03a473d5..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.win.module.infra.controller.admin.file.vo.config; - -import com.win.framework.file.core.client.FileClientConfig; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 文件配置 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FileConfigRespVO extends FileConfigBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "存储器,参见 FileStorageEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "存储器不能为空") - private Integer storage; - - @Schema(description = "是否为主配置", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否为主配置不能为空") - private Boolean master; - - @Schema(description = "存储配置", requiredMode = Schema.RequiredMode.REQUIRED) - private FileClientConfig config; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java deleted file mode 100644 index 14c762dc..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.infra.controller.admin.file.vo.config; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; -import java.util.Map; - -@Schema(description = "管理后台 - 文件配置更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FileConfigUpdateReqVO extends FileConfigBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "编号不能为空") - private Long id; - - @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "存储配置不能为空") - private Map config; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FilePageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FilePageReqVO.java deleted file mode 100644 index df595eff..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FilePageReqVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.win.module.infra.controller.admin.file.vo.file; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 文件分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FilePageReqVO extends PageParam { - - @Schema(description = "文件路径,模糊匹配", example = "win") - private String path; - - @Schema(description = "文件类型,模糊匹配", example = "jpg") - private String type; - - @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FileRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FileRespVO.java deleted file mode 100644 index 1b72f8af..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FileRespVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.win.module.infra.controller.admin.file.vo.file; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 文件 Response VO,不返回 content 字段,太大") -@Data -public class FileRespVO { - - @Schema(description = "文件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "配置编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11") - private Long configId; - - @Schema(description = "文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "win.jpg") - private String path; - - @Schema(description = "原文件名", requiredMode = Schema.RequiredMode.REQUIRED, example = "win.jpg") - private String name; - - @Schema(description = "文件 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/win.jpg") - private String url; - - @Schema(description = "文件MIME类型", example = "application/octet-stream") - private String type; - - @Schema(description = "文件大小", example = "2048", requiredMode = Schema.RequiredMode.REQUIRED) - private Integer size; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java deleted file mode 100644 index 2b1d906a..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.infra.controller.admin.file.vo.file; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 上传文件 Request VO") -@Data -public class FileUploadReqVO { - - @Schema(description = "文件附件", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "文件附件不能为空") - private MultipartFile file; - - @Schema(description = "文件附件", example = "winyuanma.png") - private String path; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/JobController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/JobController.java deleted file mode 100644 index 5440f104..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/JobController.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.win.module.infra.controller.admin.job; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.framework.quartz.core.util.CronUtils; -import com.win.module.infra.controller.admin.job.vo.job.*; -import com.win.module.infra.convert.job.JobConvert; -import com.win.module.infra.dal.dataobject.job.JobDO; -import com.win.module.infra.service.job.JobService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.Operation; -import org.quartz.SchedulerException; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 定时任务") -@RestController -@RequestMapping("/infra/job") -@Validated -public class JobController { - - @Resource - private JobService jobService; - - @PostMapping("/create") - @Operation(summary = "创建定时任务") - @PreAuthorize("@ss.hasPermission('infra:job:create')") - public CommonResult createJob(@Valid @RequestBody JobCreateReqVO createReqVO) - throws SchedulerException { - return success(jobService.createJob(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新定时任务") - @PreAuthorize("@ss.hasPermission('infra:job:update')") - public CommonResult updateJob(@Valid @RequestBody JobUpdateReqVO updateReqVO) - throws SchedulerException { - jobService.updateJob(updateReqVO); - return success(true); - } - - @PutMapping("/update-status") - @Operation(summary = "更新定时任务的状态") - @Parameters({ - @Parameter(name = "id", description = "编号", required = true, example = "1024"), - @Parameter(name = "status", description = "状态", required = true, example = "1"), - }) - @PreAuthorize("@ss.hasPermission('infra:job:update')") - public CommonResult updateJobStatus(@RequestParam(value = "id") Long id, @RequestParam("status") Integer status) - throws SchedulerException { - jobService.updateJobStatus(id, status); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除定时任务") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:job:delete')") - public CommonResult deleteJob(@RequestParam("id") Long id) - throws SchedulerException { - jobService.deleteJob(id); - return success(true); - } - - @PutMapping("/trigger") - @Operation(summary = "触发定时任务") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:job:trigger')") - public CommonResult triggerJob(@RequestParam("id") Long id) throws SchedulerException { - jobService.triggerJob(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得定时任务") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:job:query')") - public CommonResult getJob(@RequestParam("id") Long id) { - JobDO job = jobService.getJob(id); - return success(JobConvert.INSTANCE.convert(job)); - } - - @GetMapping("/list") - @Operation(summary = "获得定时任务列表") - @Parameter(name = "ids", description = "编号列表", required = true) - @PreAuthorize("@ss.hasPermission('infra:job:query')") - public CommonResult> getJobList(@RequestParam("ids") Collection ids) { - List list = jobService.getJobList(ids); - return success(JobConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得定时任务分页") - @PreAuthorize("@ss.hasPermission('infra:job:query')") - public CommonResult> getJobPage(@Valid JobPageReqVO pageVO) { - PageResult pageResult = jobService.getJobPage(pageVO); - return success(JobConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出定时任务 Excel") - @PreAuthorize("@ss.hasPermission('infra:job:export')") - @OperateLog(type = EXPORT) - public void exportJobExcel(@Valid JobExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = jobService.getJobList(exportReqVO); - // 导出 Excel - List datas = JobConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "定时任务.xls", "数据", JobExcelVO.class, datas); - } - - @GetMapping("/get_next_times") - @Operation(summary = "获得定时任务的下 n 次执行时间") - @Parameters({ - @Parameter(name = "id", description = "编号", required = true, example = "1024"), - @Parameter(name = "count", description = "数量", example = "5") - }) - @PreAuthorize("@ss.hasPermission('infra:job:query')") - public CommonResult> getJobNextTimes(@RequestParam("id") Long id, - @RequestParam(value = "count", required = false, defaultValue = "5") Integer count) { - JobDO job = jobService.getJob(id); - if (job == null) { - return success(Collections.emptyList()); - } - return success(CronUtils.getNextTimes(job.getCronExpression(), count)); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/JobLogController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/JobLogController.java deleted file mode 100644 index 96f067fa..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/JobLogController.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.win.module.infra.controller.admin.job; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.framework.operatelog.core.util.OperateLogUtils; -import com.win.module.infra.controller.admin.job.vo.log.JobLogExcelVO; -import com.win.module.infra.controller.admin.job.vo.log.JobLogExportReqVO; -import com.win.module.infra.controller.admin.job.vo.log.JobLogPageReqVO; -import com.win.module.infra.controller.admin.job.vo.log.JobLogRespVO; -import com.win.module.infra.convert.job.JobLogConvert; -import com.win.module.infra.dal.dataobject.job.JobLogDO; -import com.win.module.infra.service.job.JobLogService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 定时任务日志") -@RestController -@RequestMapping("/infra/job-log") -@Validated -public class JobLogController { - - @Resource - private JobLogService jobLogService; - - @GetMapping("/get") - @Operation(summary = "获得定时任务日志") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:job:query')") - public CommonResult getJobLog(@RequestParam("id") Long id) { - JobLogDO jobLog = jobLogService.getJobLog(id); - return success(JobLogConvert.INSTANCE.convert(jobLog)); - } - - @GetMapping("/list") - @Operation(summary = "获得定时任务日志列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('infra:job:query')") - public CommonResult> getJobLogList(@RequestParam("ids") Collection ids) { - List list = jobLogService.getJobLogList(ids); - return success(JobLogConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得定时任务日志分页") - @PreAuthorize("@ss.hasPermission('infra:job:query')") - public CommonResult> getJobLogPage(@Valid JobLogPageReqVO pageVO) { - PageResult pageResult = jobLogService.getJobLogPage(pageVO); - return success(JobLogConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出定时任务日志 Excel") - @PreAuthorize("@ss.hasPermission('infra:job:export')") - @OperateLog(type = EXPORT) - public void exportJobLogExcel(@Valid JobLogExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = jobLogService.getJobLogList(exportReqVO); - // 导出 Excel - List datas = JobLogConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "任务日志.xls", "数据", JobLogExcelVO.class, datas); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobBaseVO.java deleted file mode 100644 index 428fef92..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobBaseVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.job; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -/** -* 定时任务 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class JobBaseVO { - - @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试任务") - @NotNull(message = "任务名称不能为空") - private String name; - - @Schema(description = "处理器的参数", example = "win") - private String handlerParam; - - @Schema(description = "CRON 表达式", requiredMode = Schema.RequiredMode.REQUIRED, example = "0/10 * * * * ? *") - @NotNull(message = "CRON 表达式不能为空") - private String cronExpression; - - @Schema(description = "重试次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3") - @NotNull(message = "重试次数不能为空") - private Integer retryCount; - - @Schema(description = "重试间隔", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000") - @NotNull(message = "重试间隔不能为空") - private Integer retryInterval; - - @Schema(description = "监控超时时间", example = "1000") - private Integer monitorTimeout; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java deleted file mode 100644 index ca15a1cc..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.job; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 定时任务创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class JobCreateReqVO extends JobBaseVO { - - @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob") - @NotNull(message = "处理器的名字不能为空") - private String handlerName; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobExcelVO.java deleted file mode 100644 index 3aeb015b..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobExcelVO.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.job; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.infra.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 定时任务 Excel VO - * - * @author 闻荫源码 - */ -@Data -public class JobExcelVO { - - @ExcelProperty("任务编号") - private Long id; - - @ExcelProperty("任务名称") - private String name; - - @ExcelProperty(value = "任务状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.JOB_STATUS) - private Integer status; - - @ExcelProperty("处理器的名字") - private String handlerName; - - @ExcelProperty("处理器的参数") - private String handlerParam; - - @ExcelProperty("CRON 表达式") - private String cronExpression; - - @ExcelProperty("最后一次执行的开始时间") - private LocalDateTime executeBeginTime; - - @ExcelProperty("最后一次执行的结束时间") - private LocalDateTime executeEndTime; - - @ExcelProperty("上一次触发时间") - private LocalDateTime firePrevTime; - - @ExcelProperty("下一次触发时间") - private LocalDateTime fireNextTime; - - @ExcelProperty("监控超时时间") - private Integer monitorTimeout; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobExportReqVO.java deleted file mode 100644 index bb7133b7..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobExportReqVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.job; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 定时任务 Excel 导出 Request VO-参数和 JobPageReqVO 是一致的") -@Data -public class JobExportReqVO { - - @Schema(description = "任务名称-模糊匹配", example = "测试任务") - private String name; - - @Schema(description = "任务状态-参见 JobStatusEnum 枚举", example = "1") - private Integer status; - - @Schema(description = "处理器的名字-模糊匹配", example = "UserSessionTimeoutJob") - private String handlerName; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobPageReqVO.java deleted file mode 100644 index bbce9e75..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobPageReqVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.job; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 定时任务分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class JobPageReqVO extends PageParam { - - @Schema(description = "任务名称,模糊匹配", example = "测试任务") - private String name; - - @Schema(description = "任务状态,参见 JobStatusEnum 枚举", example = "1") - private Integer status; - - @Schema(description = "处理器的名字,模糊匹配", example = "sysUserSessionTimeoutJob") - private String handlerName; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobRespVO.java deleted file mode 100644 index bd5cf1b2..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobRespVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.job; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 定时任务 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class JobRespVO extends JobBaseVO { - - @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob") - @NotNull(message = "处理器的名字不能为空") - private String handlerName; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java deleted file mode 100644 index 291746af..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.job; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 定时任务更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class JobUpdateReqVO extends JobBaseVO { - - @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "任务编号不能为空") - private Long id; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java deleted file mode 100644 index 307c1277..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.log; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** -* 定时任务日志 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class JobLogBaseVO { - - @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "任务编号不能为空") - private Long jobId; - - @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob") - @NotNull(message = "处理器的名字不能为空") - private String handlerName; - - @Schema(description = "处理器的参数", example = "win") - private String handlerParam; - - @Schema(description = "第几次执行", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "第几次执行不能为空") - private Integer executeIndex; - - @Schema(description = "开始执行时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "开始执行时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime beginTime; - - @Schema(description = "结束执行时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime endTime; - - @Schema(description = "执行时长", example = "123") - private Integer duration; - - @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "任务状态不能为空") - private Integer status; - - @Schema(description = "结果数据", example = "执行成功") - private String result; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogExcelVO.java deleted file mode 100644 index d7d0d56e..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogExcelVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.log; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.infra.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 定时任务 Excel VO - * - * @author 芋艿 - */ -@Data -public class JobLogExcelVO { - - @ExcelProperty("日志编号") - private Long id; - - @ExcelProperty("任务编号") - private Long jobId; - - @ExcelProperty("处理器的名字") - private String handlerName; - - @ExcelProperty("处理器的参数") - private String handlerParam; - - @ExcelProperty("第几次执行") - private Integer executeIndex; - - @ExcelProperty("开始执行时间") - private LocalDateTime beginTime; - - @ExcelProperty("结束执行时间") - private LocalDateTime endTime; - - @ExcelProperty("执行时长") - private Integer duration; - - @ExcelProperty(value = "任务状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.JOB_STATUS) - private Integer status; - - @ExcelProperty("结果数据") - private String result; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogExportReqVO.java deleted file mode 100644 index 3431cdb0..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogExportReqVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.log; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 定时任务 Excel 导出 Request VO,参数和 JobLogPageReqVO 是一致的") -@Data -public class JobLogExportReqVO { - - @Schema(description = "任务编号", example = "10") - private Long jobId; - - @Schema(description = "处理器的名字,模糊匹配") - private String handlerName; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "开始执行时间") - private LocalDateTime beginTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "结束执行时间") - private LocalDateTime endTime; - - @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举") - private Integer status; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogPageReqVO.java deleted file mode 100644 index f0437dbc..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogPageReqVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.log; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 定时任务日志分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class JobLogPageReqVO extends PageParam { - - @Schema(description = "任务编号", example = "10") - private Long jobId; - - @Schema(description = "处理器的名字,模糊匹配") - private String handlerName; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "开始执行时间") - private LocalDateTime beginTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "结束执行时间") - private LocalDateTime endTime; - - @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举") - private Integer status; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogRespVO.java deleted file mode 100644 index 3b73a109..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/job/vo/log/JobLogRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.infra.controller.admin.job.vo.log; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 定时任务日志 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class JobLogRespVO extends JobLogBaseVO { - - @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/ApiAccessLogController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/ApiAccessLogController.java deleted file mode 100644 index faff9cf2..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/ApiAccessLogController.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.win.module.infra.controller.admin.logger; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogExcelVO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogExportReqVO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogRespVO; -import com.win.module.infra.convert.logger.ApiAccessLogConvert; -import com.win.module.infra.dal.dataobject.logger.ApiAccessLogDO; -import com.win.module.infra.service.logger.ApiAccessLogService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - API 访问日志") -@RestController -@RequestMapping("/infra/api-access-log") -@Validated -public class ApiAccessLogController { - - @Resource - private ApiAccessLogService apiAccessLogService; - - @GetMapping("/page") - @Operation(summary = "获得API 访问日志分页") - @PreAuthorize("@ss.hasPermission('infra:api-access-log:query')") - public CommonResult> getApiAccessLogPage(@Valid ApiAccessLogPageReqVO pageVO) { - PageResult pageResult = apiAccessLogService.getApiAccessLogPage(pageVO); - return success(ApiAccessLogConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出API 访问日志 Excel") - @PreAuthorize("@ss.hasPermission('infra:api-access-log:export')") - @OperateLog(type = EXPORT) - public void exportApiAccessLogExcel(@Valid ApiAccessLogExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = apiAccessLogService.getApiAccessLogList(exportReqVO); - // 导出 Excel - List datas = ApiAccessLogConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "API 访问日志.xls", "数据", ApiAccessLogExcelVO.class, datas); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/ApiErrorLogController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/ApiErrorLogController.java deleted file mode 100644 index 17739f83..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/ApiErrorLogController.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.win.module.infra.controller.admin.logger; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogExcelVO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogExportReqVO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogPageReqVO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogRespVO; -import com.win.module.infra.convert.logger.ApiErrorLogConvert; -import com.win.module.infra.dal.dataobject.logger.ApiErrorLogDO; -import com.win.module.infra.service.logger.ApiErrorLogService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -@Tag(name = "管理后台 - API 错误日志") -@RestController -@RequestMapping("/infra/api-error-log") -@Validated -public class ApiErrorLogController { - - @Resource - private ApiErrorLogService apiErrorLogService; - - @PutMapping("/update-status") - @Operation(summary = "更新 API 错误日志的状态") - @Parameters({ - @Parameter(name = "id", description = "编号", required = true, example = "1024"), - @Parameter(name = "processStatus", description = "处理状态", required = true, example = "1") - }) - @PreAuthorize("@ss.hasPermission('infra:api-error-log:update-status')") - public CommonResult updateApiErrorLogProcess(@RequestParam("id") Long id, - @RequestParam("processStatus") Integer processStatus) { - apiErrorLogService.updateApiErrorLogProcess(id, processStatus, getLoginUserId()); - return success(true); - } - - @GetMapping("/page") - @Operation(summary = "获得 API 错误日志分页") - @PreAuthorize("@ss.hasPermission('infra:api-error-log:query')") - public CommonResult> getApiErrorLogPage(@Valid ApiErrorLogPageReqVO pageVO) { - PageResult pageResult = apiErrorLogService.getApiErrorLogPage(pageVO); - return success(ApiErrorLogConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出 API 错误日志 Excel") - @PreAuthorize("@ss.hasPermission('infra:api-error-log:export')") - @OperateLog(type = EXPORT) - public void exportApiErrorLogExcel(@Valid ApiErrorLogExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = apiErrorLogService.getApiErrorLogList(exportReqVO); - // 导出 Excel - List datas = ApiErrorLogConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "API 错误日志.xls", "数据", ApiErrorLogExcelVO.class, datas); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java deleted file mode 100644 index 32bb6232..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apiaccesslog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** -* API 访问日志 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class ApiAccessLogBaseVO { - - @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002") - @NotNull(message = "链路追踪编号不能为空") - private String traceId; - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") - @NotNull(message = "用户编号不能为空") - private Long userId; - - @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "用户类型不能为空") - private Integer userType; - - @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard") - @NotNull(message = "应用名不能为空") - private String applicationName; - - @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET") - @NotNull(message = "请求方法名不能为空") - private String requestMethod; - - @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xxx/yyy") - @NotNull(message = "请求地址不能为空") - private String requestUrl; - - @Schema(description = "请求参数") - private String requestParams; - - @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") - @NotNull(message = "用户 IP不能为空") - private String userIp; - - @Schema(description = "浏览器 UA", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0") - @NotNull(message = "浏览器 UA不能为空") - private String userAgent; - - @Schema(description = "开始请求时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "开始请求时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime beginTime; - - @Schema(description = "结束请求时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "结束请求时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime endTime; - - @Schema(description = "执行时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") - @NotNull(message = "执行时长不能为空") - private Integer duration; - - @Schema(description = "结果码", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") - @NotNull(message = "结果码不能为空") - private Integer resultCode; - - @Schema(description = "结果提示", example = "闻荫源码,牛逼!") - private String resultMsg; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java deleted file mode 100644 index 5cd7da60..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apiaccesslog; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * API 访问日志 Excel VO - * - * @author 闻荫源码 - */ -@Data -public class ApiAccessLogExcelVO { - - @ExcelProperty("日志主键") - private Long id; - - @ExcelProperty("链路追踪编号") - private String traceId; - - @ExcelProperty("用户编号") - private Long userId; - - @ExcelProperty(value = "用户类型", converter = DictConvert.class) - @DictFormat(DictTypeConstants.USER_TYPE) - private Integer userType; - - @ExcelProperty("应用名") - private String applicationName; - - @ExcelProperty("请求方法名") - private String requestMethod; - - @ExcelProperty("请求地址") - private String requestUrl; - - @ExcelProperty("请求参数") - private String requestParams; - - @ExcelProperty("用户 IP") - private String userIp; - - @ExcelProperty("浏览器 UA") - private String userAgent; - - @ExcelProperty("开始请求时间") - private LocalDateTime beginTime; - - @ExcelProperty("结束请求时间") - private LocalDateTime endTime; - - @ExcelProperty("执行时长") - private Integer duration; - - @ExcelProperty("结果码") - private Integer resultCode; - - @ExcelProperty("结果提示") - private String resultMsg; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java deleted file mode 100644 index 0687fa59..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apiaccesslog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - API 访问日志 Excel 导出 Request VO,参数和 ApiAccessLogPageReqVO 是一致的") -@Data -public class ApiAccessLogExportReqVO { - - @Schema(description = "用户编号", example = "666") - private Long userId; - - @Schema(description = "用户类型", example = "2") - private Integer userType; - - @Schema(description = "应用名", example = "dashboard") - private String applicationName; - - @Schema(description = "请求地址,模糊匹配", example = "/xxx/yyy") - private String requestUrl; - - @Schema(description = "开始时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] beginTime; - - @Schema(description = "执行时长,大于等于,单位:毫秒", example = "100") - private Integer duration; - - @Schema(description = "结果码", example = "0") - private Integer resultCode; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java deleted file mode 100644 index 924a0bc6..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apiaccesslog; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - API 访问日志分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ApiAccessLogPageReqVO extends PageParam { - - @Schema(description = "用户编号", example = "666") - private Long userId; - - @Schema(description = "用户类型", example = "2") - private Integer userType; - - @Schema(description = "应用名", example = "dashboard") - private String applicationName; - - @Schema(description = "请求地址,模糊匹配", example = "/xxx/yyy") - private String requestUrl; - - @Schema(description = "开始时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] beginTime; - - @Schema(description = "执行时长,大于等于,单位:毫秒", example = "100") - private Integer duration; - - @Schema(description = "结果码", example = "0") - private Integer resultCode; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java deleted file mode 100644 index 66110083..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apiaccesslog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - API 访问日志 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ApiAccessLogRespVO extends ApiAccessLogBaseVO { - - @Schema(description = "日志主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java deleted file mode 100644 index 9da645fd..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apierrorlog; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** -* API 错误日志 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class ApiErrorLogBaseVO { - - @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002") - @NotNull(message = "链路追踪编号不能为空") - private String traceId; - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") - @NotNull(message = "用户编号不能为空") - private Integer userId; - - @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "用户类型不能为空") - private Integer userType; - - @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard") - @NotNull(message = "应用名不能为空") - private String applicationName; - - @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET") - @NotNull(message = "请求方法名不能为空") - private String requestMethod; - - @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xx/yy") - @NotNull(message = "请求地址不能为空") - private String requestUrl; - - @Schema(description = "请求参数", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "请求参数不能为空") - private String requestParams; - - @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") - @NotNull(message = "用户 IP不能为空") - private String userIp; - - @Schema(description = "浏览器 UA", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0") - @NotNull(message = "浏览器 UA不能为空") - private String userAgent; - - @Schema(description = "异常发生时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常发生时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime exceptionTime; - - @Schema(description = "异常名", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常名不能为空") - private String exceptionName; - - @Schema(description = "异常导致的消息", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常导致的消息不能为空") - private String exceptionMessage; - - @Schema(description = "异常导致的根消息", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常导致的根消息不能为空") - private String exceptionRootCauseMessage; - - @Schema(description = "异常的栈轨迹", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常的栈轨迹不能为空") - private String exceptionStackTrace; - - @Schema(description = "异常发生的类全名", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常发生的类全名不能为空") - private String exceptionClassName; - - @Schema(description = "异常发生的类文件", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常发生的类文件不能为空") - private String exceptionFileName; - - @Schema(description = "异常发生的方法名", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常发生的方法名不能为空") - private String exceptionMethodName; - - @Schema(description = "异常发生的方法所在行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "异常发生的方法所在行不能为空") - private Integer exceptionLineNumber; - - @Schema(description = "处理状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") - @NotNull(message = "处理状态不能为空") - private Integer processStatus; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExcelVO.java deleted file mode 100644 index f2b82ec6..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExcelVO.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apierrorlog; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.infra.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * API 错误日志 Excel VO - * - * @author 闻荫源码 - */ -@Data -public class ApiErrorLogExcelVO { - - @ExcelProperty("编号") - private Integer id; - - @ExcelProperty("链路追踪编号") - private String traceId; - - @ExcelProperty("用户编号") - private Integer userId; - - @ExcelProperty(value = "用户类型", converter = DictConvert.class) - @DictFormat(com.win.module.system.enums.DictTypeConstants.USER_TYPE) - private Integer userType; - - @ExcelProperty("应用名") - private String applicationName; - - @ExcelProperty("请求方法名") - private String requestMethod; - - @ExcelProperty("请求地址") - private String requestUrl; - - @ExcelProperty("请求参数") - private String requestParams; - - @ExcelProperty("用户 IP") - private String userIp; - - @ExcelProperty("浏览器 UA") - private String userAgent; - - @ExcelProperty("异常发生时间") - private LocalDateTime exceptionTime; - - @ExcelProperty("异常名") - private String exceptionName; - - @ExcelProperty("异常导致的消息") - private String exceptionMessage; - - @ExcelProperty("异常导致的根消息") - private String exceptionRootCauseMessage; - - @ExcelProperty("异常的栈轨迹") - private String exceptionStackTrace; - - @ExcelProperty("异常发生的类全名") - private String exceptionClassName; - - @ExcelProperty("异常发生的类文件") - private String exceptionFileName; - - @ExcelProperty("异常发生的方法名") - private String exceptionMethodName; - - @ExcelProperty("异常发生的方法所在行") - private Integer exceptionLineNumber; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty(value = "处理状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.API_ERROR_LOG_PROCESS_STATUS) - private Integer processStatus; - - @ExcelProperty("处理时间") - private LocalDateTime processTime; - - @ExcelProperty("处理用户编号") - private Integer processUserId; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java deleted file mode 100644 index e39f775a..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apierrorlog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - API 错误日志 Excel 导出 Request VO,参数和 ApiErrorLogPageReqVO 是一致的") -@Data -public class ApiErrorLogExportReqVO { - - @Schema(description = "用户编号", example = "666") - private Long userId; - - @Schema(description = "用户类型", example = "1") - private Integer userType; - - @Schema(description = "应用名", example = "dashboard") - private String applicationName; - - @Schema(description = "请求地址", example = "/xx/yy") - private String requestUrl; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "异常发生时间") - private LocalDateTime[] exceptionTime; - - @Schema(description = "处理状态", example = "0") - private Integer processStatus; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java deleted file mode 100644 index 0514ef54..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apierrorlog; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - API 错误日志分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ApiErrorLogPageReqVO extends PageParam { - - @Schema(description = "用户编号", example = "666") - private Long userId; - - @Schema(description = "用户类型", example = "1") - private Integer userType; - - @Schema(description = "应用名", example = "dashboard") - private String applicationName; - - @Schema(description = "请求地址", example = "/xx/yy") - private String requestUrl; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "异常发生时间") - private LocalDateTime[] exceptionTime; - - @Schema(description = "处理状态", example = "0") - private Integer processStatus; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java deleted file mode 100644 index 1007cfb2..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.infra.controller.admin.logger.vo.apierrorlog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - API 错误日志 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ApiErrorLogRespVO extends ApiErrorLogBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Integer id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "处理时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime processTime; - - @Schema(description = "处理用户编号", example = "233") - private Integer processUserId; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/RedisController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/RedisController.java deleted file mode 100644 index 95dabec2..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/RedisController.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.win.module.infra.controller.admin.redis; - -import com.win.framework.common.pojo.CommonResult; -import com.win.module.infra.controller.admin.redis.vo.RedisMonitorRespVO; -import com.win.module.infra.convert.redis.RedisConvert; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.data.redis.connection.RedisServerCommands; -import org.springframework.data.redis.core.RedisCallback; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.Properties; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - Redis 监控") -@RestController -@RequestMapping("/infra/redis") -public class RedisController { - - @Resource - private StringRedisTemplate stringRedisTemplate; - - @GetMapping("/get-monitor-info") - @Operation(summary = "获得 Redis 监控信息") - @PreAuthorize("@ss.hasPermission('infra:redis:get-monitor-info')") - public CommonResult getRedisMonitorInfo() { - // 获得 Redis 统计信息 - Properties info = stringRedisTemplate.execute((RedisCallback) RedisServerCommands::info); - Long dbSize = stringRedisTemplate.execute(RedisServerCommands::dbSize); - Properties commandStats = stringRedisTemplate.execute(( - RedisCallback) connection -> connection.info("commandstats")); - assert commandStats != null; // 断言,避免警告 - // 拼接结果返回 - return success(RedisConvert.INSTANCE.build(info, dbSize, commandStats)); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java deleted file mode 100644 index dd19c84c..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.win.module.infra.controller.admin.redis.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -import java.util.List; -import java.util.Properties; - -@Schema(description = "管理后台 - Redis 监控信息 Response VO") -@Data -@Builder -@AllArgsConstructor -public class RedisMonitorRespVO { - - @Schema(description = "Redis info 指令结果,具体字段,查看 Redis 文档", requiredMode = Schema.RequiredMode.REQUIRED) - private Properties info; - - @Schema(description = "Redis key 数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long dbSize; - - @Schema(description = "CommandStat 数组", requiredMode = Schema.RequiredMode.REQUIRED) - private List commandStats; - - @Schema(description = "Redis 命令统计结果") - @Data - @Builder - @AllArgsConstructor - public static class CommandStat { - - @Schema(description = "Redis 命令", requiredMode = Schema.RequiredMode.REQUIRED, example = "get") - private String command; - - @Schema(description = "调用次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long calls; - - @Schema(description = "消耗 CPU 秒数", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") - private Long usec; - - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/TestDemoController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/TestDemoController.java deleted file mode 100644 index 6d92bb5b..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/TestDemoController.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.win.module.infra.controller.admin.test; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.infra.controller.admin.test.vo.*; -import com.win.module.infra.convert.test.TestDemoConvert; -import com.win.module.infra.dal.dataobject.test.TestDemoDO; -import com.win.module.infra.service.test.TestDemoService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 字典类型") -@RestController -@RequestMapping("/infra/test-demo") -@Validated -public class TestDemoController { - - @Resource - private TestDemoService testDemoService; - - @PostMapping("/create") - @Operation(summary = "创建字典类型") - @PreAuthorize("@ss.hasPermission('infra:test-demo:create')") - public CommonResult createTestDemo(@Valid @RequestBody TestDemoCreateReqVO createReqVO) { - return success(testDemoService.createTestDemo(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新字典类型") - @PreAuthorize("@ss.hasPermission('infra:test-demo:update')") - public CommonResult updateTestDemo(@Valid @RequestBody TestDemoUpdateReqVO updateReqVO) { - testDemoService.updateTestDemo(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除字典类型") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:test-demo:delete')") - public CommonResult deleteTestDemo(@RequestParam("id") Long id) { - testDemoService.deleteTestDemo(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得字典类型") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:test-demo:query')") - public CommonResult getTestDemo(@RequestParam("id") Long id) { - TestDemoDO testDemo = testDemoService.getTestDemo(id); - return success(TestDemoConvert.INSTANCE.convert(testDemo)); - } - - @GetMapping("/list") - @Operation(summary = "获得字典类型列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('infra:test-demo:query')") - public CommonResult> getTestDemoList(@RequestParam("ids") Collection ids) { - List list = testDemoService.getTestDemoList(ids); - return success(TestDemoConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得字典类型分页") - @PreAuthorize("@ss.hasPermission('infra:test-demo:query')") public CommonResult> getTestDemoPage(@Valid TestDemoPageReqVO pageVO) { - PageResult pageResult = testDemoService.getTestDemoPage(pageVO); - return success(TestDemoConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出字典类型 Excel") - @PreAuthorize("@ss.hasPermission('infra:test-demo:export')") @OperateLog(type = EXPORT) - public void exportTestDemoExcel(@Valid TestDemoExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = testDemoService.getTestDemoList(exportReqVO); - // 导出 Excel - List datas = TestDemoConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "字典类型.xls", "数据", TestDemoExcelVO.class, datas); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoBaseVO.java deleted file mode 100644 index 7f64d7ec..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoBaseVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.win.module.infra.controller.admin.test.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -/** -* 字典类型 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class TestDemoBaseVO { - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "名字不能为空") - private String name; - - @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "状态不能为空") - private Integer status; - - @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "类型不能为空") - private Integer type; - - @Schema(description = "分类", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "分类不能为空") - private Integer category; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoCreateReqVO.java deleted file mode 100644 index d2c692ec..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoCreateReqVO.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.win.module.infra.controller.admin.test.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -@Schema(description = "管理后台 - 字典类型创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TestDemoCreateReqVO extends TestDemoBaseVO { - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoExcelVO.java deleted file mode 100644 index c5dbde1e..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoExcelVO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.win.module.infra.controller.admin.test.vo; - -import lombok.*; - -import java.time.LocalDateTime; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 字典类型 Excel VO - * - * @author 闻荫源码 - */ -@Data -public class TestDemoExcelVO { - - @ExcelProperty("编号") - private Long id; - - @ExcelProperty("名字") - private String name; - - @ExcelProperty("状态") - private Integer status; - - @ExcelProperty("类型") - private Integer type; - - @ExcelProperty("分类") - private Integer category; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoExportReqVO.java deleted file mode 100644 index 81a04728..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoExportReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.win.module.infra.controller.admin.test.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; -import org.springframework.format.annotation.DateTimeFormat; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 字典类型 Excel 导出 Request VO,参数和 TestDemoPageReqVO 是一致的") -@Data -public class TestDemoExportReqVO { - - @Schema(description = "名字") - private String name; - - @Schema(description = "状态") - private Integer status; - - @Schema(description = "类型") - private Integer type; - - @Schema(description = "分类") - private Integer category; - - @Schema(description = "备注") - private String remark; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoPageReqVO.java deleted file mode 100644 index bf4b5ea4..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoPageReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.win.module.infra.controller.admin.test.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; -import com.win.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 字典类型分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TestDemoPageReqVO extends PageParam { - - @Schema(description = "名字") - private String name; - - @Schema(description = "状态") - private Integer status; - - @Schema(description = "类型") - private Integer type; - - @Schema(description = "分类") - private Integer category; - - @Schema(description = "备注") - private String remark; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoRespVO.java deleted file mode 100644 index 621bda28..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoRespVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.win.module.infra.controller.admin.test.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 字典类型 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TestDemoRespVO extends TestDemoBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED) - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java deleted file mode 100644 index 8acdf24c..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.infra.controller.admin.test.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 字典类型更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TestDemoUpdateReqVO extends TestDemoBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/file/AppFileController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/file/AppFileController.java deleted file mode 100644 index d65df0ed..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/file/AppFileController.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.win.module.infra.controller.app.file; - -import cn.hutool.core.io.IoUtil; -import com.win.framework.common.pojo.CommonResult; -import com.win.module.infra.controller.app.file.vo.AppFileUploadReqVO; -import com.win.module.infra.service.file.FileService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.Resource; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "用户 App - 文件存储") -@RestController -@RequestMapping("/infra/file") -@Validated -@Slf4j -public class AppFileController { - - @Resource - private FileService fileService; - - @PostMapping("/upload") - @Operation(summary = "上传文件") - public CommonResult uploadFile(AppFileUploadReqVO uploadReqVO) throws Exception { - MultipartFile file = uploadReqVO.getFile(); - String path = uploadReqVO.getPath(); - return success(fileService.createFile(file.getOriginalFilename(), path, IoUtil.readBytes(file.getInputStream()))); - } - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/file/vo/AppFileUploadReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/file/vo/AppFileUploadReqVO.java deleted file mode 100644 index dcda90e7..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/file/vo/AppFileUploadReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.infra.controller.app.file.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.constraints.NotNull; - -@Schema(description = "用户 App - 上传文件 Request VO") -@Data -public class AppFileUploadReqVO { - - @Schema(description = "文件附件", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "文件附件不能为空") - private MultipartFile file; - - @Schema(description = "文件附件", example = "winyuanma.png") - private String path; - -} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/package-info.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/package-info.java deleted file mode 100644 index 60bf46d8..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/app/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 占位 - */ -package com.win.module.infra.controller.app; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/CodegenController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/CodegenController.java new file mode 100644 index 00000000..4d06e180 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/CodegenController.java @@ -0,0 +1,141 @@ +package com.win.module.infra.controller.codegen; + +import cn.hutool.core.io.IoUtil; +import cn.hutool.core.util.ZipUtil; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.common.util.servlet.ServletUtils; +import com.win.module.infra.controller.codegen.vo.CodegenCreateListReqVO; +import com.win.module.infra.controller.codegen.vo.CodegenDetailRespVO; +import com.win.module.infra.controller.codegen.vo.CodegenPreviewRespVO; +import com.win.module.infra.controller.codegen.vo.CodegenUpdateReqVO; +import com.win.module.infra.controller.codegen.vo.table.CodegenTablePageReqVO; +import com.win.module.infra.controller.codegen.vo.table.CodegenTableRespVO; +import com.win.module.infra.controller.codegen.vo.table.DatabaseTableRespVO; +import com.win.module.infra.convert.codegen.CodegenConvert; +import com.win.module.infra.dal.dataobject.codegen.CodegenColumnDO; +import com.win.module.infra.dal.dataobject.codegen.CodegenTableDO; +import com.win.module.infra.service.codegen.CodegenService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +@Tag(name = "管理后台 - 代码生成器") +@RestController +@RequestMapping("/infra/codegen") +@Validated +public class CodegenController { + + @Resource + private CodegenService codegenService; + + @GetMapping("/db/table/list") + @Operation(summary = "获得数据库自带的表定义列表", description = "会过滤掉已经导入 Codegen 的表") + @Parameters({ + @Parameter(name = "dataSourceConfigId", description = "数据源配置的编号", required = true, example = "1"), + @Parameter(name = "name", description = "表名,模糊匹配", example = "win"), + @Parameter(name = "comment", description = "描述,模糊匹配", example = "闻荫") + }) + @PreAuthorize("@ss.hasPermission('infra:codegen:query')") + public CommonResult> getDatabaseTableList( + @RequestParam(value = "dataSourceConfigId") Long dataSourceConfigId, + @RequestParam(value = "name", required = false) String name, + @RequestParam(value = "comment", required = false) String comment) { + return success(codegenService.getDatabaseTableList(dataSourceConfigId, name, comment)); + } + + @GetMapping("/table/page") + @Operation(summary = "获得表定义分页") + @PreAuthorize("@ss.hasPermission('infra:codegen:query')") + public CommonResult> getCodeGenTablePage(@Valid CodegenTablePageReqVO pageReqVO) { + PageResult pageResult = codegenService.getCodegenTablePage(pageReqVO); + return success(CodegenConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/detail") + @Operation(summary = "获得表和字段的明细") + @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:codegen:query')") + public CommonResult getCodegenDetail(@RequestParam("tableId") Long tableId) { + CodegenTableDO table = codegenService.getCodegenTablePage(tableId); + List columns = codegenService.getCodegenColumnListByTableId(tableId); + // 拼装返回 + return success(CodegenConvert.INSTANCE.convert(table, columns)); + } + + @Operation(summary = "基于数据库的表结构,创建代码生成器的表和字段定义") + @PostMapping("/create-list") + @PreAuthorize("@ss.hasPermission('infra:codegen:create')") + public CommonResult> createCodegenList(@Valid @RequestBody CodegenCreateListReqVO reqVO) { + return success(codegenService.createCodegenList(getLoginUserId(), reqVO)); + } + + @Operation(summary = "更新数据库的表和字段定义") + @PutMapping("/update") + @PreAuthorize("@ss.hasPermission('infra:codegen:update')") + public CommonResult updateCodegen(@Valid @RequestBody CodegenUpdateReqVO updateReqVO) { + codegenService.updateCodegen(updateReqVO); + return success(true); + } + + @Operation(summary = "基于数据库的表结构,同步数据库的表和字段定义") + @PutMapping("/sync-from-db") + @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:codegen:update')") + public CommonResult syncCodegenFromDB(@RequestParam("tableId") Long tableId) { + codegenService.syncCodegenFromDB(tableId); + return success(true); + } + + @Operation(summary = "删除数据库的表和字段定义") + @DeleteMapping("/delete") + @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:codegen:delete')") + public CommonResult deleteCodegen(@RequestParam("tableId") Long tableId) { + codegenService.deleteCodegen(tableId); + return success(true); + } + + @Operation(summary = "预览生成代码") + @GetMapping("/preview") + @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:codegen:preview')") + public CommonResult> previewCodegen(@RequestParam("tableId") Long tableId) { + Map codes = codegenService.generationCodes(tableId); + return success(CodegenConvert.INSTANCE.convert(codes)); + } + + @Operation(summary = "下载生成代码") + @GetMapping("/download") + @Parameter(name = "tableId", description = "表编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:codegen:download')") + public void downloadCodegen(@RequestParam("tableId") Long tableId, + HttpServletResponse response) throws IOException { + // 生成代码 + Map codes = codegenService.generationCodes(tableId); + // 构建 zip 包 + String[] paths = codes.keySet().toArray(new String[0]); + ByteArrayInputStream[] ins = codes.values().stream().map(IoUtil::toUtf8Stream).toArray(ByteArrayInputStream[]::new); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + ZipUtil.zip(outputStream, paths, ins); + // 输出 + ServletUtils.writeAttachment(response, "codegen.zip", outputStream.toByteArray()); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenCreateListReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenCreateListReqVO.java new file mode 100644 index 00000000..12252342 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenCreateListReqVO.java @@ -0,0 +1,21 @@ +package com.win.module.infra.controller.codegen.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Schema(description = "管理后台 - 基于数据库的表结构,创建代码生成器的表和字段定义 Request VO") +@Data +public class CodegenCreateListReqVO { + + @Schema(description = "数据源配置的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "数据源配置的编号不能为空") + private Long dataSourceConfigId; + + @Schema(description = "表名数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1, 2, 3]") + @NotNull(message = "表名数组不能为空") + private List tableNames; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenDetailRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenDetailRespVO.java new file mode 100644 index 00000000..392f559c --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenDetailRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.infra.controller.codegen.vo; + +import com.win.module.infra.controller.codegen.vo.column.CodegenColumnRespVO; +import com.win.module.infra.controller.codegen.vo.table.CodegenTableRespVO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "管理后台 - 代码生成表和字段的明细 Response VO") +@Data +public class CodegenDetailRespVO { + + @Schema(description = "表定义") + private CodegenTableRespVO table; + + @Schema(description = "字段定义") + private List columns; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenPreviewRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenPreviewRespVO.java new file mode 100644 index 00000000..bc0cbfdd --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenPreviewRespVO.java @@ -0,0 +1,16 @@ +package com.win.module.infra.controller.codegen.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 代码生成预览 Response VO,注意,每个文件都是一个该对象") +@Data +public class CodegenPreviewRespVO { + + @Schema(description = "文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "java/com.win/adminserver/modules/system/controller/test/SysTestDemoController.java") + private String filePath; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "Hello World") + private String code; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenUpdateReqVO.java new file mode 100644 index 00000000..20c2470b --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/CodegenUpdateReqVO.java @@ -0,0 +1,59 @@ +package com.win.module.infra.controller.codegen.vo; + +import cn.hutool.core.util.ObjectUtil; +import com.win.module.infra.controller.codegen.vo.column.CodegenColumnBaseVO; +import com.win.module.infra.controller.codegen.vo.table.CodegenTableBaseVO; +import com.win.module.infra.enums.codegen.CodegenSceneEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.Valid; +import javax.validation.constraints.AssertTrue; +import javax.validation.constraints.NotNull; +import java.util.List; + +@Schema(description = "管理后台 - 代码生成表和字段的修改 Request VO") +@Data +public class CodegenUpdateReqVO { + + @Valid // 校验内嵌的字段 + @NotNull(message = "表定义不能为空") + private Table table; + + @Valid // 校验内嵌的字段 + @NotNull(message = "字段定义不能为空") + private List columns; + + @Schema(description = "更新表定义") + @Data + @EqualsAndHashCode(callSuper = true) + @ToString(callSuper = true) + @Valid + public static class Table extends CodegenTableBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @AssertTrue(message = "上级菜单不能为空,请前往 [修改生成配置 -> 生成信息] 界面,设置“上级菜单”字段") + public boolean isParentMenuIdValid() { + // 生成场景为管理后台时,必须设置上级菜单,不然生成的菜单 SQL 是无父级菜单的 + return ObjectUtil.notEqual(getScene(), CodegenSceneEnum.ADMIN.getScene()) + || getParentMenuId() != null; + } + + } + + @Schema(description = "更新表定义") + @Data + @EqualsAndHashCode(callSuper = true) + @ToString(callSuper = true) + public static class Column extends CodegenColumnBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/column/CodegenColumnBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/column/CodegenColumnBaseVO.java new file mode 100644 index 00000000..bae26b74 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/column/CodegenColumnBaseVO.java @@ -0,0 +1,85 @@ +package com.win.module.infra.controller.codegen.vo.column; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** +* 代码生成字段定义 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class CodegenColumnBaseVO { + + @Schema(description = "表编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "表编号不能为空") + private Long tableId; + + @Schema(description = "字段名", requiredMode = Schema.RequiredMode.REQUIRED, example = "user_age") + @NotNull(message = "字段名不能为空") + private String columnName; + + @Schema(description = "字段类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "int(11)") + @NotNull(message = "字段类型不能为空") + private String dataType; + + @Schema(description = "字段描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "年龄") + @NotNull(message = "字段描述不能为空") + private String columnComment; + + @Schema(description = "是否允许为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否允许为空不能为空") + private Boolean nullable; + + @Schema(description = "是否主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + @NotNull(message = "是否主键不能为空") + private Boolean primaryKey; + + @Schema(description = "是否自增", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否自增不能为空") + private String autoIncrement; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") + @NotNull(message = "排序不能为空") + private Integer ordinalPosition; + + @Schema(description = "Java 属性类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "userAge") + @NotNull(message = "Java 属性类型不能为空") + private String javaType; + + @Schema(description = "Java 属性名", requiredMode = Schema.RequiredMode.REQUIRED, example = "Integer") + @NotNull(message = "Java 属性名不能为空") + private String javaField; + + @Schema(description = "字典类型", example = "sys_gender") + private String dictType; + + @Schema(description = "数据示例", example = "1024") + private String example; + + @Schema(description = "是否为 Create 创建操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否为 Create 创建操作的字段不能为空") + private Boolean createOperation; + + @Schema(description = "是否为 Update 更新操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + @NotNull(message = "是否为 Update 更新操作的字段不能为空") + private Boolean updateOperation; + + @Schema(description = "是否为 List 查询操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否为 List 查询操作的字段不能为空") + private Boolean listOperation; + + @Schema(description = "List 查询操作的条件类型,参见 CodegenColumnListConditionEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "LIKE") + @NotNull(message = "List 查询操作的条件类型不能为空") + private String listOperationCondition; + + @Schema(description = "是否为 List 查询操作的返回字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否为 List 查询操作的返回字段不能为空") + private Boolean listOperationResult; + + @Schema(description = "显示类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "input") + @NotNull(message = "显示类型不能为空") + private String htmlType; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/column/CodegenColumnRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/column/CodegenColumnRespVO.java new file mode 100644 index 00000000..02b379f5 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/column/CodegenColumnRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.infra.controller.codegen.vo.column; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 代码生成字段定义 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CodegenColumnRespVO extends CodegenColumnBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTableBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTableBaseVO.java new file mode 100644 index 00000000..8d8a2c4b --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTableBaseVO.java @@ -0,0 +1,61 @@ +package com.win.module.infra.controller.codegen.vo.table; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * 代码生成 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class CodegenTableBaseVO { + + @Schema(description = "生成场景,参见 CodegenSceneEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "导入类型不能为空") + private Integer scene; + + @Schema(description = "表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") + @NotNull(message = "表名称不能为空") + private String tableName; + + @Schema(description = "表描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotNull(message = "表描述不能为空") + private String tableComment; + + @Schema(description = "备注", example = "我是备注") + private String remark; + + @Schema(description = "模块名", requiredMode = Schema.RequiredMode.REQUIRED, example = "system") + @NotNull(message = "模块名不能为空") + private String moduleName; + + @Schema(description = "业务名", requiredMode = Schema.RequiredMode.REQUIRED, example = "codegen") + @NotNull(message = "业务名不能为空") + private String businessName; + + @Schema(description = "类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "CodegenTable") + @NotNull(message = "类名称不能为空") + private String className; + + @Schema(description = "类描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "代码生成器的表定义") + @NotNull(message = "类描述不能为空") + private String classComment; + + @Schema(description = "作者", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") + @NotNull(message = "作者不能为空") + private String author; + + @Schema(description = "模板类型,参见 CodegenTemplateTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "模板类型不能为空") + private Integer templateType; + + @Schema(description = "前端类型,参见 CodegenFrontTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "20") + @NotNull(message = "前端类型不能为空") + private Integer frontType; + + @Schema(description = "父菜单编号", example = "1024") + private Long parentMenuId; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTablePageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTablePageReqVO.java new file mode 100644 index 00000000..bd9fe3e5 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTablePageReqVO.java @@ -0,0 +1,33 @@ +package com.win.module.infra.controller.codegen.vo.table; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 表定义分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CodegenTablePageReqVO extends PageParam { + + @Schema(description = "表名称,模糊匹配", example = "win") + private String tableName; + + @Schema(description = "表描述,模糊匹配", example = "闻荫") + private String tableComment; + + @Schema(description = "实体,模糊匹配", example = "Win") + private String className; + + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTableRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTableRespVO.java new file mode 100644 index 00000000..0784e642 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/CodegenTableRespVO.java @@ -0,0 +1,28 @@ +package com.win.module.infra.controller.codegen.vo.table; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 代码生成表定义 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CodegenTableRespVO extends CodegenTableBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Integer dataSourceConfigId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime updateTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/DatabaseTableRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/DatabaseTableRespVO.java new file mode 100644 index 00000000..953fbdb8 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/codegen/vo/table/DatabaseTableRespVO.java @@ -0,0 +1,16 @@ +package com.win.module.infra.controller.codegen.vo.table; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 数据库的表定义 Response VO") +@Data +public class DatabaseTableRespVO { + + @Schema(description = "表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "yuanma") + private String name; + + @Schema(description = "表描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") + private String comment; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/ConfigController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/ConfigController.java new file mode 100644 index 00000000..5f1eb9f6 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/ConfigController.java @@ -0,0 +1,105 @@ +package com.win.module.infra.controller.config; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.infra.controller.config.vo.*; +import com.win.module.infra.convert.config.ConfigConvert; +import com.win.module.infra.dal.dataobject.config.ConfigDO; +import com.win.module.infra.enums.ErrorCodeConstants; +import com.win.module.infra.service.config.ConfigService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 参数配置") +@RestController +@RequestMapping("/infra/config") +@Validated +public class ConfigController { + + @Resource + private ConfigService configService; + + @PostMapping("/create") + @Operation(summary = "创建参数配置") + @PreAuthorize("@ss.hasPermission('infra:config:create')") + public CommonResult createConfig(@Valid @RequestBody ConfigCreateReqVO reqVO) { + return success(configService.createConfig(reqVO)); + } + + @PutMapping("/update") + @Operation(summary = "修改参数配置") + @PreAuthorize("@ss.hasPermission('infra:config:update')") + public CommonResult updateConfig(@Valid @RequestBody ConfigUpdateReqVO reqVO) { + configService.updateConfig(reqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除参数配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:config:delete')") + public CommonResult deleteConfig(@RequestParam("id") Long id) { + configService.deleteConfig(id); + return success(true); + } + + @GetMapping(value = "/get") + @Operation(summary = "获得参数配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:config:query')") + public CommonResult getConfig(@RequestParam("id") Long id) { + return success(ConfigConvert.INSTANCE.convert(configService.getConfig(id))); + } + + @GetMapping(value = "/get-value-by-key") + @Operation(summary = "根据参数键名查询参数值", description = "不可见的配置,不允许返回给前端") + @Parameter(name = "key", description = "参数键", required = true, example = "yunai.biz.username") + public CommonResult getConfigKey(@RequestParam("key") String key) { + ConfigDO config = configService.getConfigByKey(key); + if (config == null) { + return success(null); + } + if (!config.getVisible()) { + throw exception(ErrorCodeConstants.CONFIG_GET_VALUE_ERROR_IF_VISIBLE); + } + return success(config.getValue()); + } + + @GetMapping("/page") + @Operation(summary = "获取参数配置分页") + @PreAuthorize("@ss.hasPermission('infra:config:query')") + public CommonResult> getConfigPage(@Valid ConfigPageReqVO reqVO) { + PageResult page = configService.getConfigPage(reqVO); + return success(ConfigConvert.INSTANCE.convertPage(page)); + } + + @GetMapping("/export") + @Operation(summary = "导出参数配置") + @PreAuthorize("@ss.hasPermission('infra:config:export')") + @OperateLog(type = EXPORT) + public void exportConfig(@Valid ConfigExportReqVO reqVO, + HttpServletResponse response) throws IOException { + List list = configService.getConfigList(reqVO); + // 拼接数据 + List datas = ConfigConvert.INSTANCE.convertList(list); + // 输出 + ExcelUtils.write(response, "参数配置.xls", "数据", ConfigExcelVO.class, datas); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigBaseVO.java new file mode 100644 index 00000000..ea09db89 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigBaseVO.java @@ -0,0 +1,40 @@ +package com.win.module.infra.controller.config.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 参数配置 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class ConfigBaseVO { + + @Schema(description = "参数分组", requiredMode = Schema.RequiredMode.REQUIRED, example = "biz") + @NotEmpty(message = "参数分组不能为空") + @Size(max = 50, message = "参数名称不能超过50个字符") + private String category; + + @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据库名") + @NotBlank(message = "参数名称不能为空") + @Size(max = 100, message = "参数名称不能超过100个字符") + private String name; + + @Schema(description = "参数键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotBlank(message = "参数键值不能为空") + @Size(max = 500, message = "参数键值长度不能超过500个字符") + private String value; + + @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否可见不能为空") + private Boolean visible; + + @Schema(description = "备注", example = "备注一下很帅气!") + private String remark; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigCreateReqVO.java new file mode 100644 index 00000000..96156286 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigCreateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.infra.controller.config.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; + +@Schema(description = "管理后台 - 参数配置创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class ConfigCreateReqVO extends ConfigBaseVO { + + @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username") + @NotBlank(message = "参数键名长度不能为空") + @Size(max = 100, message = "参数键名长度不能超过100个字符") + private String key; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigExcelVO.java new file mode 100644 index 00000000..366349fd --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigExcelVO.java @@ -0,0 +1,46 @@ +package com.win.module.infra.controller.config.vo; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.infra.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 参数配置 Excel 导出响应 VO + */ +@Data +public class ConfigExcelVO { + + @ExcelProperty("参数配置序号") + private Long id; + + @ExcelProperty("参数键名") + private String configKey; + + @ExcelProperty("参数分类") + private String category; + + @ExcelProperty("参数名称") + private String name; + + @ExcelProperty("参数键值") + private String value; + + @ExcelProperty(value = "参数类型", converter = DictConvert.class) + @DictFormat(DictTypeConstants.CONFIG_TYPE) + private Integer type; + + @ExcelProperty(value = "是否可见", converter = DictConvert.class) + @DictFormat(DictTypeConstants.BOOLEAN_STRING) + private Boolean visible; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigExportReqVO.java new file mode 100644 index 00000000..31cd2ae9 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigExportReqVO.java @@ -0,0 +1,28 @@ +package com.win.module.infra.controller.config.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 参数配置导出 Request VO") +@Data +public class ConfigExportReqVO { + + @Schema(description = "参数名称", example = "模糊匹配") + private String name; + + @Schema(description = "参数键名,模糊匹配", example = "yunai.db.username") + private String key; + + @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", example = "1") + private Integer type; + + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigPageReqVO.java new file mode 100644 index 00000000..2615a345 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigPageReqVO.java @@ -0,0 +1,33 @@ +package com.win.module.infra.controller.config.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 参数配置分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ConfigPageReqVO extends PageParam { + + @Schema(description = "数据源名称,模糊匹配", example = "名称") + private String name; + + @Schema(description = "参数键名,模糊匹配", example = "yunai.db.username") + private String key; + + @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", example = "1") + private Integer type; + + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigRespVO.java new file mode 100644 index 00000000..4870278c --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigRespVO.java @@ -0,0 +1,30 @@ +package com.win.module.infra.controller.config.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 参数配置信息 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class ConfigRespVO extends ConfigBaseVO { + + @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username") + @NotBlank(message = "参数键名长度不能为空") + @Size(max = 100, message = "参数键名长度不能超过100个字符") + private String key; + + @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer type; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigUpdateReqVO.java new file mode 100644 index 00000000..71f799e9 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/config/vo/ConfigUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.infra.controller.config.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 参数配置创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ConfigUpdateReqVO extends ConfigBaseVO { + + @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "参数配置编号不能为空") + private Long id; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/DataSourceConfigController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/DataSourceConfigController.java new file mode 100644 index 00000000..6033f1f1 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/DataSourceConfigController.java @@ -0,0 +1,73 @@ +package com.win.module.infra.controller.db; + +import com.win.framework.common.pojo.CommonResult; +import com.win.module.infra.controller.db.vo.DataSourceConfigCreateReqVO; +import com.win.module.infra.controller.db.vo.DataSourceConfigRespVO; +import com.win.module.infra.controller.db.vo.DataSourceConfigUpdateReqVO; +import com.win.module.infra.convert.db.DataSourceConfigConvert; +import com.win.module.infra.dal.dataobject.db.DataSourceConfigDO; +import com.win.module.infra.service.db.DataSourceConfigService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 数据源配置") +@RestController +@RequestMapping("/infra/data-source-config") +@Validated +public class DataSourceConfigController { + + @Resource + private DataSourceConfigService dataSourceConfigService; + + @PostMapping("/create") + @Operation(summary = "创建数据源配置") + @PreAuthorize("@ss.hasPermission('infra:data-source-config:create')") + public CommonResult createDataSourceConfig(@Valid @RequestBody DataSourceConfigCreateReqVO createReqVO) { + return success(dataSourceConfigService.createDataSourceConfig(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新数据源配置") + @PreAuthorize("@ss.hasPermission('infra:data-source-config:update')") + public CommonResult updateDataSourceConfig(@Valid @RequestBody DataSourceConfigUpdateReqVO updateReqVO) { + dataSourceConfigService.updateDataSourceConfig(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除数据源配置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('infra:data-source-config:delete')") + public CommonResult deleteDataSourceConfig(@RequestParam("id") Long id) { + dataSourceConfigService.deleteDataSourceConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得数据源配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:data-source-config:query')") + public CommonResult getDataSourceConfig(@RequestParam("id") Long id) { + DataSourceConfigDO dataSourceConfig = dataSourceConfigService.getDataSourceConfig(id); + return success(DataSourceConfigConvert.INSTANCE.convert(dataSourceConfig)); + } + + @GetMapping("/list") + @Operation(summary = "获得数据源配置列表") + @PreAuthorize("@ss.hasPermission('infra:data-source-config:query')") + public CommonResult> getDataSourceConfigList() { + List list = dataSourceConfigService.getDataSourceConfigList(); + return success(DataSourceConfigConvert.INSTANCE.convertList(list)); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/DatabaseDocController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/DatabaseDocController.java new file mode 100644 index 00000000..5c5560f3 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/DatabaseDocController.java @@ -0,0 +1,154 @@ +package com.win.module.infra.controller.db; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.IdUtil; +import com.win.framework.common.util.servlet.ServletUtils; +import cn.smallbun.screw.core.Configuration; +import cn.smallbun.screw.core.engine.EngineConfig; +import cn.smallbun.screw.core.engine.EngineFileType; +import cn.smallbun.screw.core.engine.EngineTemplateType; +import cn.smallbun.screw.core.execute.DocumentationExecute; +import cn.smallbun.screw.core.process.ProcessConfig; +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties; +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.util.Arrays; + +@Tag(name = "管理后台 - 数据库文档") +@RestController +@RequestMapping("/infra/db-doc") +public class DatabaseDocController { + + @Resource + private DynamicDataSourceProperties dynamicDataSourceProperties; + + private static final String FILE_OUTPUT_DIR = System.getProperty("java.io.tmpdir") + File.separator + + "db-doc"; + private static final String DOC_FILE_NAME = "数据库文档"; + private static final String DOC_VERSION = "1.0.0"; + private static final String DOC_DESCRIPTION = "文档描述"; + + @GetMapping("/export-html") + @Operation(summary = "导出 html 格式的数据文档") + @Parameter(name = "deleteFile", description = "是否删除在服务器本地生成的数据库文档", example = "true") + public void exportHtml(@RequestParam(defaultValue = "true") Boolean deleteFile, + HttpServletResponse response) throws IOException { + doExportFile(EngineFileType.HTML, deleteFile, response); + } + + @GetMapping("/export-word") + @Operation(summary = "导出 word 格式的数据文档") + @Parameter(name = "deleteFile", description = "是否删除在服务器本地生成的数据库文档", example = "true") + public void exportWord(@RequestParam(defaultValue = "true") Boolean deleteFile, + HttpServletResponse response) throws IOException { + doExportFile(EngineFileType.WORD, deleteFile, response); + } + + @GetMapping("/export-markdown") + @Operation(summary = "导出 markdown 格式的数据文档") + @Parameter(name = "deleteFile", description = "是否删除在服务器本地生成的数据库文档", example = "true") + public void exportMarkdown(@RequestParam(defaultValue = "true") Boolean deleteFile, + HttpServletResponse response) throws IOException { + doExportFile(EngineFileType.MD, deleteFile, response); + } + + private void doExportFile(EngineFileType fileOutputType, Boolean deleteFile, + HttpServletResponse response) throws IOException { + String docFileName = DOC_FILE_NAME + "_" + IdUtil.fastSimpleUUID(); + String filePath = doExportFile(fileOutputType, docFileName); + String downloadFileName = DOC_FILE_NAME + fileOutputType.getFileSuffix(); //下载后的文件名 + try { + // 读取,返回 + ServletUtils.writeAttachment(response, downloadFileName, FileUtil.readBytes(filePath)); + } finally { + handleDeleteFile(deleteFile, filePath); + } + } + + /** + * 输出文件,返回文件路径 + * + * @param fileOutputType 文件类型 + * @param fileName 文件名, 无需 ".docx" 等文件后缀 + * @return 生成的文件所在路径 + */ + private String doExportFile(EngineFileType fileOutputType, String fileName) { + try (HikariDataSource dataSource = buildDataSource()) { + // 创建 screw 的配置 + Configuration config = Configuration.builder() + .version(DOC_VERSION) // 版本 + .description(DOC_DESCRIPTION) // 描述 + .dataSource(dataSource) // 数据源 + .engineConfig(buildEngineConfig(fileOutputType, fileName)) // 引擎配置 + .produceConfig(buildProcessConfig()) // 处理配置 + .build(); + + // 执行 screw,生成数据库文档 + new DocumentationExecute(config).execute(); + + return FILE_OUTPUT_DIR + File.separator + fileName + fileOutputType.getFileSuffix(); + } + } + + private void handleDeleteFile(Boolean deleteFile, String filePath) { + if (!deleteFile) { + return; + } + FileUtil.del(filePath); + } + + /** + * 创建数据源 + */ + // TODO 芋艿:screw 暂时不支持 druid,尴尬 + private HikariDataSource buildDataSource() { + // 获得 DataSource 数据源,目前只支持首个 + String primary = dynamicDataSourceProperties.getPrimary(); + DataSourceProperty dataSourceProperty = dynamicDataSourceProperties.getDatasource().get(primary); + // 创建 HikariConfig 配置类 + HikariConfig hikariConfig = new HikariConfig(); + hikariConfig.setJdbcUrl(dataSourceProperty.getUrl()); + hikariConfig.setUsername(dataSourceProperty.getUsername()); + hikariConfig.setPassword(dataSourceProperty.getPassword()); + hikariConfig.addDataSourceProperty("useInformationSchema", "true"); // 设置可以获取 tables remarks 信息 + // 创建数据源 + return new HikariDataSource(hikariConfig); + } + + /** + * 创建 screw 的引擎配置 + */ + private static EngineConfig buildEngineConfig(EngineFileType fileOutputType, String docFileName) { + return EngineConfig.builder() + .fileOutputDir(FILE_OUTPUT_DIR) // 生成文件路径 + .openOutputDir(false) // 打开目录 + .fileType(fileOutputType) // 文件类型 + .produceType(EngineTemplateType.velocity) // 文件类型 + .fileName(docFileName) // 自定义文件名称 + .build(); + } + + /** + * 创建 screw 的处理配置,一般可忽略 + * 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置 + */ + private static ProcessConfig buildProcessConfig() { + return ProcessConfig.builder() + .ignoreTablePrefix(Arrays.asList("QRTZ_", "ACT_")) // 忽略表前缀 + .build(); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigBaseVO.java new file mode 100644 index 00000000..51c2a330 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigBaseVO.java @@ -0,0 +1,25 @@ +package com.win.module.infra.controller.db.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +/** +* 数据源配置 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class DataSourceConfigBaseVO { + + @Schema(description = "数据源名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "test") + @NotNull(message = "数据源名称不能为空") + private String name; + + @Schema(description = "数据源连接", requiredMode = Schema.RequiredMode.REQUIRED, example = "jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro") + @NotNull(message = "数据源连接不能为空") + private String url; + + @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "root") + @NotNull(message = "用户名不能为空") + private String username; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigCreateReqVO.java new file mode 100644 index 00000000..ddd5a249 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigCreateReqVO.java @@ -0,0 +1,17 @@ +package com.win.module.infra.controller.db.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 数据源配置创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DataSourceConfigCreateReqVO extends DataSourceConfigBaseVO { + + @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") + @NotNull(message = "密码不能为空") + private String password; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigRespVO.java new file mode 100644 index 00000000..d64658be --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.infra.controller.db.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 数据源配置 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DataSourceConfigRespVO extends DataSourceConfigBaseVO { + + @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Integer id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigUpdateReqVO.java new file mode 100644 index 00000000..558dcde9 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/db/vo/DataSourceConfigUpdateReqVO.java @@ -0,0 +1,21 @@ +package com.win.module.infra.controller.db.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 数据源配置更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DataSourceConfigUpdateReqVO extends DataSourceConfigBaseVO { + + @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "主键编号不能为空") + private Long id; + + @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") + @NotNull(message = "密码不能为空") + private String password; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileConfigController.http b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileConfigController.http similarity index 100% rename from win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/file/FileConfigController.http rename to win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileConfigController.http diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileConfigController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileConfigController.java new file mode 100644 index 00000000..0e9e05c9 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileConfigController.java @@ -0,0 +1,89 @@ +package com.win.module.infra.controller.file; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.infra.controller.file.vo.config.FileConfigCreateReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigPageReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigRespVO; +import com.win.module.infra.controller.file.vo.config.FileConfigUpdateReqVO; +import com.win.module.infra.convert.file.FileConfigConvert; +import com.win.module.infra.dal.dataobject.file.FileConfigDO; +import com.win.module.infra.service.file.FileConfigService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 文件配置") +@RestController +@RequestMapping("/infra/file-config") +@Validated +public class FileConfigController { + + @Resource + private FileConfigService fileConfigService; + + @PostMapping("/create") + @Operation(summary = "创建文件配置") + @PreAuthorize("@ss.hasPermission('infra:file-config:create')") + public CommonResult createFileConfig(@Valid @RequestBody FileConfigCreateReqVO createReqVO) { + return success(fileConfigService.createFileConfig(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新文件配置") + @PreAuthorize("@ss.hasPermission('infra:file-config:update')") + public CommonResult updateFileConfig(@Valid @RequestBody FileConfigUpdateReqVO updateReqVO) { + fileConfigService.updateFileConfig(updateReqVO); + return success(true); + } + + @PutMapping("/update-master") + @Operation(summary = "更新文件配置为 Master") + @PreAuthorize("@ss.hasPermission('infra:file-config:update')") + public CommonResult updateFileConfigMaster(@RequestParam("id") Long id) { + fileConfigService.updateFileConfigMaster(id); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除文件配置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('infra:file-config:delete')") + public CommonResult deleteFileConfig(@RequestParam("id") Long id) { + fileConfigService.deleteFileConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得文件配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:file-config:query')") + public CommonResult getFileConfig(@RequestParam("id") Long id) { + FileConfigDO fileConfig = fileConfigService.getFileConfig(id); + return success(FileConfigConvert.INSTANCE.convert(fileConfig)); + } + + @GetMapping("/page") + @Operation(summary = "获得文件配置分页") + @PreAuthorize("@ss.hasPermission('infra:file-config:query')") + public CommonResult> getFileConfigPage(@Valid FileConfigPageReqVO pageVO) { + PageResult pageResult = fileConfigService.getFileConfigPage(pageVO); + return success(FileConfigConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/test") + @Operation(summary = "测试文件配置是否正确") + @PreAuthorize("@ss.hasPermission('infra:file-config:query')") + public CommonResult testFileConfig(@RequestParam("id") Long id) throws Exception { + String url = fileConfigService.testFileConfig(id); + return success(url); + } +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java new file mode 100644 index 00000000..d880a445 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/FileController.java @@ -0,0 +1,92 @@ +package com.win.module.infra.controller.file; + +import cn.hutool.core.io.IoUtil; +import cn.hutool.core.util.StrUtil; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.common.util.servlet.ServletUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.infra.controller.file.vo.file.FilePageReqVO; +import com.win.module.infra.controller.file.vo.file.FileRespVO; +import com.win.module.infra.controller.file.vo.file.FileUploadReqVO; +import com.win.module.infra.convert.file.FileConvert; +import com.win.module.infra.dal.dataobject.file.FileDO; +import com.win.module.infra.service.file.FileService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.annotation.security.PermitAll; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 文件存储") +@RestController +@RequestMapping("/infra/file") +@Validated +@Slf4j +public class FileController { + + @Resource + private FileService fileService; + + @PostMapping("/upload") + @Operation(summary = "上传文件") + @OperateLog(logArgs = false) // 上传文件,没有记录操作日志的必要 + public CommonResult uploadFile(FileUploadReqVO uploadReqVO) throws Exception { + MultipartFile file = uploadReqVO.getFile(); + String path = uploadReqVO.getPath(); + return success(fileService.createFile(file.getOriginalFilename(), path, IoUtil.readBytes(file.getInputStream()))); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除文件") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('infra:file:delete')") + public CommonResult deleteFile(@RequestParam("id") Long id) throws Exception { + fileService.deleteFile(id); + return success(true); + } + + @GetMapping("/{configId}/get/**") + @PermitAll + @Operation(summary = "下载文件") + @Parameter(name = "configId", description = "配置编号", required = true) + public void getFileContent(HttpServletRequest request, + HttpServletResponse response, + @PathVariable("configId") Long configId) throws Exception { + // 获取请求的路径 + String path = StrUtil.subAfter(request.getRequestURI(), "/get/", false); + if (StrUtil.isEmpty(path)) { + throw new IllegalArgumentException("结尾的 path 路径必须传递"); + } + + // 读取内容 + byte[] content = fileService.getFileContent(configId, path); + if (content == null) { + log.warn("[getFileContent][configId({}) path({}) 文件不存在]", configId, path); + response.setStatus(HttpStatus.NOT_FOUND.value()); + return; + } + ServletUtils.writeAttachment(response, path, content); + } + + @GetMapping("/page") + @Operation(summary = "获得文件分页") + @PreAuthorize("@ss.hasPermission('infra:file:query')") + public CommonResult> getFilePage(@Valid FilePageReqVO pageVO) { + PageResult pageResult = fileService.getFilePage(pageVO); + return success(FileConvert.INSTANCE.convertPage(pageResult)); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigBaseVO.java new file mode 100644 index 00000000..7a28982d --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigBaseVO.java @@ -0,0 +1,22 @@ +package com.win.module.infra.controller.file.vo.config; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** +* 文件配置 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class FileConfigBaseVO { + + @Schema(description = "配置名", requiredMode = Schema.RequiredMode.REQUIRED, example = "S3 - 阿里云") + @NotNull(message = "配置名不能为空") + private String name; + + @Schema(description = "备注", example = "我是备注") + private String remark; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigCreateReqVO.java new file mode 100644 index 00000000..88c04e24 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigCreateReqVO.java @@ -0,0 +1,25 @@ +package com.win.module.infra.controller.file.vo.config; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.util.Map; + +@Schema(description = "管理后台 - 文件配置创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FileConfigCreateReqVO extends FileConfigBaseVO { + + @Schema(description = "存储器,参见 FileStorageEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "存储器不能为空") + private Integer storage; + + @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "存储配置不能为空") + private Map config; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigPageReqVO.java new file mode 100644 index 00000000..27fd69f8 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigPageReqVO.java @@ -0,0 +1,30 @@ +package com.win.module.infra.controller.file.vo.config; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 文件配置分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FileConfigPageReqVO extends PageParam { + + @Schema(description = "配置名", example = "S3 - 阿里云") + private String name; + + @Schema(description = "存储器", example = "1") + private Integer storage; + + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigRespVO.java new file mode 100644 index 00000000..08219858 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigRespVO.java @@ -0,0 +1,35 @@ +package com.win.module.infra.controller.file.vo.config; + +import com.win.framework.file.core.client.FileClientConfig; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 文件配置 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FileConfigRespVO extends FileConfigBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "存储器,参见 FileStorageEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "存储器不能为空") + private Integer storage; + + @Schema(description = "是否为主配置", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否为主配置不能为空") + private Boolean master; + + @Schema(description = "存储配置", requiredMode = Schema.RequiredMode.REQUIRED) + private FileClientConfig config; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigUpdateReqVO.java new file mode 100644 index 00000000..418ff8fa --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/config/FileConfigUpdateReqVO.java @@ -0,0 +1,25 @@ +package com.win.module.infra.controller.file.vo.config; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.util.Map; + +@Schema(description = "管理后台 - 文件配置更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FileConfigUpdateReqVO extends FileConfigBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "编号不能为空") + private Long id; + + @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "存储配置不能为空") + private Map config; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java new file mode 100644 index 00000000..3c5aa4ee --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FilePageReqVO.java @@ -0,0 +1,30 @@ +package com.win.module.infra.controller.file.vo.file; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 文件分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FilePageReqVO extends PageParam { + + @Schema(description = "文件路径,模糊匹配", example = "win") + private String path; + + @Schema(description = "文件类型,模糊匹配", example = "jpg") + private String type; + + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java new file mode 100644 index 00000000..440b0477 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileRespVO.java @@ -0,0 +1,36 @@ +package com.win.module.infra.controller.file.vo.file; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 文件 Response VO,不返回 content 字段,太大") +@Data +public class FileRespVO { + + @Schema(description = "文件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "配置编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11") + private Long configId; + + @Schema(description = "文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "win.jpg") + private String path; + + @Schema(description = "原文件名", requiredMode = Schema.RequiredMode.REQUIRED, example = "win.jpg") + private String name; + + @Schema(description = "文件 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/win.jpg") + private String url; + + @Schema(description = "文件MIME类型", example = "application/octet-stream") + private String type; + + @Schema(description = "文件大小", example = "2048", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer size; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java new file mode 100644 index 00000000..08d736e4 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/file/vo/file/FileUploadReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.infra.controller.file.vo.file; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 上传文件 Request VO") +@Data +public class FileUploadReqVO { + + @Schema(description = "文件附件", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "文件附件不能为空") + private MultipartFile file; + + @Schema(description = "文件附件", example = "winyuanma.png") + private String path; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/JobController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/JobController.java new file mode 100644 index 00000000..2a37a64c --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/JobController.java @@ -0,0 +1,145 @@ +package com.win.module.infra.controller.job; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.framework.quartz.core.util.CronUtils; +import com.win.module.infra.controller.job.vo.job.*; +import com.win.module.infra.convert.job.JobConvert; +import com.win.module.infra.dal.dataobject.job.JobDO; +import com.win.module.infra.service.job.JobService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.quartz.SchedulerException; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 定时任务") +@RestController +@RequestMapping("/infra/job") +@Validated +public class JobController { + + @Resource + private JobService jobService; + + @PostMapping("/create") + @Operation(summary = "创建定时任务") + @PreAuthorize("@ss.hasPermission('infra:job:create')") + public CommonResult createJob(@Valid @RequestBody JobCreateReqVO createReqVO) + throws SchedulerException { + return success(jobService.createJob(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新定时任务") + @PreAuthorize("@ss.hasPermission('infra:job:update')") + public CommonResult updateJob(@Valid @RequestBody JobUpdateReqVO updateReqVO) + throws SchedulerException { + jobService.updateJob(updateReqVO); + return success(true); + } + + @PutMapping("/update-status") + @Operation(summary = "更新定时任务的状态") + @Parameters({ + @Parameter(name = "id", description = "编号", required = true, example = "1024"), + @Parameter(name = "status", description = "状态", required = true, example = "1"), + }) + @PreAuthorize("@ss.hasPermission('infra:job:update')") + public CommonResult updateJobStatus(@RequestParam(value = "id") Long id, @RequestParam("status") Integer status) + throws SchedulerException { + jobService.updateJobStatus(id, status); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除定时任务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:job:delete')") + public CommonResult deleteJob(@RequestParam("id") Long id) + throws SchedulerException { + jobService.deleteJob(id); + return success(true); + } + + @PutMapping("/trigger") + @Operation(summary = "触发定时任务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:job:trigger')") + public CommonResult triggerJob(@RequestParam("id") Long id) throws SchedulerException { + jobService.triggerJob(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得定时任务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:job:query')") + public CommonResult getJob(@RequestParam("id") Long id) { + JobDO job = jobService.getJob(id); + return success(JobConvert.INSTANCE.convert(job)); + } + + @GetMapping("/list") + @Operation(summary = "获得定时任务列表") + @Parameter(name = "ids", description = "编号列表", required = true) + @PreAuthorize("@ss.hasPermission('infra:job:query')") + public CommonResult> getJobList(@RequestParam("ids") Collection ids) { + List list = jobService.getJobList(ids); + return success(JobConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得定时任务分页") + @PreAuthorize("@ss.hasPermission('infra:job:query')") + public CommonResult> getJobPage(@Valid JobPageReqVO pageVO) { + PageResult pageResult = jobService.getJobPage(pageVO); + return success(JobConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出定时任务 Excel") + @PreAuthorize("@ss.hasPermission('infra:job:export')") + @OperateLog(type = EXPORT) + public void exportJobExcel(@Valid JobExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = jobService.getJobList(exportReqVO); + // 导出 Excel + List datas = JobConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "定时任务.xls", "数据", JobExcelVO.class, datas); + } + + @GetMapping("/get_next_times") + @Operation(summary = "获得定时任务的下 n 次执行时间") + @Parameters({ + @Parameter(name = "id", description = "编号", required = true, example = "1024"), + @Parameter(name = "count", description = "数量", example = "5") + }) + @PreAuthorize("@ss.hasPermission('infra:job:query')") + public CommonResult> getJobNextTimes(@RequestParam("id") Long id, + @RequestParam(value = "count", required = false, defaultValue = "5") Integer count) { + JobDO job = jobService.getJob(id); + if (job == null) { + return success(Collections.emptyList()); + } + return success(CronUtils.getNextTimes(job.getCronExpression(), count)); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/JobLogController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/JobLogController.java new file mode 100644 index 00000000..4729c609 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/JobLogController.java @@ -0,0 +1,81 @@ +package com.win.module.infra.controller.job; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.infra.controller.job.vo.log.JobLogExcelVO; +import com.win.module.infra.controller.job.vo.log.JobLogExportReqVO; +import com.win.module.infra.controller.job.vo.log.JobLogPageReqVO; +import com.win.module.infra.controller.job.vo.log.JobLogRespVO; +import com.win.module.infra.convert.job.JobLogConvert; +import com.win.module.infra.dal.dataobject.job.JobLogDO; +import com.win.module.infra.service.job.JobLogService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 定时任务日志") +@RestController +@RequestMapping("/infra/job-log") +@Validated +public class JobLogController { + + @Resource + private JobLogService jobLogService; + + @GetMapping("/get") + @Operation(summary = "获得定时任务日志") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:job:query')") + public CommonResult getJobLog(@RequestParam("id") Long id) { + JobLogDO jobLog = jobLogService.getJobLog(id); + return success(JobLogConvert.INSTANCE.convert(jobLog)); + } + + @GetMapping("/list") + @Operation(summary = "获得定时任务日志列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('infra:job:query')") + public CommonResult> getJobLogList(@RequestParam("ids") Collection ids) { + List list = jobLogService.getJobLogList(ids); + return success(JobLogConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得定时任务日志分页") + @PreAuthorize("@ss.hasPermission('infra:job:query')") + public CommonResult> getJobLogPage(@Valid JobLogPageReqVO pageVO) { + PageResult pageResult = jobLogService.getJobLogPage(pageVO); + return success(JobLogConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出定时任务日志 Excel") + @PreAuthorize("@ss.hasPermission('infra:job:export')") + @OperateLog(type = EXPORT) + public void exportJobLogExcel(@Valid JobLogExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = jobLogService.getJobLogList(exportReqVO); + // 导出 Excel + List datas = JobLogConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "任务日志.xls", "数据", JobLogExcelVO.class, datas); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobBaseVO.java new file mode 100644 index 00000000..229df58a --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobBaseVO.java @@ -0,0 +1,37 @@ +package com.win.module.infra.controller.job.vo.job; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** +* 定时任务 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class JobBaseVO { + + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试任务") + @NotNull(message = "任务名称不能为空") + private String name; + + @Schema(description = "处理器的参数", example = "win") + private String handlerParam; + + @Schema(description = "CRON 表达式", requiredMode = Schema.RequiredMode.REQUIRED, example = "0/10 * * * * ? *") + @NotNull(message = "CRON 表达式不能为空") + private String cronExpression; + + @Schema(description = "重试次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3") + @NotNull(message = "重试次数不能为空") + private Integer retryCount; + + @Schema(description = "重试间隔", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000") + @NotNull(message = "重试间隔不能为空") + private Integer retryInterval; + + @Schema(description = "监控超时时间", example = "1000") + private Integer monitorTimeout; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobCreateReqVO.java new file mode 100644 index 00000000..a198d321 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobCreateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.infra.controller.job.vo.job; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 定时任务创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class JobCreateReqVO extends JobBaseVO { + + @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob") + @NotNull(message = "处理器的名字不能为空") + private String handlerName; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobExcelVO.java new file mode 100644 index 00000000..8b036469 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobExcelVO.java @@ -0,0 +1,56 @@ +package com.win.module.infra.controller.job.vo.job; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.infra.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 定时任务 Excel VO + * + * @author 闻荫源码 + */ +@Data +public class JobExcelVO { + + @ExcelProperty("任务编号") + private Long id; + + @ExcelProperty("任务名称") + private String name; + + @ExcelProperty(value = "任务状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.JOB_STATUS) + private Integer status; + + @ExcelProperty("处理器的名字") + private String handlerName; + + @ExcelProperty("处理器的参数") + private String handlerParam; + + @ExcelProperty("CRON 表达式") + private String cronExpression; + + @ExcelProperty("最后一次执行的开始时间") + private LocalDateTime executeBeginTime; + + @ExcelProperty("最后一次执行的结束时间") + private LocalDateTime executeEndTime; + + @ExcelProperty("上一次触发时间") + private LocalDateTime firePrevTime; + + @ExcelProperty("下一次触发时间") + private LocalDateTime fireNextTime; + + @ExcelProperty("监控超时时间") + private Integer monitorTimeout; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobExportReqVO.java new file mode 100644 index 00000000..2ad3acdf --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobExportReqVO.java @@ -0,0 +1,19 @@ +package com.win.module.infra.controller.job.vo.job; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 定时任务 Excel 导出 Request VO-参数和 JobPageReqVO 是一致的") +@Data +public class JobExportReqVO { + + @Schema(description = "任务名称-模糊匹配", example = "测试任务") + private String name; + + @Schema(description = "任务状态-参见 JobStatusEnum 枚举", example = "1") + private Integer status; + + @Schema(description = "处理器的名字-模糊匹配", example = "UserSessionTimeoutJob") + private String handlerName; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobPageReqVO.java new file mode 100644 index 00000000..3719faf8 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobPageReqVO.java @@ -0,0 +1,24 @@ +package com.win.module.infra.controller.job.vo.job; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 定时任务分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class JobPageReqVO extends PageParam { + + @Schema(description = "任务名称,模糊匹配", example = "测试任务") + private String name; + + @Schema(description = "任务状态,参见 JobStatusEnum 枚举", example = "1") + private Integer status; + + @Schema(description = "处理器的名字,模糊匹配", example = "sysUserSessionTimeoutJob") + private String handlerName; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobRespVO.java new file mode 100644 index 00000000..427a7f9c --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobRespVO.java @@ -0,0 +1,30 @@ +package com.win.module.infra.controller.job.vo.job; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 定时任务 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class JobRespVO extends JobBaseVO { + + @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob") + @NotNull(message = "处理器的名字不能为空") + private String handlerName; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobUpdateReqVO.java new file mode 100644 index 00000000..49b748b3 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/job/JobUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.infra.controller.job.vo.job; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 定时任务更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class JobUpdateReqVO extends JobBaseVO { + + @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "任务编号不能为空") + private Long id; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogBaseVO.java new file mode 100644 index 00000000..e31a149e --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogBaseVO.java @@ -0,0 +1,53 @@ +package com.win.module.infra.controller.job.vo.log; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** +* 定时任务日志 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class JobLogBaseVO { + + @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "任务编号不能为空") + private Long jobId; + + @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob") + @NotNull(message = "处理器的名字不能为空") + private String handlerName; + + @Schema(description = "处理器的参数", example = "win") + private String handlerParam; + + @Schema(description = "第几次执行", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "第几次执行不能为空") + private Integer executeIndex; + + @Schema(description = "开始执行时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "开始执行时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime beginTime; + + @Schema(description = "结束执行时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime endTime; + + @Schema(description = "执行时长", example = "123") + private Integer duration; + + @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "任务状态不能为空") + private Integer status; + + @Schema(description = "结果数据", example = "执行成功") + private String result; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogExcelVO.java new file mode 100644 index 00000000..b7832143 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogExcelVO.java @@ -0,0 +1,53 @@ +package com.win.module.infra.controller.job.vo.log; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.infra.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 定时任务 Excel VO + * + * @author 芋艿 + */ +@Data +public class JobLogExcelVO { + + @ExcelProperty("日志编号") + private Long id; + + @ExcelProperty("任务编号") + private Long jobId; + + @ExcelProperty("处理器的名字") + private String handlerName; + + @ExcelProperty("处理器的参数") + private String handlerParam; + + @ExcelProperty("第几次执行") + private Integer executeIndex; + + @ExcelProperty("开始执行时间") + private LocalDateTime beginTime; + + @ExcelProperty("结束执行时间") + private LocalDateTime endTime; + + @ExcelProperty("执行时长") + private Integer duration; + + @ExcelProperty(value = "任务状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.JOB_STATUS) + private Integer status; + + @ExcelProperty("结果数据") + private String result; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogExportReqVO.java new file mode 100644 index 00000000..763578f5 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogExportReqVO.java @@ -0,0 +1,32 @@ +package com.win.module.infra.controller.job.vo.log; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 定时任务 Excel 导出 Request VO,参数和 JobLogPageReqVO 是一致的") +@Data +public class JobLogExportReqVO { + + @Schema(description = "任务编号", example = "10") + private Long jobId; + + @Schema(description = "处理器的名字,模糊匹配") + private String handlerName; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "开始执行时间") + private LocalDateTime beginTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "结束执行时间") + private LocalDateTime endTime; + + @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举") + private Integer status; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogPageReqVO.java new file mode 100644 index 00000000..a78af441 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogPageReqVO.java @@ -0,0 +1,37 @@ +package com.win.module.infra.controller.job.vo.log; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 定时任务日志分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class JobLogPageReqVO extends PageParam { + + @Schema(description = "任务编号", example = "10") + private Long jobId; + + @Schema(description = "处理器的名字,模糊匹配") + private String handlerName; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "开始执行时间") + private LocalDateTime beginTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "结束执行时间") + private LocalDateTime endTime; + + @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举") + private Integer status; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogRespVO.java new file mode 100644 index 00000000..22c3a5c9 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/job/vo/log/JobLogRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.infra.controller.job.vo.log; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 定时任务日志 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class JobLogRespVO extends JobLogBaseVO { + + @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/ApiAccessLogController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/ApiAccessLogController.java new file mode 100644 index 00000000..e633ece0 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/ApiAccessLogController.java @@ -0,0 +1,60 @@ +package com.win.module.infra.controller.logger; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogExcelVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogExportReqVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogRespVO; +import com.win.module.infra.convert.logger.ApiAccessLogConvert; +import com.win.module.infra.dal.dataobject.logger.ApiAccessLogDO; +import com.win.module.infra.service.logger.ApiAccessLogService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - API 访问日志") +@RestController +@RequestMapping("/infra/api-access-log") +@Validated +public class ApiAccessLogController { + + @Resource + private ApiAccessLogService apiAccessLogService; + + @GetMapping("/page") + @Operation(summary = "获得API 访问日志分页") + @PreAuthorize("@ss.hasPermission('infra:api-access-log:query')") + public CommonResult> getApiAccessLogPage(@Valid ApiAccessLogPageReqVO pageVO) { + PageResult pageResult = apiAccessLogService.getApiAccessLogPage(pageVO); + return success(ApiAccessLogConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出API 访问日志 Excel") + @PreAuthorize("@ss.hasPermission('infra:api-access-log:export')") + @OperateLog(type = EXPORT) + public void exportApiAccessLogExcel(@Valid ApiAccessLogExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = apiAccessLogService.getApiAccessLogList(exportReqVO); + // 导出 Excel + List datas = ApiAccessLogConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "API 访问日志.xls", "数据", ApiAccessLogExcelVO.class, datas); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/ApiErrorLogController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/ApiErrorLogController.java new file mode 100644 index 00000000..3c6f33fb --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/ApiErrorLogController.java @@ -0,0 +1,74 @@ +package com.win.module.infra.controller.logger; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogExcelVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogExportReqVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogPageReqVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogRespVO; +import com.win.module.infra.convert.logger.ApiErrorLogConvert; +import com.win.module.infra.dal.dataobject.logger.ApiErrorLogDO; +import com.win.module.infra.service.logger.ApiErrorLogService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +@Tag(name = "管理后台 - API 错误日志") +@RestController +@RequestMapping("/infra/api-error-log") +@Validated +public class ApiErrorLogController { + + @Resource + private ApiErrorLogService apiErrorLogService; + + @PutMapping("/update-status") + @Operation(summary = "更新 API 错误日志的状态") + @Parameters({ + @Parameter(name = "id", description = "编号", required = true, example = "1024"), + @Parameter(name = "processStatus", description = "处理状态", required = true, example = "1") + }) + @PreAuthorize("@ss.hasPermission('infra:api-error-log:update-status')") + public CommonResult updateApiErrorLogProcess(@RequestParam("id") Long id, + @RequestParam("processStatus") Integer processStatus) { + apiErrorLogService.updateApiErrorLogProcess(id, processStatus, getLoginUserId()); + return success(true); + } + + @GetMapping("/page") + @Operation(summary = "获得 API 错误日志分页") + @PreAuthorize("@ss.hasPermission('infra:api-error-log:query')") + public CommonResult> getApiErrorLogPage(@Valid ApiErrorLogPageReqVO pageVO) { + PageResult pageResult = apiErrorLogService.getApiErrorLogPage(pageVO); + return success(ApiErrorLogConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出 API 错误日志 Excel") + @PreAuthorize("@ss.hasPermission('infra:api-error-log:export')") + @OperateLog(type = EXPORT) + public void exportApiErrorLogExcel(@Valid ApiErrorLogExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = apiErrorLogService.getApiErrorLogList(exportReqVO); + // 导出 Excel + List datas = ApiErrorLogConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "API 错误日志.xls", "数据", ApiErrorLogExcelVO.class, datas); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java new file mode 100644 index 00000000..5b8afba6 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java @@ -0,0 +1,75 @@ +package com.win.module.infra.controller.logger.vo.apiaccesslog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** +* API 访问日志 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class ApiAccessLogBaseVO { + + @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002") + @NotNull(message = "链路追踪编号不能为空") + private String traceId; + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") + @NotNull(message = "用户编号不能为空") + private Long userId; + + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "用户类型不能为空") + private Integer userType; + + @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard") + @NotNull(message = "应用名不能为空") + private String applicationName; + + @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET") + @NotNull(message = "请求方法名不能为空") + private String requestMethod; + + @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xxx/yyy") + @NotNull(message = "请求地址不能为空") + private String requestUrl; + + @Schema(description = "请求参数") + private String requestParams; + + @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") + @NotNull(message = "用户 IP不能为空") + private String userIp; + + @Schema(description = "浏览器 UA", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0") + @NotNull(message = "浏览器 UA不能为空") + private String userAgent; + + @Schema(description = "开始请求时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "开始请求时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime beginTime; + + @Schema(description = "结束请求时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "结束请求时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime endTime; + + @Schema(description = "执行时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") + @NotNull(message = "执行时长不能为空") + private Integer duration; + + @Schema(description = "结果码", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") + @NotNull(message = "结果码不能为空") + private Integer resultCode; + + @Schema(description = "结果提示", example = "闻荫源码,牛逼!") + private String resultMsg; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java new file mode 100644 index 00000000..b8bf093e --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java @@ -0,0 +1,65 @@ +package com.win.module.infra.controller.logger.vo.apiaccesslog; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * API 访问日志 Excel VO + * + * @author 闻荫源码 + */ +@Data +public class ApiAccessLogExcelVO { + + @ExcelProperty("日志主键") + private Long id; + + @ExcelProperty("链路追踪编号") + private String traceId; + + @ExcelProperty("用户编号") + private Long userId; + + @ExcelProperty(value = "用户类型", converter = DictConvert.class) + @DictFormat(DictTypeConstants.USER_TYPE) + private Integer userType; + + @ExcelProperty("应用名") + private String applicationName; + + @ExcelProperty("请求方法名") + private String requestMethod; + + @ExcelProperty("请求地址") + private String requestUrl; + + @ExcelProperty("请求参数") + private String requestParams; + + @ExcelProperty("用户 IP") + private String userIp; + + @ExcelProperty("浏览器 UA") + private String userAgent; + + @ExcelProperty("开始请求时间") + private LocalDateTime beginTime; + + @ExcelProperty("结束请求时间") + private LocalDateTime endTime; + + @ExcelProperty("执行时长") + private Integer duration; + + @ExcelProperty("结果码") + private Integer resultCode; + + @ExcelProperty("结果提示") + private String resultMsg; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java new file mode 100644 index 00000000..0e9edad8 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java @@ -0,0 +1,37 @@ +package com.win.module.infra.controller.logger.vo.apiaccesslog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - API 访问日志 Excel 导出 Request VO,参数和 ApiAccessLogPageReqVO 是一致的") +@Data +public class ApiAccessLogExportReqVO { + + @Schema(description = "用户编号", example = "666") + private Long userId; + + @Schema(description = "用户类型", example = "2") + private Integer userType; + + @Schema(description = "应用名", example = "dashboard") + private String applicationName; + + @Schema(description = "请求地址,模糊匹配", example = "/xxx/yyy") + private String requestUrl; + + @Schema(description = "开始时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] beginTime; + + @Schema(description = "执行时长,大于等于,单位:毫秒", example = "100") + private Integer duration; + + @Schema(description = "结果码", example = "0") + private Integer resultCode; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java new file mode 100644 index 00000000..cbbdd960 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java @@ -0,0 +1,42 @@ +package com.win.module.infra.controller.logger.vo.apiaccesslog; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - API 访问日志分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ApiAccessLogPageReqVO extends PageParam { + + @Schema(description = "用户编号", example = "666") + private Long userId; + + @Schema(description = "用户类型", example = "2") + private Integer userType; + + @Schema(description = "应用名", example = "dashboard") + private String applicationName; + + @Schema(description = "请求地址,模糊匹配", example = "/xxx/yyy") + private String requestUrl; + + @Schema(description = "开始时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] beginTime; + + @Schema(description = "执行时长,大于等于,单位:毫秒", example = "100") + private Integer duration; + + @Schema(description = "结果码", example = "0") + private Integer resultCode; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogRespVO.java new file mode 100644 index 00000000..f38ba010 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apiaccesslog/ApiAccessLogRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.infra.controller.logger.vo.apiaccesslog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - API 访问日志 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ApiAccessLogRespVO extends ApiAccessLogBaseVO { + + @Schema(description = "日志主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogBaseVO.java new file mode 100644 index 00000000..0eaf1ca7 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogBaseVO.java @@ -0,0 +1,95 @@ +package com.win.module.infra.controller.logger.vo.apierrorlog; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** +* API 错误日志 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class ApiErrorLogBaseVO { + + @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002") + @NotNull(message = "链路追踪编号不能为空") + private String traceId; + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") + @NotNull(message = "用户编号不能为空") + private Integer userId; + + @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "用户类型不能为空") + private Integer userType; + + @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard") + @NotNull(message = "应用名不能为空") + private String applicationName; + + @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET") + @NotNull(message = "请求方法名不能为空") + private String requestMethod; + + @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xx/yy") + @NotNull(message = "请求地址不能为空") + private String requestUrl; + + @Schema(description = "请求参数", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "请求参数不能为空") + private String requestParams; + + @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") + @NotNull(message = "用户 IP不能为空") + private String userIp; + + @Schema(description = "浏览器 UA", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0") + @NotNull(message = "浏览器 UA不能为空") + private String userAgent; + + @Schema(description = "异常发生时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常发生时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime exceptionTime; + + @Schema(description = "异常名", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常名不能为空") + private String exceptionName; + + @Schema(description = "异常导致的消息", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常导致的消息不能为空") + private String exceptionMessage; + + @Schema(description = "异常导致的根消息", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常导致的根消息不能为空") + private String exceptionRootCauseMessage; + + @Schema(description = "异常的栈轨迹", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常的栈轨迹不能为空") + private String exceptionStackTrace; + + @Schema(description = "异常发生的类全名", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常发生的类全名不能为空") + private String exceptionClassName; + + @Schema(description = "异常发生的类文件", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常发生的类文件不能为空") + private String exceptionFileName; + + @Schema(description = "异常发生的方法名", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常发生的方法名不能为空") + private String exceptionMethodName; + + @Schema(description = "异常发生的方法所在行", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "异常发生的方法所在行不能为空") + private Integer exceptionLineNumber; + + @Schema(description = "处理状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") + @NotNull(message = "处理状态不能为空") + private Integer processStatus; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogExcelVO.java new file mode 100644 index 00000000..71c3f19d --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogExcelVO.java @@ -0,0 +1,90 @@ +package com.win.module.infra.controller.logger.vo.apierrorlog; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.infra.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * API 错误日志 Excel VO + * + * @author 闻荫源码 + */ +@Data +public class ApiErrorLogExcelVO { + + @ExcelProperty("编号") + private Integer id; + + @ExcelProperty("链路追踪编号") + private String traceId; + + @ExcelProperty("用户编号") + private Integer userId; + + @ExcelProperty(value = "用户类型", converter = DictConvert.class) + @DictFormat(com.win.module.system.enums.DictTypeConstants.USER_TYPE) + private Integer userType; + + @ExcelProperty("应用名") + private String applicationName; + + @ExcelProperty("请求方法名") + private String requestMethod; + + @ExcelProperty("请求地址") + private String requestUrl; + + @ExcelProperty("请求参数") + private String requestParams; + + @ExcelProperty("用户 IP") + private String userIp; + + @ExcelProperty("浏览器 UA") + private String userAgent; + + @ExcelProperty("异常发生时间") + private LocalDateTime exceptionTime; + + @ExcelProperty("异常名") + private String exceptionName; + + @ExcelProperty("异常导致的消息") + private String exceptionMessage; + + @ExcelProperty("异常导致的根消息") + private String exceptionRootCauseMessage; + + @ExcelProperty("异常的栈轨迹") + private String exceptionStackTrace; + + @ExcelProperty("异常发生的类全名") + private String exceptionClassName; + + @ExcelProperty("异常发生的类文件") + private String exceptionFileName; + + @ExcelProperty("异常发生的方法名") + private String exceptionMethodName; + + @ExcelProperty("异常发生的方法所在行") + private Integer exceptionLineNumber; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty(value = "处理状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.API_ERROR_LOG_PROCESS_STATUS) + private Integer processStatus; + + @ExcelProperty("处理时间") + private LocalDateTime processTime; + + @ExcelProperty("处理用户编号") + private Integer processUserId; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java new file mode 100644 index 00000000..e70d9cb3 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java @@ -0,0 +1,34 @@ +package com.win.module.infra.controller.logger.vo.apierrorlog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - API 错误日志 Excel 导出 Request VO,参数和 ApiErrorLogPageReqVO 是一致的") +@Data +public class ApiErrorLogExportReqVO { + + @Schema(description = "用户编号", example = "666") + private Long userId; + + @Schema(description = "用户类型", example = "1") + private Integer userType; + + @Schema(description = "应用名", example = "dashboard") + private String applicationName; + + @Schema(description = "请求地址", example = "/xx/yy") + private String requestUrl; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "异常发生时间") + private LocalDateTime[] exceptionTime; + + @Schema(description = "处理状态", example = "0") + private Integer processStatus; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java new file mode 100644 index 00000000..a558195e --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java @@ -0,0 +1,39 @@ +package com.win.module.infra.controller.logger.vo.apierrorlog; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - API 错误日志分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ApiErrorLogPageReqVO extends PageParam { + + @Schema(description = "用户编号", example = "666") + private Long userId; + + @Schema(description = "用户类型", example = "1") + private Integer userType; + + @Schema(description = "应用名", example = "dashboard") + private String applicationName; + + @Schema(description = "请求地址", example = "/xx/yy") + private String requestUrl; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "异常发生时间") + private LocalDateTime[] exceptionTime; + + @Schema(description = "处理状态", example = "0") + private Integer processStatus; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogRespVO.java new file mode 100644 index 00000000..18bc31c5 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/logger/vo/apierrorlog/ApiErrorLogRespVO.java @@ -0,0 +1,28 @@ +package com.win.module.infra.controller.logger.vo.apierrorlog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - API 错误日志 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ApiErrorLogRespVO extends ApiErrorLogBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Integer id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "处理时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime processTime; + + @Schema(description = "处理用户编号", example = "233") + private Integer processUserId; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/package-info.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/package-info.java deleted file mode 100644 index 97529d2e..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 提供 RESTful API 给前端: - * 1. admin 包:提供给管理后台 win-ui-admin 前端项目 - * 2. app 包:提供给用户 APP win-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分 - */ -package com.win.module.infra.controller; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/RedisController.http b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/RedisController.http similarity index 100% rename from win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/redis/RedisController.http rename to win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/RedisController.http diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/RedisController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/RedisController.java new file mode 100644 index 00000000..0d1aaa46 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/RedisController.java @@ -0,0 +1,43 @@ +package com.win.module.infra.controller.redis; + +import com.win.framework.common.pojo.CommonResult; +import com.win.module.infra.controller.redis.vo.RedisMonitorRespVO; +import com.win.module.infra.convert.redis.RedisConvert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.data.redis.connection.RedisServerCommands; +import org.springframework.data.redis.core.RedisCallback; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Properties; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - Redis 监控") +@RestController +@RequestMapping("/infra/redis") +public class RedisController { + + @Resource + private StringRedisTemplate stringRedisTemplate; + + @GetMapping("/get-monitor-info") + @Operation(summary = "获得 Redis 监控信息") + @PreAuthorize("@ss.hasPermission('infra:redis:get-monitor-info')") + public CommonResult getRedisMonitorInfo() { + // 获得 Redis 统计信息 + Properties info = stringRedisTemplate.execute((RedisCallback) RedisServerCommands::info); + Long dbSize = stringRedisTemplate.execute(RedisServerCommands::dbSize); + Properties commandStats = stringRedisTemplate.execute(( + RedisCallback) connection -> connection.info("commandstats")); + assert commandStats != null; // 断言,避免警告 + // 拼接结果返回 + return success(RedisConvert.INSTANCE.build(info, dbSize, commandStats)); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisMonitorRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisMonitorRespVO.java new file mode 100644 index 00000000..55377b71 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisMonitorRespVO.java @@ -0,0 +1,43 @@ +package com.win.module.infra.controller.redis.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; +import java.util.Properties; + +@Schema(description = "管理后台 - Redis 监控信息 Response VO") +@Data +@Builder +@AllArgsConstructor +public class RedisMonitorRespVO { + + @Schema(description = "Redis info 指令结果,具体字段,查看 Redis 文档", requiredMode = Schema.RequiredMode.REQUIRED) + private Properties info; + + @Schema(description = "Redis key 数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long dbSize; + + @Schema(description = "CommandStat 数组", requiredMode = Schema.RequiredMode.REQUIRED) + private List commandStats; + + @Schema(description = "Redis 命令统计结果") + @Data + @Builder + @AllArgsConstructor + public static class CommandStat { + + @Schema(description = "Redis 命令", requiredMode = Schema.RequiredMode.REQUIRED, example = "get") + private String command; + + @Schema(description = "调用次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long calls; + + @Schema(description = "消耗 CPU 秒数", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") + private Long usec; + + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/TestDemoController.http b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/TestDemoController.http similarity index 100% rename from win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/admin/test/TestDemoController.http rename to win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/TestDemoController.http diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/TestDemoController.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/TestDemoController.java new file mode 100644 index 00000000..4ed859f8 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/TestDemoController.java @@ -0,0 +1,97 @@ +package com.win.module.infra.controller.test; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.infra.controller.test.vo.*; +import com.win.module.infra.convert.test.TestDemoConvert; +import com.win.module.infra.dal.dataobject.test.TestDemoDO; +import com.win.module.infra.service.test.TestDemoService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 字典类型") +@RestController +@RequestMapping("/infra/test-demo") +@Validated +public class TestDemoController { + + @Resource + private TestDemoService testDemoService; + + @PostMapping("/create") + @Operation(summary = "创建字典类型") + @PreAuthorize("@ss.hasPermission('infra:test-demo:create')") + public CommonResult createTestDemo(@Valid @RequestBody TestDemoCreateReqVO createReqVO) { + return success(testDemoService.createTestDemo(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新字典类型") + @PreAuthorize("@ss.hasPermission('infra:test-demo:update')") + public CommonResult updateTestDemo(@Valid @RequestBody TestDemoUpdateReqVO updateReqVO) { + testDemoService.updateTestDemo(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除字典类型") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('infra:test-demo:delete')") + public CommonResult deleteTestDemo(@RequestParam("id") Long id) { + testDemoService.deleteTestDemo(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得字典类型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('infra:test-demo:query')") + public CommonResult getTestDemo(@RequestParam("id") Long id) { + TestDemoDO testDemo = testDemoService.getTestDemo(id); + return success(TestDemoConvert.INSTANCE.convert(testDemo)); + } + + @GetMapping("/list") + @Operation(summary = "获得字典类型列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('infra:test-demo:query')") + public CommonResult> getTestDemoList(@RequestParam("ids") Collection ids) { + List list = testDemoService.getTestDemoList(ids); + return success(TestDemoConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得字典类型分页") + @PreAuthorize("@ss.hasPermission('infra:test-demo:query')") public CommonResult> getTestDemoPage(@Valid TestDemoPageReqVO pageVO) { + PageResult pageResult = testDemoService.getTestDemoPage(pageVO); + return success(TestDemoConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出字典类型 Excel") + @PreAuthorize("@ss.hasPermission('infra:test-demo:export')") @OperateLog(type = EXPORT) + public void exportTestDemoExcel(@Valid TestDemoExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = testDemoService.getTestDemoList(exportReqVO); + // 导出 Excel + List datas = TestDemoConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "字典类型.xls", "数据", TestDemoExcelVO.class, datas); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoBaseVO.java new file mode 100644 index 00000000..ea643102 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoBaseVO.java @@ -0,0 +1,32 @@ +package com.win.module.infra.controller.test.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +/** +* 字典类型 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class TestDemoBaseVO { + + @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "名字不能为空") + private String name; + + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "类型不能为空") + private Integer type; + + @Schema(description = "分类", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "分类不能为空") + private Integer category; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoCreateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoCreateReqVO.java new file mode 100644 index 00000000..36aa5727 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoCreateReqVO.java @@ -0,0 +1,11 @@ +package com.win.module.infra.controller.test.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - 字典类型创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TestDemoCreateReqVO extends TestDemoBaseVO { + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoExcelVO.java new file mode 100644 index 00000000..454b796a --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoExcelVO.java @@ -0,0 +1,38 @@ +package com.win.module.infra.controller.test.vo; + +import lombok.*; + +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 字典类型 Excel VO + * + * @author 闻荫源码 + */ +@Data +public class TestDemoExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("名字") + private String name; + + @ExcelProperty("状态") + private Integer status; + + @ExcelProperty("类型") + private Integer type; + + @ExcelProperty("分类") + private Integer category; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoExportReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoExportReqVO.java new file mode 100644 index 00000000..eac05ec0 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoExportReqVO.java @@ -0,0 +1,33 @@ +package com.win.module.infra.controller.test.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 字典类型 Excel 导出 Request VO,参数和 TestDemoPageReqVO 是一致的") +@Data +public class TestDemoExportReqVO { + + @Schema(description = "名字") + private String name; + + @Schema(description = "状态") + private Integer status; + + @Schema(description = "类型") + private Integer type; + + @Schema(description = "分类") + private Integer category; + + @Schema(description = "备注") + private String remark; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoPageReqVO.java new file mode 100644 index 00000000..9e5a77cb --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoPageReqVO.java @@ -0,0 +1,36 @@ +package com.win.module.infra.controller.test.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; +import com.win.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 字典类型分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TestDemoPageReqVO extends PageParam { + + @Schema(description = "名字") + private String name; + + @Schema(description = "状态") + private Integer status; + + @Schema(description = "类型") + private Integer type; + + @Schema(description = "分类") + private Integer category; + + @Schema(description = "备注") + private String remark; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoRespVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoRespVO.java new file mode 100644 index 00000000..ad57c435 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoRespVO.java @@ -0,0 +1,19 @@ +package com.win.module.infra.controller.test.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 字典类型 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TestDemoRespVO extends TestDemoBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoUpdateReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoUpdateReqVO.java new file mode 100644 index 00000000..25092db5 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/test/vo/TestDemoUpdateReqVO.java @@ -0,0 +1,16 @@ +package com.win.module.infra.controller.test.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 字典类型更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TestDemoUpdateReqVO extends TestDemoBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/codegen/CodegenConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/codegen/CodegenConvert.java index b7956d26..6142ac5b 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/codegen/CodegenConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/codegen/CodegenConvert.java @@ -1,12 +1,12 @@ package com.win.module.infra.convert.codegen; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.codegen.vo.CodegenDetailRespVO; -import com.win.module.infra.controller.admin.codegen.vo.CodegenPreviewRespVO; -import com.win.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO; -import com.win.module.infra.controller.admin.codegen.vo.column.CodegenColumnRespVO; -import com.win.module.infra.controller.admin.codegen.vo.table.CodegenTableRespVO; -import com.win.module.infra.controller.admin.codegen.vo.table.DatabaseTableRespVO; +import com.win.module.infra.controller.codegen.vo.CodegenDetailRespVO; +import com.win.module.infra.controller.codegen.vo.CodegenPreviewRespVO; +import com.win.module.infra.controller.codegen.vo.CodegenUpdateReqVO; +import com.win.module.infra.controller.codegen.vo.column.CodegenColumnRespVO; +import com.win.module.infra.controller.codegen.vo.table.CodegenTableRespVO; +import com.win.module.infra.controller.codegen.vo.table.DatabaseTableRespVO; import com.win.module.infra.dal.dataobject.codegen.CodegenColumnDO; import com.win.module.infra.dal.dataobject.codegen.CodegenTableDO; import com.baomidou.mybatisplus.generator.config.po.TableField; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/config/ConfigConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/config/ConfigConvert.java index 5b66bf9c..e3194481 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/config/ConfigConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/config/ConfigConvert.java @@ -1,10 +1,10 @@ package com.win.module.infra.convert.config; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.config.vo.ConfigCreateReqVO; -import com.win.module.infra.controller.admin.config.vo.ConfigExcelVO; -import com.win.module.infra.controller.admin.config.vo.ConfigRespVO; -import com.win.module.infra.controller.admin.config.vo.ConfigUpdateReqVO; +import com.win.module.infra.controller.config.vo.ConfigCreateReqVO; +import com.win.module.infra.controller.config.vo.ConfigExcelVO; +import com.win.module.infra.controller.config.vo.ConfigRespVO; +import com.win.module.infra.controller.config.vo.ConfigUpdateReqVO; import com.win.module.infra.dal.dataobject.config.ConfigDO; import org.mapstruct.Mapper; import org.mapstruct.Mapping; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/db/DataSourceConfigConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/db/DataSourceConfigConvert.java index 9e6b224d..59e69af4 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/db/DataSourceConfigConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/db/DataSourceConfigConvert.java @@ -2,11 +2,11 @@ package com.win.module.infra.convert.db; import java.util.*; -import com.win.framework.common.pojo.PageResult; - +import com.win.module.infra.controller.db.vo.DataSourceConfigCreateReqVO; +import com.win.module.infra.controller.db.vo.DataSourceConfigRespVO; +import com.win.module.infra.controller.db.vo.DataSourceConfigUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import com.win.module.infra.controller.admin.db.vo.*; import com.win.module.infra.dal.dataobject.db.DataSourceConfigDO; /** diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConfigConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConfigConvert.java index 65e6a9aa..140ecc6a 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConfigConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConfigConvert.java @@ -1,9 +1,9 @@ package com.win.module.infra.convert.file; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigCreateReqVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigRespVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigUpdateReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigCreateReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigRespVO; +import com.win.module.infra.controller.file.vo.config.FileConfigUpdateReqVO; import com.win.module.infra.dal.dataobject.file.FileConfigDO; import org.mapstruct.Mapper; import org.mapstruct.Mapping; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConvert.java index 5505e819..f762510f 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/file/FileConvert.java @@ -1,7 +1,7 @@ package com.win.module.infra.convert.file; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.file.vo.file.FileRespVO; +import com.win.module.infra.controller.file.vo.file.FileRespVO; import com.win.module.infra.dal.dataobject.file.FileDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/job/JobConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/job/JobConvert.java index 77fc339f..11aeafe7 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/job/JobConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/job/JobConvert.java @@ -1,10 +1,10 @@ package com.win.module.infra.convert.job; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.job.vo.job.JobCreateReqVO; -import com.win.module.infra.controller.admin.job.vo.job.JobExcelVO; -import com.win.module.infra.controller.admin.job.vo.job.JobRespVO; -import com.win.module.infra.controller.admin.job.vo.job.JobUpdateReqVO; +import com.win.module.infra.controller.job.vo.job.JobCreateReqVO; +import com.win.module.infra.controller.job.vo.job.JobExcelVO; +import com.win.module.infra.controller.job.vo.job.JobRespVO; +import com.win.module.infra.controller.job.vo.job.JobUpdateReqVO; import com.win.module.infra.dal.dataobject.job.JobDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/job/JobLogConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/job/JobLogConvert.java index 78f6160f..8898fcbd 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/job/JobLogConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/job/JobLogConvert.java @@ -1,8 +1,8 @@ package com.win.module.infra.convert.job; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.job.vo.log.JobLogExcelVO; -import com.win.module.infra.controller.admin.job.vo.log.JobLogRespVO; +import com.win.module.infra.controller.job.vo.log.JobLogExcelVO; +import com.win.module.infra.controller.job.vo.log.JobLogRespVO; import com.win.module.infra.dal.dataobject.job.JobLogDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiAccessLogConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiAccessLogConvert.java index 6b319871..45dcd3cd 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiAccessLogConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiAccessLogConvert.java @@ -2,8 +2,8 @@ package com.win.module.infra.convert.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogExcelVO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogRespVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogExcelVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogRespVO; import com.win.module.infra.dal.dataobject.logger.ApiAccessLogDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiErrorLogConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiErrorLogConvert.java index e169ce17..fc99fae0 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiErrorLogConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiErrorLogConvert.java @@ -2,8 +2,8 @@ package com.win.module.infra.convert.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogExcelVO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogRespVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogExcelVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogRespVO; import com.win.module.infra.dal.dataobject.logger.ApiErrorLogDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/redis/RedisConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/redis/RedisConvert.java index c1f86ac6..cb511c1d 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/redis/RedisConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/redis/RedisConvert.java @@ -1,7 +1,7 @@ package com.win.module.infra.convert.redis; import cn.hutool.core.util.StrUtil; -import com.win.module.infra.controller.admin.redis.vo.RedisMonitorRespVO; +import com.win.module.infra.controller.redis.vo.RedisMonitorRespVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/test/TestDemoConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/test/TestDemoConvert.java index 1de637cb..7089e722 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/test/TestDemoConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/test/TestDemoConvert.java @@ -1,10 +1,10 @@ package com.win.module.infra.convert.test; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.test.vo.TestDemoCreateReqVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoExcelVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoRespVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoUpdateReqVO; +import com.win.module.infra.controller.test.vo.TestDemoCreateReqVO; +import com.win.module.infra.controller.test.vo.TestDemoExcelVO; +import com.win.module.infra.controller.test.vo.TestDemoRespVO; +import com.win.module.infra.controller.test.vo.TestDemoUpdateReqVO; import com.win.module.infra.dal.dataobject.test.TestDemoDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/codegen/CodegenTableMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/codegen/CodegenTableMapper.java index 04df7f01..16af7543 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/codegen/CodegenTableMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/codegen/CodegenTableMapper.java @@ -3,7 +3,7 @@ package com.win.module.infra.dal.mysql.codegen; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO; +import com.win.module.infra.controller.codegen.vo.table.CodegenTablePageReqVO; import com.win.module.infra.dal.dataobject.codegen.CodegenTableDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/config/ConfigMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/config/ConfigMapper.java index fe464ac2..4f45110d 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/config/ConfigMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/config/ConfigMapper.java @@ -3,8 +3,8 @@ package com.win.module.infra.dal.mysql.config; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.infra.controller.admin.config.vo.ConfigExportReqVO; -import com.win.module.infra.controller.admin.config.vo.ConfigPageReqVO; +import com.win.module.infra.controller.config.vo.ConfigExportReqVO; +import com.win.module.infra.controller.config.vo.ConfigPageReqVO; import com.win.module.infra.dal.dataobject.config.ConfigDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileConfigMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileConfigMapper.java index 4657b40c..cdd2d519 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileConfigMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileConfigMapper.java @@ -3,7 +3,7 @@ package com.win.module.infra.dal.mysql.file; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigPageReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigPageReqVO; import com.win.module.infra.dal.dataobject.file.FileConfigDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileMapper.java index eaa19f4b..bbeafbe3 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/file/FileMapper.java @@ -3,7 +3,7 @@ package com.win.module.infra.dal.mysql.file; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.infra.controller.admin.file.vo.file.FilePageReqVO; +import com.win.module.infra.controller.file.vo.file.FilePageReqVO; import com.win.module.infra.dal.dataobject.file.FileDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/job/JobLogMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/job/JobLogMapper.java index f3cf680b..6e673224 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/job/JobLogMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/job/JobLogMapper.java @@ -3,8 +3,8 @@ package com.win.module.infra.dal.mysql.job; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.infra.controller.admin.job.vo.log.JobLogExportReqVO; -import com.win.module.infra.controller.admin.job.vo.log.JobLogPageReqVO; +import com.win.module.infra.controller.job.vo.log.JobLogExportReqVO; +import com.win.module.infra.controller.job.vo.log.JobLogPageReqVO; import com.win.module.infra.dal.dataobject.job.JobLogDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/job/JobMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/job/JobMapper.java index 42e3cd14..adf2fd6f 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/job/JobMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/job/JobMapper.java @@ -1,7 +1,7 @@ package com.win.module.infra.dal.mysql.job; -import com.win.module.infra.controller.admin.job.vo.job.JobExportReqVO; -import com.win.module.infra.controller.admin.job.vo.job.JobPageReqVO; +import com.win.module.infra.controller.job.vo.job.JobExportReqVO; +import com.win.module.infra.controller.job.vo.job.JobPageReqVO; import com.win.module.infra.dal.dataobject.job.JobDO; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/logger/ApiAccessLogMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/logger/ApiAccessLogMapper.java index 282d9647..4bf1699d 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/logger/ApiAccessLogMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/logger/ApiAccessLogMapper.java @@ -3,8 +3,8 @@ package com.win.module.infra.dal.mysql.logger; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogExportReqVO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogExportReqVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; import com.win.module.infra.dal.dataobject.logger.ApiAccessLogDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/logger/ApiErrorLogMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/logger/ApiErrorLogMapper.java index e0fef0e4..12988480 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/logger/ApiErrorLogMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/logger/ApiErrorLogMapper.java @@ -3,8 +3,8 @@ package com.win.module.infra.dal.mysql.logger; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogExportReqVO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogPageReqVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogExportReqVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogPageReqVO; import com.win.module.infra.dal.dataobject.logger.ApiErrorLogDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/test/TestDemoMapper.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/test/TestDemoMapper.java index 68419c85..44d82872 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/test/TestDemoMapper.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/test/TestDemoMapper.java @@ -3,8 +3,8 @@ package com.win.module.infra.dal.mysql.test; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.infra.controller.admin.test.vo.TestDemoExportReqVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoPageReqVO; +import com.win.module.infra.controller.test.vo.TestDemoExportReqVO; +import com.win.module.infra.controller.test.vo.TestDemoPageReqVO; import com.win.module.infra.dal.dataobject.test.TestDemoDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/codegen/CodegenService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/codegen/CodegenService.java index 8f96e790..e1ab5394 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/codegen/CodegenService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/codegen/CodegenService.java @@ -1,10 +1,10 @@ package com.win.module.infra.service.codegen; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.codegen.vo.CodegenCreateListReqVO; -import com.win.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO; -import com.win.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO; -import com.win.module.infra.controller.admin.codegen.vo.table.DatabaseTableRespVO; +import com.win.module.infra.controller.codegen.vo.CodegenCreateListReqVO; +import com.win.module.infra.controller.codegen.vo.CodegenUpdateReqVO; +import com.win.module.infra.controller.codegen.vo.table.CodegenTablePageReqVO; +import com.win.module.infra.controller.codegen.vo.table.DatabaseTableRespVO; import com.win.module.infra.dal.dataobject.codegen.CodegenColumnDO; import com.win.module.infra.dal.dataobject.codegen.CodegenTableDO; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/codegen/CodegenServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/codegen/CodegenServiceImpl.java index 7aa4d64b..d2946f86 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/codegen/CodegenServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/codegen/CodegenServiceImpl.java @@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.module.infra.controller.admin.codegen.vo.CodegenCreateListReqVO; -import com.win.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO; -import com.win.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO; -import com.win.module.infra.controller.admin.codegen.vo.table.DatabaseTableRespVO; +import com.win.module.infra.controller.codegen.vo.CodegenCreateListReqVO; +import com.win.module.infra.controller.codegen.vo.CodegenUpdateReqVO; +import com.win.module.infra.controller.codegen.vo.table.CodegenTablePageReqVO; +import com.win.module.infra.controller.codegen.vo.table.DatabaseTableRespVO; import com.win.module.infra.convert.codegen.CodegenConvert; import com.win.module.infra.dal.dataobject.codegen.CodegenColumnDO; import com.win.module.infra.dal.dataobject.codegen.CodegenTableDO; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/config/ConfigService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/config/ConfigService.java index e73bd262..6ed65148 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/config/ConfigService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/config/ConfigService.java @@ -1,10 +1,10 @@ package com.win.module.infra.service.config; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.config.vo.ConfigCreateReqVO; -import com.win.module.infra.controller.admin.config.vo.ConfigExportReqVO; -import com.win.module.infra.controller.admin.config.vo.ConfigPageReqVO; -import com.win.module.infra.controller.admin.config.vo.ConfigUpdateReqVO; +import com.win.module.infra.controller.config.vo.ConfigCreateReqVO; +import com.win.module.infra.controller.config.vo.ConfigExportReqVO; +import com.win.module.infra.controller.config.vo.ConfigPageReqVO; +import com.win.module.infra.controller.config.vo.ConfigUpdateReqVO; import com.win.module.infra.dal.dataobject.config.ConfigDO; import javax.validation.Valid; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/config/ConfigServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/config/ConfigServiceImpl.java index 71c5ac94..7663c456 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/config/ConfigServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/config/ConfigServiceImpl.java @@ -2,10 +2,10 @@ package com.win.module.infra.service.config; import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.config.vo.ConfigCreateReqVO; -import com.win.module.infra.controller.admin.config.vo.ConfigExportReqVO; -import com.win.module.infra.controller.admin.config.vo.ConfigPageReqVO; -import com.win.module.infra.controller.admin.config.vo.ConfigUpdateReqVO; +import com.win.module.infra.controller.config.vo.ConfigCreateReqVO; +import com.win.module.infra.controller.config.vo.ConfigExportReqVO; +import com.win.module.infra.controller.config.vo.ConfigPageReqVO; +import com.win.module.infra.controller.config.vo.ConfigUpdateReqVO; import com.win.module.infra.convert.config.ConfigConvert; import com.win.module.infra.dal.dataobject.config.ConfigDO; import com.win.module.infra.dal.mysql.config.ConfigMapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/db/DataSourceConfigService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/db/DataSourceConfigService.java index 073a1ba1..d84f5728 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/db/DataSourceConfigService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/db/DataSourceConfigService.java @@ -1,7 +1,7 @@ package com.win.module.infra.service.db; -import com.win.module.infra.controller.admin.db.vo.DataSourceConfigCreateReqVO; -import com.win.module.infra.controller.admin.db.vo.DataSourceConfigUpdateReqVO; +import com.win.module.infra.controller.db.vo.DataSourceConfigCreateReqVO; +import com.win.module.infra.controller.db.vo.DataSourceConfigUpdateReqVO; import com.win.module.infra.dal.dataobject.db.DataSourceConfigDO; import javax.validation.Valid; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/db/DataSourceConfigServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/db/DataSourceConfigServiceImpl.java index abdb6c9d..e16b6e5d 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/db/DataSourceConfigServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/db/DataSourceConfigServiceImpl.java @@ -1,8 +1,8 @@ package com.win.module.infra.service.db; import com.win.framework.mybatis.core.util.JdbcUtils; -import com.win.module.infra.controller.admin.db.vo.DataSourceConfigCreateReqVO; -import com.win.module.infra.controller.admin.db.vo.DataSourceConfigUpdateReqVO; +import com.win.module.infra.controller.db.vo.DataSourceConfigCreateReqVO; +import com.win.module.infra.controller.db.vo.DataSourceConfigUpdateReqVO; import com.win.module.infra.convert.db.DataSourceConfigConvert; import com.win.module.infra.dal.dataobject.db.DataSourceConfigDO; import com.win.module.infra.dal.mysql.db.DataSourceConfigMapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileConfigService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileConfigService.java index 1bf570a2..c164304d 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileConfigService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileConfigService.java @@ -2,9 +2,9 @@ package com.win.module.infra.service.file; import com.win.framework.common.pojo.PageResult; import com.win.framework.file.core.client.FileClient; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigCreateReqVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigPageReqVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigUpdateReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigCreateReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigPageReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigUpdateReqVO; import com.win.module.infra.dal.dataobject.file.FileConfigDO; import javax.validation.Valid; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileConfigServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileConfigServiceImpl.java index 3f7ebdd5..ba4b4fd3 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileConfigServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileConfigServiceImpl.java @@ -9,9 +9,9 @@ import com.win.framework.file.core.client.FileClient; import com.win.framework.file.core.client.FileClientConfig; import com.win.framework.file.core.client.FileClientFactory; import com.win.framework.file.core.enums.FileStorageEnum; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigCreateReqVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigPageReqVO; -import com.win.module.infra.controller.admin.file.vo.config.FileConfigUpdateReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigCreateReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigPageReqVO; +import com.win.module.infra.controller.file.vo.config.FileConfigUpdateReqVO; import com.win.module.infra.convert.file.FileConfigConvert; import com.win.module.infra.dal.dataobject.file.FileConfigDO; import com.win.module.infra.dal.mysql.file.FileConfigMapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java index 4eab45e2..f6cddc5f 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileService.java @@ -1,6 +1,6 @@ package com.win.module.infra.service.file; -import com.win.module.infra.controller.admin.file.vo.file.FilePageReqVO; +import com.win.module.infra.controller.file.vo.file.FilePageReqVO; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.dal.dataobject.file.FileDO; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java index cd041810..0d96113a 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/file/FileServiceImpl.java @@ -6,7 +6,7 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.io.FileUtils; import com.win.framework.file.core.client.FileClient; import com.win.framework.file.core.utils.FileTypeUtils; -import com.win.module.infra.controller.admin.file.vo.file.FilePageReqVO; +import com.win.module.infra.controller.file.vo.file.FilePageReqVO; import com.win.module.infra.dal.dataobject.file.FileDO; import com.win.module.infra.dal.mysql.file.FileMapper; import lombok.SneakyThrows; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobLogService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobLogService.java index 5308274f..0ef7bd75 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobLogService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobLogService.java @@ -2,8 +2,8 @@ package com.win.module.infra.service.job; import com.win.framework.common.pojo.PageResult; import com.win.framework.quartz.core.service.JobLogFrameworkService; -import com.win.module.infra.controller.admin.job.vo.log.JobLogExportReqVO; -import com.win.module.infra.controller.admin.job.vo.log.JobLogPageReqVO; +import com.win.module.infra.controller.job.vo.log.JobLogExportReqVO; +import com.win.module.infra.controller.job.vo.log.JobLogPageReqVO; import com.win.module.infra.dal.dataobject.job.JobLogDO; import java.util.Collection; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobLogServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobLogServiceImpl.java index 25137e23..69a69585 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobLogServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobLogServiceImpl.java @@ -1,8 +1,8 @@ package com.win.module.infra.service.job; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.job.vo.log.JobLogExportReqVO; -import com.win.module.infra.controller.admin.job.vo.log.JobLogPageReqVO; +import com.win.module.infra.controller.job.vo.log.JobLogExportReqVO; +import com.win.module.infra.controller.job.vo.log.JobLogPageReqVO; import com.win.module.infra.dal.dataobject.job.JobLogDO; import com.win.module.infra.dal.mysql.job.JobLogMapper; import com.win.module.infra.enums.job.JobLogStatusEnum; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobService.java index 2a85338b..dda54bd4 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobService.java @@ -1,10 +1,10 @@ package com.win.module.infra.service.job; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.job.vo.job.JobCreateReqVO; -import com.win.module.infra.controller.admin.job.vo.job.JobExportReqVO; -import com.win.module.infra.controller.admin.job.vo.job.JobPageReqVO; -import com.win.module.infra.controller.admin.job.vo.job.JobUpdateReqVO; +import com.win.module.infra.controller.job.vo.job.JobCreateReqVO; +import com.win.module.infra.controller.job.vo.job.JobExportReqVO; +import com.win.module.infra.controller.job.vo.job.JobPageReqVO; +import com.win.module.infra.controller.job.vo.job.JobUpdateReqVO; import com.win.module.infra.dal.dataobject.job.JobDO; import org.quartz.SchedulerException; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobServiceImpl.java index a0d1ae6a..2ffe9dd1 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/job/JobServiceImpl.java @@ -3,10 +3,10 @@ package com.win.module.infra.service.job; import com.win.framework.common.pojo.PageResult; import com.win.framework.quartz.core.scheduler.SchedulerManager; import com.win.framework.quartz.core.util.CronUtils; -import com.win.module.infra.controller.admin.job.vo.job.JobCreateReqVO; -import com.win.module.infra.controller.admin.job.vo.job.JobExportReqVO; -import com.win.module.infra.controller.admin.job.vo.job.JobPageReqVO; -import com.win.module.infra.controller.admin.job.vo.job.JobUpdateReqVO; +import com.win.module.infra.controller.job.vo.job.JobCreateReqVO; +import com.win.module.infra.controller.job.vo.job.JobExportReqVO; +import com.win.module.infra.controller.job.vo.job.JobPageReqVO; +import com.win.module.infra.controller.job.vo.job.JobUpdateReqVO; import com.win.module.infra.convert.job.JobConvert; import com.win.module.infra.dal.dataobject.job.JobDO; import com.win.module.infra.dal.mysql.job.JobMapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiAccessLogService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiAccessLogService.java index 180f4238..18149b78 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiAccessLogService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiAccessLogService.java @@ -2,8 +2,8 @@ package com.win.module.infra.service.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogExportReqVO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogExportReqVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; import com.win.module.infra.dal.dataobject.logger.ApiAccessLogDO; import java.util.List; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiAccessLogServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiAccessLogServiceImpl.java index 47d9f118..2b9c43af 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiAccessLogServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiAccessLogServiceImpl.java @@ -2,8 +2,8 @@ package com.win.module.infra.service.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogExportReqVO; -import com.win.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogExportReqVO; +import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; import com.win.module.infra.convert.logger.ApiAccessLogConvert; import com.win.module.infra.dal.dataobject.logger.ApiAccessLogDO; import com.win.module.infra.dal.mysql.logger.ApiAccessLogMapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiErrorLogService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiErrorLogService.java index cc78a6a6..ca0042ff 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiErrorLogService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiErrorLogService.java @@ -2,8 +2,8 @@ package com.win.module.infra.service.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogExportReqVO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogPageReqVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogExportReqVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogPageReqVO; import com.win.module.infra.dal.dataobject.logger.ApiErrorLogDO; import java.util.List; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiErrorLogServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiErrorLogServiceImpl.java index 13d9d0b2..29a79241 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiErrorLogServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/logger/ApiErrorLogServiceImpl.java @@ -2,8 +2,8 @@ package com.win.module.infra.service.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogExportReqVO; -import com.win.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogPageReqVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogExportReqVO; +import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogPageReqVO; import com.win.module.infra.convert.logger.ApiErrorLogConvert; import com.win.module.infra.dal.dataobject.logger.ApiErrorLogDO; import com.win.module.infra.dal.mysql.logger.ApiErrorLogMapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/test/TestDemoService.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/test/TestDemoService.java index 991a4480..6c7a3336 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/test/TestDemoService.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/test/TestDemoService.java @@ -1,10 +1,10 @@ package com.win.module.infra.service.test; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.test.vo.TestDemoCreateReqVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoExportReqVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoPageReqVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoUpdateReqVO; +import com.win.module.infra.controller.test.vo.TestDemoCreateReqVO; +import com.win.module.infra.controller.test.vo.TestDemoExportReqVO; +import com.win.module.infra.controller.test.vo.TestDemoPageReqVO; +import com.win.module.infra.controller.test.vo.TestDemoUpdateReqVO; import com.win.module.infra.dal.dataobject.test.TestDemoDO; import javax.validation.Valid; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/test/TestDemoServiceImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/test/TestDemoServiceImpl.java index f2c8ad5e..bf5aff20 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/test/TestDemoServiceImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/test/TestDemoServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.infra.service.test; import com.win.framework.common.pojo.PageResult; -import com.win.module.infra.controller.admin.test.vo.TestDemoCreateReqVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoExportReqVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoPageReqVO; -import com.win.module.infra.controller.admin.test.vo.TestDemoUpdateReqVO; +import com.win.module.infra.controller.test.vo.TestDemoCreateReqVO; +import com.win.module.infra.controller.test.vo.TestDemoExportReqVO; +import com.win.module.infra.controller.test.vo.TestDemoPageReqVO; +import com.win.module.infra.controller.test.vo.TestDemoUpdateReqVO; import com.win.module.infra.convert.test.TestDemoConvert; import com.win.module.infra.dal.dataobject.test.TestDemoDO; import com.win.module.infra.dal.mysql.test.TestDemoMapper; diff --git a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/package-info.java b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/package-info.java new file mode 100644 index 00000000..951763c6 --- /dev/null +++ b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/package-info.java @@ -0,0 +1,4 @@ +/** + * System API 包,定义暴露给其它模块的 API + */ +package com.win.module.mes.controller; diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/ajreport/package-info.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/ajreport/package-info.java deleted file mode 100644 index 28969919..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/ajreport/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package com.win.module.report.controller.admin.ajreport; diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/GoViewDataController.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/GoViewDataController.java deleted file mode 100644 index c38aaa66..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/GoViewDataController.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.win.module.report.controller.admin.goview; - -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.RandomUtil; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.report.controller.admin.goview.vo.data.GoViewDataGetBySqlReqVO; -import com.win.module.report.controller.admin.goview.vo.data.GoViewDataRespVO; -import com.win.module.report.service.goview.GoViewDataService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import java.util.*; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - GoView 数据", description = "提供 SQL、HTTP 等数据查询的能力") -@RestController -@RequestMapping("/report/go-view/data") -@Validated -public class GoViewDataController { - - @Resource - private GoViewDataService goViewDataService; - - @RequestMapping("/get-by-sql") - @Operation(summary = "使用 SQL 查询数据") - @PreAuthorize("@ss.hasPermission('report:go-view-data:get-by-sql')") - @OperateLog(enable = false) // 不记录操作日志,因为不需要 - public CommonResult getDataBySQL(@Valid @RequestBody GoViewDataGetBySqlReqVO reqVO) { - return success(goViewDataService.getDataBySQL(reqVO.getSql())); - } - - @RequestMapping("/get-by-http") - @Operation(summary = "使用 HTTP 查询数据", description = "这个只是示例接口,实际应该每个查询,都要写一个接口") - @PreAuthorize("@ss.hasPermission('report:go-view-data:get-by-http')") - @OperateLog(enable = false) // 不记录操作日志,因为不需要 - public CommonResult getDataByHttp( - @RequestParam(required = false) Map params, - @RequestBody(required = false) String body) { // params、body 按照需要去接收,这里仅仅是示例 - GoViewDataRespVO respVO = new GoViewDataRespVO(); - // 1. 数据维度 - respVO.setDimensions(Arrays.asList("日期", "PV", "UV")); // PV 是每天访问次数;UV 是每天访问人数 - // 2. 明细数据列表 - // 目前通过随机的方式生成。一般来说,这里你可以写逻辑来实现数据的返回 - respVO.setSource(new LinkedList<>()); - for (int i = 1; i <= 12; i++) { - String date = "2021-" + (i < 10 ? "0" + i : i); - Integer pv = RandomUtil.randomInt(1000, 10000); - Integer uv = RandomUtil.randomInt(100, 1000); - respVO.getSource().add(MapUtil.builder().put("日期", date) - .put("PV", pv).put("UV", uv).build()); - } - return success(respVO); - } - -} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/GoViewProjectController.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/GoViewProjectController.java deleted file mode 100644 index 1688ed07..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/GoViewProjectController.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.win.module.report.controller.admin.goview; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageParam; -import com.win.framework.common.pojo.PageResult; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectRespVO; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO; -import com.win.module.report.convert.goview.GoViewProjectConvert; -import com.win.module.report.dal.dataobject.goview.GoViewProjectDO; -import com.win.module.report.service.goview.GoViewProjectService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -@Tag(name = "管理后台 - GoView 项目") -@RestController -@RequestMapping("/report/go-view/project") -@Validated -public class GoViewProjectController { - - @Resource - private GoViewProjectService goViewProjectService; - - @PostMapping("/create") - @Operation(summary = "创建项目") - @PreAuthorize("@ss.hasPermission('report:go-view-project:create')") - public CommonResult createProject(@Valid @RequestBody GoViewProjectCreateReqVO createReqVO) { - return success(goViewProjectService.createProject(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新项目") - @PreAuthorize("@ss.hasPermission('report:go-view-project:update')") - public CommonResult updateProject(@Valid @RequestBody GoViewProjectUpdateReqVO updateReqVO) { - goViewProjectService.updateProject(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除 GoView 项目") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('report:go-view-project:delete')") - public CommonResult deleteProject(@RequestParam("id") Long id) { - goViewProjectService.deleteProject(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得项目") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('report:go-view-project:query')") - public CommonResult getProject(@RequestParam("id") Long id) { - GoViewProjectDO project = goViewProjectService.getProject(id); - return success(GoViewProjectConvert.INSTANCE.convert(project)); - } - - @GetMapping("/my-page") - @Operation(summary = "获得我的项目分页") - @PreAuthorize("@ss.hasPermission('report:go-view-project:query')") - public CommonResult> getMyProjectPage(@Valid PageParam pageVO) { - PageResult pageResult = goViewProjectService.getMyProjectPage( - pageVO, getLoginUserId()); - return success(GoViewProjectConvert.INSTANCE.convertPage(pageResult)); - } - -} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java deleted file mode 100644 index 7c8ba7b8..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.report.controller.admin.goview.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - GoView 使用 SQL 查询数据 Request VO") -@Data -public class GoViewDataGetBySqlReqVO { - - @Schema(description = "SQL 语句", requiredMode = Schema.RequiredMode.REQUIRED, example = "SELECT * FROM user") - @NotEmpty(message = "SQL 语句不能为空") - private String sql; - -} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java deleted file mode 100644 index 00a2624d..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.win.module.report.controller.admin.goview.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; -import java.util.Map; - -@Schema(description = "管理后台 - GoView 数据 Response VO") -@Data -public class GoViewDataRespVO { - - @Schema(description = "数据维度", requiredMode = Schema.RequiredMode.REQUIRED, example = "['product', 'data1', 'data2']") - private List dimensions; - - @Schema(description = "数据明细列表", requiredMode = Schema.RequiredMode.REQUIRED) - private List> source; - -} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java deleted file mode 100644 index 632a26df..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.win.module.report.controller.admin.goview.vo.project; - -import lombok.*; -import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - GoView 项目创建 Request VO") -@Data -public class GoViewProjectCreateReqVO { - - @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - @NotEmpty(message = "项目名称不能为空") - private String name; - -} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java deleted file mode 100644 index 47b3f100..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.win.module.report.controller.admin.goview.vo.project; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - GoView 项目 Response VO") -@Data -public class GoViewProjectRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18993") - private Long id; - - @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - private String name; - - @Schema(description = "发布状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "报表内容") // JSON 格式 - private String content; - - @Schema(description = "预览图片 URL", example = "https://www.iocoder.cn") - private String picUrl; - - @Schema(description = "项目备注", example = "你猜") - private String remark; - - @Schema(description = "创建人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String creator; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java deleted file mode 100644 index d5606e06..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.win.module.report.controller.admin.goview.vo.project; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.validation.InEnum; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - GoView 项目更新 Request VO") -@Data -public class GoViewProjectUpdateReqVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18993") - @NotNull(message = "编号不能为空") - private Long id; - - @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - private String name; - - @Schema(description = "发布状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @InEnum(value = CommonStatusEnum.class, message = "发布状态必须是 {value}") - private Integer status; - - @Schema(description = "报表内容") // JSON 格式 - private String content; - - @Schema(description = "预览图片 URL", example = "https://www.iocoder.cn") - private String picUrl; - - @Schema(description = "项目备注", example = "你猜") - private String remark; - -} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/ajreport/package-info.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/ajreport/package-info.java new file mode 100644 index 00000000..97ef74b9 --- /dev/null +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/ajreport/package-info.java @@ -0,0 +1 @@ +package com.win.module.report.controller.ajreport; diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/GoViewDataController.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/GoViewDataController.java new file mode 100644 index 00000000..95cd81fd --- /dev/null +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/GoViewDataController.java @@ -0,0 +1,66 @@ +package com.win.module.report.controller.goview; + +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.RandomUtil; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.report.controller.goview.vo.data.GoViewDataGetBySqlReqVO; +import com.win.module.report.controller.goview.vo.data.GoViewDataRespVO; +import com.win.module.report.service.goview.GoViewDataService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import java.util.*; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - GoView 数据", description = "提供 SQL、HTTP 等数据查询的能力") +@RestController +@RequestMapping("/report/go-view/data") +@Validated +public class GoViewDataController { + + @Resource + private GoViewDataService goViewDataService; + + @RequestMapping("/get-by-sql") + @Operation(summary = "使用 SQL 查询数据") + @PreAuthorize("@ss.hasPermission('report:go-view-data:get-by-sql')") + @OperateLog(enable = false) // 不记录操作日志,因为不需要 + public CommonResult getDataBySQL(@Valid @RequestBody GoViewDataGetBySqlReqVO reqVO) { + return success(goViewDataService.getDataBySQL(reqVO.getSql())); + } + + @RequestMapping("/get-by-http") + @Operation(summary = "使用 HTTP 查询数据", description = "这个只是示例接口,实际应该每个查询,都要写一个接口") + @PreAuthorize("@ss.hasPermission('report:go-view-data:get-by-http')") + @OperateLog(enable = false) // 不记录操作日志,因为不需要 + public CommonResult getDataByHttp( + @RequestParam(required = false) Map params, + @RequestBody(required = false) String body) { // params、body 按照需要去接收,这里仅仅是示例 + GoViewDataRespVO respVO = new GoViewDataRespVO(); + // 1. 数据维度 + respVO.setDimensions(Arrays.asList("日期", "PV", "UV")); // PV 是每天访问次数;UV 是每天访问人数 + // 2. 明细数据列表 + // 目前通过随机的方式生成。一般来说,这里你可以写逻辑来实现数据的返回 + respVO.setSource(new LinkedList<>()); + for (int i = 1; i <= 12; i++) { + String date = "2021-" + (i < 10 ? "0" + i : i); + Integer pv = RandomUtil.randomInt(1000, 10000); + Integer uv = RandomUtil.randomInt(100, 1000); + respVO.getSource().add(MapUtil.builder().put("日期", date) + .put("PV", pv).put("UV", uv).build()); + } + return success(respVO); + } + +} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/GoViewProjectController.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/GoViewProjectController.java new file mode 100644 index 00000000..cb24efaa --- /dev/null +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/GoViewProjectController.java @@ -0,0 +1,76 @@ +package com.win.module.report.controller.goview; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageParam; +import com.win.framework.common.pojo.PageResult; +import com.win.module.report.controller.goview.vo.project.GoViewProjectCreateReqVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectRespVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectUpdateReqVO; +import com.win.module.report.convert.goview.GoViewProjectConvert; +import com.win.module.report.dal.dataobject.goview.GoViewProjectDO; +import com.win.module.report.service.goview.GoViewProjectService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +@Tag(name = "管理后台 - GoView 项目") +@RestController +@RequestMapping("/report/go-view/project") +@Validated +public class GoViewProjectController { + + @Resource + private GoViewProjectService goViewProjectService; + + @PostMapping("/create") + @Operation(summary = "创建项目") + @PreAuthorize("@ss.hasPermission('report:go-view-project:create')") + public CommonResult createProject(@Valid @RequestBody GoViewProjectCreateReqVO createReqVO) { + return success(goViewProjectService.createProject(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新项目") + @PreAuthorize("@ss.hasPermission('report:go-view-project:update')") + public CommonResult updateProject(@Valid @RequestBody GoViewProjectUpdateReqVO updateReqVO) { + goViewProjectService.updateProject(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除 GoView 项目") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('report:go-view-project:delete')") + public CommonResult deleteProject(@RequestParam("id") Long id) { + goViewProjectService.deleteProject(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得项目") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('report:go-view-project:query')") + public CommonResult getProject(@RequestParam("id") Long id) { + GoViewProjectDO project = goViewProjectService.getProject(id); + return success(GoViewProjectConvert.INSTANCE.convert(project)); + } + + @GetMapping("/my-page") + @Operation(summary = "获得我的项目分页") + @PreAuthorize("@ss.hasPermission('report:go-view-project:query')") + public CommonResult> getMyProjectPage(@Valid PageParam pageVO) { + PageResult pageResult = goViewProjectService.getMyProjectPage( + pageVO, getLoginUserId()); + return success(GoViewProjectConvert.INSTANCE.convertPage(pageResult)); + } + +} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/data/GoViewDataGetBySqlReqVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/data/GoViewDataGetBySqlReqVO.java new file mode 100644 index 00000000..96e7f502 --- /dev/null +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/data/GoViewDataGetBySqlReqVO.java @@ -0,0 +1,16 @@ +package com.win.module.report.controller.goview.vo.data; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - GoView 使用 SQL 查询数据 Request VO") +@Data +public class GoViewDataGetBySqlReqVO { + + @Schema(description = "SQL 语句", requiredMode = Schema.RequiredMode.REQUIRED, example = "SELECT * FROM user") + @NotEmpty(message = "SQL 语句不能为空") + private String sql; + +} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/data/GoViewDataRespVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/data/GoViewDataRespVO.java new file mode 100644 index 00000000..dcd0196c --- /dev/null +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/data/GoViewDataRespVO.java @@ -0,0 +1,19 @@ +package com.win.module.report.controller.goview.vo.data; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Schema(description = "管理后台 - GoView 数据 Response VO") +@Data +public class GoViewDataRespVO { + + @Schema(description = "数据维度", requiredMode = Schema.RequiredMode.REQUIRED, example = "['product', 'data1', 'data2']") + private List dimensions; + + @Schema(description = "数据明细列表", requiredMode = Schema.RequiredMode.REQUIRED) + private List> source; + +} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectCreateReqVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectCreateReqVO.java new file mode 100644 index 00000000..96427a1d --- /dev/null +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectCreateReqVO.java @@ -0,0 +1,15 @@ +package com.win.module.report.controller.goview.vo.project; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - GoView 项目创建 Request VO") +@Data +public class GoViewProjectCreateReqVO { + + @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotEmpty(message = "项目名称不能为空") + private String name; + +} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectRespVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectRespVO.java new file mode 100644 index 00000000..81798118 --- /dev/null +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectRespVO.java @@ -0,0 +1,36 @@ +package com.win.module.report.controller.goview.vo.project; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - GoView 项目 Response VO") +@Data +public class GoViewProjectRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18993") + private Long id; + + @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + private String name; + + @Schema(description = "发布状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "报表内容") // JSON 格式 + private String content; + + @Schema(description = "预览图片 URL", example = "https://www.iocoder.cn") + private String picUrl; + + @Schema(description = "项目备注", example = "你猜") + private String remark; + + @Schema(description = "创建人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String creator; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectUpdateReqVO.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectUpdateReqVO.java new file mode 100644 index 00000000..066f1da8 --- /dev/null +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/goview/vo/project/GoViewProjectUpdateReqVO.java @@ -0,0 +1,34 @@ +package com.win.module.report.controller.goview.vo.project; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.validation.InEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - GoView 项目更新 Request VO") +@Data +public class GoViewProjectUpdateReqVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18993") + @NotNull(message = "编号不能为空") + private Long id; + + @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + private String name; + + @Schema(description = "发布状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @InEnum(value = CommonStatusEnum.class, message = "发布状态必须是 {value}") + private Integer status; + + @Schema(description = "报表内容") // JSON 格式 + private String content; + + @Schema(description = "预览图片 URL", example = "https://www.iocoder.cn") + private String picUrl; + + @Schema(description = "项目备注", example = "你猜") + private String remark; + +} diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/package-info.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/package-info.java deleted file mode 100644 index 2f99e824..00000000 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/controller/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 提供 RESTful API 给前端: - * 1. admin 包:提供给管理后台 win-ui-admin 前端项目 - * 2. app 包:提供给用户 APP win-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分 - */ -package com.win.module.report.controller; diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/convert/goview/GoViewProjectConvert.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/convert/goview/GoViewProjectConvert.java index c24c163e..9c902d67 100644 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/convert/goview/GoViewProjectConvert.java +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/convert/goview/GoViewProjectConvert.java @@ -1,9 +1,9 @@ package com.win.module.report.convert.goview; import com.win.framework.common.pojo.PageResult; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectRespVO; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectCreateReqVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectRespVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectUpdateReqVO; import com.win.module.report.dal.dataobject.goview.GoViewProjectDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewDataService.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewDataService.java index ac4f0a74..f6e17e9b 100644 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewDataService.java +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewDataService.java @@ -1,6 +1,6 @@ package com.win.module.report.service.goview; -import com.win.module.report.controller.admin.goview.vo.data.GoViewDataRespVO; +import com.win.module.report.controller.goview.vo.data.GoViewDataRespVO; /** * GoView 数据 Service 接口 diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewDataServiceImpl.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewDataServiceImpl.java index 0dbe8690..7fbb4894 100644 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewDataServiceImpl.java +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewDataServiceImpl.java @@ -1,6 +1,6 @@ package com.win.module.report.service.goview; -import com.win.module.report.controller.admin.goview.vo.data.GoViewDataRespVO; +import com.win.module.report.controller.goview.vo.data.GoViewDataRespVO; import com.google.common.collect.Maps; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.support.rowset.SqlRowSet; diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewProjectService.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewProjectService.java index 65d752b1..0684d34a 100644 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewProjectService.java +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewProjectService.java @@ -2,8 +2,8 @@ package com.win.module.report.service.goview; import com.win.framework.common.pojo.PageParam; import com.win.framework.common.pojo.PageResult; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectCreateReqVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectUpdateReqVO; import com.win.module.report.dal.dataobject.goview.GoViewProjectDO; import javax.validation.Valid; diff --git a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewProjectServiceImpl.java b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewProjectServiceImpl.java index 4ab4997c..07449ee6 100644 --- a/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewProjectServiceImpl.java +++ b/win-module-report/win-module-report-biz/src/main/java/com/win/module/report/service/goview/GoViewProjectServiceImpl.java @@ -3,8 +3,8 @@ package com.win.module.report.service.goview; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageParam; import com.win.framework.common.pojo.PageResult; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO; -import com.win.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectCreateReqVO; +import com.win.module.report.controller.goview.vo.project.GoViewProjectUpdateReqVO; import com.win.module.report.convert.goview.GoViewProjectConvert; import com.win.module.report.dal.dataobject.goview.GoViewProjectDO; import com.win.module.report.dal.mysql.goview.GoViewProjectMapper; diff --git a/win-module-scp/win-module-scp-biz/src/main/java/com/win/module/scp/controller/package-info.java b/win-module-scp/win-module-scp-biz/src/main/java/com/win/module/scp/controller/package-info.java new file mode 100644 index 00000000..11212f58 --- /dev/null +++ b/win-module-scp/win-module-scp-biz/src/main/java/com/win/module/scp/controller/package-info.java @@ -0,0 +1,4 @@ +/** + * System API 包,定义暴露给其它模块的 API + */ +package com.win.module.scp.controller; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/AuthController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/AuthController.java deleted file mode 100644 index 8cbd9a61..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/AuthController.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.win.module.system.controller.admin.auth; - -import cn.hutool.core.util.StrUtil; -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.framework.security.config.SecurityProperties; -import com.win.module.system.controller.admin.auth.vo.AuthLoginReqVO; -import com.win.module.system.controller.admin.auth.vo.AuthLoginRespVO; -import com.win.module.system.controller.admin.auth.vo.AuthPermissionInfoRespVO; -import com.win.module.system.convert.auth.AuthConvert; -import com.win.module.system.dal.dataobject.permission.MenuDO; -import com.win.module.system.dal.dataobject.permission.RoleDO; -import com.win.module.system.dal.dataobject.user.AdminUserDO; -import com.win.module.system.enums.logger.LoginLogTypeEnum; -import com.win.module.system.service.auth.AdminAuthService; -import com.win.module.system.service.permission.MenuService; -import com.win.module.system.service.permission.PermissionService; -import com.win.module.system.service.permission.RoleService; -import com.win.module.system.service.user.AdminUserService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.annotation.security.PermitAll; -import javax.servlet.http.HttpServletRequest; -import javax.validation.Valid; -import java.util.List; -import java.util.Set; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.common.util.collection.CollectionUtils.convertSet; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.obtainAuthorization; - -@Tag(name = "管理后台 - 认证") -@RestController -@RequestMapping("/system/auth") -@Validated -@Slf4j -public class AuthController { - - @Resource - private AdminAuthService authService; - @Resource - private AdminUserService userService; - @Resource - private RoleService roleService; - @Resource - private MenuService menuService; - @Resource - private PermissionService permissionService; - - @Resource - private SecurityProperties securityProperties; - - @PostMapping("/login") - @PermitAll - @Operation(summary = "使用账号密码登录") - @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 - public CommonResult login(@RequestBody @Valid AuthLoginReqVO reqVO) { - return success(authService.login(reqVO)); - } - - @PostMapping("/logout") - @PermitAll - @Operation(summary = "登出系统") - @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 - public CommonResult logout(HttpServletRequest request) { - String token = obtainAuthorization(request, securityProperties.getTokenHeader()); - if (StrUtil.isNotBlank(token)) { - authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType()); - } - return success(true); - } - - @PostMapping("/refresh-token") - @PermitAll - @Operation(summary = "刷新令牌") - @Parameter(name = "refreshToken", description = "刷新令牌", required = true) - @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 - public CommonResult refreshToken(@RequestParam("refreshToken") String refreshToken) { - return success(authService.refreshToken(refreshToken)); - } - - @GetMapping("/get-permission-info") - @Operation(summary = "获取登录用户的权限信息") - public CommonResult getPermissionInfo() { - // 1.1 获得用户信息 - AdminUserDO user = userService.getUser(getLoginUserId()); - if (user == null) { - return null; - } - - // 1.2 获得角色列表 - Set roleIds = permissionService.getUserRoleIdListByUserId(getLoginUserId()); - List roles = roleService.getRoleList(roleIds); - roles.removeIf(role -> !CommonStatusEnum.ENABLE.getStatus().equals(role.getStatus())); // 移除禁用的角色 - - // 1.3 获得菜单列表 - Set menuIds = permissionService.getRoleMenuListByRoleId(convertSet(roles, RoleDO::getId)); - List menuList = menuService.getMenuList(menuIds); - menuList.removeIf(menu -> !CommonStatusEnum.ENABLE.getStatus().equals(menu.getStatus())); // 移除禁用的菜单 - - // 2. 拼接结果返回 - return success(AuthConvert.INSTANCE.convert(user, roles, menuList)); - } - -} \ No newline at end of file diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthLoginReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthLoginReqVO.java deleted file mode 100644 index 16b0217f..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthLoginReqVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.win.module.system.controller.admin.auth.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.hibernate.validator.constraints.Length; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.Pattern; - -@Schema(description = "管理后台 - 账号密码登录 Request VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class AuthLoginReqVO { - - @Schema(description = "账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma") - @NotEmpty(message = "登录账号不能为空") - @Length(min = 4, max = 16, message = "账号长度为 4-16 位") - @Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母") - private String username; - - @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao") - @NotEmpty(message = "密码不能为空") - @Length(min = 4, max = 16, message = "密码长度为 4-16 位") - private String password; - - // ========== 验证码相关 ========== - - /** - * 验证码 - */ - @Schema(description = "验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "12") - @NotEmpty(message = "验证码不能为空") - private String code; - - /** - * 唯一标识 - */ - @NotEmpty(message = "uuid不能为空") - private String uuid; - -} \ No newline at end of file diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthLoginRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthLoginRespVO.java deleted file mode 100644 index ef68096d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthLoginRespVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.win.module.system.controller.admin.auth.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 登录 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class AuthLoginRespVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long userId; - - @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "happy") - private String accessToken; - - @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice") - private String refreshToken; - - @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime expiresTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthMenuRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthMenuRespVO.java deleted file mode 100644 index ae46b113..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthMenuRespVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.win.module.system.controller.admin.auth.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Schema(description = "管理后台 - 登录用户的菜单信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class AuthMenuRespVO { - - @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private Long id; - - @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long parentId; - - @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "路由地址,仅菜单类型为菜单或者目录时,才需要传", example = "post") - private String path; - - @Schema(description = "组件路径,仅菜单类型为菜单时,才需要传", example = "system/post/index") - private String component; - - @Schema(description = "组件名", example = "SystemUser") - private String componentName; - - @Schema(description = "菜单图标,仅菜单类型为菜单或者目录时,才需要传", example = "/menu/list") - private String icon; - - @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") - private Boolean visible; - - @Schema(description = "是否缓存", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") - private Boolean keepAlive; - - @Schema(description = "是否总是显示", example = "false") - private Boolean alwaysShow; - - /** - * 子路由 - */ - private List children; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java deleted file mode 100644 index 8286609d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.win.module.system.controller.admin.auth.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; -import java.util.Set; - -@Schema(description = "管理后台 - 登录用户的权限信息 Response VO,额外包括用户信息和角色列表") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class AuthPermissionInfoRespVO { - - @Schema(description = "用户信息", requiredMode = Schema.RequiredMode.REQUIRED) - private UserVO user; - - @Schema(description = "角色标识数组", requiredMode = Schema.RequiredMode.REQUIRED) - private Set roles; - - @Schema(description = "操作权限数组", requiredMode = Schema.RequiredMode.REQUIRED) - private Set permissions; - - @Schema(description = "菜单树", requiredMode = Schema.RequiredMode.REQUIRED) - private List menus; - - @Schema(description = "用户信息 VO") - @Data - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class UserVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") - private String nickname; - - @Schema(description = "用户头像", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.jpg") - private String avatar; - - } - - @Schema(description = "管理后台 - 登录用户的菜单信息 Response VO") - @Data - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class MenuVO { - - @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private Long id; - - @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long parentId; - - @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "路由地址,仅菜单类型为菜单或者目录时,才需要传", example = "post") - private String path; - - @Schema(description = "组件路径,仅菜单类型为菜单时,才需要传", example = "system/post/index") - private String component; - - @Schema(description = "组件名", example = "SystemUser") - private String componentName; - - @Schema(description = "菜单图标,仅菜单类型为菜单或者目录时,才需要传", example = "/menu/list") - private String icon; - - @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") - private Boolean visible; - - @Schema(description = "是否缓存", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") - private Boolean keepAlive; - - @Schema(description = "是否总是显示", example = "false") - private Boolean alwaysShow; - - /** - * 子路由 - */ - private List children; - - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.java deleted file mode 100644 index 7ba644bb..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.system.controller.admin.auth.vo; - -import com.win.framework.common.validation.Mobile; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 短信验证码的登录 Request VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class AuthSmsLoginReqVO { - - @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma") - @NotEmpty(message = "手机号不能为空") - @Mobile - private String mobile; - - @Schema(description = "短信验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "验证码不能为空") - private String code; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.java deleted file mode 100644 index b1491989..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.win.module.system.controller.admin.auth.vo; - -import com.win.framework.common.validation.InEnum; -import com.win.framework.common.validation.Mobile; -import com.win.module.system.enums.sms.SmsSceneEnum; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 发送手机验证码 Request VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class AuthSmsSendReqVO { - - @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma") - @NotEmpty(message = "手机号不能为空") - @Mobile - private String mobile; - - @Schema(description = "短信场景", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "发送场景不能为空") - @InEnum(SmsSceneEnum.class) - private Integer scene; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/captcha/CaptchaController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/captcha/CaptchaController.java deleted file mode 100644 index 9bdf8eac..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/captcha/CaptchaController.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.win.module.system.controller.admin.captcha; - -import cn.hutool.core.codec.Base64; -import cn.hutool.core.util.IdUtil; -import com.google.code.kaptcha.Producer; -import com.win.framework.captcha.config.CaptchaProperties; -import com.win.framework.captcha.enums.CaptchaRedisKeyConstants; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.redis.util.RedisCache; -import com.win.module.system.enums.ErrorCodeConstants; -import org.springframework.util.FastByteArrayOutputStream; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.annotation.security.PermitAll; -import javax.imageio.ImageIO; -import javax.servlet.http.HttpServletResponse; -import java.awt.image.BufferedImage; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; - -import static com.win.framework.common.pojo.CommonResult.error; -import static com.win.framework.common.pojo.CommonResult.success; - -/** - * 验证码操作处理 - * - * @author win - */ -@RestController -@RequestMapping("/system/captcha") -public class CaptchaController { - @Resource(name = "captchaProducer") - private Producer captchaProducer; - @Resource - private RedisCache redisCache; - @Resource(name = "captchaProducerMath") - private Producer captchaProducerMath; - @Resource - private CaptchaProperties captchaProperties; - - /** - * 生成验证码 - */ - @PermitAll - @GetMapping("/captchaImage") - public CommonResult getCode(HttpServletResponse response) throws IOException { - Map data = new HashMap<>(); - boolean captchaEnabled = captchaProperties.getEnable(); - data.put("captchaEnabled", captchaEnabled); - if (!captchaEnabled) { - return success(data); - } - // 保存验证码信息 - String uuid = IdUtil.simpleUUID(); - String verifyKey = CaptchaRedisKeyConstants.CAPTCHA_CODE_KEY + uuid; - String capStr; - String code = null; - BufferedImage image = null; - // 生成验证码 - String captchaType = captchaProperties.getCaptchaType(); - if ("math".equals(captchaType)) { - String capText = captchaProducerMath.createText(); - capStr = capText.substring(0, capText.lastIndexOf("@")); - code = capText.substring(capText.lastIndexOf("@") + 1); - image = captchaProducerMath.createImage(capStr); - } else if ("char".equals(captchaType)) { - capStr = code = captchaProducer.createText(); - image = captchaProducer.createImage(capStr); - } - redisCache.setCacheObject(verifyKey, code, captchaProperties.getCaptchaExpiration(), TimeUnit.MINUTES); - // 转换流信息写出 - FastByteArrayOutputStream os = new FastByteArrayOutputStream(); - try { - ImageIO.write(image, "jpg", os); - } catch (IOException e) { - return error(ErrorCodeConstants.GENERATE_IMAGE_ERROR); - } - data.put("uuid", uuid); - data.put("img", Base64.encode(os.toByteArray())); - return success(data); - } -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/DeptController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/DeptController.java deleted file mode 100644 index c733cd9a..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/DeptController.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.win.module.system.controller.admin.dept; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.module.system.controller.admin.dept.vo.dept.*; -import com.win.module.system.convert.dept.DeptConvert; -import com.win.module.system.dal.dataobject.dept.DeptDO; -import com.win.module.system.service.dept.DeptService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.Comparator; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 部门") -@RestController -@RequestMapping("/system/dept") -@Validated -public class DeptController { - - @Resource - private DeptService deptService; - - @PostMapping("create") - @Operation(summary = "创建部门") - @PreAuthorize("@ss.hasPermission('system:dept:create')") - public CommonResult createDept(@Valid @RequestBody DeptCreateReqVO reqVO) { - Long deptId = deptService.createDept(reqVO); - return success(deptId); - } - - @PutMapping("update") - @Operation(summary = "更新部门") - @PreAuthorize("@ss.hasPermission('system:dept:update')") - public CommonResult updateDept(@Valid @RequestBody DeptUpdateReqVO reqVO) { - deptService.updateDept(reqVO); - return success(true); - } - - @DeleteMapping("delete") - @Operation(summary = "删除部门") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:dept:delete')") - public CommonResult deleteDept(@RequestParam("id") Long id) { - deptService.deleteDept(id); - return success(true); - } - - @GetMapping("/list") - @Operation(summary = "获取部门列表") - @PreAuthorize("@ss.hasPermission('system:dept:query')") - public CommonResult> getDeptList(DeptListReqVO reqVO) { - List list = deptService.getDeptList(reqVO); - list.sort(Comparator.comparing(DeptDO::getSort)); - return success(DeptConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获取部门精简信息列表", description = "只包含被开启的部门,主要用于前端的下拉选项") - public CommonResult> getSimpleDeptList() { - // 获得部门列表,只要开启状态的 - DeptListReqVO reqVO = new DeptListReqVO(); - reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); - List list = deptService.getDeptList(reqVO); - // 排序后,返回给前端 - list.sort(Comparator.comparing(DeptDO::getSort)); - return success(DeptConvert.INSTANCE.convertList02(list)); - } - - @GetMapping("/get") - @Operation(summary = "获得部门信息") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:dept:query')") - public CommonResult getDept(@RequestParam("id") Long id) { - return success(DeptConvert.INSTANCE.convert(deptService.getDept(id))); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/PostController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/PostController.java deleted file mode 100644 index 30f53d4a..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/PostController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.system.controller.admin.dept; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.dept.vo.post.*; -import com.win.module.system.convert.dept.PostConvert; -import com.win.module.system.dal.dataobject.dept.PostDO; -import com.win.module.system.service.dept.PostService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 岗位") -@RestController -@RequestMapping("/system/post") -@Validated -public class PostController { - - @Resource - private PostService postService; - - @PostMapping("/create") - @Operation(summary = "创建岗位") - @PreAuthorize("@ss.hasPermission('system:post:create')") - public CommonResult createPost(@Valid @RequestBody PostCreateReqVO reqVO) { - Long postId = postService.createPost(reqVO); - return success(postId); - } - - @PutMapping("/update") - @Operation(summary = "修改岗位") - @PreAuthorize("@ss.hasPermission('system:post:update')") - public CommonResult updatePost(@Valid @RequestBody PostUpdateReqVO reqVO) { - postService.updatePost(reqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除岗位") - @PreAuthorize("@ss.hasPermission('system:post:delete')") - public CommonResult deletePost(@RequestParam("id") Long id) { - postService.deletePost(id); - return success(true); - } - - @GetMapping(value = "/get") - @Operation(summary = "获得岗位信息") - @Parameter(name = "id", description = "岗位编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:post:query')") - public CommonResult getPost(@RequestParam("id") Long id) { - return success(PostConvert.INSTANCE.convert(postService.getPost(id))); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获取岗位精简信息列表", description = "只包含被开启的岗位,主要用于前端的下拉选项") - public CommonResult> getSimplePostList() { - // 获得岗位列表,只要开启状态的 - List list = postService.getPostList(null, Collections.singleton(CommonStatusEnum.ENABLE.getStatus())); - // 排序后,返回给前端 - list.sort(Comparator.comparing(PostDO::getSort)); - return success(PostConvert.INSTANCE.convertList02(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得岗位分页列表") - @PreAuthorize("@ss.hasPermission('system:post:query')") - public CommonResult> getPostPage(@Validated PostPageReqVO reqVO) { - return success(PostConvert.INSTANCE.convertPage(postService.getPostPage(reqVO))); - } - - @GetMapping("/export") - @Operation(summary = "岗位管理") - @PreAuthorize("@ss.hasPermission('system:post:export')") - @OperateLog(type = EXPORT) - public void export(HttpServletResponse response, @Validated PostExportReqVO reqVO) throws IOException { - List posts = postService.getPostList(reqVO); - List data = PostConvert.INSTANCE.convertList03(posts); - // 输出 - ExcelUtils.write(response, "岗位数据.xls", "岗位列表", PostExcelVO.class, data); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptBaseVO.java deleted file mode 100644 index 8061c110..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptBaseVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.dept; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 部门 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class DeptBaseVO { - - @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotBlank(message = "部门名称不能为空") - @Size(max = 30, message = "部门名称长度不能超过30个字符") - private String name; - - @Schema(description = "父菜单 ID", example = "1024") - private Long parentId; - - @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "显示顺序不能为空") - private Integer sort; - - @Schema(description = "负责人的用户编号", example = "2048") - private Long leaderUserId; - - @Schema(description = "联系电话", example = "15601691000") - @Size(max = 11, message = "联系电话长度不能超过11个字符") - private String phone; - - @Schema(description = "邮箱", example = "win@iocoder.cn") - @Email(message = "邮箱格式不正确") - @Size(max = 50, message = "邮箱长度不能超过50个字符") - private String email; - - @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") -// @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptCreateReqVO.java deleted file mode 100644 index 47075905..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.dept; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 部门创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class DeptCreateReqVO extends DeptBaseVO { -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptListReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptListReqVO.java deleted file mode 100644 index eea221c4..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptListReqVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.dept; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 部门列表 Request VO") -@Data -public class DeptListReqVO { - - @Schema(description = "部门名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptRespVO.java deleted file mode 100644 index 8dfa3ea4..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptRespVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.dept; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 部门信息 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class DeptRespVO extends DeptBaseVO { - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java deleted file mode 100644 index e01c60e0..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.dept; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Schema(description = "管理后台 - 部门精简信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class DeptSimpleRespVO { - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "父部门 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long parentId; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptUpdateReqVO.java deleted file mode 100644 index 8449a15e..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/dept/DeptUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.dept; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 部门更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class DeptUpdateReqVO extends DeptBaseVO { - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "部门编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostBaseVO.java deleted file mode 100644 index 9e489f07..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostBaseVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 岗位 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class PostBaseVO { - - @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主") - @NotBlank(message = "岗位名称不能为空") - @Size(max = 50, message = "岗位名称长度不能超过50个字符") - private String name; - - @Schema(description = "岗位编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") - @NotBlank(message = "岗位编码不能为空") - @Size(max = 64, message = "岗位编码长度不能超过64个字符") - private String code; - - @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "显示顺序不能为空") - private Integer sort; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "备注", example = "快乐的备注") - private String remark; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostCreateReqVO.java deleted file mode 100644 index 34839b8b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostCreateReqVO.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Schema(description = "管理后台 - 岗位创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class PostCreateReqVO extends PostBaseVO { -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostExcelVO.java deleted file mode 100644 index 53f155df..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostExcelVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -/** - * 岗位 Excel 导出响应 VO - */ -@Data -public class PostExcelVO { - - @ExcelProperty("岗位序号") - private Long id; - - @ExcelProperty("岗位编码") - private String code; - - @ExcelProperty("岗位名称") - private String name; - - @ExcelProperty("岗位排序") - private Integer sort; - - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private String status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostExportReqVO.java deleted file mode 100644 index b1afd292..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostExportReqVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 岗位导出 Request VO,参数和 PostExcelVO 是一致的") -@Data -public class PostExportReqVO { - - @Schema(description = "岗位编码,模糊匹配", example = "win") - private String code; - - @Schema(description = "岗位名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostListReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostListReqVO.java deleted file mode 100644 index 9292752b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostListReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Schema(description = "管理后台 - 岗位列表 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class PostListReqVO extends PostBaseVO { - - @Schema(description = "岗位名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostPageReqVO.java deleted file mode 100644 index 47cf1be6..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostPageReqVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Schema(description = "管理后台 - 岗位分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class PostPageReqVO extends PageParam { - - @Schema(description = "岗位编码,模糊匹配", example = "win") - private String code; - - @Schema(description = "岗位名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostRespVO.java deleted file mode 100644 index 69faffa4..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 岗位信息 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class PostRespVO extends PostBaseVO { - - @Schema(description = "岗位序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.java deleted file mode 100644 index 90536b51..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Schema(description = "管理后台 - 岗位精简信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class PostSimpleRespVO { - - @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostUpdateReqVO.java deleted file mode 100644 index 6fc15a50..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dept/vo/post/PostUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.dept.vo.post; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 岗位更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class PostUpdateReqVO extends PostBaseVO { - - @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "岗位编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictDataController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictDataController.java deleted file mode 100644 index 96d98f8e..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictDataController.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.win.module.system.controller.admin.dict; - -import com.win.module.system.dal.dataobject.dict.DictDataDO; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.dict.vo.data.*; -import com.win.module.system.convert.dict.DictDataConvert; -import com.win.module.system.service.dict.DictDataService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 字典数据") -@RestController -@RequestMapping("/system/dict-data") -@Validated -public class DictDataController { - - @Resource - private DictDataService dictDataService; - - @PostMapping("/create") - @Operation(summary = "新增字典数据") - @PreAuthorize("@ss.hasPermission('system:dict:create')") - public CommonResult createDictData(@Valid @RequestBody DictDataCreateReqVO reqVO) { - Long dictDataId = dictDataService.createDictData(reqVO); - return success(dictDataId); - } - - @PutMapping("/update") - @Operation(summary = "修改字典数据") - @PreAuthorize("@ss.hasPermission('system:dict:update')") - public CommonResult updateDictData(@Valid @RequestBody DictDataUpdateReqVO reqVO) { - dictDataService.updateDictData(reqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除字典数据") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:dict:delete')") - public CommonResult deleteDictData(Long id) { - dictDataService.deleteDictData(id); - return success(true); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获得全部字典数据列表", description = "一般用于管理后台缓存字典数据在本地") - // 无需添加权限认证,因为前端全局都需要 - public CommonResult> getSimpleDictDataList() { - List list = dictDataService.getDictDataList(); - return success(DictDataConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "/获得字典类型的分页列表") - @PreAuthorize("@ss.hasPermission('system:dict:query')") - public CommonResult> getDictTypePage(@Valid DictDataPageReqVO reqVO) { - return success(DictDataConvert.INSTANCE.convertPage(dictDataService.getDictDataPage(reqVO))); - } - - @GetMapping(value = "/get") - @Operation(summary = "/查询字典数据详细") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:dict:query')") - public CommonResult getDictData(@RequestParam("id") Long id) { - return success(DictDataConvert.INSTANCE.convert(dictDataService.getDictData(id))); - } - - @GetMapping("/export") - @Operation(summary = "导出字典数据") - @PreAuthorize("@ss.hasPermission('system:dict:export')") - @OperateLog(type = EXPORT) - public void export(HttpServletResponse response, @Valid DictDataExportReqVO reqVO) throws IOException { - List list = dictDataService.getDictDataList(reqVO); - List data = DictDataConvert.INSTANCE.convertList02(list); - // 输出 - ExcelUtils.write(response, "字典数据.xls", "数据列表", DictDataExcelVO.class, data); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictTypeController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictTypeController.java deleted file mode 100644 index 38c00a70..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictTypeController.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.win.module.system.controller.admin.dict; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.dict.vo.type.*; -import com.win.module.system.convert.dict.DictTypeConvert; -import com.win.module.system.dal.dataobject.dict.DictTypeDO; -import com.win.module.system.service.dict.DictTypeService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 字典类型") -@RestController -@RequestMapping("/system/dict-type") -@Validated -public class DictTypeController { - - @Resource - private DictTypeService dictTypeService; - - @PostMapping("/create") - @Operation(summary = "创建字典类型") - @PreAuthorize("@ss.hasPermission('system:dict:create')") - public CommonResult createDictType(@Valid @RequestBody DictTypeCreateReqVO reqVO) { - Long dictTypeId = dictTypeService.createDictType(reqVO); - return success(dictTypeId); - } - - @PutMapping("/update") - @Operation(summary = "修改字典类型") - @PreAuthorize("@ss.hasPermission('system:dict:update')") - public CommonResult updateDictType(@Valid @RequestBody DictTypeUpdateReqVO reqVO) { - dictTypeService.updateDictType(reqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除字典类型") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:dict:delete')") - public CommonResult deleteDictType(Long id) { - dictTypeService.deleteDictType(id); - return success(true); - } - - @Operation(summary = "/获得字典类型的分页列表") - @GetMapping("/page") - @PreAuthorize("@ss.hasPermission('system:dict:query')") - public CommonResult> pageDictTypes(@Valid DictTypePageReqVO reqVO) { - return success(DictTypeConvert.INSTANCE.convertPage(dictTypeService.getDictTypePage(reqVO))); - } - - @Operation(summary = "/查询字典类型详细") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @GetMapping(value = "/get") - @PreAuthorize("@ss.hasPermission('system:dict:query')") - public CommonResult getDictType(@RequestParam("id") Long id) { - return success(DictTypeConvert.INSTANCE.convert(dictTypeService.getDictType(id))); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获得全部字典类型列表", description = "包括开启 + 禁用的字典类型,主要用于前端的下拉选项") - // 无需添加权限认证,因为前端全局都需要 - public CommonResult> getSimpleDictTypeList() { - List list = dictTypeService.getDictTypeList(); - return success(DictTypeConvert.INSTANCE.convertList(list)); - } - - @Operation(summary = "导出数据类型") - @GetMapping("/export") - @PreAuthorize("@ss.hasPermission('system:dict:query')") - @OperateLog(type = EXPORT) - public void export(HttpServletResponse response, @Valid DictTypeExportReqVO reqVO) throws IOException { - List list = dictTypeService.getDictTypeList(reqVO); - List data = DictTypeConvert.INSTANCE.convertList02(list); - // 输出 - ExcelUtils.write(response, "字典类型.xls", "类型列表", DictTypeExcelVO.class, data); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataBaseVO.java deleted file mode 100644 index f981c66c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataBaseVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 字典数据 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class DictDataBaseVO { - - @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "显示顺序不能为空") - private Integer sort; - - @Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotBlank(message = "字典标签不能为空") - @Size(max = 100, message = "字典标签长度不能超过100个字符") - private String label; - - @Schema(description = "字典值", requiredMode = Schema.RequiredMode.REQUIRED, example = "iocoder") - @NotBlank(message = "字典键值不能为空") - @Size(max = 100, message = "字典键值长度不能超过100个字符") - private String value; - - @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex") - @NotBlank(message = "字典类型不能为空") - @Size(max = 100, message = "字典类型长度不能超过100个字符") - private String dictType; - - @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") -// @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") - private Integer status; - - @Schema(description = "颜色类型,default、primary、success、info、warning、danger", example = "default") - private String colorType; - @Schema(description = "css 样式", example = "btn-visible") - private String cssClass; - - @Schema(description = "备注", example = "我是一个角色") - private String remark; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataCreateReqVO.java deleted file mode 100644 index c121d5e5..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Schema(description = "管理后台 - 字典数据创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class DictDataCreateReqVO extends DictDataBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataExcelVO.java deleted file mode 100644 index 93e99819..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataExcelVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.data; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -/** - * 字典数据 Excel 导出响应 VO - */ -@Data -public class DictDataExcelVO { - - @ExcelProperty("字典编码") - private Long id; - - @ExcelProperty("字典排序") - private Integer sort; - - @ExcelProperty("字典标签") - private String label; - - @ExcelProperty("字典键值") - private String value; - - @ExcelProperty("字典类型") - private String dictType; - - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataExportReqVO.java deleted file mode 100644 index 1cc4c132..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataExportReqVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.Size; - -@Schema(description = "管理后台 - 字典类型导出 Request VO") -@Data -public class DictDataExportReqVO { - - @Schema(description = "字典标签", example = "闻荫") - @Size(max = 100, message = "字典标签长度不能超过100个字符") - private String label; - - @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") - @Size(max = 100, message = "字典类型类型长度不能超过100个字符") - private String dictType; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataPageReqVO.java deleted file mode 100644 index 83479331..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataPageReqVO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.data; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.Size; - -@Schema(description = "管理后台 - 字典类型分页列表 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class DictDataPageReqVO extends PageParam { - - @Schema(description = "字典标签", example = "闻荫") - @Size(max = 100, message = "字典标签长度不能超过100个字符") - private String label; - - @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") - @Size(max = 100, message = "字典类型类型长度不能超过100个字符") - private String dictType; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataRespVO.java deleted file mode 100644 index 5bdde1e8..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataRespVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 字典数据信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class DictDataRespVO extends DictDataBaseVO { - - @Schema(description = "字典数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.java deleted file mode 100644 index 8cf5234b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 数据字典精简 Response VO") -@Data -public class DictDataSimpleRespVO { - - @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "gender") - private String dictType; - - @Schema(description = "字典键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private String value; - - @Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "男") - private String label; - - @Schema(description = "颜色类型,default、primary、success、info、warning、danger", example = "default") - private String colorType; - - @Schema(description = "css 样式", example = "btn-visible") - private String cssClass; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataUpdateReqVO.java deleted file mode 100644 index 29555b9b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/data/DictDataUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 字典数据更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class DictDataUpdateReqVO extends DictDataBaseVO { - - @Schema(description = "字典数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "字典数据编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeBaseVO.java deleted file mode 100644 index 2712b835..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeBaseVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.type; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 字典类型 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class DictTypeBaseVO { - - @Schema(description = "字典名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "性别") - @NotBlank(message = "字典名称不能为空") - @Size(max = 100, message = "字典类型名称长度不能超过100个字符") - private String name; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - private Integer status; - - @Schema(description = "备注", example = "快乐的备注") - private String remark; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeCreateReqVO.java deleted file mode 100644 index 4f012996..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeCreateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.type; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -@Schema(description = "管理后台 - 字典类型创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class DictTypeCreateReqVO extends DictTypeBaseVO { - - @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex") - @NotNull(message = "字典类型不能为空") - @Size(max = 100, message = "字典类型类型长度不能超过100个字符") - private String type; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeExcelVO.java deleted file mode 100644 index 7d87d32e..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeExcelVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.type; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -/** - * 字典类型 Excel 导出响应 VO - */ -@Data -public class DictTypeExcelVO { - - @ExcelProperty("字典主键") - private Long id; - - @ExcelProperty("字典名称") - private String name; - - @ExcelProperty("字典类型") - private String type; - - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeExportReqVO.java deleted file mode 100644 index 58a22347..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeExportReqVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.type; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 字典类型分页列表 Request VO") -@Data -public class DictTypeExportReqVO { - - @Schema(description = "字典类型名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") - private String type; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypePageReqVO.java deleted file mode 100644 index 0bb2c771..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypePageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.type; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.Size; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 字典类型分页列表 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class DictTypePageReqVO extends PageParam { - - @Schema(description = "字典类型名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") - @Size(max = 100, message = "字典类型类型长度不能超过100个字符") - private String type; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java deleted file mode 100644 index db903515..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.type; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 字典类型信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class DictTypeRespVO extends DictTypeBaseVO { - - @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex") - private String type; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.java deleted file mode 100644 index ec9ac4aa..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.type; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Schema(description = "管理后台 - 字典类型精简信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class DictTypeSimpleRespVO { - - @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "字典类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex") - private String type; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeUpdateReqVO.java deleted file mode 100644 index ca7c7647..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/vo/type/DictTypeUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.dict.vo.type; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 字典类型更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class DictTypeUpdateReqVO extends DictTypeBaseVO { - - @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "字典类型编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/ErrorCodeController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/ErrorCodeController.java deleted file mode 100644 index 04e8c49c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/ErrorCodeController.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.win.module.system.controller.admin.errorcode; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.convert.errorcode.ErrorCodeConvert; -import com.win.module.system.controller.admin.errorcode.vo.*; -import com.win.module.system.dal.dataobject.errorcode.ErrorCodeDO; -import com.win.module.system.service.errorcode.ErrorCodeService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 错误码") -@RestController -@RequestMapping("/system/error-code") -@Validated -public class ErrorCodeController { - - @Resource - private ErrorCodeService errorCodeService; - - @PostMapping("/create") - @Operation(summary = "创建错误码") - @PreAuthorize("@ss.hasPermission('system:error-code:create')") - public CommonResult createErrorCode(@Valid @RequestBody ErrorCodeCreateReqVO createReqVO) { - return success(errorCodeService.createErrorCode(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新错误码") - @PreAuthorize("@ss.hasPermission('system:error-code:update')") - public CommonResult updateErrorCode(@Valid @RequestBody ErrorCodeUpdateReqVO updateReqVO) { - errorCodeService.updateErrorCode(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除错误码") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:error-code:delete')") - public CommonResult deleteErrorCode(@RequestParam("id") Long id) { - errorCodeService.deleteErrorCode(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得错误码") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:error-code:query')") - public CommonResult getErrorCode(@RequestParam("id") Long id) { - ErrorCodeDO errorCode = errorCodeService.getErrorCode(id); - return success(ErrorCodeConvert.INSTANCE.convert(errorCode)); - } - - @GetMapping("/page") - @Operation(summary = "获得错误码分页") - @PreAuthorize("@ss.hasPermission('system:error-code:query')") - public CommonResult> getErrorCodePage(@Valid ErrorCodePageReqVO pageVO) { - PageResult pageResult = errorCodeService.getErrorCodePage(pageVO); - return success(ErrorCodeConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出错误码 Excel") - @PreAuthorize("@ss.hasPermission('system:error-code:export')") - @OperateLog(type = EXPORT) - public void exportErrorCodeExcel(@Valid ErrorCodeExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = errorCodeService.getErrorCodeList(exportReqVO); - // 导出 Excel - List datas = ErrorCodeConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "错误码.xls", "数据", ErrorCodeExcelVO.class, datas); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeBaseVO.java deleted file mode 100644 index d0f6e1d8..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeBaseVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.win.module.system.controller.admin.errorcode.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -/** -* 错误码 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class ErrorCodeBaseVO { - - @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard") - @NotNull(message = "应用名不能为空") - private String applicationName; - - @Schema(description = "错误码编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1234") - @NotNull(message = "错误码编码不能为空") - private Integer code; - - @Schema(description = "错误码错误提示", requiredMode = Schema.RequiredMode.REQUIRED, example = "帅气") - @NotNull(message = "错误码错误提示不能为空") - private String message; - - @Schema(description = "备注", example = "哈哈哈") - private String memo; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeCreateReqVO.java deleted file mode 100644 index 60db3a70..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.system.controller.admin.errorcode.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 错误码创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ErrorCodeCreateReqVO extends ErrorCodeBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeExcelVO.java deleted file mode 100644 index 901c8034..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeExcelVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.win.module.system.controller.admin.errorcode.vo; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 错误码 Excel VO - * - * @author 闻荫源码 - */ -@Data -public class ErrorCodeExcelVO { - - @ExcelProperty("错误码编号") - private Long id; - - @ExcelProperty(value = "错误码类型", converter = DictConvert.class) - @DictFormat("inf_error_code_type") // TODO 芋艿:得思考下杂解决枚举值 - private Integer type; - - @ExcelProperty("应用名") - private String applicationName; - - @ExcelProperty("错误码编码") - private Integer code; - - @ExcelProperty("错误码错误提示") - private String message; - - @ExcelProperty("备注") - private String memo; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeExportReqVO.java deleted file mode 100644 index 7acd9d25..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeExportReqVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.errorcode.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 错误码 Excel 导出 Request VO,参数和 InfErrorCodePageReqVO 是一致的") -@Data -public class ErrorCodeExportReqVO { - - @Schema(description = "错误码类型", example = "1") - private Integer type; - - @Schema(description = "应用名", example = "dashboard") - private String applicationName; - - @Schema(description = "错误码编码", example = "1234") - private Integer code; - - @Schema(description = "错误码错误提示", example = "帅气") - private String message; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodePageReqVO.java deleted file mode 100644 index 9cac0851..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodePageReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.win.module.system.controller.admin.errorcode.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 错误码分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ErrorCodePageReqVO extends PageParam { - - @Schema(description = "错误码类型,参见 ErrorCodeTypeEnum 枚举类", example = "1") - private Integer type; - - @Schema(description = "应用名", example = "dashboard") - private String applicationName; - - @Schema(description = "错误码编码", example = "1234") - private Integer code; - - @Schema(description = "错误码错误提示", example = "帅气") - private String message; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java deleted file mode 100644 index 1577af74..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.system.controller.admin.errorcode.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 错误码 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ErrorCodeRespVO extends ErrorCodeBaseVO { - - @Schema(description = "错误码编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "错误码类型,参见 ErrorCodeTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer type; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeUpdateReqVO.java deleted file mode 100644 index ff95462d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/vo/ErrorCodeUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.errorcode.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 错误码更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ErrorCodeUpdateReqVO extends ErrorCodeBaseVO { - - @Schema(description = "错误码编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "错误码编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/AreaController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/AreaController.java deleted file mode 100644 index 4a9b6487..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/AreaController.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.win.module.system.controller.admin.ip; - -import cn.hutool.core.lang.Assert; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.ip.core.Area; -import com.win.framework.ip.core.utils.AreaUtils; -import com.win.framework.ip.core.utils.IPUtils; -import com.win.module.system.controller.admin.ip.vo.AreaNodeRespVO; -import com.win.module.system.controller.admin.ip.vo.AreaNodeSimpleRespVO; -import com.win.module.system.convert.ip.AreaConvert; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 地区") -@RestController -@RequestMapping("/system/area") -@Validated -public class AreaController { - - @GetMapping("/tree") - @Operation(summary = "获得地区树") - public CommonResult> getAreaTree() { - Area area = AreaUtils.getArea(Area.ID_CHINA); - Assert.notNull(area, "获取不到中国"); - return success(AreaConvert.INSTANCE.convertList(area.getChildren())); - } - - @GetMapping("/get-children") - @Operation(summary = "获得地区的下级区域") - @Parameter(name = "id", description = "区域编号", required = true, example = "150000") - public CommonResult> getChildren(@RequestParam("id") Integer id) { - Area area = AreaUtils.getArea(id); - Assert.notNull(area, String.format("获取不到 id : %d 的区域", id)); - return success(AreaConvert.INSTANCE.convertList2(area.getChildren())); - } - - // 4)方法改成 getAreaChildrenList 获得子节点们;5)url 可以已改成 children-list - //@芋艿 是不是叫 getAreaListByIds 更合适。 因为不一定是子节点。 用于前端树选择获取缓存数据。 见 - @GetMapping("/get-by-ids") - @Operation(summary = "通过区域 ids 获得地区列表") - @Parameter(name = "ids", description = "区域编号 ids", required = true, example = "1,150000") - public CommonResult> getAreaListByIds(@RequestParam("ids") Set ids) { - List areaList = new ArrayList<>(ids.size()); - for (Integer areaId : ids) { - areaList.add(AreaUtils.getArea(areaId)); - } - return success(AreaConvert.INSTANCE.convertList2(areaList)); - } - - @GetMapping("/get-by-ip") - @Operation(summary = "获得 IP 对应的地区名") - @Parameter(name = "ip", description = "IP", required = true) - public CommonResult getAreaByIp(@RequestParam("ip") String ip) { - // 获得城市 - Area area = IPUtils.getArea(ip); - if (area == null) { - return success("未知"); - } - // 格式化返回 - return success(AreaUtils.format(area.getId())); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/vo/AreaNodeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/vo/AreaNodeRespVO.java deleted file mode 100644 index 58366794..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/vo/AreaNodeRespVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.ip.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -@Schema(description = "管理后台 - 地区节点 Response VO") -@Data -public class AreaNodeRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000") - private Integer id; - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京") - private String name; - - /** - * 子节点 - */ - private List children; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/vo/AreaNodeSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/vo/AreaNodeSimpleRespVO.java deleted file mode 100644 index b6b8447c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/vo/AreaNodeSimpleRespVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.win.module.system.controller.admin.ip.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 简洁的地区节点 Response VO") -@Data -public class AreaNodeSimpleRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000") - private Integer id; - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京") - private String name; - - @Schema(description = "是否叶子节点", example = "false") - private Boolean leaf; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/LoginLogController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/LoginLogController.java deleted file mode 100644 index 353c9e05..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/LoginLogController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.win.module.system.controller.admin.logger; - -import com.win.module.system.dal.dataobject.logger.LoginLogDO; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogExcelVO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogExportReqVO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogRespVO; -import com.win.module.system.convert.logger.LoginLogConvert; -import com.win.module.system.service.logger.LoginLogService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 登录日志") -@RestController -@RequestMapping("/system/login-log") -@Validated -public class LoginLogController { - - @Resource - private LoginLogService loginLogService; - - @GetMapping("/page") - @Operation(summary = "获得登录日志分页列表") - @PreAuthorize("@ss.hasPermission('system:login-log:query')") - public CommonResult> getLoginLogPage(@Valid LoginLogPageReqVO reqVO) { - PageResult page = loginLogService.getLoginLogPage(reqVO); - return CommonResult.success(LoginLogConvert.INSTANCE.convertPage(page)); - } - - @GetMapping("/export") - @Operation(summary = "导出登录日志 Excel") - @PreAuthorize("@ss.hasPermission('system:login-log:export')") - @OperateLog(type = EXPORT) - public void exportLoginLog(HttpServletResponse response, @Valid LoginLogExportReqVO reqVO) throws IOException { - List list = loginLogService.getLoginLogList(reqVO); - // 拼接数据 - List data = LoginLogConvert.INSTANCE.convertList(list); - // 输出 - ExcelUtils.write(response, "登录日志.xls", "数据列表", LoginLogExcelVO.class, data); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/OperateLogController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/OperateLogController.java deleted file mode 100644 index 766e9aec..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/OperateLogController.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.win.module.system.controller.admin.logger; - -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogExcelVO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogExportReqVO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogRespVO; -import com.win.module.system.convert.logger.OperateLogConvert; -import com.win.module.system.dal.dataobject.logger.OperateLogDO; -import com.win.module.system.dal.dataobject.user.AdminUserDO; -import com.win.module.system.service.logger.OperateLogService; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.util.collection.CollectionUtils; -import com.win.framework.common.util.collection.MapUtils; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.service.user.AdminUserService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 操作日志") -@RestController -@RequestMapping("/system/operate-log") -@Validated -public class OperateLogController { - - @Resource - private OperateLogService operateLogService; - @Resource - private AdminUserService userService; - - @GetMapping("/page") - @Operation(summary = "查看操作日志分页列表") - @PreAuthorize("@ss.hasPermission('system:operate-log:query')") - public CommonResult> pageOperateLog(@Valid OperateLogPageReqVO reqVO) { - PageResult pageResult = operateLogService.getOperateLogPage(reqVO); - - // 获得拼接需要的数据 - Collection userIds = CollectionUtils.convertList(pageResult.getList(), OperateLogDO::getUserId); - Map userMap = userService.getUserMap(userIds); - // 拼接数据 - List list = new ArrayList<>(pageResult.getList().size()); - pageResult.getList().forEach(operateLog -> { - OperateLogRespVO respVO = OperateLogConvert.INSTANCE.convert(operateLog); - list.add(respVO); - // 拼接用户信息 - MapUtils.findAndThen(userMap, operateLog.getUserId(), user -> respVO.setUserNickname(user.getNickname())); - }); - return success(new PageResult<>(list, pageResult.getTotal())); - } - - @Operation(summary = "导出操作日志") - @GetMapping("/export") - @PreAuthorize("@ss.hasPermission('system:operate-log:export')") - @OperateLog(type = EXPORT) - public void exportOperateLog(HttpServletResponse response, @Valid OperateLogExportReqVO reqVO) throws IOException { - List list = operateLogService.getOperateLogList(reqVO); - - // 获得拼接需要的数据 - Collection userIds = CollectionUtils.convertList(list, OperateLogDO::getUserId); - Map userMap = userService.getUserMap(userIds); - // 拼接数据 - List excelDataList = OperateLogConvert.INSTANCE.convertList(list, userMap); - // 输出 - ExcelUtils.write(response, "操作日志.xls", "数据列表", OperateLogExcelVO.class, excelDataList); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogBaseVO.java deleted file mode 100644 index e7cbc6c8..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogBaseVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.loginlog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 登录日志 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class LoginLogBaseVO { - - @Schema(description = "日志类型,参见 LoginLogTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "日志类型不能为空") - private Integer logType; - - @Schema(description = "链路追踪编号", example = "89aca178-a370-411c-ae02-3f0d672be4ab") - @NotEmpty(message = "链路追踪编号不能为空") - private String traceId; - - @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") - @NotBlank(message = "用户账号不能为空") - @Size(max = 30, message = "用户账号长度不能超过30个字符") - private String username; - - @Schema(description = "登录结果,参见 LoginResultEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "登录结果不能为空") - private Integer result; - - @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") - @NotEmpty(message = "用户 IP 不能为空") - private String userIp; - - @Schema(description = "浏览器 UserAgent", example = "Mozilla/5.0") - private String userAgent; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogExcelVO.java deleted file mode 100644 index 8efd7cf7..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogExcelVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.loginlog; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 登录日志 Excel 导出响应 VO - */ -@Data -public class LoginLogExcelVO { - - @ExcelProperty("日志主键") - private Long id; - - @ExcelProperty("用户账号") - private String username; - - @ExcelProperty(value = "日志类型", converter = DictConvert.class) - @DictFormat(DictTypeConstants.LOGIN_TYPE) - private Integer logType; - - @ExcelProperty(value = "登录结果", converter = DictConvert.class) - @DictFormat(DictTypeConstants.LOGIN_RESULT) - private Integer result; - - @ExcelProperty("登录 IP") - private String userIp; - - @ExcelProperty("浏览器 UA") - private String userAgent; - - @ExcelProperty("登录时间") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogExportReqVO.java deleted file mode 100644 index 746ea20f..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogExportReqVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.loginlog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 登录日志分页列表 Request VO") -@Data -public class LoginLogExportReqVO { - - @Schema(description = "用户 IP,模拟匹配", example = "127.0.0.1") - private String userIp; - - @Schema(description = "用户账号,模拟匹配", example = "闻荫") - private String username; - - @Schema(description = "操作状态", example = "true") - private Boolean status; - - @Schema(description = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java deleted file mode 100644 index 84a4b9e6..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.loginlog; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 登录日志分页列表 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class LoginLogPageReqVO extends PageParam { - - @Schema(description = "用户 IP,模拟匹配", example = "127.0.0.1") - private String userIp; - - @Schema(description = "用户账号,模拟匹配", example = "闻荫") - private String username; - - @Schema(description = "操作状态", example = "true") - private Boolean status; - - @Schema(description = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java deleted file mode 100644 index 1735d0b3..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.loginlog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 登录日志 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LoginLogRespVO extends LoginLogBaseVO { - - @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "用户编号", example = "666") - private Long userId; - - @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "用户类型不能为空") - private Integer userType; - - @Schema(description = "登录时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java deleted file mode 100644 index ead45355..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.operatelog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; -import java.util.Map; - -/** - * 操作日志 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class OperateLogBaseVO { - - @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "89aca178-a370-411c-ae02-3f0d672be4ab") - @NotEmpty(message = "链路追踪编号不能为空") - private String traceId; - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "用户编号不能为空") - private Long userId; - - @Schema(description = "操作模块", requiredMode = Schema.RequiredMode.REQUIRED, example = "订单") - @NotEmpty(message = "操作模块不能为空") - private String module; - - @Schema(description = "操作名", requiredMode = Schema.RequiredMode.REQUIRED, example = "创建订单") - @NotEmpty(message = "操作名") - private String name; - - @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "操作分类不能为空") - private Integer type; - - @Schema(description = "操作明细", example = "修改编号为 1 的用户信息,将性别从男改成女,将姓名从闻荫改成源码。") - private String content; - - @Schema(description = "拓展字段", example = "{'orderId': 1}") - private Map exts; - - @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET") - @NotEmpty(message = "请求方法名不能为空") - private String requestMethod; - - @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xxx/yyy") - @NotEmpty(message = "请求地址不能为空") - private String requestUrl; - - @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") - @NotEmpty(message = "用户 IP 不能为空") - private String userIp; - - @Schema(description = "浏览器 UserAgent", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0") - @NotEmpty(message = "浏览器 UserAgent 不能为空") - private String userAgent; - - @Schema(description = "Java 方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "com.win.adminserver.UserController.save(...)") - @NotEmpty(message = "Java 方法名不能为空") - private String javaMethod; - - @Schema(description = "Java 方法的参数") - private String javaMethodArgs; - - @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "开始时间不能为空") - private LocalDateTime startTime; - - @Schema(description = "执行时长,单位:毫秒", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "执行时长不能为空") - private Integer duration; - - @Schema(description = "结果码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "结果码不能为空") - private Integer resultCode; - - @Schema(description = "结果提示") - private String resultMsg; - - @Schema(description = "结果数据") - private String resultData; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogExcelVO.java deleted file mode 100644 index a072a931..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogExcelVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.operatelog; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 操作日志 Excel 导出响应 VO - */ -@Data -public class OperateLogExcelVO { - - @ExcelProperty("日志编号") - private Long id; - - @ExcelProperty("操作模块") - private String module; - - @ExcelProperty("操作名") - private String name; - - @ExcelProperty(value = "操作类型", converter = DictConvert.class) - @DictFormat(DictTypeConstants.OPERATE_TYPE) - private String type; - - @ExcelProperty("操作人") - private String userNickname; - - @ExcelProperty(value = "操作结果") // 成功 or 失败 - private String successStr; - - @ExcelProperty("操作日志") - private LocalDateTime startTime; - - @ExcelProperty("执行时长") - private Integer duration; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogExportReqVO.java deleted file mode 100644 index ffe78d8a..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogExportReqVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.operatelog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 操作日志分页列表 Request VO") -@Data -public class OperateLogExportReqVO { - - @Schema(description = "操作模块,模拟匹配", example = "订单") - private String module; - - @Schema(description = "用户昵称,模拟匹配", example = "闻荫") - private String userNickname; - - @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", example = "1") - private Integer type; - - @Schema(description = "操作状态", example = "true") - private Boolean success; - - @Schema(description = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] startTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java deleted file mode 100644 index fb93304c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.operatelog; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 操作日志分页列表 Request VO") -@Data -public class OperateLogPageReqVO extends PageParam { - - @Schema(description = "操作模块,模拟匹配", example = "订单") - private String module; - - @Schema(description = "用户昵称,模拟匹配", example = "闻荫") - private String userNickname; - - @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", example = "1") - private Integer type; - - @Schema(description = "操作状态", example = "true") - private Boolean success; - - @Schema(description = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] startTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java deleted file mode 100644 index 579483cb..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.logger.vo.operatelog; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 操作日志 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class OperateLogRespVO extends OperateLogBaseVO { - - @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - private String userNickname; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailAccountController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailAccountController.java deleted file mode 100644 index 885b4011..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailAccountController.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.win.module.system.controller.admin.mail; - - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.account.*; -import com.win.module.system.convert.mail.MailAccountConvert; -import com.win.module.system.dal.dataobject.mail.MailAccountDO; -import com.win.module.system.service.mail.MailAccountService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 邮箱账号") -@RestController -@RequestMapping("/system/mail-account") -public class MailAccountController { - - @Resource - private MailAccountService mailAccountService; - - @PostMapping("/create") - @Operation(summary = "创建邮箱账号") - @PreAuthorize("@ss.hasPermission('system:mail-account:create')") - public CommonResult createMailAccount(@Valid @RequestBody MailAccountCreateReqVO createReqVO) { - return success(mailAccountService.createMailAccount(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "修改邮箱账号") - @PreAuthorize("@ss.hasPermission('system:mail-account:update')") - public CommonResult updateMailAccount(@Valid @RequestBody MailAccountUpdateReqVO updateReqVO) { - mailAccountService.updateMailAccount(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除邮箱账号") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:mail-account:delete')") - public CommonResult deleteMailAccount(@RequestParam Long id) { - mailAccountService.deleteMailAccount(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得邮箱账号") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:mail-account:get')") - public CommonResult getMailAccount(@RequestParam("id") Long id) { - MailAccountDO mailAccountDO = mailAccountService.getMailAccount(id); - return success(MailAccountConvert.INSTANCE.convert(mailAccountDO)); - } - - @GetMapping("/page") - @Operation(summary = "获得邮箱账号分页") - @PreAuthorize("@ss.hasPermission('system:mail-account:query')") - public CommonResult> getMailAccountPage(@Valid MailAccountPageReqVO pageReqVO) { - PageResult pageResult = mailAccountService.getMailAccountPage(pageReqVO); - return success(MailAccountConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获得邮箱账号精简列表") - public CommonResult> getSimpleMailAccountList() { - List list = mailAccountService.getMailAccountList(); - return success(MailAccountConvert.INSTANCE.convertList02(list)); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailLogController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailLogController.java deleted file mode 100644 index 795f3572..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailLogController.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.win.module.system.controller.admin.mail; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.log.MailLogPageReqVO; -import com.win.module.system.controller.admin.mail.vo.log.MailLogRespVO; -import com.win.module.system.convert.mail.MailLogConvert; -import com.win.module.system.dal.dataobject.mail.MailLogDO; -import com.win.module.system.service.mail.MailLogService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 邮件日志") -@RestController -@RequestMapping("/system/mail-log") -public class MailLogController { - - @Resource - private MailLogService mailLogService; - - @GetMapping("/page") - @Operation(summary = "获得邮箱日志分页") - @PreAuthorize("@ss.hasPermission('system:mail-log:query')") - public CommonResult> getMailLogPage(@Valid MailLogPageReqVO pageVO) { - PageResult pageResult = mailLogService.getMailLogPage(pageVO); - return success(MailLogConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/get") - @Operation(summary = "获得邮箱日志") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:mail-log:query')") - public CommonResult getMailTemplate(@RequestParam("id") Long id) { - MailLogDO mailLogDO = mailLogService.getMailLog(id); - return success(MailLogConvert.INSTANCE.convert(mailLogDO)); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailTemplateController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailTemplateController.java deleted file mode 100644 index 8b4bddfe..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailTemplateController.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.win.module.system.controller.admin.mail; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.template.*; -import com.win.module.system.convert.mail.MailTemplateConvert; -import com.win.module.system.dal.dataobject.mail.MailTemplateDO; -import com.win.module.system.service.mail.MailSendService; -import com.win.module.system.service.mail.MailTemplateService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -@Tag(name = "管理后台 - 邮件模版") -@RestController -@RequestMapping("/system/mail-template") -public class MailTemplateController { - - @Resource - private MailTemplateService mailTempleService; - @Resource - private MailSendService mailSendService; - - @PostMapping("/create") - @Operation(summary = "创建邮件模版") - @PreAuthorize("@ss.hasPermission('system:mail-template:create')") - public CommonResult createMailTemplate(@Valid @RequestBody MailTemplateCreateReqVO createReqVO){ - return success(mailTempleService.createMailTemplate(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "修改邮件模版") - @PreAuthorize("@ss.hasPermission('system:mail-template:update')") - public CommonResult updateMailTemplate(@Valid @RequestBody MailTemplateUpdateReqVO updateReqVO){ - mailTempleService.updateMailTemplate(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除邮件模版") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:mail-template:delete')") - public CommonResult deleteMailTemplate(@RequestParam("id") Long id) { - mailTempleService.deleteMailTemplate(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得邮件模版") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:mail-template:get')") - public CommonResult getMailTemplate(@RequestParam("id") Long id) { - MailTemplateDO mailTemplateDO = mailTempleService.getMailTemplate(id); - return success(MailTemplateConvert.INSTANCE.convert(mailTemplateDO)); - } - - @GetMapping("/page") - @Operation(summary = "获得邮件模版分页") - @PreAuthorize("@ss.hasPermission('system:mail-template:query')") - public CommonResult> getMailTemplatePage(@Valid MailTemplatePageReqVO pageReqVO) { - PageResult pageResult = mailTempleService.getMailTemplatePage(pageReqVO); - return success(MailTemplateConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获得邮件模版精简列表") - public CommonResult> getSimpleTemplateList() { - List list = mailTempleService.getMailTemplateList(); - return success(MailTemplateConvert.INSTANCE.convertList02(list)); - } - - @PostMapping("/send-mail") - @Operation(summary = "发送短信") - @PreAuthorize("@ss.hasPermission('system:mail-template:send-mail')") - public CommonResult sendMail(@Valid @RequestBody MailTemplateSendReqVO sendReqVO) { - return success(mailSendService.sendSingleMailToAdmin(sendReqVO.getMail(), getLoginUserId(), - sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams())); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java deleted file mode 100644 index 5139d8fa..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.account; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.Email; -import javax.validation.constraints.NotNull; - -/** - * 邮箱账号 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class MailAccountBaseVO { - - @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma@123.com") - @NotNull(message = "邮箱不能为空") - @Email(message = "必须是 Email 格式") - private String mail; - - @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") - @NotNull(message = "用户名不能为空") - private String username; - - @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") - @NotNull(message = "密码必填") - private String password; - - @Schema(description = "SMTP 服务器域名", requiredMode = Schema.RequiredMode.REQUIRED, example = "www.iocoder.cn") - @NotNull(message = "SMTP 服务器域名不能为空") - private String host; - - @Schema(description = "SMTP 服务器端口", requiredMode = Schema.RequiredMode.REQUIRED, example = "80") - @NotNull(message = "SMTP 服务器端口不能为空") - private Integer port; - - @Schema(description = "是否开启 ssl", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否开启 ssl 必填") - private Boolean sslEnable; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountCreateReqVO.java deleted file mode 100644 index 1e806d64..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.account; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 邮箱账号创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailAccountCreateReqVO extends MailAccountBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.java deleted file mode 100644 index 1e7f709f..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.account; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 邮箱账号分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailAccountPageReqVO extends PageParam { - - @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma@123.com") - private String mail; - - @Schema(description = "用户名" , requiredMode = Schema.RequiredMode.REQUIRED , example = "win") - private String username; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java deleted file mode 100644 index 616bba97..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.account; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 邮箱账号 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailAccountRespVO extends MailAccountBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.java deleted file mode 100644 index 2c8d9fa2..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.account; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 邮箱账号的精简 Response VO") -@Data -public class MailAccountSimpleRespVO { - - @Schema(description = "邮箱编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "768541388@qq.com") - private String mail; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java deleted file mode 100644 index 4aec6f20..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.account; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 邮箱账号修改 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailAccountUpdateReqVO extends MailAccountBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogBaseVO.java deleted file mode 100644 index 124f984c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogBaseVO.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.log; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; -import java.util.Map; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 邮件日志 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class MailLogBaseVO { - - @Schema(description = "用户编号", example = "30883") - private Long userId; - - @Schema(description = "用户类型,参见 UserTypeEnum 枚举", example = "2") - private Byte userType; - - @Schema(description = "接收邮箱地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "76854@qq.com") - @NotNull(message = "接收邮箱地址不能为空") - private String toMail; - - @Schema(description = "邮箱账号编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18107") - @NotNull(message = "邮箱账号编号不能为空") - private Long accountId; - - @Schema(description = "发送邮箱地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "85757@qq.com") - @NotNull(message = "发送邮箱地址不能为空") - private String fromMail; - - @Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5678") - @NotNull(message = "模板编号不能为空") - private Long templateId; - - @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") - @NotNull(message = "模板编码不能为空") - private String templateCode; - - @Schema(description = "模版发送人名称", example = "李四") - private String templateNickname; - - @Schema(description = "邮件标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试标题") - @NotNull(message = "邮件标题不能为空") - private String templateTitle; - - @Schema(description = "邮件内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容") - @NotNull(message = "邮件内容不能为空") - private String templateContent; - - @Schema(description = "邮件参数", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "邮件参数不能为空") - private Map templateParams; - - @Schema(description = "发送状态,参见 MailSendStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "发送状态不能为空") - private Byte sendStatus; - - @Schema(description = "发送时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime sendTime; - - @Schema(description = "发送返回的消息 ID", example = "28568") - private String sendMessageId; - - @Schema(description = "发送异常") - private String sendException; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogPageReqVO.java deleted file mode 100644 index fe7e543a..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogPageReqVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.log; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 邮箱日志分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailLogPageReqVO extends PageParam { - - @Schema(description = "用户编号", example = "30883") - private Long userId; - - @Schema(description = "用户类型,参见 UserTypeEnum 枚举", example = "2") - private Integer userType; - - @Schema(description = "接收邮箱地址,模糊匹配", example = "76854@qq.com") - private String toMail; - - @Schema(description = "邮箱账号编号", example = "18107") - private Long accountId; - - @Schema(description = "模板编号", example = "5678") - private Long templateId; - - @Schema(description = "发送状态,参见 MailSendStatusEnum 枚举", example = "1") - private Integer sendStatus; - - @Schema(description = "发送时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] sendTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogRespVO.java deleted file mode 100644 index ea9a0d02..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/log/MailLogRespVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.log; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 邮件日志 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailLogRespVO extends MailLogBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31020") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java deleted file mode 100644 index 8ab78efd..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -/** - * 邮件模版 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class MailTemplateBaseVO { - - @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试名字") - @NotNull(message = "名称不能为空") - private String name; - - @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "test") - @NotNull(message = "模版编号不能为空") - private String code; - - @Schema(description = "发送的邮箱账号编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "发送的邮箱账号编号不能为空") - private Long accountId; - - @Schema(description = "发送人名称", example = "芋头") - private String nickname; - - @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "注册成功") - @NotEmpty(message = "标题不能为空") - private String title; - - @Schema(description = "内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,注册成功啦") - @NotEmpty(message = "内容不能为空") - private String content; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - private Integer status; - - @Schema(description = "备注", example = "奥特曼") - private String remark; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateCreateReqVO.java deleted file mode 100644 index 1624223c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 邮件模版创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailTemplateCreateReqVO extends MailTemplateBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplatePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplatePageReqVO.java deleted file mode 100644 index 9ba0e459..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplatePageReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.template; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 邮件模版分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailTemplatePageReqVO extends PageParam { - - @Schema(description = "状态,参见 CommonStatusEnum 枚举", example = "1") - private Integer status; - - @Schema(description = "标识,模糊匹配", example = "code_1024") - private String code; - - @Schema(description = "名称,模糊匹配", example = "芋头") - private String name; - - @Schema(description = "账号编号", example = "2048") - private Long accountId; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.java deleted file mode 100644 index 1b690660..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; -import java.util.List; - -@Schema(description = "管理后台 - 邮件末班 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailTemplateRespVO extends MailTemplateBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "参数数组", example = "name,code") - private List params; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.java deleted file mode 100644 index 6f1f71fc..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.util.Map; - -@Schema(description = "管理后台 - 邮件发送 Req VO") -@Data -public class MailTemplateSendReqVO { - - @Schema(description = "接收邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "7685413@qq.com") - @NotEmpty(message = "接收邮箱不能为空") - private String mail; - - @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") - @NotNull(message = "模板编码不能为空") - private String templateCode; - - @Schema(description = "模板参数") - private Map templateParams; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.java deleted file mode 100644 index 09bca311..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 邮件模版的精简 Response VO") -@Data -public class MailTemplateSimpleRespVO { - - @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "模版名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "哒哒哒") - private String name; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateUpdateReqVO.java deleted file mode 100644 index 97d1508d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/vo/template/MailTemplateUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.mail.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 邮件模版修改 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class MailTemplateUpdateReqVO extends MailTemplateBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/NoticeController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/NoticeController.java deleted file mode 100644 index 77407c66..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/NoticeController.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.win.module.system.controller.admin.notice; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notice.vo.NoticeCreateReqVO; -import com.win.module.system.controller.admin.notice.vo.NoticePageReqVO; -import com.win.module.system.controller.admin.notice.vo.NoticeRespVO; -import com.win.module.system.controller.admin.notice.vo.NoticeUpdateReqVO; -import com.win.module.system.convert.notice.NoticeConvert; -import com.win.module.system.service.notice.NoticeService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 通知公告") -@RestController -@RequestMapping("/system/notice") -@Validated -public class NoticeController { - - @Resource - private NoticeService noticeService; - - @PostMapping("/create") - @Operation(summary = "创建通知公告") - @PreAuthorize("@ss.hasPermission('system:notice:create')") - public CommonResult createNotice(@Valid @RequestBody NoticeCreateReqVO reqVO) { - Long noticeId = noticeService.createNotice(reqVO); - return success(noticeId); - } - - @PutMapping("/update") - @Operation(summary = "修改通知公告") - @PreAuthorize("@ss.hasPermission('system:notice:update')") - public CommonResult updateNotice(@Valid @RequestBody NoticeUpdateReqVO reqVO) { - noticeService.updateNotice(reqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除通知公告") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:notice:delete')") - public CommonResult deleteNotice(@RequestParam("id") Long id) { - noticeService.deleteNotice(id); - return success(true); - } - - @GetMapping("/page") - @Operation(summary = "获取通知公告列表") - @PreAuthorize("@ss.hasPermission('system:notice:query')") - public CommonResult> getNoticePage(@Validated NoticePageReqVO reqVO) { - return success(NoticeConvert.INSTANCE.convertPage(noticeService.getNoticePage(reqVO))); - } - - @GetMapping("/get") - @Operation(summary = "获得通知公告") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:notice:query')") - public CommonResult getNotice(@RequestParam("id") Long id) { - return success(NoticeConvert.INSTANCE.convert(noticeService.getNotice(id))); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeBaseVO.java deleted file mode 100644 index 5a4bb7ac..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeBaseVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.win.module.system.controller.admin.notice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 通知公告 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class NoticeBaseVO { - - @Schema(description = "公告标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主") - @NotBlank(message = "公告标题不能为空") - @Size(max = 50, message = "公告标题不能超过50个字符") - private String title; - - @Schema(description = "公告类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主") - @NotNull(message = "公告类型不能为空") - private Integer type; - - @Schema(description = "公告内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "半生编码") - private String content; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeCreateReqVO.java deleted file mode 100644 index a20b9a2e..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeCreateReqVO.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.win.module.system.controller.admin.notice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Schema(description = "管理后台 - 通知公告创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class NoticeCreateReqVO extends NoticeBaseVO { -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticePageReqVO.java deleted file mode 100644 index 91a28630..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticePageReqVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.win.module.system.controller.admin.notice.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Schema(description = "管理后台 - 通知公告分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class NoticePageReqVO extends PageParam { - - @Schema(description = "通知公告名称,模糊匹配", example = "闻荫") - private String title; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeRespVO.java deleted file mode 100644 index ca6d63ad..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.notice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 通知公告信息 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class NoticeRespVO extends NoticeBaseVO { - - @Schema(description = "通知公告序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeUpdateReqVO.java deleted file mode 100644 index f4c409d1..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notice/vo/NoticeUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.notice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 岗位公告更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class NoticeUpdateReqVO extends NoticeBaseVO { - - @Schema(description = "岗位公告编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "岗位公告编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/NotifyMessageController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/NotifyMessageController.java deleted file mode 100644 index c283b77f..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/NotifyMessageController.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.win.module.system.controller.admin.notify; - -import com.win.framework.common.enums.UserTypeEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessageRespVO; -import com.win.module.system.convert.notify.NotifyMessageConvert; -import com.win.module.system.dal.dataobject.notify.NotifyMessageDO; -import com.win.module.system.service.notify.NotifyMessageService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -@Tag(name = "管理后台 - 我的站内信") -@RestController -@RequestMapping("/system/notify-message") -@Validated -public class NotifyMessageController { - - @Resource - private NotifyMessageService notifyMessageService; - - // ========== 管理所有的站内信 ========== - - @GetMapping("/get") - @Operation(summary = "获得站内信") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:notify-message:query')") - public CommonResult getNotifyMessage(@RequestParam("id") Long id) { - NotifyMessageDO notifyMessage = notifyMessageService.getNotifyMessage(id); - return success(NotifyMessageConvert.INSTANCE.convert(notifyMessage)); - } - - @GetMapping("/page") - @Operation(summary = "获得站内信分页") - @PreAuthorize("@ss.hasPermission('system:notify-message:query')") - public CommonResult> getNotifyMessagePage(@Valid NotifyMessagePageReqVO pageVO) { - PageResult pageResult = notifyMessageService.getNotifyMessagePage(pageVO); - return success(NotifyMessageConvert.INSTANCE.convertPage(pageResult)); - } - - // ========== 查看自己的站内信 ========== - - @GetMapping("/my-page") - @Operation(summary = "获得我的站内信分页") - public CommonResult> getMyMyNotifyMessagePage(@Valid NotifyMessageMyPageReqVO pageVO) { - PageResult pageResult = notifyMessageService.getMyMyNotifyMessagePage(pageVO, - getLoginUserId(), UserTypeEnum.ADMIN.getValue()); - return success(NotifyMessageConvert.INSTANCE.convertPage(pageResult)); - } - - @PutMapping("/update-read") - @Operation(summary = "标记站内信为已读") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - public CommonResult updateNotifyMessageRead(@RequestParam("ids") List ids) { - notifyMessageService.updateNotifyMessageRead(ids, getLoginUserId(), UserTypeEnum.ADMIN.getValue()); - return success(Boolean.TRUE); - } - - @PutMapping("/update-all-read") - @Operation(summary = "标记所有站内信为已读") - public CommonResult updateAllNotifyMessageRead() { - notifyMessageService.updateAllNotifyMessageRead(getLoginUserId(), UserTypeEnum.ADMIN.getValue()); - return success(Boolean.TRUE); - } - - @GetMapping("/get-unread-list") - @Operation(summary = "获取当前用户的最新站内信列表,默认 10 条") - @Parameter(name = "size", description = "10") - public CommonResult> getUnreadNotifyMessageList( - @RequestParam(name = "size", defaultValue = "10") Integer size) { - List list = notifyMessageService.getUnreadNotifyMessageList( - getLoginUserId(), UserTypeEnum.ADMIN.getValue(), size); - return success(NotifyMessageConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/get-unread-count") - @Operation(summary = "获得当前用户的未读站内信数量") - public CommonResult getUnreadNotifyMessageCount() { - return success(notifyMessageService.getUnreadNotifyMessageCount(getLoginUserId(), UserTypeEnum.ADMIN.getValue())); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/NotifyTemplateController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/NotifyTemplateController.java deleted file mode 100644 index deceda5c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/NotifyTemplateController.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.win.module.system.controller.admin.notify; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notify.vo.template.*; -import com.win.module.system.convert.notify.NotifyTemplateConvert; -import com.win.module.system.dal.dataobject.notify.NotifyTemplateDO; -import com.win.module.system.service.notify.NotifySendService; -import com.win.module.system.service.notify.NotifyTemplateService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 站内信模版") -@RestController -@RequestMapping("/system/notify-template") -@Validated -public class NotifyTemplateController { - - @Resource - private NotifyTemplateService notifyTemplateService; - - @Resource - private NotifySendService notifySendService; - - @PostMapping("/create") - @Operation(summary = "创建站内信模版") - @PreAuthorize("@ss.hasPermission('system:notify-template:create')") - public CommonResult createNotifyTemplate(@Valid @RequestBody NotifyTemplateCreateReqVO createReqVO) { - return success(notifyTemplateService.createNotifyTemplate(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新站内信模版") - @PreAuthorize("@ss.hasPermission('system:notify-template:update')") - public CommonResult updateNotifyTemplate(@Valid @RequestBody NotifyTemplateUpdateReqVO updateReqVO) { - notifyTemplateService.updateNotifyTemplate(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除站内信模版") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:notify-template:delete')") - public CommonResult deleteNotifyTemplate(@RequestParam("id") Long id) { - notifyTemplateService.deleteNotifyTemplate(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得站内信模版") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:notify-template:query')") - public CommonResult getNotifyTemplate(@RequestParam("id") Long id) { - NotifyTemplateDO notifyTemplate = notifyTemplateService.getNotifyTemplate(id); - return success(NotifyTemplateConvert.INSTANCE.convert(notifyTemplate)); - } - - @GetMapping("/page") - @Operation(summary = "获得站内信模版分页") - @PreAuthorize("@ss.hasPermission('system:notify-template:query')") - public CommonResult> getNotifyTemplatePage(@Valid NotifyTemplatePageReqVO pageVO) { - PageResult pageResult = notifyTemplateService.getNotifyTemplatePage(pageVO); - return success(NotifyTemplateConvert.INSTANCE.convertPage(pageResult)); - } - - @PostMapping("/send-notify") - @Operation(summary = "发送站内信") - @PreAuthorize("@ss.hasPermission('system:notify-template:send-notify')") - public CommonResult sendNotify(@Valid @RequestBody NotifyTemplateSendReqVO sendReqVO) { - return success(notifySendService.sendSingleNotifyToAdmin(sendReqVO.getUserId(), - sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams())); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageBaseVO.java deleted file mode 100644 index 331b507b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageBaseVO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.message; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; -import java.util.Map; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 站内信消息 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class NotifyMessageBaseVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25025") - @NotNull(message = "用户编号不能为空") - private Long userId; - - @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "用户类型不能为空") - private Byte userType; - - @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13013") - @NotNull(message = "模版编号不能为空") - private Long templateId; - - @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") - @NotNull(message = "模板编码不能为空") - private String templateCode; - - @Schema(description = "模版发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @NotNull(message = "模版发送人名称不能为空") - private String templateNickname; - - @Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容") - @NotNull(message = "模版内容不能为空") - private String templateContent; - - @Schema(description = "模版类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "模版类型不能为空") - private Integer templateType; - - @Schema(description = "模版参数", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "模版参数不能为空") - private Map templateParams; - - @Schema(description = "是否已读", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") - @NotNull(message = "是否已读不能为空") - private Boolean readStatus; - - @Schema(description = "阅读时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime readTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageMyPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageMyPageReqVO.java deleted file mode 100644 index 277707d2..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageMyPageReqVO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.message; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 站内信分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class NotifyMessageMyPageReqVO extends PageParam { - - @Schema(description = "是否已读", example = "true") - private Boolean readStatus; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java deleted file mode 100644 index a7c46b54..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.message; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 站内信分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class NotifyMessagePageReqVO extends PageParam { - - @Schema(description = "用户编号", example = "25025") - private Long userId; - - @Schema(description = "用户类型", example = "1") - private Integer userType; - - @Schema(description = "模板编码", example = "test_01") - private String templateCode; - - @Schema(description = "模版类型", example = "2") - private Integer templateType; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java deleted file mode 100644 index 808a26ab..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.message; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 站内信 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class NotifyMessageRespVO extends NotifyMessageBaseVO { - - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateBaseVO.java deleted file mode 100644 index 497aadc8..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateBaseVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.template; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.validation.InEnum; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -/** - * 站内信模版 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class NotifyTemplateBaseVO { - - @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试模版") - @NotEmpty(message = "模版名称不能为空") - private String name; - - @Schema(description = "模版编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "SEND_TEST") - @NotNull(message = "模版编码不能为空") - private String code; - - @Schema(description = "模版类型,对应 system_notify_template_type 字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "模版类型不能为空") - private Integer type; - - @Schema(description = "发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆") - @NotEmpty(message = "发送人名称不能为空") - private String nickname; - - @Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "我是模版内容") - @NotEmpty(message = "模版内容不能为空") - private String content; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - @InEnum(value = CommonStatusEnum.class, message = "状态必须是 {value}") - private Integer status; - - @Schema(description = "备注", example = "我是备注") - private String remark; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateCreateReqVO.java deleted file mode 100644 index 896cde3c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateCreateReqVO.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -@Schema(description = "管理后台 - 站内信模版创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class NotifyTemplateCreateReqVO extends NotifyTemplateBaseVO { -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.java deleted file mode 100644 index 94ebc58f..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.template; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 站内信模版分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class NotifyTemplatePageReqVO extends PageParam { - - @Schema(description = "模版编码", example = "test_01") - private String code; - - @Schema(description = "模版名称", example = "我是名称") - private String name; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.java deleted file mode 100644 index a133a41e..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; -import java.util.*; - -@Schema(description = "管理后台 - 站内信模版 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class NotifyTemplateRespVO extends NotifyTemplateBaseVO { - - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "参数数组", example = "name,code") - private List params; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java deleted file mode 100644 index 011b1856..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.util.Map; - -@Schema(description = "管理后台 - 站内信模板的发送 Request VO") -@Data -public class NotifyTemplateSendReqVO { - - @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "01") - @NotNull(message = "用户id不能为空") - private Long userId; - - @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "01") - @NotEmpty(message = "模板编码不能为空") - private String templateCode; - - @Schema(description = "模板参数") - private Map templateParams; -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateUpdateReqVO.java deleted file mode 100644 index 8a3e096b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/notify/vo/template/NotifyTemplateUpdateReqVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.win.module.system.controller.admin.notify.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 站内信模版更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class NotifyTemplateUpdateReqVO extends NotifyTemplateBaseVO { - - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "ID 不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2ClientController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2ClientController.java deleted file mode 100644 index 11f95b9e..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2ClientController.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.win.module.system.controller.admin.oauth2; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientRespVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; -import com.win.module.system.convert.auth.OAuth2ClientConvert; -import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; -import com.win.module.system.service.oauth2.OAuth2ClientService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - OAuth2 客户端") -@RestController -@RequestMapping("/system/oauth2-client") -@Validated -public class OAuth2ClientController { - - @Resource - private OAuth2ClientService oAuth2ClientService; - - @PostMapping("/create") - @Operation(summary = "创建 OAuth2 客户端") - @PreAuthorize("@ss.hasPermission('system:oauth2-client:create')") - public CommonResult createOAuth2Client(@Valid @RequestBody OAuth2ClientCreateReqVO createReqVO) { - return success(oAuth2ClientService.createOAuth2Client(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新 OAuth2 客户端") - @PreAuthorize("@ss.hasPermission('system:oauth2-client:update')") - public CommonResult updateOAuth2Client(@Valid @RequestBody OAuth2ClientUpdateReqVO updateReqVO) { - oAuth2ClientService.updateOAuth2Client(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除 OAuth2 客户端") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:oauth2-client:delete')") - public CommonResult deleteOAuth2Client(@RequestParam("id") Long id) { - oAuth2ClientService.deleteOAuth2Client(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得 OAuth2 客户端") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:oauth2-client:query')") - public CommonResult getOAuth2Client(@RequestParam("id") Long id) { - OAuth2ClientDO oAuth2Client = oAuth2ClientService.getOAuth2Client(id); - return success(OAuth2ClientConvert.INSTANCE.convert(oAuth2Client)); - } - - @GetMapping("/page") - @Operation(summary = "获得OAuth2 客户端分页") - @PreAuthorize("@ss.hasPermission('system:oauth2-client:query')") - public CommonResult> getOAuth2ClientPage(@Valid OAuth2ClientPageReqVO pageVO) { - PageResult pageResult = oAuth2ClientService.getOAuth2ClientPage(pageVO); - return success(OAuth2ClientConvert.INSTANCE.convertPage(pageResult)); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2OpenController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2OpenController.java deleted file mode 100644 index 57eef4c1..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2OpenController.java +++ /dev/null @@ -1,302 +0,0 @@ -package com.win.module.system.controller.admin.oauth2; - -import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.win.framework.common.enums.UserTypeEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.util.http.HttpUtils; -import com.win.framework.common.util.json.JsonUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.oauth2.vo.open.OAuth2OpenAccessTokenRespVO; -import com.win.module.system.controller.admin.oauth2.vo.open.OAuth2OpenAuthorizeInfoRespVO; -import com.win.module.system.controller.admin.oauth2.vo.open.OAuth2OpenCheckTokenRespVO; -import com.win.module.system.convert.oauth2.OAuth2OpenConvert; -import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; -import com.win.module.system.dal.dataobject.oauth2.OAuth2ApproveDO; -import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; -import com.win.module.system.enums.oauth2.OAuth2GrantTypeEnum; -import com.win.module.system.service.oauth2.OAuth2ApproveService; -import com.win.module.system.service.oauth2.OAuth2ClientService; -import com.win.module.system.service.oauth2.OAuth2GrantService; -import com.win.module.system.service.oauth2.OAuth2TokenService; -import com.win.module.system.util.oauth2.OAuth2Utils; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.Operation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.annotation.security.PermitAll; -import javax.servlet.http.HttpServletRequest; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import static com.win.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; -import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception0; -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.common.util.collection.CollectionUtils.convertList; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -/** - * 提供给外部应用调用为主 - * - * 一般来说,管理后台的 /system-api/* 是不直接提供给外部应用使用,主要是外部应用能够访问的数据与接口是有限的,而管理后台的 RBAC 无法很好的控制。 - * 参考大量的开放平台,都是独立的一套 OpenAPI,对应到【本系统】就是在 Controller 下新建 open 包,实现 /open-api/* 接口,然后通过 scope 进行控制。 - * 另外,一个公司如果有多个管理后台,它们 client_id 产生的 access token 相互之间是无法互通的,即无法访问它们系统的 API 接口,直到两个 client_id 产生信任授权。 - * - * 考虑到【本系统】暂时不想做的过于复杂,默认只有获取到 access token 之后,可以访问【本系统】管理后台的 /system-api/* 所有接口,除非手动添加 scope 控制。 - * scope 的使用示例,可见 {@link OAuth2UserController} 类 - * - * @author 闻荫源码 - */ -@Tag(name = "管理后台 - OAuth2.0 授权") -@RestController -@RequestMapping("/system/oauth2") -@Validated -@Slf4j -public class OAuth2OpenController { - - @Resource - private OAuth2GrantService oauth2GrantService; - @Resource - private OAuth2ClientService oauth2ClientService; - @Resource - private OAuth2ApproveService oauth2ApproveService; - @Resource - private OAuth2TokenService oauth2TokenService; - - /** - * 对应 Spring Security OAuth 的 TokenEndpoint 类的 postAccessToken 方法 - * - * 授权码 authorization_code 模式时:code + redirectUri + state 参数 - * 密码 password 模式时:username + password + scope 参数 - * 刷新 refresh_token 模式时:refreshToken 参数 - * 客户端 client_credentials 模式:scope 参数 - * 简化 implicit 模式时:不支持 - * - * 注意,默认需要传递 client_id + client_secret 参数 - */ - @PostMapping("/token") - @PermitAll - @Operation(summary = "获得访问令牌", description = "适合 code 授权码模式,或者 implicit 简化模式;在 sso.vue 单点登录界面被【获取】调用") - @Parameters({ - @Parameter(name = "grant_type", required = true, description = "授权类型", example = "code"), - @Parameter(name = "code", description = "授权范围", example = "userinfo.read"), - @Parameter(name = "redirect_uri", description = "重定向 URI", example = "https://www.iocoder.cn"), - @Parameter(name = "state", description = "状态", example = "1"), - @Parameter(name = "username", example = "tudou"), - @Parameter(name = "password", example = "cai"), // 多个使用空格分隔 - @Parameter(name = "scope", example = "user_info"), - @Parameter(name = "refresh_token", example = "123424233"), - }) - @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 - public CommonResult postAccessToken(HttpServletRequest request, - @RequestParam("grant_type") String grantType, - @RequestParam(value = "code", required = false) String code, // 授权码模式 - @RequestParam(value = "redirect_uri", required = false) String redirectUri, // 授权码模式 - @RequestParam(value = "state", required = false) String state, // 授权码模式 - @RequestParam(value = "username", required = false) String username, // 密码模式 - @RequestParam(value = "password", required = false) String password, // 密码模式 - @RequestParam(value = "scope", required = false) String scope, // 密码模式 - @RequestParam(value = "refresh_token", required = false) String refreshToken) { // 刷新模式 - List scopes = OAuth2Utils.buildScopes(scope); - // 1.1 校验授权类型 - OAuth2GrantTypeEnum grantTypeEnum = OAuth2GrantTypeEnum.getByGranType(grantType); - if (grantTypeEnum == null) { - throw exception0(BAD_REQUEST.getCode(), StrUtil.format("未知授权类型({})", grantType)); - } - if (grantTypeEnum == OAuth2GrantTypeEnum.IMPLICIT) { - throw exception0(BAD_REQUEST.getCode(), "Token 接口不支持 implicit 授权模式"); - } - - // 1.2 校验客户端 - String[] clientIdAndSecret = obtainBasicAuthorization(request); - OAuth2ClientDO client = oauth2ClientService.validOAuthClientFromCache(clientIdAndSecret[0], clientIdAndSecret[1], - grantType, scopes, redirectUri); - - // 2. 根据授权模式,获取访问令牌 - OAuth2AccessTokenDO accessTokenDO; - switch (grantTypeEnum) { - case AUTHORIZATION_CODE: - accessTokenDO = oauth2GrantService.grantAuthorizationCodeForAccessToken(client.getClientId(), code, redirectUri, state); - break; - case PASSWORD: - accessTokenDO = oauth2GrantService.grantPassword(username, password, client.getClientId(), scopes); - break; - case CLIENT_CREDENTIALS: - accessTokenDO = oauth2GrantService.grantClientCredentials(client.getClientId(), scopes); - break; - case REFRESH_TOKEN: - accessTokenDO = oauth2GrantService.grantRefreshToken(refreshToken, client.getClientId()); - break; - default: - throw new IllegalArgumentException("未知授权类型:" + grantType); - } - Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 - return success(OAuth2OpenConvert.INSTANCE.convert(accessTokenDO)); - } - - @DeleteMapping("/token") - @PermitAll - @Operation(summary = "删除访问令牌") - @Parameter(name = "token", required = true, description = "访问令牌", example = "biu") - @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 - public CommonResult revokeToken(HttpServletRequest request, - @RequestParam("token") String token) { - // 校验客户端 - String[] clientIdAndSecret = obtainBasicAuthorization(request); - OAuth2ClientDO client = oauth2ClientService.validOAuthClientFromCache(clientIdAndSecret[0], clientIdAndSecret[1], - null, null, null); - - // 删除访问令牌 - return success(oauth2GrantService.revokeToken(client.getClientId(), token)); - } - - /** - * 对应 Spring Security OAuth 的 CheckTokenEndpoint 类的 checkToken 方法 - */ - @PostMapping("/check-token") - @PermitAll - @Operation(summary = "校验访问令牌") - @Parameter(name = "token", required = true, description = "访问令牌", example = "biu") - @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 - public CommonResult checkToken(HttpServletRequest request, - @RequestParam("token") String token) { - // 校验客户端 - String[] clientIdAndSecret = obtainBasicAuthorization(request); - oauth2ClientService.validOAuthClientFromCache(clientIdAndSecret[0], clientIdAndSecret[1], - null, null, null); - - // 校验令牌 - OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.checkAccessToken(token); - Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 - return success(OAuth2OpenConvert.INSTANCE.convert2(accessTokenDO)); - } - - /** - * 对应 Spring Security OAuth 的 AuthorizationEndpoint 类的 authorize 方法 - */ - @GetMapping("/authorize") - @Operation(summary = "获得授权信息", description = "适合 code 授权码模式,或者 implicit 简化模式;在 sso.vue 单点登录界面被【获取】调用") - @Parameter(name = "clientId", required = true, description = "客户端编号", example = "tudou") - public CommonResult authorize(@RequestParam("clientId") String clientId) { - // 0. 校验用户已经登录。通过 Spring Security 实现 - - // 1. 获得 Client 客户端的信息 - OAuth2ClientDO client = oauth2ClientService.validOAuthClientFromCache(clientId); - // 2. 获得用户已经授权的信息 - List approves = oauth2ApproveService.getApproveList(getLoginUserId(), getUserType(), clientId); - // 拼接返回 - return success(OAuth2OpenConvert.INSTANCE.convert(client, approves)); - } - - /** - * 对应 Spring Security OAuth 的 AuthorizationEndpoint 类的 approveOrDeny 方法 - * - * 场景一:【自动授权 autoApprove = true】 - * 刚进入 sso.vue 界面,调用该接口,用户历史已经给该应用做过对应的授权,或者 OAuth2Client 支持该 scope 的自动授权 - * 场景二:【手动授权 autoApprove = false】 - * 在 sso.vue 界面,用户选择好 scope 授权范围,调用该接口,进行授权。此时,approved 为 true 或者 false - * - * 因为前后端分离,Axios 无法很好的处理 302 重定向,所以和 Spring Security OAuth 略有不同,返回结果是重定向的 URL,剩余交给前端处理 - */ - @PostMapping("/authorize") - @Operation(summary = "申请授权", description = "适合 code 授权码模式,或者 implicit 简化模式;在 sso.vue 单点登录界面被【提交】调用") - @Parameters({ - @Parameter(name = "response_type", required = true, description = "响应类型", example = "code"), - @Parameter(name = "client_id", required = true, description = "客户端编号", example = "tudou"), - @Parameter(name = "scope", description = "授权范围", example = "userinfo.read"), // 使用 Map 格式,Spring MVC 暂时不支持这么接收参数 - @Parameter(name = "redirect_uri", required = true, description = "重定向 URI", example = "https://www.iocoder.cn"), - @Parameter(name = "auto_approve", required = true, description = "用户是否接受", example = "true"), - @Parameter(name = "state", example = "1") - }) - @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 - public CommonResult approveOrDeny(@RequestParam("response_type") String responseType, - @RequestParam("client_id") String clientId, - @RequestParam(value = "scope", required = false) String scope, - @RequestParam("redirect_uri") String redirectUri, - @RequestParam(value = "auto_approve") Boolean autoApprove, - @RequestParam(value = "state", required = false) String state) { - @SuppressWarnings("unchecked") - Map scopes = JsonUtils.parseObject(scope, Map.class); - scopes = ObjectUtil.defaultIfNull(scopes, Collections.emptyMap()); - // 0. 校验用户已经登录。通过 Spring Security 实现 - - // 1.1 校验 responseType 是否满足 code 或者 token 值 - OAuth2GrantTypeEnum grantTypeEnum = getGrantTypeEnum(responseType); - // 1.2 校验 redirectUri 重定向域名是否合法 + 校验 scope 是否在 Client 授权范围内 - OAuth2ClientDO client = oauth2ClientService.validOAuthClientFromCache(clientId, null, - grantTypeEnum.getGrantType(), scopes.keySet(), redirectUri); - - // 2.1 假设 approved 为 null,说明是场景一 - if (Boolean.TRUE.equals(autoApprove)) { - // 如果无法自动授权通过,则返回空 url,前端不进行跳转 - if (!oauth2ApproveService.checkForPreApproval(getLoginUserId(), getUserType(), clientId, scopes.keySet())) { - return success(null); - } - } else { // 2.2 假设 approved 非 null,说明是场景二 - // 如果计算后不通过,则跳转一个错误链接 - if (!oauth2ApproveService.updateAfterApproval(getLoginUserId(), getUserType(), clientId, scopes)) { - return success(OAuth2Utils.buildUnsuccessfulRedirect(redirectUri, responseType, state, - "access_denied", "User denied access")); - } - } - - // 3.1 如果是 code 授权码模式,则发放 code 授权码,并重定向 - List approveScopes = convertList(scopes.entrySet(), Map.Entry::getKey, Map.Entry::getValue); - if (grantTypeEnum == OAuth2GrantTypeEnum.AUTHORIZATION_CODE) { - return success(getAuthorizationCodeRedirect(getLoginUserId(), client, approveScopes, redirectUri, state)); - } - // 3.2 如果是 token 则是 implicit 简化模式,则发送 accessToken 访问令牌,并重定向 - return success(getImplicitGrantRedirect(getLoginUserId(), client, approveScopes, redirectUri, state)); - } - - private static OAuth2GrantTypeEnum getGrantTypeEnum(String responseType) { - if (StrUtil.equals(responseType, "code")) { - return OAuth2GrantTypeEnum.AUTHORIZATION_CODE; - } - if (StrUtil.equalsAny(responseType, "token")) { - return OAuth2GrantTypeEnum.IMPLICIT; - } - throw exception0(BAD_REQUEST.getCode(), "response_type 参数值只允许 code 和 token"); - } - - private String getImplicitGrantRedirect(Long userId, OAuth2ClientDO client, - List scopes, String redirectUri, String state) { - // 1. 创建 access token 访问令牌 - OAuth2AccessTokenDO accessTokenDO = oauth2GrantService.grantImplicit(userId, getUserType(), client.getClientId(), scopes); - Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 - // 2. 拼接重定向的 URL - // noinspection unchecked - return OAuth2Utils.buildImplicitRedirectUri(redirectUri, accessTokenDO.getAccessToken(), state, accessTokenDO.getExpiresTime(), - scopes, JsonUtils.parseObject(client.getAdditionalInformation(), Map.class)); - } - - private String getAuthorizationCodeRedirect(Long userId, OAuth2ClientDO client, - List scopes, String redirectUri, String state) { - // 1. 创建 code 授权码 - String authorizationCode = oauth2GrantService.grantAuthorizationCodeForCode(userId, getUserType(), client.getClientId(), scopes, - redirectUri, state); - // 2. 拼接重定向的 URL - return OAuth2Utils.buildAuthorizationCodeRedirectUri(redirectUri, authorizationCode, state); - } - - private Integer getUserType() { - return UserTypeEnum.ADMIN.getValue(); - } - - private String[] obtainBasicAuthorization(HttpServletRequest request) { - String[] clientIdAndSecret = HttpUtils.obtainBasicAuthorization(request); - if (ArrayUtil.isEmpty(clientIdAndSecret) || clientIdAndSecret.length != 2) { - throw exception0(BAD_REQUEST.getCode(), "client_id 或 client_secret 未正确传递"); - } - return clientIdAndSecret; - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2TokenController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2TokenController.java deleted file mode 100644 index 20d82d1c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2TokenController.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.win.module.system.controller.admin.oauth2; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; -import com.win.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenRespVO; -import com.win.module.system.convert.auth.OAuth2TokenConvert; -import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; -import com.win.module.system.enums.logger.LoginLogTypeEnum; -import com.win.module.system.service.auth.AdminAuthService; -import com.win.module.system.service.oauth2.OAuth2TokenService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - OAuth2.0 令牌") -@RestController -@RequestMapping("/system/oauth2-token") -public class OAuth2TokenController { - - @Resource - private OAuth2TokenService oauth2TokenService; - @Resource - private AdminAuthService authService; - - @GetMapping("/page") - @Operation(summary = "获得访问令牌分页", description = "只返回有效期内的") - @PreAuthorize("@ss.hasPermission('system:oauth2-token:page')") - public CommonResult> getAccessTokenPage(@Valid OAuth2AccessTokenPageReqVO reqVO) { - PageResult pageResult = oauth2TokenService.getAccessTokenPage(reqVO); - return success(OAuth2TokenConvert.INSTANCE.convert(pageResult)); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除访问令牌") - @Parameter(name = "accessToken", description = "访问令牌", required = true, example = "tudou") - @PreAuthorize("@ss.hasPermission('system:oauth2-token:delete')") - public CommonResult deleteAccessToken(@RequestParam("accessToken") String accessToken) { - authService.logout(accessToken, LoginLogTypeEnum.LOGOUT_DELETE.getType()); - return success(true); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2UserController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2UserController.java deleted file mode 100644 index b6b0602e..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2UserController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.win.module.system.controller.admin.oauth2; - -import cn.hutool.core.collection.CollUtil; -import com.win.framework.common.pojo.CommonResult; -import com.win.module.system.controller.admin.oauth2.vo.user.OAuth2UserInfoRespVO; -import com.win.module.system.controller.admin.oauth2.vo.user.OAuth2UserUpdateReqVO; -import com.win.module.system.convert.oauth2.OAuth2UserConvert; -import com.win.module.system.dal.dataobject.dept.DeptDO; -import com.win.module.system.dal.dataobject.dept.PostDO; -import com.win.module.system.dal.dataobject.user.AdminUserDO; -import com.win.module.system.service.dept.DeptService; -import com.win.module.system.service.dept.PostService; -import com.win.module.system.service.user.AdminUserService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; - -/** - * 提供给外部应用调用为主 - * - * 1. 在 getUserInfo 方法上,添加 @PreAuthorize("@ss.hasScope('user.read')") 注解,声明需要满足 scope = user.read - * 2. 在 updateUserInfo 方法上,添加 @PreAuthorize("@ss.hasScope('user.write')") 注解,声明需要满足 scope = user.write - * - * @author 闻荫源码 - */ -@Tag(name = "管理后台 - OAuth2.0 用户") -@RestController -@RequestMapping("/system/oauth2/user") -@Validated -@Slf4j -public class OAuth2UserController { - - @Resource - private AdminUserService userService; - @Resource - private DeptService deptService; - @Resource - private PostService postService; - - @GetMapping("/get") - @Operation(summary = "获得用户基本信息") - @PreAuthorize("@ss.hasScope('user.read')") // - public CommonResult getUserInfo() { - // 获得用户基本信息 - AdminUserDO user = userService.getUser(getLoginUserId()); - OAuth2UserInfoRespVO resp = OAuth2UserConvert.INSTANCE.convert(user); - // 获得部门信息 - if (user.getDeptId() != null) { - DeptDO dept = deptService.getDept(user.getDeptId()); - resp.setDept(OAuth2UserConvert.INSTANCE.convert(dept)); - } - // 获得岗位信息 - if (CollUtil.isNotEmpty(user.getPostIds())) { - List posts = postService.getPostList(user.getPostIds()); - resp.setPosts(OAuth2UserConvert.INSTANCE.convertList(posts)); - } - return success(resp); - } - - @PutMapping("/update") - @Operation(summary = "更新用户基本信息") - @PreAuthorize("@ss.hasScope('user.write')") - public CommonResult updateUserInfo(@Valid @RequestBody OAuth2UserUpdateReqVO reqVO) { - // 这里将 UserProfileUpdateReqVO =》UserProfileUpdateReqVO 对象,实现接口的复用。 - // 主要是,AdminUserService 没有自己的 BO 对象,所以复用只能这么做 - userService.updateUserProfile(getLoginUserId(), OAuth2UserConvert.INSTANCE.convert(reqVO)); - return success(true); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientBaseVO.java deleted file mode 100644 index 70ae7659..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientBaseVO.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.client; - -import cn.hutool.core.util.StrUtil; -import com.win.framework.common.util.json.JsonUtils; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.hibernate.validator.constraints.URL; - -import javax.validation.constraints.AssertTrue; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.util.List; - -/** -* OAuth2 客户端 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class OAuth2ClientBaseVO { - - @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou") - @NotNull(message = "客户端编号不能为空") - private String clientId; - - @Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "fan") - @NotNull(message = "客户端密钥不能为空") - private String secret; - - @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆") - @NotNull(message = "应用名不能为空") - private String name; - - @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png") - @NotNull(message = "应用图标不能为空") - @URL(message = "应用图标的地址不正确") - private String logo; - - @Schema(description = "应用描述", example = "我是一个应用") - private String description; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - private Integer status; - - @Schema(description = "访问令牌的有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "8640") - @NotNull(message = "访问令牌的有效期不能为空") - private Integer accessTokenValiditySeconds; - - @Schema(description = "刷新令牌的有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "8640000") - @NotNull(message = "刷新令牌的有效期不能为空") - private Integer refreshTokenValiditySeconds; - - @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") - @NotNull(message = "可重定向的 URI 地址不能为空") - private List<@NotEmpty(message = "重定向的 URI 不能为空") - @URL(message = "重定向的 URI 格式不正确") String> redirectUris; - - @Schema(description = "授权类型,参见 OAuth2GrantTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "password") - @NotNull(message = "授权类型不能为空") - private List authorizedGrantTypes; - - @Schema(description = "授权范围", example = "user_info") - private List scopes; - - @Schema(description = "自动通过的授权范围", example = "user_info") - private List autoApproveScopes; - - @Schema(description = "权限", example = "system:user:query") - private List authorities; - - @Schema(description = "资源", example = "1024") - private List resourceIds; - - @Schema(description = "附加信息", example = "{yunai: true}") - private String additionalInformation; - - @AssertTrue(message = "附加信息必须是 JSON 格式") - public boolean isAdditionalInformationJson() { - return StrUtil.isEmpty(additionalInformation) || JsonUtils.isJson(additionalInformation); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientCreateReqVO.java deleted file mode 100644 index fda80e6a..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.client; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -@Schema(description = "管理后台 - OAuth2 客户端创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class OAuth2ClientCreateReqVO extends OAuth2ClientBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientPageReqVO.java deleted file mode 100644 index 0bf3bdfd..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientPageReqVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.client; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import com.win.framework.common.pojo.PageParam; - -@Schema(description = "管理后台 - OAuth2 客户端分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class OAuth2ClientPageReqVO extends PageParam { - - @Schema(description = "应用名,模糊匹配", example = "土豆") - private String name; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java deleted file mode 100644 index 7f3ba807..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.client; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - OAuth2 客户端 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class OAuth2ClientRespVO extends OAuth2ClientBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientUpdateReqVO.java deleted file mode 100644 index 0f785d98..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/client/OAuth2ClientUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.client; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - OAuth2 客户端更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class OAuth2ClientUpdateReqVO extends OAuth2ClientBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java deleted file mode 100644 index 24bd50a6..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.open; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Schema(description = "管理后台 - 【开放接口】访问令牌 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class OAuth2OpenAccessTokenRespVO { - - @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou") - @JsonProperty("access_token") - private String accessToken; - - @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice") - @JsonProperty("refresh_token") - private String refreshToken; - - @Schema(description = "令牌类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "bearer") - @JsonProperty("token_type") - private String tokenType; - - @Schema(description = "过期时间,单位:秒", requiredMode = Schema.RequiredMode.REQUIRED, example = "42430") - @JsonProperty("expires_in") - private Long expiresIn; - - @Schema(description = "授权范围,如果多个授权范围,使用空格分隔", example = "user_info") - private String scope; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java deleted file mode 100644 index bdb8a454..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.open; - -import com.win.framework.common.core.KeyValue; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Schema(description = "管理后台 - 授权页的信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class OAuth2OpenAuthorizeInfoRespVO { - - /** - * 客户端 - */ - private Client client; - - @Schema(description = "scope 的选中信息,使用 List 保证有序性,Key 是 scope,Value 为是否选中", requiredMode = Schema.RequiredMode.REQUIRED) - private List> scopes; - - @Data - @NoArgsConstructor - @AllArgsConstructor - public static class Client { - - @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆") - private String name; - - @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png") - private String logo; - - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java deleted file mode 100644 index fb903518..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.open; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Schema(description = "管理后台 - 【开放接口】校验令牌 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class OAuth2OpenCheckTokenRespVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") - @JsonProperty("user_id") - private Long userId; - @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @JsonProperty("user_type") - private Integer userType; - @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @JsonProperty("tenant_id") - private Long tenantId; - - @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "car") - @JsonProperty("client_id") - private String clientId; - @Schema(description = "授权范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "user_info") - private List scopes; - - @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou") - @JsonProperty("access_token") - private String accessToken; - - @Schema(description = "过期时间,时间戳 / 1000,即单位:秒", requiredMode = Schema.RequiredMode.REQUIRED, example = "1593092157") - private Long exp; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java deleted file mode 100644 index f29fc99c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.token; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Schema(description = "管理后台 - 访问令牌分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class OAuth2AccessTokenPageReqVO extends PageParam { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") - private Long userId; - - @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - private Integer userType; - - @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - private String clientId; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java deleted file mode 100644 index a7f74cc2..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.token; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 访问令牌 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class OAuth2AccessTokenRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou") - private String accessToken; - - @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice") - private String refreshToken; - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") - private Long userId; - - @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - private Integer userType; - - @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - private String clientId; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime expiresTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.java deleted file mode 100644 index 38c39cb1..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Schema(description = "管理后台 - OAuth2 获得用户基本信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class OAuth2UserInfoRespVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - private String username; - - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String nickname; - - @Schema(description = "用户邮箱", example = "win@iocoder.cn") - private String email; - @Schema(description = "手机号码", example = "15601691300") - private String mobile; - - @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") - private Integer sex; - - @Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png") - private String avatar; - - /** - * 所在部门 - */ - private Dept dept; - - /** - * 所属岗位数组 - */ - private List posts; - - @Schema(description = "部门") - @Data - public static class Dept { - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") - private String name; - - } - - @Schema(description = "岗位") - @Data - public static class Post { - - @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "开发") - private String name; - - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.java deleted file mode 100644 index 71d3d307..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.win.module.system.controller.admin.oauth2.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.hibernate.validator.constraints.Length; - -import javax.validation.constraints.Email; -import javax.validation.constraints.Size; - -@Schema(description = "管理后台 - OAuth2 更新用户基本信息 Request VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class OAuth2UserUpdateReqVO { - - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @Size(max = 30, message = "用户昵称长度不能超过 30 个字符") - private String nickname; - - @Schema(description = "用户邮箱", example = "win@iocoder.cn") - @Email(message = "邮箱格式不正确") - @Size(max = 50, message = "邮箱长度不能超过 50 个字符") - private String email; - - @Schema(description = "手机号码", example = "15601691300") - @Length(min = 11, max = 11, message = "手机号长度必须 11 位") - private String mobile; - - @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") - private Integer sex; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/MenuController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/MenuController.java deleted file mode 100644 index 0cd6e8b0..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/MenuController.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.win.module.system.controller.admin.permission; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.module.system.controller.admin.permission.vo.menu.*; -import com.win.module.system.convert.permission.MenuConvert; -import com.win.module.system.dal.dataobject.permission.MenuDO; -import com.win.module.system.service.permission.MenuService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.Comparator; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 菜单") -@RestController -@RequestMapping("/system/menu") -@Validated -public class MenuController { - - @Resource - private MenuService menuService; - - @PostMapping("/create") - @Operation(summary = "创建菜单") - @PreAuthorize("@ss.hasPermission('system:menu:create')") - public CommonResult createMenu(@Valid @RequestBody MenuCreateReqVO reqVO) { - Long menuId = menuService.createMenu(reqVO); - return success(menuId); - } - - @PutMapping("/update") - @Operation(summary = "修改菜单") - @PreAuthorize("@ss.hasPermission('system:menu:update')") - public CommonResult updateMenu(@Valid @RequestBody MenuUpdateReqVO reqVO) { - menuService.updateMenu(reqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除菜单") - @Parameter(name = "id", description = "角色编号", required= true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:menu:delete')") - public CommonResult deleteMenu(@RequestParam("id") Long id) { - menuService.deleteMenu(id); - return success(true); - } - - @GetMapping("/list") - @Operation(summary = "获取菜单列表", description = "用于【菜单管理】界面") - @PreAuthorize("@ss.hasPermission('system:menu:query')") - public CommonResult> getMenuList(MenuListReqVO reqVO) { - List list = menuService.getMenuList(reqVO); - list.sort(Comparator.comparing(MenuDO::getSort)); - return success(MenuConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获取菜单精简信息列表", description = "只包含被开启的菜单,用于【角色分配菜单】功能的选项。" + - "在多租户的场景下,会只返回租户所在套餐有的菜单") - public CommonResult> getSimpleMenuList() { - // 获得菜单列表,只要开启状态的 - MenuListReqVO reqVO = new MenuListReqVO(); - reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); - List list = menuService.getMenuListByTenant(reqVO); - // 排序后,返回给前端 - list.sort(Comparator.comparing(MenuDO::getSort)); - return success(MenuConvert.INSTANCE.convertList02(list)); - } - - @GetMapping("/get") - @Operation(summary = "获取菜单信息") - @PreAuthorize("@ss.hasPermission('system:menu:query')") - public CommonResult getMenu(Long id) { - MenuDO menu = menuService.getMenu(id); - return success(MenuConvert.INSTANCE.convert(menu)); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/PermissionController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/PermissionController.java deleted file mode 100644 index d81503ad..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/PermissionController.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.win.module.system.controller.admin.permission; - -import cn.hutool.core.collection.CollUtil; -import com.win.framework.common.pojo.CommonResult; -import com.win.module.system.controller.admin.permission.vo.permission.PermissionAssignRoleDataScopeReqVO; -import com.win.module.system.controller.admin.permission.vo.permission.PermissionAssignRoleMenuReqVO; -import com.win.module.system.controller.admin.permission.vo.permission.PermissionAssignUserRoleReqVO; -import com.win.module.system.service.permission.PermissionService; -import com.win.module.system.service.tenant.TenantService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.Set; - -import static com.win.framework.common.pojo.CommonResult.success; - -/** - * 权限 Controller,提供赋予用户、角色的权限的 API 接口 - * - * @author 闻荫源码 - */ -@Tag(name = "管理后台 - 权限") -@RestController -@RequestMapping("/system/permission") -public class PermissionController { - - @Resource - private PermissionService permissionService; - @Resource - private TenantService tenantService; - - @Operation(summary = "获得角色拥有的菜单编号") - @Parameter(name = "roleId", description = "角色编号", required = true) - @GetMapping("/list-role-menus") - @PreAuthorize("@ss.hasPermission('system:permission:assign-role-menu')") - public CommonResult> getRoleMenuList(Long roleId) { - return success(permissionService.getRoleMenuListByRoleId(roleId)); - } - - @PostMapping("/assign-role-menu") - @Operation(summary = "赋予角色菜单") - @PreAuthorize("@ss.hasPermission('system:permission:assign-role-menu')") - public CommonResult assignRoleMenu(@Validated @RequestBody PermissionAssignRoleMenuReqVO reqVO) { - // 开启多租户的情况下,需要过滤掉未开通的菜单 - tenantService.handleTenantMenu(menuIds -> reqVO.getMenuIds().removeIf(menuId -> !CollUtil.contains(menuIds, menuId))); - - // 执行菜单的分配 - permissionService.assignRoleMenu(reqVO.getRoleId(), reqVO.getMenuIds()); - return success(true); - } - - @PostMapping("/assign-role-data-scope") - @Operation(summary = "赋予角色数据权限") - @PreAuthorize("@ss.hasPermission('system:permission:assign-role-data-scope')") - public CommonResult assignRoleDataScope(@Valid @RequestBody PermissionAssignRoleDataScopeReqVO reqVO) { - permissionService.assignRoleDataScope(reqVO.getRoleId(), reqVO.getDataScope(), reqVO.getDataScopeDeptIds()); - return success(true); - } - - @Operation(summary = "获得管理员拥有的角色编号列表") - @Parameter(name = "userId", description = "用户编号", required = true) - @GetMapping("/list-user-roles") - @PreAuthorize("@ss.hasPermission('system:permission:assign-user-role')") - public CommonResult> listAdminRoles(@RequestParam("userId") Long userId) { - return success(permissionService.getUserRoleIdListByUserId(userId)); - } - - @Operation(summary = "赋予用户角色") - @PostMapping("/assign-user-role") - @PreAuthorize("@ss.hasPermission('system:permission:assign-user-role')") - public CommonResult assignUserRole(@Validated @RequestBody PermissionAssignUserRoleReqVO reqVO) { - permissionService.assignUserRole(reqVO.getUserId(), reqVO.getRoleIds()); - return success(true); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/RoleController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/RoleController.java deleted file mode 100644 index 4e7a84fd..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/RoleController.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.win.module.system.controller.admin.permission; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.permission.vo.role.*; -import com.win.module.system.convert.permission.RoleConvert; -import com.win.module.system.dal.dataobject.permission.RoleDO; -import com.win.module.system.service.permission.RoleService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Comparator; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; -import static java.util.Collections.singleton; - -@Tag(name = "管理后台 - 角色") -@RestController -@RequestMapping("/system/role") -@Validated -public class RoleController { - - @Resource - private RoleService roleService; - - @PostMapping("/create") - @Operation(summary = "创建角色") - @PreAuthorize("@ss.hasPermission('system:role:create')") - public CommonResult createRole(@Valid @RequestBody RoleCreateReqVO reqVO) { - return success(roleService.createRole(reqVO, null)); - } - - @PutMapping("/update") - @Operation(summary = "修改角色") - @PreAuthorize("@ss.hasPermission('system:role:update')") - public CommonResult updateRole(@Valid @RequestBody RoleUpdateReqVO reqVO) { - roleService.updateRole(reqVO); - return success(true); - } - - @PutMapping("/update-status") - @Operation(summary = "修改角色状态") - @PreAuthorize("@ss.hasPermission('system:role:update')") - public CommonResult updateRoleStatus(@Valid @RequestBody RoleUpdateStatusReqVO reqVO) { - roleService.updateRoleStatus(reqVO.getId(), reqVO.getStatus()); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除角色") - @Parameter(name = "id", description = "角色编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:role:delete')") - public CommonResult deleteRole(@RequestParam("id") Long id) { - roleService.deleteRole(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得角色信息") - @PreAuthorize("@ss.hasPermission('system:role:query')") - public CommonResult getRole(@RequestParam("id") Long id) { - RoleDO role = roleService.getRole(id); - return success(RoleConvert.INSTANCE.convert(role)); - } - - @GetMapping("/page") - @Operation(summary = "获得角色分页") - @PreAuthorize("@ss.hasPermission('system:role:query')") - public CommonResult> getRolePage(RolePageReqVO reqVO) { - return success(roleService.getRolePage(reqVO)); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获取角色精简信息列表", description = "只包含被开启的角色,主要用于前端的下拉选项") - public CommonResult> getSimpleRoleList() { - // 获得角色列表,只要开启状态的 - List list = roleService.getRoleListByStatus(singleton(CommonStatusEnum.ENABLE.getStatus())); - // 排序后,返回给前端 - list.sort(Comparator.comparing(RoleDO::getSort)); - return success(RoleConvert.INSTANCE.convertList02(list)); - } - - @GetMapping("/export") - @OperateLog(type = EXPORT) - @PreAuthorize("@ss.hasPermission('system:role:export')") - public void export(HttpServletResponse response, @Validated RoleExportReqVO reqVO) throws IOException { - List list = roleService.getRoleList(reqVO); - List data = RoleConvert.INSTANCE.convertList03(list); - // 输出 - ExcelUtils.write(response, "角色数据.xls", "角色列表", RoleExcelVO.class, data); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java deleted file mode 100644 index c46b0edd..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.menu; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 菜单 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class MenuBaseVO { - - @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotBlank(message = "菜单名称不能为空") - @Size(max = 50, message = "菜单名称长度不能超过50个字符") - private String name; - - @Schema(description = "权限标识,仅菜单类型为按钮时,才需要传递", example = "sys:menu:add") - @Size(max = 100) - private String permission; - - @Schema(description = "类型,参见 MenuTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "菜单类型不能为空") - private Integer type; - - @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "显示顺序不能为空") - private Integer sort; - - @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "父菜单 ID 不能为空") - private Long parentId; - - @Schema(description = "路由地址,仅菜单类型为菜单或者目录时,才需要传", example = "post") - @Size(max = 200, message = "路由地址不能超过200个字符") - private String path; - - @Schema(description = "菜单图标,仅菜单类型为菜单或者目录时,才需要传", example = "/menu/list") - private String icon; - - @Schema(description = "组件路径,仅菜单类型为菜单时,才需要传", example = "system/post/index") - @Size(max = 200, message = "组件路径不能超过255个字符") - private String component; - - @Schema(description = "组件名", example = "SystemUser") - private String componentName; - - @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - private Integer status; - - @Schema(description = "是否可见", example = "false") - private Boolean visible; - - @Schema(description = "是否缓存", example = "false") - private Boolean keepAlive; - - @Schema(description = "是否总是显示", example = "false") - private Boolean alwaysShow; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuCreateReqVO.java deleted file mode 100644 index cc4da3ef..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuCreateReqVO.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.menu; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -@Schema(description = "管理后台 - 菜单创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class MenuCreateReqVO extends MenuBaseVO { -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuListReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuListReqVO.java deleted file mode 100644 index fee32c2c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuListReqVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.menu; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "管理后台 - 菜单列表 Request VO") -@Data -public class MenuListReqVO { - - @Schema(description = "菜单名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuRespVO.java deleted file mode 100644 index d3132fe9..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuRespVO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.menu; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 菜单信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class MenuRespVO extends MenuBaseVO { - - @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java deleted file mode 100644 index 5b2bc76c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.menu; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 菜单精简信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class MenuSimpleRespVO { - - @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - - @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long parentId; - - @Schema(description = "类型,参见 MenuTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer type; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java deleted file mode 100644 index 8c58292a..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.menu; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 菜单更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class MenuUpdateReqVO extends MenuBaseVO { - - @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "菜单编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java deleted file mode 100644 index 41f59108..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.permission; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.Collections; -import java.util.Set; - -@Schema(description = "管理后台 - 赋予角色数据权限 Request VO") -@Data -public class PermissionAssignRoleDataScopeReqVO { - - @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "角色编号不能为空") - private Long roleId; - - @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "数据范围不能为空") -// TODO 这里要多一个枚举校验 - private Integer dataScope; - - @Schema(description = "部门编号列表,只有范围类型为 DEPT_CUSTOM 时,该字段才需要", example = "1,3,5") - private Set dataScopeDeptIds = Collections.emptySet(); // 兜底 - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.java deleted file mode 100644 index 1a327c63..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.permission; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.Collections; -import java.util.Set; - -@Schema(description = "管理后台 - 赋予角色菜单 Request VO") -@Data -public class PermissionAssignRoleMenuReqVO { - - @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "角色编号不能为空") - private Long roleId; - - @Schema(description = "菜单编号列表", example = "1,3,5") - private Set menuIds = Collections.emptySet(); // 兜底 - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.java deleted file mode 100644 index a3ad50f5..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.permission; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.Collections; -import java.util.Set; - -@Schema(description = "管理后台 - 赋予用户角色 Request VO") -@Data -public class PermissionAssignUserRoleReqVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "用户编号不能为空") - private Long userId; - - @Schema(description = "角色编号列表", example = "1,3,5") - private Set roleIds = Collections.emptySet(); // 兜底 - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleBaseVO.java deleted file mode 100644 index 27c698c0..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleBaseVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 角色 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class RoleBaseVO { - - @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "管理员") - @NotBlank(message = "角色名称不能为空") - @Size(max = 30, message = "角色名称长度不能超过30个字符") - private String name; - - @NotBlank(message = "角色标志不能为空") - @Size(max = 100, message = "角色标志长度不能超过100个字符") - @Schema(description = "角色编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ADMIN") - private String code; - - @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "显示顺序不能为空") - private Integer sort; - - @Schema(description = "备注", example = "我是一个角色") - private String remark; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleCreateReqVO.java deleted file mode 100644 index bf5fc3cc..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Schema(description = "管理后台 - 角色创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class RoleCreateReqVO extends RoleBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleExcelVO.java deleted file mode 100644 index 3260d26d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleExcelVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -/** - * 角色 Excel 导出响应 VO - */ -@Data -public class RoleExcelVO { - - @ExcelProperty("角色序号") - private Long id; - - @ExcelProperty("角色名称") - private String name; - - @ExcelProperty("角色标志") - private String code; - - @ExcelProperty("角色排序") - private Integer sort; - - @ExcelProperty("数据范围") - private Integer dataScope; - - @ExcelProperty(value = "角色状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private String status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleExportReqVO.java deleted file mode 100644 index 41c1fdc6..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleExportReqVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 角色分页 Request VO") -@Data -public class RoleExportReqVO { - - @Schema(description = "角色名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "角色标识,模糊匹配", example = "win") - private String code; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @Schema(description = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RolePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RolePageReqVO.java deleted file mode 100644 index 474b6735..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RolePageReqVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 角色分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class RolePageReqVO extends PageParam { - - @Schema(description = "角色名称,模糊匹配", example = "闻荫") - private String name; - - @Schema(description = "角色标识,模糊匹配", example = "win") - private String code; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleRespVO.java deleted file mode 100644 index 0a003f3a..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleRespVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -import java.time.LocalDateTime; -import java.util.Set; - -@Schema(description = "管理后台 - 角色信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class RoleRespVO extends RoleBaseVO { - - @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer dataScope; - - @Schema(description = "数据范围(指定部门数组)", example = "1") - private Set dataScopeDeptIds; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "角色类型,参见 RoleTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer type; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java deleted file mode 100644 index f2cdc607..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Schema(description = "管理后台 - 角色精简信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class RoleSimpleRespVO { - - @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String name; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java deleted file mode 100644 index 914e820d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 角色更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class RoleUpdateReqVO extends RoleBaseVO { - - @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "角色编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleUpdateStatusReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleUpdateStatusReqVO.java deleted file mode 100644 index 84e6aaf6..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/vo/role/RoleUpdateStatusReqVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.permission.vo.role; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.validation.InEnum; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 角色更新状态 Request VO") -@Data -public class RoleUpdateStatusReqVO { - - @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "角色编号不能为空") - private Long id; - - @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/SensitiveWordController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/SensitiveWordController.java deleted file mode 100644 index ca206413..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/SensitiveWordController.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.win.module.system.controller.admin.sensitiveword; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.sensitiveword.vo.*; -import com.win.module.system.convert.sensitiveword.SensitiveWordConvert; -import com.win.module.system.dal.dataobject.sensitiveword.SensitiveWordDO; -import com.win.module.system.service.sensitiveword.SensitiveWordService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; -import java.util.Set; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 敏感词") -@RestController -@RequestMapping("/system/sensitive-word") -@Validated -public class SensitiveWordController { - - @Resource - private SensitiveWordService sensitiveWordService; - - @PostMapping("/create") - @Operation(summary = "创建敏感词") - @PreAuthorize("@ss.hasPermission('system:sensitive-word:create')") - public CommonResult createSensitiveWord(@Valid @RequestBody SensitiveWordCreateReqVO createReqVO) { - return success(sensitiveWordService.createSensitiveWord(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新敏感词") - @PreAuthorize("@ss.hasPermission('system:sensitive-word:update')") - public CommonResult updateSensitiveWord(@Valid @RequestBody SensitiveWordUpdateReqVO updateReqVO) { - sensitiveWordService.updateSensitiveWord(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除敏感词") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:sensitive-word:delete')") - public CommonResult deleteSensitiveWord(@RequestParam("id") Long id) { - sensitiveWordService.deleteSensitiveWord(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得敏感词") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:sensitive-word:query')") - public CommonResult getSensitiveWord(@RequestParam("id") Long id) { - SensitiveWordDO sensitiveWord = sensitiveWordService.getSensitiveWord(id); - return success(SensitiveWordConvert.INSTANCE.convert(sensitiveWord)); - } - - @GetMapping("/page") - @Operation(summary = "获得敏感词分页") - @PreAuthorize("@ss.hasPermission('system:sensitive-word:query')") - public CommonResult> getSensitiveWordPage(@Valid SensitiveWordPageReqVO pageVO) { - PageResult pageResult = sensitiveWordService.getSensitiveWordPage(pageVO); - return success(SensitiveWordConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出敏感词 Excel") - @PreAuthorize("@ss.hasPermission('system:sensitive-word:export')") - @OperateLog(type = EXPORT) - public void exportSensitiveWordExcel(@Valid SensitiveWordExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = sensitiveWordService.getSensitiveWordList(exportReqVO); - // 导出 Excel - List datas = SensitiveWordConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "敏感词.xls", "数据", SensitiveWordExcelVO.class, datas); - } - - @GetMapping("/get-tags") - @Operation(summary = "获取所有敏感词的标签数组") - @PreAuthorize("@ss.hasPermission('system:sensitive-word:query')") - public CommonResult> getSensitiveWordTagSet() { - return success(sensitiveWordService.getSensitiveWordTagSet()); - } - - @GetMapping("/validate-text") - @Operation(summary = "获得文本所包含的不合法的敏感词数组") - public CommonResult> validateText(@RequestParam("text") String text, - @RequestParam(value = "tags", required = false) List tags) { - return success(sensitiveWordService.validateText(text, tags)); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java deleted file mode 100644 index 10885cf6..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.sensitiveword.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.List; - -/** - * 敏感词 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class SensitiveWordBaseVO { - - @Schema(description = "敏感词", requiredMode = Schema.RequiredMode.REQUIRED, example = "敏感词") - @NotNull(message = "敏感词不能为空") - private String name; - - @Schema(description = "标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "短信,评论") - @NotNull(message = "标签不能为空") - private List tags; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - private Integer status; - - @Schema(description = "描述", example = "污言秽语") - private String description; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordCreateReqVO.java deleted file mode 100644 index b8c535f2..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.system.controller.admin.sensitiveword.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 敏感词创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SensitiveWordCreateReqVO extends SensitiveWordBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordExcelVO.java deleted file mode 100644 index 7ebfa47d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordExcelVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.win.module.system.controller.admin.sensitiveword.vo; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.framework.excel.core.convert.JsonConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * 敏感词 Excel VO - * - * @author 永不言败 - */ -@Data -public class SensitiveWordExcelVO { - - @ExcelProperty("编号") - private Long id; - - @ExcelProperty("敏感词") - private String name; - - @ExcelProperty(value = "标签", converter = JsonConvert.class) - private List tags; - - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private Integer status; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordExportReqVO.java deleted file mode 100644 index e7abb5ff..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordExportReqVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.win.module.system.controller.admin.sensitiveword.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 敏感词 Excel 导出 Request VO,参数和 SensitiveWordPageReqVO 是一致的") -@Data -public class SensitiveWordExportReqVO { - - @Schema(description = "敏感词", example = "敏感词") - private String name; - - @Schema(description = "标签", example = "短信,评论") - private String tag; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordPageReqVO.java deleted file mode 100644 index 59003039..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordPageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.win.module.system.controller.admin.sensitiveword.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 敏感词分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SensitiveWordPageReqVO extends PageParam { - - @Schema(description = "敏感词", example = "敏感词") - private String name; - - @Schema(description = "标签", example = "短信,评论") - private String tag; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java deleted file mode 100644 index a3a042a4..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.system.controller.admin.sensitiveword.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 敏感词 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SensitiveWordRespVO extends SensitiveWordBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java deleted file mode 100644 index 71e4d375..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.sensitiveword.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 敏感词更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SensitiveWordUpdateReqVO extends SensitiveWordBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/SerialNumberController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/SerialNumberController.java deleted file mode 100644 index a0d14ccc..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/SerialNumberController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.system.controller.admin.serialnumber; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.serialnumber.vo.*; -import com.win.module.system.convert.serialnumber.SerialNumberConvert; -import com.win.module.system.dal.dataobject.serialnumber.SerialNumberDO; -import com.win.module.system.service.serialnumber.SerialNumberService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 流水号规则") -@RestController -@RequestMapping("/system/serial-number") -@Validated -public class SerialNumberController { - - @Resource - private SerialNumberService serialNumberService; - - @PostMapping("/create") - @Operation(summary = "创建流水号规则") - @PreAuthorize("@ss.hasPermission('system:serial-number:create')") - public CommonResult createSerialNumber(@Valid @RequestBody SerialNumberCreateReqVO createReqVO) { - return success(serialNumberService.createSerialNumber(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新流水号规则") - @PreAuthorize("@ss.hasPermission('system:serial-number:update')") - public CommonResult updateSerialNumber(@Valid @RequestBody SerialNumberUpdateReqVO updateReqVO) { - serialNumberService.updateSerialNumber(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除流水号规则") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:serial-number:delete')") - public CommonResult deleteSerialNumber(@RequestParam("id") Long id) { - serialNumberService.deleteSerialNumber(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得流水号规则") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:serial-number:query')") - public CommonResult getSerialNumber(@RequestParam("id") Long id) { - SerialNumberDO serialNumber = serialNumberService.getSerialNumber(id); - return success(SerialNumberConvert.INSTANCE.convert(serialNumber)); - } - - @GetMapping("/list") - @Operation(summary = "获得流水号规则列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('system:serial-number:query')") - public CommonResult> getSerialNumberList(@RequestParam("ids") Collection ids) { - List list = serialNumberService.getSerialNumberList(ids); - return success(SerialNumberConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得流水号规则分页") - @PreAuthorize("@ss.hasPermission('system:serial-number:query')") - public CommonResult> getSerialNumberPage(@Valid SerialNumberPageReqVO pageVO) { - PageResult pageResult = serialNumberService.getSerialNumberPage(pageVO); - return success(SerialNumberConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出流水号规则 Excel") - @PreAuthorize("@ss.hasPermission('system:serial-number:export')") - @OperateLog(type = EXPORT) - public void exportSerialNumberExcel(@Valid SerialNumberExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = serialNumberService.getSerialNumberList(exportReqVO); - // 导出 Excel - List datas = SerialNumberConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "流水号规则.xls", "数据", SerialNumberExcelVO.class, datas); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberBaseVO.java deleted file mode 100644 index c6ad97fd..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberBaseVO.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.win.module.system.controller.admin.serialnumber.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import javax.validation.constraints.*; - -/** - * 流水号规则 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class SerialNumberBaseVO { - - @Schema(description = "规则编码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "规则编码不能为空") - private String ruleCode; - - @Schema(description = "规则名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - @NotNull(message = "规则名称不能为空") - private String ruleName; - - @Schema(description = "编码前缀", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "编码前缀不能为空") - private String prefix; - - @Schema(description = "单据格式", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "单据格式不能为空") - private String pattern; - - @Schema(description = "单据流水长度", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "单据流水长度不能为空") - private Byte length; - - @Schema(description = "单据分隔符", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "单据分隔符不能为空") - private String separator; - - @Schema(description = "备注", example = "你说的对") - private String remark; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberCreateReqVO.java deleted file mode 100644 index 9dedfbdd..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.system.controller.admin.serialnumber.vo; - -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 流水号规则创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SerialNumberCreateReqVO extends SerialNumberBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberExcelVO.java deleted file mode 100644 index 24007bb6..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberExcelVO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.win.module.system.controller.admin.serialnumber.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 流水号规则 Excel VO - * - * @author 超级管理员 - */ -@Data -public class SerialNumberExcelVO { - - @ExcelProperty("主键") - private Long id; - - @ExcelProperty("规则编码") - private String ruleCode; - - @ExcelProperty("规则名称") - private String ruleName; - - @ExcelProperty("编码前缀") - private String prefix; - - @ExcelProperty("单据格式") - private String pattern; - - @ExcelProperty("单据流水长度") - private Byte length; - - @ExcelProperty("单据分隔符") - private String separator; - - @ExcelProperty("备注") - private String remark; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberExportReqVO.java deleted file mode 100644 index 4cbc5006..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberExportReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.serialnumber.vo; - -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; -import com.win.framework.common.pojo.PageParam; - -@Schema(description = "管理后台 - 流水号规则 Excel 导出 Request VO,参数和 SerialNumberPageReqVO 是一致的") -@Data -public class SerialNumberExportReqVO { - - @Schema(description = "规则编码") - private String ruleCode; - - @Schema(description = "规则名称", example = "王五") - private String ruleName; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberPageReqVO.java deleted file mode 100644 index 956eb887..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberPageReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.serialnumber.vo; - -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; -import com.win.framework.common.pojo.PageParam; - -@Schema(description = "管理后台 - 流水号规则分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SerialNumberPageReqVO extends PageParam { - - @Schema(description = "规则编码") - private String ruleCode; - - @Schema(description = "规则名称", example = "王五") - private String ruleName; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberRespVO.java deleted file mode 100644 index 1c5add24..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberRespVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.win.module.system.controller.admin.serialnumber.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 流水号规则 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SerialNumberRespVO extends SerialNumberBaseVO { - - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "19961") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberUpdateReqVO.java deleted file mode 100644 index 76cc5e9c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/serialnumber/vo/SerialNumberUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.serialnumber.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 流水号规则更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SerialNumberUpdateReqVO extends SerialNumberBaseVO { - - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "19961") - @NotNull(message = "主键不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsCallbackController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsCallbackController.java deleted file mode 100644 index c5e25507..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsCallbackController.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.win.module.system.controller.admin.sms; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.util.servlet.ServletUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.framework.sms.core.enums.SmsChannelEnum; -import com.win.module.system.service.sms.SmsSendService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.annotation.security.PermitAll; -import javax.servlet.http.HttpServletRequest; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 短信回调") -@RestController -@RequestMapping("/system/sms/callback") -public class SmsCallbackController { - - @Resource - private SmsSendService smsSendService; - - @PostMapping("/aliyun") - @PermitAll - @Operation(summary = "阿里云短信的回调", description = "参见 https://help.aliyun.com/document_detail/120998.html 文档") - @OperateLog(enable = false) - public CommonResult receiveAliyunSmsStatus(HttpServletRequest request) throws Throwable { - String text = ServletUtils.getBody(request); - smsSendService.receiveSmsStatus(SmsChannelEnum.ALIYUN.getCode(), text); - return success(true); - } - - @PostMapping("/tencent") - @PermitAll - @Operation(summary = "腾讯云短信的回调", description = "参见 https://cloud.tencent.com/document/product/382/52077 文档") - @OperateLog(enable = false) - public CommonResult receiveTencentSmsStatus(HttpServletRequest request) throws Throwable { - String text = ServletUtils.getBody(request); - smsSendService.receiveSmsStatus(SmsChannelEnum.TENCENT.getCode(), text); - return success(true); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsChannelController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsChannelController.java deleted file mode 100644 index 690c049f..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsChannelController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.win.module.system.controller.admin.sms; - -import com.win.module.system.controller.admin.sms.vo.channel.*; -import com.win.module.system.convert.sms.SmsChannelConvert; -import com.win.module.system.dal.dataobject.sms.SmsChannelDO; -import com.win.module.system.service.sms.SmsChannelService; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.Comparator; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 短信渠道") -@RestController -@RequestMapping("system/sms-channel") -public class SmsChannelController { - - @Resource - private SmsChannelService smsChannelService; - - @PostMapping("/create") - @Operation(summary = "创建短信渠道") - @PreAuthorize("@ss.hasPermission('system:sms-channel:create')") - public CommonResult createSmsChannel(@Valid @RequestBody SmsChannelCreateReqVO createReqVO) { - return success(smsChannelService.createSmsChannel(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新短信渠道") - @PreAuthorize("@ss.hasPermission('system:sms-channel:update')") - public CommonResult updateSmsChannel(@Valid @RequestBody SmsChannelUpdateReqVO updateReqVO) { - smsChannelService.updateSmsChannel(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除短信渠道") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:sms-channel:delete')") - public CommonResult deleteSmsChannel(@RequestParam("id") Long id) { - smsChannelService.deleteSmsChannel(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得短信渠道") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:sms-channel:query')") - public CommonResult getSmsChannel(@RequestParam("id") Long id) { - SmsChannelDO smsChannel = smsChannelService.getSmsChannel(id); - return success(SmsChannelConvert.INSTANCE.convert(smsChannel)); - } - - @GetMapping("/page") - @Operation(summary = "获得短信渠道分页") - @PreAuthorize("@ss.hasPermission('system:sms-channel:query')") - public CommonResult> getSmsChannelPage(@Valid SmsChannelPageReqVO pageVO) { - PageResult pageResult = smsChannelService.getSmsChannelPage(pageVO); - return success(SmsChannelConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获得短信渠道精简列表", description = "包含被禁用的短信渠道") - public CommonResult> getSimpleSmsChannelList() { - List list = smsChannelService.getSmsChannelList(); - // 排序后,返回给前端 - list.sort(Comparator.comparing(SmsChannelDO::getId)); - return success(SmsChannelConvert.INSTANCE.convertList03(list)); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsLogController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsLogController.java deleted file mode 100644 index 0249a9bd..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsLogController.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.win.module.system.controller.admin.sms; - -import com.win.module.system.controller.admin.sms.vo.log.SmsLogExcelVO; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogExportReqVO; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogPageReqVO; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogRespVO; -import com.win.module.system.convert.sms.SmsLogConvert; -import com.win.module.system.dal.dataobject.sms.SmsLogDO; -import com.win.module.system.service.sms.SmsLogService; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 短信日志") -@RestController -@RequestMapping("/system/sms-log") -@Validated -public class SmsLogController { - - @Resource - private SmsLogService smsLogService; - - @GetMapping("/page") - @Operation(summary = "获得短信日志分页") - @PreAuthorize("@ss.hasPermission('system:sms-log:query')") - public CommonResult> getSmsLogPage(@Valid SmsLogPageReqVO pageVO) { - PageResult pageResult = smsLogService.getSmsLogPage(pageVO); - return success(SmsLogConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出短信日志 Excel") - @PreAuthorize("@ss.hasPermission('system:sms-log:export')") - @OperateLog(type = EXPORT) - public void exportSmsLogExcel(@Valid SmsLogExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = smsLogService.getSmsLogList(exportReqVO); - // 导出 Excel - List datas = SmsLogConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "短信日志.xls", "数据", SmsLogExcelVO.class, datas); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsTemplateController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsTemplateController.java deleted file mode 100644 index aad93b89..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsTemplateController.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.win.module.system.controller.admin.sms; - -import com.win.module.system.controller.admin.sms.vo.template.*; -import com.win.module.system.convert.sms.SmsTemplateConvert; -import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; -import com.win.module.system.service.sms.SmsTemplateService; -import com.win.module.system.service.sms.SmsSendService; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 短信模板") -@RestController -@RequestMapping("/system/sms-template") -public class SmsTemplateController { - - @Resource - private SmsTemplateService smsTemplateService; - @Resource - private SmsSendService smsSendService; - - @PostMapping("/create") - @Operation(summary = "创建短信模板") - @PreAuthorize("@ss.hasPermission('system:sms-template:create')") - public CommonResult createSmsTemplate(@Valid @RequestBody SmsTemplateCreateReqVO createReqVO) { - return success(smsTemplateService.createSmsTemplate(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新短信模板") - @PreAuthorize("@ss.hasPermission('system:sms-template:update')") - public CommonResult updateSmsTemplate(@Valid @RequestBody SmsTemplateUpdateReqVO updateReqVO) { - smsTemplateService.updateSmsTemplate(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除短信模板") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:sms-template:delete')") - public CommonResult deleteSmsTemplate(@RequestParam("id") Long id) { - smsTemplateService.deleteSmsTemplate(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得短信模板") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:sms-template:query')") - public CommonResult getSmsTemplate(@RequestParam("id") Long id) { - SmsTemplateDO smsTemplate = smsTemplateService.getSmsTemplate(id); - return success(SmsTemplateConvert.INSTANCE.convert(smsTemplate)); - } - - @GetMapping("/page") - @Operation(summary = "获得短信模板分页") - @PreAuthorize("@ss.hasPermission('system:sms-template:query')") - public CommonResult> getSmsTemplatePage(@Valid SmsTemplatePageReqVO pageVO) { - PageResult pageResult = smsTemplateService.getSmsTemplatePage(pageVO); - return success(SmsTemplateConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出短信模板 Excel") - @PreAuthorize("@ss.hasPermission('system:sms-template:export')") - @OperateLog(type = EXPORT) - public void exportSmsTemplateExcel(@Valid SmsTemplateExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = smsTemplateService.getSmsTemplateList(exportReqVO); - // 导出 Excel - List datas = SmsTemplateConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "短信模板.xls", "数据", SmsTemplateExcelVO.class, datas); - } - - @PostMapping("/send-sms") - @Operation(summary = "发送短信") - @PreAuthorize("@ss.hasPermission('system:sms-template:send-sms')") - public CommonResult sendSms(@Valid @RequestBody SmsTemplateSendReqVO sendReqVO) { - return success(smsSendService.sendSingleSmsToAdmin(sendReqVO.getMobile(), null, - sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams())); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java deleted file mode 100644 index 729e7157..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.channel; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.hibernate.validator.constraints.URL; - -import javax.validation.constraints.NotNull; - -/** -* 短信渠道 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class SmsChannelBaseVO { - - @Schema(description = "短信签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") - @NotNull(message = "短信签名不能为空") - private String signature; - - @Schema(description = "启用状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "启用状态不能为空") - private Integer status; - - @Schema(description = "备注", example = "好吃!") - private String remark; - - @Schema(description = "短信 API 的账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") - @NotNull(message = "短信 API 的账号不能为空") - private String apiKey; - - @Schema(description = "短信 API 的密钥", example = "yuanma") - private String apiSecret; - - @Schema(description = "短信发送回调 URL", example = "http://www.iocoder.cn") - @URL(message = "回调 URL 格式不正确") - private String callbackUrl; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelCreateReqVO.java deleted file mode 100644 index a8c84997..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelCreateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.channel; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 短信渠道创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsChannelCreateReqVO extends SmsChannelBaseVO { - - @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN") - @NotNull(message = "渠道编码不能为空") - private String code; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelPageReqVO.java deleted file mode 100644 index 75cf4989..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelPageReqVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.channel; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 短信渠道分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsChannelPageReqVO extends PageParam { - - @Schema(description = "任务状态", example = "1") - private Integer status; - - @Schema(description = "短信签名,模糊匹配", example = "闻荫源码") - private String signature; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java deleted file mode 100644 index 6e7f9915..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.channel; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 短信渠道 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsChannelRespVO extends SmsChannelBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN") - private String code; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.java deleted file mode 100644 index d892466d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.channel; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 短信渠道精简 Response VO") -@Data -public class SmsChannelSimpleRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private Long id; - - @Schema(description = "短信签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") - @NotNull(message = "短信签名不能为空") - private String signature; - - @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN") - private String code; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelUpdateReqVO.java deleted file mode 100644 index dfb11e27..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/channel/SmsChannelUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.channel; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 短信渠道更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsChannelUpdateReqVO extends SmsChannelBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogExcelVO.java deleted file mode 100644 index 2c58aef8..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogExcelVO.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.log; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.framework.excel.core.convert.JsonConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; -import java.util.Map; - -/** - * 短信日志 Excel VO - * - * @author 闻荫源码 - */ -@Data -public class SmsLogExcelVO { - - @ExcelProperty("编号") - private Long id; - - @ExcelProperty("短信渠道编号") - private Long channelId; - - @ExcelProperty("短信渠道编码") - private String channelCode; - - @ExcelProperty("模板编号") - private Long templateId; - - @ExcelProperty("模板编码") - private String templateCode; - - @ExcelProperty(value = "短信类型", converter = DictConvert.class) - @DictFormat(DictTypeConstants.SMS_TEMPLATE_TYPE) - private Integer templateType; - - @ExcelProperty("短信内容") - private String templateContent; - - @ExcelProperty(value = "短信参数", converter = JsonConvert.class) - private Map templateParams; - - @ExcelProperty("短信 API 的模板编号") - private String apiTemplateId; - - @ExcelProperty("手机号") - private String mobile; - - @ExcelProperty("用户编号") - private Long userId; - - @ExcelProperty(value = "用户类型", converter = DictConvert.class) - @DictFormat(DictTypeConstants.USER_TYPE) - private Integer userType; - - @ExcelProperty(value = "发送状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.SMS_SEND_STATUS) - private Integer sendStatus; - - @ExcelProperty("发送时间") - private LocalDateTime sendTime; - - @ExcelProperty("发送结果的编码") - private Integer sendCode; - - @ExcelProperty("发送结果的提示") - private String sendMsg; - - @ExcelProperty("短信 API 发送结果的编码") - private String apiSendCode; - - @ExcelProperty("短信 API 发送失败的提示") - private String apiSendMsg; - - @ExcelProperty("短信 API 发送返回的唯一请求 ID") - private String apiRequestId; - - @ExcelProperty("短信 API 发送返回的序号") - private String apiSerialNo; - - @ExcelProperty(value = "接收状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.SMS_RECEIVE_STATUS) - private Integer receiveStatus; - - @ExcelProperty("接收时间") - private LocalDateTime receiveTime; - - @ExcelProperty("API 接收结果的编码") - private String apiReceiveCode; - - @ExcelProperty("API 接收结果的说明") - private String apiReceiveMsg; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogExportReqVO.java deleted file mode 100644 index df22ef0b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogExportReqVO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.log; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 短信日志 Excel 导出 Request VO,参数和 SmsLogPageReqVO 是一致的") -@Data -public class SmsLogExportReqVO { - - @Schema(description = "短信渠道编号", example = "10") - private Long channelId; - - @Schema(description = "模板编号", example = "20") - private Long templateId; - - @Schema(description = "手机号", example = "15601691300") - private String mobile; - - @Schema(description = "发送状态", example = "1") - private Integer sendStatus; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "开始发送时间") - private LocalDateTime[] sendTime; - - @Schema(description = "接收状态", example = "0") - private Integer receiveStatus; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "开始接收时间") - private LocalDateTime[] receiveTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogPageReqVO.java deleted file mode 100644 index 5791d869..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogPageReqVO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.log; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 短信日志分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsLogPageReqVO extends PageParam { - - @Schema(description = "短信渠道编号", example = "10") - private Long channelId; - - @Schema(description = "模板编号", example = "20") - private Long templateId; - - @Schema(description = "手机号", example = "15601691300") - private String mobile; - - @Schema(description = "发送状态,参见 SmsSendStatusEnum 枚举类", example = "1") - private Integer sendStatus; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "发送时间") - private LocalDateTime[] sendTime; - - @Schema(description = "接收状态,参见 SmsReceiveStatusEnum 枚举类", example = "0") - private Integer receiveStatus; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "接收时间") - private LocalDateTime[] receiveTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java deleted file mode 100644 index 70763c5a..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.log; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; -import java.util.Map; - -@Schema(description = "管理后台 - 短信日志 Response VO") -@Data -public class SmsLogRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "短信渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") - private Long channelId; - - @Schema(description = "短信渠道编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ALIYUN") - private String channelCode; - - @Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20") - private Long templateId; - - @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test-01") - private String templateCode; - - @Schema(description = "短信类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer templateType; - - @Schema(description = "短信内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,你的验证码是 1024") - private String templateContent; - - @Schema(description = "短信参数", requiredMode = Schema.RequiredMode.REQUIRED, example = "name,code") - private Map templateParams; - - @Schema(description = "短信 API 的模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SMS_207945135") - private String apiTemplateId; - - @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300") - private String mobile; - - @Schema(description = "用户编号", example = "10") - private Long userId; - - @Schema(description = "用户类型", example = "1") - private Integer userType; - - @Schema(description = "发送状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer sendStatus; - - @Schema(description = "发送时间") - private LocalDateTime sendTime; - - @Schema(description = "发送结果的编码", example = "0") - private Integer sendCode; - - @Schema(description = "发送结果的提示", example = "成功") - private String sendMsg; - - @Schema(description = "短信 API 发送结果的编码", example = "SUCCESS") - private String apiSendCode; - - @Schema(description = "短信 API 发送失败的提示", example = "成功") - private String apiSendMsg; - - @Schema(description = "短信 API 发送返回的唯一请求 ID", example = "3837C6D3-B96F-428C-BBB2-86135D4B5B99") - private String apiRequestId; - - @Schema(description = "短信 API 发送返回的序号", example = "62923244790") - private String apiSerialNo; - - @Schema(description = "接收状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") - private Integer receiveStatus; - - @Schema(description = "接收时间") - private LocalDateTime receiveTime; - - @Schema(description = "API 接收结果的编码", example = "DELIVRD") - private String apiReceiveCode; - - @Schema(description = "API 接收结果的说明", example = "用户接收成功") - private String apiReceiveMsg; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateBaseVO.java deleted file mode 100644 index 8db2d10d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateBaseVO.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.template; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -/** -* 短信模板 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class SmsTemplateBaseVO { - - @Schema(description = "短信类型,参见 SmsTemplateTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "短信类型不能为空") - private Integer type; - - @Schema(description = "开启状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "开启状态不能为空") - private Integer status; - - @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") - @NotNull(message = "模板编码不能为空") - private String code; - - @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") - @NotNull(message = "模板名称不能为空") - private String name; - - @Schema(description = "模板内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,{name}。你长的太{like}啦!") - @NotNull(message = "模板内容不能为空") - private String content; - - @Schema(description = "备注", example = "哈哈哈") - private String remark; - - @Schema(description = "短信 API 的模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4383920") - @NotNull(message = "短信 API 的模板编号不能为空") - private String apiTemplateId; - - @Schema(description = "短信渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") - @NotNull(message = "短信渠道编号不能为空") - private Long channelId; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateCreateReqVO.java deleted file mode 100644 index f924b8e1..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateCreateReqVO.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.template; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 短信模板创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsTemplateCreateReqVO extends SmsTemplateBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateExcelVO.java deleted file mode 100644 index ef65bfed..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateExcelVO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.template; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 短信模板 Excel VO - * - * @author 闻荫源码 - */ -@Data -public class SmsTemplateExcelVO { - - @ExcelProperty("编号") - private Long id; - - @ExcelProperty(value = "短信签名", converter = DictConvert.class) - @DictFormat(DictTypeConstants.SMS_TEMPLATE_TYPE) - private Integer type; - - @ExcelProperty(value = "开启状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private Integer status; - - @ExcelProperty("模板编码") - private String code; - - @ExcelProperty("模板名称") - private String name; - - @ExcelProperty("模板内容") - private String content; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("短信 API 的模板编号") - private String apiTemplateId; - - @ExcelProperty("短信渠道编号") - private Long channelId; - - @ExcelProperty(value = "短信渠道编码", converter = DictConvert.class) - @DictFormat(DictTypeConstants.SMS_CHANNEL_CODE) - private String channelCode; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateExportReqVO.java deleted file mode 100644 index 1e40a999..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateExportReqVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 短信模板 Excel 导出 Request VO,参数和 SmsTemplatePageReqVO 是一致的") -@Data -public class SmsTemplateExportReqVO { - - @Schema(description = "短信签名", example = "1") - private Integer type; - - @Schema(description = "开启状态", example = "1") - private Integer status; - - @Schema(description = "模板编码,模糊匹配", example = "test_01") - private String code; - - @Schema(description = "模板内容,模糊匹配", example = "你好,{name}。你长的太{like}啦!") - private String content; - - @Schema(description = "短信 API 的模板编号,模糊匹配", example = "4383920") - private String apiTemplateId; - - @Schema(description = "短信渠道编号", example = "10") - private Long channelId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplatePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplatePageReqVO.java deleted file mode 100644 index d9dd0eec..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplatePageReqVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.template; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 短信模板分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsTemplatePageReqVO extends PageParam { - - @Schema(description = "短信签名", example = "1") - private Integer type; - - @Schema(description = "开启状态", example = "1") - private Integer status; - - @Schema(description = "模板编码,模糊匹配", example = "test_01") - private String code; - - @Schema(description = "模板内容,模糊匹配", example = "你好,{name}。你长的太{like}啦!") - private String content; - - @Schema(description = "短信 API 的模板编号,模糊匹配", example = "4383920") - private String apiTemplateId; - - @Schema(description = "短信渠道编号", example = "10") - private Long channelId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java deleted file mode 100644 index c491d96d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; -import java.util.List; - -@Schema(description = "管理后台 - 短信模板 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsTemplateRespVO extends SmsTemplateBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "短信渠道编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ALIYUN") - private String channelCode; - - @Schema(description = "参数数组", example = "name,code") - private List params; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.java deleted file mode 100644 index 6b5dfff5..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.Map; - -@Schema(description = "管理后台 - 短信模板的发送 Request VO") -@Data -public class SmsTemplateSendReqVO { - - @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300") - @NotNull(message = "手机号不能为空") - private String mobile; - - @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") - @NotNull(message = "模板编码不能为空") - private String templateCode; - - @Schema(description = "模板参数") - private Map templateParams; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateUpdateReqVO.java deleted file mode 100644 index 5fe586a4..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/vo/template/SmsTemplateUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.sms.vo.template; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 短信模板更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SmsTemplateUpdateReqVO extends SmsTemplateBaseVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantController.java deleted file mode 100644 index bac60f1f..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantController.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.win.module.system.controller.admin.tenant; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.system.controller.admin.tenant.vo.tenant.*; -import com.win.module.system.convert.tenant.TenantConvert; -import com.win.module.system.dal.dataobject.tenant.TenantDO; -import com.win.module.system.service.tenant.TenantService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.annotation.security.PermitAll; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 租户") -@RestController -@RequestMapping("/system/tenant") -public class TenantController { - - @Resource - private TenantService tenantService; - - @GetMapping("/get-id-by-name") - @PermitAll - @Operation(summary = "使用租户名,获得租户编号", description = "登录界面,根据用户的租户名,获得租户编号") - @Parameter(name = "name", description = "租户名", required = true, example = "1024") - public CommonResult getTenantIdByName(@RequestParam("name") String name) { - TenantDO tenantDO = tenantService.getTenantByName(name); - return success(tenantDO != null ? tenantDO.getId() : null); - } - - @PostMapping("/create") - @Operation(summary = "创建租户") - @PreAuthorize("@ss.hasPermission('system:tenant:create')") - public CommonResult createTenant(@Valid @RequestBody TenantCreateReqVO createReqVO) { - return success(tenantService.createTenant(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新租户") - @PreAuthorize("@ss.hasPermission('system:tenant:update')") - public CommonResult updateTenant(@Valid @RequestBody TenantUpdateReqVO updateReqVO) { - tenantService.updateTenant(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除租户") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:tenant:delete')") - public CommonResult deleteTenant(@RequestParam("id") Long id) { - tenantService.deleteTenant(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得租户") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:tenant:query')") - public CommonResult getTenant(@RequestParam("id") Long id) { - TenantDO tenant = tenantService.getTenant(id); - return success(TenantConvert.INSTANCE.convert(tenant)); - } - - @GetMapping("/page") - @Operation(summary = "获得租户分页") - @PreAuthorize("@ss.hasPermission('system:tenant:query')") - public CommonResult> getTenantPage(@Valid TenantPageReqVO pageVO) { - PageResult pageResult = tenantService.getTenantPage(pageVO); - return success(TenantConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出租户 Excel") - @PreAuthorize("@ss.hasPermission('system:tenant:export')") - @OperateLog(type = EXPORT) - public void exportTenantExcel(@Valid TenantExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = tenantService.getTenantList(exportReqVO); - // 导出 Excel - List datas = TenantConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "租户.xls", "数据", TenantExcelVO.class, datas); - } - - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantPackageController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantPackageController.java deleted file mode 100644 index 6ff7d8f7..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantPackageController.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.win.module.system.controller.admin.tenant; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.tenant.vo.packages.*; -import com.win.module.system.convert.tenant.TenantPackageConvert; -import com.win.module.system.dal.dataobject.tenant.TenantPackageDO; -import com.win.module.system.service.tenant.TenantPackageService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 租户套餐") -@RestController -@RequestMapping("/system/tenant-package") -@Validated -public class TenantPackageController { - - @Resource - private TenantPackageService tenantPackageService; - - @PostMapping("/create") - @Operation(summary = "创建租户套餐") - @PreAuthorize("@ss.hasPermission('system:tenant-package:create')") - public CommonResult createTenantPackage(@Valid @RequestBody TenantPackageCreateReqVO createReqVO) { - return success(tenantPackageService.createTenantPackage(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新租户套餐") - @PreAuthorize("@ss.hasPermission('system:tenant-package:update')") - public CommonResult updateTenantPackage(@Valid @RequestBody TenantPackageUpdateReqVO updateReqVO) { - tenantPackageService.updateTenantPackage(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除租户套餐") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:tenant-package:delete')") - public CommonResult deleteTenantPackage(@RequestParam("id") Long id) { - tenantPackageService.deleteTenantPackage(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得租户套餐") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:tenant-package:query')") - public CommonResult getTenantPackage(@RequestParam("id") Long id) { - TenantPackageDO tenantPackage = tenantPackageService.getTenantPackage(id); - return success(TenantPackageConvert.INSTANCE.convert(tenantPackage)); - } - - @GetMapping("/page") - @Operation(summary = "获得租户套餐分页") - @PreAuthorize("@ss.hasPermission('system:tenant-package:query')") - public CommonResult> getTenantPackagePage(@Valid TenantPackagePageReqVO pageVO) { - PageResult pageResult = tenantPackageService.getTenantPackagePage(pageVO); - return success(TenantPackageConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/get-simple-list") - @Operation(summary = "获取租户套餐精简信息列表", description = "只包含被开启的租户套餐,主要用于前端的下拉选项") - public CommonResult> getTenantPackageList() { - // 获得角色列表,只要开启状态的 - List list = tenantPackageService.getTenantPackageListByStatus(CommonStatusEnum.ENABLE.getStatus()); - return success(TenantPackageConvert.INSTANCE.convertList02(list)); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageBaseVO.java deleted file mode 100644 index 4788848b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageBaseVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.packages; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.util.Set; - -/** - * 租户套餐 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class TenantPackageBaseVO { - - @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "VIP") - @NotNull(message = "套餐名不能为空") - private String name; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - private Integer status; - - @Schema(description = "备注", example = "好") - private String remark; - - @Schema(description = "关联的菜单编号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "关联的菜单编号不能为空") - private Set menuIds; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageCreateReqVO.java deleted file mode 100644 index 41b2fda1..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.packages; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 租户套餐创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TenantPackageCreateReqVO extends TenantPackageBaseVO { - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackagePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackagePageReqVO.java deleted file mode 100644 index b2e7bbae..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackagePageReqVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.packages; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 租户套餐分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TenantPackagePageReqVO extends PageParam { - - @Schema(description = "套餐名", example = "VIP") - private String name; - - @Schema(description = "状态", example = "1") - private Integer status; - - @Schema(description = "备注", example = "好") - private String remark; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java deleted file mode 100644 index c0f058a1..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.packages; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 租户套餐 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TenantPackageRespVO extends TenantPackageBaseVO { - - @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.java deleted file mode 100644 index 09d1d171..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.packages; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 租户套餐精简 Response VO") -@Data -public class TenantPackageSimpleRespVO { - - @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "套餐编号不能为空") - private Long id; - - @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "VIP") - @NotNull(message = "套餐名不能为空") - private String name; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageUpdateReqVO.java deleted file mode 100644 index 03519a7e..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/packages/TenantPackageUpdateReqVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.packages; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 租户套餐更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TenantPackageUpdateReqVO extends TenantPackageBaseVO { - - @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "套餐编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java deleted file mode 100644 index f2d48a94..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.tenant; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import javax.validation.constraints.*; -import java.time.LocalDateTime; - -/** - * 租户 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class TenantBaseVO { - - @Schema(description = "租户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - @NotNull(message = "租户名不能为空") - private String name; - - @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @NotNull(message = "联系人不能为空") - private String contactName; - - @Schema(description = "联系手机", example = "15601691300") - private String contactMobile; - - @Schema(description = "租户状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "租户状态") - private Integer status; - - @Schema(description = "绑定域名", example = "https://www.iocoder.cn") - private String domain; - - @Schema(description = "租户套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "租户套餐编号不能为空") - private Long packageId; - - @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "过期时间不能为空") - private LocalDateTime expireTime; - - @Schema(description = "账号数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "账号数量不能为空") - private Integer accountCount; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantCreateReqVO.java deleted file mode 100644 index 722abdb3..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantCreateReqVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.tenant; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import org.hibernate.validator.constraints.Length; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; - -@Schema(description = "管理后台 - 租户创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TenantCreateReqVO extends TenantBaseVO { - - @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") - @NotBlank(message = "用户账号不能为空") - @Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "用户账号由 数字、字母 组成") - @Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符") - private String username; - - @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") - @NotEmpty(message = "密码不能为空") - @Length(min = 4, max = 16, message = "密码长度为 4-16 位") - private String password; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantExcelVO.java deleted file mode 100644 index f8b5a529..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantExcelVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.tenant; - -import com.win.module.system.enums.DictTypeConstants; -import lombok.*; -import java.time.LocalDateTime; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; - - -/** - * 租户 Excel VO - * - * @author 闻荫源码 - */ -@Data -public class TenantExcelVO { - - @ExcelProperty("租户编号") - private Long id; - - @ExcelProperty("租户名") - private String name; - - @ExcelProperty("联系人") - private String contactName; - - @ExcelProperty("联系手机") - private String contactMobile; - - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private Integer status; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantExportReqVO.java deleted file mode 100644 index d1370003..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantExportReqVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.tenant; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 租户 Excel 导出 Request VO,参数和 TenantPageReqVO 是一致的") -@Data -public class TenantExportReqVO { - - @Schema(description = "租户名", example = "闻荫") - private String name; - - @Schema(description = "联系人", example = "芋艿") - private String contactName; - - @Schema(description = "联系手机", example = "15601691300") - private String contactMobile; - - @Schema(description = "租户状态(0正常 1停用)", example = "1") - private Integer status; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantPageReqVO.java deleted file mode 100644 index 86542401..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantPageReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.tenant; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 租户分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TenantPageReqVO extends PageParam { - - @Schema(description = "租户名", example = "闻荫") - private String name; - - @Schema(description = "联系人", example = "芋艿") - private String contactName; - - @Schema(description = "联系手机", example = "15601691300") - private String contactMobile; - - @Schema(description = "租户状态(0正常 1停用)", example = "1") - private Integer status; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @Schema(description = "创建时间") - private LocalDateTime[] createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java deleted file mode 100644 index 6659c14d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.tenant; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 租户 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TenantRespVO extends TenantBaseVO { - - @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantUpdateReqVO.java deleted file mode 100644 index c05233fa..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/vo/tenant/TenantUpdateReqVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.win.module.system.controller.admin.tenant.vo.tenant; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import javax.validation.constraints.*; - -@Schema(description = "管理后台 - 租户更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class TenantUpdateReqVO extends TenantBaseVO { - - @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "租户编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserController.java deleted file mode 100644 index 80972da8..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserController.java +++ /dev/null @@ -1,192 +0,0 @@ -package com.win.module.system.controller.admin.user; - -import cn.hutool.core.collection.CollUtil; -import com.win.module.system.controller.admin.user.vo.user.*; -import com.win.module.system.convert.user.UserConvert; -import com.win.module.system.dal.dataobject.dept.DeptDO; -import com.win.module.system.dal.dataobject.user.AdminUserDO; -import com.win.module.system.service.dept.DeptService; -import com.win.module.system.service.user.AdminUserService; -import com.win.module.system.enums.common.SexEnum; -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.util.collection.MapUtils; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.*; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.common.util.collection.CollectionUtils.convertList; -import static com.win.framework.common.util.collection.CollectionUtils.convertSet; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 用户") -@RestController -@RequestMapping("/system/user") -@Validated -public class UserController { - - @Resource - private AdminUserService userService; - @Resource - private DeptService deptService; - - @PostMapping("/create") - @Operation(summary = "新增用户") - @PreAuthorize("@ss.hasPermission('system:user:create')") - public CommonResult createUser(@Valid @RequestBody UserCreateReqVO reqVO) { - Long id = userService.createUser(reqVO); - return success(id); - } - - @PutMapping("update") - @Operation(summary = "修改用户") - @PreAuthorize("@ss.hasPermission('system:user:update')") - public CommonResult updateUser(@Valid @RequestBody UserUpdateReqVO reqVO) { - userService.updateUser(reqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除用户") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:user:delete')") - public CommonResult deleteUser(@RequestParam("id") Long id) { - userService.deleteUser(id); - return success(true); - } - - @PutMapping("/update-password") - @Operation(summary = "重置用户密码") - @PreAuthorize("@ss.hasPermission('system:user:update-password')") - public CommonResult updateUserPassword(@Valid @RequestBody UserUpdatePasswordReqVO reqVO) { - userService.updateUserPassword(reqVO.getId(), reqVO.getPassword()); - return success(true); - } - - @PutMapping("/update-status") - @Operation(summary = "修改用户状态") - @PreAuthorize("@ss.hasPermission('system:user:update')") - public CommonResult updateUserStatus(@Valid @RequestBody UserUpdateStatusReqVO reqVO) { - userService.updateUserStatus(reqVO.getId(), reqVO.getStatus()); - return success(true); - } - - @GetMapping("/page") - @Operation(summary = "获得用户分页列表") - @PreAuthorize("@ss.hasPermission('system:user:list')") - public CommonResult> getUserPage(@Valid UserPageReqVO reqVO) { - // 获得用户分页列表 - PageResult pageResult = userService.getUserPage(reqVO); - if (CollUtil.isEmpty(pageResult.getList())) { - return success(new PageResult<>(pageResult.getTotal())); // 返回空 - } - - // 获得拼接需要的数据 - Collection deptIds = convertList(pageResult.getList(), AdminUserDO::getDeptId); - Map deptMap = deptService.getDeptMap(deptIds); - // 拼接结果返回 - List userList = new ArrayList<>(pageResult.getList().size()); - pageResult.getList().forEach(user -> { - UserPageItemRespVO respVO = UserConvert.INSTANCE.convert(user); - respVO.setDept(UserConvert.INSTANCE.convert(deptMap.get(user.getDeptId()))); - userList.add(respVO); - }); - return success(new PageResult<>(userList, pageResult.getTotal())); - } - - @GetMapping("/list-all-simple") - @Operation(summary = "获取用户精简信息列表", description = "只包含被开启的用户,主要用于前端的下拉选项") - public CommonResult> getSimpleUserList() { - // 获用户列表,只要开启状态的 - List list = userService.getUserListByStatus(CommonStatusEnum.ENABLE.getStatus()); - // 排序后,返回给前端 - return success(UserConvert.INSTANCE.convertList04(list)); - } - - @GetMapping("/get") - @Operation(summary = "获得用户详情") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:user:query')") - public CommonResult getUser(@RequestParam("id") Long id) { - AdminUserDO user = userService.getUser(id); - // 获得部门数据 - DeptDO dept = deptService.getDept(user.getDeptId()); - return success(UserConvert.INSTANCE.convert(user).setDept(UserConvert.INSTANCE.convert(dept))); - } - - @GetMapping("/export") - @Operation(summary = "导出用户") - @PreAuthorize("@ss.hasPermission('system:user:export')") - @OperateLog(type = EXPORT) - public void exportUserList(@Validated UserExportReqVO reqVO, - HttpServletResponse response) throws IOException { - // 获得用户列表 - List users = userService.getUserList(reqVO); - - // 获得拼接需要的数据 - Collection deptIds = convertList(users, AdminUserDO::getDeptId); - Map deptMap = deptService.getDeptMap(deptIds); - Map deptLeaderUserMap = userService.getUserMap( - convertSet(deptMap.values(), DeptDO::getLeaderUserId)); - // 拼接数据 - List excelUsers = new ArrayList<>(users.size()); - users.forEach(user -> { - UserExcelVO excelVO = UserConvert.INSTANCE.convert02(user); - // 设置部门 - MapUtils.findAndThen(deptMap, user.getDeptId(), dept -> { - excelVO.setDeptName(dept.getName()); - // 设置部门负责人的名字 - MapUtils.findAndThen(deptLeaderUserMap, dept.getLeaderUserId(), - deptLeaderUser -> excelVO.setDeptLeaderNickname(deptLeaderUser.getNickname())); - }); - excelUsers.add(excelVO); - }); - - // 输出 - ExcelUtils.write(response, "用户数据.xls", "用户列表", UserExcelVO.class, excelUsers); - } - - @GetMapping("/get-import-template") - @Operation(summary = "获得导入用户模板") - public void importTemplate(HttpServletResponse response) throws IOException { - // 手动创建导出 demo - List list = Arrays.asList( - UserImportExcelVO.builder().username("yunai").deptId(1L).email("yunai@iocoder.cn").mobile("15601691300") - .nickname("闻荫").status(CommonStatusEnum.ENABLE.getStatus()).sex(SexEnum.MALE.getSex()).build(), - UserImportExcelVO.builder().username("yuanma").deptId(2L).email("yuanma@iocoder.cn").mobile("15601701300") - .nickname("源码").status(CommonStatusEnum.DISABLE.getStatus()).sex(SexEnum.FEMALE.getSex()).build() - ); - - // 输出 - ExcelUtils.write(response, "用户导入模板.xls", "用户列表", UserImportExcelVO.class, list); - } - - @PostMapping("/import") - @Operation(summary = "导入用户") - @Parameters({ - @Parameter(name = "file", description = "Excel 文件", required = true), - @Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true") - }) - @PreAuthorize("@ss.hasPermission('system:user:import')") - public CommonResult importExcel(@RequestParam("file") MultipartFile file, - @RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport) throws Exception { - List list = ExcelUtils.read(file, UserImportExcelVO.class); - return success(userService.importUserList(list, updateSupport)); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserProfileController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserProfileController.java deleted file mode 100644 index 7ce7d441..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserProfileController.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.win.module.system.controller.admin.user; - -import cn.hutool.core.collection.CollUtil; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.datapermission.core.annotation.DataPermission; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileRespVO; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; -import com.win.module.system.convert.user.UserConvert; -import com.win.module.system.dal.dataobject.dept.DeptDO; -import com.win.module.system.dal.dataobject.dept.PostDO; -import com.win.module.system.dal.dataobject.permission.RoleDO; -import com.win.module.system.dal.dataobject.user.AdminUserDO; -import com.win.module.system.service.dept.DeptService; -import com.win.module.system.service.dept.PostService; -import com.win.module.system.service.permission.PermissionService; -import com.win.module.system.service.permission.RoleService; -import com.win.module.system.service.user.AdminUserService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; - -import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; -import static com.win.module.infra.enums.ErrorCodeConstants.FILE_IS_EMPTY; - -@Tag(name = "管理后台 - 用户个人中心") -@RestController -@RequestMapping("/system/user/profile") -@Validated -@Slf4j -public class UserProfileController { - - @Resource - private AdminUserService userService; - @Resource - private DeptService deptService; - @Resource - private PostService postService; - @Resource - private PermissionService permissionService; - @Resource - private RoleService roleService; - - @GetMapping("/get") - @Operation(summary = "获得登录用户信息") - @DataPermission(enable = false) // 关闭数据权限,避免只查看自己时,查询不到部门。 - public CommonResult profile() { - // 获得用户基本信息 - AdminUserDO user = userService.getUser(getLoginUserId()); - UserProfileRespVO resp = UserConvert.INSTANCE.convert03(user); - // 获得用户角色 - List userRoles = roleService.getRoleListFromCache(permissionService.getUserRoleIdListByUserId(user.getId())); - resp.setRoles(UserConvert.INSTANCE.convertList(userRoles)); - // 获得部门信息 - if (user.getDeptId() != null) { - DeptDO dept = deptService.getDept(user.getDeptId()); - resp.setDept(UserConvert.INSTANCE.convert02(dept)); - } - // 获得岗位信息 - if (CollUtil.isNotEmpty(user.getPostIds())) { - List posts = postService.getPostList(user.getPostIds()); - resp.setPosts(UserConvert.INSTANCE.convertList02(posts)); - } - return success(resp); - } - - @PutMapping("/update") - @Operation(summary = "修改用户个人信息") - public CommonResult updateUserProfile(@Valid @RequestBody UserProfileUpdateReqVO reqVO) { - userService.updateUserProfile(getLoginUserId(), reqVO); - return success(true); - } - - @PutMapping("/update-password") - @Operation(summary = "修改用户个人密码") - public CommonResult updateUserProfilePassword(@Valid @RequestBody UserProfileUpdatePasswordReqVO reqVO) { - userService.updateUserPassword(getLoginUserId(), reqVO); - return success(true); - } - - @RequestMapping(value = "/update-avatar", method = {RequestMethod.POST, RequestMethod.PUT}) // 解决 uni-app 不支持 Put 上传文件的问题 - @Operation(summary = "上传用户个人头像") - public CommonResult updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws Exception { - if (file.isEmpty()) { - throw exception(FILE_IS_EMPTY); - } - String avatar = userService.updateUserAvatar(getLoginUserId(), file.getInputStream()); - return success(avatar); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java deleted file mode 100644 index 2dbbab61..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.profile; - -import com.win.module.system.controller.admin.user.vo.user.UserBaseVO; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -import java.time.LocalDateTime; -import java.util.List; - - -@Data -@EqualsAndHashCode(callSuper = true) -@NoArgsConstructor -@AllArgsConstructor -@Schema(description = "管理后台 - 用户个人中心信息 Response VO") -public class UserProfileRespVO extends UserBaseVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "最后登录 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "192.168.1.1") - private String loginIp; - - @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime loginDate; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - - /** - * 所属角色 - */ - private List roles; - - /** - * 所在部门 - */ - private Dept dept; - - /** - * 所属岗位数组 - */ - private List posts; - /** - * 社交用户数组 - */ - private List socialUsers; - - @Schema(description = "角色") - @Data - public static class Role { - - @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "普通角色") - private String name; - - } - - @Schema(description = "部门") - @Data - public static class Dept { - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") - private String name; - - } - - @Schema(description = "岗位") - @Data - public static class Post { - - @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "开发") - private String name; - - } - - @Schema(description = "社交用户") - @Data - public static class SocialUser { - - @Schema(description = "社交平台的类型,参见 SocialTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") - private Integer type; - - @Schema(description = "社交用户的 openid", requiredMode = Schema.RequiredMode.REQUIRED, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE") - private String openid; - - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.java deleted file mode 100644 index fbfecae9..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.profile; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.hibernate.validator.constraints.Length; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 用户个人中心更新密码 Request VO") -@Data -public class UserProfileUpdatePasswordReqVO { - - @Schema(description = "旧密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") - @NotEmpty(message = "旧密码不能为空") - @Length(min = 4, max = 16, message = "密码长度为 4-16 位") - private String oldPassword; - - @Schema(description = "新密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "654321") - @NotEmpty(message = "新密码不能为空") - @Length(min = 4, max = 16, message = "密码长度为 4-16 位") - private String newPassword; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java deleted file mode 100644 index 7bb7cb51..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.profile; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.hibernate.validator.constraints.Length; - -import javax.validation.constraints.Email; -import javax.validation.constraints.Size; - - -@Schema(description = "管理后台 - 用户个人信息更新 Request VO") -@Data -public class UserProfileUpdateReqVO { - - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @Size(max = 30, message = "用户昵称长度不能超过 30 个字符") - private String nickname; - - @Schema(description = "用户邮箱", example = "win@iocoder.cn") - @Email(message = "邮箱格式不正确") - @Size(max = 50, message = "邮箱长度不能超过 50 个字符") - private String email; - - @Schema(description = "手机号码", example = "15601691300") - @Length(min = 11, max = 11, message = "手机号长度必须 11 位") - private String mobile; - - @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") - private Integer sex; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserBaseVO.java deleted file mode 100644 index 8d537617..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserBaseVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import com.win.framework.common.validation.Mobile; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; -import java.util.Set; - -/** - * 用户 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class UserBaseVO { - - @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") - @NotBlank(message = "用户账号不能为空") - @Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "用户账号由 数字、字母 组成") - @Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符") - private String username; - - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @Size(max = 30, message = "用户昵称长度不能超过30个字符") - private String nickname; - - @Schema(description = "备注", example = "我是一个用户") - private String remark; - - @Schema(description = "部门ID", example = "我是一个用户") - private Long deptId; - - @Schema(description = "岗位编号数组", example = "1") - private Set postIds; - - @Schema(description = "用户邮箱", example = "win@iocoder.cn") - @Email(message = "邮箱格式不正确") - @Size(max = 50, message = "邮箱长度不能超过 50 个字符") - private String email; - - @Schema(description = "手机号码", example = "15601691300") - @Mobile - private String mobile; - - @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") - private Integer sex; - - @Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png") - private String avatar; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserCreateReqVO.java deleted file mode 100644 index a3e65287..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserCreateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.hibernate.validator.constraints.Length; - -import javax.validation.constraints.NotEmpty; - -@Schema(description = "管理后台 - 用户创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class UserCreateReqVO extends UserBaseVO { - - @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") - @NotEmpty(message = "密码不能为空") - @Length(min = 4, max = 16, message = "密码长度为 4-16 位") - private String password; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserExcelVO.java deleted file mode 100644 index f14f64ea..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserExcelVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 用户 Excel 导出 VO - */ -@Data -public class UserExcelVO { - - @ExcelProperty("用户编号") - private Long id; - - @ExcelProperty("用户名称") - private String username; - - @ExcelProperty("用户昵称") - private String nickname; - - @ExcelProperty("用户邮箱") - private String email; - - @ExcelProperty("手机号码") - private String mobile; - - @ExcelProperty(value = "用户性别", converter = DictConvert.class) - @DictFormat(DictTypeConstants.USER_SEX) - private Integer sex; - - @ExcelProperty(value = "帐号状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private Integer status; - - @ExcelProperty("最后登录IP") - private String loginIp; - - @ExcelProperty("最后登录时间") - private LocalDateTime loginDate; - - @ExcelProperty("部门名称") - private String deptName; - - @ExcelProperty("部门负责人") - private String deptLeaderNickname; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserExportReqVO.java deleted file mode 100644 index ab53001f..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserExportReqVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 用户导出 Request VO,参数和 UserPageReqVO 是一致的") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class UserExportReqVO { - - @Schema(description = "用户账号,模糊匹配", example = "win") - private String username; - - @Schema(description = "手机号码,模糊匹配", example = "win") - private String mobile; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "部门编号,同时筛选子部门", example = "1024") - private Long deptId; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserImportExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserImportExcelVO.java deleted file mode 100644 index 08443380..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserImportExcelVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import com.win.module.system.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 用户 Excel 导入 VO - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题 -public class UserImportExcelVO { - - @ExcelProperty("登录名称") - private String username; - - @ExcelProperty("用户名称") - private String nickname; - - @ExcelProperty("部门编号") - private Long deptId; - - @ExcelProperty("用户邮箱") - private String email; - - @ExcelProperty("手机号码") - private String mobile; - - @ExcelProperty(value = "用户性别", converter = DictConvert.class) - @DictFormat(DictTypeConstants.USER_SEX) - private Integer sex; - - @ExcelProperty(value = "账号状态", converter = DictConvert.class) - @DictFormat(DictTypeConstants.COMMON_STATUS) - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserImportRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserImportRespVO.java deleted file mode 100644 index 4a2525f2..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserImportRespVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Builder; -import lombok.Data; - -import java.util.List; -import java.util.Map; - -@Schema(description = "管理后台 - 用户导入 Response VO") -@Data -@Builder -public class UserImportRespVO { - - @Schema(description = "创建成功的用户名数组", requiredMode = Schema.RequiredMode.REQUIRED) - private List createUsernames; - - @Schema(description = "更新成功的用户名数组", requiredMode = Schema.RequiredMode.REQUIRED) - private List updateUsernames; - - @Schema(description = "导入失败的用户集合,key 为用户名,value 为失败原因", requiredMode = Schema.RequiredMode.REQUIRED) - private Map failureUsernames; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserPageItemRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserPageItemRespVO.java deleted file mode 100644 index 79342584..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserPageItemRespVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -@Schema(description = "管理后台 - 用户分页时的信息 Response VO,相比用户基本信息来说,会多部门信息") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class UserPageItemRespVO extends UserRespVO { - - /** - * 所在部门 - */ - private Dept dept; - - @Schema(description = "部门") - @Data - public static class Dept { - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") - private String name; - - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserPageReqVO.java deleted file mode 100644 index 2d49bef5..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserPageReqVO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 用户分页 Request VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class UserPageReqVO extends PageParam { - - @Schema(description = "用户账号,模糊匹配", example = "win") - private String username; - - @Schema(description = "手机号码,模糊匹配", example = "win") - private String mobile; - - @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") - private Integer status; - - @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "部门编号,同时筛选子部门", example = "1024") - private Long deptId; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserRespVO.java deleted file mode 100644 index 636b9d0b..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserRespVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.time.LocalDateTime; - - -@Schema(description = "管理后台 - 用户信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class UserRespVO extends UserBaseVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Integer status; - - @Schema(description = "最后登录 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "192.168.1.1") - private String loginIp; - - @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime loginDate; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") - private LocalDateTime createTime; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java deleted file mode 100644 index a9f2d8e9..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Schema(description = "管理后台 - 用户精简信息 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class UserSimpleRespVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Long id; - - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") - private String nickname; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.java deleted file mode 100644 index e3d834e3..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.hibernate.validator.constraints.Length; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 用户更新密码 Request VO") -@Data -public class UserUpdatePasswordReqVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "用户编号不能为空") - private Long id; - - @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") - @NotEmpty(message = "密码不能为空") - @Length(min = 4, max = 16, message = "密码长度为 4-16 位") - private String password; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdateReqVO.java deleted file mode 100644 index 5a218c5c..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 用户更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -public class UserUpdateReqVO extends UserBaseVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "用户编号不能为空") - private Long id; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.java deleted file mode 100644 index 4f9f7bf8..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.admin.user.vo.user; - -import com.win.framework.common.enums.CommonStatusEnum; -import com.win.framework.common.validation.InEnum; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 用户更新状态 Request VO") -@Data -public class UserUpdateStatusReqVO { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "角色编号不能为空") - private Long id; - - @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "状态不能为空") - @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") - private Integer status; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/dict/AppDictDataController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/dict/AppDictDataController.java deleted file mode 100644 index e9a279c1..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/dict/AppDictDataController.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.win.module.system.controller.app.dict; - -public class AppDictDataController { -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/ip/AppAreaController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/ip/AppAreaController.java deleted file mode 100644 index f111559d..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/ip/AppAreaController.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.win.module.system.controller.app.ip; - -import cn.hutool.core.lang.Assert; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.ip.core.Area; -import com.win.framework.ip.core.utils.AreaUtils; -import com.win.module.system.controller.app.ip.vo.AppAreaNodeRespVO; -import com.win.module.system.convert.ip.AreaConvert; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; - -@Tag(name = "用户 App - 地区") -@RestController -@RequestMapping("/system/area") -@Validated -public class AppAreaController { - - @GetMapping("/tree") - @Operation(summary = "获得地区树") - public CommonResult> getAreaTree() { - Area area = AreaUtils.getArea(Area.ID_CHINA); - Assert.notNull(area, "获取不到中国"); - return success(AreaConvert.INSTANCE.convertList3(area.getChildren())); - } - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/ip/vo/AppAreaNodeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/ip/vo/AppAreaNodeRespVO.java deleted file mode 100644 index c62f4624..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/ip/vo/AppAreaNodeRespVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.win.module.system.controller.app.ip.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -@Schema(description = "用户 App - 地区节点 Response VO") -@Data -public class AppAreaNodeRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000") - private Integer id; - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京") - private String name; - - /** - * 子节点 - */ - private List children; - -} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/package-info.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/package-info.java deleted file mode 100644 index 1a9ad0ac..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/app/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 占位,避免 package 无法提交到 Git 仓库 - */ -package com.win.module.system.controller.app; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/AuthController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/AuthController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/auth/AuthController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/AuthController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/AuthController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/AuthController.java new file mode 100644 index 00000000..a761a9ce --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/AuthController.java @@ -0,0 +1,113 @@ +package com.win.module.system.controller.auth; + +import cn.hutool.core.util.StrUtil; +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.framework.security.config.SecurityProperties; +import com.win.module.system.controller.auth.vo.AuthLoginReqVO; +import com.win.module.system.controller.auth.vo.AuthLoginRespVO; +import com.win.module.system.controller.auth.vo.AuthPermissionInfoRespVO; +import com.win.module.system.convert.auth.AuthConvert; +import com.win.module.system.dal.dataobject.permission.MenuDO; +import com.win.module.system.dal.dataobject.permission.RoleDO; +import com.win.module.system.dal.dataobject.user.AdminUserDO; +import com.win.module.system.enums.logger.LoginLogTypeEnum; +import com.win.module.system.service.auth.AdminAuthService; +import com.win.module.system.service.permission.MenuService; +import com.win.module.system.service.permission.PermissionService; +import com.win.module.system.service.permission.RoleService; +import com.win.module.system.service.user.AdminUserService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.annotation.security.PermitAll; +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import java.util.List; +import java.util.Set; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.common.util.collection.CollectionUtils.convertSet; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.obtainAuthorization; + +@Tag(name = "管理后台 - 认证") +@RestController +@RequestMapping("/system/auth") +@Validated +@Slf4j +public class AuthController { + + @Resource + private AdminAuthService authService; + @Resource + private AdminUserService userService; + @Resource + private RoleService roleService; + @Resource + private MenuService menuService; + @Resource + private PermissionService permissionService; + + @Resource + private SecurityProperties securityProperties; + + @PostMapping("/login") + @PermitAll + @Operation(summary = "使用账号密码登录") + @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 + public CommonResult login(@RequestBody @Valid AuthLoginReqVO reqVO) { + return success(authService.login(reqVO)); + } + + @PostMapping("/logout") + @PermitAll + @Operation(summary = "登出系统") + @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 + public CommonResult logout(HttpServletRequest request) { + String token = obtainAuthorization(request, securityProperties.getTokenHeader()); + if (StrUtil.isNotBlank(token)) { + authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType()); + } + return success(true); + } + + @PostMapping("/refresh-token") + @PermitAll + @Operation(summary = "刷新令牌") + @Parameter(name = "refreshToken", description = "刷新令牌", required = true) + @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 + public CommonResult refreshToken(@RequestParam("refreshToken") String refreshToken) { + return success(authService.refreshToken(refreshToken)); + } + + @GetMapping("/get-permission-info") + @Operation(summary = "获取登录用户的权限信息") + public CommonResult getPermissionInfo() { + // 1.1 获得用户信息 + AdminUserDO user = userService.getUser(getLoginUserId()); + if (user == null) { + return null; + } + + // 1.2 获得角色列表 + Set roleIds = permissionService.getUserRoleIdListByUserId(getLoginUserId()); + List roles = roleService.getRoleList(roleIds); + roles.removeIf(role -> !CommonStatusEnum.ENABLE.getStatus().equals(role.getStatus())); // 移除禁用的角色 + + // 1.3 获得菜单列表 + Set menuIds = permissionService.getRoleMenuListByRoleId(convertSet(roles, RoleDO::getId)); + List menuList = menuService.getMenuList(menuIds); + menuList.removeIf(menu -> !CommonStatusEnum.ENABLE.getStatus().equals(menu.getStatus())); // 移除禁用的菜单 + + // 2. 拼接结果返回 + return success(AuthConvert.INSTANCE.convert(user, roles, menuList)); + } + +} \ No newline at end of file diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthLoginReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthLoginReqVO.java new file mode 100644 index 00000000..9b5c589d --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthLoginReqVO.java @@ -0,0 +1,46 @@ +package com.win.module.system.controller.auth.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Pattern; + +@Schema(description = "管理后台 - 账号密码登录 Request VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AuthLoginReqVO { + + @Schema(description = "账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma") + @NotEmpty(message = "登录账号不能为空") + @Length(min = 4, max = 16, message = "账号长度为 4-16 位") + @Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母") + private String username; + + @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao") + @NotEmpty(message = "密码不能为空") + @Length(min = 4, max = 16, message = "密码长度为 4-16 位") + private String password; + + // ========== 验证码相关 ========== + + /** + * 验证码 + */ + @Schema(description = "验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "12") + @NotEmpty(message = "验证码不能为空") + private String code; + + /** + * 唯一标识 + */ + @NotEmpty(message = "uuid不能为空") + private String uuid; + +} \ No newline at end of file diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthLoginRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthLoginRespVO.java new file mode 100644 index 00000000..cbafb14e --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthLoginRespVO.java @@ -0,0 +1,30 @@ +package com.win.module.system.controller.auth.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 登录 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AuthLoginRespVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long userId; + + @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "happy") + private String accessToken; + + @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice") + private String refreshToken; + + @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime expiresTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthMenuRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthMenuRespVO.java new file mode 100644 index 00000000..5843032a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthMenuRespVO.java @@ -0,0 +1,53 @@ +package com.win.module.system.controller.auth.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Schema(description = "管理后台 - 登录用户的菜单信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AuthMenuRespVO { + + @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private Long id; + + @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long parentId; + + @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "路由地址,仅菜单类型为菜单或者目录时,才需要传", example = "post") + private String path; + + @Schema(description = "组件路径,仅菜单类型为菜单时,才需要传", example = "system/post/index") + private String component; + + @Schema(description = "组件名", example = "SystemUser") + private String componentName; + + @Schema(description = "菜单图标,仅菜单类型为菜单或者目录时,才需要传", example = "/menu/list") + private String icon; + + @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + private Boolean visible; + + @Schema(description = "是否缓存", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + private Boolean keepAlive; + + @Schema(description = "是否总是显示", example = "false") + private Boolean alwaysShow; + + /** + * 子路由 + */ + private List children; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthPermissionInfoRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthPermissionInfoRespVO.java new file mode 100644 index 00000000..5e5921dc --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthPermissionInfoRespVO.java @@ -0,0 +1,93 @@ +package com.win.module.system.controller.auth.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; +import java.util.Set; + +@Schema(description = "管理后台 - 登录用户的权限信息 Response VO,额外包括用户信息和角色列表") +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AuthPermissionInfoRespVO { + + @Schema(description = "用户信息", requiredMode = Schema.RequiredMode.REQUIRED) + private UserVO user; + + @Schema(description = "角色标识数组", requiredMode = Schema.RequiredMode.REQUIRED) + private Set roles; + + @Schema(description = "操作权限数组", requiredMode = Schema.RequiredMode.REQUIRED) + private Set permissions; + + @Schema(description = "菜单树", requiredMode = Schema.RequiredMode.REQUIRED) + private List menus; + + @Schema(description = "用户信息 VO") + @Data + @NoArgsConstructor + @AllArgsConstructor + @Builder + public static class UserVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") + private String nickname; + + @Schema(description = "用户头像", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.jpg") + private String avatar; + + } + + @Schema(description = "管理后台 - 登录用户的菜单信息 Response VO") + @Data + @NoArgsConstructor + @AllArgsConstructor + @Builder + public static class MenuVO { + + @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private Long id; + + @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long parentId; + + @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "路由地址,仅菜单类型为菜单或者目录时,才需要传", example = "post") + private String path; + + @Schema(description = "组件路径,仅菜单类型为菜单时,才需要传", example = "system/post/index") + private String component; + + @Schema(description = "组件名", example = "SystemUser") + private String componentName; + + @Schema(description = "菜单图标,仅菜单类型为菜单或者目录时,才需要传", example = "/menu/list") + private String icon; + + @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + private Boolean visible; + + @Schema(description = "是否缓存", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + private Boolean keepAlive; + + @Schema(description = "是否总是显示", example = "false") + private Boolean alwaysShow; + + /** + * 子路由 + */ + private List children; + + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthSmsLoginReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthSmsLoginReqVO.java new file mode 100644 index 00000000..1962d55f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthSmsLoginReqVO.java @@ -0,0 +1,28 @@ +package com.win.module.system.controller.auth.vo; + +import com.win.framework.common.validation.Mobile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 短信验证码的登录 Request VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AuthSmsLoginReqVO { + + @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma") + @NotEmpty(message = "手机号不能为空") + @Mobile + private String mobile; + + @Schema(description = "短信验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotEmpty(message = "验证码不能为空") + private String code; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthSmsSendReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthSmsSendReqVO.java new file mode 100644 index 00000000..0d1317b5 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/auth/vo/AuthSmsSendReqVO.java @@ -0,0 +1,32 @@ +package com.win.module.system.controller.auth.vo; + +import com.win.framework.common.validation.InEnum; +import com.win.framework.common.validation.Mobile; +import com.win.module.system.enums.sms.SmsSceneEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 发送手机验证码 Request VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AuthSmsSendReqVO { + + @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma") + @NotEmpty(message = "手机号不能为空") + @Mobile + private String mobile; + + @Schema(description = "短信场景", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "发送场景不能为空") + @InEnum(SmsSceneEnum.class) + private Integer scene; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/captcha/CaptchaController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/captcha/CaptchaController.java new file mode 100644 index 00000000..aff90d92 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/captcha/CaptchaController.java @@ -0,0 +1,87 @@ +package com.win.module.system.controller.captcha; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.IdUtil; +import com.google.code.kaptcha.Producer; +import com.win.framework.captcha.config.CaptchaProperties; +import com.win.framework.captcha.enums.CaptchaRedisKeyConstants; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.redis.util.RedisCache; +import com.win.module.system.enums.ErrorCodeConstants; +import org.springframework.util.FastByteArrayOutputStream; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.annotation.security.PermitAll; +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import static com.win.framework.common.pojo.CommonResult.error; +import static com.win.framework.common.pojo.CommonResult.success; + +/** + * 验证码操作处理 + * + * @author win + */ +@RestController +@RequestMapping("/system/captcha") +public class CaptchaController { + @Resource(name = "captchaProducer") + private Producer captchaProducer; + @Resource + private RedisCache redisCache; + @Resource(name = "captchaProducerMath") + private Producer captchaProducerMath; + @Resource + private CaptchaProperties captchaProperties; + + /** + * 生成验证码 + */ + @PermitAll + @GetMapping("/captchaImage") + public CommonResult getCode(HttpServletResponse response) throws IOException { + Map data = new HashMap<>(); + boolean captchaEnabled = captchaProperties.getEnable(); + data.put("captchaEnabled", captchaEnabled); + if (!captchaEnabled) { + return success(data); + } + // 保存验证码信息 + String uuid = IdUtil.simpleUUID(); + String verifyKey = CaptchaRedisKeyConstants.CAPTCHA_CODE_KEY + uuid; + String capStr; + String code = null; + BufferedImage image = null; + // 生成验证码 + String captchaType = captchaProperties.getCaptchaType(); + if ("math".equals(captchaType)) { + String capText = captchaProducerMath.createText(); + capStr = capText.substring(0, capText.lastIndexOf("@")); + code = capText.substring(capText.lastIndexOf("@") + 1); + image = captchaProducerMath.createImage(capStr); + } else if ("char".equals(captchaType)) { + capStr = code = captchaProducer.createText(); + image = captchaProducer.createImage(capStr); + } + redisCache.setCacheObject(verifyKey, code, captchaProperties.getCaptchaExpiration(), TimeUnit.MINUTES); + // 转换流信息写出 + FastByteArrayOutputStream os = new FastByteArrayOutputStream(); + try { + ImageIO.write(image, "jpg", os); + } catch (IOException e) { + return error(ErrorCodeConstants.GENERATE_IMAGE_ERROR); + } + data.put("uuid", uuid); + data.put("img", Base64.encode(os.toByteArray())); + return success(data); + } +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/DeptController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/DeptController.java new file mode 100644 index 00000000..14656462 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/DeptController.java @@ -0,0 +1,86 @@ +package com.win.module.system.controller.dept; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.module.system.controller.dept.vo.dept.*; +import com.win.module.system.convert.dept.DeptConvert; +import com.win.module.system.dal.dataobject.dept.DeptDO; +import com.win.module.system.service.dept.DeptService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.Comparator; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 部门") +@RestController +@RequestMapping("/system/dept") +@Validated +public class DeptController { + + @Resource + private DeptService deptService; + + @PostMapping("create") + @Operation(summary = "创建部门") + @PreAuthorize("@ss.hasPermission('system:dept:create')") + public CommonResult createDept(@Valid @RequestBody DeptCreateReqVO reqVO) { + Long deptId = deptService.createDept(reqVO); + return success(deptId); + } + + @PutMapping("update") + @Operation(summary = "更新部门") + @PreAuthorize("@ss.hasPermission('system:dept:update')") + public CommonResult updateDept(@Valid @RequestBody DeptUpdateReqVO reqVO) { + deptService.updateDept(reqVO); + return success(true); + } + + @DeleteMapping("delete") + @Operation(summary = "删除部门") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:dept:delete')") + public CommonResult deleteDept(@RequestParam("id") Long id) { + deptService.deleteDept(id); + return success(true); + } + + @GetMapping("/list") + @Operation(summary = "获取部门列表") + @PreAuthorize("@ss.hasPermission('system:dept:query')") + public CommonResult> getDeptList(DeptListReqVO reqVO) { + List list = deptService.getDeptList(reqVO); + list.sort(Comparator.comparing(DeptDO::getSort)); + return success(DeptConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获取部门精简信息列表", description = "只包含被开启的部门,主要用于前端的下拉选项") + public CommonResult> getSimpleDeptList() { + // 获得部门列表,只要开启状态的 + DeptListReqVO reqVO = new DeptListReqVO(); + reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); + List list = deptService.getDeptList(reqVO); + // 排序后,返回给前端 + list.sort(Comparator.comparing(DeptDO::getSort)); + return success(DeptConvert.INSTANCE.convertList02(list)); + } + + @GetMapping("/get") + @Operation(summary = "获得部门信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:dept:query')") + public CommonResult getDept(@RequestParam("id") Long id) { + return success(DeptConvert.INSTANCE.convert(deptService.getDept(id))); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/PostController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/PostController.java new file mode 100644 index 00000000..c307f301 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/PostController.java @@ -0,0 +1,99 @@ +package com.win.module.system.controller.dept; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.dept.vo.post.*; +import com.win.module.system.convert.dept.PostConvert; +import com.win.module.system.dal.dataobject.dept.PostDO; +import com.win.module.system.service.dept.PostService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 岗位") +@RestController +@RequestMapping("/system/post") +@Validated +public class PostController { + + @Resource + private PostService postService; + + @PostMapping("/create") + @Operation(summary = "创建岗位") + @PreAuthorize("@ss.hasPermission('system:post:create')") + public CommonResult createPost(@Valid @RequestBody PostCreateReqVO reqVO) { + Long postId = postService.createPost(reqVO); + return success(postId); + } + + @PutMapping("/update") + @Operation(summary = "修改岗位") + @PreAuthorize("@ss.hasPermission('system:post:update')") + public CommonResult updatePost(@Valid @RequestBody PostUpdateReqVO reqVO) { + postService.updatePost(reqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除岗位") + @PreAuthorize("@ss.hasPermission('system:post:delete')") + public CommonResult deletePost(@RequestParam("id") Long id) { + postService.deletePost(id); + return success(true); + } + + @GetMapping(value = "/get") + @Operation(summary = "获得岗位信息") + @Parameter(name = "id", description = "岗位编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:post:query')") + public CommonResult getPost(@RequestParam("id") Long id) { + return success(PostConvert.INSTANCE.convert(postService.getPost(id))); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获取岗位精简信息列表", description = "只包含被开启的岗位,主要用于前端的下拉选项") + public CommonResult> getSimplePostList() { + // 获得岗位列表,只要开启状态的 + List list = postService.getPostList(null, Collections.singleton(CommonStatusEnum.ENABLE.getStatus())); + // 排序后,返回给前端 + list.sort(Comparator.comparing(PostDO::getSort)); + return success(PostConvert.INSTANCE.convertList02(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得岗位分页列表") + @PreAuthorize("@ss.hasPermission('system:post:query')") + public CommonResult> getPostPage(@Validated PostPageReqVO reqVO) { + return success(PostConvert.INSTANCE.convertPage(postService.getPostPage(reqVO))); + } + + @GetMapping("/export") + @Operation(summary = "岗位管理") + @PreAuthorize("@ss.hasPermission('system:post:export')") + @OperateLog(type = EXPORT) + public void export(HttpServletResponse response, @Validated PostExportReqVO reqVO) throws IOException { + List posts = postService.getPostList(reqVO); + List data = PostConvert.INSTANCE.convertList03(posts); + // 输出 + ExcelUtils.write(response, "岗位数据.xls", "岗位列表", PostExcelVO.class, data); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptBaseVO.java new file mode 100644 index 00000000..d91abbe0 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptBaseVO.java @@ -0,0 +1,47 @@ +package com.win.module.system.controller.dept.vo.dept; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.Email; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 部门 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class DeptBaseVO { + + @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotBlank(message = "部门名称不能为空") + @Size(max = 30, message = "部门名称长度不能超过30个字符") + private String name; + + @Schema(description = "父菜单 ID", example = "1024") + private Long parentId; + + @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "显示顺序不能为空") + private Integer sort; + + @Schema(description = "负责人的用户编号", example = "2048") + private Long leaderUserId; + + @Schema(description = "联系电话", example = "15601691000") + @Size(max = 11, message = "联系电话长度不能超过11个字符") + private String phone; + + @Schema(description = "邮箱", example = "win@iocoder.cn") + @Email(message = "邮箱格式不正确") + @Size(max = 50, message = "邮箱长度不能超过50个字符") + private String email; + + @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") +// @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptCreateReqVO.java new file mode 100644 index 00000000..a9237b35 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptCreateReqVO.java @@ -0,0 +1,12 @@ +package com.win.module.system.controller.dept.vo.dept; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 部门创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DeptCreateReqVO extends DeptBaseVO { +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptListReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptListReqVO.java new file mode 100644 index 00000000..7cd2f107 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptListReqVO.java @@ -0,0 +1,16 @@ +package com.win.module.system.controller.dept.vo.dept; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 部门列表 Request VO") +@Data +public class DeptListReqVO { + + @Schema(description = "部门名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptRespVO.java new file mode 100644 index 00000000..dfa16b2d --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptRespVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.dept.vo.dept; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 部门信息 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class DeptRespVO extends DeptBaseVO { + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptSimpleRespVO.java new file mode 100644 index 00000000..18e753f7 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptSimpleRespVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.dept.vo.dept; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 部门精简信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeptSimpleRespVO { + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "父部门 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long parentId; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptUpdateReqVO.java new file mode 100644 index 00000000..b3d53a16 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/dept/DeptUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.dept.vo.dept; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 部门更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class DeptUpdateReqVO extends DeptBaseVO { + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "部门编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostBaseVO.java new file mode 100644 index 00000000..35371065 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostBaseVO.java @@ -0,0 +1,36 @@ +package com.win.module.system.controller.dept.vo.post; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 岗位 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class PostBaseVO { + + @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主") + @NotBlank(message = "岗位名称不能为空") + @Size(max = 50, message = "岗位名称长度不能超过50个字符") + private String name; + + @Schema(description = "岗位编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") + @NotBlank(message = "岗位编码不能为空") + @Size(max = 64, message = "岗位编码长度不能超过64个字符") + private String code; + + @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "显示顺序不能为空") + private Integer sort; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "备注", example = "快乐的备注") + private String remark; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostCreateReqVO.java new file mode 100644 index 00000000..15bc36b1 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostCreateReqVO.java @@ -0,0 +1,11 @@ +package com.win.module.system.controller.dept.vo.post; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Schema(description = "管理后台 - 岗位创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class PostCreateReqVO extends PostBaseVO { +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostExcelVO.java new file mode 100644 index 00000000..ad77481a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostExcelVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.dept.vo.post; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +/** + * 岗位 Excel 导出响应 VO + */ +@Data +public class PostExcelVO { + + @ExcelProperty("岗位序号") + private Long id; + + @ExcelProperty("岗位编码") + private String code; + + @ExcelProperty("岗位名称") + private String name; + + @ExcelProperty("岗位排序") + private Integer sort; + + @ExcelProperty(value = "状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private String status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostExportReqVO.java new file mode 100644 index 00000000..9bdd98bf --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostExportReqVO.java @@ -0,0 +1,19 @@ +package com.win.module.system.controller.dept.vo.post; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 岗位导出 Request VO,参数和 PostExcelVO 是一致的") +@Data +public class PostExportReqVO { + + @Schema(description = "岗位编码,模糊匹配", example = "win") + private String code; + + @Schema(description = "岗位名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostListReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostListReqVO.java new file mode 100644 index 00000000..58ea2bce --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostListReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.dept.vo.post; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Schema(description = "管理后台 - 岗位列表 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class PostListReqVO extends PostBaseVO { + + @Schema(description = "岗位名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostPageReqVO.java new file mode 100644 index 00000000..b58c240f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostPageReqVO.java @@ -0,0 +1,22 @@ +package com.win.module.system.controller.dept.vo.post; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Schema(description = "管理后台 - 岗位分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class PostPageReqVO extends PageParam { + + @Schema(description = "岗位编码,模糊匹配", example = "win") + private String code; + + @Schema(description = "岗位名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostRespVO.java new file mode 100644 index 00000000..2798a35a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.dept.vo.post; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 岗位信息 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class PostRespVO extends PostBaseVO { + + @Schema(description = "岗位序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostSimpleRespVO.java new file mode 100644 index 00000000..98ce3a98 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostSimpleRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.dept.vo.post; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 岗位精简信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PostSimpleRespVO { + + @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostUpdateReqVO.java new file mode 100644 index 00000000..5b1c487b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dept/vo/post/PostUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.dept.vo.post; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 岗位更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class PostUpdateReqVO extends PostBaseVO { + + @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "岗位编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictDataController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictDataController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/dict/DictDataController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictDataController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictDataController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictDataController.java new file mode 100644 index 00000000..84768ea9 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictDataController.java @@ -0,0 +1,95 @@ +package com.win.module.system.controller.dict; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.dict.vo.data.*; +import com.win.module.system.convert.dict.DictDataConvert; +import com.win.module.system.dal.dataobject.dict.DictDataDO; +import com.win.module.system.service.dict.DictDataService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 字典数据") +@RestController +@RequestMapping("/system/dict-data") +@Validated +public class DictDataController { + + @Resource + private DictDataService dictDataService; + + @PostMapping("/create") + @Operation(summary = "新增字典数据") + @PreAuthorize("@ss.hasPermission('system:dict:create')") + public CommonResult createDictData(@Valid @RequestBody DictDataCreateReqVO reqVO) { + Long dictDataId = dictDataService.createDictData(reqVO); + return success(dictDataId); + } + + @PutMapping("/update") + @Operation(summary = "修改字典数据") + @PreAuthorize("@ss.hasPermission('system:dict:update')") + public CommonResult updateDictData(@Valid @RequestBody DictDataUpdateReqVO reqVO) { + dictDataService.updateDictData(reqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除字典数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:dict:delete')") + public CommonResult deleteDictData(Long id) { + dictDataService.deleteDictData(id); + return success(true); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获得全部字典数据列表", description = "一般用于管理后台缓存字典数据在本地") + // 无需添加权限认证,因为前端全局都需要 + public CommonResult> getSimpleDictDataList() { + List list = dictDataService.getDictDataList(); + return success(DictDataConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "/获得字典类型的分页列表") + @PreAuthorize("@ss.hasPermission('system:dict:query')") + public CommonResult> getDictTypePage(@Valid DictDataPageReqVO reqVO) { + return success(DictDataConvert.INSTANCE.convertPage(dictDataService.getDictDataPage(reqVO))); + } + + @GetMapping(value = "/get") + @Operation(summary = "/查询字典数据详细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:dict:query')") + public CommonResult getDictData(@RequestParam("id") Long id) { + return success(DictDataConvert.INSTANCE.convert(dictDataService.getDictData(id))); + } + + @GetMapping("/export") + @Operation(summary = "导出字典数据") + @PreAuthorize("@ss.hasPermission('system:dict:export')") + @OperateLog(type = EXPORT) + public void export(HttpServletResponse response, @Valid DictDataExportReqVO reqVO) throws IOException { + List list = dictDataService.getDictDataList(reqVO); + List data = DictDataConvert.INSTANCE.convertList02(list); + // 输出 + ExcelUtils.write(response, "字典数据.xls", "数据列表", DictDataExcelVO.class, data); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictTypeController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictTypeController.java new file mode 100644 index 00000000..1581af29 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictTypeController.java @@ -0,0 +1,95 @@ +package com.win.module.system.controller.dict; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.dict.vo.type.*; +import com.win.module.system.convert.dict.DictTypeConvert; +import com.win.module.system.dal.dataobject.dict.DictTypeDO; +import com.win.module.system.service.dict.DictTypeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 字典类型") +@RestController +@RequestMapping("/system/dict-type") +@Validated +public class DictTypeController { + + @Resource + private DictTypeService dictTypeService; + + @PostMapping("/create") + @Operation(summary = "创建字典类型") + @PreAuthorize("@ss.hasPermission('system:dict:create')") + public CommonResult createDictType(@Valid @RequestBody DictTypeCreateReqVO reqVO) { + Long dictTypeId = dictTypeService.createDictType(reqVO); + return success(dictTypeId); + } + + @PutMapping("/update") + @Operation(summary = "修改字典类型") + @PreAuthorize("@ss.hasPermission('system:dict:update')") + public CommonResult updateDictType(@Valid @RequestBody DictTypeUpdateReqVO reqVO) { + dictTypeService.updateDictType(reqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除字典类型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:dict:delete')") + public CommonResult deleteDictType(Long id) { + dictTypeService.deleteDictType(id); + return success(true); + } + + @Operation(summary = "/获得字典类型的分页列表") + @GetMapping("/page") + @PreAuthorize("@ss.hasPermission('system:dict:query')") + public CommonResult> pageDictTypes(@Valid DictTypePageReqVO reqVO) { + return success(DictTypeConvert.INSTANCE.convertPage(dictTypeService.getDictTypePage(reqVO))); + } + + @Operation(summary = "/查询字典类型详细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @GetMapping(value = "/get") + @PreAuthorize("@ss.hasPermission('system:dict:query')") + public CommonResult getDictType(@RequestParam("id") Long id) { + return success(DictTypeConvert.INSTANCE.convert(dictTypeService.getDictType(id))); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获得全部字典类型列表", description = "包括开启 + 禁用的字典类型,主要用于前端的下拉选项") + // 无需添加权限认证,因为前端全局都需要 + public CommonResult> getSimpleDictTypeList() { + List list = dictTypeService.getDictTypeList(); + return success(DictTypeConvert.INSTANCE.convertList(list)); + } + + @Operation(summary = "导出数据类型") + @GetMapping("/export") + @PreAuthorize("@ss.hasPermission('system:dict:query')") + @OperateLog(type = EXPORT) + public void export(HttpServletResponse response, @Valid DictTypeExportReqVO reqVO) throws IOException { + List list = dictTypeService.getDictTypeList(reqVO); + List data = DictTypeConvert.INSTANCE.convertList02(list); + // 输出 + ExcelUtils.write(response, "字典类型.xls", "类型列表", DictTypeExcelVO.class, data); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataBaseVO.java new file mode 100644 index 00000000..ff888e8b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataBaseVO.java @@ -0,0 +1,49 @@ +package com.win.module.system.controller.dict.vo.data; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 字典数据 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class DictDataBaseVO { + + @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "显示顺序不能为空") + private Integer sort; + + @Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotBlank(message = "字典标签不能为空") + @Size(max = 100, message = "字典标签长度不能超过100个字符") + private String label; + + @Schema(description = "字典值", requiredMode = Schema.RequiredMode.REQUIRED, example = "iocoder") + @NotBlank(message = "字典键值不能为空") + @Size(max = 100, message = "字典键值长度不能超过100个字符") + private String value; + + @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex") + @NotBlank(message = "字典类型不能为空") + @Size(max = 100, message = "字典类型长度不能超过100个字符") + private String dictType; + + @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") +// @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") + private Integer status; + + @Schema(description = "颜色类型,default、primary、success、info、warning、danger", example = "default") + private String colorType; + @Schema(description = "css 样式", example = "btn-visible") + private String cssClass; + + @Schema(description = "备注", example = "我是一个角色") + private String remark; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataCreateReqVO.java new file mode 100644 index 00000000..e58e43aa --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataCreateReqVO.java @@ -0,0 +1,12 @@ +package com.win.module.system.controller.dict.vo.data; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Schema(description = "管理后台 - 字典数据创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class DictDataCreateReqVO extends DictDataBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataExcelVO.java new file mode 100644 index 00000000..a84dcaee --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataExcelVO.java @@ -0,0 +1,34 @@ +package com.win.module.system.controller.dict.vo.data; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +/** + * 字典数据 Excel 导出响应 VO + */ +@Data +public class DictDataExcelVO { + + @ExcelProperty("字典编码") + private Long id; + + @ExcelProperty("字典排序") + private Integer sort; + + @ExcelProperty("字典标签") + private String label; + + @ExcelProperty("字典键值") + private String value; + + @ExcelProperty("字典类型") + private String dictType; + + @ExcelProperty(value = "状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataExportReqVO.java new file mode 100644 index 00000000..8c621f4f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataExportReqVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.dict.vo.data; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.Size; + +@Schema(description = "管理后台 - 字典类型导出 Request VO") +@Data +public class DictDataExportReqVO { + + @Schema(description = "字典标签", example = "闻荫") + @Size(max = 100, message = "字典标签长度不能超过100个字符") + private String label; + + @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") + @Size(max = 100, message = "字典类型类型长度不能超过100个字符") + private String dictType; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataPageReqVO.java new file mode 100644 index 00000000..e67a52d0 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataPageReqVO.java @@ -0,0 +1,26 @@ +package com.win.module.system.controller.dict.vo.data; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.Size; + +@Schema(description = "管理后台 - 字典类型分页列表 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class DictDataPageReqVO extends PageParam { + + @Schema(description = "字典标签", example = "闻荫") + @Size(max = 100, message = "字典标签长度不能超过100个字符") + private String label; + + @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") + @Size(max = 100, message = "字典类型类型长度不能超过100个字符") + private String dictType; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataRespVO.java new file mode 100644 index 00000000..85cec29b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataRespVO.java @@ -0,0 +1,24 @@ +package com.win.module.system.controller.dict.vo.data; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 字典数据信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class DictDataRespVO extends DictDataBaseVO { + + @Schema(description = "字典数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataSimpleRespVO.java new file mode 100644 index 00000000..4b3b8bb8 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataSimpleRespVO.java @@ -0,0 +1,25 @@ +package com.win.module.system.controller.dict.vo.data; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 数据字典精简 Response VO") +@Data +public class DictDataSimpleRespVO { + + @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "gender") + private String dictType; + + @Schema(description = "字典键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private String value; + + @Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "男") + private String label; + + @Schema(description = "颜色类型,default、primary、success、info、warning、danger", example = "default") + private String colorType; + + @Schema(description = "css 样式", example = "btn-visible") + private String cssClass; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataUpdateReqVO.java new file mode 100644 index 00000000..188f0391 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/data/DictDataUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.dict.vo.data; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 字典数据更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class DictDataUpdateReqVO extends DictDataBaseVO { + + @Schema(description = "字典数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "字典数据编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeBaseVO.java new file mode 100644 index 00000000..4576eb3b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeBaseVO.java @@ -0,0 +1,29 @@ +package com.win.module.system.controller.dict.vo.type; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 字典类型 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class DictTypeBaseVO { + + @Schema(description = "字典名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "性别") + @NotBlank(message = "字典名称不能为空") + @Size(max = 100, message = "字典类型名称长度不能超过100个字符") + private String name; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "备注", example = "快乐的备注") + private String remark; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeCreateReqVO.java new file mode 100644 index 00000000..6f346d0a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeCreateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.dict.vo.type; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +@Schema(description = "管理后台 - 字典类型创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class DictTypeCreateReqVO extends DictTypeBaseVO { + + @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex") + @NotNull(message = "字典类型不能为空") + @Size(max = 100, message = "字典类型类型长度不能超过100个字符") + private String type; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeExcelVO.java new file mode 100644 index 00000000..3203a43f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeExcelVO.java @@ -0,0 +1,28 @@ +package com.win.module.system.controller.dict.vo.type; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +/** + * 字典类型 Excel 导出响应 VO + */ +@Data +public class DictTypeExcelVO { + + @ExcelProperty("字典主键") + private Long id; + + @ExcelProperty("字典名称") + private String name; + + @ExcelProperty("字典类型") + private String type; + + @ExcelProperty(value = "状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeExportReqVO.java new file mode 100644 index 00000000..134d940c --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeExportReqVO.java @@ -0,0 +1,28 @@ +package com.win.module.system.controller.dict.vo.type; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 字典类型分页列表 Request VO") +@Data +public class DictTypeExportReqVO { + + @Schema(description = "字典类型名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") + private String type; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypePageReqVO.java new file mode 100644 index 00000000..39fc03d7 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypePageReqVO.java @@ -0,0 +1,33 @@ +package com.win.module.system.controller.dict.vo.type; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.Size; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 字典类型分页列表 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class DictTypePageReqVO extends PageParam { + + @Schema(description = "字典类型名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "字典类型,模糊匹配", example = "sys_common_sex") + @Size(max = 100, message = "字典类型类型长度不能超过100个字符") + private String type; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeRespVO.java new file mode 100644 index 00000000..81a5b02e --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeRespVO.java @@ -0,0 +1,27 @@ +package com.win.module.system.controller.dict.vo.type; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 字典类型信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class DictTypeRespVO extends DictTypeBaseVO { + + @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex") + private String type; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeSimpleRespVO.java new file mode 100644 index 00000000..b481b1f6 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeSimpleRespVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.dict.vo.type; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 字典类型精简信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DictTypeSimpleRespVO { + + @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "字典类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex") + private String type; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeUpdateReqVO.java new file mode 100644 index 00000000..4764cea9 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.dict.vo.type; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 字典类型更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class DictTypeUpdateReqVO extends DictTypeBaseVO { + + @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "字典类型编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/ErrorCodeController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/ErrorCodeController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/errorcode/ErrorCodeController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/ErrorCodeController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/ErrorCodeController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/ErrorCodeController.java new file mode 100644 index 00000000..264cb12e --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/ErrorCodeController.java @@ -0,0 +1,89 @@ +package com.win.module.system.controller.errorcode; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.errorcode.vo.*; +import com.win.module.system.convert.errorcode.ErrorCodeConvert; +import com.win.module.system.dal.dataobject.errorcode.ErrorCodeDO; +import com.win.module.system.service.errorcode.ErrorCodeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 错误码") +@RestController +@RequestMapping("/system/error-code") +@Validated +public class ErrorCodeController { + + @Resource + private ErrorCodeService errorCodeService; + + @PostMapping("/create") + @Operation(summary = "创建错误码") + @PreAuthorize("@ss.hasPermission('system:error-code:create')") + public CommonResult createErrorCode(@Valid @RequestBody ErrorCodeCreateReqVO createReqVO) { + return success(errorCodeService.createErrorCode(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新错误码") + @PreAuthorize("@ss.hasPermission('system:error-code:update')") + public CommonResult updateErrorCode(@Valid @RequestBody ErrorCodeUpdateReqVO updateReqVO) { + errorCodeService.updateErrorCode(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除错误码") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:error-code:delete')") + public CommonResult deleteErrorCode(@RequestParam("id") Long id) { + errorCodeService.deleteErrorCode(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得错误码") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:error-code:query')") + public CommonResult getErrorCode(@RequestParam("id") Long id) { + ErrorCodeDO errorCode = errorCodeService.getErrorCode(id); + return success(ErrorCodeConvert.INSTANCE.convert(errorCode)); + } + + @GetMapping("/page") + @Operation(summary = "获得错误码分页") + @PreAuthorize("@ss.hasPermission('system:error-code:query')") + public CommonResult> getErrorCodePage(@Valid ErrorCodePageReqVO pageVO) { + PageResult pageResult = errorCodeService.getErrorCodePage(pageVO); + return success(ErrorCodeConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出错误码 Excel") + @PreAuthorize("@ss.hasPermission('system:error-code:export')") + @OperateLog(type = EXPORT) + public void exportErrorCodeExcel(@Valid ErrorCodeExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = errorCodeService.getErrorCodeList(exportReqVO); + // 导出 Excel + List datas = ErrorCodeConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "错误码.xls", "数据", ErrorCodeExcelVO.class, datas); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeBaseVO.java new file mode 100644 index 00000000..34536853 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeBaseVO.java @@ -0,0 +1,30 @@ +package com.win.module.system.controller.errorcode.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** +* 错误码 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class ErrorCodeBaseVO { + + @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard") + @NotNull(message = "应用名不能为空") + private String applicationName; + + @Schema(description = "错误码编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1234") + @NotNull(message = "错误码编码不能为空") + private Integer code; + + @Schema(description = "错误码错误提示", requiredMode = Schema.RequiredMode.REQUIRED, example = "帅气") + @NotNull(message = "错误码错误提示不能为空") + private String message; + + @Schema(description = "备注", example = "哈哈哈") + private String memo; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeCreateReqVO.java new file mode 100644 index 00000000..4dbfc44a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.system.controller.errorcode.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 错误码创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ErrorCodeCreateReqVO extends ErrorCodeBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeExcelVO.java new file mode 100644 index 00000000..a2df9b31 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeExcelVO.java @@ -0,0 +1,40 @@ +package com.win.module.system.controller.errorcode.vo; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 错误码 Excel VO + * + * @author 闻荫源码 + */ +@Data +public class ErrorCodeExcelVO { + + @ExcelProperty("错误码编号") + private Long id; + + @ExcelProperty(value = "错误码类型", converter = DictConvert.class) + @DictFormat("inf_error_code_type") // TODO 芋艿:得思考下杂解决枚举值 + private Integer type; + + @ExcelProperty("应用名") + private String applicationName; + + @ExcelProperty("错误码编码") + private Integer code; + + @ExcelProperty("错误码错误提示") + private String message; + + @ExcelProperty("备注") + private String memo; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeExportReqVO.java new file mode 100644 index 00000000..82a09c15 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeExportReqVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.errorcode.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 错误码 Excel 导出 Request VO,参数和 InfErrorCodePageReqVO 是一致的") +@Data +public class ErrorCodeExportReqVO { + + @Schema(description = "错误码类型", example = "1") + private Integer type; + + @Schema(description = "应用名", example = "dashboard") + private String applicationName; + + @Schema(description = "错误码编码", example = "1234") + private Integer code; + + @Schema(description = "错误码错误提示", example = "帅气") + private String message; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodePageReqVO.java new file mode 100644 index 00000000..be2e4bc4 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodePageReqVO.java @@ -0,0 +1,36 @@ +package com.win.module.system.controller.errorcode.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 错误码分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ErrorCodePageReqVO extends PageParam { + + @Schema(description = "错误码类型,参见 ErrorCodeTypeEnum 枚举类", example = "1") + private Integer type; + + @Schema(description = "应用名", example = "dashboard") + private String applicationName; + + @Schema(description = "错误码编码", example = "1234") + private Integer code; + + @Schema(description = "错误码错误提示", example = "帅气") + private String message; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeRespVO.java new file mode 100644 index 00000000..edc1f31e --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeRespVO.java @@ -0,0 +1,25 @@ +package com.win.module.system.controller.errorcode.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 错误码 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ErrorCodeRespVO extends ErrorCodeBaseVO { + + @Schema(description = "错误码编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "错误码类型,参见 ErrorCodeTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer type; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeUpdateReqVO.java new file mode 100644 index 00000000..1153e1f4 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/errorcode/vo/ErrorCodeUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.errorcode.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 错误码更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ErrorCodeUpdateReqVO extends ErrorCodeBaseVO { + + @Schema(description = "错误码编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "错误码编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/AreaController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/AreaController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/ip/AreaController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/AreaController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/AreaController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/AreaController.java new file mode 100644 index 00000000..5c32a1be --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/AreaController.java @@ -0,0 +1,72 @@ +package com.win.module.system.controller.ip; + +import cn.hutool.core.lang.Assert; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.ip.core.Area; +import com.win.framework.ip.core.utils.AreaUtils; +import com.win.framework.ip.core.utils.IPUtils; +import com.win.module.system.controller.ip.vo.AreaNodeRespVO; +import com.win.module.system.controller.ip.vo.AreaNodeSimpleRespVO; +import com.win.module.system.convert.ip.AreaConvert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 地区") +@RestController +@RequestMapping("/system/area") +@Validated +public class AreaController { + + @GetMapping("/tree") + @Operation(summary = "获得地区树") + public CommonResult> getAreaTree() { + Area area = AreaUtils.getArea(Area.ID_CHINA); + Assert.notNull(area, "获取不到中国"); + return success(AreaConvert.INSTANCE.convertList(area.getChildren())); + } + + @GetMapping("/get-children") + @Operation(summary = "获得地区的下级区域") + @Parameter(name = "id", description = "区域编号", required = true, example = "150000") + public CommonResult> getChildren(@RequestParam("id") Integer id) { + Area area = AreaUtils.getArea(id); + Assert.notNull(area, String.format("获取不到 id : %d 的区域", id)); + return success(AreaConvert.INSTANCE.convertList2(area.getChildren())); + } + + // 4)方法改成 getAreaChildrenList 获得子节点们;5)url 可以已改成 children-list + //@芋艿 是不是叫 getAreaListByIds 更合适。 因为不一定是子节点。 用于前端树选择获取缓存数据。 见 + @GetMapping("/get-by-ids") + @Operation(summary = "通过区域 ids 获得地区列表") + @Parameter(name = "ids", description = "区域编号 ids", required = true, example = "1,150000") + public CommonResult> getAreaListByIds(@RequestParam("ids") Set ids) { + List areaList = new ArrayList<>(ids.size()); + for (Integer areaId : ids) { + areaList.add(AreaUtils.getArea(areaId)); + } + return success(AreaConvert.INSTANCE.convertList2(areaList)); + } + + @GetMapping("/get-by-ip") + @Operation(summary = "获得 IP 对应的地区名") + @Parameter(name = "ip", description = "IP", required = true) + public CommonResult getAreaByIp(@RequestParam("ip") String ip) { + // 获得城市 + Area area = IPUtils.getArea(ip); + if (area == null) { + return success("未知"); + } + // 格式化返回 + return success(AreaUtils.format(area.getId())); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/vo/AreaNodeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/vo/AreaNodeRespVO.java new file mode 100644 index 00000000..6baf9b3b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/vo/AreaNodeRespVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.ip.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "管理后台 - 地区节点 Response VO") +@Data +public class AreaNodeRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000") + private Integer id; + + @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京") + private String name; + + /** + * 子节点 + */ + private List children; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/vo/AreaNodeSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/vo/AreaNodeSimpleRespVO.java new file mode 100644 index 00000000..02cf5e1a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/ip/vo/AreaNodeSimpleRespVO.java @@ -0,0 +1,19 @@ +package com.win.module.system.controller.ip.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 简洁的地区节点 Response VO") +@Data +public class AreaNodeSimpleRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000") + private Integer id; + + @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京") + private String name; + + @Schema(description = "是否叶子节点", example = "false") + private Boolean leaf; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/LoginLogController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/LoginLogController.java new file mode 100644 index 00000000..ef55856b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/LoginLogController.java @@ -0,0 +1,59 @@ +package com.win.module.system.controller.logger; + +import com.win.module.system.controller.logger.vo.loginlog.LoginLogExcelVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogExportReqVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogPageReqVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogRespVO; +import com.win.module.system.dal.dataobject.logger.LoginLogDO; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.convert.logger.LoginLogConvert; +import com.win.module.system.service.logger.LoginLogService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 登录日志") +@RestController +@RequestMapping("/system/login-log") +@Validated +public class LoginLogController { + + @Resource + private LoginLogService loginLogService; + + @GetMapping("/page") + @Operation(summary = "获得登录日志分页列表") + @PreAuthorize("@ss.hasPermission('system:login-log:query')") + public CommonResult> getLoginLogPage(@Valid LoginLogPageReqVO reqVO) { + PageResult page = loginLogService.getLoginLogPage(reqVO); + return CommonResult.success(LoginLogConvert.INSTANCE.convertPage(page)); + } + + @GetMapping("/export") + @Operation(summary = "导出登录日志 Excel") + @PreAuthorize("@ss.hasPermission('system:login-log:export')") + @OperateLog(type = EXPORT) + public void exportLoginLog(HttpServletResponse response, @Valid LoginLogExportReqVO reqVO) throws IOException { + List list = loginLogService.getLoginLogList(reqVO); + // 拼接数据 + List data = LoginLogConvert.INSTANCE.convertList(list); + // 输出 + ExcelUtils.write(response, "登录日志.xls", "数据列表", LoginLogExcelVO.class, data); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/OperateLogController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/OperateLogController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/logger/OperateLogController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/OperateLogController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/OperateLogController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/OperateLogController.java new file mode 100644 index 00000000..4c3c6d80 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/OperateLogController.java @@ -0,0 +1,85 @@ +package com.win.module.system.controller.logger; + +import com.win.module.system.controller.logger.vo.operatelog.OperateLogExcelVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogExportReqVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogPageReqVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogRespVO; +import com.win.module.system.convert.logger.OperateLogConvert; +import com.win.module.system.dal.dataobject.logger.OperateLogDO; +import com.win.module.system.dal.dataobject.user.AdminUserDO; +import com.win.module.system.service.logger.OperateLogService; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.common.util.collection.CollectionUtils; +import com.win.framework.common.util.collection.MapUtils; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.service.user.AdminUserService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 操作日志") +@RestController +@RequestMapping("/system/operate-log") +@Validated +public class OperateLogController { + + @Resource + private OperateLogService operateLogService; + @Resource + private AdminUserService userService; + + @GetMapping("/page") + @Operation(summary = "查看操作日志分页列表") + @PreAuthorize("@ss.hasPermission('system:operate-log:query')") + public CommonResult> pageOperateLog(@Valid OperateLogPageReqVO reqVO) { + PageResult pageResult = operateLogService.getOperateLogPage(reqVO); + + // 获得拼接需要的数据 + Collection userIds = CollectionUtils.convertList(pageResult.getList(), OperateLogDO::getUserId); + Map userMap = userService.getUserMap(userIds); + // 拼接数据 + List list = new ArrayList<>(pageResult.getList().size()); + pageResult.getList().forEach(operateLog -> { + OperateLogRespVO respVO = OperateLogConvert.INSTANCE.convert(operateLog); + list.add(respVO); + // 拼接用户信息 + MapUtils.findAndThen(userMap, operateLog.getUserId(), user -> respVO.setUserNickname(user.getNickname())); + }); + return success(new PageResult<>(list, pageResult.getTotal())); + } + + @Operation(summary = "导出操作日志") + @GetMapping("/export") + @PreAuthorize("@ss.hasPermission('system:operate-log:export')") + @OperateLog(type = EXPORT) + public void exportOperateLog(HttpServletResponse response, @Valid OperateLogExportReqVO reqVO) throws IOException { + List list = operateLogService.getOperateLogList(reqVO); + + // 获得拼接需要的数据 + Collection userIds = CollectionUtils.convertList(list, OperateLogDO::getUserId); + Map userMap = userService.getUserMap(userIds); + // 拼接数据 + List excelDataList = OperateLogConvert.INSTANCE.convertList(list, userMap); + // 输出 + ExcelUtils.write(response, "操作日志.xls", "数据列表", OperateLogExcelVO.class, excelDataList); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogBaseVO.java new file mode 100644 index 00000000..2c3ef5fd --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogBaseVO.java @@ -0,0 +1,42 @@ +package com.win.module.system.controller.logger.vo.loginlog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 登录日志 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class LoginLogBaseVO { + + @Schema(description = "日志类型,参见 LoginLogTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "日志类型不能为空") + private Integer logType; + + @Schema(description = "链路追踪编号", example = "89aca178-a370-411c-ae02-3f0d672be4ab") + @NotEmpty(message = "链路追踪编号不能为空") + private String traceId; + + @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") + @NotBlank(message = "用户账号不能为空") + @Size(max = 30, message = "用户账号长度不能超过30个字符") + private String username; + + @Schema(description = "登录结果,参见 LoginResultEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "登录结果不能为空") + private Integer result; + + @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") + @NotEmpty(message = "用户 IP 不能为空") + private String userIp; + + @Schema(description = "浏览器 UserAgent", example = "Mozilla/5.0") + private String userAgent; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogExcelVO.java new file mode 100644 index 00000000..c64ffb3c --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogExcelVO.java @@ -0,0 +1,40 @@ +package com.win.module.system.controller.logger.vo.loginlog; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 登录日志 Excel 导出响应 VO + */ +@Data +public class LoginLogExcelVO { + + @ExcelProperty("日志主键") + private Long id; + + @ExcelProperty("用户账号") + private String username; + + @ExcelProperty(value = "日志类型", converter = DictConvert.class) + @DictFormat(DictTypeConstants.LOGIN_TYPE) + private Integer logType; + + @ExcelProperty(value = "登录结果", converter = DictConvert.class) + @DictFormat(DictTypeConstants.LOGIN_RESULT) + private Integer result; + + @ExcelProperty("登录 IP") + private String userIp; + + @ExcelProperty("浏览器 UA") + private String userAgent; + + @ExcelProperty("登录时间") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogExportReqVO.java new file mode 100644 index 00000000..95887f39 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogExportReqVO.java @@ -0,0 +1,28 @@ +package com.win.module.system.controller.logger.vo.loginlog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 登录日志分页列表 Request VO") +@Data +public class LoginLogExportReqVO { + + @Schema(description = "用户 IP,模拟匹配", example = "127.0.0.1") + private String userIp; + + @Schema(description = "用户账号,模拟匹配", example = "闻荫") + private String username; + + @Schema(description = "操作状态", example = "true") + private Boolean status; + + @Schema(description = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogPageReqVO.java new file mode 100644 index 00000000..0cd8acaf --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogPageReqVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.logger.vo.loginlog; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 登录日志分页列表 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class LoginLogPageReqVO extends PageParam { + + @Schema(description = "用户 IP,模拟匹配", example = "127.0.0.1") + private String userIp; + + @Schema(description = "用户账号,模拟匹配", example = "闻荫") + private String username; + + @Schema(description = "操作状态", example = "true") + private Boolean status; + + @Schema(description = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogRespVO.java new file mode 100644 index 00000000..856d8190 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/loginlog/LoginLogRespVO.java @@ -0,0 +1,30 @@ +package com.win.module.system.controller.logger.vo.loginlog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 登录日志 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LoginLogRespVO extends LoginLogBaseVO { + + @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "用户编号", example = "666") + private Long userId; + + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "用户类型不能为空") + private Integer userType; + + @Schema(description = "登录时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogBaseVO.java new file mode 100644 index 00000000..b972434d --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogBaseVO.java @@ -0,0 +1,85 @@ +package com.win.module.system.controller.logger.vo.operatelog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; +import java.util.Map; + +/** + * 操作日志 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class OperateLogBaseVO { + + @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "89aca178-a370-411c-ae02-3f0d672be4ab") + @NotEmpty(message = "链路追踪编号不能为空") + private String traceId; + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "用户编号不能为空") + private Long userId; + + @Schema(description = "操作模块", requiredMode = Schema.RequiredMode.REQUIRED, example = "订单") + @NotEmpty(message = "操作模块不能为空") + private String module; + + @Schema(description = "操作名", requiredMode = Schema.RequiredMode.REQUIRED, example = "创建订单") + @NotEmpty(message = "操作名") + private String name; + + @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "操作分类不能为空") + private Integer type; + + @Schema(description = "操作明细", example = "修改编号为 1 的用户信息,将性别从男改成女,将姓名从闻荫改成源码。") + private String content; + + @Schema(description = "拓展字段", example = "{'orderId': 1}") + private Map exts; + + @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET") + @NotEmpty(message = "请求方法名不能为空") + private String requestMethod; + + @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xxx/yyy") + @NotEmpty(message = "请求地址不能为空") + private String requestUrl; + + @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") + @NotEmpty(message = "用户 IP 不能为空") + private String userIp; + + @Schema(description = "浏览器 UserAgent", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0") + @NotEmpty(message = "浏览器 UserAgent 不能为空") + private String userAgent; + + @Schema(description = "Java 方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "com.win.adminserver.UserController.save(...)") + @NotEmpty(message = "Java 方法名不能为空") + private String javaMethod; + + @Schema(description = "Java 方法的参数") + private String javaMethodArgs; + + @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "开始时间不能为空") + private LocalDateTime startTime; + + @Schema(description = "执行时长,单位:毫秒", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "执行时长不能为空") + private Integer duration; + + @Schema(description = "结果码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "结果码不能为空") + private Integer resultCode; + + @Schema(description = "结果提示") + private String resultMsg; + + @Schema(description = "结果数据") + private String resultData; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogExcelVO.java new file mode 100644 index 00000000..5e1d94aa --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogExcelVO.java @@ -0,0 +1,42 @@ +package com.win.module.system.controller.logger.vo.operatelog; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 操作日志 Excel 导出响应 VO + */ +@Data +public class OperateLogExcelVO { + + @ExcelProperty("日志编号") + private Long id; + + @ExcelProperty("操作模块") + private String module; + + @ExcelProperty("操作名") + private String name; + + @ExcelProperty(value = "操作类型", converter = DictConvert.class) + @DictFormat(DictTypeConstants.OPERATE_TYPE) + private String type; + + @ExcelProperty("操作人") + private String userNickname; + + @ExcelProperty(value = "操作结果") // 成功 or 失败 + private String successStr; + + @ExcelProperty("操作日志") + private LocalDateTime startTime; + + @ExcelProperty("执行时长") + private Integer duration; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogExportReqVO.java new file mode 100644 index 00000000..cd461f46 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogExportReqVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.logger.vo.operatelog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 操作日志分页列表 Request VO") +@Data +public class OperateLogExportReqVO { + + @Schema(description = "操作模块,模拟匹配", example = "订单") + private String module; + + @Schema(description = "用户昵称,模拟匹配", example = "闻荫") + private String userNickname; + + @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", example = "1") + private Integer type; + + @Schema(description = "操作状态", example = "true") + private Boolean success; + + @Schema(description = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] startTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogPageReqVO.java new file mode 100644 index 00000000..7fd72545 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogPageReqVO.java @@ -0,0 +1,32 @@ +package com.win.module.system.controller.logger.vo.operatelog; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 操作日志分页列表 Request VO") +@Data +public class OperateLogPageReqVO extends PageParam { + + @Schema(description = "操作模块,模拟匹配", example = "订单") + private String module; + + @Schema(description = "用户昵称,模拟匹配", example = "闻荫") + private String userNickname; + + @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", example = "1") + private Integer type; + + @Schema(description = "操作状态", example = "true") + private Boolean success; + + @Schema(description = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] startTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogRespVO.java new file mode 100644 index 00000000..a96f9ec9 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/logger/vo/operatelog/OperateLogRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.logger.vo.operatelog; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 操作日志 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OperateLogRespVO extends OperateLogBaseVO { + + @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + private String userNickname; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailAccountController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailAccountController.java new file mode 100644 index 00000000..cbcff9b0 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailAccountController.java @@ -0,0 +1,78 @@ +package com.win.module.system.controller.mail; + + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.mail.vo.account.*; +import com.win.module.system.convert.mail.MailAccountConvert; +import com.win.module.system.dal.dataobject.mail.MailAccountDO; +import com.win.module.system.service.mail.MailAccountService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 邮箱账号") +@RestController +@RequestMapping("/system/mail-account") +public class MailAccountController { + + @Resource + private MailAccountService mailAccountService; + + @PostMapping("/create") + @Operation(summary = "创建邮箱账号") + @PreAuthorize("@ss.hasPermission('system:mail-account:create')") + public CommonResult createMailAccount(@Valid @RequestBody MailAccountCreateReqVO createReqVO) { + return success(mailAccountService.createMailAccount(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "修改邮箱账号") + @PreAuthorize("@ss.hasPermission('system:mail-account:update')") + public CommonResult updateMailAccount(@Valid @RequestBody MailAccountUpdateReqVO updateReqVO) { + mailAccountService.updateMailAccount(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除邮箱账号") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:mail-account:delete')") + public CommonResult deleteMailAccount(@RequestParam Long id) { + mailAccountService.deleteMailAccount(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得邮箱账号") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:mail-account:get')") + public CommonResult getMailAccount(@RequestParam("id") Long id) { + MailAccountDO mailAccountDO = mailAccountService.getMailAccount(id); + return success(MailAccountConvert.INSTANCE.convert(mailAccountDO)); + } + + @GetMapping("/page") + @Operation(summary = "获得邮箱账号分页") + @PreAuthorize("@ss.hasPermission('system:mail-account:query')") + public CommonResult> getMailAccountPage(@Valid MailAccountPageReqVO pageReqVO) { + PageResult pageResult = mailAccountService.getMailAccountPage(pageReqVO); + return success(MailAccountConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获得邮箱账号精简列表") + public CommonResult> getSimpleMailAccountList() { + List list = mailAccountService.getMailAccountList(); + return success(MailAccountConvert.INSTANCE.convertList02(list)); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailLogController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailLogController.java new file mode 100644 index 00000000..ef49eb39 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailLogController.java @@ -0,0 +1,49 @@ +package com.win.module.system.controller.mail; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.mail.vo.log.MailLogPageReqVO; +import com.win.module.system.controller.mail.vo.log.MailLogRespVO; +import com.win.module.system.convert.mail.MailLogConvert; +import com.win.module.system.dal.dataobject.mail.MailLogDO; +import com.win.module.system.service.mail.MailLogService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 邮件日志") +@RestController +@RequestMapping("/system/mail-log") +public class MailLogController { + + @Resource + private MailLogService mailLogService; + + @GetMapping("/page") + @Operation(summary = "获得邮箱日志分页") + @PreAuthorize("@ss.hasPermission('system:mail-log:query')") + public CommonResult> getMailLogPage(@Valid MailLogPageReqVO pageVO) { + PageResult pageResult = mailLogService.getMailLogPage(pageVO); + return success(MailLogConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/get") + @Operation(summary = "获得邮箱日志") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:mail-log:query')") + public CommonResult getMailTemplate(@RequestParam("id") Long id) { + MailLogDO mailLogDO = mailLogService.getMailLog(id); + return success(MailLogConvert.INSTANCE.convert(mailLogDO)); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailTemplateController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailTemplateController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/mail/MailTemplateController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailTemplateController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailTemplateController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailTemplateController.java new file mode 100644 index 00000000..d5d31b49 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/MailTemplateController.java @@ -0,0 +1,89 @@ +package com.win.module.system.controller.mail; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.mail.vo.template.*; +import com.win.module.system.convert.mail.MailTemplateConvert; +import com.win.module.system.dal.dataobject.mail.MailTemplateDO; +import com.win.module.system.service.mail.MailSendService; +import com.win.module.system.service.mail.MailTemplateService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +@Tag(name = "管理后台 - 邮件模版") +@RestController +@RequestMapping("/system/mail-template") +public class MailTemplateController { + + @Resource + private MailTemplateService mailTempleService; + @Resource + private MailSendService mailSendService; + + @PostMapping("/create") + @Operation(summary = "创建邮件模版") + @PreAuthorize("@ss.hasPermission('system:mail-template:create')") + public CommonResult createMailTemplate(@Valid @RequestBody MailTemplateCreateReqVO createReqVO){ + return success(mailTempleService.createMailTemplate(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "修改邮件模版") + @PreAuthorize("@ss.hasPermission('system:mail-template:update')") + public CommonResult updateMailTemplate(@Valid @RequestBody MailTemplateUpdateReqVO updateReqVO){ + mailTempleService.updateMailTemplate(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除邮件模版") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:mail-template:delete')") + public CommonResult deleteMailTemplate(@RequestParam("id") Long id) { + mailTempleService.deleteMailTemplate(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得邮件模版") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:mail-template:get')") + public CommonResult getMailTemplate(@RequestParam("id") Long id) { + MailTemplateDO mailTemplateDO = mailTempleService.getMailTemplate(id); + return success(MailTemplateConvert.INSTANCE.convert(mailTemplateDO)); + } + + @GetMapping("/page") + @Operation(summary = "获得邮件模版分页") + @PreAuthorize("@ss.hasPermission('system:mail-template:query')") + public CommonResult> getMailTemplatePage(@Valid MailTemplatePageReqVO pageReqVO) { + PageResult pageResult = mailTempleService.getMailTemplatePage(pageReqVO); + return success(MailTemplateConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获得邮件模版精简列表") + public CommonResult> getSimpleTemplateList() { + List list = mailTempleService.getMailTemplateList(); + return success(MailTemplateConvert.INSTANCE.convertList02(list)); + } + + @PostMapping("/send-mail") + @Operation(summary = "发送短信") + @PreAuthorize("@ss.hasPermission('system:mail-template:send-mail')") + public CommonResult sendMail(@Valid @RequestBody MailTemplateSendReqVO sendReqVO) { + return success(mailSendService.sendSingleMailToAdmin(sendReqVO.getMail(), getLoginUserId(), + sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams())); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountBaseVO.java new file mode 100644 index 00000000..2ccf71b0 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountBaseVO.java @@ -0,0 +1,41 @@ +package com.win.module.system.controller.mail.vo.account; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.Email; +import javax.validation.constraints.NotNull; + +/** + * 邮箱账号 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class MailAccountBaseVO { + + @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma@123.com") + @NotNull(message = "邮箱不能为空") + @Email(message = "必须是 Email 格式") + private String mail; + + @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") + @NotNull(message = "用户名不能为空") + private String username; + + @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") + @NotNull(message = "密码必填") + private String password; + + @Schema(description = "SMTP 服务器域名", requiredMode = Schema.RequiredMode.REQUIRED, example = "www.iocoder.cn") + @NotNull(message = "SMTP 服务器域名不能为空") + private String host; + + @Schema(description = "SMTP 服务器端口", requiredMode = Schema.RequiredMode.REQUIRED, example = "80") + @NotNull(message = "SMTP 服务器端口不能为空") + private Integer port; + + @Schema(description = "是否开启 ssl", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否开启 ssl 必填") + private Boolean sslEnable; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountCreateReqVO.java new file mode 100644 index 00000000..89941c24 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.system.controller.mail.vo.account; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 邮箱账号创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailAccountCreateReqVO extends MailAccountBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountPageReqVO.java new file mode 100644 index 00000000..854f7ce6 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountPageReqVO.java @@ -0,0 +1,21 @@ +package com.win.module.system.controller.mail.vo.account; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 邮箱账号分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailAccountPageReqVO extends PageParam { + + @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "winyuanma@123.com") + private String mail; + + @Schema(description = "用户名" , requiredMode = Schema.RequiredMode.REQUIRED , example = "win") + private String username; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountRespVO.java new file mode 100644 index 00000000..f51937d2 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountRespVO.java @@ -0,0 +1,24 @@ +package com.win.module.system.controller.mail.vo.account; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 邮箱账号 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailAccountRespVO extends MailAccountBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountSimpleRespVO.java new file mode 100644 index 00000000..7036882d --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountSimpleRespVO.java @@ -0,0 +1,16 @@ +package com.win.module.system.controller.mail.vo.account; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 邮箱账号的精简 Response VO") +@Data +public class MailAccountSimpleRespVO { + + @Schema(description = "邮箱编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "768541388@qq.com") + private String mail; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountUpdateReqVO.java new file mode 100644 index 00000000..26c11a29 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/account/MailAccountUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.mail.vo.account; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 邮箱账号修改 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailAccountUpdateReqVO extends MailAccountBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogBaseVO.java new file mode 100644 index 00000000..5c26a283 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogBaseVO.java @@ -0,0 +1,75 @@ +package com.win.module.system.controller.mail.vo.log; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; +import java.util.Map; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 邮件日志 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class MailLogBaseVO { + + @Schema(description = "用户编号", example = "30883") + private Long userId; + + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", example = "2") + private Byte userType; + + @Schema(description = "接收邮箱地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "76854@qq.com") + @NotNull(message = "接收邮箱地址不能为空") + private String toMail; + + @Schema(description = "邮箱账号编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18107") + @NotNull(message = "邮箱账号编号不能为空") + private Long accountId; + + @Schema(description = "发送邮箱地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "85757@qq.com") + @NotNull(message = "发送邮箱地址不能为空") + private String fromMail; + + @Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5678") + @NotNull(message = "模板编号不能为空") + private Long templateId; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") + @NotNull(message = "模板编码不能为空") + private String templateCode; + + @Schema(description = "模版发送人名称", example = "李四") + private String templateNickname; + + @Schema(description = "邮件标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试标题") + @NotNull(message = "邮件标题不能为空") + private String templateTitle; + + @Schema(description = "邮件内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容") + @NotNull(message = "邮件内容不能为空") + private String templateContent; + + @Schema(description = "邮件参数", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "邮件参数不能为空") + private Map templateParams; + + @Schema(description = "发送状态,参见 MailSendStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "发送状态不能为空") + private Byte sendStatus; + + @Schema(description = "发送时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime sendTime; + + @Schema(description = "发送返回的消息 ID", example = "28568") + private String sendMessageId; + + @Schema(description = "发送异常") + private String sendException; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogPageReqVO.java new file mode 100644 index 00000000..8925626e --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogPageReqVO.java @@ -0,0 +1,42 @@ +package com.win.module.system.controller.mail.vo.log; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 邮箱日志分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailLogPageReqVO extends PageParam { + + @Schema(description = "用户编号", example = "30883") + private Long userId; + + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", example = "2") + private Integer userType; + + @Schema(description = "接收邮箱地址,模糊匹配", example = "76854@qq.com") + private String toMail; + + @Schema(description = "邮箱账号编号", example = "18107") + private Long accountId; + + @Schema(description = "模板编号", example = "5678") + private Long templateId; + + @Schema(description = "发送状态,参见 MailSendStatusEnum 枚举", example = "1") + private Integer sendStatus; + + @Schema(description = "发送时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] sendTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogRespVO.java new file mode 100644 index 00000000..647756f8 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/log/MailLogRespVO.java @@ -0,0 +1,19 @@ +package com.win.module.system.controller.mail.vo.log; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 邮件日志 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailLogRespVO extends MailLogBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31020") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateBaseVO.java new file mode 100644 index 00000000..669d379f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateBaseVO.java @@ -0,0 +1,46 @@ +package com.win.module.system.controller.mail.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +/** + * 邮件模版 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class MailTemplateBaseVO { + + @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试名字") + @NotNull(message = "名称不能为空") + private String name; + + @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "test") + @NotNull(message = "模版编号不能为空") + private String code; + + @Schema(description = "发送的邮箱账号编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "发送的邮箱账号编号不能为空") + private Long accountId; + + @Schema(description = "发送人名称", example = "芋头") + private String nickname; + + @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "注册成功") + @NotEmpty(message = "标题不能为空") + private String title; + + @Schema(description = "内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,注册成功啦") + @NotEmpty(message = "内容不能为空") + private String content; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "备注", example = "奥特曼") + private String remark; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateCreateReqVO.java new file mode 100644 index 00000000..ff830b11 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.system.controller.mail.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 邮件模版创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailTemplateCreateReqVO extends MailTemplateBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplatePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplatePageReqVO.java new file mode 100644 index 00000000..6017a6d3 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplatePageReqVO.java @@ -0,0 +1,36 @@ +package com.win.module.system.controller.mail.vo.template; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 邮件模版分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailTemplatePageReqVO extends PageParam { + + @Schema(description = "状态,参见 CommonStatusEnum 枚举", example = "1") + private Integer status; + + @Schema(description = "标识,模糊匹配", example = "code_1024") + private String code; + + @Schema(description = "名称,模糊匹配", example = "芋头") + private String name; + + @Schema(description = "账号编号", example = "2048") + private Long accountId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateRespVO.java new file mode 100644 index 00000000..2be30aaa --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateRespVO.java @@ -0,0 +1,26 @@ +package com.win.module.system.controller.mail.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 邮件末班 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailTemplateRespVO extends MailTemplateBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "参数数组", example = "name,code") + private List params; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateSendReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateSendReqVO.java new file mode 100644 index 00000000..7224eac3 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateSendReqVO.java @@ -0,0 +1,25 @@ +package com.win.module.system.controller.mail.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Map; + +@Schema(description = "管理后台 - 邮件发送 Req VO") +@Data +public class MailTemplateSendReqVO { + + @Schema(description = "接收邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "7685413@qq.com") + @NotEmpty(message = "接收邮箱不能为空") + private String mail; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") + @NotNull(message = "模板编码不能为空") + private String templateCode; + + @Schema(description = "模板参数") + private Map templateParams; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateSimpleRespVO.java new file mode 100644 index 00000000..cbfa0bdd --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateSimpleRespVO.java @@ -0,0 +1,16 @@ +package com.win.module.system.controller.mail.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 邮件模版的精简 Response VO") +@Data +public class MailTemplateSimpleRespVO { + + @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "模版名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "哒哒哒") + private String name; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateUpdateReqVO.java new file mode 100644 index 00000000..c67c8d81 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/mail/vo/template/MailTemplateUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.mail.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 邮件模版修改 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MailTemplateUpdateReqVO extends MailTemplateBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/NoticeController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/NoticeController.java new file mode 100644 index 00000000..2222cba3 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/NoticeController.java @@ -0,0 +1,72 @@ +package com.win.module.system.controller.notice; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.notice.vo.NoticeCreateReqVO; +import com.win.module.system.controller.notice.vo.NoticePageReqVO; +import com.win.module.system.controller.notice.vo.NoticeRespVO; +import com.win.module.system.controller.notice.vo.NoticeUpdateReqVO; +import com.win.module.system.convert.notice.NoticeConvert; +import com.win.module.system.service.notice.NoticeService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 通知公告") +@RestController +@RequestMapping("/system/notice") +@Validated +public class NoticeController { + + @Resource + private NoticeService noticeService; + + @PostMapping("/create") + @Operation(summary = "创建通知公告") + @PreAuthorize("@ss.hasPermission('system:notice:create')") + public CommonResult createNotice(@Valid @RequestBody NoticeCreateReqVO reqVO) { + Long noticeId = noticeService.createNotice(reqVO); + return success(noticeId); + } + + @PutMapping("/update") + @Operation(summary = "修改通知公告") + @PreAuthorize("@ss.hasPermission('system:notice:update')") + public CommonResult updateNotice(@Valid @RequestBody NoticeUpdateReqVO reqVO) { + noticeService.updateNotice(reqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除通知公告") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:notice:delete')") + public CommonResult deleteNotice(@RequestParam("id") Long id) { + noticeService.deleteNotice(id); + return success(true); + } + + @GetMapping("/page") + @Operation(summary = "获取通知公告列表") + @PreAuthorize("@ss.hasPermission('system:notice:query')") + public CommonResult> getNoticePage(@Validated NoticePageReqVO reqVO) { + return success(NoticeConvert.INSTANCE.convertPage(noticeService.getNoticePage(reqVO))); + } + + @GetMapping("/get") + @Operation(summary = "获得通知公告") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:notice:query')") + public CommonResult getNotice(@RequestParam("id") Long id) { + return success(NoticeConvert.INSTANCE.convert(noticeService.getNotice(id))); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeBaseVO.java new file mode 100644 index 00000000..68e344ae --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeBaseVO.java @@ -0,0 +1,32 @@ +package com.win.module.system.controller.notice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 通知公告 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class NoticeBaseVO { + + @Schema(description = "公告标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主") + @NotBlank(message = "公告标题不能为空") + @Size(max = 50, message = "公告标题不能超过50个字符") + private String title; + + @Schema(description = "公告类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主") + @NotNull(message = "公告类型不能为空") + private Integer type; + + @Schema(description = "公告内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "半生编码") + private String content; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeCreateReqVO.java new file mode 100644 index 00000000..03371b51 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeCreateReqVO.java @@ -0,0 +1,11 @@ +package com.win.module.system.controller.notice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Schema(description = "管理后台 - 通知公告创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class NoticeCreateReqVO extends NoticeBaseVO { +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticePageReqVO.java new file mode 100644 index 00000000..82e8c8d8 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticePageReqVO.java @@ -0,0 +1,19 @@ +package com.win.module.system.controller.notice.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Schema(description = "管理后台 - 通知公告分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class NoticePageReqVO extends PageParam { + + @Schema(description = "通知公告名称,模糊匹配", example = "闻荫") + private String title; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeRespVO.java new file mode 100644 index 00000000..ef0df1fb --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.notice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 通知公告信息 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class NoticeRespVO extends NoticeBaseVO { + + @Schema(description = "通知公告序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeUpdateReqVO.java new file mode 100644 index 00000000..38ecb8a2 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notice/vo/NoticeUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.notice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 岗位公告更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class NoticeUpdateReqVO extends NoticeBaseVO { + + @Schema(description = "岗位公告编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "岗位公告编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyMessageController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyMessageController.java new file mode 100644 index 00000000..55df9392 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyMessageController.java @@ -0,0 +1,95 @@ +package com.win.module.system.controller.notify; + +import com.win.framework.common.enums.UserTypeEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.notify.vo.message.NotifyMessageMyPageReqVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessagePageReqVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessageRespVO; +import com.win.module.system.convert.notify.NotifyMessageConvert; +import com.win.module.system.dal.dataobject.notify.NotifyMessageDO; +import com.win.module.system.service.notify.NotifyMessageService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +@Tag(name = "管理后台 - 我的站内信") +@RestController +@RequestMapping("/system/notify-message") +@Validated +public class NotifyMessageController { + + @Resource + private NotifyMessageService notifyMessageService; + + // ========== 管理所有的站内信 ========== + + @GetMapping("/get") + @Operation(summary = "获得站内信") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:notify-message:query')") + public CommonResult getNotifyMessage(@RequestParam("id") Long id) { + NotifyMessageDO notifyMessage = notifyMessageService.getNotifyMessage(id); + return success(NotifyMessageConvert.INSTANCE.convert(notifyMessage)); + } + + @GetMapping("/page") + @Operation(summary = "获得站内信分页") + @PreAuthorize("@ss.hasPermission('system:notify-message:query')") + public CommonResult> getNotifyMessagePage(@Valid NotifyMessagePageReqVO pageVO) { + PageResult pageResult = notifyMessageService.getNotifyMessagePage(pageVO); + return success(NotifyMessageConvert.INSTANCE.convertPage(pageResult)); + } + + // ========== 查看自己的站内信 ========== + + @GetMapping("/my-page") + @Operation(summary = "获得我的站内信分页") + public CommonResult> getMyMyNotifyMessagePage(@Valid NotifyMessageMyPageReqVO pageVO) { + PageResult pageResult = notifyMessageService.getMyMyNotifyMessagePage(pageVO, + getLoginUserId(), UserTypeEnum.ADMIN.getValue()); + return success(NotifyMessageConvert.INSTANCE.convertPage(pageResult)); + } + + @PutMapping("/update-read") + @Operation(summary = "标记站内信为已读") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + public CommonResult updateNotifyMessageRead(@RequestParam("ids") List ids) { + notifyMessageService.updateNotifyMessageRead(ids, getLoginUserId(), UserTypeEnum.ADMIN.getValue()); + return success(Boolean.TRUE); + } + + @PutMapping("/update-all-read") + @Operation(summary = "标记所有站内信为已读") + public CommonResult updateAllNotifyMessageRead() { + notifyMessageService.updateAllNotifyMessageRead(getLoginUserId(), UserTypeEnum.ADMIN.getValue()); + return success(Boolean.TRUE); + } + + @GetMapping("/get-unread-list") + @Operation(summary = "获取当前用户的最新站内信列表,默认 10 条") + @Parameter(name = "size", description = "10") + public CommonResult> getUnreadNotifyMessageList( + @RequestParam(name = "size", defaultValue = "10") Integer size) { + List list = notifyMessageService.getUnreadNotifyMessageList( + getLoginUserId(), UserTypeEnum.ADMIN.getValue(), size); + return success(NotifyMessageConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/get-unread-count") + @Operation(summary = "获得当前用户的未读站内信数量") + public CommonResult getUnreadNotifyMessageCount() { + return success(notifyMessageService.getUnreadNotifyMessageCount(getLoginUserId(), UserTypeEnum.ADMIN.getValue())); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyTemplateController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyTemplateController.java new file mode 100644 index 00000000..ca853666 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyTemplateController.java @@ -0,0 +1,83 @@ +package com.win.module.system.controller.notify; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.notify.vo.template.*; +import com.win.module.system.convert.notify.NotifyTemplateConvert; +import com.win.module.system.dal.dataobject.notify.NotifyTemplateDO; +import com.win.module.system.service.notify.NotifySendService; +import com.win.module.system.service.notify.NotifyTemplateService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 站内信模版") +@RestController +@RequestMapping("/system/notify-template") +@Validated +public class NotifyTemplateController { + + @Resource + private NotifyTemplateService notifyTemplateService; + + @Resource + private NotifySendService notifySendService; + + @PostMapping("/create") + @Operation(summary = "创建站内信模版") + @PreAuthorize("@ss.hasPermission('system:notify-template:create')") + public CommonResult createNotifyTemplate(@Valid @RequestBody NotifyTemplateCreateReqVO createReqVO) { + return success(notifyTemplateService.createNotifyTemplate(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新站内信模版") + @PreAuthorize("@ss.hasPermission('system:notify-template:update')") + public CommonResult updateNotifyTemplate(@Valid @RequestBody NotifyTemplateUpdateReqVO updateReqVO) { + notifyTemplateService.updateNotifyTemplate(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除站内信模版") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:notify-template:delete')") + public CommonResult deleteNotifyTemplate(@RequestParam("id") Long id) { + notifyTemplateService.deleteNotifyTemplate(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得站内信模版") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:notify-template:query')") + public CommonResult getNotifyTemplate(@RequestParam("id") Long id) { + NotifyTemplateDO notifyTemplate = notifyTemplateService.getNotifyTemplate(id); + return success(NotifyTemplateConvert.INSTANCE.convert(notifyTemplate)); + } + + @GetMapping("/page") + @Operation(summary = "获得站内信模版分页") + @PreAuthorize("@ss.hasPermission('system:notify-template:query')") + public CommonResult> getNotifyTemplatePage(@Valid NotifyTemplatePageReqVO pageVO) { + PageResult pageResult = notifyTemplateService.getNotifyTemplatePage(pageVO); + return success(NotifyTemplateConvert.INSTANCE.convertPage(pageResult)); + } + + @PostMapping("/send-notify") + @Operation(summary = "发送站内信") + @PreAuthorize("@ss.hasPermission('system:notify-template:send-notify')") + public CommonResult sendNotify(@Valid @RequestBody NotifyTemplateSendReqVO sendReqVO) { + return success(notifySendService.sendSingleNotifyToAdmin(sendReqVO.getUserId(), + sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams())); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageBaseVO.java new file mode 100644 index 00000000..bdb6e1ec --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageBaseVO.java @@ -0,0 +1,60 @@ +package com.win.module.system.controller.notify.vo.message; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; +import java.util.Map; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 站内信消息 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class NotifyMessageBaseVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25025") + @NotNull(message = "用户编号不能为空") + private Long userId; + + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "用户类型不能为空") + private Byte userType; + + @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13013") + @NotNull(message = "模版编号不能为空") + private Long templateId; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") + @NotNull(message = "模板编码不能为空") + private String templateCode; + + @Schema(description = "模版发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotNull(message = "模版发送人名称不能为空") + private String templateNickname; + + @Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容") + @NotNull(message = "模版内容不能为空") + private String templateContent; + + @Schema(description = "模版类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "模版类型不能为空") + private Integer templateType; + + @Schema(description = "模版参数", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "模版参数不能为空") + private Map templateParams; + + @Schema(description = "是否已读", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "是否已读不能为空") + private Boolean readStatus; + + @Schema(description = "阅读时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime readTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageMyPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageMyPageReqVO.java new file mode 100644 index 00000000..ae104730 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageMyPageReqVO.java @@ -0,0 +1,27 @@ +package com.win.module.system.controller.notify.vo.message; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 站内信分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class NotifyMessageMyPageReqVO extends PageParam { + + @Schema(description = "是否已读", example = "true") + private Boolean readStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessagePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessagePageReqVO.java new file mode 100644 index 00000000..90746cba --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessagePageReqVO.java @@ -0,0 +1,36 @@ +package com.win.module.system.controller.notify.vo.message; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 站内信分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class NotifyMessagePageReqVO extends PageParam { + + @Schema(description = "用户编号", example = "25025") + private Long userId; + + @Schema(description = "用户类型", example = "1") + private Integer userType; + + @Schema(description = "模板编码", example = "test_01") + private String templateCode; + + @Schema(description = "模版类型", example = "2") + private Integer templateType; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageRespVO.java new file mode 100644 index 00000000..aada9091 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/message/NotifyMessageRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.system.controller.notify.vo.message; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 站内信 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class NotifyMessageRespVO extends NotifyMessageBaseVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateBaseVO.java new file mode 100644 index 00000000..75758486 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateBaseVO.java @@ -0,0 +1,46 @@ +package com.win.module.system.controller.notify.vo.template; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.validation.InEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +/** + * 站内信模版 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class NotifyTemplateBaseVO { + + @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试模版") + @NotEmpty(message = "模版名称不能为空") + private String name; + + @Schema(description = "模版编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "SEND_TEST") + @NotNull(message = "模版编码不能为空") + private String code; + + @Schema(description = "模版类型,对应 system_notify_template_type 字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "模版类型不能为空") + private Integer type; + + @Schema(description = "发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆") + @NotEmpty(message = "发送人名称不能为空") + private String nickname; + + @Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "我是模版内容") + @NotEmpty(message = "模版内容不能为空") + private String content; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + @InEnum(value = CommonStatusEnum.class, message = "状态必须是 {value}") + private Integer status; + + @Schema(description = "备注", example = "我是备注") + private String remark; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateCreateReqVO.java new file mode 100644 index 00000000..3b476fb1 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateCreateReqVO.java @@ -0,0 +1,11 @@ +package com.win.module.system.controller.notify.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - 站内信模版创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class NotifyTemplateCreateReqVO extends NotifyTemplateBaseVO { +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplatePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplatePageReqVO.java new file mode 100644 index 00000000..ad8f9860 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplatePageReqVO.java @@ -0,0 +1,33 @@ +package com.win.module.system.controller.notify.vo.template; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 站内信模版分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class NotifyTemplatePageReqVO extends PageParam { + + @Schema(description = "模版编码", example = "test_01") + private String code; + + @Schema(description = "模版名称", example = "我是名称") + private String name; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateRespVO.java new file mode 100644 index 00000000..cf7d547b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateRespVO.java @@ -0,0 +1,24 @@ +package com.win.module.system.controller.notify.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; +import java.util.*; + +@Schema(description = "管理后台 - 站内信模版 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class NotifyTemplateRespVO extends NotifyTemplateBaseVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "参数数组", example = "name,code") + private List params; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateSendReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateSendReqVO.java new file mode 100644 index 00000000..2aec7caa --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateSendReqVO.java @@ -0,0 +1,24 @@ +package com.win.module.system.controller.notify.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Map; + +@Schema(description = "管理后台 - 站内信模板的发送 Request VO") +@Data +public class NotifyTemplateSendReqVO { + + @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "01") + @NotNull(message = "用户id不能为空") + private Long userId; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "01") + @NotEmpty(message = "模板编码不能为空") + private String templateCode; + + @Schema(description = "模板参数") + private Map templateParams; +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateUpdateReqVO.java new file mode 100644 index 00000000..ba26fad5 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/vo/template/NotifyTemplateUpdateReqVO.java @@ -0,0 +1,17 @@ +package com.win.module.system.controller.notify.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 站内信模版更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class NotifyTemplateUpdateReqVO extends NotifyTemplateBaseVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "ID 不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2ClientController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2ClientController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2ClientController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2ClientController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2ClientController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2ClientController.java new file mode 100644 index 00000000..30cdd34b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2ClientController.java @@ -0,0 +1,74 @@ +package com.win.module.system.controller.oauth2; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientCreateReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientPageReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientRespVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientUpdateReqVO; +import com.win.module.system.convert.auth.OAuth2ClientConvert; +import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; +import com.win.module.system.service.oauth2.OAuth2ClientService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - OAuth2 客户端") +@RestController +@RequestMapping("/system/oauth2-client") +@Validated +public class OAuth2ClientController { + + @Resource + private OAuth2ClientService oAuth2ClientService; + + @PostMapping("/create") + @Operation(summary = "创建 OAuth2 客户端") + @PreAuthorize("@ss.hasPermission('system:oauth2-client:create')") + public CommonResult createOAuth2Client(@Valid @RequestBody OAuth2ClientCreateReqVO createReqVO) { + return success(oAuth2ClientService.createOAuth2Client(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新 OAuth2 客户端") + @PreAuthorize("@ss.hasPermission('system:oauth2-client:update')") + public CommonResult updateOAuth2Client(@Valid @RequestBody OAuth2ClientUpdateReqVO updateReqVO) { + oAuth2ClientService.updateOAuth2Client(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除 OAuth2 客户端") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:oauth2-client:delete')") + public CommonResult deleteOAuth2Client(@RequestParam("id") Long id) { + oAuth2ClientService.deleteOAuth2Client(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得 OAuth2 客户端") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:oauth2-client:query')") + public CommonResult getOAuth2Client(@RequestParam("id") Long id) { + OAuth2ClientDO oAuth2Client = oAuth2ClientService.getOAuth2Client(id); + return success(OAuth2ClientConvert.INSTANCE.convert(oAuth2Client)); + } + + @GetMapping("/page") + @Operation(summary = "获得OAuth2 客户端分页") + @PreAuthorize("@ss.hasPermission('system:oauth2-client:query')") + public CommonResult> getOAuth2ClientPage(@Valid OAuth2ClientPageReqVO pageVO) { + PageResult pageResult = oAuth2ClientService.getOAuth2ClientPage(pageVO); + return success(OAuth2ClientConvert.INSTANCE.convertPage(pageResult)); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2OpenController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2OpenController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2OpenController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2OpenController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2OpenController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2OpenController.java new file mode 100644 index 00000000..01b7617f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2OpenController.java @@ -0,0 +1,302 @@ +package com.win.module.system.controller.oauth2; + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.win.framework.common.enums.UserTypeEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.util.http.HttpUtils; +import com.win.framework.common.util.json.JsonUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.oauth2.vo.open.OAuth2OpenAccessTokenRespVO; +import com.win.module.system.controller.oauth2.vo.open.OAuth2OpenAuthorizeInfoRespVO; +import com.win.module.system.controller.oauth2.vo.open.OAuth2OpenCheckTokenRespVO; +import com.win.module.system.convert.oauth2.OAuth2OpenConvert; +import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; +import com.win.module.system.dal.dataobject.oauth2.OAuth2ApproveDO; +import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; +import com.win.module.system.enums.oauth2.OAuth2GrantTypeEnum; +import com.win.module.system.service.oauth2.OAuth2ApproveService; +import com.win.module.system.service.oauth2.OAuth2ClientService; +import com.win.module.system.service.oauth2.OAuth2GrantService; +import com.win.module.system.service.oauth2.OAuth2TokenService; +import com.win.module.system.util.oauth2.OAuth2Utils; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.annotation.security.PermitAll; +import javax.servlet.http.HttpServletRequest; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import static com.win.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; +import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception0; +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.common.util.collection.CollectionUtils.convertList; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +/** + * 提供给外部应用调用为主 + * + * 一般来说,管理后台的 /system-api/* 是不直接提供给外部应用使用,主要是外部应用能够访问的数据与接口是有限的,而管理后台的 RBAC 无法很好的控制。 + * 参考大量的开放平台,都是独立的一套 OpenAPI,对应到【本系统】就是在 Controller 下新建 open 包,实现 /open-api/* 接口,然后通过 scope 进行控制。 + * 另外,一个公司如果有多个管理后台,它们 client_id 产生的 access token 相互之间是无法互通的,即无法访问它们系统的 API 接口,直到两个 client_id 产生信任授权。 + * + * 考虑到【本系统】暂时不想做的过于复杂,默认只有获取到 access token 之后,可以访问【本系统】管理后台的 /system-api/* 所有接口,除非手动添加 scope 控制。 + * scope 的使用示例,可见 {@link OAuth2UserController} 类 + * + * @author 闻荫源码 + */ +@Tag(name = "管理后台 - OAuth2.0 授权") +@RestController +@RequestMapping("/system/oauth2") +@Validated +@Slf4j +public class OAuth2OpenController { + + @Resource + private OAuth2GrantService oauth2GrantService; + @Resource + private OAuth2ClientService oauth2ClientService; + @Resource + private OAuth2ApproveService oauth2ApproveService; + @Resource + private OAuth2TokenService oauth2TokenService; + + /** + * 对应 Spring Security OAuth 的 TokenEndpoint 类的 postAccessToken 方法 + * + * 授权码 authorization_code 模式时:code + redirectUri + state 参数 + * 密码 password 模式时:username + password + scope 参数 + * 刷新 refresh_token 模式时:refreshToken 参数 + * 客户端 client_credentials 模式:scope 参数 + * 简化 implicit 模式时:不支持 + * + * 注意,默认需要传递 client_id + client_secret 参数 + */ + @PostMapping("/token") + @PermitAll + @Operation(summary = "获得访问令牌", description = "适合 code 授权码模式,或者 implicit 简化模式;在 sso.vue 单点登录界面被【获取】调用") + @Parameters({ + @Parameter(name = "grant_type", required = true, description = "授权类型", example = "code"), + @Parameter(name = "code", description = "授权范围", example = "userinfo.read"), + @Parameter(name = "redirect_uri", description = "重定向 URI", example = "https://www.iocoder.cn"), + @Parameter(name = "state", description = "状态", example = "1"), + @Parameter(name = "username", example = "tudou"), + @Parameter(name = "password", example = "cai"), // 多个使用空格分隔 + @Parameter(name = "scope", example = "user_info"), + @Parameter(name = "refresh_token", example = "123424233"), + }) + @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 + public CommonResult postAccessToken(HttpServletRequest request, + @RequestParam("grant_type") String grantType, + @RequestParam(value = "code", required = false) String code, // 授权码模式 + @RequestParam(value = "redirect_uri", required = false) String redirectUri, // 授权码模式 + @RequestParam(value = "state", required = false) String state, // 授权码模式 + @RequestParam(value = "username", required = false) String username, // 密码模式 + @RequestParam(value = "password", required = false) String password, // 密码模式 + @RequestParam(value = "scope", required = false) String scope, // 密码模式 + @RequestParam(value = "refresh_token", required = false) String refreshToken) { // 刷新模式 + List scopes = OAuth2Utils.buildScopes(scope); + // 1.1 校验授权类型 + OAuth2GrantTypeEnum grantTypeEnum = OAuth2GrantTypeEnum.getByGranType(grantType); + if (grantTypeEnum == null) { + throw exception0(BAD_REQUEST.getCode(), StrUtil.format("未知授权类型({})", grantType)); + } + if (grantTypeEnum == OAuth2GrantTypeEnum.IMPLICIT) { + throw exception0(BAD_REQUEST.getCode(), "Token 接口不支持 implicit 授权模式"); + } + + // 1.2 校验客户端 + String[] clientIdAndSecret = obtainBasicAuthorization(request); + OAuth2ClientDO client = oauth2ClientService.validOAuthClientFromCache(clientIdAndSecret[0], clientIdAndSecret[1], + grantType, scopes, redirectUri); + + // 2. 根据授权模式,获取访问令牌 + OAuth2AccessTokenDO accessTokenDO; + switch (grantTypeEnum) { + case AUTHORIZATION_CODE: + accessTokenDO = oauth2GrantService.grantAuthorizationCodeForAccessToken(client.getClientId(), code, redirectUri, state); + break; + case PASSWORD: + accessTokenDO = oauth2GrantService.grantPassword(username, password, client.getClientId(), scopes); + break; + case CLIENT_CREDENTIALS: + accessTokenDO = oauth2GrantService.grantClientCredentials(client.getClientId(), scopes); + break; + case REFRESH_TOKEN: + accessTokenDO = oauth2GrantService.grantRefreshToken(refreshToken, client.getClientId()); + break; + default: + throw new IllegalArgumentException("未知授权类型:" + grantType); + } + Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 + return success(OAuth2OpenConvert.INSTANCE.convert(accessTokenDO)); + } + + @DeleteMapping("/token") + @PermitAll + @Operation(summary = "删除访问令牌") + @Parameter(name = "token", required = true, description = "访问令牌", example = "biu") + @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 + public CommonResult revokeToken(HttpServletRequest request, + @RequestParam("token") String token) { + // 校验客户端 + String[] clientIdAndSecret = obtainBasicAuthorization(request); + OAuth2ClientDO client = oauth2ClientService.validOAuthClientFromCache(clientIdAndSecret[0], clientIdAndSecret[1], + null, null, null); + + // 删除访问令牌 + return success(oauth2GrantService.revokeToken(client.getClientId(), token)); + } + + /** + * 对应 Spring Security OAuth 的 CheckTokenEndpoint 类的 checkToken 方法 + */ + @PostMapping("/check-token") + @PermitAll + @Operation(summary = "校验访问令牌") + @Parameter(name = "token", required = true, description = "访问令牌", example = "biu") + @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 + public CommonResult checkToken(HttpServletRequest request, + @RequestParam("token") String token) { + // 校验客户端 + String[] clientIdAndSecret = obtainBasicAuthorization(request); + oauth2ClientService.validOAuthClientFromCache(clientIdAndSecret[0], clientIdAndSecret[1], + null, null, null); + + // 校验令牌 + OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.checkAccessToken(token); + Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 + return success(OAuth2OpenConvert.INSTANCE.convert2(accessTokenDO)); + } + + /** + * 对应 Spring Security OAuth 的 AuthorizationEndpoint 类的 authorize 方法 + */ + @GetMapping("/authorize") + @Operation(summary = "获得授权信息", description = "适合 code 授权码模式,或者 implicit 简化模式;在 sso.vue 单点登录界面被【获取】调用") + @Parameter(name = "clientId", required = true, description = "客户端编号", example = "tudou") + public CommonResult authorize(@RequestParam("clientId") String clientId) { + // 0. 校验用户已经登录。通过 Spring Security 实现 + + // 1. 获得 Client 客户端的信息 + OAuth2ClientDO client = oauth2ClientService.validOAuthClientFromCache(clientId); + // 2. 获得用户已经授权的信息 + List approves = oauth2ApproveService.getApproveList(getLoginUserId(), getUserType(), clientId); + // 拼接返回 + return success(OAuth2OpenConvert.INSTANCE.convert(client, approves)); + } + + /** + * 对应 Spring Security OAuth 的 AuthorizationEndpoint 类的 approveOrDeny 方法 + * + * 场景一:【自动授权 autoApprove = true】 + * 刚进入 sso.vue 界面,调用该接口,用户历史已经给该应用做过对应的授权,或者 OAuth2Client 支持该 scope 的自动授权 + * 场景二:【手动授权 autoApprove = false】 + * 在 sso.vue 界面,用户选择好 scope 授权范围,调用该接口,进行授权。此时,approved 为 true 或者 false + * + * 因为前后端分离,Axios 无法很好的处理 302 重定向,所以和 Spring Security OAuth 略有不同,返回结果是重定向的 URL,剩余交给前端处理 + */ + @PostMapping("/authorize") + @Operation(summary = "申请授权", description = "适合 code 授权码模式,或者 implicit 简化模式;在 sso.vue 单点登录界面被【提交】调用") + @Parameters({ + @Parameter(name = "response_type", required = true, description = "响应类型", example = "code"), + @Parameter(name = "client_id", required = true, description = "客户端编号", example = "tudou"), + @Parameter(name = "scope", description = "授权范围", example = "userinfo.read"), // 使用 Map 格式,Spring MVC 暂时不支持这么接收参数 + @Parameter(name = "redirect_uri", required = true, description = "重定向 URI", example = "https://www.iocoder.cn"), + @Parameter(name = "auto_approve", required = true, description = "用户是否接受", example = "true"), + @Parameter(name = "state", example = "1") + }) + @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 + public CommonResult approveOrDeny(@RequestParam("response_type") String responseType, + @RequestParam("client_id") String clientId, + @RequestParam(value = "scope", required = false) String scope, + @RequestParam("redirect_uri") String redirectUri, + @RequestParam(value = "auto_approve") Boolean autoApprove, + @RequestParam(value = "state", required = false) String state) { + @SuppressWarnings("unchecked") + Map scopes = JsonUtils.parseObject(scope, Map.class); + scopes = ObjectUtil.defaultIfNull(scopes, Collections.emptyMap()); + // 0. 校验用户已经登录。通过 Spring Security 实现 + + // 1.1 校验 responseType 是否满足 code 或者 token 值 + OAuth2GrantTypeEnum grantTypeEnum = getGrantTypeEnum(responseType); + // 1.2 校验 redirectUri 重定向域名是否合法 + 校验 scope 是否在 Client 授权范围内 + OAuth2ClientDO client = oauth2ClientService.validOAuthClientFromCache(clientId, null, + grantTypeEnum.getGrantType(), scopes.keySet(), redirectUri); + + // 2.1 假设 approved 为 null,说明是场景一 + if (Boolean.TRUE.equals(autoApprove)) { + // 如果无法自动授权通过,则返回空 url,前端不进行跳转 + if (!oauth2ApproveService.checkForPreApproval(getLoginUserId(), getUserType(), clientId, scopes.keySet())) { + return success(null); + } + } else { // 2.2 假设 approved 非 null,说明是场景二 + // 如果计算后不通过,则跳转一个错误链接 + if (!oauth2ApproveService.updateAfterApproval(getLoginUserId(), getUserType(), clientId, scopes)) { + return success(OAuth2Utils.buildUnsuccessfulRedirect(redirectUri, responseType, state, + "access_denied", "User denied access")); + } + } + + // 3.1 如果是 code 授权码模式,则发放 code 授权码,并重定向 + List approveScopes = convertList(scopes.entrySet(), Map.Entry::getKey, Map.Entry::getValue); + if (grantTypeEnum == OAuth2GrantTypeEnum.AUTHORIZATION_CODE) { + return success(getAuthorizationCodeRedirect(getLoginUserId(), client, approveScopes, redirectUri, state)); + } + // 3.2 如果是 token 则是 implicit 简化模式,则发送 accessToken 访问令牌,并重定向 + return success(getImplicitGrantRedirect(getLoginUserId(), client, approveScopes, redirectUri, state)); + } + + private static OAuth2GrantTypeEnum getGrantTypeEnum(String responseType) { + if (StrUtil.equals(responseType, "code")) { + return OAuth2GrantTypeEnum.AUTHORIZATION_CODE; + } + if (StrUtil.equalsAny(responseType, "token")) { + return OAuth2GrantTypeEnum.IMPLICIT; + } + throw exception0(BAD_REQUEST.getCode(), "response_type 参数值只允许 code 和 token"); + } + + private String getImplicitGrantRedirect(Long userId, OAuth2ClientDO client, + List scopes, String redirectUri, String state) { + // 1. 创建 access token 访问令牌 + OAuth2AccessTokenDO accessTokenDO = oauth2GrantService.grantImplicit(userId, getUserType(), client.getClientId(), scopes); + Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 + // 2. 拼接重定向的 URL + // noinspection unchecked + return OAuth2Utils.buildImplicitRedirectUri(redirectUri, accessTokenDO.getAccessToken(), state, accessTokenDO.getExpiresTime(), + scopes, JsonUtils.parseObject(client.getAdditionalInformation(), Map.class)); + } + + private String getAuthorizationCodeRedirect(Long userId, OAuth2ClientDO client, + List scopes, String redirectUri, String state) { + // 1. 创建 code 授权码 + String authorizationCode = oauth2GrantService.grantAuthorizationCodeForCode(userId, getUserType(), client.getClientId(), scopes, + redirectUri, state); + // 2. 拼接重定向的 URL + return OAuth2Utils.buildAuthorizationCodeRedirectUri(redirectUri, authorizationCode, state); + } + + private Integer getUserType() { + return UserTypeEnum.ADMIN.getValue(); + } + + private String[] obtainBasicAuthorization(HttpServletRequest request) { + String[] clientIdAndSecret = HttpUtils.obtainBasicAuthorization(request); + if (ArrayUtil.isEmpty(clientIdAndSecret) || clientIdAndSecret.length != 2) { + throw exception0(BAD_REQUEST.getCode(), "client_id 或 client_secret 未正确传递"); + } + return clientIdAndSecret; + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2TokenController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2TokenController.java new file mode 100644 index 00000000..c16c297d --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2TokenController.java @@ -0,0 +1,50 @@ +package com.win.module.system.controller.oauth2; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.oauth2.vo.token.OAuth2AccessTokenPageReqVO; +import com.win.module.system.controller.oauth2.vo.token.OAuth2AccessTokenRespVO; +import com.win.module.system.convert.auth.OAuth2TokenConvert; +import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; +import com.win.module.system.enums.logger.LoginLogTypeEnum; +import com.win.module.system.service.auth.AdminAuthService; +import com.win.module.system.service.oauth2.OAuth2TokenService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - OAuth2.0 令牌") +@RestController +@RequestMapping("/system/oauth2-token") +public class OAuth2TokenController { + + @Resource + private OAuth2TokenService oauth2TokenService; + @Resource + private AdminAuthService authService; + + @GetMapping("/page") + @Operation(summary = "获得访问令牌分页", description = "只返回有效期内的") + @PreAuthorize("@ss.hasPermission('system:oauth2-token:page')") + public CommonResult> getAccessTokenPage(@Valid OAuth2AccessTokenPageReqVO reqVO) { + PageResult pageResult = oauth2TokenService.getAccessTokenPage(reqVO); + return success(OAuth2TokenConvert.INSTANCE.convert(pageResult)); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除访问令牌") + @Parameter(name = "accessToken", description = "访问令牌", required = true, example = "tudou") + @PreAuthorize("@ss.hasPermission('system:oauth2-token:delete')") + public CommonResult deleteAccessToken(@RequestParam("accessToken") String accessToken) { + authService.logout(accessToken, LoginLogTypeEnum.LOGOUT_DELETE.getType()); + return success(true); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2UserController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2UserController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/oauth2/OAuth2UserController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2UserController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2UserController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2UserController.java new file mode 100644 index 00000000..101c9681 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/OAuth2UserController.java @@ -0,0 +1,80 @@ +package com.win.module.system.controller.oauth2; + +import cn.hutool.core.collection.CollUtil; +import com.win.framework.common.pojo.CommonResult; +import com.win.module.system.controller.oauth2.vo.user.OAuth2UserInfoRespVO; +import com.win.module.system.controller.oauth2.vo.user.OAuth2UserUpdateReqVO; +import com.win.module.system.convert.oauth2.OAuth2UserConvert; +import com.win.module.system.dal.dataobject.dept.DeptDO; +import com.win.module.system.dal.dataobject.dept.PostDO; +import com.win.module.system.dal.dataobject.user.AdminUserDO; +import com.win.module.system.service.dept.DeptService; +import com.win.module.system.service.dept.PostService; +import com.win.module.system.service.user.AdminUserService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +/** + * 提供给外部应用调用为主 + * + * 1. 在 getUserInfo 方法上,添加 @PreAuthorize("@ss.hasScope('user.read')") 注解,声明需要满足 scope = user.read + * 2. 在 updateUserInfo 方法上,添加 @PreAuthorize("@ss.hasScope('user.write')") 注解,声明需要满足 scope = user.write + * + * @author 闻荫源码 + */ +@Tag(name = "管理后台 - OAuth2.0 用户") +@RestController +@RequestMapping("/system/oauth2/user") +@Validated +@Slf4j +public class OAuth2UserController { + + @Resource + private AdminUserService userService; + @Resource + private DeptService deptService; + @Resource + private PostService postService; + + @GetMapping("/get") + @Operation(summary = "获得用户基本信息") + @PreAuthorize("@ss.hasScope('user.read')") // + public CommonResult getUserInfo() { + // 获得用户基本信息 + AdminUserDO user = userService.getUser(getLoginUserId()); + OAuth2UserInfoRespVO resp = OAuth2UserConvert.INSTANCE.convert(user); + // 获得部门信息 + if (user.getDeptId() != null) { + DeptDO dept = deptService.getDept(user.getDeptId()); + resp.setDept(OAuth2UserConvert.INSTANCE.convert(dept)); + } + // 获得岗位信息 + if (CollUtil.isNotEmpty(user.getPostIds())) { + List posts = postService.getPostList(user.getPostIds()); + resp.setPosts(OAuth2UserConvert.INSTANCE.convertList(posts)); + } + return success(resp); + } + + @PutMapping("/update") + @Operation(summary = "更新用户基本信息") + @PreAuthorize("@ss.hasScope('user.write')") + public CommonResult updateUserInfo(@Valid @RequestBody OAuth2UserUpdateReqVO reqVO) { + // 这里将 UserProfileUpdateReqVO =》UserProfileUpdateReqVO 对象,实现接口的复用。 + // 主要是,AdminUserService 没有自己的 BO 对象,所以复用只能这么做 + userService.updateUserProfile(getLoginUserId(), OAuth2UserConvert.INSTANCE.convert(reqVO)); + return success(true); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientBaseVO.java new file mode 100644 index 00000000..a2a41941 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientBaseVO.java @@ -0,0 +1,82 @@ +package com.win.module.system.controller.oauth2.vo.client; + +import cn.hutool.core.util.StrUtil; +import com.win.framework.common.util.json.JsonUtils; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.hibernate.validator.constraints.URL; + +import javax.validation.constraints.AssertTrue; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** +* OAuth2 客户端 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class OAuth2ClientBaseVO { + + @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou") + @NotNull(message = "客户端编号不能为空") + private String clientId; + + @Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "fan") + @NotNull(message = "客户端密钥不能为空") + private String secret; + + @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆") + @NotNull(message = "应用名不能为空") + private String name; + + @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png") + @NotNull(message = "应用图标不能为空") + @URL(message = "应用图标的地址不正确") + private String logo; + + @Schema(description = "应用描述", example = "我是一个应用") + private String description; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "访问令牌的有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "8640") + @NotNull(message = "访问令牌的有效期不能为空") + private Integer accessTokenValiditySeconds; + + @Schema(description = "刷新令牌的有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "8640000") + @NotNull(message = "刷新令牌的有效期不能为空") + private Integer refreshTokenValiditySeconds; + + @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") + @NotNull(message = "可重定向的 URI 地址不能为空") + private List<@NotEmpty(message = "重定向的 URI 不能为空") + @URL(message = "重定向的 URI 格式不正确") String> redirectUris; + + @Schema(description = "授权类型,参见 OAuth2GrantTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "password") + @NotNull(message = "授权类型不能为空") + private List authorizedGrantTypes; + + @Schema(description = "授权范围", example = "user_info") + private List scopes; + + @Schema(description = "自动通过的授权范围", example = "user_info") + private List autoApproveScopes; + + @Schema(description = "权限", example = "system:user:query") + private List authorities; + + @Schema(description = "资源", example = "1024") + private List resourceIds; + + @Schema(description = "附加信息", example = "{yunai: true}") + private String additionalInformation; + + @AssertTrue(message = "附加信息必须是 JSON 格式") + public boolean isAdditionalInformationJson() { + return StrUtil.isEmpty(additionalInformation) || JsonUtils.isJson(additionalInformation); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientCreateReqVO.java new file mode 100644 index 00000000..9813a568 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientCreateReqVO.java @@ -0,0 +1,12 @@ +package com.win.module.system.controller.oauth2.vo.client; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - OAuth2 客户端创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OAuth2ClientCreateReqVO extends OAuth2ClientBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientPageReqVO.java new file mode 100644 index 00000000..0f8ed2d7 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientPageReqVO.java @@ -0,0 +1,19 @@ +package com.win.module.system.controller.oauth2.vo.client; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import com.win.framework.common.pojo.PageParam; + +@Schema(description = "管理后台 - OAuth2 客户端分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OAuth2ClientPageReqVO extends PageParam { + + @Schema(description = "应用名,模糊匹配", example = "土豆") + private String name; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientRespVO.java new file mode 100644 index 00000000..2d04e3c4 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.system.controller.oauth2.vo.client; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - OAuth2 客户端 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OAuth2ClientRespVO extends OAuth2ClientBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientUpdateReqVO.java new file mode 100644 index 00000000..6e07e650 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/client/OAuth2ClientUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.oauth2.vo.client; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - OAuth2 客户端更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OAuth2ClientUpdateReqVO extends OAuth2ClientBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java new file mode 100644 index 00000000..53ad4645 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java @@ -0,0 +1,34 @@ +package com.win.module.system.controller.oauth2.vo.open; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 【开放接口】访问令牌 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OAuth2OpenAccessTokenRespVO { + + @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou") + @JsonProperty("access_token") + private String accessToken; + + @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice") + @JsonProperty("refresh_token") + private String refreshToken; + + @Schema(description = "令牌类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "bearer") + @JsonProperty("token_type") + private String tokenType; + + @Schema(description = "过期时间,单位:秒", requiredMode = Schema.RequiredMode.REQUIRED, example = "42430") + @JsonProperty("expires_in") + private Long expiresIn; + + @Schema(description = "授权范围,如果多个授权范围,使用空格分隔", example = "user_info") + private String scope; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java new file mode 100644 index 00000000..b798299c --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java @@ -0,0 +1,38 @@ +package com.win.module.system.controller.oauth2.vo.open; + +import com.win.framework.common.core.KeyValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Schema(description = "管理后台 - 授权页的信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OAuth2OpenAuthorizeInfoRespVO { + + /** + * 客户端 + */ + private Client client; + + @Schema(description = "scope 的选中信息,使用 List 保证有序性,Key 是 scope,Value 为是否选中", requiredMode = Schema.RequiredMode.REQUIRED) + private List> scopes; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class Client { + + @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆") + private String name; + + @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png") + private String logo; + + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java new file mode 100644 index 00000000..7caac201 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java @@ -0,0 +1,40 @@ +package com.win.module.system.controller.oauth2.vo.open; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Schema(description = "管理后台 - 【开放接口】校验令牌 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OAuth2OpenCheckTokenRespVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") + @JsonProperty("user_id") + private Long userId; + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @JsonProperty("user_type") + private Integer userType; + @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @JsonProperty("tenant_id") + private Long tenantId; + + @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "car") + @JsonProperty("client_id") + private String clientId; + @Schema(description = "授权范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "user_info") + private List scopes; + + @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou") + @JsonProperty("access_token") + private String accessToken; + + @Schema(description = "过期时间,时间戳 / 1000,即单位:秒", requiredMode = Schema.RequiredMode.REQUIRED, example = "1593092157") + private Long exp; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java new file mode 100644 index 00000000..71c7e978 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java @@ -0,0 +1,22 @@ +package com.win.module.system.controller.oauth2.vo.token; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Schema(description = "管理后台 - 访问令牌分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class OAuth2AccessTokenPageReqVO extends PageParam { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") + private Long userId; + + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private Integer userType; + + @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private String clientId; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/token/OAuth2AccessTokenRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/token/OAuth2AccessTokenRespVO.java new file mode 100644 index 00000000..3d18dbaf --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/token/OAuth2AccessTokenRespVO.java @@ -0,0 +1,40 @@ +package com.win.module.system.controller.oauth2.vo.token; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 访问令牌 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OAuth2AccessTokenRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou") + private String accessToken; + + @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice") + private String refreshToken; + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") + private Long userId; + + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private Integer userType; + + @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private String clientId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime expiresTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/user/OAuth2UserInfoRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/user/OAuth2UserInfoRespVO.java new file mode 100644 index 00000000..999ff55b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/user/OAuth2UserInfoRespVO.java @@ -0,0 +1,70 @@ +package com.win.module.system.controller.oauth2.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Schema(description = "管理后台 - OAuth2 获得用户基本信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OAuth2UserInfoRespVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + private String username; + + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String nickname; + + @Schema(description = "用户邮箱", example = "win@iocoder.cn") + private String email; + @Schema(description = "手机号码", example = "15601691300") + private String mobile; + + @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") + private Integer sex; + + @Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png") + private String avatar; + + /** + * 所在部门 + */ + private Dept dept; + + /** + * 所属岗位数组 + */ + private List posts; + + @Schema(description = "部门") + @Data + public static class Dept { + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") + private String name; + + } + + @Schema(description = "岗位") + @Data + public static class Post { + + @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "开发") + private String name; + + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/user/OAuth2UserUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/user/OAuth2UserUpdateReqVO.java new file mode 100644 index 00000000..c16bb8d5 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/oauth2/vo/user/OAuth2UserUpdateReqVO.java @@ -0,0 +1,34 @@ +package com.win.module.system.controller.oauth2.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.Email; +import javax.validation.constraints.Size; + +@Schema(description = "管理后台 - OAuth2 更新用户基本信息 Request VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OAuth2UserUpdateReqVO { + + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Size(max = 30, message = "用户昵称长度不能超过 30 个字符") + private String nickname; + + @Schema(description = "用户邮箱", example = "win@iocoder.cn") + @Email(message = "邮箱格式不正确") + @Size(max = 50, message = "邮箱长度不能超过 50 个字符") + private String email; + + @Schema(description = "手机号码", example = "15601691300") + @Length(min = 11, max = 11, message = "手机号长度必须 11 位") + private String mobile; + + @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") + private Integer sex; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/package-info.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/package-info.java deleted file mode 100644 index f7da06a8..00000000 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 提供 RESTful API 给前端: - * 1. admin 包:提供给管理后台 win-ui-admin 前端项目 - * 2. app 包:提供给用户 APP win-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分 - */ -package com.win.module.system.controller; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/MenuController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/MenuController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/MenuController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/MenuController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/MenuController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/MenuController.java new file mode 100644 index 00000000..d11d822c --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/MenuController.java @@ -0,0 +1,87 @@ +package com.win.module.system.controller.permission; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.module.system.controller.permission.vo.menu.*; +import com.win.module.system.convert.permission.MenuConvert; +import com.win.module.system.dal.dataobject.permission.MenuDO; +import com.win.module.system.service.permission.MenuService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.Comparator; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 菜单") +@RestController +@RequestMapping("/system/menu") +@Validated +public class MenuController { + + @Resource + private MenuService menuService; + + @PostMapping("/create") + @Operation(summary = "创建菜单") + @PreAuthorize("@ss.hasPermission('system:menu:create')") + public CommonResult createMenu(@Valid @RequestBody MenuCreateReqVO reqVO) { + Long menuId = menuService.createMenu(reqVO); + return success(menuId); + } + + @PutMapping("/update") + @Operation(summary = "修改菜单") + @PreAuthorize("@ss.hasPermission('system:menu:update')") + public CommonResult updateMenu(@Valid @RequestBody MenuUpdateReqVO reqVO) { + menuService.updateMenu(reqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除菜单") + @Parameter(name = "id", description = "角色编号", required= true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:menu:delete')") + public CommonResult deleteMenu(@RequestParam("id") Long id) { + menuService.deleteMenu(id); + return success(true); + } + + @GetMapping("/list") + @Operation(summary = "获取菜单列表", description = "用于【菜单管理】界面") + @PreAuthorize("@ss.hasPermission('system:menu:query')") + public CommonResult> getMenuList(MenuListReqVO reqVO) { + List list = menuService.getMenuList(reqVO); + list.sort(Comparator.comparing(MenuDO::getSort)); + return success(MenuConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获取菜单精简信息列表", description = "只包含被开启的菜单,用于【角色分配菜单】功能的选项。" + + "在多租户的场景下,会只返回租户所在套餐有的菜单") + public CommonResult> getSimpleMenuList() { + // 获得菜单列表,只要开启状态的 + MenuListReqVO reqVO = new MenuListReqVO(); + reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); + List list = menuService.getMenuListByTenant(reqVO); + // 排序后,返回给前端 + list.sort(Comparator.comparing(MenuDO::getSort)); + return success(MenuConvert.INSTANCE.convertList02(list)); + } + + @GetMapping("/get") + @Operation(summary = "获取菜单信息") + @PreAuthorize("@ss.hasPermission('system:menu:query')") + public CommonResult getMenu(Long id) { + MenuDO menu = menuService.getMenu(id); + return success(MenuConvert.INSTANCE.convert(menu)); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/PermissionController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/PermissionController.java new file mode 100644 index 00000000..8fea3084 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/PermissionController.java @@ -0,0 +1,82 @@ +package com.win.module.system.controller.permission; + +import cn.hutool.core.collection.CollUtil; +import com.win.framework.common.pojo.CommonResult; +import com.win.module.system.controller.permission.vo.permission.PermissionAssignRoleDataScopeReqVO; +import com.win.module.system.controller.permission.vo.permission.PermissionAssignRoleMenuReqVO; +import com.win.module.system.controller.permission.vo.permission.PermissionAssignUserRoleReqVO; +import com.win.module.system.service.permission.PermissionService; +import com.win.module.system.service.tenant.TenantService; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.Set; + +import static com.win.framework.common.pojo.CommonResult.success; + +/** + * 权限 Controller,提供赋予用户、角色的权限的 API 接口 + * + * @author 闻荫源码 + */ +@Tag(name = "管理后台 - 权限") +@RestController +@RequestMapping("/system/permission") +public class PermissionController { + + @Resource + private PermissionService permissionService; + @Resource + private TenantService tenantService; + + @Operation(summary = "获得角色拥有的菜单编号") + @Parameter(name = "roleId", description = "角色编号", required = true) + @GetMapping("/list-role-menus") + @PreAuthorize("@ss.hasPermission('system:permission:assign-role-menu')") + public CommonResult> getRoleMenuList(Long roleId) { + return success(permissionService.getRoleMenuListByRoleId(roleId)); + } + + @PostMapping("/assign-role-menu") + @Operation(summary = "赋予角色菜单") + @PreAuthorize("@ss.hasPermission('system:permission:assign-role-menu')") + public CommonResult assignRoleMenu(@Validated @RequestBody PermissionAssignRoleMenuReqVO reqVO) { + // 开启多租户的情况下,需要过滤掉未开通的菜单 + tenantService.handleTenantMenu(menuIds -> reqVO.getMenuIds().removeIf(menuId -> !CollUtil.contains(menuIds, menuId))); + + // 执行菜单的分配 + permissionService.assignRoleMenu(reqVO.getRoleId(), reqVO.getMenuIds()); + return success(true); + } + + @PostMapping("/assign-role-data-scope") + @Operation(summary = "赋予角色数据权限") + @PreAuthorize("@ss.hasPermission('system:permission:assign-role-data-scope')") + public CommonResult assignRoleDataScope(@Valid @RequestBody PermissionAssignRoleDataScopeReqVO reqVO) { + permissionService.assignRoleDataScope(reqVO.getRoleId(), reqVO.getDataScope(), reqVO.getDataScopeDeptIds()); + return success(true); + } + + @Operation(summary = "获得管理员拥有的角色编号列表") + @Parameter(name = "userId", description = "用户编号", required = true) + @GetMapping("/list-user-roles") + @PreAuthorize("@ss.hasPermission('system:permission:assign-user-role')") + public CommonResult> listAdminRoles(@RequestParam("userId") Long userId) { + return success(permissionService.getUserRoleIdListByUserId(userId)); + } + + @Operation(summary = "赋予用户角色") + @PostMapping("/assign-user-role") + @PreAuthorize("@ss.hasPermission('system:permission:assign-user-role')") + public CommonResult assignUserRole(@Validated @RequestBody PermissionAssignUserRoleReqVO reqVO) { + permissionService.assignUserRole(reqVO.getUserId(), reqVO.getRoleIds()); + return success(true); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/RoleController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/RoleController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/permission/RoleController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/RoleController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/RoleController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/RoleController.java new file mode 100644 index 00000000..eb606f7d --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/RoleController.java @@ -0,0 +1,106 @@ +package com.win.module.system.controller.permission; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.permission.vo.role.*; +import com.win.module.system.convert.permission.RoleConvert; +import com.win.module.system.dal.dataobject.permission.RoleDO; +import com.win.module.system.service.permission.RoleService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Comparator; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; +import static java.util.Collections.singleton; + +@Tag(name = "管理后台 - 角色") +@RestController +@RequestMapping("/system/role") +@Validated +public class RoleController { + + @Resource + private RoleService roleService; + + @PostMapping("/create") + @Operation(summary = "创建角色") + @PreAuthorize("@ss.hasPermission('system:role:create')") + public CommonResult createRole(@Valid @RequestBody RoleCreateReqVO reqVO) { + return success(roleService.createRole(reqVO, null)); + } + + @PutMapping("/update") + @Operation(summary = "修改角色") + @PreAuthorize("@ss.hasPermission('system:role:update')") + public CommonResult updateRole(@Valid @RequestBody RoleUpdateReqVO reqVO) { + roleService.updateRole(reqVO); + return success(true); + } + + @PutMapping("/update-status") + @Operation(summary = "修改角色状态") + @PreAuthorize("@ss.hasPermission('system:role:update')") + public CommonResult updateRoleStatus(@Valid @RequestBody RoleUpdateStatusReqVO reqVO) { + roleService.updateRoleStatus(reqVO.getId(), reqVO.getStatus()); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除角色") + @Parameter(name = "id", description = "角色编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:role:delete')") + public CommonResult deleteRole(@RequestParam("id") Long id) { + roleService.deleteRole(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得角色信息") + @PreAuthorize("@ss.hasPermission('system:role:query')") + public CommonResult getRole(@RequestParam("id") Long id) { + RoleDO role = roleService.getRole(id); + return success(RoleConvert.INSTANCE.convert(role)); + } + + @GetMapping("/page") + @Operation(summary = "获得角色分页") + @PreAuthorize("@ss.hasPermission('system:role:query')") + public CommonResult> getRolePage(RolePageReqVO reqVO) { + return success(roleService.getRolePage(reqVO)); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获取角色精简信息列表", description = "只包含被开启的角色,主要用于前端的下拉选项") + public CommonResult> getSimpleRoleList() { + // 获得角色列表,只要开启状态的 + List list = roleService.getRoleListByStatus(singleton(CommonStatusEnum.ENABLE.getStatus())); + // 排序后,返回给前端 + list.sort(Comparator.comparing(RoleDO::getSort)); + return success(RoleConvert.INSTANCE.convertList02(list)); + } + + @GetMapping("/export") + @OperateLog(type = EXPORT) + @PreAuthorize("@ss.hasPermission('system:role:export')") + public void export(HttpServletResponse response, @Validated RoleExportReqVO reqVO) throws IOException { + List list = roleService.getRoleList(reqVO); + List data = RoleConvert.INSTANCE.convertList03(list); + // 输出 + ExcelUtils.write(response, "角色数据.xls", "角色列表", RoleExcelVO.class, data); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuBaseVO.java new file mode 100644 index 00000000..d9c0054c --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuBaseVO.java @@ -0,0 +1,65 @@ +package com.win.module.system.controller.permission.vo.menu; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 菜单 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class MenuBaseVO { + + @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotBlank(message = "菜单名称不能为空") + @Size(max = 50, message = "菜单名称长度不能超过50个字符") + private String name; + + @Schema(description = "权限标识,仅菜单类型为按钮时,才需要传递", example = "sys:menu:add") + @Size(max = 100) + private String permission; + + @Schema(description = "类型,参见 MenuTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "菜单类型不能为空") + private Integer type; + + @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "显示顺序不能为空") + private Integer sort; + + @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "父菜单 ID 不能为空") + private Long parentId; + + @Schema(description = "路由地址,仅菜单类型为菜单或者目录时,才需要传", example = "post") + @Size(max = 200, message = "路由地址不能超过200个字符") + private String path; + + @Schema(description = "菜单图标,仅菜单类型为菜单或者目录时,才需要传", example = "/menu/list") + private String icon; + + @Schema(description = "组件路径,仅菜单类型为菜单时,才需要传", example = "system/post/index") + @Size(max = 200, message = "组件路径不能超过255个字符") + private String component; + + @Schema(description = "组件名", example = "SystemUser") + private String componentName; + + @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "是否可见", example = "false") + private Boolean visible; + + @Schema(description = "是否缓存", example = "false") + private Boolean keepAlive; + + @Schema(description = "是否总是显示", example = "false") + private Boolean alwaysShow; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuCreateReqVO.java new file mode 100644 index 00000000..9b7a791b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuCreateReqVO.java @@ -0,0 +1,10 @@ +package com.win.module.system.controller.permission.vo.menu; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - 菜单创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class MenuCreateReqVO extends MenuBaseVO { +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuListReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuListReqVO.java new file mode 100644 index 00000000..f781f630 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuListReqVO.java @@ -0,0 +1,16 @@ +package com.win.module.system.controller.permission.vo.menu; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 菜单列表 Request VO") +@Data +public class MenuListReqVO { + + @Schema(description = "菜单名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuRespVO.java new file mode 100644 index 00000000..7cc98c6a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuRespVO.java @@ -0,0 +1,27 @@ +package com.win.module.system.controller.permission.vo.menu; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 菜单信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MenuRespVO extends MenuBaseVO { + + @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuSimpleRespVO.java new file mode 100644 index 00000000..ff6ad203 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuSimpleRespVO.java @@ -0,0 +1,28 @@ +package com.win.module.system.controller.permission.vo.menu; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 菜单精简信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class MenuSimpleRespVO { + + @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + + @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long parentId; + + @Schema(description = "类型,参见 MenuTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer type; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuUpdateReqVO.java new file mode 100644 index 00000000..b0fb1f23 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/menu/MenuUpdateReqVO.java @@ -0,0 +1,17 @@ +package com.win.module.system.controller.permission.vo.menu; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 菜单更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class MenuUpdateReqVO extends MenuBaseVO { + + @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "菜单编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java new file mode 100644 index 00000000..d968e849 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java @@ -0,0 +1,26 @@ +package com.win.module.system.controller.permission.vo.permission; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Collections; +import java.util.Set; + +@Schema(description = "管理后台 - 赋予角色数据权限 Request VO") +@Data +public class PermissionAssignRoleDataScopeReqVO { + + @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "角色编号不能为空") + private Long roleId; + + @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "数据范围不能为空") +// TODO 这里要多一个枚举校验 + private Integer dataScope; + + @Schema(description = "部门编号列表,只有范围类型为 DEPT_CUSTOM 时,该字段才需要", example = "1,3,5") + private Set dataScopeDeptIds = Collections.emptySet(); // 兜底 + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignRoleMenuReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignRoleMenuReqVO.java new file mode 100644 index 00000000..85a492ca --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignRoleMenuReqVO.java @@ -0,0 +1,21 @@ +package com.win.module.system.controller.permission.vo.permission; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Collections; +import java.util.Set; + +@Schema(description = "管理后台 - 赋予角色菜单 Request VO") +@Data +public class PermissionAssignRoleMenuReqVO { + + @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "角色编号不能为空") + private Long roleId; + + @Schema(description = "菜单编号列表", example = "1,3,5") + private Set menuIds = Collections.emptySet(); // 兜底 + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignUserRoleReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignUserRoleReqVO.java new file mode 100644 index 00000000..92120680 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/permission/PermissionAssignUserRoleReqVO.java @@ -0,0 +1,21 @@ +package com.win.module.system.controller.permission.vo.permission; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Collections; +import java.util.Set; + +@Schema(description = "管理后台 - 赋予用户角色 Request VO") +@Data +public class PermissionAssignUserRoleReqVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "用户编号不能为空") + private Long userId; + + @Schema(description = "角色编号列表", example = "1,3,5") + private Set roleIds = Collections.emptySet(); // 兜底 + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleBaseVO.java new file mode 100644 index 00000000..6c75f5d3 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleBaseVO.java @@ -0,0 +1,34 @@ +package com.win.module.system.controller.permission.vo.role; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 角色 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class RoleBaseVO { + + @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "管理员") + @NotBlank(message = "角色名称不能为空") + @Size(max = 30, message = "角色名称长度不能超过30个字符") + private String name; + + @NotBlank(message = "角色标志不能为空") + @Size(max = 100, message = "角色标志长度不能超过100个字符") + @Schema(description = "角色编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ADMIN") + private String code; + + @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "显示顺序不能为空") + private Integer sort; + + @Schema(description = "备注", example = "我是一个角色") + private String remark; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleCreateReqVO.java new file mode 100644 index 00000000..746dc735 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleCreateReqVO.java @@ -0,0 +1,12 @@ +package com.win.module.system.controller.permission.vo.role; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Schema(description = "管理后台 - 角色创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class RoleCreateReqVO extends RoleBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleExcelVO.java new file mode 100644 index 00000000..978ac8cf --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleExcelVO.java @@ -0,0 +1,34 @@ +package com.win.module.system.controller.permission.vo.role; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +/** + * 角色 Excel 导出响应 VO + */ +@Data +public class RoleExcelVO { + + @ExcelProperty("角色序号") + private Long id; + + @ExcelProperty("角色名称") + private String name; + + @ExcelProperty("角色标志") + private String code; + + @ExcelProperty("角色排序") + private Integer sort; + + @ExcelProperty("数据范围") + private Integer dataScope; + + @ExcelProperty(value = "角色状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private String status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleExportReqVO.java new file mode 100644 index 00000000..44f2fdcb --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleExportReqVO.java @@ -0,0 +1,28 @@ +package com.win.module.system.controller.permission.vo.role; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 角色分页 Request VO") +@Data +public class RoleExportReqVO { + + @Schema(description = "角色名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "角色标识,模糊匹配", example = "win") + private String code; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @Schema(description = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RolePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RolePageReqVO.java new file mode 100644 index 00000000..435544ad --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RolePageReqVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.permission.vo.role; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 角色分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class RolePageReqVO extends PageParam { + + @Schema(description = "角色名称,模糊匹配", example = "闻荫") + private String name; + + @Schema(description = "角色标识,模糊匹配", example = "win") + private String code; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleRespVO.java new file mode 100644 index 00000000..60733619 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleRespVO.java @@ -0,0 +1,37 @@ +package com.win.module.system.controller.permission.vo.role; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; +import java.util.Set; + +@Schema(description = "管理后台 - 角色信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RoleRespVO extends RoleBaseVO { + + @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer dataScope; + + @Schema(description = "数据范围(指定部门数组)", example = "1") + private Set dataScopeDeptIds; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "角色类型,参见 RoleTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer type; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleSimpleRespVO.java new file mode 100644 index 00000000..acecedf0 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleSimpleRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.permission.vo.role; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 角色精简信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RoleSimpleRespVO { + + @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String name; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleUpdateReqVO.java new file mode 100644 index 00000000..547f7832 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.permission.vo.role; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 角色更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class RoleUpdateReqVO extends RoleBaseVO { + + @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "角色编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleUpdateStatusReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleUpdateStatusReqVO.java new file mode 100644 index 00000000..e57f6306 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/permission/vo/role/RoleUpdateStatusReqVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.permission.vo.role; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.validation.InEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 角色更新状态 Request VO") +@Data +public class RoleUpdateStatusReqVO { + + @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "角色编号不能为空") + private Long id; + + @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/SensitiveWordController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/SensitiveWordController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sensitiveword/SensitiveWordController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/SensitiveWordController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/SensitiveWordController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/SensitiveWordController.java new file mode 100644 index 00000000..b29de208 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/SensitiveWordController.java @@ -0,0 +1,104 @@ +package com.win.module.system.controller.sensitiveword; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.sensitiveword.vo.*; +import com.win.module.system.convert.sensitiveword.SensitiveWordConvert; +import com.win.module.system.dal.dataobject.sensitiveword.SensitiveWordDO; +import com.win.module.system.service.sensitiveword.SensitiveWordService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; +import java.util.Set; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 敏感词") +@RestController +@RequestMapping("/system/sensitive-word") +@Validated +public class SensitiveWordController { + + @Resource + private SensitiveWordService sensitiveWordService; + + @PostMapping("/create") + @Operation(summary = "创建敏感词") + @PreAuthorize("@ss.hasPermission('system:sensitive-word:create')") + public CommonResult createSensitiveWord(@Valid @RequestBody SensitiveWordCreateReqVO createReqVO) { + return success(sensitiveWordService.createSensitiveWord(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新敏感词") + @PreAuthorize("@ss.hasPermission('system:sensitive-word:update')") + public CommonResult updateSensitiveWord(@Valid @RequestBody SensitiveWordUpdateReqVO updateReqVO) { + sensitiveWordService.updateSensitiveWord(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除敏感词") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:sensitive-word:delete')") + public CommonResult deleteSensitiveWord(@RequestParam("id") Long id) { + sensitiveWordService.deleteSensitiveWord(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得敏感词") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:sensitive-word:query')") + public CommonResult getSensitiveWord(@RequestParam("id") Long id) { + SensitiveWordDO sensitiveWord = sensitiveWordService.getSensitiveWord(id); + return success(SensitiveWordConvert.INSTANCE.convert(sensitiveWord)); + } + + @GetMapping("/page") + @Operation(summary = "获得敏感词分页") + @PreAuthorize("@ss.hasPermission('system:sensitive-word:query')") + public CommonResult> getSensitiveWordPage(@Valid SensitiveWordPageReqVO pageVO) { + PageResult pageResult = sensitiveWordService.getSensitiveWordPage(pageVO); + return success(SensitiveWordConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出敏感词 Excel") + @PreAuthorize("@ss.hasPermission('system:sensitive-word:export')") + @OperateLog(type = EXPORT) + public void exportSensitiveWordExcel(@Valid SensitiveWordExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = sensitiveWordService.getSensitiveWordList(exportReqVO); + // 导出 Excel + List datas = SensitiveWordConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "敏感词.xls", "数据", SensitiveWordExcelVO.class, datas); + } + + @GetMapping("/get-tags") + @Operation(summary = "获取所有敏感词的标签数组") + @PreAuthorize("@ss.hasPermission('system:sensitive-word:query')") + public CommonResult> getSensitiveWordTagSet() { + return success(sensitiveWordService.getSensitiveWordTagSet()); + } + + @GetMapping("/validate-text") + @Operation(summary = "获得文本所包含的不合法的敏感词数组") + public CommonResult> validateText(@RequestParam("text") String text, + @RequestParam(value = "tags", required = false) List tags) { + return success(sensitiveWordService.validateText(text, tags)); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordBaseVO.java new file mode 100644 index 00000000..dfa93fad --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordBaseVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.sensitiveword.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 敏感词 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class SensitiveWordBaseVO { + + @Schema(description = "敏感词", requiredMode = Schema.RequiredMode.REQUIRED, example = "敏感词") + @NotNull(message = "敏感词不能为空") + private String name; + + @Schema(description = "标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "短信,评论") + @NotNull(message = "标签不能为空") + private List tags; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "描述", example = "污言秽语") + private String description; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordCreateReqVO.java new file mode 100644 index 00000000..2ff8a557 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.system.controller.sensitiveword.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 敏感词创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SensitiveWordCreateReqVO extends SensitiveWordBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordExcelVO.java new file mode 100644 index 00000000..8148e1c2 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordExcelVO.java @@ -0,0 +1,40 @@ +package com.win.module.system.controller.sensitiveword.vo; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.framework.excel.core.convert.JsonConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 敏感词 Excel VO + * + * @author 永不言败 + */ +@Data +public class SensitiveWordExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("敏感词") + private String name; + + @ExcelProperty(value = "标签", converter = JsonConvert.class) + private List tags; + + @ExcelProperty(value = "状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private Integer status; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordExportReqVO.java new file mode 100644 index 00000000..9812cdd7 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordExportReqVO.java @@ -0,0 +1,28 @@ +package com.win.module.system.controller.sensitiveword.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 敏感词 Excel 导出 Request VO,参数和 SensitiveWordPageReqVO 是一致的") +@Data +public class SensitiveWordExportReqVO { + + @Schema(description = "敏感词", example = "敏感词") + private String name; + + @Schema(description = "标签", example = "短信,评论") + private String tag; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordPageReqVO.java new file mode 100644 index 00000000..3fa51be4 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordPageReqVO.java @@ -0,0 +1,33 @@ +package com.win.module.system.controller.sensitiveword.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 敏感词分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SensitiveWordPageReqVO extends PageParam { + + @Schema(description = "敏感词", example = "敏感词") + private String name; + + @Schema(description = "标签", example = "短信,评论") + private String tag; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordRespVO.java new file mode 100644 index 00000000..dd76e5ec --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.system.controller.sensitiveword.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 敏感词 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SensitiveWordRespVO extends SensitiveWordBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordUpdateReqVO.java new file mode 100644 index 00000000..d15143c4 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sensitiveword/vo/SensitiveWordUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.sensitiveword.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 敏感词更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SensitiveWordUpdateReqVO extends SensitiveWordBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/SerialNumberController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/SerialNumberController.java new file mode 100644 index 00000000..11d21ec6 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/SerialNumberController.java @@ -0,0 +1,99 @@ +package com.win.module.system.controller.serialnumber; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.serialnumber.vo.*; +import com.win.module.system.convert.serialnumber.SerialNumberConvert; +import com.win.module.system.dal.dataobject.serialnumber.SerialNumberDO; +import com.win.module.system.service.serialnumber.SerialNumberService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 流水号规则") +@RestController +@RequestMapping("/system/serial-number") +@Validated +public class SerialNumberController { + + @Resource + private SerialNumberService serialNumberService; + + @PostMapping("/create") + @Operation(summary = "创建流水号规则") + @PreAuthorize("@ss.hasPermission('system:serial-number:create')") + public CommonResult createSerialNumber(@Valid @RequestBody SerialNumberCreateReqVO createReqVO) { + return success(serialNumberService.createSerialNumber(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新流水号规则") + @PreAuthorize("@ss.hasPermission('system:serial-number:update')") + public CommonResult updateSerialNumber(@Valid @RequestBody SerialNumberUpdateReqVO updateReqVO) { + serialNumberService.updateSerialNumber(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除流水号规则") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:serial-number:delete')") + public CommonResult deleteSerialNumber(@RequestParam("id") Long id) { + serialNumberService.deleteSerialNumber(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得流水号规则") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:serial-number:query')") + public CommonResult getSerialNumber(@RequestParam("id") Long id) { + SerialNumberDO serialNumber = serialNumberService.getSerialNumber(id); + return success(SerialNumberConvert.INSTANCE.convert(serialNumber)); + } + + @GetMapping("/list") + @Operation(summary = "获得流水号规则列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('system:serial-number:query')") + public CommonResult> getSerialNumberList(@RequestParam("ids") Collection ids) { + List list = serialNumberService.getSerialNumberList(ids); + return success(SerialNumberConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得流水号规则分页") + @PreAuthorize("@ss.hasPermission('system:serial-number:query')") + public CommonResult> getSerialNumberPage(@Valid SerialNumberPageReqVO pageVO) { + PageResult pageResult = serialNumberService.getSerialNumberPage(pageVO); + return success(SerialNumberConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出流水号规则 Excel") + @PreAuthorize("@ss.hasPermission('system:serial-number:export')") + @OperateLog(type = EXPORT) + public void exportSerialNumberExcel(@Valid SerialNumberExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = serialNumberService.getSerialNumberList(exportReqVO); + // 导出 Excel + List datas = SerialNumberConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "流水号规则.xls", "数据", SerialNumberExcelVO.class, datas); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberBaseVO.java new file mode 100644 index 00000000..75696cd2 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberBaseVO.java @@ -0,0 +1,44 @@ +package com.win.module.system.controller.serialnumber.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import javax.validation.constraints.*; + +/** + * 流水号规则 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class SerialNumberBaseVO { + + @Schema(description = "规则编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "规则编码不能为空") + private String ruleCode; + + @Schema(description = "规则名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotNull(message = "规则名称不能为空") + private String ruleName; + + @Schema(description = "编码前缀", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "编码前缀不能为空") + private String prefix; + + @Schema(description = "单据格式", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "单据格式不能为空") + private String pattern; + + @Schema(description = "单据流水长度", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "单据流水长度不能为空") + private Byte length; + + @Schema(description = "单据分隔符", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "单据分隔符不能为空") + private String separator; + + @Schema(description = "备注", example = "你说的对") + private String remark; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberCreateReqVO.java new file mode 100644 index 00000000..8201b8ee --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberCreateReqVO.java @@ -0,0 +1,12 @@ +package com.win.module.system.controller.serialnumber.vo; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; + +@Schema(description = "管理后台 - 流水号规则创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SerialNumberCreateReqVO extends SerialNumberBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberExcelVO.java new file mode 100644 index 00000000..45554a4a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberExcelVO.java @@ -0,0 +1,43 @@ +package com.win.module.system.controller.serialnumber.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 流水号规则 Excel VO + * + * @author 超级管理员 + */ +@Data +public class SerialNumberExcelVO { + + @ExcelProperty("主键") + private Long id; + + @ExcelProperty("规则编码") + private String ruleCode; + + @ExcelProperty("规则名称") + private String ruleName; + + @ExcelProperty("编码前缀") + private String prefix; + + @ExcelProperty("单据格式") + private String pattern; + + @ExcelProperty("单据流水长度") + private Byte length; + + @ExcelProperty("单据分隔符") + private String separator; + + @ExcelProperty("备注") + private String remark; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberExportReqVO.java new file mode 100644 index 00000000..02561f19 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberExportReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.serialnumber.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.win.framework.common.pojo.PageParam; + +@Schema(description = "管理后台 - 流水号规则 Excel 导出 Request VO,参数和 SerialNumberPageReqVO 是一致的") +@Data +public class SerialNumberExportReqVO { + + @Schema(description = "规则编码") + private String ruleCode; + + @Schema(description = "规则名称", example = "王五") + private String ruleName; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberPageReqVO.java new file mode 100644 index 00000000..8e6c3009 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberPageReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.serialnumber.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.win.framework.common.pojo.PageParam; + +@Schema(description = "管理后台 - 流水号规则分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SerialNumberPageReqVO extends PageParam { + + @Schema(description = "规则编码") + private String ruleCode; + + @Schema(description = "规则名称", example = "王五") + private String ruleName; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberRespVO.java new file mode 100644 index 00000000..56f07c6f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberRespVO.java @@ -0,0 +1,15 @@ +package com.win.module.system.controller.serialnumber.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - 流水号规则 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SerialNumberRespVO extends SerialNumberBaseVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "19961") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberUpdateReqVO.java new file mode 100644 index 00000000..8b7a9d32 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/serialnumber/vo/SerialNumberUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.serialnumber.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 流水号规则更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SerialNumberUpdateReqVO extends SerialNumberBaseVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "19961") + @NotNull(message = "主键不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsCallbackController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsCallbackController.java new file mode 100644 index 00000000..beffa6b6 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsCallbackController.java @@ -0,0 +1,48 @@ +package com.win.module.system.controller.sms; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.util.servlet.ServletUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.framework.sms.core.enums.SmsChannelEnum; +import com.win.module.system.service.sms.SmsSendService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.annotation.security.PermitAll; +import javax.servlet.http.HttpServletRequest; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 短信回调") +@RestController +@RequestMapping("/system/sms/callback") +public class SmsCallbackController { + + @Resource + private SmsSendService smsSendService; + + @PostMapping("/aliyun") + @PermitAll + @Operation(summary = "阿里云短信的回调", description = "参见 https://help.aliyun.com/document_detail/120998.html 文档") + @OperateLog(enable = false) + public CommonResult receiveAliyunSmsStatus(HttpServletRequest request) throws Throwable { + String text = ServletUtils.getBody(request); + smsSendService.receiveSmsStatus(SmsChannelEnum.ALIYUN.getCode(), text); + return success(true); + } + + @PostMapping("/tencent") + @PermitAll + @Operation(summary = "腾讯云短信的回调", description = "参见 https://cloud.tencent.com/document/product/382/52077 文档") + @OperateLog(enable = false) + public CommonResult receiveTencentSmsStatus(HttpServletRequest request) throws Throwable { + String text = ServletUtils.getBody(request); + smsSendService.receiveSmsStatus(SmsChannelEnum.TENCENT.getCode(), text); + return success(true); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsChannelController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsChannelController.java new file mode 100644 index 00000000..7e9f243b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsChannelController.java @@ -0,0 +1,80 @@ +package com.win.module.system.controller.sms; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.sms.vo.channel.*; +import com.win.module.system.convert.sms.SmsChannelConvert; +import com.win.module.system.dal.dataobject.sms.SmsChannelDO; +import com.win.module.system.service.sms.SmsChannelService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.Comparator; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 短信渠道") +@RestController +@RequestMapping("system/sms-channel") +public class SmsChannelController { + + @Resource + private SmsChannelService smsChannelService; + + @PostMapping("/create") + @Operation(summary = "创建短信渠道") + @PreAuthorize("@ss.hasPermission('system:sms-channel:create')") + public CommonResult createSmsChannel(@Valid @RequestBody SmsChannelCreateReqVO createReqVO) { + return success(smsChannelService.createSmsChannel(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新短信渠道") + @PreAuthorize("@ss.hasPermission('system:sms-channel:update')") + public CommonResult updateSmsChannel(@Valid @RequestBody SmsChannelUpdateReqVO updateReqVO) { + smsChannelService.updateSmsChannel(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除短信渠道") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:sms-channel:delete')") + public CommonResult deleteSmsChannel(@RequestParam("id") Long id) { + smsChannelService.deleteSmsChannel(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得短信渠道") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:sms-channel:query')") + public CommonResult getSmsChannel(@RequestParam("id") Long id) { + SmsChannelDO smsChannel = smsChannelService.getSmsChannel(id); + return success(SmsChannelConvert.INSTANCE.convert(smsChannel)); + } + + @GetMapping("/page") + @Operation(summary = "获得短信渠道分页") + @PreAuthorize("@ss.hasPermission('system:sms-channel:query')") + public CommonResult> getSmsChannelPage(@Valid SmsChannelPageReqVO pageVO) { + PageResult pageResult = smsChannelService.getSmsChannelPage(pageVO); + return success(SmsChannelConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获得短信渠道精简列表", description = "包含被禁用的短信渠道") + public CommonResult> getSimpleSmsChannelList() { + List list = smsChannelService.getSmsChannelList(); + // 排序后,返回给前端 + list.sort(Comparator.comparing(SmsChannelDO::getId)); + return success(SmsChannelConvert.INSTANCE.convertList03(list)); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsLogController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsLogController.java new file mode 100644 index 00000000..3d53b9bb --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsLogController.java @@ -0,0 +1,60 @@ +package com.win.module.system.controller.sms; + +import com.win.module.system.controller.sms.vo.log.SmsLogExcelVO; +import com.win.module.system.controller.sms.vo.log.SmsLogExportReqVO; +import com.win.module.system.controller.sms.vo.log.SmsLogPageReqVO; +import com.win.module.system.controller.sms.vo.log.SmsLogRespVO; +import com.win.module.system.convert.sms.SmsLogConvert; +import com.win.module.system.dal.dataobject.sms.SmsLogDO; +import com.win.module.system.service.sms.SmsLogService; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 短信日志") +@RestController +@RequestMapping("/system/sms-log") +@Validated +public class SmsLogController { + + @Resource + private SmsLogService smsLogService; + + @GetMapping("/page") + @Operation(summary = "获得短信日志分页") + @PreAuthorize("@ss.hasPermission('system:sms-log:query')") + public CommonResult> getSmsLogPage(@Valid SmsLogPageReqVO pageVO) { + PageResult pageResult = smsLogService.getSmsLogPage(pageVO); + return success(SmsLogConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出短信日志 Excel") + @PreAuthorize("@ss.hasPermission('system:sms-log:export')") + @OperateLog(type = EXPORT) + public void exportSmsLogExcel(@Valid SmsLogExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = smsLogService.getSmsLogList(exportReqVO); + // 导出 Excel + List datas = SmsLogConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "短信日志.xls", "数据", SmsLogExcelVO.class, datas); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsTemplateController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsTemplateController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/sms/SmsTemplateController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsTemplateController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsTemplateController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsTemplateController.java new file mode 100644 index 00000000..d609fd4c --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/SmsTemplateController.java @@ -0,0 +1,98 @@ +package com.win.module.system.controller.sms; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.sms.vo.template.*; +import com.win.module.system.convert.sms.SmsTemplateConvert; +import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; +import com.win.module.system.service.sms.SmsSendService; +import com.win.module.system.service.sms.SmsTemplateService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 短信模板") +@RestController +@RequestMapping("/system/sms-template") +public class SmsTemplateController { + + @Resource + private SmsTemplateService smsTemplateService; + @Resource + private SmsSendService smsSendService; + + @PostMapping("/create") + @Operation(summary = "创建短信模板") + @PreAuthorize("@ss.hasPermission('system:sms-template:create')") + public CommonResult createSmsTemplate(@Valid @RequestBody SmsTemplateCreateReqVO createReqVO) { + return success(smsTemplateService.createSmsTemplate(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新短信模板") + @PreAuthorize("@ss.hasPermission('system:sms-template:update')") + public CommonResult updateSmsTemplate(@Valid @RequestBody SmsTemplateUpdateReqVO updateReqVO) { + smsTemplateService.updateSmsTemplate(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除短信模板") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:sms-template:delete')") + public CommonResult deleteSmsTemplate(@RequestParam("id") Long id) { + smsTemplateService.deleteSmsTemplate(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得短信模板") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:sms-template:query')") + public CommonResult getSmsTemplate(@RequestParam("id") Long id) { + SmsTemplateDO smsTemplate = smsTemplateService.getSmsTemplate(id); + return success(SmsTemplateConvert.INSTANCE.convert(smsTemplate)); + } + + @GetMapping("/page") + @Operation(summary = "获得短信模板分页") + @PreAuthorize("@ss.hasPermission('system:sms-template:query')") + public CommonResult> getSmsTemplatePage(@Valid SmsTemplatePageReqVO pageVO) { + PageResult pageResult = smsTemplateService.getSmsTemplatePage(pageVO); + return success(SmsTemplateConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出短信模板 Excel") + @PreAuthorize("@ss.hasPermission('system:sms-template:export')") + @OperateLog(type = EXPORT) + public void exportSmsTemplateExcel(@Valid SmsTemplateExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = smsTemplateService.getSmsTemplateList(exportReqVO); + // 导出 Excel + List datas = SmsTemplateConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "短信模板.xls", "数据", SmsTemplateExcelVO.class, datas); + } + + @PostMapping("/send-sms") + @Operation(summary = "发送短信") + @PreAuthorize("@ss.hasPermission('system:sms-template:send-sms')") + public CommonResult sendSms(@Valid @RequestBody SmsTemplateSendReqVO sendReqVO) { + return success(smsSendService.sendSingleSmsToAdmin(sendReqVO.getMobile(), null, + sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams())); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelBaseVO.java new file mode 100644 index 00000000..273f3e75 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelBaseVO.java @@ -0,0 +1,37 @@ +package com.win.module.system.controller.sms.vo.channel; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.hibernate.validator.constraints.URL; + +import javax.validation.constraints.NotNull; + +/** +* 短信渠道 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class SmsChannelBaseVO { + + @Schema(description = "短信签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") + @NotNull(message = "短信签名不能为空") + private String signature; + + @Schema(description = "启用状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "启用状态不能为空") + private Integer status; + + @Schema(description = "备注", example = "好吃!") + private String remark; + + @Schema(description = "短信 API 的账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") + @NotNull(message = "短信 API 的账号不能为空") + private String apiKey; + + @Schema(description = "短信 API 的密钥", example = "yuanma") + private String apiSecret; + + @Schema(description = "短信发送回调 URL", example = "http://www.iocoder.cn") + @URL(message = "回调 URL 格式不正确") + private String callbackUrl; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelCreateReqVO.java new file mode 100644 index 00000000..1572cc84 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelCreateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.sms.vo.channel; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 短信渠道创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsChannelCreateReqVO extends SmsChannelBaseVO { + + @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN") + @NotNull(message = "渠道编码不能为空") + private String code; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelPageReqVO.java new file mode 100644 index 00000000..c023af49 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelPageReqVO.java @@ -0,0 +1,30 @@ +package com.win.module.system.controller.sms.vo.channel; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 短信渠道分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsChannelPageReqVO extends PageParam { + + @Schema(description = "任务状态", example = "1") + private Integer status; + + @Schema(description = "短信签名,模糊匹配", example = "闻荫源码") + private String signature; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelRespVO.java new file mode 100644 index 00000000..238d9347 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelRespVO.java @@ -0,0 +1,25 @@ +package com.win.module.system.controller.sms.vo.channel; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 短信渠道 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsChannelRespVO extends SmsChannelBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN") + private String code; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelSimpleRespVO.java new file mode 100644 index 00000000..05cc5ed0 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelSimpleRespVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.sms.vo.channel; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 短信渠道精简 Response VO") +@Data +public class SmsChannelSimpleRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private Long id; + + @Schema(description = "短信签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫源码") + @NotNull(message = "短信签名不能为空") + private String signature; + + @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN") + private String code; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelUpdateReqVO.java new file mode 100644 index 00000000..6e16945c --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/channel/SmsChannelUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.sms.vo.channel; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 短信渠道更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsChannelUpdateReqVO extends SmsChannelBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogExcelVO.java new file mode 100644 index 00000000..28f84d00 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogExcelVO.java @@ -0,0 +1,100 @@ +package com.win.module.system.controller.sms.vo.log; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.framework.excel.core.convert.JsonConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.Map; + +/** + * 短信日志 Excel VO + * + * @author 闻荫源码 + */ +@Data +public class SmsLogExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("短信渠道编号") + private Long channelId; + + @ExcelProperty("短信渠道编码") + private String channelCode; + + @ExcelProperty("模板编号") + private Long templateId; + + @ExcelProperty("模板编码") + private String templateCode; + + @ExcelProperty(value = "短信类型", converter = DictConvert.class) + @DictFormat(DictTypeConstants.SMS_TEMPLATE_TYPE) + private Integer templateType; + + @ExcelProperty("短信内容") + private String templateContent; + + @ExcelProperty(value = "短信参数", converter = JsonConvert.class) + private Map templateParams; + + @ExcelProperty("短信 API 的模板编号") + private String apiTemplateId; + + @ExcelProperty("手机号") + private String mobile; + + @ExcelProperty("用户编号") + private Long userId; + + @ExcelProperty(value = "用户类型", converter = DictConvert.class) + @DictFormat(DictTypeConstants.USER_TYPE) + private Integer userType; + + @ExcelProperty(value = "发送状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.SMS_SEND_STATUS) + private Integer sendStatus; + + @ExcelProperty("发送时间") + private LocalDateTime sendTime; + + @ExcelProperty("发送结果的编码") + private Integer sendCode; + + @ExcelProperty("发送结果的提示") + private String sendMsg; + + @ExcelProperty("短信 API 发送结果的编码") + private String apiSendCode; + + @ExcelProperty("短信 API 发送失败的提示") + private String apiSendMsg; + + @ExcelProperty("短信 API 发送返回的唯一请求 ID") + private String apiRequestId; + + @ExcelProperty("短信 API 发送返回的序号") + private String apiSerialNo; + + @ExcelProperty(value = "接收状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.SMS_RECEIVE_STATUS) + private Integer receiveStatus; + + @ExcelProperty("接收时间") + private LocalDateTime receiveTime; + + @ExcelProperty("API 接收结果的编码") + private String apiReceiveCode; + + @ExcelProperty("API 接收结果的说明") + private String apiReceiveMsg; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogExportReqVO.java new file mode 100644 index 00000000..3fdde2a8 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogExportReqVO.java @@ -0,0 +1,38 @@ +package com.win.module.system.controller.sms.vo.log; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 短信日志 Excel 导出 Request VO,参数和 SmsLogPageReqVO 是一致的") +@Data +public class SmsLogExportReqVO { + + @Schema(description = "短信渠道编号", example = "10") + private Long channelId; + + @Schema(description = "模板编号", example = "20") + private Long templateId; + + @Schema(description = "手机号", example = "15601691300") + private String mobile; + + @Schema(description = "发送状态", example = "1") + private Integer sendStatus; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "开始发送时间") + private LocalDateTime[] sendTime; + + @Schema(description = "接收状态", example = "0") + private Integer receiveStatus; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "开始接收时间") + private LocalDateTime[] receiveTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogPageReqVO.java new file mode 100644 index 00000000..a637c1c1 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogPageReqVO.java @@ -0,0 +1,43 @@ +package com.win.module.system.controller.sms.vo.log; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 短信日志分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsLogPageReqVO extends PageParam { + + @Schema(description = "短信渠道编号", example = "10") + private Long channelId; + + @Schema(description = "模板编号", example = "20") + private Long templateId; + + @Schema(description = "手机号", example = "15601691300") + private String mobile; + + @Schema(description = "发送状态,参见 SmsSendStatusEnum 枚举类", example = "1") + private Integer sendStatus; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "发送时间") + private LocalDateTime[] sendTime; + + @Schema(description = "接收状态,参见 SmsReceiveStatusEnum 枚举类", example = "0") + private Integer receiveStatus; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "接收时间") + private LocalDateTime[] receiveTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogRespVO.java new file mode 100644 index 00000000..ae50ce57 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/log/SmsLogRespVO.java @@ -0,0 +1,88 @@ +package com.win.module.system.controller.sms.vo.log; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.Map; + +@Schema(description = "管理后台 - 短信日志 Response VO") +@Data +public class SmsLogRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "短信渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") + private Long channelId; + + @Schema(description = "短信渠道编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ALIYUN") + private String channelCode; + + @Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20") + private Long templateId; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test-01") + private String templateCode; + + @Schema(description = "短信类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer templateType; + + @Schema(description = "短信内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,你的验证码是 1024") + private String templateContent; + + @Schema(description = "短信参数", requiredMode = Schema.RequiredMode.REQUIRED, example = "name,code") + private Map templateParams; + + @Schema(description = "短信 API 的模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SMS_207945135") + private String apiTemplateId; + + @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300") + private String mobile; + + @Schema(description = "用户编号", example = "10") + private Long userId; + + @Schema(description = "用户类型", example = "1") + private Integer userType; + + @Schema(description = "发送状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer sendStatus; + + @Schema(description = "发送时间") + private LocalDateTime sendTime; + + @Schema(description = "发送结果的编码", example = "0") + private Integer sendCode; + + @Schema(description = "发送结果的提示", example = "成功") + private String sendMsg; + + @Schema(description = "短信 API 发送结果的编码", example = "SUCCESS") + private String apiSendCode; + + @Schema(description = "短信 API 发送失败的提示", example = "成功") + private String apiSendMsg; + + @Schema(description = "短信 API 发送返回的唯一请求 ID", example = "3837C6D3-B96F-428C-BBB2-86135D4B5B99") + private String apiRequestId; + + @Schema(description = "短信 API 发送返回的序号", example = "62923244790") + private String apiSerialNo; + + @Schema(description = "接收状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") + private Integer receiveStatus; + + @Schema(description = "接收时间") + private LocalDateTime receiveTime; + + @Schema(description = "API 接收结果的编码", example = "DELIVRD") + private String apiReceiveCode; + + @Schema(description = "API 接收结果的说明", example = "用户接收成功") + private String apiReceiveMsg; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateBaseVO.java new file mode 100644 index 00000000..e46436e7 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateBaseVO.java @@ -0,0 +1,45 @@ +package com.win.module.system.controller.sms.vo.template; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** +* 短信模板 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class SmsTemplateBaseVO { + + @Schema(description = "短信类型,参见 SmsTemplateTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "短信类型不能为空") + private Integer type; + + @Schema(description = "开启状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "开启状态不能为空") + private Integer status; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") + @NotNull(message = "模板编码不能为空") + private String code; + + @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") + @NotNull(message = "模板名称不能为空") + private String name; + + @Schema(description = "模板内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,{name}。你长的太{like}啦!") + @NotNull(message = "模板内容不能为空") + private String content; + + @Schema(description = "备注", example = "哈哈哈") + private String remark; + + @Schema(description = "短信 API 的模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4383920") + @NotNull(message = "短信 API 的模板编号不能为空") + private String apiTemplateId; + + @Schema(description = "短信渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") + @NotNull(message = "短信渠道编号不能为空") + private Long channelId; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateCreateReqVO.java new file mode 100644 index 00000000..8a78a6ec --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateCreateReqVO.java @@ -0,0 +1,13 @@ +package com.win.module.system.controller.sms.vo.template; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 短信模板创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsTemplateCreateReqVO extends SmsTemplateBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateExcelVO.java new file mode 100644 index 00000000..8b6bb6b0 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateExcelVO.java @@ -0,0 +1,55 @@ +package com.win.module.system.controller.sms.vo.template; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 短信模板 Excel VO + * + * @author 闻荫源码 + */ +@Data +public class SmsTemplateExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty(value = "短信签名", converter = DictConvert.class) + @DictFormat(DictTypeConstants.SMS_TEMPLATE_TYPE) + private Integer type; + + @ExcelProperty(value = "开启状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private Integer status; + + @ExcelProperty("模板编码") + private String code; + + @ExcelProperty("模板名称") + private String name; + + @ExcelProperty("模板内容") + private String content; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("短信 API 的模板编号") + private String apiTemplateId; + + @ExcelProperty("短信渠道编号") + private Long channelId; + + @ExcelProperty(value = "短信渠道编码", converter = DictConvert.class) + @DictFormat(DictTypeConstants.SMS_CHANNEL_CODE) + private String channelCode; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateExportReqVO.java new file mode 100644 index 00000000..47158a31 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateExportReqVO.java @@ -0,0 +1,37 @@ +package com.win.module.system.controller.sms.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 短信模板 Excel 导出 Request VO,参数和 SmsTemplatePageReqVO 是一致的") +@Data +public class SmsTemplateExportReqVO { + + @Schema(description = "短信签名", example = "1") + private Integer type; + + @Schema(description = "开启状态", example = "1") + private Integer status; + + @Schema(description = "模板编码,模糊匹配", example = "test_01") + private String code; + + @Schema(description = "模板内容,模糊匹配", example = "你好,{name}。你长的太{like}啦!") + private String content; + + @Schema(description = "短信 API 的模板编号,模糊匹配", example = "4383920") + private String apiTemplateId; + + @Schema(description = "短信渠道编号", example = "10") + private Long channelId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplatePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplatePageReqVO.java new file mode 100644 index 00000000..11a4383e --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplatePageReqVO.java @@ -0,0 +1,42 @@ +package com.win.module.system.controller.sms.vo.template; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 短信模板分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsTemplatePageReqVO extends PageParam { + + @Schema(description = "短信签名", example = "1") + private Integer type; + + @Schema(description = "开启状态", example = "1") + private Integer status; + + @Schema(description = "模板编码,模糊匹配", example = "test_01") + private String code; + + @Schema(description = "模板内容,模糊匹配", example = "你好,{name}。你长的太{like}啦!") + private String content; + + @Schema(description = "短信 API 的模板编号,模糊匹配", example = "4383920") + private String apiTemplateId; + + @Schema(description = "短信渠道编号", example = "10") + private Long channelId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateRespVO.java new file mode 100644 index 00000000..b82abba9 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateRespVO.java @@ -0,0 +1,29 @@ +package com.win.module.system.controller.sms.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 短信模板 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsTemplateRespVO extends SmsTemplateBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "短信渠道编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ALIYUN") + private String channelCode; + + @Schema(description = "参数数组", example = "name,code") + private List params; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateSendReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateSendReqVO.java new file mode 100644 index 00000000..1228fd86 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateSendReqVO.java @@ -0,0 +1,24 @@ +package com.win.module.system.controller.sms.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Map; + +@Schema(description = "管理后台 - 短信模板的发送 Request VO") +@Data +public class SmsTemplateSendReqVO { + + @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300") + @NotNull(message = "手机号不能为空") + private String mobile; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01") + @NotNull(message = "模板编码不能为空") + private String templateCode; + + @Schema(description = "模板参数") + private Map templateParams; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateUpdateReqVO.java new file mode 100644 index 00000000..f70c95fd --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/sms/vo/template/SmsTemplateUpdateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.sms.vo.template; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 短信模板更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SmsTemplateUpdateReqVO extends SmsTemplateBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/tenant/TenantController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantController.java new file mode 100644 index 00000000..b9a177af --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantController.java @@ -0,0 +1,98 @@ +package com.win.module.system.controller.tenant; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.tenant.vo.tenant.*; +import com.win.module.system.convert.tenant.TenantConvert; +import com.win.module.system.dal.dataobject.tenant.TenantDO; +import com.win.module.system.service.tenant.TenantService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.annotation.security.PermitAll; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 租户") +@RestController +@RequestMapping("/system/tenant") +public class TenantController { + + @Resource + private TenantService tenantService; + + @GetMapping("/get-id-by-name") + @PermitAll + @Operation(summary = "使用租户名,获得租户编号", description = "登录界面,根据用户的租户名,获得租户编号") + @Parameter(name = "name", description = "租户名", required = true, example = "1024") + public CommonResult getTenantIdByName(@RequestParam("name") String name) { + TenantDO tenantDO = tenantService.getTenantByName(name); + return success(tenantDO != null ? tenantDO.getId() : null); + } + + @PostMapping("/create") + @Operation(summary = "创建租户") + @PreAuthorize("@ss.hasPermission('system:tenant:create')") + public CommonResult createTenant(@Valid @RequestBody TenantCreateReqVO createReqVO) { + return success(tenantService.createTenant(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新租户") + @PreAuthorize("@ss.hasPermission('system:tenant:update')") + public CommonResult updateTenant(@Valid @RequestBody TenantUpdateReqVO updateReqVO) { + tenantService.updateTenant(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除租户") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:tenant:delete')") + public CommonResult deleteTenant(@RequestParam("id") Long id) { + tenantService.deleteTenant(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得租户") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:tenant:query')") + public CommonResult getTenant(@RequestParam("id") Long id) { + TenantDO tenant = tenantService.getTenant(id); + return success(TenantConvert.INSTANCE.convert(tenant)); + } + + @GetMapping("/page") + @Operation(summary = "获得租户分页") + @PreAuthorize("@ss.hasPermission('system:tenant:query')") + public CommonResult> getTenantPage(@Valid TenantPageReqVO pageVO) { + PageResult pageResult = tenantService.getTenantPage(pageVO); + return success(TenantConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出租户 Excel") + @PreAuthorize("@ss.hasPermission('system:tenant:export')") + @OperateLog(type = EXPORT) + public void exportTenantExcel(@Valid TenantExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = tenantService.getTenantList(exportReqVO); + // 导出 Excel + List datas = TenantConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "租户.xls", "数据", TenantExcelVO.class, datas); + } + + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantPackageController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantPackageController.java new file mode 100644 index 00000000..ff642c83 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/TenantPackageController.java @@ -0,0 +1,81 @@ +package com.win.module.system.controller.tenant; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.tenant.vo.packages.*; +import com.win.module.system.convert.tenant.TenantPackageConvert; +import com.win.module.system.dal.dataobject.tenant.TenantPackageDO; +import com.win.module.system.service.tenant.TenantPackageService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 租户套餐") +@RestController +@RequestMapping("/system/tenant-package") +@Validated +public class TenantPackageController { + + @Resource + private TenantPackageService tenantPackageService; + + @PostMapping("/create") + @Operation(summary = "创建租户套餐") + @PreAuthorize("@ss.hasPermission('system:tenant-package:create')") + public CommonResult createTenantPackage(@Valid @RequestBody TenantPackageCreateReqVO createReqVO) { + return success(tenantPackageService.createTenantPackage(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新租户套餐") + @PreAuthorize("@ss.hasPermission('system:tenant-package:update')") + public CommonResult updateTenantPackage(@Valid @RequestBody TenantPackageUpdateReqVO updateReqVO) { + tenantPackageService.updateTenantPackage(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除租户套餐") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:tenant-package:delete')") + public CommonResult deleteTenantPackage(@RequestParam("id") Long id) { + tenantPackageService.deleteTenantPackage(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得租户套餐") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:tenant-package:query')") + public CommonResult getTenantPackage(@RequestParam("id") Long id) { + TenantPackageDO tenantPackage = tenantPackageService.getTenantPackage(id); + return success(TenantPackageConvert.INSTANCE.convert(tenantPackage)); + } + + @GetMapping("/page") + @Operation(summary = "获得租户套餐分页") + @PreAuthorize("@ss.hasPermission('system:tenant-package:query')") + public CommonResult> getTenantPackagePage(@Valid TenantPackagePageReqVO pageVO) { + PageResult pageResult = tenantPackageService.getTenantPackagePage(pageVO); + return success(TenantPackageConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/get-simple-list") + @Operation(summary = "获取租户套餐精简信息列表", description = "只包含被开启的租户套餐,主要用于前端的下拉选项") + public CommonResult> getTenantPackageList() { + // 获得角色列表,只要开启状态的 + List list = tenantPackageService.getTenantPackageListByStatus(CommonStatusEnum.ENABLE.getStatus()); + return success(TenantPackageConvert.INSTANCE.convertList02(list)); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageBaseVO.java new file mode 100644 index 00000000..a8f81b2e --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageBaseVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.tenant.vo.packages; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Set; + +/** + * 租户套餐 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class TenantPackageBaseVO { + + @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "VIP") + @NotNull(message = "套餐名不能为空") + private String name; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "备注", example = "好") + private String remark; + + @Schema(description = "关联的菜单编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "关联的菜单编号不能为空") + private Set menuIds; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageCreateReqVO.java new file mode 100644 index 00000000..7c8bbaff --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.system.controller.tenant.vo.packages; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 租户套餐创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TenantPackageCreateReqVO extends TenantPackageBaseVO { + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackagePageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackagePageReqVO.java new file mode 100644 index 00000000..1930d2ee --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackagePageReqVO.java @@ -0,0 +1,32 @@ +package com.win.module.system.controller.tenant.vo.packages; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 租户套餐分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TenantPackagePageReqVO extends PageParam { + + @Schema(description = "套餐名", example = "VIP") + private String name; + + @Schema(description = "状态", example = "1") + private Integer status; + + @Schema(description = "备注", example = "好") + private String remark; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageRespVO.java new file mode 100644 index 00000000..49aa749f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.system.controller.tenant.vo.packages; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 租户套餐 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TenantPackageRespVO extends TenantPackageBaseVO { + + @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageSimpleRespVO.java new file mode 100644 index 00000000..a7076e7f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageSimpleRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.tenant.vo.packages; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 租户套餐精简 Response VO") +@Data +public class TenantPackageSimpleRespVO { + + @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "套餐编号不能为空") + private Long id; + + @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "VIP") + @NotNull(message = "套餐名不能为空") + private String name; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageUpdateReqVO.java new file mode 100644 index 00000000..1cdadd8d --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/packages/TenantPackageUpdateReqVO.java @@ -0,0 +1,17 @@ +package com.win.module.system.controller.tenant.vo.packages; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 租户套餐更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TenantPackageUpdateReqVO extends TenantPackageBaseVO { + + @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "套餐编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantBaseVO.java new file mode 100644 index 00000000..6194519f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantBaseVO.java @@ -0,0 +1,46 @@ +package com.win.module.system.controller.tenant.vo.tenant; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.*; +import java.time.LocalDateTime; + +/** + * 租户 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class TenantBaseVO { + + @Schema(description = "租户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + @NotNull(message = "租户名不能为空") + private String name; + + @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotNull(message = "联系人不能为空") + private String contactName; + + @Schema(description = "联系手机", example = "15601691300") + private String contactMobile; + + @Schema(description = "租户状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "租户状态") + private Integer status; + + @Schema(description = "绑定域名", example = "https://www.iocoder.cn") + private String domain; + + @Schema(description = "租户套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "租户套餐编号不能为空") + private Long packageId; + + @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "过期时间不能为空") + private LocalDateTime expireTime; + + @Schema(description = "账号数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "账号数量不能为空") + private Integer accountCount; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantCreateReqVO.java new file mode 100644 index 00000000..502f7fc5 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantCreateReqVO.java @@ -0,0 +1,29 @@ +package com.win.module.system.controller.tenant.vo.tenant; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; + +@Schema(description = "管理后台 - 租户创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TenantCreateReqVO extends TenantBaseVO { + + @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") + @NotBlank(message = "用户账号不能为空") + @Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "用户账号由 数字、字母 组成") + @Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符") + private String username; + + @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") + @NotEmpty(message = "密码不能为空") + @Length(min = 4, max = 16, message = "密码长度为 4-16 位") + private String password; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantExcelVO.java new file mode 100644 index 00000000..d002679a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantExcelVO.java @@ -0,0 +1,39 @@ +package com.win.module.system.controller.tenant.vo.tenant; + +import com.win.module.system.enums.DictTypeConstants; +import lombok.*; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; + + +/** + * 租户 Excel VO + * + * @author 闻荫源码 + */ +@Data +public class TenantExcelVO { + + @ExcelProperty("租户编号") + private Long id; + + @ExcelProperty("租户名") + private String name; + + @ExcelProperty("联系人") + private String contactName; + + @ExcelProperty("联系手机") + private String contactMobile; + + @ExcelProperty(value = "状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private Integer status; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantExportReqVO.java new file mode 100644 index 00000000..87ac26c8 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantExportReqVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.tenant.vo.tenant; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 租户 Excel 导出 Request VO,参数和 TenantPageReqVO 是一致的") +@Data +public class TenantExportReqVO { + + @Schema(description = "租户名", example = "闻荫") + private String name; + + @Schema(description = "联系人", example = "芋艿") + private String contactName; + + @Schema(description = "联系手机", example = "15601691300") + private String contactMobile; + + @Schema(description = "租户状态(0正常 1停用)", example = "1") + private Integer status; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantPageReqVO.java new file mode 100644 index 00000000..fe1ce679 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantPageReqVO.java @@ -0,0 +1,36 @@ +package com.win.module.system.controller.tenant.vo.tenant; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 租户分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TenantPageReqVO extends PageParam { + + @Schema(description = "租户名", example = "闻荫") + private String name; + + @Schema(description = "联系人", example = "芋艿") + private String contactName; + + @Schema(description = "联系手机", example = "15601691300") + private String contactMobile; + + @Schema(description = "租户状态(0正常 1停用)", example = "1") + private Integer status; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @Schema(description = "创建时间") + private LocalDateTime[] createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantRespVO.java new file mode 100644 index 00000000..3842a13e --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.tenant.vo.tenant; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 租户 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TenantRespVO extends TenantBaseVO { + + @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantUpdateReqVO.java new file mode 100644 index 00000000..d0b6bd7a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/tenant/vo/tenant/TenantUpdateReqVO.java @@ -0,0 +1,17 @@ +package com.win.module.system.controller.tenant.vo.tenant; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 租户更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class TenantUpdateReqVO extends TenantBaseVO { + + @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "租户编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserController.java new file mode 100644 index 00000000..c0b14f8b --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserController.java @@ -0,0 +1,192 @@ +package com.win.module.system.controller.user; + +import cn.hutool.core.collection.CollUtil; +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.common.util.collection.MapUtils; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.system.controller.user.vo.user.*; +import com.win.module.system.convert.user.UserConvert; +import com.win.module.system.dal.dataobject.dept.DeptDO; +import com.win.module.system.dal.dataobject.user.AdminUserDO; +import com.win.module.system.enums.common.SexEnum; +import com.win.module.system.service.dept.DeptService; +import com.win.module.system.service.user.AdminUserService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.*; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.common.util.collection.CollectionUtils.convertList; +import static com.win.framework.common.util.collection.CollectionUtils.convertSet; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 用户") +@RestController +@RequestMapping("/system/user") +@Validated +public class UserController { + + @Resource + private AdminUserService userService; + @Resource + private DeptService deptService; + + @PostMapping("/create") + @Operation(summary = "新增用户") + @PreAuthorize("@ss.hasPermission('system:user:create')") + public CommonResult createUser(@Valid @RequestBody UserCreateReqVO reqVO) { + Long id = userService.createUser(reqVO); + return success(id); + } + + @PutMapping("update") + @Operation(summary = "修改用户") + @PreAuthorize("@ss.hasPermission('system:user:update')") + public CommonResult updateUser(@Valid @RequestBody UserUpdateReqVO reqVO) { + userService.updateUser(reqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除用户") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:user:delete')") + public CommonResult deleteUser(@RequestParam("id") Long id) { + userService.deleteUser(id); + return success(true); + } + + @PutMapping("/update-password") + @Operation(summary = "重置用户密码") + @PreAuthorize("@ss.hasPermission('system:user:update-password')") + public CommonResult updateUserPassword(@Valid @RequestBody UserUpdatePasswordReqVO reqVO) { + userService.updateUserPassword(reqVO.getId(), reqVO.getPassword()); + return success(true); + } + + @PutMapping("/update-status") + @Operation(summary = "修改用户状态") + @PreAuthorize("@ss.hasPermission('system:user:update')") + public CommonResult updateUserStatus(@Valid @RequestBody UserUpdateStatusReqVO reqVO) { + userService.updateUserStatus(reqVO.getId(), reqVO.getStatus()); + return success(true); + } + + @GetMapping("/page") + @Operation(summary = "获得用户分页列表") + @PreAuthorize("@ss.hasPermission('system:user:list')") + public CommonResult> getUserPage(@Valid UserPageReqVO reqVO) { + // 获得用户分页列表 + PageResult pageResult = userService.getUserPage(reqVO); + if (CollUtil.isEmpty(pageResult.getList())) { + return success(new PageResult<>(pageResult.getTotal())); // 返回空 + } + + // 获得拼接需要的数据 + Collection deptIds = convertList(pageResult.getList(), AdminUserDO::getDeptId); + Map deptMap = deptService.getDeptMap(deptIds); + // 拼接结果返回 + List userList = new ArrayList<>(pageResult.getList().size()); + pageResult.getList().forEach(user -> { + UserPageItemRespVO respVO = UserConvert.INSTANCE.convert(user); + respVO.setDept(UserConvert.INSTANCE.convert(deptMap.get(user.getDeptId()))); + userList.add(respVO); + }); + return success(new PageResult<>(userList, pageResult.getTotal())); + } + + @GetMapping("/list-all-simple") + @Operation(summary = "获取用户精简信息列表", description = "只包含被开启的用户,主要用于前端的下拉选项") + public CommonResult> getSimpleUserList() { + // 获用户列表,只要开启状态的 + List list = userService.getUserListByStatus(CommonStatusEnum.ENABLE.getStatus()); + // 排序后,返回给前端 + return success(UserConvert.INSTANCE.convertList04(list)); + } + + @GetMapping("/get") + @Operation(summary = "获得用户详情") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:user:query')") + public CommonResult getUser(@RequestParam("id") Long id) { + AdminUserDO user = userService.getUser(id); + // 获得部门数据 + DeptDO dept = deptService.getDept(user.getDeptId()); + return success(UserConvert.INSTANCE.convert(user).setDept(UserConvert.INSTANCE.convert(dept))); + } + + @GetMapping("/export") + @Operation(summary = "导出用户") + @PreAuthorize("@ss.hasPermission('system:user:export')") + @OperateLog(type = EXPORT) + public void exportUserList(@Validated UserExportReqVO reqVO, + HttpServletResponse response) throws IOException { + // 获得用户列表 + List users = userService.getUserList(reqVO); + + // 获得拼接需要的数据 + Collection deptIds = convertList(users, AdminUserDO::getDeptId); + Map deptMap = deptService.getDeptMap(deptIds); + Map deptLeaderUserMap = userService.getUserMap( + convertSet(deptMap.values(), DeptDO::getLeaderUserId)); + // 拼接数据 + List excelUsers = new ArrayList<>(users.size()); + users.forEach(user -> { + UserExcelVO excelVO = UserConvert.INSTANCE.convert02(user); + // 设置部门 + MapUtils.findAndThen(deptMap, user.getDeptId(), dept -> { + excelVO.setDeptName(dept.getName()); + // 设置部门负责人的名字 + MapUtils.findAndThen(deptLeaderUserMap, dept.getLeaderUserId(), + deptLeaderUser -> excelVO.setDeptLeaderNickname(deptLeaderUser.getNickname())); + }); + excelUsers.add(excelVO); + }); + + // 输出 + ExcelUtils.write(response, "用户数据.xls", "用户列表", UserExcelVO.class, excelUsers); + } + + @GetMapping("/get-import-template") + @Operation(summary = "获得导入用户模板") + public void importTemplate(HttpServletResponse response) throws IOException { + // 手动创建导出 demo + List list = Arrays.asList( + UserImportExcelVO.builder().username("yunai").deptId(1L).email("yunai@iocoder.cn").mobile("15601691300") + .nickname("闻荫").status(CommonStatusEnum.ENABLE.getStatus()).sex(SexEnum.MALE.getSex()).build(), + UserImportExcelVO.builder().username("yuanma").deptId(2L).email("yuanma@iocoder.cn").mobile("15601701300") + .nickname("源码").status(CommonStatusEnum.DISABLE.getStatus()).sex(SexEnum.FEMALE.getSex()).build() + ); + + // 输出 + ExcelUtils.write(response, "用户导入模板.xls", "用户列表", UserImportExcelVO.class, list); + } + + @PostMapping("/import") + @Operation(summary = "导入用户") + @Parameters({ + @Parameter(name = "file", description = "Excel 文件", required = true), + @Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true") + }) + @PreAuthorize("@ss.hasPermission('system:user:import')") + public CommonResult importExcel(@RequestParam("file") MultipartFile file, + @RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport) throws Exception { + List list = ExcelUtils.read(file, UserImportExcelVO.class); + return success(userService.importUserList(list, updateSupport)); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserProfileController.http b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserProfileController.http similarity index 100% rename from win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/admin/user/UserProfileController.http rename to win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserProfileController.http diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserProfileController.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserProfileController.java new file mode 100644 index 00000000..9c64bbae --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/UserProfileController.java @@ -0,0 +1,100 @@ +package com.win.module.system.controller.user; + +import cn.hutool.core.collection.CollUtil; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.datapermission.core.annotation.DataPermission; +import com.win.module.system.controller.user.vo.profile.UserProfileRespVO; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdatePasswordReqVO; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdateReqVO; +import com.win.module.system.convert.user.UserConvert; +import com.win.module.system.dal.dataobject.dept.DeptDO; +import com.win.module.system.dal.dataobject.dept.PostDO; +import com.win.module.system.dal.dataobject.permission.RoleDO; +import com.win.module.system.dal.dataobject.user.AdminUserDO; +import com.win.module.system.service.dept.DeptService; +import com.win.module.system.service.dept.PostService; +import com.win.module.system.service.permission.PermissionService; +import com.win.module.system.service.permission.RoleService; +import com.win.module.system.service.user.AdminUserService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.win.module.infra.enums.ErrorCodeConstants.FILE_IS_EMPTY; + +@Tag(name = "管理后台 - 用户个人中心") +@RestController +@RequestMapping("/system/user/profile") +@Validated +@Slf4j +public class UserProfileController { + + @Resource + private AdminUserService userService; + @Resource + private DeptService deptService; + @Resource + private PostService postService; + @Resource + private PermissionService permissionService; + @Resource + private RoleService roleService; + + @GetMapping("/get") + @Operation(summary = "获得登录用户信息") + @DataPermission(enable = false) // 关闭数据权限,避免只查看自己时,查询不到部门。 + public CommonResult profile() { + // 获得用户基本信息 + AdminUserDO user = userService.getUser(getLoginUserId()); + UserProfileRespVO resp = UserConvert.INSTANCE.convert03(user); + // 获得用户角色 + List userRoles = roleService.getRoleListFromCache(permissionService.getUserRoleIdListByUserId(user.getId())); + resp.setRoles(UserConvert.INSTANCE.convertList(userRoles)); + // 获得部门信息 + if (user.getDeptId() != null) { + DeptDO dept = deptService.getDept(user.getDeptId()); + resp.setDept(UserConvert.INSTANCE.convert02(dept)); + } + // 获得岗位信息 + if (CollUtil.isNotEmpty(user.getPostIds())) { + List posts = postService.getPostList(user.getPostIds()); + resp.setPosts(UserConvert.INSTANCE.convertList02(posts)); + } + return success(resp); + } + + @PutMapping("/update") + @Operation(summary = "修改用户个人信息") + public CommonResult updateUserProfile(@Valid @RequestBody UserProfileUpdateReqVO reqVO) { + userService.updateUserProfile(getLoginUserId(), reqVO); + return success(true); + } + + @PutMapping("/update-password") + @Operation(summary = "修改用户个人密码") + public CommonResult updateUserProfilePassword(@Valid @RequestBody UserProfileUpdatePasswordReqVO reqVO) { + userService.updateUserPassword(getLoginUserId(), reqVO); + return success(true); + } + + @RequestMapping(value = "/update-avatar", method = {RequestMethod.POST, RequestMethod.PUT}) // 解决 uni-app 不支持 Put 上传文件的问题 + @Operation(summary = "上传用户个人头像") + public CommonResult updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws Exception { + if (file.isEmpty()) { + throw exception(FILE_IS_EMPTY); + } + String avatar = userService.updateUserAvatar(getLoginUserId(), file.getInputStream()); + return success(avatar); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileRespVO.java new file mode 100644 index 00000000..ec32730a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileRespVO.java @@ -0,0 +1,103 @@ +package com.win.module.system.controller.user.vo.profile; + +import com.win.module.system.controller.user.vo.user.UserBaseVO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; +import java.util.List; + + +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Schema(description = "管理后台 - 用户个人中心信息 Response VO") +public class UserProfileRespVO extends UserBaseVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "最后登录 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "192.168.1.1") + private String loginIp; + + @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime loginDate; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + + /** + * 所属角色 + */ + private List roles; + + /** + * 所在部门 + */ + private Dept dept; + + /** + * 所属岗位数组 + */ + private List posts; + /** + * 社交用户数组 + */ + private List socialUsers; + + @Schema(description = "角色") + @Data + public static class Role { + + @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "普通角色") + private String name; + + } + + @Schema(description = "部门") + @Data + public static class Dept { + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") + private String name; + + } + + @Schema(description = "岗位") + @Data + public static class Post { + + @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "开发") + private String name; + + } + + @Schema(description = "社交用户") + @Data + public static class SocialUser { + + @Schema(description = "社交平台的类型,参见 SocialTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") + private Integer type; + + @Schema(description = "社交用户的 openid", requiredMode = Schema.RequiredMode.REQUIRED, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE") + private String openid; + + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileUpdatePasswordReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileUpdatePasswordReqVO.java new file mode 100644 index 00000000..4fbeb278 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileUpdatePasswordReqVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.user.vo.profile; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 用户个人中心更新密码 Request VO") +@Data +public class UserProfileUpdatePasswordReqVO { + + @Schema(description = "旧密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") + @NotEmpty(message = "旧密码不能为空") + @Length(min = 4, max = 16, message = "密码长度为 4-16 位") + private String oldPassword; + + @Schema(description = "新密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "654321") + @NotEmpty(message = "新密码不能为空") + @Length(min = 4, max = 16, message = "密码长度为 4-16 位") + private String newPassword; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileUpdateReqVO.java new file mode 100644 index 00000000..6d5f5a27 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/profile/UserProfileUpdateReqVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.user.vo.profile; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.Email; +import javax.validation.constraints.Size; + + +@Schema(description = "管理后台 - 用户个人信息更新 Request VO") +@Data +public class UserProfileUpdateReqVO { + + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Size(max = 30, message = "用户昵称长度不能超过 30 个字符") + private String nickname; + + @Schema(description = "用户邮箱", example = "win@iocoder.cn") + @Email(message = "邮箱格式不正确") + @Size(max = 50, message = "邮箱长度不能超过 50 个字符") + private String email; + + @Schema(description = "手机号码", example = "15601691300") + @Length(min = 11, max = 11, message = "手机号长度必须 11 位") + private String mobile; + + @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") + private Integer sex; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserBaseVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserBaseVO.java new file mode 100644 index 00000000..09fb881d --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserBaseVO.java @@ -0,0 +1,54 @@ +package com.win.module.system.controller.user.vo.user; + +import com.win.framework.common.validation.Mobile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.Email; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; +import java.util.Set; + +/** + * 用户 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class UserBaseVO { + + @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "win") + @NotBlank(message = "用户账号不能为空") + @Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "用户账号由 数字、字母 组成") + @Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符") + private String username; + + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Size(max = 30, message = "用户昵称长度不能超过30个字符") + private String nickname; + + @Schema(description = "备注", example = "我是一个用户") + private String remark; + + @Schema(description = "部门ID", example = "我是一个用户") + private Long deptId; + + @Schema(description = "岗位编号数组", example = "1") + private Set postIds; + + @Schema(description = "用户邮箱", example = "win@iocoder.cn") + @Email(message = "邮箱格式不正确") + @Size(max = 50, message = "邮箱长度不能超过 50 个字符") + private String email; + + @Schema(description = "手机号码", example = "15601691300") + @Mobile + private String mobile; + + @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") + private Integer sex; + + @Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png") + private String avatar; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserCreateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserCreateReqVO.java new file mode 100644 index 00000000..cba8a75f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserCreateReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.user.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 用户创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class UserCreateReqVO extends UserBaseVO { + + @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") + @NotEmpty(message = "密码不能为空") + @Length(min = 4, max = 16, message = "密码长度为 4-16 位") + private String password; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserExcelVO.java new file mode 100644 index 00000000..406b3ff8 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserExcelVO.java @@ -0,0 +1,52 @@ +package com.win.module.system.controller.user.vo.user; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 用户 Excel 导出 VO + */ +@Data +public class UserExcelVO { + + @ExcelProperty("用户编号") + private Long id; + + @ExcelProperty("用户名称") + private String username; + + @ExcelProperty("用户昵称") + private String nickname; + + @ExcelProperty("用户邮箱") + private String email; + + @ExcelProperty("手机号码") + private String mobile; + + @ExcelProperty(value = "用户性别", converter = DictConvert.class) + @DictFormat(DictTypeConstants.USER_SEX) + private Integer sex; + + @ExcelProperty(value = "帐号状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private Integer status; + + @ExcelProperty("最后登录IP") + private String loginIp; + + @ExcelProperty("最后登录时间") + private LocalDateTime loginDate; + + @ExcelProperty("部门名称") + private String deptName; + + @ExcelProperty("部门负责人") + private String deptLeaderNickname; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserExportReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserExportReqVO.java new file mode 100644 index 00000000..c319025a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserExportReqVO.java @@ -0,0 +1,35 @@ +package com.win.module.system.controller.user.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 用户导出 Request VO,参数和 UserPageReqVO 是一致的") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UserExportReqVO { + + @Schema(description = "用户账号,模糊匹配", example = "win") + private String username; + + @Schema(description = "手机号码,模糊匹配", example = "win") + private String mobile; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "部门编号,同时筛选子部门", example = "1024") + private Long deptId; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserImportExcelVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserImportExcelVO.java new file mode 100644 index 00000000..50d0708f --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserImportExcelVO.java @@ -0,0 +1,46 @@ +package com.win.module.system.controller.user.vo.user; + +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.system.enums.DictTypeConstants; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +/** + * 用户 Excel 导入 VO + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题 +public class UserImportExcelVO { + + @ExcelProperty("登录名称") + private String username; + + @ExcelProperty("用户名称") + private String nickname; + + @ExcelProperty("部门编号") + private Long deptId; + + @ExcelProperty("用户邮箱") + private String email; + + @ExcelProperty("手机号码") + private String mobile; + + @ExcelProperty(value = "用户性别", converter = DictConvert.class) + @DictFormat(DictTypeConstants.USER_SEX) + private Integer sex; + + @ExcelProperty(value = "账号状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.COMMON_STATUS) + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserImportRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserImportRespVO.java new file mode 100644 index 00000000..e107eb9a --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserImportRespVO.java @@ -0,0 +1,24 @@ +package com.win.module.system.controller.user.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Schema(description = "管理后台 - 用户导入 Response VO") +@Data +@Builder +public class UserImportRespVO { + + @Schema(description = "创建成功的用户名数组", requiredMode = Schema.RequiredMode.REQUIRED) + private List createUsernames; + + @Schema(description = "更新成功的用户名数组", requiredMode = Schema.RequiredMode.REQUIRED) + private List updateUsernames; + + @Schema(description = "导入失败的用户集合,key 为用户名,value 为失败原因", requiredMode = Schema.RequiredMode.REQUIRED) + private Map failureUsernames; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserPageItemRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserPageItemRespVO.java new file mode 100644 index 00000000..02855cf5 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserPageItemRespVO.java @@ -0,0 +1,33 @@ +package com.win.module.system.controller.user.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 用户分页时的信息 Response VO,相比用户基本信息来说,会多部门信息") +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class UserPageItemRespVO extends UserRespVO { + + /** + * 所在部门 + */ + private Dept dept; + + @Schema(description = "部门") + @Data + public static class Dept { + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") + private String name; + + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserPageReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserPageReqVO.java new file mode 100644 index 00000000..7bc93576 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserPageReqVO.java @@ -0,0 +1,38 @@ +package com.win.module.system.controller.user.vo.user; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 用户分页 Request VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class UserPageReqVO extends PageParam { + + @Schema(description = "用户账号,模糊匹配", example = "win") + private String username; + + @Schema(description = "手机号码,模糊匹配", example = "win") + private String mobile; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + + @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "部门编号,同时筛选子部门", example = "1024") + private Long deptId; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserRespVO.java new file mode 100644 index 00000000..ebd863f7 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserRespVO.java @@ -0,0 +1,31 @@ +package com.win.module.system.controller.user.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; + + +@Schema(description = "管理后台 - 用户信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class UserRespVO extends UserBaseVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer status; + + @Schema(description = "最后登录 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "192.168.1.1") + private String loginIp; + + @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime loginDate; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") + private LocalDateTime createTime; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserSimpleRespVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserSimpleRespVO.java new file mode 100644 index 00000000..7e9da668 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserSimpleRespVO.java @@ -0,0 +1,20 @@ +package com.win.module.system.controller.user.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 用户精简信息 Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UserSimpleRespVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "闻荫") + private String nickname; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdatePasswordReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdatePasswordReqVO.java new file mode 100644 index 00000000..f607e9a7 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdatePasswordReqVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.user.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 用户更新密码 Request VO") +@Data +public class UserUpdatePasswordReqVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "用户编号不能为空") + private Long id; + + @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") + @NotEmpty(message = "密码不能为空") + @Length(min = 4, max = 16, message = "密码长度为 4-16 位") + private String password; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdateReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdateReqVO.java new file mode 100644 index 00000000..88c77d69 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.system.controller.user.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 用户更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +public class UserUpdateReqVO extends UserBaseVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "用户编号不能为空") + private Long id; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdateStatusReqVO.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdateStatusReqVO.java new file mode 100644 index 00000000..68c38c91 --- /dev/null +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/user/vo/user/UserUpdateStatusReqVO.java @@ -0,0 +1,23 @@ +package com.win.module.system.controller.user.vo.user; + +import com.win.framework.common.enums.CommonStatusEnum; +import com.win.framework.common.validation.InEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 用户更新状态 Request VO") +@Data +public class UserUpdateStatusReqVO { + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "角色编号不能为空") + private Long id; + + @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态不能为空") + @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") + private Integer status; + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/AuthConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/AuthConvert.java index f21dfe61..23f25790 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/AuthConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/AuthConvert.java @@ -1,7 +1,7 @@ package com.win.module.system.convert.auth; -import com.win.module.system.controller.admin.auth.vo.AuthLoginRespVO; -import com.win.module.system.controller.admin.auth.vo.AuthPermissionInfoRespVO; +import com.win.module.system.controller.auth.vo.AuthLoginRespVO; +import com.win.module.system.controller.auth.vo.AuthPermissionInfoRespVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; import com.win.module.system.dal.dataobject.permission.MenuDO; import com.win.module.system.dal.dataobject.permission.RoleDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/OAuth2ClientConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/OAuth2ClientConvert.java index 9aa9b4de..d51bb474 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/OAuth2ClientConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/OAuth2ClientConvert.java @@ -1,9 +1,9 @@ package com.win.module.system.convert.auth; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientRespVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientCreateReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientRespVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientUpdateReqVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/OAuth2TokenConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/OAuth2TokenConvert.java index 05a1ec62..74d9ea79 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/OAuth2TokenConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/auth/OAuth2TokenConvert.java @@ -3,7 +3,7 @@ package com.win.module.system.convert.auth; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO; import com.win.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO; -import com.win.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenRespVO; +import com.win.module.system.controller.oauth2.vo.token.OAuth2AccessTokenRespVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dept/DeptConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dept/DeptConvert.java index e6c9dbf9..98171525 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dept/DeptConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dept/DeptConvert.java @@ -1,16 +1,15 @@ package com.win.module.system.convert.dept; import com.win.module.system.api.dept.dto.DeptRespDTO; -import com.win.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO; -import com.win.module.system.controller.admin.dept.vo.dept.DeptRespVO; -import com.win.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO; -import com.win.module.system.controller.admin.dept.vo.dept.DeptUpdateReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptCreateReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptRespVO; +import com.win.module.system.controller.dept.vo.dept.DeptSimpleRespVO; +import com.win.module.system.controller.dept.vo.dept.DeptUpdateReqVO; import com.win.module.system.dal.dataobject.dept.DeptDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import java.util.List; -import java.util.Map; @Mapper public interface DeptConvert { diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dept/PostConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dept/PostConvert.java index 833ce2f2..cab9d737 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dept/PostConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dept/PostConvert.java @@ -1,7 +1,7 @@ package com.win.module.system.convert.dept; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.dept.vo.post.*; +import com.win.module.system.controller.dept.vo.post.*; import com.win.module.system.dal.dataobject.dept.PostDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dict/DictDataConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dict/DictDataConvert.java index 1f11ad03..2c225616 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dict/DictDataConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dict/DictDataConvert.java @@ -2,12 +2,11 @@ package com.win.module.system.convert.dict; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.dict.dto.DictDataRespDTO; -import com.win.module.system.controller.admin.dict.vo.data.*; +import com.win.module.system.controller.dict.vo.data.*; import com.win.module.system.dal.dataobject.dict.DictDataDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import java.util.Collection; import java.util.List; @Mapper diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dict/DictTypeConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dict/DictTypeConvert.java index 79d4594a..a59217cd 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dict/DictTypeConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/dict/DictTypeConvert.java @@ -1,7 +1,7 @@ package com.win.module.system.convert.dict; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.dict.vo.type.*; +import com.win.module.system.controller.dict.vo.type.*; import com.win.module.system.dal.dataobject.dict.DictTypeDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/errorcode/ErrorCodeConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/errorcode/ErrorCodeConvert.java index 21cee837..99ff6c16 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/errorcode/ErrorCodeConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/errorcode/ErrorCodeConvert.java @@ -3,10 +3,10 @@ package com.win.module.system.convert.errorcode; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO; import com.win.module.system.api.errorcode.dto.ErrorCodeRespDTO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeExcelVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeRespVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeCreateReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeExcelVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeRespVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeUpdateReqVO; import com.win.module.system.dal.dataobject.errorcode.ErrorCodeDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/ip/AreaConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/ip/AreaConvert.java index 946f5d6b..24ffeb49 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/ip/AreaConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/ip/AreaConvert.java @@ -2,9 +2,8 @@ package com.win.module.system.convert.ip; import com.win.framework.ip.core.Area; import com.win.framework.ip.core.enums.AreaTypeEnum; -import com.win.module.system.controller.admin.ip.vo.AreaNodeRespVO; -import com.win.module.system.controller.admin.ip.vo.AreaNodeSimpleRespVO; -import com.win.module.system.controller.app.ip.vo.AppAreaNodeRespVO; +import com.win.module.system.controller.ip.vo.AreaNodeRespVO; +import com.win.module.system.controller.ip.vo.AreaNodeSimpleRespVO; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.factory.Mappers; @@ -28,6 +27,4 @@ public interface AreaConvert { return Objects.equals(AreaTypeEnum.DISTRICT.getType(), type); } - List convertList3(List list); - } diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/logger/LoginLogConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/logger/LoginLogConvert.java index 6d7e93f7..8c6303d5 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/logger/LoginLogConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/logger/LoginLogConvert.java @@ -2,8 +2,8 @@ package com.win.module.system.convert.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.logger.dto.LoginLogCreateReqDTO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogExcelVO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogRespVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogExcelVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogRespVO; import com.win.module.system.dal.dataobject.logger.LoginLogDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/logger/OperateLogConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/logger/OperateLogConvert.java index a7a34a1e..824c2145 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/logger/OperateLogConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/logger/OperateLogConvert.java @@ -1,7 +1,7 @@ package com.win.module.system.convert.logger; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogExcelVO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogRespVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogExcelVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogRespVO; import com.win.module.system.dal.dataobject.logger.OperateLogDO; import com.win.module.system.dal.dataobject.user.AdminUserDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailAccountConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailAccountConvert.java index 66d88f35..e0964e17 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailAccountConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailAccountConvert.java @@ -3,7 +3,7 @@ package com.win.module.system.convert.mail; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.mail.MailAccount; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.account.*; +import com.win.module.system.controller.mail.vo.account.*; import com.win.module.system.dal.dataobject.mail.MailAccountDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailLogConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailLogConvert.java index 5b393f7e..be581077 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailLogConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailLogConvert.java @@ -1,7 +1,7 @@ package com.win.module.system.convert.mail; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.log.MailLogRespVO; +import com.win.module.system.controller.mail.vo.log.MailLogRespVO; import com.win.module.system.dal.dataobject.mail.MailLogDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailTemplateConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailTemplateConvert.java index d5df6cf9..1e5e052a 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailTemplateConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/mail/MailTemplateConvert.java @@ -1,7 +1,10 @@ package com.win.module.system.convert.mail; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.template.*; +import com.win.module.system.controller.mail.vo.template.MailTemplateCreateReqVO; +import com.win.module.system.controller.mail.vo.template.MailTemplateRespVO; +import com.win.module.system.controller.mail.vo.template.MailTemplateSimpleRespVO; +import com.win.module.system.controller.mail.vo.template.MailTemplateUpdateReqVO; import com.win.module.system.dal.dataobject.mail.MailTemplateDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notice/NoticeConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notice/NoticeConvert.java index fe2f7797..64e8ddb5 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notice/NoticeConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notice/NoticeConvert.java @@ -1,9 +1,9 @@ package com.win.module.system.convert.notice; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notice.vo.NoticeCreateReqVO; -import com.win.module.system.controller.admin.notice.vo.NoticeRespVO; -import com.win.module.system.controller.admin.notice.vo.NoticeUpdateReqVO; +import com.win.module.system.controller.notice.vo.NoticeCreateReqVO; +import com.win.module.system.controller.notice.vo.NoticeRespVO; +import com.win.module.system.controller.notice.vo.NoticeUpdateReqVO; import com.win.module.system.dal.dataobject.notice.NoticeDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notify/NotifyMessageConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notify/NotifyMessageConvert.java index 845b1c93..d3c7ece3 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notify/NotifyMessageConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notify/NotifyMessageConvert.java @@ -1,7 +1,7 @@ package com.win.module.system.convert.notify; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessageRespVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessageRespVO; import com.win.module.system.dal.dataobject.notify.NotifyMessageDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notify/NotifyTemplateConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notify/NotifyTemplateConvert.java index c34fbcf8..a9d05a4f 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notify/NotifyTemplateConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/notify/NotifyTemplateConvert.java @@ -5,9 +5,9 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.date.DateUtils; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplateCreateReqVO; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplateRespVO; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplateUpdateReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplateCreateReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplateRespVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplateUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.system.dal.dataobject.notify.NotifyTemplateDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/oauth2/OAuth2OpenConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/oauth2/OAuth2OpenConvert.java index 58c67a54..6e62d553 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/oauth2/OAuth2OpenConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/oauth2/OAuth2OpenConvert.java @@ -5,9 +5,9 @@ import com.win.framework.common.core.KeyValue; import com.win.framework.common.enums.UserTypeEnum; import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.security.core.util.SecurityFrameworkUtils; -import com.win.module.system.controller.admin.oauth2.vo.open.OAuth2OpenAccessTokenRespVO; -import com.win.module.system.controller.admin.oauth2.vo.open.OAuth2OpenAuthorizeInfoRespVO; -import com.win.module.system.controller.admin.oauth2.vo.open.OAuth2OpenCheckTokenRespVO; +import com.win.module.system.controller.oauth2.vo.open.OAuth2OpenAccessTokenRespVO; +import com.win.module.system.controller.oauth2.vo.open.OAuth2OpenAuthorizeInfoRespVO; +import com.win.module.system.controller.oauth2.vo.open.OAuth2OpenCheckTokenRespVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; import com.win.module.system.dal.dataobject.oauth2.OAuth2ApproveDO; import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/oauth2/OAuth2UserConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/oauth2/OAuth2UserConvert.java index 977c7421..b782dff3 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/oauth2/OAuth2UserConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/oauth2/OAuth2UserConvert.java @@ -1,8 +1,8 @@ package com.win.module.system.convert.oauth2; -import com.win.module.system.controller.admin.oauth2.vo.user.OAuth2UserInfoRespVO; -import com.win.module.system.controller.admin.oauth2.vo.user.OAuth2UserUpdateReqVO; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; +import com.win.module.system.controller.oauth2.vo.user.OAuth2UserInfoRespVO; +import com.win.module.system.controller.oauth2.vo.user.OAuth2UserUpdateReqVO; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdateReqVO; import com.win.module.system.dal.dataobject.dept.DeptDO; import com.win.module.system.dal.dataobject.dept.PostDO; import com.win.module.system.dal.dataobject.user.AdminUserDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/permission/MenuConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/permission/MenuConvert.java index 7728a36a..4fd688f4 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/permission/MenuConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/permission/MenuConvert.java @@ -1,9 +1,9 @@ package com.win.module.system.convert.permission; -import com.win.module.system.controller.admin.permission.vo.menu.MenuCreateReqVO; -import com.win.module.system.controller.admin.permission.vo.menu.MenuRespVO; -import com.win.module.system.controller.admin.permission.vo.menu.MenuSimpleRespVO; -import com.win.module.system.controller.admin.permission.vo.menu.MenuUpdateReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuCreateReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuRespVO; +import com.win.module.system.controller.permission.vo.menu.MenuSimpleRespVO; +import com.win.module.system.controller.permission.vo.menu.MenuUpdateReqVO; import com.win.module.system.dal.dataobject.permission.MenuDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/permission/RoleConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/permission/RoleConvert.java index 7911b8b6..a2a978fc 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/permission/RoleConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/permission/RoleConvert.java @@ -1,6 +1,6 @@ package com.win.module.system.convert.permission; -import com.win.module.system.controller.admin.permission.vo.role.*; +import com.win.module.system.controller.permission.vo.role.*; import com.win.module.system.dal.dataobject.permission.RoleDO; import com.win.module.system.service.permission.bo.RoleCreateReqBO; import org.mapstruct.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sensitiveword/SensitiveWordConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sensitiveword/SensitiveWordConvert.java index 19269a12..7924bcba 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sensitiveword/SensitiveWordConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sensitiveword/SensitiveWordConvert.java @@ -1,10 +1,10 @@ package com.win.module.system.convert.sensitiveword; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordCreateReqVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordExcelVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordRespVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordUpdateReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordCreateReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordExcelVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordRespVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordUpdateReqVO; import com.win.module.system.dal.dataobject.sensitiveword.SensitiveWordDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/serialnumber/SerialNumberConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/serialnumber/SerialNumberConvert.java index 25c7c20c..61abc213 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/serialnumber/SerialNumberConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/serialnumber/SerialNumberConvert.java @@ -4,9 +4,12 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.serialnumber.vo.SerialNumberCreateReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberExcelVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberRespVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import com.win.module.system.controller.admin.serialnumber.vo.*; import com.win.module.system.dal.dataobject.serialnumber.SerialNumberDO; /** diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsChannelConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsChannelConvert.java index f2dcf6be..39ca4e16 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsChannelConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsChannelConvert.java @@ -1,9 +1,9 @@ package com.win.module.system.convert.sms; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelRespVO; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelSimpleRespVO; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelCreateReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelRespVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelSimpleRespVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelUpdateReqVO; import com.win.module.system.dal.dataobject.sms.SmsChannelDO; import com.win.framework.common.pojo.PageResult; import com.win.framework.sms.core.property.SmsChannelProperties; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsLogConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsLogConvert.java index 4ea81f04..888ae416 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsLogConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsLogConvert.java @@ -1,7 +1,7 @@ package com.win.module.system.convert.sms; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogExcelVO; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogRespVO; +import com.win.module.system.controller.sms.vo.log.SmsLogExcelVO; +import com.win.module.system.controller.sms.vo.log.SmsLogRespVO; import com.win.module.system.dal.dataobject.sms.SmsLogDO; import com.win.framework.common.pojo.PageResult; import org.mapstruct.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsTemplateConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsTemplateConvert.java index b4240375..03dfd756 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsTemplateConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/sms/SmsTemplateConvert.java @@ -1,9 +1,9 @@ package com.win.module.system.convert.sms; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateCreateReqVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateExcelVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateRespVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateUpdateReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateCreateReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateExcelVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateRespVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateUpdateReqVO; import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; import com.win.framework.common.pojo.PageResult; import org.mapstruct.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/tenant/TenantConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/tenant/TenantConvert.java index ee0d1d6e..ceee80a6 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/tenant/TenantConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/tenant/TenantConvert.java @@ -1,11 +1,11 @@ package com.win.module.system.convert.tenant; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantCreateReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantExcelVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantRespVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantUpdateReqVO; -import com.win.module.system.controller.admin.user.vo.user.UserCreateReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantCreateReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantExcelVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantRespVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantUpdateReqVO; +import com.win.module.system.controller.user.vo.user.UserCreateReqVO; import com.win.module.system.dal.dataobject.tenant.TenantDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/tenant/TenantPackageConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/tenant/TenantPackageConvert.java index a49c0f1e..6fa03517 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/tenant/TenantPackageConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/tenant/TenantPackageConvert.java @@ -1,11 +1,10 @@ package com.win.module.system.convert.tenant; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.permission.vo.role.RoleSimpleRespVO; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackageCreateReqVO; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackageRespVO; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackageSimpleRespVO; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackageUpdateReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackageCreateReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackageRespVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackageSimpleRespVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackageUpdateReqVO; import com.win.module.system.dal.dataobject.tenant.TenantPackageDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/user/UserConvert.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/user/UserConvert.java index 26615614..b61c1a9a 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/user/UserConvert.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/convert/user/UserConvert.java @@ -1,10 +1,10 @@ package com.win.module.system.convert.user; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileRespVO; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; -import com.win.module.system.controller.admin.user.vo.user.*; +import com.win.module.system.controller.user.vo.profile.UserProfileRespVO; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdatePasswordReqVO; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdateReqVO; +import com.win.module.system.controller.user.vo.user.*; import com.win.module.system.dal.dataobject.dept.DeptDO; import com.win.module.system.dal.dataobject.dept.PostDO; import com.win.module.system.dal.dataobject.permission.RoleDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dept/DeptMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dept/DeptMapper.java index 92c313b1..92dd0fcb 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dept/DeptMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dept/DeptMapper.java @@ -2,7 +2,7 @@ package com.win.module.system.dal.mysql.dept; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.dept.vo.dept.DeptListReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptListReqVO; import com.win.module.system.dal.dataobject.dept.DeptDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dept/PostMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dept/PostMapper.java index 8a43aed7..fbecc81c 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dept/PostMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dept/PostMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.dept; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.dept.vo.post.PostExportReqVO; -import com.win.module.system.controller.admin.dept.vo.post.PostPageReqVO; +import com.win.module.system.controller.dept.vo.post.PostExportReqVO; +import com.win.module.system.controller.dept.vo.post.PostPageReqVO; import com.win.module.system.dal.dataobject.dept.PostDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictDataMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictDataMapper.java index 6bf4fd31..657720b9 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictDataMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictDataMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.dict; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.dict.vo.data.DictDataExportReqVO; -import com.win.module.system.controller.admin.dict.vo.data.DictDataPageReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataExportReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataPageReqVO; import com.win.module.system.dal.dataobject.dict.DictDataDO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictTypeMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictTypeMapper.java index 909df005..c1606115 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictTypeMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictTypeMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.dict; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.dict.vo.type.DictTypeExportReqVO; -import com.win.module.system.controller.admin.dict.vo.type.DictTypePageReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypeExportReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypePageReqVO; import com.win.module.system.dal.dataobject.dict.DictTypeDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/errorcode/ErrorCodeMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/errorcode/ErrorCodeMapper.java index 82d9b0a2..99884f20 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/errorcode/ErrorCodeMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/errorcode/ErrorCodeMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.errorcode; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeExportReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodePageReqVO; import com.win.module.system.dal.dataobject.errorcode.ErrorCodeDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/logger/LoginLogMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/logger/LoginLogMapper.java index 8e4ab940..105f055d 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/logger/LoginLogMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/logger/LoginLogMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.logger; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogExportReqVO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogExportReqVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogPageReqVO; import com.win.module.system.dal.dataobject.logger.LoginLogDO; import com.win.module.system.enums.logger.LoginResultEnum; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/logger/OperateLogMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/logger/OperateLogMapper.java index a4027ee9..fad81899 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/logger/OperateLogMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/logger/OperateLogMapper.java @@ -4,8 +4,8 @@ import com.win.framework.common.exception.enums.GlobalErrorCodeConstants; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogExportReqVO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogExportReqVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogPageReqVO; import com.win.module.system.dal.dataobject.logger.OperateLogDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailAccountMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailAccountMapper.java index 3896a46f..7501b06d 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailAccountMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailAccountMapper.java @@ -3,8 +3,7 @@ package com.win.module.system.dal.mysql.mail; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.framework.mybatis.core.query.QueryWrapperX; -import com.win.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO; +import com.win.module.system.controller.mail.vo.account.MailAccountPageReqVO; import com.win.module.system.dal.dataobject.mail.MailAccountDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailLogMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailLogMapper.java index df2052f6..bd683de6 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailLogMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailLogMapper.java @@ -3,7 +3,7 @@ package com.win.module.system.dal.mysql.mail; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.mail.vo.log.MailLogPageReqVO; +import com.win.module.system.controller.mail.vo.log.MailLogPageReqVO; import com.win.module.system.dal.dataobject.mail.MailLogDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailTemplateMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailTemplateMapper.java index b8ddbd1e..b5622aa3 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailTemplateMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/mail/MailTemplateMapper.java @@ -3,14 +3,9 @@ package com.win.module.system.dal.mysql.mail; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.framework.mybatis.core.query.QueryWrapperX; -import com.win.module.system.controller.admin.mail.vo.template.MailTemplatePageReqVO; +import com.win.module.system.controller.mail.vo.template.MailTemplatePageReqVO; import com.win.module.system.dal.dataobject.mail.MailTemplateDO; -import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; - -import java.util.Date; @Mapper public interface MailTemplateMapper extends BaseMapperX { diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notice/NoticeMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notice/NoticeMapper.java index 79069768..50805fea 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notice/NoticeMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notice/NoticeMapper.java @@ -3,7 +3,7 @@ package com.win.module.system.dal.mysql.notice; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.notice.vo.NoticePageReqVO; +import com.win.module.system.controller.notice.vo.NoticePageReqVO; import com.win.module.system.dal.dataobject.notice.NoticeDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notify/NotifyMessageMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notify/NotifyMessageMapper.java index fb228119..57edb80e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notify/NotifyMessageMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notify/NotifyMessageMapper.java @@ -4,8 +4,8 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.query.QueryWrapperX; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessageMyPageReqVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessagePageReqVO; import com.win.module.system.dal.dataobject.notify.NotifyMessageDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notify/NotifyTemplateMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notify/NotifyTemplateMapper.java index 745e7049..a86df48e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notify/NotifyTemplateMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/notify/NotifyTemplateMapper.java @@ -3,7 +3,7 @@ package com.win.module.system.dal.mysql.notify; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplatePageReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplatePageReqVO; import com.win.module.system.dal.dataobject.notify.NotifyTemplateDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.java index dcf42a1b..4def4389 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.java @@ -3,7 +3,7 @@ package com.win.module.system.dal.mysql.oauth2; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; +import com.win.module.system.controller.oauth2.vo.token.OAuth2AccessTokenPageReqVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/oauth2/OAuth2ClientMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/oauth2/OAuth2ClientMapper.java index 6e62afa7..259b0bf9 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/oauth2/OAuth2ClientMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/oauth2/OAuth2ClientMapper.java @@ -3,7 +3,7 @@ package com.win.module.system.dal.mysql.oauth2; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientPageReqVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/permission/MenuMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/permission/MenuMapper.java index a7539d94..76874b5b 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/permission/MenuMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/permission/MenuMapper.java @@ -2,7 +2,7 @@ package com.win.module.system.dal.mysql.permission; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.permission.vo.menu.MenuListReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuListReqVO; import com.win.module.system.dal.dataobject.permission.MenuDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/permission/RoleMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/permission/RoleMapper.java index f33ae517..beb91e75 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/permission/RoleMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/permission/RoleMapper.java @@ -4,8 +4,8 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.dataobject.BaseDO; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.permission.vo.role.RoleExportReqVO; -import com.win.module.system.controller.admin.permission.vo.role.RolePageReqVO; +import com.win.module.system.controller.permission.vo.role.RoleExportReqVO; +import com.win.module.system.controller.permission.vo.role.RolePageReqVO; import com.win.module.system.dal.dataobject.permission.RoleDO; import org.apache.ibatis.annotations.Mapper; import org.springframework.lang.Nullable; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sensitiveword/SensitiveWordMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sensitiveword/SensitiveWordMapper.java index 1deff979..490f740c 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sensitiveword/SensitiveWordMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sensitiveword/SensitiveWordMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.sensitiveword; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordExportReqVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordPageReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordExportReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordPageReqVO; import com.win.module.system.dal.dataobject.sensitiveword.SensitiveWordDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/serialnumber/SerialNumberMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/serialnumber/SerialNumberMapper.java index 4b280820..1c7113eb 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/serialnumber/SerialNumberMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/serialnumber/SerialNumberMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.serialnumber; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberExportReqVO; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberPageReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberExportReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberPageReqVO; import com.win.module.system.dal.dataobject.serialnumber.SerialNumberDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsChannelMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsChannelMapper.java index 6e55fcdd..85beba2e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsChannelMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsChannelMapper.java @@ -3,7 +3,7 @@ package com.win.module.system.dal.mysql.sms; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelPageReqVO; import com.win.module.system.dal.dataobject.sms.SmsChannelDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsLogMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsLogMapper.java index 8ce941a3..f972ec9d 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsLogMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsLogMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.sms; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogExportReqVO; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogPageReqVO; +import com.win.module.system.controller.sms.vo.log.SmsLogExportReqVO; +import com.win.module.system.controller.sms.vo.log.SmsLogPageReqVO; import com.win.module.system.dal.dataobject.sms.SmsLogDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsTemplateMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsTemplateMapper.java index b18314d2..4b97836d 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsTemplateMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/sms/SmsTemplateMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.sms; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateExportReqVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplatePageReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateExportReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplatePageReqVO; import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/tenant/TenantMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/tenant/TenantMapper.java index 09aa3dd8..47ccfb3f 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/tenant/TenantMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/tenant/TenantMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.tenant; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantExportReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantExportReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantPageReqVO; import com.win.module.system.dal.dataobject.tenant.TenantDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/tenant/TenantPackageMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/tenant/TenantPackageMapper.java index 8152f3ce..9a776271 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/tenant/TenantPackageMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/tenant/TenantPackageMapper.java @@ -3,7 +3,7 @@ package com.win.module.system.dal.mysql.tenant; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackagePageReqVO; import com.win.module.system.dal.dataobject.tenant.TenantPackageDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/user/AdminUserMapper.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/user/AdminUserMapper.java index 51d78f1f..e147b576 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/user/AdminUserMapper.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/user/AdminUserMapper.java @@ -3,8 +3,8 @@ package com.win.module.system.dal.mysql.user; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.system.controller.admin.user.vo.user.UserExportReqVO; -import com.win.module.system.controller.admin.user.vo.user.UserPageReqVO; +import com.win.module.system.controller.user.vo.user.UserExportReqVO; +import com.win.module.system.controller.user.vo.user.UserPageReqVO; import com.win.module.system.dal.dataobject.user.AdminUserDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/auth/AdminAuthService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/auth/AdminAuthService.java index 0c19370b..15f45954 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/auth/AdminAuthService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/auth/AdminAuthService.java @@ -1,6 +1,7 @@ package com.win.module.system.service.auth; -import com.win.module.system.controller.admin.auth.vo.*; +import com.win.module.system.controller.auth.vo.AuthLoginReqVO; +import com.win.module.system.controller.auth.vo.AuthLoginRespVO; import com.win.module.system.dal.dataobject.user.AdminUserDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/auth/AdminAuthServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/auth/AdminAuthServiceImpl.java index 40a5891f..64f65576 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/auth/AdminAuthServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/auth/AdminAuthServiceImpl.java @@ -10,8 +10,8 @@ import com.win.framework.common.util.servlet.ServletUtils; import com.win.framework.redis.util.RedisCache; import com.win.module.system.api.logger.dto.LoginLogCreateReqDTO; import com.win.module.system.api.sms.SmsCodeApi; -import com.win.module.system.controller.admin.auth.vo.AuthLoginReqVO; -import com.win.module.system.controller.admin.auth.vo.AuthLoginRespVO; +import com.win.module.system.controller.auth.vo.AuthLoginReqVO; +import com.win.module.system.controller.auth.vo.AuthLoginRespVO; import com.win.module.system.convert.auth.AuthConvert; import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; import com.win.module.system.dal.dataobject.user.AdminUserDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/DeptService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/DeptService.java index 8f0611a7..7bc14b30 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/DeptService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/DeptService.java @@ -2,9 +2,9 @@ package com.win.module.system.service.dept; import cn.hutool.core.collection.CollUtil; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO; -import com.win.module.system.controller.admin.dept.vo.dept.DeptListReqVO; -import com.win.module.system.controller.admin.dept.vo.dept.DeptUpdateReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptCreateReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptListReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptUpdateReqVO; import com.win.module.system.dal.dataobject.dept.DeptDO; import java.util.*; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/DeptServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/DeptServiceImpl.java index 94d8914c..0de716eb 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/DeptServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/DeptServiceImpl.java @@ -4,9 +4,9 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.datapermission.core.annotation.DataPermission; -import com.win.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO; -import com.win.module.system.controller.admin.dept.vo.dept.DeptListReqVO; -import com.win.module.system.controller.admin.dept.vo.dept.DeptUpdateReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptCreateReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptListReqVO; +import com.win.module.system.controller.dept.vo.dept.DeptUpdateReqVO; import com.win.module.system.convert.dept.DeptConvert; import com.win.module.system.dal.dataobject.dept.DeptDO; import com.win.module.system.dal.mysql.dept.DeptMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/PostService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/PostService.java index 98aa38f3..f10d114c 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/PostService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/PostService.java @@ -2,10 +2,10 @@ package com.win.module.system.service.dept; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.dept.vo.post.PostCreateReqVO; -import com.win.module.system.controller.admin.dept.vo.post.PostExportReqVO; -import com.win.module.system.controller.admin.dept.vo.post.PostPageReqVO; -import com.win.module.system.controller.admin.dept.vo.post.PostUpdateReqVO; +import com.win.module.system.controller.dept.vo.post.PostCreateReqVO; +import com.win.module.system.controller.dept.vo.post.PostExportReqVO; +import com.win.module.system.controller.dept.vo.post.PostPageReqVO; +import com.win.module.system.controller.dept.vo.post.PostUpdateReqVO; import com.win.module.system.dal.dataobject.dept.PostDO; import org.springframework.lang.Nullable; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/PostServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/PostServiceImpl.java index c63ea73a..2055ed32 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/PostServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dept/PostServiceImpl.java @@ -3,10 +3,10 @@ package com.win.module.system.service.dept; import cn.hutool.core.collection.CollUtil; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.dept.vo.post.PostCreateReqVO; -import com.win.module.system.controller.admin.dept.vo.post.PostExportReqVO; -import com.win.module.system.controller.admin.dept.vo.post.PostPageReqVO; -import com.win.module.system.controller.admin.dept.vo.post.PostUpdateReqVO; +import com.win.module.system.controller.dept.vo.post.PostCreateReqVO; +import com.win.module.system.controller.dept.vo.post.PostExportReqVO; +import com.win.module.system.controller.dept.vo.post.PostPageReqVO; +import com.win.module.system.controller.dept.vo.post.PostUpdateReqVO; import com.win.module.system.convert.dept.PostConvert; import com.win.module.system.dal.dataobject.dept.PostDO; import com.win.module.system.dal.mysql.dept.PostMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataService.java index a7b3c383..8b243f82 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataService.java @@ -1,10 +1,10 @@ package com.win.module.system.service.dict; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.dict.vo.data.DictDataCreateReqVO; -import com.win.module.system.controller.admin.dict.vo.data.DictDataExportReqVO; -import com.win.module.system.controller.admin.dict.vo.data.DictDataPageReqVO; -import com.win.module.system.controller.admin.dict.vo.data.DictDataUpdateReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataCreateReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataExportReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataPageReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataUpdateReqVO; import com.win.module.system.dal.dataobject.dict.DictDataDO; import java.util.Collection; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java index 6598c3e7..61289c3c 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java @@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.module.system.controller.admin.dict.vo.data.DictDataCreateReqVO; -import com.win.module.system.controller.admin.dict.vo.data.DictDataExportReqVO; -import com.win.module.system.controller.admin.dict.vo.data.DictDataPageReqVO; -import com.win.module.system.controller.admin.dict.vo.data.DictDataUpdateReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataCreateReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataExportReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataPageReqVO; +import com.win.module.system.controller.dict.vo.data.DictDataUpdateReqVO; import com.win.module.system.convert.dict.DictDataConvert; import com.win.module.system.dal.dataobject.dict.DictDataDO; import com.win.module.system.dal.dataobject.dict.DictTypeDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeService.java index f13b5846..d40a4273 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeService.java @@ -1,10 +1,10 @@ package com.win.module.system.service.dict; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.dict.vo.type.DictTypeCreateReqVO; -import com.win.module.system.controller.admin.dict.vo.type.DictTypeExportReqVO; -import com.win.module.system.controller.admin.dict.vo.type.DictTypePageReqVO; -import com.win.module.system.controller.admin.dict.vo.type.DictTypeUpdateReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypeCreateReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypeExportReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypePageReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypeUpdateReqVO; import com.win.module.system.dal.dataobject.dict.DictTypeDO; import java.util.List; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeServiceImpl.java index 21a4f272..d605e9c6 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeServiceImpl.java @@ -3,10 +3,10 @@ package com.win.module.system.service.dict; import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.date.LocalDateTimeUtils; -import com.win.module.system.controller.admin.dict.vo.type.DictTypeCreateReqVO; -import com.win.module.system.controller.admin.dict.vo.type.DictTypeExportReqVO; -import com.win.module.system.controller.admin.dict.vo.type.DictTypePageReqVO; -import com.win.module.system.controller.admin.dict.vo.type.DictTypeUpdateReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypeCreateReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypeExportReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypePageReqVO; +import com.win.module.system.controller.dict.vo.type.DictTypeUpdateReqVO; import com.win.module.system.convert.dict.DictTypeConvert; import com.win.module.system.dal.dataobject.dict.DictTypeDO; import com.win.module.system.dal.mysql.dict.DictTypeMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/errorcode/ErrorCodeService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/errorcode/ErrorCodeService.java index ce250422..721dc36e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/errorcode/ErrorCodeService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/errorcode/ErrorCodeService.java @@ -3,10 +3,10 @@ package com.win.module.system.service.errorcode; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO; import com.win.module.system.api.errorcode.dto.ErrorCodeRespDTO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeCreateReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeExportReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodePageReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeUpdateReqVO; import com.win.module.system.dal.dataobject.errorcode.ErrorCodeDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/errorcode/ErrorCodeServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/errorcode/ErrorCodeServiceImpl.java index 18d16b59..d22da1b2 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/errorcode/ErrorCodeServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/errorcode/ErrorCodeServiceImpl.java @@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO; import com.win.module.system.api.errorcode.dto.ErrorCodeRespDTO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO; -import com.win.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeCreateReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeExportReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodePageReqVO; +import com.win.module.system.controller.errorcode.vo.ErrorCodeUpdateReqVO; import com.win.module.system.convert.errorcode.ErrorCodeConvert; import com.win.module.system.dal.dataobject.errorcode.ErrorCodeDO; import com.win.module.system.dal.mysql.errorcode.ErrorCodeMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/LoginLogService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/LoginLogService.java index b6448c45..3547c1ab 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/LoginLogService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/LoginLogService.java @@ -1,7 +1,7 @@ package com.win.module.system.service.logger; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogExportReqVO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogExportReqVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogPageReqVO; import com.win.module.system.dal.dataobject.logger.LoginLogDO; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.logger.dto.LoginLogCreateReqDTO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/LoginLogServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/LoginLogServiceImpl.java index 596e77c0..a9dc5648 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/LoginLogServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/LoginLogServiceImpl.java @@ -2,8 +2,8 @@ package com.win.module.system.service.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.logger.dto.LoginLogCreateReqDTO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogExportReqVO; -import com.win.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogExportReqVO; +import com.win.module.system.controller.logger.vo.loginlog.LoginLogPageReqVO; import com.win.module.system.convert.logger.LoginLogConvert; import com.win.module.system.dal.dataobject.logger.LoginLogDO; import com.win.module.system.dal.mysql.logger.LoginLogMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/OperateLogService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/OperateLogService.java index 1eeb5f14..321327ef 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/OperateLogService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/OperateLogService.java @@ -2,8 +2,8 @@ package com.win.module.system.service.logger; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.logger.dto.OperateLogCreateReqDTO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogExportReqVO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogExportReqVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogPageReqVO; import com.win.module.system.dal.dataobject.logger.OperateLogDO; import java.util.List; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/OperateLogServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/OperateLogServiceImpl.java index e189d67d..6ced3bc2 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/OperateLogServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/logger/OperateLogServiceImpl.java @@ -5,8 +5,8 @@ import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.string.StrUtils; import com.win.module.system.api.logger.dto.OperateLogCreateReqDTO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogExportReqVO; -import com.win.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogExportReqVO; +import com.win.module.system.controller.logger.vo.operatelog.OperateLogPageReqVO; import com.win.module.system.convert.logger.OperateLogConvert; import com.win.module.system.dal.dataobject.logger.OperateLogDO; import com.win.module.system.dal.dataobject.user.AdminUserDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailAccountService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailAccountService.java index cb0f93cb..5992bcb3 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailAccountService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailAccountService.java @@ -1,9 +1,9 @@ package com.win.module.system.service.mail; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.account.MailAccountCreateReqVO; -import com.win.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO; -import com.win.module.system.controller.admin.mail.vo.account.MailAccountUpdateReqVO; +import com.win.module.system.controller.mail.vo.account.MailAccountCreateReqVO; +import com.win.module.system.controller.mail.vo.account.MailAccountPageReqVO; +import com.win.module.system.controller.mail.vo.account.MailAccountUpdateReqVO; import com.win.module.system.dal.dataobject.mail.MailAccountDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailAccountServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailAccountServiceImpl.java index 6898f146..759cf5d7 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailAccountServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailAccountServiceImpl.java @@ -1,9 +1,9 @@ package com.win.module.system.service.mail; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.account.MailAccountCreateReqVO; -import com.win.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO; -import com.win.module.system.controller.admin.mail.vo.account.MailAccountUpdateReqVO; +import com.win.module.system.controller.mail.vo.account.MailAccountCreateReqVO; +import com.win.module.system.controller.mail.vo.account.MailAccountPageReqVO; +import com.win.module.system.controller.mail.vo.account.MailAccountUpdateReqVO; import com.win.module.system.convert.mail.MailAccountConvert; import com.win.module.system.dal.dataobject.mail.MailAccountDO; import com.win.module.system.dal.mysql.mail.MailAccountMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailLogService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailLogService.java index 52f3bb1e..4ca2435f 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailLogService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailLogService.java @@ -1,7 +1,7 @@ package com.win.module.system.service.mail; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.log.MailLogPageReqVO; +import com.win.module.system.controller.mail.vo.log.MailLogPageReqVO; import com.win.module.system.dal.dataobject.mail.MailAccountDO; import com.win.module.system.dal.dataobject.mail.MailLogDO; import com.win.module.system.dal.dataobject.mail.MailTemplateDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailLogServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailLogServiceImpl.java index 5117eb5a..d85cfe3d 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailLogServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailLogServiceImpl.java @@ -1,7 +1,7 @@ package com.win.module.system.service.mail; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.log.MailLogPageReqVO; +import com.win.module.system.controller.mail.vo.log.MailLogPageReqVO; import com.win.module.system.dal.dataobject.mail.MailAccountDO; import com.win.module.system.dal.dataobject.mail.MailLogDO; import com.win.module.system.dal.dataobject.mail.MailTemplateDO; @@ -12,7 +12,6 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.Date; import java.util.Map; import java.util.Objects; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailTemplateService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailTemplateService.java index e2e2bb9c..7090e3fc 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailTemplateService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailTemplateService.java @@ -1,9 +1,9 @@ package com.win.module.system.service.mail; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.template.MailTemplateCreateReqVO; -import com.win.module.system.controller.admin.mail.vo.template.MailTemplatePageReqVO; -import com.win.module.system.controller.admin.mail.vo.template.MailTemplateUpdateReqVO; +import com.win.module.system.controller.mail.vo.template.MailTemplateCreateReqVO; +import com.win.module.system.controller.mail.vo.template.MailTemplatePageReqVO; +import com.win.module.system.controller.mail.vo.template.MailTemplateUpdateReqVO; import com.win.module.system.dal.dataobject.mail.MailTemplateDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailTemplateServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailTemplateServiceImpl.java index ecac21cd..06fca18e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailTemplateServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailTemplateServiceImpl.java @@ -4,9 +4,9 @@ import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.mail.vo.template.MailTemplateCreateReqVO; -import com.win.module.system.controller.admin.mail.vo.template.MailTemplatePageReqVO; -import com.win.module.system.controller.admin.mail.vo.template.MailTemplateUpdateReqVO; +import com.win.module.system.controller.mail.vo.template.MailTemplateCreateReqVO; +import com.win.module.system.controller.mail.vo.template.MailTemplatePageReqVO; +import com.win.module.system.controller.mail.vo.template.MailTemplateUpdateReqVO; import com.win.module.system.convert.mail.MailTemplateConvert; import com.win.module.system.dal.dataobject.mail.MailTemplateDO; import com.win.module.system.dal.mysql.mail.MailTemplateMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notice/NoticeService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notice/NoticeService.java index 192a1805..7c20efda 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notice/NoticeService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notice/NoticeService.java @@ -1,9 +1,9 @@ package com.win.module.system.service.notice; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notice.vo.NoticeCreateReqVO; -import com.win.module.system.controller.admin.notice.vo.NoticePageReqVO; -import com.win.module.system.controller.admin.notice.vo.NoticeUpdateReqVO; +import com.win.module.system.controller.notice.vo.NoticeCreateReqVO; +import com.win.module.system.controller.notice.vo.NoticePageReqVO; +import com.win.module.system.controller.notice.vo.NoticeUpdateReqVO; import com.win.module.system.dal.dataobject.notice.NoticeDO; /** diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notice/NoticeServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notice/NoticeServiceImpl.java index 7e01f109..6e1dec3e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notice/NoticeServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notice/NoticeServiceImpl.java @@ -1,9 +1,9 @@ package com.win.module.system.service.notice; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notice.vo.NoticeCreateReqVO; -import com.win.module.system.controller.admin.notice.vo.NoticePageReqVO; -import com.win.module.system.controller.admin.notice.vo.NoticeUpdateReqVO; +import com.win.module.system.controller.notice.vo.NoticeCreateReqVO; +import com.win.module.system.controller.notice.vo.NoticePageReqVO; +import com.win.module.system.controller.notice.vo.NoticeUpdateReqVO; import com.win.module.system.convert.notice.NoticeConvert; import com.win.module.system.dal.dataobject.notice.NoticeDO; import com.win.module.system.dal.mysql.notice.NoticeMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyMessageService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyMessageService.java index dfabde9d..73146517 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyMessageService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyMessageService.java @@ -1,8 +1,8 @@ package com.win.module.system.service.notify; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessageMyPageReqVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessagePageReqVO; import com.win.module.system.dal.dataobject.notify.NotifyMessageDO; import com.win.module.system.dal.dataobject.notify.NotifyTemplateDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyMessageServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyMessageServiceImpl.java index 82e7f33e..0023ded2 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyMessageServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyMessageServiceImpl.java @@ -1,8 +1,8 @@ package com.win.module.system.service.notify; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO; -import com.win.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessageMyPageReqVO; +import com.win.module.system.controller.notify.vo.message.NotifyMessagePageReqVO; import com.win.module.system.dal.dataobject.notify.NotifyMessageDO; import com.win.module.system.dal.dataobject.notify.NotifyTemplateDO; import com.win.module.system.dal.mysql.notify.NotifyMessageMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyTemplateService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyTemplateService.java index e25c311e..ff99ae1e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyTemplateService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyTemplateService.java @@ -1,9 +1,9 @@ package com.win.module.system.service.notify; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplateCreateReqVO; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplatePageReqVO; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplateUpdateReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplateCreateReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplatePageReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplateUpdateReqVO; import com.win.module.system.dal.dataobject.notify.NotifyTemplateDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyTemplateServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyTemplateServiceImpl.java index 7a3d507e..6a5edb25 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyTemplateServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/notify/NotifyTemplateServiceImpl.java @@ -3,9 +3,9 @@ package com.win.module.system.service.notify; import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplateCreateReqVO; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplatePageReqVO; -import com.win.module.system.controller.admin.notify.vo.template.NotifyTemplateUpdateReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplateCreateReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplatePageReqVO; +import com.win.module.system.controller.notify.vo.template.NotifyTemplateUpdateReqVO; import com.win.module.system.convert.notify.NotifyTemplateConvert; import com.win.module.system.dal.dataobject.notify.NotifyTemplateDO; import com.win.module.system.dal.mysql.notify.NotifyTemplateMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2ClientService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2ClientService.java index 8a3bddd3..1dd2da82 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2ClientService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2ClientService.java @@ -1,9 +1,9 @@ package com.win.module.system.service.oauth2; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientCreateReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientPageReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientUpdateReqVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2ClientServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2ClientServiceImpl.java index 1e89141c..608ee9ea 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2ClientServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2ClientServiceImpl.java @@ -7,9 +7,9 @@ import cn.hutool.extra.spring.SpringUtil; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.string.StrUtils; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; -import com.win.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientCreateReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientPageReqVO; +import com.win.module.system.controller.oauth2.vo.client.OAuth2ClientUpdateReqVO; import com.win.module.system.convert.auth.OAuth2ClientConvert; import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; import com.win.module.system.dal.mysql.oauth2.OAuth2ClientMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2TokenService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2TokenService.java index 8ceed979..3798af3e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2TokenService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2TokenService.java @@ -1,7 +1,7 @@ package com.win.module.system.service.oauth2; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; +import com.win.module.system.controller.oauth2.vo.token.OAuth2AccessTokenPageReqVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; import java.util.List; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2TokenServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2TokenServiceImpl.java index 99a25dd9..16414132 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2TokenServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/oauth2/OAuth2TokenServiceImpl.java @@ -7,7 +7,7 @@ import com.win.framework.common.exception.enums.GlobalErrorCodeConstants; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.date.DateUtils; import com.win.framework.tenant.core.context.TenantContextHolder; -import com.win.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; +import com.win.module.system.controller.oauth2.vo.token.OAuth2AccessTokenPageReqVO; import com.win.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; import com.win.module.system.dal.dataobject.oauth2.OAuth2ClientDO; import com.win.module.system.dal.dataobject.oauth2.OAuth2RefreshTokenDO; @@ -19,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.Calendar; import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception0; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/MenuService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/MenuService.java index 49bd5751..365de80a 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/MenuService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/MenuService.java @@ -1,8 +1,8 @@ package com.win.module.system.service.permission; -import com.win.module.system.controller.admin.permission.vo.menu.MenuCreateReqVO; -import com.win.module.system.controller.admin.permission.vo.menu.MenuListReqVO; -import com.win.module.system.controller.admin.permission.vo.menu.MenuUpdateReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuCreateReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuListReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuUpdateReqVO; import com.win.module.system.dal.dataobject.permission.MenuDO; import java.util.Collection; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/MenuServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/MenuServiceImpl.java index a018c7ea..9b47054e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/MenuServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/MenuServiceImpl.java @@ -1,9 +1,9 @@ package com.win.module.system.service.permission; import cn.hutool.core.collection.CollUtil; -import com.win.module.system.controller.admin.permission.vo.menu.MenuCreateReqVO; -import com.win.module.system.controller.admin.permission.vo.menu.MenuListReqVO; -import com.win.module.system.controller.admin.permission.vo.menu.MenuUpdateReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuCreateReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuListReqVO; +import com.win.module.system.controller.permission.vo.menu.MenuUpdateReqVO; import com.win.module.system.convert.permission.MenuConvert; import com.win.module.system.dal.dataobject.permission.MenuDO; import com.win.module.system.dal.mysql.permission.MenuMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/RoleService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/RoleService.java index 6f7d269d..b9c2b223 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/RoleService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/RoleService.java @@ -1,10 +1,10 @@ package com.win.module.system.service.permission; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.permission.vo.role.RoleCreateReqVO; -import com.win.module.system.controller.admin.permission.vo.role.RoleExportReqVO; -import com.win.module.system.controller.admin.permission.vo.role.RolePageReqVO; -import com.win.module.system.controller.admin.permission.vo.role.RoleUpdateReqVO; +import com.win.module.system.controller.permission.vo.role.RoleCreateReqVO; +import com.win.module.system.controller.permission.vo.role.RoleExportReqVO; +import com.win.module.system.controller.permission.vo.role.RolePageReqVO; +import com.win.module.system.controller.permission.vo.role.RoleUpdateReqVO; import com.win.module.system.dal.dataobject.permission.RoleDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/RoleServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/RoleServiceImpl.java index 40948d43..c62f44cd 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/RoleServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/RoleServiceImpl.java @@ -6,10 +6,10 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.permission.vo.role.RoleCreateReqVO; -import com.win.module.system.controller.admin.permission.vo.role.RoleExportReqVO; -import com.win.module.system.controller.admin.permission.vo.role.RolePageReqVO; -import com.win.module.system.controller.admin.permission.vo.role.RoleUpdateReqVO; +import com.win.module.system.controller.permission.vo.role.RoleCreateReqVO; +import com.win.module.system.controller.permission.vo.role.RoleExportReqVO; +import com.win.module.system.controller.permission.vo.role.RolePageReqVO; +import com.win.module.system.controller.permission.vo.role.RoleUpdateReqVO; import com.win.module.system.convert.permission.RoleConvert; import com.win.module.system.dal.dataobject.permission.RoleDO; import com.win.module.system.dal.mysql.permission.RoleMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sensitiveword/SensitiveWordService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sensitiveword/SensitiveWordService.java index 69937ffa..0654748c 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sensitiveword/SensitiveWordService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sensitiveword/SensitiveWordService.java @@ -1,10 +1,10 @@ package com.win.module.system.service.sensitiveword; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordCreateReqVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordExportReqVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordPageReqVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordUpdateReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordCreateReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordExportReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordPageReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordUpdateReqVO; import com.win.module.system.dal.dataobject.sensitiveword.SensitiveWordDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sensitiveword/SensitiveWordServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sensitiveword/SensitiveWordServiceImpl.java index c8b04fcc..e9c71be8 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sensitiveword/SensitiveWordServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sensitiveword/SensitiveWordServiceImpl.java @@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordCreateReqVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordExportReqVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordPageReqVO; -import com.win.module.system.controller.admin.sensitiveword.vo.SensitiveWordUpdateReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordCreateReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordExportReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordPageReqVO; +import com.win.module.system.controller.sensitiveword.vo.SensitiveWordUpdateReqVO; import com.win.module.system.convert.sensitiveword.SensitiveWordConvert; import com.win.module.system.dal.dataobject.sensitiveword.SensitiveWordDO; import com.win.module.system.dal.mysql.sensitiveword.SensitiveWordMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberService.java index 69a95d8e..0ae7009e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberService.java @@ -1,10 +1,10 @@ package com.win.module.system.service.serialnumber; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberCreateReqVO; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberExportReqVO; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberPageReqVO; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberUpdateReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberCreateReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberExportReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberPageReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberUpdateReqVO; import com.win.module.system.dal.dataobject.serialnumber.SerialNumberDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberServiceImpl.java index 2f6050e2..b2ec6db0 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberServiceImpl.java @@ -3,10 +3,10 @@ package com.win.module.system.service.serialnumber; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.PageResult; import com.win.framework.redis.util.RedisCache; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberCreateReqVO; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberExportReqVO; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberPageReqVO; -import com.win.module.system.controller.admin.serialnumber.vo.SerialNumberUpdateReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberCreateReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberExportReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberPageReqVO; +import com.win.module.system.controller.serialnumber.vo.SerialNumberUpdateReqVO; import com.win.module.system.convert.serialnumber.SerialNumberConvert; import com.win.module.system.dal.dataobject.serialnumber.SerialNumberDO; import com.win.module.system.dal.mysql.serialnumber.SerialNumberMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsChannelService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsChannelService.java index b7ecab6f..a0bd2e1f 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsChannelService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsChannelService.java @@ -2,9 +2,9 @@ package com.win.module.system.service.sms; import com.win.framework.common.pojo.PageResult; import com.win.framework.sms.core.client.SmsClient; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelCreateReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelPageReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelUpdateReqVO; import com.win.module.system.dal.dataobject.sms.SmsChannelDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsChannelServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsChannelServiceImpl.java index 310585f0..cd07eec8 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsChannelServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsChannelServiceImpl.java @@ -5,9 +5,9 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.sms.core.client.SmsClient; import com.win.framework.sms.core.client.SmsClientFactory; import com.win.framework.sms.core.property.SmsChannelProperties; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO; -import com.win.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelCreateReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelPageReqVO; +import com.win.module.system.controller.sms.vo.channel.SmsChannelUpdateReqVO; import com.win.module.system.convert.sms.SmsChannelConvert; import com.win.module.system.dal.dataobject.sms.SmsChannelDO; import com.win.module.system.dal.mysql.sms.SmsChannelMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsLogService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsLogService.java index d58bac82..864c11f2 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsLogService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsLogService.java @@ -1,7 +1,7 @@ package com.win.module.system.service.sms; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogExportReqVO; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogPageReqVO; +import com.win.module.system.controller.sms.vo.log.SmsLogExportReqVO; +import com.win.module.system.controller.sms.vo.log.SmsLogPageReqVO; import com.win.module.system.dal.dataobject.sms.SmsLogDO; import com.win.framework.common.pojo.PageResult; import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsLogServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsLogServiceImpl.java index 6cfac44d..eb19a9c6 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsLogServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsLogServiceImpl.java @@ -1,8 +1,8 @@ package com.win.module.system.service.sms; import com.win.framework.common.pojo.CommonResult; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogExportReqVO; -import com.win.module.system.controller.admin.sms.vo.log.SmsLogPageReqVO; +import com.win.module.system.controller.sms.vo.log.SmsLogExportReqVO; +import com.win.module.system.controller.sms.vo.log.SmsLogPageReqVO; import com.win.module.system.dal.dataobject.sms.SmsLogDO; import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; import com.win.module.system.dal.mysql.sms.SmsLogMapper; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsTemplateService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsTemplateService.java index 82708bf9..eeb9d6b4 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsTemplateService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsTemplateService.java @@ -1,9 +1,9 @@ package com.win.module.system.service.sms; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateCreateReqVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateExportReqVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplatePageReqVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateUpdateReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateCreateReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateExportReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplatePageReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateUpdateReqVO; import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsTemplateServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsTemplateServiceImpl.java index b7d23d79..300d6ca9 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsTemplateServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsTemplateServiceImpl.java @@ -8,10 +8,10 @@ import com.win.framework.sms.core.client.SmsClient; import com.win.framework.sms.core.client.SmsClientFactory; import com.win.framework.sms.core.client.SmsCommonResult; import com.win.framework.sms.core.client.dto.SmsTemplateRespDTO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateCreateReqVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateExportReqVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplatePageReqVO; -import com.win.module.system.controller.admin.sms.vo.template.SmsTemplateUpdateReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateCreateReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateExportReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplatePageReqVO; +import com.win.module.system.controller.sms.vo.template.SmsTemplateUpdateReqVO; import com.win.module.system.convert.sms.SmsTemplateConvert; import com.win.module.system.dal.dataobject.sms.SmsChannelDO; import com.win.module.system.dal.dataobject.sms.SmsTemplateDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantPackageService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantPackageService.java index 9bfe5114..e2865900 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantPackageService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantPackageService.java @@ -1,9 +1,9 @@ package com.win.module.system.service.tenant; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackageCreateReqVO; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackageUpdateReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackageCreateReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackagePageReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackageUpdateReqVO; import com.win.module.system.dal.dataobject.tenant.TenantPackageDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantPackageServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantPackageServiceImpl.java index 449b27cf..222c89e7 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantPackageServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantPackageServiceImpl.java @@ -3,9 +3,9 @@ package com.win.module.system.service.tenant; import cn.hutool.core.collection.CollUtil; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageResult; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackageCreateReqVO; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO; -import com.win.module.system.controller.admin.tenant.vo.packages.TenantPackageUpdateReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackageCreateReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackagePageReqVO; +import com.win.module.system.controller.tenant.vo.packages.TenantPackageUpdateReqVO; import com.win.module.system.convert.tenant.TenantPackageConvert; import com.win.module.system.dal.dataobject.tenant.TenantDO; import com.win.module.system.dal.dataobject.tenant.TenantPackageDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantService.java index 1f6580bd..de4966a0 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantService.java @@ -2,10 +2,10 @@ package com.win.module.system.service.tenant; import com.win.framework.common.pojo.PageResult; import com.win.framework.tenant.core.context.TenantContextHolder; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantCreateReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantExportReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantUpdateReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantCreateReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantExportReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantPageReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantUpdateReqVO; import com.win.module.system.dal.dataobject.tenant.TenantDO; import com.win.module.system.service.tenant.handler.TenantInfoHandler; import com.win.module.system.service.tenant.handler.TenantMenuHandler; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantServiceImpl.java index a3a890b0..c11b631d 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/tenant/TenantServiceImpl.java @@ -10,11 +10,11 @@ import com.win.framework.common.util.date.DateUtils; import com.win.framework.tenant.config.TenantProperties; import com.win.framework.tenant.core.context.TenantContextHolder; import com.win.framework.tenant.core.util.TenantUtils; -import com.win.module.system.controller.admin.permission.vo.role.RoleCreateReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantCreateReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantExportReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO; -import com.win.module.system.controller.admin.tenant.vo.tenant.TenantUpdateReqVO; +import com.win.module.system.controller.permission.vo.role.RoleCreateReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantCreateReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantExportReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantPageReqVO; +import com.win.module.system.controller.tenant.vo.tenant.TenantUpdateReqVO; import com.win.module.system.convert.tenant.TenantConvert; import com.win.module.system.dal.dataobject.permission.MenuDO; import com.win.module.system.dal.dataobject.permission.RoleDO; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserService.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserService.java index 48f77282..cbfe7c6f 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserService.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserService.java @@ -2,10 +2,10 @@ package com.win.module.system.service.user; import cn.hutool.core.collection.CollUtil; import com.win.framework.common.util.collection.CollectionUtils; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; -import com.win.module.system.controller.admin.user.vo.user.*; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdatePasswordReqVO; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdateReqVO; import com.win.framework.common.pojo.PageResult; +import com.win.module.system.controller.user.vo.user.*; import com.win.module.system.dal.dataobject.user.AdminUserDO; import javax.validation.Valid; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java index 691483d0..54e9760e 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/user/AdminUserServiceImpl.java @@ -10,9 +10,9 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.datapermission.core.util.DataPermissionUtils; import com.win.module.infra.api.file.FileApi; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; -import com.win.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; -import com.win.module.system.controller.admin.user.vo.user.*; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdatePasswordReqVO; +import com.win.module.system.controller.user.vo.profile.UserProfileUpdateReqVO; +import com.win.module.system.controller.user.vo.user.*; import com.win.module.system.convert.user.UserConvert; import com.win.module.system.dal.dataobject.dept.DeptDO; import com.win.module.system.dal.dataobject.dept.UserPostDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java new file mode 100644 index 00000000..f9d1a076 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.accountcalendar; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.accountcalendar.vo.*; +import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert; +import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; +import com.win.module.wms.service.accountcalendar.AccountcalendarService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 账期日历") +@RestController +@RequestMapping("/wms/accountcalendar") +@Validated +public class AccountcalendarController { + + @Resource + private AccountcalendarService accountcalendarService; + + @PostMapping("/create") + @Operation(summary = "创建账期日历") + @PreAuthorize("@ss.hasPermission('wms:accountcalendar:create')") + public CommonResult createAccountcalendar(@Valid @RequestBody AccountcalendarCreateReqVO createReqVO) { + return success(accountcalendarService.createAccountcalendar(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新账期日历") + @PreAuthorize("@ss.hasPermission('wms:accountcalendar:update')") + public CommonResult updateAccountcalendar(@Valid @RequestBody AccountcalendarUpdateReqVO updateReqVO) { + accountcalendarService.updateAccountcalendar(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除账期日历") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:accountcalendar:delete')") + public CommonResult deleteAccountcalendar(@RequestParam("id") Long id) { + accountcalendarService.deleteAccountcalendar(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得账期日历") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:accountcalendar:query')") + public CommonResult getAccountcalendar(@RequestParam("id") Long id) { + AccountcalendarDO accountcalendar = accountcalendarService.getAccountcalendar(id); + return success(AccountcalendarConvert.INSTANCE.convert(accountcalendar)); + } + + @GetMapping("/list") + @Operation(summary = "获得账期日历列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:accountcalendar:query')") + public CommonResult> getAccountcalendarList(@RequestParam("ids") Collection ids) { + List list = accountcalendarService.getAccountcalendarList(ids); + return success(AccountcalendarConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得账期日历分页") + @PreAuthorize("@ss.hasPermission('wms:accountcalendar:query')") + public CommonResult> getAccountcalendarPage(@Valid AccountcalendarPageReqVO pageVO) { + PageResult pageResult = accountcalendarService.getAccountcalendarPage(pageVO); + return success(AccountcalendarConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出账期日历 Excel") + @PreAuthorize("@ss.hasPermission('wms:accountcalendar:export')") + @OperateLog(type = EXPORT) + public void exportAccountcalendarExcel(@Valid AccountcalendarExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = accountcalendarService.getAccountcalendarList(exportReqVO); + // 导出 Excel + List datas = AccountcalendarConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "账期日历.xls", "数据", AccountcalendarExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarBaseVO.java new file mode 100644 index 00000000..4784a93b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarBaseVO.java @@ -0,0 +1,63 @@ +package com.win.module.wms.controller.accountcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 账期日历 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class AccountcalendarBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "年", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "年不能为空") + private String year; + + @Schema(description = "月", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "月不能为空") + private String month; + + @Schema(description = "描述") + private String descriiption; + + @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "开始时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime beginTime; + + @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "结束时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime endTime; + + @Schema(description = "转换生效时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "转换生效时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime converttotime; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarCreateReqVO.java new file mode 100644 index 00000000..39f21363 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.accountcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 账期日历创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AccountcalendarCreateReqVO extends AccountcalendarBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarExcelVO.java new file mode 100644 index 00000000..bb631f7e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarExcelVO.java @@ -0,0 +1,56 @@ +package com.win.module.wms.controller.accountcalendar.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 账期日历 Excel VO + * + * @author 超级管理员 + */ +@Data +public class AccountcalendarExcelVO { + + @ExcelProperty("年") + private String year; + + @ExcelProperty("月") + private String month; + + @ExcelProperty("描述") + private String descriiption; + + @ExcelProperty("开始时间") + private LocalDateTime beginTime; + + @ExcelProperty("结束时间") + private LocalDateTime endTime; + + @ExcelProperty("转换生效时间") + private LocalDateTime converttotime; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creatorId; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarExportReqVO.java new file mode 100644 index 00000000..2dd17954 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarExportReqVO.java @@ -0,0 +1,57 @@ +package com.win.module.wms.controller.accountcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 账期日历 Excel 导出 Request VO,参数和 AccountcalendarPageReqVO 是一致的") +@Data +public class AccountcalendarExportReqVO { + + @Schema(description = "年") + private String year; + + @Schema(description = "月") + private String month; + + @Schema(description = "描述") + private String descriiption; + + @Schema(description = "开始时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] beginTime; + + @Schema(description = "结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] endTime; + + @Schema(description = "转换生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] converttotime; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creatorId; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarPageReqVO.java new file mode 100644 index 00000000..6c864e85 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarPageReqVO.java @@ -0,0 +1,62 @@ +package com.win.module.wms.controller.accountcalendar.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 账期日历分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AccountcalendarPageReqVO extends PageParam { + + @Schema(description = "年") + private String year; + + @Schema(description = "月") + private String month; + + @Schema(description = "描述") + private String descriiption; + + @Schema(description = "开始时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] beginTime; + + @Schema(description = "结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] endTime; + + @Schema(description = "转换生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] converttotime; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creatorId; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarRespVO.java new file mode 100644 index 00000000..709fe949 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.accountcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 账期日历 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AccountcalendarRespVO extends AccountcalendarBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creatorId; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarUpdateReqVO.java new file mode 100644 index 00000000..c4e6ea2d --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.accountcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 账期日历更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AccountcalendarUpdateReqVO extends AccountcalendarBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/AccountcalendarController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/AccountcalendarController.java deleted file mode 100644 index a5276d16..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/AccountcalendarController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.accountcalendar; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.accountcalendar.vo.*; -import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert; -import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; -import com.win.module.wms.service.accountcalendar.AccountcalendarService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 账期日历") -@RestController -@RequestMapping("/wms/accountcalendar") -@Validated -public class AccountcalendarController { - - @Resource - private AccountcalendarService accountcalendarService; - - @PostMapping("/create") - @Operation(summary = "创建账期日历") - @PreAuthorize("@ss.hasPermission('wms:accountcalendar:create')") - public CommonResult createAccountcalendar(@Valid @RequestBody AccountcalendarCreateReqVO createReqVO) { - return success(accountcalendarService.createAccountcalendar(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新账期日历") - @PreAuthorize("@ss.hasPermission('wms:accountcalendar:update')") - public CommonResult updateAccountcalendar(@Valid @RequestBody AccountcalendarUpdateReqVO updateReqVO) { - accountcalendarService.updateAccountcalendar(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除账期日历") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:accountcalendar:delete')") - public CommonResult deleteAccountcalendar(@RequestParam("id") Long id) { - accountcalendarService.deleteAccountcalendar(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得账期日历") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:accountcalendar:query')") - public CommonResult getAccountcalendar(@RequestParam("id") Long id) { - AccountcalendarDO accountcalendar = accountcalendarService.getAccountcalendar(id); - return success(AccountcalendarConvert.INSTANCE.convert(accountcalendar)); - } - - @GetMapping("/list") - @Operation(summary = "获得账期日历列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:accountcalendar:query')") - public CommonResult> getAccountcalendarList(@RequestParam("ids") Collection ids) { - List list = accountcalendarService.getAccountcalendarList(ids); - return success(AccountcalendarConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得账期日历分页") - @PreAuthorize("@ss.hasPermission('wms:accountcalendar:query')") - public CommonResult> getAccountcalendarPage(@Valid AccountcalendarPageReqVO pageVO) { - PageResult pageResult = accountcalendarService.getAccountcalendarPage(pageVO); - return success(AccountcalendarConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出账期日历 Excel") - @PreAuthorize("@ss.hasPermission('wms:accountcalendar:export')") - @OperateLog(type = EXPORT) - public void exportAccountcalendarExcel(@Valid AccountcalendarExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = accountcalendarService.getAccountcalendarList(exportReqVO); - // 导出 Excel - List datas = AccountcalendarConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "账期日历.xls", "数据", AccountcalendarExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarBaseVO.java deleted file mode 100644 index afcfbc8b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarBaseVO.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.win.module.wms.controller.admin.accountcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 账期日历 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class AccountcalendarBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "年", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "年不能为空") - private String year; - - @Schema(description = "月", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "月不能为空") - private String month; - - @Schema(description = "描述") - private String descriiption; - - @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "开始时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime beginTime; - - @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "结束时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime endTime; - - @Schema(description = "转换生效时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "转换生效时间不能为空") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime converttotime; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarCreateReqVO.java deleted file mode 100644 index 675632c9..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.accountcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 账期日历创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class AccountcalendarCreateReqVO extends AccountcalendarBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarExcelVO.java deleted file mode 100644 index b216466b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarExcelVO.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.win.module.wms.controller.admin.accountcalendar.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 账期日历 Excel VO - * - * @author 超级管理员 - */ -@Data -public class AccountcalendarExcelVO { - - @ExcelProperty("年") - private String year; - - @ExcelProperty("月") - private String month; - - @ExcelProperty("描述") - private String descriiption; - - @ExcelProperty("开始时间") - private LocalDateTime beginTime; - - @ExcelProperty("结束时间") - private LocalDateTime endTime; - - @ExcelProperty("转换生效时间") - private LocalDateTime converttotime; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creatorId; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarExportReqVO.java deleted file mode 100644 index e674d655..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarExportReqVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.win.module.wms.controller.admin.accountcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 账期日历 Excel 导出 Request VO,参数和 AccountcalendarPageReqVO 是一致的") -@Data -public class AccountcalendarExportReqVO { - - @Schema(description = "年") - private String year; - - @Schema(description = "月") - private String month; - - @Schema(description = "描述") - private String descriiption; - - @Schema(description = "开始时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] beginTime; - - @Schema(description = "结束时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] endTime; - - @Schema(description = "转换生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] converttotime; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creatorId; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarPageReqVO.java deleted file mode 100644 index 77961147..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarPageReqVO.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.win.module.wms.controller.admin.accountcalendar.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 账期日历分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class AccountcalendarPageReqVO extends PageParam { - - @Schema(description = "年") - private String year; - - @Schema(description = "月") - private String month; - - @Schema(description = "描述") - private String descriiption; - - @Schema(description = "开始时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] beginTime; - - @Schema(description = "结束时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] endTime; - - @Schema(description = "转换生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] converttotime; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creatorId; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarRespVO.java deleted file mode 100644 index ea3b866a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.accountcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 账期日历 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class AccountcalendarRespVO extends AccountcalendarBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creatorId; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarUpdateReqVO.java deleted file mode 100644 index 540eb557..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/accountcalendar/vo/AccountcalendarUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.accountcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 账期日历更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class AccountcalendarUpdateReqVO extends AccountcalendarBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/AreabasicController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/AreabasicController.java deleted file mode 100644 index fee44f56..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/AreabasicController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.areabasic; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.areabasic.vo.*; -import com.win.module.wms.convert.areabasic.AreabasicConvert; -import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO; -import com.win.module.wms.service.areabasic.AreabasicService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 库区") -@RestController -@RequestMapping("/wms/areabasic") -@Validated -public class AreabasicController { - - @Resource - private AreabasicService areabasicService; - - @PostMapping("/create") - @Operation(summary = "创建库区") - @PreAuthorize("@ss.hasPermission('wms:areabasic:create')") - public CommonResult createAreabasic(@Valid @RequestBody AreabasicCreateReqVO createReqVO) { - return success(areabasicService.createAreabasic(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新库区") - @PreAuthorize("@ss.hasPermission('wms:areabasic:update')") - public CommonResult updateAreabasic(@Valid @RequestBody AreabasicUpdateReqVO updateReqVO) { - areabasicService.updateAreabasic(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除库区") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:areabasic:delete')") - public CommonResult deleteAreabasic(@RequestParam("id") Long id) { - areabasicService.deleteAreabasic(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得库区") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:areabasic:query')") - public CommonResult getAreabasic(@RequestParam("id") Long id) { - AreabasicDO areabasic = areabasicService.getAreabasic(id); - return success(AreabasicConvert.INSTANCE.convert(areabasic)); - } - - @GetMapping("/list") - @Operation(summary = "获得库区列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:areabasic:query')") - public CommonResult> getAreabasicList(@RequestParam("ids") Collection ids) { - List list = areabasicService.getAreabasicList(ids); - return success(AreabasicConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得库区分页") - @PreAuthorize("@ss.hasPermission('wms:areabasic:query')") - public CommonResult> getAreabasicPage(@Valid AreabasicPageReqVO pageVO) { - PageResult pageResult = areabasicService.getAreabasicPage(pageVO); - return success(AreabasicConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出库区 Excel") - @PreAuthorize("@ss.hasPermission('wms:areabasic:export')") - @OperateLog(type = EXPORT) - public void exportAreabasicExcel(@Valid AreabasicExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = areabasicService.getAreabasicList(exportReqVO); - // 导出 Excel - List datas = AreabasicConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "库区.xls", "数据", AreabasicExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicBaseVO.java deleted file mode 100644 index bf6af55c..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicBaseVO.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.win.module.wms.controller.admin.areabasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 库区 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class AreabasicBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "仓库代码不能为空") - private String warehouseCode; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否是功能区", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否是功能区不能为空") - private Integer isFunctional; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicCreateReqVO.java deleted file mode 100644 index a1bc11d9..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.areabasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 库区创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class AreabasicCreateReqVO extends AreabasicBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicExcelVO.java deleted file mode 100644 index 99306f70..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicExcelVO.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.win.module.wms.controller.admin.areabasic.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 库区 Excel VO - * - * @author 超级管理员 - */ -@Data -public class AreabasicExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty("仓库代码") - private String warehouseCode; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("area_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty(value = "是否是功能区", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer isFunctional; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicExportReqVO.java deleted file mode 100644 index c9c8fbad..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicExportReqVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.wms.controller.admin.areabasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 库区 Excel 导出 Request VO,参数和 AreabasicPageReqVO 是一致的") -@Data -public class AreabasicExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码") - private String warehouseCode; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否是功能区") - private Integer isFunctional; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicPageReqVO.java deleted file mode 100644 index 894b6854..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicPageReqVO.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.win.module.wms.controller.admin.areabasic.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 库区分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class AreabasicPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码") - private String warehouseCode; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否是功能区") - private Integer isFunctional; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicRespVO.java deleted file mode 100644 index 1137e03b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.areabasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 库区 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class AreabasicRespVO extends AreabasicBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicUpdateReqVO.java deleted file mode 100644 index 6175e697..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/areabasic/vo/AreabasicUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.areabasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 库区更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class AreabasicUpdateReqVO extends AreabasicBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/BomController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/BomController.java deleted file mode 100644 index 8e119219..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/BomController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.bom; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.bom.vo.*; -import com.win.module.wms.convert.bom.BomConvert; -import com.win.module.wms.dal.dataobject.bom.BomDO; -import com.win.module.wms.service.bom.BomService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 物料清单") -@RestController -@RequestMapping("/wms/bom") -@Validated -public class BomController { - - @Resource - private BomService bomService; - - @PostMapping("/create") - @Operation(summary = "创建物料清单") - @PreAuthorize("@ss.hasPermission('wms:bom:create')") - public CommonResult createBom(@Valid @RequestBody BomCreateReqVO createReqVO) { - return success(bomService.createBom(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新物料清单") - @PreAuthorize("@ss.hasPermission('wms:bom:update')") - public CommonResult updateBom(@Valid @RequestBody BomUpdateReqVO updateReqVO) { - bomService.updateBom(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除物料清单") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:bom:delete')") - public CommonResult deleteBom(@RequestParam("id") Long id) { - bomService.deleteBom(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得物料清单") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:bom:query')") - public CommonResult getBom(@RequestParam("id") Long id) { - BomDO bom = bomService.getBom(id); - return success(BomConvert.INSTANCE.convert(bom)); - } - - @GetMapping("/list") - @Operation(summary = "获得物料清单列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:bom:query')") - public CommonResult> getBomList(@RequestParam("ids") Collection ids) { - List list = bomService.getBomList(ids); - return success(BomConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得物料清单分页") - @PreAuthorize("@ss.hasPermission('wms:bom:query')") - public CommonResult> getBomPage(@Valid BomPageReqVO pageVO) { - PageResult pageResult = bomService.getBomPage(pageVO); - return success(BomConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出物料清单 Excel") - @PreAuthorize("@ss.hasPermission('wms:bom:export')") - @OperateLog(type = EXPORT) - public void exportBomExcel(@Valid BomExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = bomService.getBomList(exportReqVO); - // 导出 Excel - List datas = BomConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "物料清单.xls", "数据", BomExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomBaseVO.java deleted file mode 100644 index e684b7de..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomBaseVO.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.win.module.wms.controller.admin.bom.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 物料清单 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class BomBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "父物料代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "父物料代码不能为空") - private String productItemCode; - - @Schema(description = "子物料代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "子物料代码不能为空") - private String componentItemCode; - - @Schema(description = "子物料计量单位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "子物料计量单位不能为空") - private String componentUom; - - @Schema(description = "子物料数量", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "子物料数量不能为空") - private BigDecimal componentQty; - - @Schema(description = "工序代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "工序代码不能为空") - private String processCode; - - @Schema(description = "版本") - private String version; - - @Schema(description = "层级") - private Integer layer; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomCreateReqVO.java deleted file mode 100644 index 81020616..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.bom.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 物料清单创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BomCreateReqVO extends BomBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomExcelVO.java deleted file mode 100644 index 11d98ac9..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomExcelVO.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.win.module.wms.controller.admin.bom.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 物料清单 Excel VO - * - * @author 超级管理员 - */ -@Data -public class BomExcelVO { - - @ExcelProperty("父物料代码") - private String productItemCode; - - @ExcelProperty("子物料代码") - private String componentItemCode; - - @ExcelProperty(value = "子物料计量单位", converter = DictConvert.class) - @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String componentUom; - - @ExcelProperty("子物料数量") - private BigDecimal componentQty; - - @ExcelProperty("工序代码") - private String processCode; - - @ExcelProperty("版本") - private String version; - - @ExcelProperty("层级") - private Integer layer; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomExportReqVO.java deleted file mode 100644 index 93231cf2..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomExportReqVO.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.win.module.wms.controller.admin.bom.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 物料清单 Excel 导出 Request VO,参数和 BomPageReqVO 是一致的") -@Data -public class BomExportReqVO { - - @Schema(description = "父物料代码") - private String productItemCode; - - @Schema(description = "子物料代码") - private String componentItemCode; - - @Schema(description = "子物料计量单位") - private String componentUom; - - @Schema(description = "子物料数量") - private BigDecimal componentQty; - - @Schema(description = "工序代码") - private String processCode; - - @Schema(description = "版本") - private String version; - - @Schema(description = "层级") - private Integer layer; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomPageReqVO.java deleted file mode 100644 index 8aaf3ecb..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomPageReqVO.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.win.module.wms.controller.admin.bom.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 物料清单分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BomPageReqVO extends PageParam { - - @Schema(description = "父物料代码") - private String productItemCode; - - @Schema(description = "子物料代码") - private String componentItemCode; - - @Schema(description = "子物料计量单位") - private String componentUom; - - @Schema(description = "子物料数量") - private BigDecimal componentQty; - - @Schema(description = "工序代码") - private String processCode; - - @Schema(description = "版本") - private String version; - - @Schema(description = "层级") - private Integer layer; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomRespVO.java deleted file mode 100644 index 4b6ce2e8..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.bom.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 物料清单 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BomRespVO extends BomBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomUpdateReqVO.java deleted file mode 100644 index 0e6a9e84..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/bom/vo/BomUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.bom.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 物料清单更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class BomUpdateReqVO extends BomBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/CurrencyexchangeController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/CurrencyexchangeController.java deleted file mode 100644 index 42ce2f22..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/CurrencyexchangeController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.currencyexchange; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.currencyexchange.vo.*; -import com.win.module.wms.convert.currencyexchange.CurrencyexchangeConvert; -import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO; -import com.win.module.wms.service.currencyexchange.CurrencyexchangeService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 货币转换") -@RestController -@RequestMapping("/wms/currencyexchange") -@Validated -public class CurrencyexchangeController { - - @Resource - private CurrencyexchangeService currencyexchangeService; - - @PostMapping("/create") - @Operation(summary = "创建货币转换") - @PreAuthorize("@ss.hasPermission('wms:currencyexchange:create')") - public CommonResult createCurrencyexchange(@Valid @RequestBody CurrencyexchangeCreateReqVO createReqVO) { - return success(currencyexchangeService.createCurrencyexchange(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新货币转换") - @PreAuthorize("@ss.hasPermission('wms:currencyexchange:update')") - public CommonResult updateCurrencyexchange(@Valid @RequestBody CurrencyexchangeUpdateReqVO updateReqVO) { - currencyexchangeService.updateCurrencyexchange(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除货币转换") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:currencyexchange:delete')") - public CommonResult deleteCurrencyexchange(@RequestParam("id") Long id) { - currencyexchangeService.deleteCurrencyexchange(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得货币转换") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:currencyexchange:query')") - public CommonResult getCurrencyexchange(@RequestParam("id") Long id) { - CurrencyexchangeDO currencyexchange = currencyexchangeService.getCurrencyexchange(id); - return success(CurrencyexchangeConvert.INSTANCE.convert(currencyexchange)); - } - - @GetMapping("/list") - @Operation(summary = "获得货币转换列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:currencyexchange:query')") - public CommonResult> getCurrencyexchangeList(@RequestParam("ids") Collection ids) { - List list = currencyexchangeService.getCurrencyexchangeList(ids); - return success(CurrencyexchangeConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得货币转换分页") - @PreAuthorize("@ss.hasPermission('wms:currencyexchange:query')") - public CommonResult> getCurrencyexchangePage(@Valid CurrencyexchangePageReqVO pageVO) { - PageResult pageResult = currencyexchangeService.getCurrencyexchangePage(pageVO); - return success(CurrencyexchangeConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出货币转换 Excel") - @PreAuthorize("@ss.hasPermission('wms:currencyexchange:export')") - @OperateLog(type = EXPORT) - public void exportCurrencyexchangeExcel(@Valid CurrencyexchangeExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = currencyexchangeService.getCurrencyexchangeList(exportReqVO); - // 导出 Excel - List datas = CurrencyexchangeConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "货币转换.xls", "数据", CurrencyexchangeExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeBaseVO.java deleted file mode 100644 index f940b21d..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeBaseVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.win.module.wms.controller.admin.currencyexchange.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 货币转换 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class CurrencyexchangeBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "货币不能为空") - private String currency; - - @Schema(description = "基础货币", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "基础货币不能为空") - private String basiccurrency; - - @Schema(description = "比率", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "比率不能为空") - private BigDecimal rate; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeCreateReqVO.java deleted file mode 100644 index ed597ac2..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.currencyexchange.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 货币转换创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CurrencyexchangeCreateReqVO extends CurrencyexchangeBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeExcelVO.java deleted file mode 100644 index f54bca94..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeExcelVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.win.module.wms.controller.admin.currencyexchange.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 货币转换 Excel VO - * - * @author 超级管理员 - */ -@Data -public class CurrencyexchangeExcelVO { - - @ExcelProperty("货币") - private String currency; - - @ExcelProperty("基础货币") - private String basiccurrency; - - @ExcelProperty("比率") - private BigDecimal rate; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeExportReqVO.java deleted file mode 100644 index dced31f5..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeExportReqVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.win.module.wms.controller.admin.currencyexchange.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 货币转换 Excel 导出 Request VO,参数和 CurrencyexchangePageReqVO 是一致的") -@Data -public class CurrencyexchangeExportReqVO { - - @Schema(description = "货币") - private String currency; - - @Schema(description = "基础货币") - private String basiccurrency; - - @Schema(description = "比率") - private BigDecimal rate; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangePageReqVO.java deleted file mode 100644 index dc6c0178..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangePageReqVO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.win.module.wms.controller.admin.currencyexchange.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 货币转换分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CurrencyexchangePageReqVO extends PageParam { - - @Schema(description = "货币") - private String currency; - - @Schema(description = "基础货币") - private String basiccurrency; - - @Schema(description = "比率") - private BigDecimal rate; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeRespVO.java deleted file mode 100644 index 153657e8..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.currencyexchange.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 货币转换 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CurrencyexchangeRespVO extends CurrencyexchangeBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeUpdateReqVO.java deleted file mode 100644 index a541732d..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/currencyexchange/vo/CurrencyexchangeUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.currencyexchange.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 货币转换更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CurrencyexchangeUpdateReqVO extends CurrencyexchangeBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/CustomerController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/CustomerController.java deleted file mode 100644 index 2798a436..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/CustomerController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.customer; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.customer.vo.*; -import com.win.module.wms.convert.customer.CustomerConvert; -import com.win.module.wms.dal.dataobject.customer.CustomerDO; -import com.win.module.wms.service.customer.CustomerService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 客户") -@RestController -@RequestMapping("/wms/customer") -@Validated -public class CustomerController { - - @Resource - private CustomerService customerService; - - @PostMapping("/create") - @Operation(summary = "创建客户") - @PreAuthorize("@ss.hasPermission('wms:customer:create')") - public CommonResult createCustomer(@Valid @RequestBody CustomerCreateReqVO createReqVO) { - return success(customerService.createCustomer(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新客户") - @PreAuthorize("@ss.hasPermission('wms:customer:update')") - public CommonResult updateCustomer(@Valid @RequestBody CustomerUpdateReqVO updateReqVO) { - customerService.updateCustomer(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除客户") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:customer:delete')") - public CommonResult deleteCustomer(@RequestParam("id") Long id) { - customerService.deleteCustomer(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得客户") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:customer:query')") - public CommonResult getCustomer(@RequestParam("id") Long id) { - CustomerDO customer = customerService.getCustomer(id); - return success(CustomerConvert.INSTANCE.convert(customer)); - } - - @GetMapping("/list") - @Operation(summary = "获得客户列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:customer:query')") - public CommonResult> getCustomerList(@RequestParam("ids") Collection ids) { - List list = customerService.getCustomerList(ids); - return success(CustomerConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得客户分页") - @PreAuthorize("@ss.hasPermission('wms:customer:query')") - public CommonResult> getCustomerPage(@Valid CustomerPageReqVO pageVO) { - PageResult pageResult = customerService.getCustomerPage(pageVO); - return success(CustomerConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出客户 Excel") - @PreAuthorize("@ss.hasPermission('wms:customer:export')") - @OperateLog(type = EXPORT) - public void exportCustomerExcel(@Valid CustomerExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = customerService.getCustomerList(exportReqVO); - // 导出 Excel - List datas = CustomerConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "客户.xls", "数据", CustomerExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerBaseVO.java deleted file mode 100644 index fdee3570..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerBaseVO.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.win.module.wms.controller.admin.customer.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 客户 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class CustomerBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "简称", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "简称不能为空") - private String shortName; - - @Schema(description = "地址") - private String address; - - @Schema(description = "国家") - private String country; - - @Schema(description = "城市") - private String city; - - @Schema(description = "电话") - private String phone; - - @Schema(description = "传真") - private String fax; - - @Schema(description = "邮编") - private String postId; - - @Schema(description = "联系人") - private String contacts; - - @Schema(description = "银行") - private String bank; - - @Schema(description = "币种") - private String currency; - - @Schema(description = "税率") - private BigDecimal taxRate; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerCreateReqVO.java deleted file mode 100644 index 4d546b76..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.customer.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 客户创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomerCreateReqVO extends CustomerBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerExcelVO.java deleted file mode 100644 index a03ac2e2..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerExcelVO.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.win.module.wms.controller.admin.customer.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 客户 Excel VO - * - * @author 超级管理员 - */ -@Data -public class CustomerExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("简称") - private String shortName; - - @ExcelProperty("地址") - private String address; - - @ExcelProperty("国家") - private String country; - - @ExcelProperty("城市") - private String city; - - @ExcelProperty("电话") - private String phone; - - @ExcelProperty("传真") - private String fax; - - @ExcelProperty("邮编") - private String postId; - - @ExcelProperty("联系人") - private String contacts; - - @ExcelProperty("银行") - private String bank; - - @ExcelProperty(value = "币种", converter = DictConvert.class) - @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String currency; - - @ExcelProperty("税率") - private BigDecimal taxRate; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("customer_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerExportReqVO.java deleted file mode 100644 index 5cb8fc7b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerExportReqVO.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.win.module.wms.controller.admin.customer.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 客户 Excel 导出 Request VO,参数和 CustomerPageReqVO 是一致的") -@Data -public class CustomerExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "简称") - private String shortName; - - @Schema(description = "地址") - private String address; - - @Schema(description = "国家") - private String country; - - @Schema(description = "城市") - private String city; - - @Schema(description = "电话") - private String phone; - - @Schema(description = "传真") - private String fax; - - @Schema(description = "邮编") - private String postId; - - @Schema(description = "联系人") - private String contacts; - - @Schema(description = "银行") - private String bank; - - @Schema(description = "币种") - private String currency; - - @Schema(description = "税率") - private BigDecimal taxRate; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerPageReqVO.java deleted file mode 100644 index dc922e4a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerPageReqVO.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.win.module.wms.controller.admin.customer.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 客户分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomerPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "简称") - private String shortName; - - @Schema(description = "地址") - private String address; - - @Schema(description = "国家") - private String country; - - @Schema(description = "城市") - private String city; - - @Schema(description = "电话") - private String phone; - - @Schema(description = "传真") - private String fax; - - @Schema(description = "邮编") - private String postId; - - @Schema(description = "联系人") - private String contacts; - - @Schema(description = "银行") - private String bank; - - @Schema(description = "币种") - private String currency; - - @Schema(description = "税率") - private BigDecimal taxRate; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerRespVO.java deleted file mode 100644 index 1ab79c20..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.customer.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 客户 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomerRespVO extends CustomerBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerUpdateReqVO.java deleted file mode 100644 index 9c92531f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customer/vo/CustomerUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.customer.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 客户更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomerUpdateReqVO extends CustomerBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/CustomerdockController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/CustomerdockController.java deleted file mode 100644 index cfab27a9..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/CustomerdockController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.customerdock; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.customerdock.vo.*; -import com.win.module.wms.convert.customerdock.CustomerdockConvert; -import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO; -import com.win.module.wms.service.customerdock.CustomerdockService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 客户月台") -@RestController -@RequestMapping("/wms/customerdock") -@Validated -public class CustomerdockController { - - @Resource - private CustomerdockService customerdockService; - - @PostMapping("/create") - @Operation(summary = "创建客户月台") - @PreAuthorize("@ss.hasPermission('wms:customerdock:create')") - public CommonResult createCustomerdock(@Valid @RequestBody CustomerdockCreateReqVO createReqVO) { - return success(customerdockService.createCustomerdock(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新客户月台") - @PreAuthorize("@ss.hasPermission('wms:customerdock:update')") - public CommonResult updateCustomerdock(@Valid @RequestBody CustomerdockUpdateReqVO updateReqVO) { - customerdockService.updateCustomerdock(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除客户月台") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:customerdock:delete')") - public CommonResult deleteCustomerdock(@RequestParam("id") Long id) { - customerdockService.deleteCustomerdock(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得客户月台") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:customerdock:query')") - public CommonResult getCustomerdock(@RequestParam("id") Long id) { - CustomerdockDO customerdock = customerdockService.getCustomerdock(id); - return success(CustomerdockConvert.INSTANCE.convert(customerdock)); - } - - @GetMapping("/list") - @Operation(summary = "获得客户月台列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:customerdock:query')") - public CommonResult> getCustomerdockList(@RequestParam("ids") Collection ids) { - List list = customerdockService.getCustomerdockList(ids); - return success(CustomerdockConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得客户月台分页") - @PreAuthorize("@ss.hasPermission('wms:customerdock:query')") - public CommonResult> getCustomerdockPage(@Valid CustomerdockPageReqVO pageVO) { - PageResult pageResult = customerdockService.getCustomerdockPage(pageVO); - return success(CustomerdockConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出客户月台 Excel") - @PreAuthorize("@ss.hasPermission('wms:customerdock:export')") - @OperateLog(type = EXPORT) - public void exportCustomerdockExcel(@Valid CustomerdockExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = customerdockService.getCustomerdockList(exportReqVO); - // 导出 Excel - List datas = CustomerdockConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "客户月台.xls", "数据", CustomerdockExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockBaseVO.java deleted file mode 100644 index b70472a3..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockBaseVO.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.win.module.wms.controller.admin.customerdock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 客户月台 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class CustomerdockBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "城市") - private String city; - - @Schema(description = "地址") - private String address; - - @Schema(description = "联系人姓名") - private String contactPerson; - - @Schema(description = "联系人电话") - private String contactPhone; - - @Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "客户代码不能为空") - private String customerCode; - - @Schema(description = "仓库") - private String warehouseCode; - - @Schema(description = "默认库位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "默认库位不能为空") - private String defaultLocationCode; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockCreateReqVO.java deleted file mode 100644 index 96dcda5a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.customerdock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 客户月台创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomerdockCreateReqVO extends CustomerdockBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockExcelVO.java deleted file mode 100644 index b1781af7..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockExcelVO.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.win.module.wms.controller.admin.customerdock.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 客户月台 Excel VO - * - * @author 超级管理员 - */ -@Data -public class CustomerdockExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty("城市") - private String city; - - @ExcelProperty("地址") - private String address; - - @ExcelProperty("联系人姓名") - private String contactPerson; - - @ExcelProperty("联系人电话") - private String contactPhone; - - @ExcelProperty("客户代码") - private String customerCode; - - @ExcelProperty("仓库") - private String warehouseCode; - - @ExcelProperty("默认库位") - private String defaultLocationCode; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockExportReqVO.java deleted file mode 100644 index 4a720f11..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockExportReqVO.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.win.module.wms.controller.admin.customerdock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 客户月台 Excel 导出 Request VO,参数和 CustomerdockPageReqVO 是一致的") -@Data -public class CustomerdockExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "城市") - private String city; - - @Schema(description = "地址") - private String address; - - @Schema(description = "联系人姓名") - private String contactPerson; - - @Schema(description = "联系人电话") - private String contactPhone; - - @Schema(description = "客户代码") - private String customerCode; - - @Schema(description = "仓库") - private String warehouseCode; - - @Schema(description = "默认库位") - private String defaultLocationCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockPageReqVO.java deleted file mode 100644 index d4739334..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockPageReqVO.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.win.module.wms.controller.admin.customerdock.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 客户月台分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomerdockPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "城市") - private String city; - - @Schema(description = "地址") - private String address; - - @Schema(description = "联系人姓名") - private String contactPerson; - - @Schema(description = "联系人电话") - private String contactPhone; - - @Schema(description = "客户代码") - private String customerCode; - - @Schema(description = "仓库") - private String warehouseCode; - - @Schema(description = "默认库位") - private String defaultLocationCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockRespVO.java deleted file mode 100644 index 534630fe..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.customerdock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 客户月台 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomerdockRespVO extends CustomerdockBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockUpdateReqVO.java deleted file mode 100644 index 60a31751..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customerdock/vo/CustomerdockUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.customerdock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 客户月台更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomerdockUpdateReqVO extends CustomerdockBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/CustomeritemController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/CustomeritemController.java deleted file mode 100644 index 61daf639..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/CustomeritemController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.customeritem; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.customeritem.vo.*; -import com.win.module.wms.convert.customeritem.CustomeritemConvert; -import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; -import com.win.module.wms.service.customeritem.CustomeritemService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 客户物品") -@RestController -@RequestMapping("/wms/customeritem") -@Validated -public class CustomeritemController { - - @Resource - private CustomeritemService customeritemService; - - @PostMapping("/create") - @Operation(summary = "创建客户物品") - @PreAuthorize("@ss.hasPermission('wms:customeritem:create')") - public CommonResult createCustomeritem(@Valid @RequestBody CustomeritemCreateReqVO createReqVO) { - return success(customeritemService.createCustomeritem(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新客户物品") - @PreAuthorize("@ss.hasPermission('wms:customeritem:update')") - public CommonResult updateCustomeritem(@Valid @RequestBody CustomeritemUpdateReqVO updateReqVO) { - customeritemService.updateCustomeritem(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除客户物品") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:customeritem:delete')") - public CommonResult deleteCustomeritem(@RequestParam("id") Long id) { - customeritemService.deleteCustomeritem(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得客户物品") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:customeritem:query')") - public CommonResult getCustomeritem(@RequestParam("id") Long id) { - CustomeritemDO customeritem = customeritemService.getCustomeritem(id); - return success(CustomeritemConvert.INSTANCE.convert(customeritem)); - } - - @GetMapping("/list") - @Operation(summary = "获得客户物品列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:customeritem:query')") - public CommonResult> getCustomeritemList(@RequestParam("ids") Collection ids) { - List list = customeritemService.getCustomeritemList(ids); - return success(CustomeritemConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得客户物品分页") - @PreAuthorize("@ss.hasPermission('wms:customeritem:query')") - public CommonResult> getCustomeritemPage(@Valid CustomeritemPageReqVO pageVO) { - PageResult pageResult = customeritemService.getCustomeritemPage(pageVO); - return success(CustomeritemConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出客户物品 Excel") - @PreAuthorize("@ss.hasPermission('wms:customeritem:export')") - @OperateLog(type = EXPORT) - public void exportCustomeritemExcel(@Valid CustomeritemExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = customeritemService.getCustomeritemList(exportReqVO); - // 导出 Excel - List datas = CustomeritemConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "客户物品.xls", "数据", CustomeritemExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemBaseVO.java deleted file mode 100644 index bff7fceb..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemBaseVO.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.win.module.wms.controller.admin.customeritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 客户物品 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class CustomeritemBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "客户代码不能为空") - private String customerCode; - - @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物料代码不能为空") - private String itemCode; - - @Schema(description = "客户物料代码") - private String customerItemCode; - - @Schema(description = "客户计量单位") - private String cusotmerUom; - - @Schema(description = "转换率") - private BigDecimal convertRate; - - @Schema(description = "客户包装单位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "客户包装单位不能为空") - private String packUnit; - - @Schema(description = "客户包装量", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "客户包装量不能为空") - private BigDecimal packQty; - - @Schema(description = "客户替代包装单位") - private String altPackUnit; - - @Schema(description = "客户替代包装量") - private BigDecimal altPackQty; - - @Schema(description = "每器具包装数", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "每器具包装数不能为空") - private Integer packQtyOfContainer; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemCreateReqVO.java deleted file mode 100644 index b0327647..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.customeritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 客户物品创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomeritemCreateReqVO extends CustomeritemBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemExcelVO.java deleted file mode 100644 index 927c113d..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemExcelVO.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.win.module.wms.controller.admin.customeritem.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 客户物品 Excel VO - * - * @author 超级管理员 - */ -@Data -public class CustomeritemExcelVO { - - @ExcelProperty("客户代码") - private String customerCode; - - @ExcelProperty("物料代码") - private String itemCode; - - @ExcelProperty("客户物料代码") - private String customerItemCode; - - @ExcelProperty(value = "客户计量单位", converter = DictConvert.class) - @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String cusotmerUom; - - @ExcelProperty("转换率") - private BigDecimal convertRate; - - @ExcelProperty(value = "客户包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String packUnit; - - @ExcelProperty("客户包装量") - private BigDecimal packQty; - - @ExcelProperty(value = "客户替代包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String altPackUnit; - - @ExcelProperty("客户替代包装量") - private BigDecimal altPackQty; - - @ExcelProperty("每器具包装数") - private Integer packQtyOfContainer; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemExportReqVO.java deleted file mode 100644 index cf0602d9..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemExportReqVO.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.win.module.wms.controller.admin.customeritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 客户物品 Excel 导出 Request VO,参数和 CustomeritemPageReqVO 是一致的") -@Data -public class CustomeritemExportReqVO { - - @Schema(description = "客户代码") - private String customerCode; - - @Schema(description = "物料代码") - private String itemCode; - - @Schema(description = "客户物料代码") - private String customerItemCode; - - @Schema(description = "客户计量单位") - private String cusotmerUom; - - @Schema(description = "转换率") - private BigDecimal convertRate; - - @Schema(description = "客户包装单位") - private String packUnit; - - @Schema(description = "客户包装量") - private BigDecimal packQty; - - @Schema(description = "客户替代包装单位") - private String altPackUnit; - - @Schema(description = "客户替代包装量") - private BigDecimal altPackQty; - - @Schema(description = "每器具包装数") - private Integer packQtyOfContainer; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemPageReqVO.java deleted file mode 100644 index 73d5d0bf..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemPageReqVO.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.win.module.wms.controller.admin.customeritem.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 客户物品分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomeritemPageReqVO extends PageParam { - - @Schema(description = "客户代码") - private String customerCode; - - @Schema(description = "物料代码") - private String itemCode; - - @Schema(description = "客户物料代码") - private String customerItemCode; - - @Schema(description = "客户计量单位") - private String cusotmerUom; - - @Schema(description = "转换率") - private BigDecimal convertRate; - - @Schema(description = "客户包装单位") - private String packUnit; - - @Schema(description = "客户包装量") - private BigDecimal packQty; - - @Schema(description = "客户替代包装单位") - private String altPackUnit; - - @Schema(description = "客户替代包装量") - private BigDecimal altPackQty; - - @Schema(description = "每器具包装数") - private Integer packQtyOfContainer; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemRespVO.java deleted file mode 100644 index 8addaf3d..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.customeritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 客户物品 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomeritemRespVO extends CustomeritemBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemUpdateReqVO.java deleted file mode 100644 index 0bbe854b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/customeritem/vo/CustomeritemUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.customeritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 客户物品更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CustomeritemUpdateReqVO extends CustomeritemBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/DockController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/DockController.java deleted file mode 100644 index 9875e2c7..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/DockController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.dock; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.dock.vo.*; -import com.win.module.wms.convert.dock.DockConvert; -import com.win.module.wms.dal.dataobject.dock.DockDO; -import com.win.module.wms.service.dock.DockService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 月台") -@RestController -@RequestMapping("/wms/dock") -@Validated -public class DockController { - - @Resource - private DockService dockService; - - @PostMapping("/create") - @Operation(summary = "创建月台") - @PreAuthorize("@ss.hasPermission('wms:dock:create')") - public CommonResult createDock(@Valid @RequestBody DockCreateReqVO createReqVO) { - return success(dockService.createDock(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新月台") - @PreAuthorize("@ss.hasPermission('wms:dock:update')") - public CommonResult updateDock(@Valid @RequestBody DockUpdateReqVO updateReqVO) { - dockService.updateDock(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除月台") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:dock:delete')") - public CommonResult deleteDock(@RequestParam("id") Long id) { - dockService.deleteDock(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得月台") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:dock:query')") - public CommonResult getDock(@RequestParam("id") Long id) { - DockDO dock = dockService.getDock(id); - return success(DockConvert.INSTANCE.convert(dock)); - } - - @GetMapping("/list") - @Operation(summary = "获得月台列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:dock:query')") - public CommonResult> getDockList(@RequestParam("ids") Collection ids) { - List list = dockService.getDockList(ids); - return success(DockConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得月台分页") - @PreAuthorize("@ss.hasPermission('wms:dock:query')") - public CommonResult> getDockPage(@Valid DockPageReqVO pageVO) { - PageResult pageResult = dockService.getDockPage(pageVO); - return success(DockConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出月台 Excel") - @PreAuthorize("@ss.hasPermission('wms:dock:export')") - @OperateLog(type = EXPORT) - public void exportDockExcel(@Valid DockExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = dockService.getDockList(exportReqVO); - // 导出 Excel - List datas = DockConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "月台.xls", "数据", DockExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockBaseVO.java deleted file mode 100644 index 312b2e06..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockBaseVO.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.win.module.wms.controller.admin.dock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 月台 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class DockBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "城市") - private String city; - - @Schema(description = "地址") - private String address; - - @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "类型不能为空") - private String type; - - @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "仓库代码不能为空") - private String warehouseCode; - - @Schema(description = "默认库位代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "默认库位代码不能为空") - private String defaultLocationCode; - - @Schema(description = "联系人姓名") - private String contactPerson; - - @Schema(description = "联系人电话") - private String contactPhone; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockCreateReqVO.java deleted file mode 100644 index caa2a948..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.dock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 月台创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class DockCreateReqVO extends DockBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockExcelVO.java deleted file mode 100644 index aa384bdd..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockExcelVO.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.win.module.wms.controller.admin.dock.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 月台 Excel VO - * - * @author 超级管理员 - */ -@Data -public class DockExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty("城市") - private String city; - - @ExcelProperty("地址") - private String address; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("dock_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty("仓库代码") - private String warehouseCode; - - @ExcelProperty("默认库位代码") - private String defaultLocationCode; - - @ExcelProperty("联系人姓名") - private String contactPerson; - - @ExcelProperty("联系人电话") - private String contactPhone; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockExportReqVO.java deleted file mode 100644 index 44b15675..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockExportReqVO.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.win.module.wms.controller.admin.dock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 月台 Excel 导出 Request VO,参数和 DockPageReqVO 是一致的") -@Data -public class DockExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "城市") - private String city; - - @Schema(description = "地址") - private String address; - - @Schema(description = "类型") - private String type; - - @Schema(description = "仓库代码") - private String warehouseCode; - - @Schema(description = "默认库位代码") - private String defaultLocationCode; - - @Schema(description = "联系人姓名") - private String contactPerson; - - @Schema(description = "联系人电话") - private String contactPhone; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockPageReqVO.java deleted file mode 100644 index c1278722..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockPageReqVO.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.win.module.wms.controller.admin.dock.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 月台分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class DockPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "城市") - private String city; - - @Schema(description = "地址") - private String address; - - @Schema(description = "类型") - private String type; - - @Schema(description = "仓库代码") - private String warehouseCode; - - @Schema(description = "默认库位代码") - private String defaultLocationCode; - - @Schema(description = "联系人姓名") - private String contactPerson; - - @Schema(description = "联系人电话") - private String contactPhone; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockRespVO.java deleted file mode 100644 index e123a805..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.dock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 月台 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class DockRespVO extends DockBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockUpdateReqVO.java deleted file mode 100644 index 692114c3..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/dock/vo/DockUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.dock.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 月台更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class DockUpdateReqVO extends DockBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/ItembasicController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/ItembasicController.java deleted file mode 100644 index d534c3ca..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/ItembasicController.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.win.module.wms.controller.admin.itembasic; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.itembasic.vo.*; -import com.win.module.wms.convert.itembasic.ItembasicConvert; -import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; -import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper; -import com.win.module.wms.service.itembasic.ItembasicService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; -import static com.win.module.wms.enums.itembasic.ErrorCodeConstants.CODE_NOT_ONLY; - -@Tag(name = "管理后台 - 物品基本信息") -@RestController -@RequestMapping("/wms/itembasic") -@Validated -public class ItembasicController { - - @Resource - private ItembasicService itembasicService; - - @Resource - private ItembasicMapper itembasicMapper; - - @PostMapping("/create") - @Operation(summary = "创建物品基本信息") - @PreAuthorize("@ss.hasPermission('wms:itembasic:create')") - public CommonResult createItembasic(@Valid @RequestBody ItembasicCreateReqVO createReqVO) { - checkCodeOnly(createReqVO); - return success(itembasicService.createItembasic(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新物品基本信息") - @PreAuthorize("@ss.hasPermission('wms:itembasic:update')") - public CommonResult updateItembasic(@Valid @RequestBody ItembasicUpdateReqVO updateReqVO) { - checkCodeOnly(updateReqVO); - itembasicService.updateItembasic(updateReqVO); - return success(true); - } - - @Operation(summary = "校验code唯一") - public void checkCodeOnly(ItembasicBaseVO vo){ - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("code",vo.getCode()); - if(!(null == itembasicMapper.selectOne(queryWrapper))){ - ItembasicDO itembasicDO = itembasicMapper.selectOne(queryWrapper); - if(itembasicDO.getCode().equals(vo.getCode()) && !itembasicDO.getId().equals(vo.getId())){ - throw exception(CODE_NOT_ONLY); - } - } - } - - @DeleteMapping("/delete") - @Operation(summary = "删除物品基本信息") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:itembasic:delete')") - public CommonResult deleteItembasic(@RequestParam("id") Long id) { - itembasicService.deleteItembasic(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得物品基本信息") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:itembasic:query')") - public CommonResult getItembasic(@RequestParam("id") Long id) { - ItembasicDO itembasic = itembasicService.getItembasic(id); - return success(ItembasicConvert.INSTANCE.convert(itembasic)); - } - - @GetMapping("/list") - @Operation(summary = "获得物品基本信息列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:itembasic:query')") - public CommonResult> getItembasicList(@RequestParam("ids") Collection ids) { - List list = itembasicService.getItembasicList(ids); - return success(ItembasicConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得物品基本信息分页") - @PreAuthorize("@ss.hasPermission('wms:itembasic:query')") - public CommonResult> getItembasicPage(@Valid ItembasicPageReqVO pageVO) { - PageResult pageResult = itembasicService.getItembasicPage(pageVO); - return success(ItembasicConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出物品基本信息 Excel") - @PreAuthorize("@ss.hasPermission('wms:itembasic:export')") - @OperateLog(type = EXPORT) - public void exportItembasicExcel(@Valid ItembasicExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = itembasicService.getItembasicList(exportReqVO); - // 导出 Excel - List datas = ItembasicConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "物品基本信息.xls", "数据", ItembasicExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicBaseVO.java deleted file mode 100644 index 9980ffd2..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicBaseVO.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.win.module.wms.controller.admin.itembasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 物品基本信息 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class ItembasicBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称", example = "李四") - private String name; - - @Schema(description = "描述1") - private String desc1; - - @Schema(description = "描述2") - private String desc2; - - @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "状态不能为空") - private String status; - - @Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "计量单位不能为空") - private String uom; - - @Schema(description = "替代计量单位") - private String altUom; - - @Schema(description = "是否标包", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否标包不能为空") - private Integer isStdPack; - - @Schema(description = "可采购", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "可采购不能为空") - private Integer enableBuy; - - @Schema(description = "可制造", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "可制造不能为空") - private Integer enableMake; - - @Schema(description = "可委外加工", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "可委外加工不能为空") - private Integer enableOutsourcing; - - @Schema(description = "回收件", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "回收件不能为空") - private Integer isRecycled; - - @Schema(description = "虚零件", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "虚零件不能为空") - private Integer isPhantom; - - @Schema(description = "ABC类", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "ABC类不能为空") - private String abcClass; - - @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "类型不能为空") - private String type; - - @Schema(description = "种类") - private String category; - - @Schema(description = "分组") - private String itemGroup; - - @Schema(description = "颜色") - private String color; - - @Schema(description = "配置") - private String configuration; - - @Schema(description = "项目") - private String project; - - @Schema(description = "质量等级") - private String eqLevel; - - @Schema(description = "有效天数", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "有效天数不能为空") - private Integer validityDays; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注", example = "你猜") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicCreateReqVO.java deleted file mode 100644 index a1f1b0cb..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.itembasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 物品基本信息创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ItembasicCreateReqVO extends ItembasicBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicExcelVO.java deleted file mode 100644 index 2d747534..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicExcelVO.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.win.module.wms.controller.admin.itembasic.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 物品基本信息 Excel VO - * - * @author 超级管理员 - */ -@Data -public class ItembasicExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述1") - private String desc1; - - @ExcelProperty("描述2") - private String desc2; - - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat("item_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String status; - - @ExcelProperty(value = "计量单位", converter = DictConvert.class) - @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String uom; - - @ExcelProperty(value = "替代计量单位", converter = DictConvert.class) - @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String altUom; - - @ExcelProperty(value = "是否标包", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer isStdPack; - - @ExcelProperty(value = "可采购", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer enableBuy; - - @ExcelProperty(value = "可制造", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer enableMake; - - @ExcelProperty(value = "可委外加工", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer enableOutsourcing; - - @ExcelProperty(value = "回收件", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer isRecycled; - - @ExcelProperty(value = "虚零件", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer isPhantom; - - @ExcelProperty(value = "ABC类", converter = DictConvert.class) - @DictFormat("abc_class") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String abcClass; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("item_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty(value = "种类", converter = DictConvert.class) - @DictFormat("Item_category") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String category; - - @ExcelProperty(value = "分组", converter = DictConvert.class) - @DictFormat("item_group") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String itemGroup; - - @ExcelProperty(value = "颜色", converter = DictConvert.class) - @DictFormat("item_color") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String color; - - @ExcelProperty(value = "配置", converter = DictConvert.class) - @DictFormat("item_configuration") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String configuration; - - @ExcelProperty("项目") - private String project; - - @ExcelProperty(value = "质量等级", converter = DictConvert.class) - @DictFormat("eq_level") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String eqLevel; - - @ExcelProperty("有效天数") - private Integer validityDays; - - @ExcelProperty("是否可用") - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicExportReqVO.java deleted file mode 100644 index 91737367..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicExportReqVO.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.win.module.wms.controller.admin.itembasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 物品基本信息 Excel 导出 Request VO,参数和 ItembasicPageReqVO 是一致的") -@Data -public class ItembasicExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称", example = "李四") - private String name; - - @Schema(description = "描述1") - private String desc1; - - @Schema(description = "描述2") - private String desc2; - - @Schema(description = "状态", example = "2") - private String status; - - @Schema(description = "计量单位") - private String uom; - - @Schema(description = "替代计量单位") - private String altUom; - - @Schema(description = "是否标包") - private Integer isStdPack; - - @Schema(description = "可采购") - private Integer enableBuy; - - @Schema(description = "可制造") - private Integer enableMake; - - @Schema(description = "可委外加工") - private Integer enableOutsourcing; - - @Schema(description = "回收件") - private Integer isRecycled; - - @Schema(description = "虚零件") - private Integer isPhantom; - - @Schema(description = "ABC类") - private String abcClass; - - @Schema(description = "类型", example = "1") - private String type; - - @Schema(description = "种类") - private String category; - - @Schema(description = "分组") - private String itemGroup; - - @Schema(description = "颜色") - private String color; - - @Schema(description = "配置") - private String configuration; - - @Schema(description = "项目") - private String project; - - @Schema(description = "质量等级") - private String eqLevel; - - @Schema(description = "有效天数") - private Integer validityDays; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注", example = "你猜") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicPageReqVO.java deleted file mode 100644 index dcda3667..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicPageReqVO.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.win.module.wms.controller.admin.itembasic.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 物品基本信息分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ItembasicPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称", example = "李四") - private String name; - - @Schema(description = "描述1") - private String desc1; - - @Schema(description = "描述2") - private String desc2; - - @Schema(description = "状态", example = "2") - private String status; - - @Schema(description = "计量单位") - private String uom; - - @Schema(description = "替代计量单位") - private String altUom; - - @Schema(description = "是否标包") - private Integer isStdPack; - - @Schema(description = "可采购") - private Integer enableBuy; - - @Schema(description = "可制造") - private Integer enableMake; - - @Schema(description = "可委外加工") - private Integer enableOutsourcing; - - @Schema(description = "回收件") - private Integer isRecycled; - - @Schema(description = "虚零件") - private Integer isPhantom; - - @Schema(description = "ABC类") - private String abcClass; - - @Schema(description = "类型", example = "1") - private String type; - - @Schema(description = "种类") - private String category; - - @Schema(description = "分组") - private String itemGroup; - - @Schema(description = "颜色") - private String color; - - @Schema(description = "配置") - private String configuration; - - @Schema(description = "项目") - private String project; - - @Schema(description = "质量等级") - private String eqLevel; - - @Schema(description = "有效天数") - private Integer validityDays; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注", example = "你猜") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicRespVO.java deleted file mode 100644 index 0c5a16a6..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.itembasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 物品基本信息 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ItembasicRespVO extends ItembasicBaseVO { - - @Schema(description = "创建时间") - private LocalDateTime createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicUpdateReqVO.java deleted file mode 100644 index e15730fd..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.itembasic.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 物品基本信息更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ItembasicUpdateReqVO extends ItembasicBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/ItempackagingController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/ItempackagingController.java deleted file mode 100644 index 9a29583a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/ItempackagingController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.itempackaging; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.itempackaging.vo.*; -import com.win.module.wms.convert.itempackaging.ItempackagingConvert; -import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; -import com.win.module.wms.service.itempackaging.ItempackagingService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 物品包装信息 ") -@RestController -@RequestMapping("/wms/itempackaging") -@Validated -public class ItempackagingController { - - @Resource - private ItempackagingService itempackagingService; - - @PostMapping("/create") - @Operation(summary = "创建物品包装信息 ") - @PreAuthorize("@ss.hasPermission('wms:itempackaging:create')") - public CommonResult createItempackaging(@Valid @RequestBody ItempackagingCreateReqVO createReqVO) { - return success(itempackagingService.createItempackaging(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新物品包装信息 ") - @PreAuthorize("@ss.hasPermission('wms:itempackaging:update')") - public CommonResult updateItempackaging(@Valid @RequestBody ItempackagingUpdateReqVO updateReqVO) { - itempackagingService.updateItempackaging(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除物品包装信息 ") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:itempackaging:delete')") - public CommonResult deleteItempackaging(@RequestParam("id") Long id) { - itempackagingService.deleteItempackaging(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得物品包装信息 ") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:itempackaging:query')") - public CommonResult getItempackaging(@RequestParam("id") Long id) { - ItempackagingDO itempackaging = itempackagingService.getItempackaging(id); - return success(ItempackagingConvert.INSTANCE.convert(itempackaging)); - } - - @GetMapping("/list") - @Operation(summary = "获得物品包装信息 列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:itempackaging:query')") - public CommonResult> getItempackagingList(@RequestParam("ids") Collection ids) { - List list = itempackagingService.getItempackagingList(ids); - return success(ItempackagingConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得物品包装信息 分页") - @PreAuthorize("@ss.hasPermission('wms:itempackaging:query')") - public CommonResult> getItempackagingPage(@Valid ItempackagingPageReqVO pageVO) { - PageResult pageResult = itempackagingService.getItempackagingPage(pageVO); - return success(ItempackagingConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出物品包装信息 Excel") - @PreAuthorize("@ss.hasPermission('wms:itempackaging:export')") - @OperateLog(type = EXPORT) - public void exportItempackagingExcel(@Valid ItempackagingExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = itempackagingService.getItempackagingList(exportReqVO); - // 导出 Excel - List datas = ItempackagingConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "物品包装信息 .xls", "数据", ItempackagingExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingBaseVO.java deleted file mode 100644 index 56ae6b82..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingBaseVO.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.win.module.wms.controller.admin.itempackaging.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 物品包装信息 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class ItempackagingBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物品代码不能为空") - private String itemCode; - - @Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "计量单位不能为空") - private String uom; - - @Schema(description = "包装单位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "包装单位不能为空") - private String stdPackUnit; - - @Schema(description = "包装数量", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "包装数量不能为空") - private BigDecimal stdPackQty; - - @Schema(description = "替代包装单位") - private String altPackUnit1; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty1; - - @Schema(description = "替代包装单位") - private String altPackUnit2; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty2; - - @Schema(description = "替代包装单位") - private String altPackUnit3; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty3; - - @Schema(description = "替代包装单位") - private String altPackUnit4; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty4; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingCreateReqVO.java deleted file mode 100644 index 69d3c365..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.itempackaging.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 物品包装信息 创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ItempackagingCreateReqVO extends ItempackagingBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingExcelVO.java deleted file mode 100644 index a2668813..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingExcelVO.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.win.module.wms.controller.admin.itempackaging.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 物品包装信息 Excel VO - * - * @author 超级管理员 - */ -@Data -public class ItempackagingExcelVO { - - @ExcelProperty("物品代码") - private String itemCode; - - @ExcelProperty(value = "计量单位", converter = DictConvert.class) - @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String uom; - - @ExcelProperty(value = "包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String stdPackUnit; - - @ExcelProperty("包装数量") - private BigDecimal stdPackQty; - - @ExcelProperty(value = "替代包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String altPackUnit1; - - @ExcelProperty("替代包装量") - private BigDecimal altPackQty1; - - @ExcelProperty(value = "替代包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String altPackUnit2; - - @ExcelProperty("替代包装量") - private BigDecimal altPackQty2; - - @ExcelProperty(value = "替代包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String altPackUnit3; - - @ExcelProperty("替代包装量") - private BigDecimal altPackQty3; - - @ExcelProperty(value = "替代包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String altPackUnit4; - - @ExcelProperty("替代包装量") - private BigDecimal altPackQty4; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingExportReqVO.java deleted file mode 100644 index 304b9baf..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingExportReqVO.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.win.module.wms.controller.admin.itempackaging.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 物品包装信息 Excel 导出 Request VO,参数和 ItempackagingPageReqVO 是一致的") -@Data -public class ItempackagingExportReqVO { - - @Schema(description = "物品代码") - private String itemCode; - - @Schema(description = "计量单位") - private String uom; - - @Schema(description = "包装单位") - private String stdPackUnit; - - @Schema(description = "包装数量") - private BigDecimal stdPackQty; - - @Schema(description = "替代包装单位") - private String altPackUnit1; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty1; - - @Schema(description = "替代包装单位") - private String altPackUnit2; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty2; - - @Schema(description = "替代包装单位") - private String altPackUnit3; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty3; - - @Schema(description = "替代包装单位") - private String altPackUnit4; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty4; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingPageReqVO.java deleted file mode 100644 index 77413524..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingPageReqVO.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.win.module.wms.controller.admin.itempackaging.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 物品包装信息 分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ItempackagingPageReqVO extends PageParam { - - @Schema(description = "物品代码") - private String itemCode; - - @Schema(description = "计量单位") - private String uom; - - @Schema(description = "包装单位") - private String stdPackUnit; - - @Schema(description = "包装数量") - private BigDecimal stdPackQty; - - @Schema(description = "替代包装单位") - private String altPackUnit1; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty1; - - @Schema(description = "替代包装单位") - private String altPackUnit2; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty2; - - @Schema(description = "替代包装单位") - private String altPackUnit3; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty3; - - @Schema(description = "替代包装单位") - private String altPackUnit4; - - @Schema(description = "替代包装量") - private BigDecimal altPackQty4; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingRespVO.java deleted file mode 100644 index 8da2b03b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.itempackaging.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 物品包装信息 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ItempackagingRespVO extends ItempackagingBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingUpdateReqVO.java deleted file mode 100644 index 31208d07..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itempackaging/vo/ItempackagingUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.itempackaging.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 物品包装信息 更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ItempackagingUpdateReqVO extends ItempackagingBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/LocationController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/LocationController.java deleted file mode 100644 index 28983abd..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/LocationController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.location; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.location.vo.*; -import com.win.module.wms.convert.location.LocationConvert; -import com.win.module.wms.dal.dataobject.location.LocationDO; -import com.win.module.wms.service.location.LocationService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 库位") -@RestController -@RequestMapping("/wms/location") -@Validated -public class LocationController { - - @Resource - private LocationService locationService; - - @PostMapping("/create") - @Operation(summary = "创建库位") - @PreAuthorize("@ss.hasPermission('wms:location:create')") - public CommonResult createLocation(@Valid @RequestBody LocationCreateReqVO createReqVO) { - return success(locationService.createLocation(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新库位") - @PreAuthorize("@ss.hasPermission('wms:location:update')") - public CommonResult updateLocation(@Valid @RequestBody LocationUpdateReqVO updateReqVO) { - locationService.updateLocation(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除库位") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:location:delete')") - public CommonResult deleteLocation(@RequestParam("id") Long id) { - locationService.deleteLocation(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得库位") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:location:query')") - public CommonResult getLocation(@RequestParam("id") Long id) { - LocationDO location = locationService.getLocation(id); - return success(LocationConvert.INSTANCE.convert(location)); - } - - @GetMapping("/list") - @Operation(summary = "获得库位列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:location:query')") - public CommonResult> getLocationList(@RequestParam("ids") Collection ids) { - List list = locationService.getLocationList(ids); - return success(LocationConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得库位分页") - @PreAuthorize("@ss.hasPermission('wms:location:query')") - public CommonResult> getLocationPage(@Valid LocationPageReqVO pageVO) { - PageResult pageResult = locationService.getLocationPage(pageVO); - return success(LocationConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出库位 Excel") - @PreAuthorize("@ss.hasPermission('wms:location:export')") - @OperateLog(type = EXPORT) - public void exportLocationExcel(@Valid LocationExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = locationService.getLocationList(exportReqVO); - // 导出 Excel - List datas = LocationConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "库位.xls", "数据", LocationExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationBaseVO.java deleted file mode 100644 index a7f50180..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationBaseVO.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.win.module.wms.controller.admin.location.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 库位 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class LocationBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "仓库代码不能为空") - private String warehouseCode; - - @Schema(description = "区域代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "区域代码不能为空") - private String areaCode; - - @Schema(description = "库位组代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "库位组代码不能为空") - private String locationGroupCode; - - @Schema(description = "ERP库位代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "ERP库位代码不能为空") - private String erpLocationCode; - - @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "类型不能为空") - private String type; - - @Schema(description = "巷道") - private String aisle; - - @Schema(description = "货架") - private String shelf; - - @Schema(description = "行") - private Integer locationRow; - - @Schema(description = "列") - private Integer locationColum; - - @Schema(description = "拣料优先级", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "拣料优先级不能为空") - private Integer pickPriority; - - @Schema(description = "最大承重") - private BigDecimal maxWeight; - - @Schema(description = "最大面积") - private BigDecimal maxArea; - - @Schema(description = "最大体积") - private BigDecimal maxVolume; - - @Schema(description = "用户组代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "用户组代码不能为空") - private String userGroupCode; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationCreateReqVO.java deleted file mode 100644 index 753d9fff..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.location.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 库位创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LocationCreateReqVO extends LocationBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationExcelVO.java deleted file mode 100644 index 152fb865..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationExcelVO.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.win.module.wms.controller.admin.location.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 库位 Excel VO - * - * @author 超级管理员 - */ -@Data -public class LocationExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty("仓库代码") - private String warehouseCode; - - @ExcelProperty("区域代码") - private String areaCode; - - @ExcelProperty("库位组代码") - private String locationGroupCode; - - @ExcelProperty(value = "ERP库位代码", converter = DictConvert.class) - @DictFormat("erp_location") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String erpLocationCode; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty("巷道") - private String aisle; - - @ExcelProperty("货架") - private String shelf; - - @ExcelProperty("行") - private Integer locationRow; - - @ExcelProperty("列") - private Integer locationColum; - - @ExcelProperty("拣料优先级") - private Integer pickPriority; - - @ExcelProperty("最大承重") - private BigDecimal maxWeight; - - @ExcelProperty("最大面积") - private BigDecimal maxArea; - - @ExcelProperty("最大体积") - private BigDecimal maxVolume; - - @ExcelProperty("用户组代码") - private String userGroupCode; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationExportReqVO.java deleted file mode 100644 index a8de9169..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationExportReqVO.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.win.module.wms.controller.admin.location.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 库位 Excel 导出 Request VO,参数和 LocationPageReqVO 是一致的") -@Data -public class LocationExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码") - private String warehouseCode; - - @Schema(description = "区域代码") - private String areaCode; - - @Schema(description = "库位组代码") - private String locationGroupCode; - - @Schema(description = "ERP库位代码") - private String erpLocationCode; - - @Schema(description = "类型") - private String type; - - @Schema(description = "巷道") - private String aisle; - - @Schema(description = "货架") - private String shelf; - - @Schema(description = "行") - private Integer locationRow; - - @Schema(description = "列") - private Integer locationColum; - - @Schema(description = "拣料优先级") - private Integer pickPriority; - - @Schema(description = "最大承重") - private BigDecimal maxWeight; - - @Schema(description = "最大面积") - private BigDecimal maxArea; - - @Schema(description = "最大体积") - private BigDecimal maxVolume; - - @Schema(description = "用户组代码") - private String userGroupCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationPageReqVO.java deleted file mode 100644 index c661e973..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationPageReqVO.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.win.module.wms.controller.admin.location.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 库位分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LocationPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码") - private String warehouseCode; - - @Schema(description = "区域代码") - private String areaCode; - - @Schema(description = "库位组代码") - private String locationGroupCode; - - @Schema(description = "ERP库位代码") - private String erpLocationCode; - - @Schema(description = "类型") - private String type; - - @Schema(description = "巷道") - private String aisle; - - @Schema(description = "货架") - private String shelf; - - @Schema(description = "行") - private Integer locationRow; - - @Schema(description = "列") - private Integer locationColum; - - @Schema(description = "拣料优先级") - private Integer pickPriority; - - @Schema(description = "最大承重") - private BigDecimal maxWeight; - - @Schema(description = "最大面积") - private BigDecimal maxArea; - - @Schema(description = "最大体积") - private BigDecimal maxVolume; - - @Schema(description = "用户组代码") - private String userGroupCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationRespVO.java deleted file mode 100644 index 7d9447f6..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.location.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 库位 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LocationRespVO extends LocationBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationUpdateReqVO.java deleted file mode 100644 index e277182a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/location/vo/LocationUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.location.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 库位更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LocationUpdateReqVO extends LocationBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/LocationgroupController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/LocationgroupController.java deleted file mode 100644 index fbb3a822..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/LocationgroupController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.locationgroup; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.locationgroup.vo.*; -import com.win.module.wms.convert.locationgroup.LocationgroupConvert; -import com.win.module.wms.dal.dataobject.locationgroup.LocationgroupDO; -import com.win.module.wms.service.locationgroup.LocationgroupService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 库位组") -@RestController -@RequestMapping("/wms/locationgroup") -@Validated -public class LocationgroupController { - - @Resource - private LocationgroupService locationgroupService; - - @PostMapping("/create") - @Operation(summary = "创建库位组") - @PreAuthorize("@ss.hasPermission('wms:locationgroup:create')") - public CommonResult createLocationgroup(@Valid @RequestBody LocationgroupCreateReqVO createReqVO) { - return success(locationgroupService.createLocationgroup(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新库位组") - @PreAuthorize("@ss.hasPermission('wms:locationgroup:update')") - public CommonResult updateLocationgroup(@Valid @RequestBody LocationgroupUpdateReqVO updateReqVO) { - locationgroupService.updateLocationgroup(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除库位组") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:locationgroup:delete')") - public CommonResult deleteLocationgroup(@RequestParam("id") Long id) { - locationgroupService.deleteLocationgroup(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得库位组") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:locationgroup:query')") - public CommonResult getLocationgroup(@RequestParam("id") Long id) { - LocationgroupDO locationgroup = locationgroupService.getLocationgroup(id); - return success(LocationgroupConvert.INSTANCE.convert(locationgroup)); - } - - @GetMapping("/list") - @Operation(summary = "获得库位组列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:locationgroup:query')") - public CommonResult> getLocationgroupList(@RequestParam("ids") Collection ids) { - List list = locationgroupService.getLocationgroupList(ids); - return success(LocationgroupConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得库位组分页") - @PreAuthorize("@ss.hasPermission('wms:locationgroup:query')") - public CommonResult> getLocationgroupPage(@Valid LocationgroupPageReqVO pageVO) { - PageResult pageResult = locationgroupService.getLocationgroupPage(pageVO); - return success(LocationgroupConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出库位组 Excel") - @PreAuthorize("@ss.hasPermission('wms:locationgroup:export')") - @OperateLog(type = EXPORT) - public void exportLocationgroupExcel(@Valid LocationgroupExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = locationgroupService.getLocationgroupList(exportReqVO); - // 导出 Excel - List datas = LocationgroupConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "库位组.xls", "数据", LocationgroupExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupBaseVO.java deleted file mode 100644 index e6a5e891..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupBaseVO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.win.module.wms.controller.admin.locationgroup.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 库位组 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class LocationgroupBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "仓库代码不能为空") - private String warehouseCode; - - @Schema(description = "区域代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "区域代码不能为空") - private String areaCode; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupCreateReqVO.java deleted file mode 100644 index 47db4468..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.locationgroup.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 库位组创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LocationgroupCreateReqVO extends LocationgroupBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupExcelVO.java deleted file mode 100644 index 7db5f83c..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupExcelVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.win.module.wms.controller.admin.locationgroup.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 库位组 Excel VO - * - * @author 超级管理员 - */ -@Data -public class LocationgroupExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty("仓库代码") - private String warehouseCode; - - @ExcelProperty("区域代码") - private String areaCode; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupExportReqVO.java deleted file mode 100644 index 3d62a66a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupExportReqVO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.win.module.wms.controller.admin.locationgroup.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 库位组 Excel 导出 Request VO,参数和 LocationgroupPageReqVO 是一致的") -@Data -public class LocationgroupExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码") - private String warehouseCode; - - @Schema(description = "区域代码") - private String areaCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupPageReqVO.java deleted file mode 100644 index 2af1c10f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupPageReqVO.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.win.module.wms.controller.admin.locationgroup.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 库位组分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LocationgroupPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "仓库代码") - private String warehouseCode; - - @Schema(description = "区域代码") - private String areaCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupRespVO.java deleted file mode 100644 index 35128d58..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.locationgroup.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 库位组 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LocationgroupRespVO extends LocationgroupBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupUpdateReqVO.java deleted file mode 100644 index 97f953eb..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/locationgroup/vo/LocationgroupUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.locationgroup.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 库位组更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class LocationgroupUpdateReqVO extends LocationgroupBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/ProcessController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/ProcessController.java deleted file mode 100644 index b6a4454c..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/ProcessController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.process; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.process.vo.*; -import com.win.module.wms.convert.process.ProcessConvert; -import com.win.module.wms.dal.dataobject.process.ProcessDO; -import com.win.module.wms.service.process.ProcessService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 工序") -@RestController -@RequestMapping("/wms/process") -@Validated -public class ProcessController { - - @Resource - private ProcessService processService; - - @PostMapping("/create") - @Operation(summary = "创建工序") - @PreAuthorize("@ss.hasPermission('wms:process:create')") - public CommonResult createProcess(@Valid @RequestBody ProcessCreateReqVO createReqVO) { - return success(processService.createProcess(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新工序") - @PreAuthorize("@ss.hasPermission('wms:process:update')") - public CommonResult updateProcess(@Valid @RequestBody ProcessUpdateReqVO updateReqVO) { - processService.updateProcess(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除工序") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:process:delete')") - public CommonResult deleteProcess(@RequestParam("id") Long id) { - processService.deleteProcess(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得工序") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:process:query')") - public CommonResult getProcess(@RequestParam("id") Long id) { - ProcessDO process = processService.getProcess(id); - return success(ProcessConvert.INSTANCE.convert(process)); - } - - @GetMapping("/list") - @Operation(summary = "获得工序列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:process:query')") - public CommonResult> getProcessList(@RequestParam("ids") Collection ids) { - List list = processService.getProcessList(ids); - return success(ProcessConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得工序分页") - @PreAuthorize("@ss.hasPermission('wms:process:query')") - public CommonResult> getProcessPage(@Valid ProcessPageReqVO pageVO) { - PageResult pageResult = processService.getProcessPage(pageVO); - return success(ProcessConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出工序 Excel") - @PreAuthorize("@ss.hasPermission('wms:process:export')") - @OperateLog(type = EXPORT) - public void exportProcessExcel(@Valid ProcessExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = processService.getProcessList(exportReqVO); - // 导出 Excel - List datas = ProcessConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "工序.xls", "数据", ProcessExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessBaseVO.java deleted file mode 100644 index 23f39b21..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessBaseVO.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.win.module.wms.controller.admin.process.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 工序 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class ProcessBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "车间代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "车间代码不能为空") - private String workshopCode; - - @Schema(description = "生产线代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "生产线代码不能为空") - private String productionLineCode; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessCreateReqVO.java deleted file mode 100644 index 05d70c68..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.process.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 工序创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProcessCreateReqVO extends ProcessBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessExcelVO.java deleted file mode 100644 index 3c13d125..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessExcelVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.win.module.wms.controller.admin.process.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 工序 Excel VO - * - * @author 超级管理员 - */ -@Data -public class ProcessExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("process_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty("车间代码") - private String workshopCode; - - @ExcelProperty("生产线代码") - private String productionLineCode; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessExportReqVO.java deleted file mode 100644 index 09379ad7..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessExportReqVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.wms.controller.admin.process.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 工序 Excel 导出 Request VO,参数和 ProcessPageReqVO 是一致的") -@Data -public class ProcessExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "车间代码") - private String workshopCode; - - @Schema(description = "生产线代码") - private String productionLineCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessPageReqVO.java deleted file mode 100644 index 4e1cfa8f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessPageReqVO.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.win.module.wms.controller.admin.process.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 工序分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProcessPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "车间代码") - private String workshopCode; - - @Schema(description = "生产线代码") - private String productionLineCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessRespVO.java deleted file mode 100644 index 6b89fe77..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.process.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 工序 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProcessRespVO extends ProcessBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessUpdateReqVO.java deleted file mode 100644 index cddd2d68..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/process/vo/ProcessUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.process.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 工序更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProcessUpdateReqVO extends ProcessBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/ProductionlineController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/ProductionlineController.java deleted file mode 100644 index 08de8528..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/ProductionlineController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.productionline; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.productionline.vo.*; -import com.win.module.wms.convert.productionline.ProductionlineConvert; -import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; -import com.win.module.wms.service.productionline.ProductionlineService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 生产线") -@RestController -@RequestMapping("/wms/productionline") -@Validated -public class ProductionlineController { - - @Resource - private ProductionlineService productionlineService; - - @PostMapping("/create") - @Operation(summary = "创建生产线") - @PreAuthorize("@ss.hasPermission('wms:productionline:create')") - public CommonResult createProductionline(@Valid @RequestBody ProductionlineCreateReqVO createReqVO) { - return success(productionlineService.createProductionline(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新生产线") - @PreAuthorize("@ss.hasPermission('wms:productionline:update')") - public CommonResult updateProductionline(@Valid @RequestBody ProductionlineUpdateReqVO updateReqVO) { - productionlineService.updateProductionline(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除生产线") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:productionline:delete')") - public CommonResult deleteProductionline(@RequestParam("id") Long id) { - productionlineService.deleteProductionline(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得生产线") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:productionline:query')") - public CommonResult getProductionline(@RequestParam("id") Long id) { - ProductionlineDO productionline = productionlineService.getProductionline(id); - return success(ProductionlineConvert.INSTANCE.convert(productionline)); - } - - @GetMapping("/list") - @Operation(summary = "获得生产线列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:productionline:query')") - public CommonResult> getProductionlineList(@RequestParam("ids") Collection ids) { - List list = productionlineService.getProductionlineList(ids); - return success(ProductionlineConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得生产线分页") - @PreAuthorize("@ss.hasPermission('wms:productionline:query')") - public CommonResult> getProductionlinePage(@Valid ProductionlinePageReqVO pageVO) { - PageResult pageResult = productionlineService.getProductionlinePage(pageVO); - return success(ProductionlineConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出生产线 Excel") - @PreAuthorize("@ss.hasPermission('wms:productionline:export')") - @OperateLog(type = EXPORT) - public void exportProductionlineExcel(@Valid ProductionlineExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = productionlineService.getProductionlineList(exportReqVO); - // 导出 Excel - List datas = ProductionlineConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "生产线.xls", "数据", ProductionlineExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineBaseVO.java deleted file mode 100644 index a4486064..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineBaseVO.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.win.module.wms.controller.admin.productionline.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 生产线 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class ProductionlineBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "类型不能为空") - private String type; - - @Schema(description = "车间代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "车间代码不能为空") - private String workshopCode; - - @Schema(description = "原料库位") - private String rawLocationCode; - - @Schema(description = "成品库位") - private String fgLocationCode; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineCreateReqVO.java deleted file mode 100644 index 88546cd2..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.productionline.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 生产线创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductionlineCreateReqVO extends ProductionlineBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineExcelVO.java deleted file mode 100644 index d9e7cb30..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineExcelVO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.win.module.wms.controller.admin.productionline.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 生产线 Excel VO - * - * @author 超级管理员 - */ -@Data -public class ProductionlineExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("production_line_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty("车间代码") - private String workshopCode; - - @ExcelProperty("原料库位") - private String rawLocationCode; - - @ExcelProperty("成品库位") - private String fgLocationCode; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineExportReqVO.java deleted file mode 100644 index a6d74bf9..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineExportReqVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.win.module.wms.controller.admin.productionline.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 生产线 Excel 导出 Request VO,参数和 ProductionlinePageReqVO 是一致的") -@Data -public class ProductionlineExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "车间代码") - private String workshopCode; - - @Schema(description = "原料库位") - private String rawLocationCode; - - @Schema(description = "成品库位") - private String fgLocationCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlinePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlinePageReqVO.java deleted file mode 100644 index b866ff26..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlinePageReqVO.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.win.module.wms.controller.admin.productionline.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 生产线分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductionlinePageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "车间代码") - private String workshopCode; - - @Schema(description = "原料库位") - private String rawLocationCode; - - @Schema(description = "成品库位") - private String fgLocationCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineRespVO.java deleted file mode 100644 index f2b0b305..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.productionline.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 生产线 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductionlineRespVO extends ProductionlineBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineUpdateReqVO.java deleted file mode 100644 index bd934f18..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionline/vo/ProductionlineUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.productionline.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 生产线更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductionlineUpdateReqVO extends ProductionlineBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/ProductionlineitemController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/ProductionlineitemController.java deleted file mode 100644 index a7d4dc99..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/ProductionlineitemController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.productionlineitem; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.productionlineitem.vo.*; -import com.win.module.wms.convert.productionlineitem.ProductionlineitemConvert; -import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; -import com.win.module.wms.service.productionlineitem.ProductionlineitemService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 生产线物料关系") -@RestController -@RequestMapping("/wms/productionlineitem") -@Validated -public class ProductionlineitemController { - - @Resource - private ProductionlineitemService productionlineitemService; - - @PostMapping("/create") - @Operation(summary = "创建生产线物料关系") - @PreAuthorize("@ss.hasPermission('wms:productionlineitem:create')") - public CommonResult createProductionlineitem(@Valid @RequestBody ProductionlineitemCreateReqVO createReqVO) { - return success(productionlineitemService.createProductionlineitem(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新生产线物料关系") - @PreAuthorize("@ss.hasPermission('wms:productionlineitem:update')") - public CommonResult updateProductionlineitem(@Valid @RequestBody ProductionlineitemUpdateReqVO updateReqVO) { - productionlineitemService.updateProductionlineitem(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除生产线物料关系") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:productionlineitem:delete')") - public CommonResult deleteProductionlineitem(@RequestParam("id") Long id) { - productionlineitemService.deleteProductionlineitem(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得生产线物料关系") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')") - public CommonResult getProductionlineitem(@RequestParam("id") Long id) { - ProductionlineitemDO productionlineitem = productionlineitemService.getProductionlineitem(id); - return success(ProductionlineitemConvert.INSTANCE.convert(productionlineitem)); - } - - @GetMapping("/list") - @Operation(summary = "获得生产线物料关系列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')") - public CommonResult> getProductionlineitemList(@RequestParam("ids") Collection ids) { - List list = productionlineitemService.getProductionlineitemList(ids); - return success(ProductionlineitemConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得生产线物料关系分页") - @PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')") - public CommonResult> getProductionlineitemPage(@Valid ProductionlineitemPageReqVO pageVO) { - PageResult pageResult = productionlineitemService.getProductionlineitemPage(pageVO); - return success(ProductionlineitemConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出生产线物料关系 Excel") - @PreAuthorize("@ss.hasPermission('wms:productionlineitem:export')") - @OperateLog(type = EXPORT) - public void exportProductionlineitemExcel(@Valid ProductionlineitemExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = productionlineitemService.getProductionlineitemList(exportReqVO); - // 导出 Excel - List datas = ProductionlineitemConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "生产线物料关系.xls", "数据", ProductionlineitemExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemBaseVO.java deleted file mode 100644 index 92fb2ab9..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemBaseVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.win.module.wms.controller.admin.productionlineitem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 生产线物料关系 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class ProductionlineitemBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "完工收货库位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "完工收货库位不能为空") - private String fgLocationCode; - - @Schema(description = "产线代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "产线代码不能为空") - private String productionLineCode; - - @Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物品代码不能为空") - private String itemCode; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemCreateReqVO.java deleted file mode 100644 index bcf38bfc..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.productionlineitem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 生产线物料关系创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductionlineitemCreateReqVO extends ProductionlineitemBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemExcelVO.java deleted file mode 100644 index 528106fe..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemExcelVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.win.module.wms.controller.admin.productionlineitem.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 生产线物料关系 Excel VO - * - * @author 超级管理员 - */ -@Data -public class ProductionlineitemExcelVO { - - @ExcelProperty("完工收货库位") - private String fgLocationCode; - - @ExcelProperty("产线代码") - private String productionLineCode; - - @ExcelProperty("物品代码") - private String itemCode; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemExportReqVO.java deleted file mode 100644 index 80c2a033..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemExportReqVO.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.win.module.wms.controller.admin.productionlineitem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 生产线物料关系 Excel 导出 Request VO,参数和 ProductionlineitemPageReqVO 是一致的") -@Data -public class ProductionlineitemExportReqVO { - - @Schema(description = "完工收货库位") - private String fgLocationCode; - - @Schema(description = "产线代码") - private String productionLineCode; - - @Schema(description = "物品代码") - private String itemCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemPageReqVO.java deleted file mode 100644 index 13ac59ff..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemPageReqVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.win.module.wms.controller.admin.productionlineitem.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 生产线物料关系分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductionlineitemPageReqVO extends PageParam { - - @Schema(description = "完工收货库位") - private String fgLocationCode; - - @Schema(description = "产线代码") - private String productionLineCode; - - @Schema(description = "物品代码") - private String itemCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemRespVO.java deleted file mode 100644 index 4fb0d321..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.productionlineitem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 生产线物料关系 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductionlineitemRespVO extends ProductionlineitemBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemUpdateReqVO.java deleted file mode 100644 index 88611116..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/productionlineitem/vo/ProductionlineitemUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.productionlineitem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 生产线物料关系更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductionlineitemUpdateReqVO extends ProductionlineitemBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/ProjectController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/ProjectController.java deleted file mode 100644 index 0cadc0b8..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/ProjectController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.project; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.project.vo.*; -import com.win.module.wms.convert.project.ProjectConvert; -import com.win.module.wms.dal.dataobject.project.ProjectDO; -import com.win.module.wms.service.project.ProjectService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 项目") -@RestController -@RequestMapping("/wms/project") -@Validated -public class ProjectController { - - @Resource - private ProjectService projectService; - - @PostMapping("/create") - @Operation(summary = "创建项目") - @PreAuthorize("@ss.hasPermission('wms:project:create')") - public CommonResult createProject(@Valid @RequestBody ProjectCreateReqVO createReqVO) { - return success(projectService.createProject(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新项目") - @PreAuthorize("@ss.hasPermission('wms:project:update')") - public CommonResult updateProject(@Valid @RequestBody ProjectUpdateReqVO updateReqVO) { - projectService.updateProject(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除项目") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:project:delete')") - public CommonResult deleteProject(@RequestParam("id") Long id) { - projectService.deleteProject(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得项目") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:project:query')") - public CommonResult getProject(@RequestParam("id") Long id) { - ProjectDO project = projectService.getProject(id); - return success(ProjectConvert.INSTANCE.convert(project)); - } - - @GetMapping("/list") - @Operation(summary = "获得项目列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:project:query')") - public CommonResult> getProjectList(@RequestParam("ids") Collection ids) { - List list = projectService.getProjectList(ids); - return success(ProjectConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得项目分页") - @PreAuthorize("@ss.hasPermission('wms:project:query')") - public CommonResult> getProjectPage(@Valid ProjectPageReqVO pageVO) { - PageResult pageResult = projectService.getProjectPage(pageVO); - return success(ProjectConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出项目 Excel") - @PreAuthorize("@ss.hasPermission('wms:project:export')") - @OperateLog(type = EXPORT) - public void exportProjectExcel(@Valid ProjectExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = projectService.getProjectList(exportReqVO); - // 导出 Excel - List datas = ProjectConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "项目.xls", "数据", ProjectExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectBaseVO.java deleted file mode 100644 index 7d9e8182..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectBaseVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.win.module.wms.controller.admin.project.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 项目 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class ProjectBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "客户代码") - private String customerCode; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectCreateReqVO.java deleted file mode 100644 index 65e59178..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.project.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 项目创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProjectCreateReqVO extends ProjectBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectExcelVO.java deleted file mode 100644 index 8163033f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectExcelVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.win.module.wms.controller.admin.project.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 项目 Excel VO - * - * @author 超级管理员 - */ -@Data -public class ProjectExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty("客户代码") - private String customerCode; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectExportReqVO.java deleted file mode 100644 index 6841de9a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectExportReqVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.win.module.wms.controller.admin.project.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 项目 Excel 导出 Request VO,参数和 ProjectPageReqVO 是一致的") -@Data -public class ProjectExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "客户代码") - private String customerCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectPageReqVO.java deleted file mode 100644 index 8bbcb51d..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectPageReqVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.win.module.wms.controller.admin.project.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 项目分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProjectPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "客户代码") - private String customerCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectRespVO.java deleted file mode 100644 index e381db8f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.project.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 项目 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProjectRespVO extends ProjectBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectUpdateReqVO.java deleted file mode 100644 index 4416bdde..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/project/vo/ProjectUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.project.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 项目更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProjectUpdateReqVO extends ProjectBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/PurchasepriceController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/PurchasepriceController.java deleted file mode 100644 index 272faeaa..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/PurchasepriceController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.purchaseprice; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.purchaseprice.vo.*; -import com.win.module.wms.convert.purchaseprice.PurchasepriceConvert; -import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; -import com.win.module.wms.service.purchaseprice.PurchasepriceService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 采购价格单") -@RestController -@RequestMapping("/wms/purchaseprice") -@Validated -public class PurchasepriceController { - - @Resource - private PurchasepriceService purchasepriceService; - - @PostMapping("/create") - @Operation(summary = "创建采购价格单") - @PreAuthorize("@ss.hasPermission('wms:purchaseprice:create')") - public CommonResult createPurchaseprice(@Valid @RequestBody PurchasepriceCreateReqVO createReqVO) { - return success(purchasepriceService.createPurchaseprice(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新采购价格单") - @PreAuthorize("@ss.hasPermission('wms:purchaseprice:update')") - public CommonResult updatePurchaseprice(@Valid @RequestBody PurchasepriceUpdateReqVO updateReqVO) { - purchasepriceService.updatePurchaseprice(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除采购价格单") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:purchaseprice:delete')") - public CommonResult deletePurchaseprice(@RequestParam("id") Long id) { - purchasepriceService.deletePurchaseprice(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得采购价格单") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')") - public CommonResult getPurchaseprice(@RequestParam("id") Long id) { - PurchasepriceDO purchaseprice = purchasepriceService.getPurchaseprice(id); - return success(PurchasepriceConvert.INSTANCE.convert(purchaseprice)); - } - - @GetMapping("/list") - @Operation(summary = "获得采购价格单列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')") - public CommonResult> getPurchasepriceList(@RequestParam("ids") Collection ids) { - List list = purchasepriceService.getPurchasepriceList(ids); - return success(PurchasepriceConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得采购价格单分页") - @PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')") - public CommonResult> getPurchasepricePage(@Valid PurchasepricePageReqVO pageVO) { - PageResult pageResult = purchasepriceService.getPurchasepricePage(pageVO); - return success(PurchasepriceConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出采购价格单 Excel") - @PreAuthorize("@ss.hasPermission('wms:purchaseprice:export')") - @OperateLog(type = EXPORT) - public void exportPurchasepriceExcel(@Valid PurchasepriceExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = purchasepriceService.getPurchasepriceList(exportReqVO); - // 导出 Excel - List datas = PurchasepriceConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "采购价格单.xls", "数据", PurchasepriceExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceBaseVO.java deleted file mode 100644 index d4b08c59..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceBaseVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.wms.controller.admin.purchaseprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 采购价格单 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class PurchasepriceBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "供应商代码不能为空") - private String supplierCode; - - @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物料代码不能为空") - private String itemCode; - - @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "货币不能为空") - private String currency; - - @Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "价格不能为空") - private BigDecimal price; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceCreateReqVO.java deleted file mode 100644 index 62e162e0..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.purchaseprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 采购价格单创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class PurchasepriceCreateReqVO extends PurchasepriceBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceExcelVO.java deleted file mode 100644 index c7284ca1..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceExcelVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.win.module.wms.controller.admin.purchaseprice.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 采购价格单 Excel VO - * - * @author 超级管理员 - */ -@Data -public class PurchasepriceExcelVO { - - @ExcelProperty("供应商代码") - private String supplierCode; - - @ExcelProperty("物料代码") - private String itemCode; - - @ExcelProperty(value = "货币", converter = DictConvert.class) - @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String currency; - - @ExcelProperty("价格") - private BigDecimal price; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceExportReqVO.java deleted file mode 100644 index ee9d7f65..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceExportReqVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.win.module.wms.controller.admin.purchaseprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 采购价格单 Excel 导出 Request VO,参数和 PurchasepricePageReqVO 是一致的") -@Data -public class PurchasepriceExportReqVO { - - @Schema(description = "供应商代码") - private String supplierCode; - - @Schema(description = "物料代码") - private String itemCode; - - @Schema(description = "货币") - private String currency; - - @Schema(description = "价格") - private BigDecimal price; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepricePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepricePageReqVO.java deleted file mode 100644 index 74e6d32b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepricePageReqVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.wms.controller.admin.purchaseprice.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 采购价格单分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class PurchasepricePageReqVO extends PageParam { - - @Schema(description = "供应商代码") - private String supplierCode; - - @Schema(description = "物料代码") - private String itemCode; - - @Schema(description = "货币") - private String currency; - - @Schema(description = "价格") - private BigDecimal price; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceRespVO.java deleted file mode 100644 index 5dad7dcf..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.purchaseprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 采购价格单 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class PurchasepriceRespVO extends PurchasepriceBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceUpdateReqVO.java deleted file mode 100644 index d0028503..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/purchaseprice/vo/PurchasepriceUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.purchaseprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 采购价格单更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class PurchasepriceUpdateReqVO extends PurchasepriceBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/SalepriceController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/SalepriceController.java deleted file mode 100644 index 5b127626..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/SalepriceController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.saleprice; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.saleprice.vo.*; -import com.win.module.wms.convert.saleprice.SalepriceConvert; -import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO; -import com.win.module.wms.service.saleprice.SalepriceService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 销售价格单") -@RestController -@RequestMapping("/wms/saleprice") -@Validated -public class SalepriceController { - - @Resource - private SalepriceService salepriceService; - - @PostMapping("/create") - @Operation(summary = "创建销售价格单") - @PreAuthorize("@ss.hasPermission('wms:saleprice:create')") - public CommonResult createSaleprice(@Valid @RequestBody SalepriceCreateReqVO createReqVO) { - return success(salepriceService.createSaleprice(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新销售价格单") - @PreAuthorize("@ss.hasPermission('wms:saleprice:update')") - public CommonResult updateSaleprice(@Valid @RequestBody SalepriceUpdateReqVO updateReqVO) { - salepriceService.updateSaleprice(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除销售价格单") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:saleprice:delete')") - public CommonResult deleteSaleprice(@RequestParam("id") Long id) { - salepriceService.deleteSaleprice(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得销售价格单") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:saleprice:query')") - public CommonResult getSaleprice(@RequestParam("id") Long id) { - SalepriceDO saleprice = salepriceService.getSaleprice(id); - return success(SalepriceConvert.INSTANCE.convert(saleprice)); - } - - @GetMapping("/list") - @Operation(summary = "获得销售价格单列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:saleprice:query')") - public CommonResult> getSalepriceList(@RequestParam("ids") Collection ids) { - List list = salepriceService.getSalepriceList(ids); - return success(SalepriceConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得销售价格单分页") - @PreAuthorize("@ss.hasPermission('wms:saleprice:query')") - public CommonResult> getSalepricePage(@Valid SalepricePageReqVO pageVO) { - PageResult pageResult = salepriceService.getSalepricePage(pageVO); - return success(SalepriceConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出销售价格单 Excel") - @PreAuthorize("@ss.hasPermission('wms:saleprice:export')") - @OperateLog(type = EXPORT) - public void exportSalepriceExcel(@Valid SalepriceExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = salepriceService.getSalepriceList(exportReqVO); - // 导出 Excel - List datas = SalepriceConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "销售价格单.xls", "数据", SalepriceExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceBaseVO.java deleted file mode 100644 index d517726d..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceBaseVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.wms.controller.admin.saleprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 销售价格单 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class SalepriceBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "客户代码不能为空") - private String customercode; - - @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物料代码不能为空") - private String itemcode; - - @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "货币不能为空") - private String currency; - - @Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "价格不能为空") - private BigDecimal price; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceCreateReqVO.java deleted file mode 100644 index 229b32f3..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.saleprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 销售价格单创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SalepriceCreateReqVO extends SalepriceBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceExcelVO.java deleted file mode 100644 index 0162009f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceExcelVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.win.module.wms.controller.admin.saleprice.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 销售价格单 Excel VO - * - * @author 超级管理员 - */ -@Data -public class SalepriceExcelVO { - - @ExcelProperty("客户代码") - private String customercode; - - @ExcelProperty("物料代码") - private String itemcode; - - @ExcelProperty(value = "货币", converter = DictConvert.class) - @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String currency; - - @ExcelProperty("价格") - private BigDecimal price; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceExportReqVO.java deleted file mode 100644 index 0ee6b153..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceExportReqVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.win.module.wms.controller.admin.saleprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 销售价格单 Excel 导出 Request VO,参数和 SalepricePageReqVO 是一致的") -@Data -public class SalepriceExportReqVO { - - @Schema(description = "客户代码") - private String customercode; - - @Schema(description = "物料代码") - private String itemcode; - - @Schema(description = "货币") - private String currency; - - @Schema(description = "价格") - private BigDecimal price; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepricePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepricePageReqVO.java deleted file mode 100644 index 4aebeb21..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepricePageReqVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.wms.controller.admin.saleprice.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 销售价格单分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SalepricePageReqVO extends PageParam { - - @Schema(description = "客户代码") - private String customercode; - - @Schema(description = "物料代码") - private String itemcode; - - @Schema(description = "货币") - private String currency; - - @Schema(description = "价格") - private BigDecimal price; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceRespVO.java deleted file mode 100644 index e54de9bd..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.saleprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 销售价格单 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SalepriceRespVO extends SalepriceBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceUpdateReqVO.java deleted file mode 100644 index 0dc45c5a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/saleprice/vo/SalepriceUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.saleprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 销售价格单更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SalepriceUpdateReqVO extends SalepriceBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/StdcostpriceController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/StdcostpriceController.java deleted file mode 100644 index 398a38fe..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/StdcostpriceController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.stdcostprice; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.stdcostprice.vo.*; -import com.win.module.wms.convert.stdcostprice.StdcostpriceConvert; -import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; -import com.win.module.wms.service.stdcostprice.StdcostpriceService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 标准成本价格单") -@RestController -@RequestMapping("/wms/stdcostprice") -@Validated -public class StdcostpriceController { - - @Resource - private StdcostpriceService stdcostpriceService; - - @PostMapping("/create") - @Operation(summary = "创建标准成本价格单") - @PreAuthorize("@ss.hasPermission('wms:stdcostprice:create')") - public CommonResult createStdcostprice(@Valid @RequestBody StdcostpriceCreateReqVO createReqVO) { - return success(stdcostpriceService.createStdcostprice(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新标准成本价格单") - @PreAuthorize("@ss.hasPermission('wms:stdcostprice:update')") - public CommonResult updateStdcostprice(@Valid @RequestBody StdcostpriceUpdateReqVO updateReqVO) { - stdcostpriceService.updateStdcostprice(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除标准成本价格单") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:stdcostprice:delete')") - public CommonResult deleteStdcostprice(@RequestParam("id") Long id) { - stdcostpriceService.deleteStdcostprice(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得标准成本价格单") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')") - public CommonResult getStdcostprice(@RequestParam("id") Long id) { - StdcostpriceDO stdcostprice = stdcostpriceService.getStdcostprice(id); - return success(StdcostpriceConvert.INSTANCE.convert(stdcostprice)); - } - - @GetMapping("/list") - @Operation(summary = "获得标准成本价格单列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')") - public CommonResult> getStdcostpriceList(@RequestParam("ids") Collection ids) { - List list = stdcostpriceService.getStdcostpriceList(ids); - return success(StdcostpriceConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得标准成本价格单分页") - @PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')") - public CommonResult> getStdcostpricePage(@Valid StdcostpricePageReqVO pageVO) { - PageResult pageResult = stdcostpriceService.getStdcostpricePage(pageVO); - return success(StdcostpriceConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出标准成本价格单 Excel") - @PreAuthorize("@ss.hasPermission('wms:stdcostprice:export')") - @OperateLog(type = EXPORT) - public void exportStdcostpriceExcel(@Valid StdcostpriceExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = stdcostpriceService.getStdcostpriceList(exportReqVO); - // 导出 Excel - List datas = StdcostpriceConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "标准成本价格单.xls", "数据", StdcostpriceExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceBaseVO.java deleted file mode 100644 index 12db5c45..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceBaseVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.wms.controller.admin.stdcostprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 标准成本价格单 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class StdcostpriceBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "供应商代码不能为空") - private String supplierCode; - - @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物料代码不能为空") - private String itemCode; - - @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "货币不能为空") - private String currency; - - @Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "价格不能为空") - private BigDecimal price; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceCreateReqVO.java deleted file mode 100644 index 88da2383..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.stdcostprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 标准成本价格单创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class StdcostpriceCreateReqVO extends StdcostpriceBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceExcelVO.java deleted file mode 100644 index dd8634be..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceExcelVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.win.module.wms.controller.admin.stdcostprice.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 标准成本价格单 Excel VO - * - * @author 超级管理员 - */ -@Data -public class StdcostpriceExcelVO { - - @ExcelProperty("供应商代码") - private String supplierCode; - - @ExcelProperty("物料代码") - private String itemCode; - - @ExcelProperty(value = "货币", converter = DictConvert.class) - @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String currency; - - @ExcelProperty("价格") - private BigDecimal price; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceExportReqVO.java deleted file mode 100644 index fdb7a581..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceExportReqVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.win.module.wms.controller.admin.stdcostprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 标准成本价格单 Excel 导出 Request VO,参数和 StdcostpricePageReqVO 是一致的") -@Data -public class StdcostpriceExportReqVO { - - @Schema(description = "供应商代码") - private String supplierCode; - - @Schema(description = "物料代码") - private String itemCode; - - @Schema(description = "货币") - private String currency; - - @Schema(description = "价格") - private BigDecimal price; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpricePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpricePageReqVO.java deleted file mode 100644 index ca29fdf8..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpricePageReqVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.win.module.wms.controller.admin.stdcostprice.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 标准成本价格单分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class StdcostpricePageReqVO extends PageParam { - - @Schema(description = "供应商代码") - private String supplierCode; - - @Schema(description = "物料代码") - private String itemCode; - - @Schema(description = "货币") - private String currency; - - @Schema(description = "价格") - private BigDecimal price; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceRespVO.java deleted file mode 100644 index d0978552..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.stdcostprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 标准成本价格单 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class StdcostpriceRespVO extends StdcostpriceBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceUpdateReqVO.java deleted file mode 100644 index 9b98481f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/stdcostprice/vo/StdcostpriceUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.stdcostprice.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 标准成本价格单更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class StdcostpriceUpdateReqVO extends StdcostpriceBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/SupplierController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/SupplierController.java deleted file mode 100644 index 37e2e8f8..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/SupplierController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.supplier; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.supplier.vo.*; -import com.win.module.wms.convert.supplier.SupplierConvert; -import com.win.module.wms.dal.dataobject.supplier.SupplierDO; -import com.win.module.wms.service.supplier.SupplierService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 供应商") -@RestController -@RequestMapping("/wms/supplier") -@Validated -public class SupplierController { - - @Resource - private SupplierService supplierService; - - @PostMapping("/create") - @Operation(summary = "创建供应商") - @PreAuthorize("@ss.hasPermission('wms:supplier:create')") - public CommonResult createSupplier(@Valid @RequestBody SupplierCreateReqVO createReqVO) { - return success(supplierService.createSupplier(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新供应商") - @PreAuthorize("@ss.hasPermission('wms:supplier:update')") - public CommonResult updateSupplier(@Valid @RequestBody SupplierUpdateReqVO updateReqVO) { - supplierService.updateSupplier(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除供应商") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:supplier:delete')") - public CommonResult deleteSupplier(@RequestParam("id") Long id) { - supplierService.deleteSupplier(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得供应商") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:supplier:query')") - public CommonResult getSupplier(@RequestParam("id") Long id) { - SupplierDO supplier = supplierService.getSupplier(id); - return success(SupplierConvert.INSTANCE.convert(supplier)); - } - - @GetMapping("/list") - @Operation(summary = "获得供应商列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:supplier:query')") - public CommonResult> getSupplierList(@RequestParam("ids") Collection ids) { - List list = supplierService.getSupplierList(ids); - return success(SupplierConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得供应商分页") - @PreAuthorize("@ss.hasPermission('wms:supplier:query')") - public CommonResult> getSupplierPage(@Valid SupplierPageReqVO pageVO) { - PageResult pageResult = supplierService.getSupplierPage(pageVO); - return success(SupplierConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出供应商 Excel") - @PreAuthorize("@ss.hasPermission('wms:supplier:export')") - @OperateLog(type = EXPORT) - public void exportSupplierExcel(@Valid SupplierExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = supplierService.getSupplierList(exportReqVO); - // 导出 Excel - List datas = SupplierConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "供应商.xls", "数据", SupplierExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierBaseVO.java deleted file mode 100644 index 4a73976d..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierBaseVO.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.win.module.wms.controller.admin.supplier.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 供应商 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class SupplierBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "简称", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "简称不能为空") - private String shortName; - - @Schema(description = "地址") - private String address; - - @Schema(description = "国家") - private String country; - - @Schema(description = "城市") - private String city; - - @Schema(description = "电话") - private String phone; - - @Schema(description = "传真") - private String fax; - - @Schema(description = "邮编") - private String postId; - - @Schema(description = "联系人") - private String contacts; - - @Schema(description = "银行") - private String bank; - - @Schema(description = "币种") - private String currency; - - @Schema(description = "税率") - private BigDecimal taxRate; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierCreateReqVO.java deleted file mode 100644 index f4e56ce3..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.supplier.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 供应商创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SupplierCreateReqVO extends SupplierBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierExcelVO.java deleted file mode 100644 index f1f2c0fb..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierExcelVO.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.win.module.wms.controller.admin.supplier.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 供应商 Excel VO - * - * @author 超级管理员 - */ -@Data -public class SupplierExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("简称") - private String shortName; - - @ExcelProperty("地址") - private String address; - - @ExcelProperty("国家") - private String country; - - @ExcelProperty("城市") - private String city; - - @ExcelProperty("电话") - private String phone; - - @ExcelProperty("传真") - private String fax; - - @ExcelProperty("邮编") - private String postId; - - @ExcelProperty("联系人") - private String contacts; - - @ExcelProperty("银行") - private String bank; - - @ExcelProperty(value = "币种", converter = DictConvert.class) - @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String currency; - - @ExcelProperty("税率") - private BigDecimal taxRate; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("supplier_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierExportReqVO.java deleted file mode 100644 index db356885..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierExportReqVO.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.win.module.wms.controller.admin.supplier.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 供应商 Excel 导出 Request VO,参数和 SupplierPageReqVO 是一致的") -@Data -public class SupplierExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "简称") - private String shortName; - - @Schema(description = "地址") - private String address; - - @Schema(description = "国家") - private String country; - - @Schema(description = "城市") - private String city; - - @Schema(description = "电话") - private String phone; - - @Schema(description = "传真") - private String fax; - - @Schema(description = "邮编") - private String postId; - - @Schema(description = "联系人") - private String contacts; - - @Schema(description = "银行") - private String bank; - - @Schema(description = "币种") - private String currency; - - @Schema(description = "税率") - private BigDecimal taxRate; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierPageReqVO.java deleted file mode 100644 index 9f6587b0..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierPageReqVO.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.win.module.wms.controller.admin.supplier.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 供应商分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SupplierPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "简称") - private String shortName; - - @Schema(description = "地址") - private String address; - - @Schema(description = "国家") - private String country; - - @Schema(description = "城市") - private String city; - - @Schema(description = "电话") - private String phone; - - @Schema(description = "传真") - private String fax; - - @Schema(description = "邮编") - private String postId; - - @Schema(description = "联系人") - private String contacts; - - @Schema(description = "银行") - private String bank; - - @Schema(description = "币种") - private String currency; - - @Schema(description = "税率") - private BigDecimal taxRate; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierRespVO.java deleted file mode 100644 index 31df44fd..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.supplier.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 供应商 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SupplierRespVO extends SupplierBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierUpdateReqVO.java deleted file mode 100644 index f305f2ca..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplier/vo/SupplierUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.supplier.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 供应商更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SupplierUpdateReqVO extends SupplierBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/SupplieritemController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/SupplieritemController.java deleted file mode 100644 index 9ad3343e..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/SupplieritemController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.supplieritem; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.supplieritem.vo.*; -import com.win.module.wms.convert.supplieritem.SupplieritemConvert; -import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; -import com.win.module.wms.service.supplieritem.SupplieritemService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 供应商物品") -@RestController -@RequestMapping("/wms/supplieritem") -@Validated -public class SupplieritemController { - - @Resource - private SupplieritemService supplieritemService; - - @PostMapping("/create") - @Operation(summary = "创建供应商物品") - @PreAuthorize("@ss.hasPermission('wms:supplieritem:create')") - public CommonResult createSupplieritem(@Valid @RequestBody SupplieritemCreateReqVO createReqVO) { - return success(supplieritemService.createSupplieritem(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新供应商物品") - @PreAuthorize("@ss.hasPermission('wms:supplieritem:update')") - public CommonResult updateSupplieritem(@Valid @RequestBody SupplieritemUpdateReqVO updateReqVO) { - supplieritemService.updateSupplieritem(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除供应商物品") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:supplieritem:delete')") - public CommonResult deleteSupplieritem(@RequestParam("id") Long id) { - supplieritemService.deleteSupplieritem(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得供应商物品") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:supplieritem:query')") - public CommonResult getSupplieritem(@RequestParam("id") Long id) { - SupplieritemDO supplieritem = supplieritemService.getSupplieritem(id); - return success(SupplieritemConvert.INSTANCE.convert(supplieritem)); - } - - @GetMapping("/list") - @Operation(summary = "获得供应商物品列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:supplieritem:query')") - public CommonResult> getSupplieritemList(@RequestParam("ids") Collection ids) { - List list = supplieritemService.getSupplieritemList(ids); - return success(SupplieritemConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得供应商物品分页") - @PreAuthorize("@ss.hasPermission('wms:supplieritem:query')") - public CommonResult> getSupplieritemPage(@Valid SupplieritemPageReqVO pageVO) { - PageResult pageResult = supplieritemService.getSupplieritemPage(pageVO); - return success(SupplieritemConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出供应商物品 Excel") - @PreAuthorize("@ss.hasPermission('wms:supplieritem:export')") - @OperateLog(type = EXPORT) - public void exportSupplieritemExcel(@Valid SupplieritemExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = supplieritemService.getSupplieritemList(exportReqVO); - // 导出 Excel - List datas = SupplieritemConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "供应商物品.xls", "数据", SupplieritemExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemBaseVO.java deleted file mode 100644 index 432b78ed..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemBaseVO.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.win.module.wms.controller.admin.supplieritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 供应商物品 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class SupplieritemBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "供应商代码不能为空") - private String supplierCode; - - @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物料代码不能为空") - private String itemCode; - - @Schema(description = "供应商物料代码") - private String supplierItemCode; - - @Schema(description = "供应商计量单位") - private String supplierUom; - - @Schema(description = "转换率") - private BigDecimal convertRate; - - @Schema(description = "供应商包装单位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "供应商包装单位不能为空") - private String packUnit; - - @Schema(description = "供应商包装量", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "供应商包装量不能为空") - private BigDecimal packQty; - - @Schema(description = "供应商替代包装单位") - private String altPackUnit; - - @Schema(description = "供应商替代包装量") - private BigDecimal altPackQty; - - @Schema(description = "每器具包装数", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "每器具包装数不能为空") - private Integer packQtyOfContainer; - - @Schema(description = "默认收货仓库") - private String defaultWarehouseCode; - - @Schema(description = "默认收货库位") - private String defaultLocationCode; - - @Schema(description = "结算方式") - private String settlementType; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemCreateReqVO.java deleted file mode 100644 index 901b6942..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.supplieritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 供应商物品创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SupplieritemCreateReqVO extends SupplieritemBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemExcelVO.java deleted file mode 100644 index ea77eb65..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemExcelVO.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.win.module.wms.controller.admin.supplieritem.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - - -/** - * 供应商物品 Excel VO - * - * @author 超级管理员 - */ -@Data -public class SupplieritemExcelVO { - - @ExcelProperty("供应商代码") - private String supplierCode; - - @ExcelProperty("物料代码") - private String itemCode; - - @ExcelProperty("供应商物料代码") - private String supplierItemCode; - - @ExcelProperty(value = "供应商计量单位", converter = DictConvert.class) - @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String supplierUom; - - @ExcelProperty("转换率") - private BigDecimal convertRate; - - @ExcelProperty(value = "供应商包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String packUnit; - - @ExcelProperty("供应商包装量") - private BigDecimal packQty; - - @ExcelProperty(value = "供应商替代包装单位", converter = DictConvert.class) - @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String altPackUnit; - - @ExcelProperty("供应商替代包装量") - private BigDecimal altPackQty; - - @ExcelProperty("每器具包装数") - private Integer packQtyOfContainer; - - @ExcelProperty("默认收货仓库") - private String defaultWarehouseCode; - - @ExcelProperty("默认收货库位") - private String defaultLocationCode; - - @ExcelProperty(value = "结算方式", converter = DictConvert.class) - @DictFormat("settlement_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String settlementType; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemExportReqVO.java deleted file mode 100644 index 96477fdb..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemExportReqVO.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.win.module.wms.controller.admin.supplieritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 供应商物品 Excel 导出 Request VO,参数和 SupplieritemPageReqVO 是一致的") -@Data -public class SupplieritemExportReqVO { - - @Schema(description = "供应商代码") - private String supplierCode; - - @Schema(description = "物料代码") - private String itemCode; - - @Schema(description = "供应商物料代码") - private String supplierItemCode; - - @Schema(description = "供应商计量单位") - private String supplierUom; - - @Schema(description = "转换率") - private BigDecimal convertRate; - - @Schema(description = "供应商包装单位") - private String packUnit; - - @Schema(description = "供应商包装量") - private BigDecimal packQty; - - @Schema(description = "供应商替代包装单位") - private String altPackUnit; - - @Schema(description = "供应商替代包装量") - private BigDecimal altPackQty; - - @Schema(description = "每器具包装数") - private Integer packQtyOfContainer; - - @Schema(description = "默认收货仓库") - private String defaultWarehouseCode; - - @Schema(description = "默认收货库位") - private String defaultLocationCode; - - @Schema(description = "结算方式") - private String settlementType; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemPageReqVO.java deleted file mode 100644 index a49e54ab..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemPageReqVO.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.win.module.wms.controller.admin.supplieritem.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 供应商物品分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SupplieritemPageReqVO extends PageParam { - - @Schema(description = "供应商代码") - private String supplierCode; - - @Schema(description = "物料代码") - private String itemCode; - - @Schema(description = "供应商物料代码") - private String supplierItemCode; - - @Schema(description = "供应商计量单位") - private String supplierUom; - - @Schema(description = "转换率") - private BigDecimal convertRate; - - @Schema(description = "供应商包装单位") - private String packUnit; - - @Schema(description = "供应商包装量") - private BigDecimal packQty; - - @Schema(description = "供应商替代包装单位") - private String altPackUnit; - - @Schema(description = "供应商替代包装量") - private BigDecimal altPackQty; - - @Schema(description = "每器具包装数") - private Integer packQtyOfContainer; - - @Schema(description = "默认收货仓库") - private String defaultWarehouseCode; - - @Schema(description = "默认收货库位") - private String defaultLocationCode; - - @Schema(description = "结算方式") - private String settlementType; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemRespVO.java deleted file mode 100644 index b483a3f9..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.supplieritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 供应商物品 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SupplieritemRespVO extends SupplieritemBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemUpdateReqVO.java deleted file mode 100644 index 9415116a..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/supplieritem/vo/SupplieritemUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.supplieritem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 供应商物品更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SupplieritemUpdateReqVO extends SupplieritemBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/SystemcalendarController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/SystemcalendarController.java deleted file mode 100644 index 6a5a7cb3..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/SystemcalendarController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.systemcalendar; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.systemcalendar.vo.*; -import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert; -import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO; -import com.win.module.wms.service.systemcalendar.SystemcalendarService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 系统日历") -@RestController -@RequestMapping("/wms/systemcalendar") -@Validated -public class SystemcalendarController { - - @Resource - private SystemcalendarService systemcalendarService; - - @PostMapping("/create") - @Operation(summary = "创建系统日历") - @PreAuthorize("@ss.hasPermission('wms:systemcalendar:create')") - public CommonResult createSystemcalendar(@Valid @RequestBody SystemcalendarCreateReqVO createReqVO) { - return success(systemcalendarService.createSystemcalendar(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新系统日历") - @PreAuthorize("@ss.hasPermission('wms:systemcalendar:update')") - public CommonResult updateSystemcalendar(@Valid @RequestBody SystemcalendarUpdateReqVO updateReqVO) { - systemcalendarService.updateSystemcalendar(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除系统日历") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:systemcalendar:delete')") - public CommonResult deleteSystemcalendar(@RequestParam("id") Long id) { - systemcalendarService.deleteSystemcalendar(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得系统日历") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:systemcalendar:query')") - public CommonResult getSystemcalendar(@RequestParam("id") Long id) { - SystemcalendarDO systemcalendar = systemcalendarService.getSystemcalendar(id); - return success(SystemcalendarConvert.INSTANCE.convert(systemcalendar)); - } - - @GetMapping("/list") - @Operation(summary = "获得系统日历列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:systemcalendar:query')") - public CommonResult> getSystemcalendarList(@RequestParam("ids") Collection ids) { - List list = systemcalendarService.getSystemcalendarList(ids); - return success(SystemcalendarConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得系统日历分页") - @PreAuthorize("@ss.hasPermission('wms:systemcalendar:query')") - public CommonResult> getSystemcalendarPage(@Valid SystemcalendarPageReqVO pageVO) { - PageResult pageResult = systemcalendarService.getSystemcalendarPage(pageVO); - return success(SystemcalendarConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出系统日历 Excel") - @PreAuthorize("@ss.hasPermission('wms:systemcalendar:export')") - @OperateLog(type = EXPORT) - public void exportSystemcalendarExcel(@Valid SystemcalendarExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = systemcalendarService.getSystemcalendarList(exportReqVO); - // 导出 Excel - List datas = SystemcalendarConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "系统日历.xls", "数据", SystemcalendarExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarBaseVO.java deleted file mode 100644 index 6e32c673..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarBaseVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.win.module.wms.controller.admin.systemcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 系统日历 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class SystemcalendarBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "模块", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "模块不能为空") - private String module; - - @Schema(description = "开始时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime startTime; - - @Schema(description = "结束时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime stopTime; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarCreateReqVO.java deleted file mode 100644 index f4af7958..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.systemcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 系统日历创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SystemcalendarCreateReqVO extends SystemcalendarBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarExcelVO.java deleted file mode 100644 index d1825129..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarExcelVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.win.module.wms.controller.admin.systemcalendar.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 系统日历 Excel VO - * - * @author 超级管理员 - */ -@Data -public class SystemcalendarExcelVO { - - @ExcelProperty("模块") - private String module; - - @ExcelProperty("开始时间") - private LocalDateTime startTime; - - @ExcelProperty("结束时间") - private LocalDateTime stopTime; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarExportReqVO.java deleted file mode 100644 index 835fa93e..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarExportReqVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.win.module.wms.controller.admin.systemcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 系统日历 Excel 导出 Request VO,参数和 SystemcalendarPageReqVO 是一致的") -@Data -public class SystemcalendarExportReqVO { - - @Schema(description = "模块") - private String module; - - @Schema(description = "开始时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] startTime; - - @Schema(description = "结束时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] stopTime; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarPageReqVO.java deleted file mode 100644 index 32df8a3c..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarPageReqVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.win.module.wms.controller.admin.systemcalendar.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 系统日历分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SystemcalendarPageReqVO extends PageParam { - - @Schema(description = "模块") - private String module; - - @Schema(description = "开始时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] startTime; - - @Schema(description = "结束时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] stopTime; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarRespVO.java deleted file mode 100644 index e73d438f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.systemcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 系统日历 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SystemcalendarRespVO extends SystemcalendarBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarUpdateReqVO.java deleted file mode 100644 index 74e8be10..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/systemcalendar/vo/SystemcalendarUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.systemcalendar.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 系统日历更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SystemcalendarUpdateReqVO extends SystemcalendarBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/WarehouseController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/WarehouseController.java deleted file mode 100644 index 6d71aa45..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/WarehouseController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.warehouse; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.warehouse.vo.*; -import com.win.module.wms.convert.warehouse.WarehouseConvert; -import com.win.module.wms.dal.dataobject.warehouse.WarehouseDO; -import com.win.module.wms.service.warehouse.WarehouseService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 仓库") -@RestController -@RequestMapping("/wms/warehouse") -@Validated -public class WarehouseController { - - @Resource - private WarehouseService warehouseService; - - @PostMapping("/create") - @Operation(summary = "创建仓库") - @PreAuthorize("@ss.hasPermission('wms:warehouse:create')") - public CommonResult createWarehouse(@Valid @RequestBody WarehouseCreateReqVO createReqVO) { - return success(warehouseService.createWarehouse(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新仓库") - @PreAuthorize("@ss.hasPermission('wms:warehouse:update')") - public CommonResult updateWarehouse(@Valid @RequestBody WarehouseUpdateReqVO updateReqVO) { - warehouseService.updateWarehouse(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除仓库") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:warehouse:delete')") - public CommonResult deleteWarehouse(@RequestParam("id") Long id) { - warehouseService.deleteWarehouse(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得仓库") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:warehouse:query')") - public CommonResult getWarehouse(@RequestParam("id") Long id) { - WarehouseDO warehouse = warehouseService.getWarehouse(id); - return success(WarehouseConvert.INSTANCE.convert(warehouse)); - } - - @GetMapping("/list") - @Operation(summary = "获得仓库列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:warehouse:query')") - public CommonResult> getWarehouseList(@RequestParam("ids") Collection ids) { - List list = warehouseService.getWarehouseList(ids); - return success(WarehouseConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得仓库分页") - @PreAuthorize("@ss.hasPermission('wms:warehouse:query')") - public CommonResult> getWarehousePage(@Valid WarehousePageReqVO pageVO) { - PageResult pageResult = warehouseService.getWarehousePage(pageVO); - return success(WarehouseConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出仓库 Excel") - @PreAuthorize("@ss.hasPermission('wms:warehouse:export')") - @OperateLog(type = EXPORT) - public void exportWarehouseExcel(@Valid WarehouseExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = warehouseService.getWarehouseList(exportReqVO); - // 导出 Excel - List datas = WarehouseConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "仓库.xls", "数据", WarehouseExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseBaseVO.java deleted file mode 100644 index 28e3db75..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseBaseVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.win.module.wms.controller.admin.warehouse.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 仓库 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WarehouseBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseCreateReqVO.java deleted file mode 100644 index 78ea47c3..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.warehouse.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 仓库创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WarehouseCreateReqVO extends WarehouseBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseExcelVO.java deleted file mode 100644 index 27c5cecc..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseExcelVO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.win.module.wms.controller.admin.warehouse.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 仓库 Excel VO - * - * @author 超级管理员 - */ -@Data -public class WarehouseExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("warehouse_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseExportReqVO.java deleted file mode 100644 index 7223ad63..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseExportReqVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.win.module.wms.controller.admin.warehouse.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 仓库 Excel 导出 Request VO,参数和 WarehousePageReqVO 是一致的") -@Data -public class WarehouseExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehousePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehousePageReqVO.java deleted file mode 100644 index c531167b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehousePageReqVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.win.module.wms.controller.admin.warehouse.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 仓库分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WarehousePageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseRespVO.java deleted file mode 100644 index 2a3e255c..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.warehouse.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 仓库 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WarehouseRespVO extends WarehouseBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseUpdateReqVO.java deleted file mode 100644 index 72b7ea77..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/warehouse/vo/WarehouseUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.warehouse.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 仓库更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WarehouseUpdateReqVO extends WarehouseBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/WorkshopController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/WorkshopController.java deleted file mode 100644 index 8ddcb9f6..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/WorkshopController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.workshop; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.workshop.vo.*; -import com.win.module.wms.convert.workshop.WorkshopConvert; -import com.win.module.wms.dal.dataobject.workshop.WorkshopDO; -import com.win.module.wms.service.workshop.WorkshopService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 车间") -@RestController -@RequestMapping("/wms/workshop") -@Validated -public class WorkshopController { - - @Resource - private WorkshopService workshopService; - - @PostMapping("/create") - @Operation(summary = "创建车间") - @PreAuthorize("@ss.hasPermission('wms:workshop:create')") - public CommonResult createWorkshop(@Valid @RequestBody WorkshopCreateReqVO createReqVO) { - return success(workshopService.createWorkshop(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新车间") - @PreAuthorize("@ss.hasPermission('wms:workshop:update')") - public CommonResult updateWorkshop(@Valid @RequestBody WorkshopUpdateReqVO updateReqVO) { - workshopService.updateWorkshop(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除车间") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:workshop:delete')") - public CommonResult deleteWorkshop(@RequestParam("id") Long id) { - workshopService.deleteWorkshop(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得车间") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:workshop:query')") - public CommonResult getWorkshop(@RequestParam("id") Long id) { - WorkshopDO workshop = workshopService.getWorkshop(id); - return success(WorkshopConvert.INSTANCE.convert(workshop)); - } - - @GetMapping("/list") - @Operation(summary = "获得车间列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:workshop:query')") - public CommonResult> getWorkshopList(@RequestParam("ids") Collection ids) { - List list = workshopService.getWorkshopList(ids); - return success(WorkshopConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得车间分页") - @PreAuthorize("@ss.hasPermission('wms:workshop:query')") - public CommonResult> getWorkshopPage(@Valid WorkshopPageReqVO pageVO) { - PageResult pageResult = workshopService.getWorkshopPage(pageVO); - return success(WorkshopConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出车间 Excel") - @PreAuthorize("@ss.hasPermission('wms:workshop:export')") - @OperateLog(type = EXPORT) - public void exportWorkshopExcel(@Valid WorkshopExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = workshopService.getWorkshopList(exportReqVO); - // 导出 Excel - List datas = WorkshopConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "车间.xls", "数据", WorkshopExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopBaseVO.java deleted file mode 100644 index 2dbe611d..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopBaseVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.win.module.wms.controller.admin.workshop.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 车间 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WorkshopBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopCreateReqVO.java deleted file mode 100644 index 9df44b08..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.workshop.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 车间创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WorkshopCreateReqVO extends WorkshopBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopExcelVO.java deleted file mode 100644 index a601f50f..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopExcelVO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.win.module.wms.controller.admin.workshop.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 车间 Excel VO - * - * @author 超级管理员 - */ -@Data -public class WorkshopExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("workshop_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopExportReqVO.java deleted file mode 100644 index ab9b0b24..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopExportReqVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.win.module.wms.controller.admin.workshop.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 车间 Excel 导出 Request VO,参数和 WorkshopPageReqVO 是一致的") -@Data -public class WorkshopExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopPageReqVO.java deleted file mode 100644 index 42239f98..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopPageReqVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.win.module.wms.controller.admin.workshop.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 车间分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WorkshopPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopRespVO.java deleted file mode 100644 index e447a904..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.workshop.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 车间 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WorkshopRespVO extends WorkshopBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopUpdateReqVO.java deleted file mode 100644 index a981864b..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workshop/vo/WorkshopUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.workshop.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 车间更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WorkshopUpdateReqVO extends WorkshopBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/WorkstationController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/WorkstationController.java deleted file mode 100644 index 58d1f5cd..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/WorkstationController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.win.module.wms.controller.admin.workstation; - -import com.win.framework.common.pojo.CommonResult; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.excel.core.util.ExcelUtils; -import com.win.framework.operatelog.core.annotations.OperateLog; -import com.win.module.wms.controller.admin.workstation.vo.*; -import com.win.module.wms.convert.workstation.WorkstationConvert; -import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; -import com.win.module.wms.service.workstation.WorkstationService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static com.win.framework.common.pojo.CommonResult.success; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 工位") -@RestController -@RequestMapping("/wms/workstation") -@Validated -public class WorkstationController { - - @Resource - private WorkstationService workstationService; - - @PostMapping("/create") - @Operation(summary = "创建工位") - @PreAuthorize("@ss.hasPermission('wms:workstation:create')") - public CommonResult createWorkstation(@Valid @RequestBody WorkstationCreateReqVO createReqVO) { - return success(workstationService.createWorkstation(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新工位") - @PreAuthorize("@ss.hasPermission('wms:workstation:update')") - public CommonResult updateWorkstation(@Valid @RequestBody WorkstationUpdateReqVO updateReqVO) { - workstationService.updateWorkstation(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除工位") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:workstation:delete')") - public CommonResult deleteWorkstation(@RequestParam("id") Long id) { - workstationService.deleteWorkstation(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得工位") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:workstation:query')") - public CommonResult getWorkstation(@RequestParam("id") Long id) { - WorkstationDO workstation = workstationService.getWorkstation(id); - return success(WorkstationConvert.INSTANCE.convert(workstation)); - } - - @GetMapping("/list") - @Operation(summary = "获得工位列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:workstation:query')") - public CommonResult> getWorkstationList(@RequestParam("ids") Collection ids) { - List list = workstationService.getWorkstationList(ids); - return success(WorkstationConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得工位分页") - @PreAuthorize("@ss.hasPermission('wms:workstation:query')") - public CommonResult> getWorkstationPage(@Valid WorkstationPageReqVO pageVO) { - PageResult pageResult = workstationService.getWorkstationPage(pageVO); - return success(WorkstationConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出工位 Excel") - @PreAuthorize("@ss.hasPermission('wms:workstation:export')") - @OperateLog(type = EXPORT) - public void exportWorkstationExcel(@Valid WorkstationExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = workstationService.getWorkstationList(exportReqVO); - // 导出 Excel - List datas = WorkstationConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "工位.xls", "数据", WorkstationExcelVO.class, datas); - } - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationBaseVO.java deleted file mode 100644 index 034fc8b6..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationBaseVO.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.win.module.wms.controller.admin.workstation.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * 工位 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WorkstationBaseVO { - - @Schema(description = "id", example = "id") - private Long id; - - @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "车间代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "车间代码不能为空") - private String workshopCode; - - @Schema(description = "生产线代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "生产线代码不能为空") - private String productionLineCode; - - @Schema(description = "原料库位") - private String rawLocationCode; - - @Schema(description = "成品库位") - private String fgLocationCode; - - @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime expireTime; - - @Schema(description = "备注") - private String remark; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationCreateReqVO.java deleted file mode 100644 index 2b10cdd4..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.workstation.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 工位创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WorkstationCreateReqVO extends WorkstationBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationExcelVO.java deleted file mode 100644 index 9e0b4324..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationExcelVO.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.win.module.wms.controller.admin.workstation.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.win.framework.excel.core.annotations.DictFormat; -import com.win.framework.excel.core.convert.DictConvert; -import lombok.Data; - -import java.time.LocalDateTime; - - -/** - * 工位 Excel VO - * - * @author 超级管理员 - */ -@Data -public class WorkstationExcelVO { - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("名称") - private String name; - - @ExcelProperty("描述") - private String description; - - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("work_station_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String type; - - @ExcelProperty("车间代码") - private String workshopCode; - - @ExcelProperty("生产线代码") - private String productionLineCode; - - @ExcelProperty("原料库位") - private String rawLocationCode; - - @ExcelProperty("成品库位") - private String fgLocationCode; - - @ExcelProperty(value = "是否可用", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private Integer available; - - @ExcelProperty("生效时间") - private LocalDateTime activeTime; - - @ExcelProperty("失效时间") - private LocalDateTime expireTime; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationExportReqVO.java deleted file mode 100644 index 34ca36e8..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationExportReqVO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.win.module.wms.controller.admin.workstation.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 工位 Excel 导出 Request VO,参数和 WorkstationPageReqVO 是一致的") -@Data -public class WorkstationExportReqVO { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "车间代码") - private String workshopCode; - - @Schema(description = "生产线代码") - private String productionLineCode; - - @Schema(description = "原料库位") - private String rawLocationCode; - - @Schema(description = "成品库位") - private String fgLocationCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationPageReqVO.java deleted file mode 100644 index 5d21076c..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationPageReqVO.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.win.module.wms.controller.admin.workstation.vo; - -import com.win.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 工位分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WorkstationPageReqVO extends PageParam { - - @Schema(description = "代码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "描述") - private String description; - - @Schema(description = "类型") - private String type; - - @Schema(description = "车间代码") - private String workshopCode; - - @Schema(description = "生产线代码") - private String productionLineCode; - - @Schema(description = "原料库位") - private String rawLocationCode; - - @Schema(description = "成品库位") - private String fgLocationCode; - - @Schema(description = "是否可用") - private Integer available; - - @Schema(description = "生效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] activeTime; - - @Schema(description = "失效时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expireTime; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - - @Schema(description = "创建者ID") - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationRespVO.java deleted file mode 100644 index 39b6cb13..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationRespVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.win.module.wms.controller.admin.workstation.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 工位 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WorkstationRespVO extends WorkstationBaseVO { - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime createTime; - - @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String creator; - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationUpdateReqVO.java deleted file mode 100644 index e9677171..00000000 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/workstation/vo/WorkstationUpdateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.win.module.wms.controller.admin.workstation.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - 工位更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WorkstationUpdateReqVO extends WorkstationBaseVO { - -} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/AreabasicController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/AreabasicController.java new file mode 100644 index 00000000..759e3767 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/AreabasicController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.areabasic; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.areabasic.vo.*; +import com.win.module.wms.convert.areabasic.AreabasicConvert; +import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO; +import com.win.module.wms.service.areabasic.AreabasicService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 库区") +@RestController +@RequestMapping("/wms/areabasic") +@Validated +public class AreabasicController { + + @Resource + private AreabasicService areabasicService; + + @PostMapping("/create") + @Operation(summary = "创建库区") + @PreAuthorize("@ss.hasPermission('wms:areabasic:create')") + public CommonResult createAreabasic(@Valid @RequestBody AreabasicCreateReqVO createReqVO) { + return success(areabasicService.createAreabasic(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新库区") + @PreAuthorize("@ss.hasPermission('wms:areabasic:update')") + public CommonResult updateAreabasic(@Valid @RequestBody AreabasicUpdateReqVO updateReqVO) { + areabasicService.updateAreabasic(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除库区") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:areabasic:delete')") + public CommonResult deleteAreabasic(@RequestParam("id") Long id) { + areabasicService.deleteAreabasic(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得库区") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:areabasic:query')") + public CommonResult getAreabasic(@RequestParam("id") Long id) { + AreabasicDO areabasic = areabasicService.getAreabasic(id); + return success(AreabasicConvert.INSTANCE.convert(areabasic)); + } + + @GetMapping("/list") + @Operation(summary = "获得库区列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:areabasic:query')") + public CommonResult> getAreabasicList(@RequestParam("ids") Collection ids) { + List list = areabasicService.getAreabasicList(ids); + return success(AreabasicConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得库区分页") + @PreAuthorize("@ss.hasPermission('wms:areabasic:query')") + public CommonResult> getAreabasicPage(@Valid AreabasicPageReqVO pageVO) { + PageResult pageResult = areabasicService.getAreabasicPage(pageVO); + return success(AreabasicConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出库区 Excel") + @PreAuthorize("@ss.hasPermission('wms:areabasic:export')") + @OperateLog(type = EXPORT) + public void exportAreabasicExcel(@Valid AreabasicExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = areabasicService.getAreabasicList(exportReqVO); + // 导出 Excel + List datas = AreabasicConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "库区.xls", "数据", AreabasicExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicBaseVO.java new file mode 100644 index 00000000..ec083c11 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicBaseVO.java @@ -0,0 +1,58 @@ +package com.win.module.wms.controller.areabasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 库区 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class AreabasicBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "仓库代码不能为空") + private String warehouseCode; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否是功能区", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否是功能区不能为空") + private Integer isFunctional; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicCreateReqVO.java new file mode 100644 index 00000000..b5628cf0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.areabasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 库区创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AreabasicCreateReqVO extends AreabasicBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExcelVO.java new file mode 100644 index 00000000..98a72441 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExcelVO.java @@ -0,0 +1,58 @@ +package com.win.module.wms.controller.areabasic.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 库区 Excel VO + * + * @author 超级管理员 + */ +@Data +public class AreabasicExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty("仓库代码") + private String warehouseCode; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("area_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty(value = "是否是功能区", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer isFunctional; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExportReqVO.java new file mode 100644 index 00000000..e94b8304 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExportReqVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.areabasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 库区 Excel 导出 Request VO,参数和 AreabasicPageReqVO 是一致的") +@Data +public class AreabasicExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码") + private String warehouseCode; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否是功能区") + private Integer isFunctional; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicPageReqVO.java new file mode 100644 index 00000000..7e18c5ed --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicPageReqVO.java @@ -0,0 +1,59 @@ +package com.win.module.wms.controller.areabasic.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 库区分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AreabasicPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码") + private String warehouseCode; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否是功能区") + private Integer isFunctional; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicRespVO.java new file mode 100644 index 00000000..7e5fb065 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.areabasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 库区 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AreabasicRespVO extends AreabasicBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicUpdateReqVO.java new file mode 100644 index 00000000..8715ac36 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.areabasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 库区更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AreabasicUpdateReqVO extends AreabasicBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/BomController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/BomController.java new file mode 100644 index 00000000..e691aab5 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/BomController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.bom; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.bom.vo.*; +import com.win.module.wms.convert.bom.BomConvert; +import com.win.module.wms.dal.dataobject.bom.BomDO; +import com.win.module.wms.service.bom.BomService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 物料清单") +@RestController +@RequestMapping("/wms/bom") +@Validated +public class BomController { + + @Resource + private BomService bomService; + + @PostMapping("/create") + @Operation(summary = "创建物料清单") + @PreAuthorize("@ss.hasPermission('wms:bom:create')") + public CommonResult createBom(@Valid @RequestBody BomCreateReqVO createReqVO) { + return success(bomService.createBom(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料清单") + @PreAuthorize("@ss.hasPermission('wms:bom:update')") + public CommonResult updateBom(@Valid @RequestBody BomUpdateReqVO updateReqVO) { + bomService.updateBom(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料清单") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:bom:delete')") + public CommonResult deleteBom(@RequestParam("id") Long id) { + bomService.deleteBom(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料清单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:bom:query')") + public CommonResult getBom(@RequestParam("id") Long id) { + BomDO bom = bomService.getBom(id); + return success(BomConvert.INSTANCE.convert(bom)); + } + + @GetMapping("/list") + @Operation(summary = "获得物料清单列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:bom:query')") + public CommonResult> getBomList(@RequestParam("ids") Collection ids) { + List list = bomService.getBomList(ids); + return success(BomConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料清单分页") + @PreAuthorize("@ss.hasPermission('wms:bom:query')") + public CommonResult> getBomPage(@Valid BomPageReqVO pageVO) { + PageResult pageResult = bomService.getBomPage(pageVO); + return success(BomConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料清单 Excel") + @PreAuthorize("@ss.hasPermission('wms:bom:export')") + @OperateLog(type = EXPORT) + public void exportBomExcel(@Valid BomExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = bomService.getBomList(exportReqVO); + // 导出 Excel + List datas = BomConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "物料清单.xls", "数据", BomExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomBaseVO.java new file mode 100644 index 00000000..5189f7de --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomBaseVO.java @@ -0,0 +1,64 @@ +package com.win.module.wms.controller.bom.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 物料清单 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class BomBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "父物料代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "父物料代码不能为空") + private String productItemCode; + + @Schema(description = "子物料代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "子物料代码不能为空") + private String componentItemCode; + + @Schema(description = "子物料计量单位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "子物料计量单位不能为空") + private String componentUom; + + @Schema(description = "子物料数量", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "子物料数量不能为空") + private BigDecimal componentQty; + + @Schema(description = "工序代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "工序代码不能为空") + private String processCode; + + @Schema(description = "版本") + private String version; + + @Schema(description = "层级") + private Integer layer; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomCreateReqVO.java new file mode 100644 index 00000000..6ff40154 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.bom.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 物料清单创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BomCreateReqVO extends BomBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomExcelVO.java new file mode 100644 index 00000000..bfc4946b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomExcelVO.java @@ -0,0 +1,61 @@ +package com.win.module.wms.controller.bom.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 物料清单 Excel VO + * + * @author 超级管理员 + */ +@Data +public class BomExcelVO { + + @ExcelProperty("父物料代码") + private String productItemCode; + + @ExcelProperty("子物料代码") + private String componentItemCode; + + @ExcelProperty(value = "子物料计量单位", converter = DictConvert.class) + @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String componentUom; + + @ExcelProperty("子物料数量") + private BigDecimal componentQty; + + @ExcelProperty("工序代码") + private String processCode; + + @ExcelProperty("版本") + private String version; + + @ExcelProperty("层级") + private Integer layer; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomExportReqVO.java new file mode 100644 index 00000000..2b14b1d9 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomExportReqVO.java @@ -0,0 +1,58 @@ +package com.win.module.wms.controller.bom.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料清单 Excel 导出 Request VO,参数和 BomPageReqVO 是一致的") +@Data +public class BomExportReqVO { + + @Schema(description = "父物料代码") + private String productItemCode; + + @Schema(description = "子物料代码") + private String componentItemCode; + + @Schema(description = "子物料计量单位") + private String componentUom; + + @Schema(description = "子物料数量") + private BigDecimal componentQty; + + @Schema(description = "工序代码") + private String processCode; + + @Schema(description = "版本") + private String version; + + @Schema(description = "层级") + private Integer layer; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomPageReqVO.java new file mode 100644 index 00000000..53297e62 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomPageReqVO.java @@ -0,0 +1,63 @@ +package com.win.module.wms.controller.bom.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料清单分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BomPageReqVO extends PageParam { + + @Schema(description = "父物料代码") + private String productItemCode; + + @Schema(description = "子物料代码") + private String componentItemCode; + + @Schema(description = "子物料计量单位") + private String componentUom; + + @Schema(description = "子物料数量") + private BigDecimal componentQty; + + @Schema(description = "工序代码") + private String processCode; + + @Schema(description = "版本") + private String version; + + @Schema(description = "层级") + private Integer layer; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomRespVO.java new file mode 100644 index 00000000..b371398a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.bom.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物料清单 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BomRespVO extends BomBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomUpdateReqVO.java new file mode 100644 index 00000000..baf608fe --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/vo/BomUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.bom.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 物料清单更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BomUpdateReqVO extends BomBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/CurrencyexchangeController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/CurrencyexchangeController.java new file mode 100644 index 00000000..fb3cb332 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/CurrencyexchangeController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.currencyexchange; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.currencyexchange.vo.*; +import com.win.module.wms.convert.currencyexchange.CurrencyexchangeConvert; +import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO; +import com.win.module.wms.service.currencyexchange.CurrencyexchangeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 货币转换") +@RestController +@RequestMapping("/wms/currencyexchange") +@Validated +public class CurrencyexchangeController { + + @Resource + private CurrencyexchangeService currencyexchangeService; + + @PostMapping("/create") + @Operation(summary = "创建货币转换") + @PreAuthorize("@ss.hasPermission('wms:currencyexchange:create')") + public CommonResult createCurrencyexchange(@Valid @RequestBody CurrencyexchangeCreateReqVO createReqVO) { + return success(currencyexchangeService.createCurrencyexchange(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新货币转换") + @PreAuthorize("@ss.hasPermission('wms:currencyexchange:update')") + public CommonResult updateCurrencyexchange(@Valid @RequestBody CurrencyexchangeUpdateReqVO updateReqVO) { + currencyexchangeService.updateCurrencyexchange(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除货币转换") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:currencyexchange:delete')") + public CommonResult deleteCurrencyexchange(@RequestParam("id") Long id) { + currencyexchangeService.deleteCurrencyexchange(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得货币转换") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:currencyexchange:query')") + public CommonResult getCurrencyexchange(@RequestParam("id") Long id) { + CurrencyexchangeDO currencyexchange = currencyexchangeService.getCurrencyexchange(id); + return success(CurrencyexchangeConvert.INSTANCE.convert(currencyexchange)); + } + + @GetMapping("/list") + @Operation(summary = "获得货币转换列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:currencyexchange:query')") + public CommonResult> getCurrencyexchangeList(@RequestParam("ids") Collection ids) { + List list = currencyexchangeService.getCurrencyexchangeList(ids); + return success(CurrencyexchangeConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得货币转换分页") + @PreAuthorize("@ss.hasPermission('wms:currencyexchange:query')") + public CommonResult> getCurrencyexchangePage(@Valid CurrencyexchangePageReqVO pageVO) { + PageResult pageResult = currencyexchangeService.getCurrencyexchangePage(pageVO); + return success(CurrencyexchangeConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出货币转换 Excel") + @PreAuthorize("@ss.hasPermission('wms:currencyexchange:export')") + @OperateLog(type = EXPORT) + public void exportCurrencyexchangeExcel(@Valid CurrencyexchangeExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = currencyexchangeService.getCurrencyexchangeList(exportReqVO); + // 导出 Excel + List datas = CurrencyexchangeConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "货币转换.xls", "数据", CurrencyexchangeExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeBaseVO.java new file mode 100644 index 00000000..f027cb8d --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeBaseVO.java @@ -0,0 +1,50 @@ +package com.win.module.wms.controller.currencyexchange.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 货币转换 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class CurrencyexchangeBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "货币不能为空") + private String currency; + + @Schema(description = "基础货币", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "基础货币不能为空") + private String basiccurrency; + + @Schema(description = "比率", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "比率不能为空") + private BigDecimal rate; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeCreateReqVO.java new file mode 100644 index 00000000..026b2b55 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.currencyexchange.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 货币转换创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CurrencyexchangeCreateReqVO extends CurrencyexchangeBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeExcelVO.java new file mode 100644 index 00000000..09ae7c4e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeExcelVO.java @@ -0,0 +1,48 @@ +package com.win.module.wms.controller.currencyexchange.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 货币转换 Excel VO + * + * @author 超级管理员 + */ +@Data +public class CurrencyexchangeExcelVO { + + @ExcelProperty("货币") + private String currency; + + @ExcelProperty("基础货币") + private String basiccurrency; + + @ExcelProperty("比率") + private BigDecimal rate; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeExportReqVO.java new file mode 100644 index 00000000..7f07b47f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeExportReqVO.java @@ -0,0 +1,46 @@ +package com.win.module.wms.controller.currencyexchange.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 货币转换 Excel 导出 Request VO,参数和 CurrencyexchangePageReqVO 是一致的") +@Data +public class CurrencyexchangeExportReqVO { + + @Schema(description = "货币") + private String currency; + + @Schema(description = "基础货币") + private String basiccurrency; + + @Schema(description = "比率") + private BigDecimal rate; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangePageReqVO.java new file mode 100644 index 00000000..b70c885f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangePageReqVO.java @@ -0,0 +1,51 @@ +package com.win.module.wms.controller.currencyexchange.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 货币转换分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CurrencyexchangePageReqVO extends PageParam { + + @Schema(description = "货币") + private String currency; + + @Schema(description = "基础货币") + private String basiccurrency; + + @Schema(description = "比率") + private BigDecimal rate; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeRespVO.java new file mode 100644 index 00000000..1aa83a12 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.currencyexchange.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 货币转换 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CurrencyexchangeRespVO extends CurrencyexchangeBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeUpdateReqVO.java new file mode 100644 index 00000000..ac25a2f8 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/vo/CurrencyexchangeUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.currencyexchange.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 货币转换更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CurrencyexchangeUpdateReqVO extends CurrencyexchangeBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/CustomerController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/CustomerController.java new file mode 100644 index 00000000..da4899d2 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/CustomerController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.customer; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.customer.vo.*; +import com.win.module.wms.convert.customer.CustomerConvert; +import com.win.module.wms.dal.dataobject.customer.CustomerDO; +import com.win.module.wms.service.customer.CustomerService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 客户") +@RestController +@RequestMapping("/wms/customer") +@Validated +public class CustomerController { + + @Resource + private CustomerService customerService; + + @PostMapping("/create") + @Operation(summary = "创建客户") + @PreAuthorize("@ss.hasPermission('wms:customer:create')") + public CommonResult createCustomer(@Valid @RequestBody CustomerCreateReqVO createReqVO) { + return success(customerService.createCustomer(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新客户") + @PreAuthorize("@ss.hasPermission('wms:customer:update')") + public CommonResult updateCustomer(@Valid @RequestBody CustomerUpdateReqVO updateReqVO) { + customerService.updateCustomer(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除客户") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:customer:delete')") + public CommonResult deleteCustomer(@RequestParam("id") Long id) { + customerService.deleteCustomer(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得客户") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:customer:query')") + public CommonResult getCustomer(@RequestParam("id") Long id) { + CustomerDO customer = customerService.getCustomer(id); + return success(CustomerConvert.INSTANCE.convert(customer)); + } + + @GetMapping("/list") + @Operation(summary = "获得客户列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:customer:query')") + public CommonResult> getCustomerList(@RequestParam("ids") Collection ids) { + List list = customerService.getCustomerList(ids); + return success(CustomerConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得客户分页") + @PreAuthorize("@ss.hasPermission('wms:customer:query')") + public CommonResult> getCustomerPage(@Valid CustomerPageReqVO pageVO) { + PageResult pageResult = customerService.getCustomerPage(pageVO); + return success(CustomerConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出客户 Excel") + @PreAuthorize("@ss.hasPermission('wms:customer:export')") + @OperateLog(type = EXPORT) + public void exportCustomerExcel(@Valid CustomerExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = customerService.getCustomerList(exportReqVO); + // 导出 Excel + List datas = CustomerConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "客户.xls", "数据", CustomerExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerBaseVO.java new file mode 100644 index 00000000..ea59a062 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerBaseVO.java @@ -0,0 +1,82 @@ +package com.win.module.wms.controller.customer.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 客户 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class CustomerBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "简称", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "简称不能为空") + private String shortName; + + @Schema(description = "地址") + private String address; + + @Schema(description = "国家") + private String country; + + @Schema(description = "城市") + private String city; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "传真") + private String fax; + + @Schema(description = "邮编") + private String postId; + + @Schema(description = "联系人") + private String contacts; + + @Schema(description = "银行") + private String bank; + + @Schema(description = "币种") + private String currency; + + @Schema(description = "税率") + private BigDecimal taxRate; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerCreateReqVO.java new file mode 100644 index 00000000..2183867b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.customer.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 客户创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerCreateReqVO extends CustomerBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerExcelVO.java new file mode 100644 index 00000000..fc4879f0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerExcelVO.java @@ -0,0 +1,83 @@ +package com.win.module.wms.controller.customer.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 客户 Excel VO + * + * @author 超级管理员 + */ +@Data +public class CustomerExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("简称") + private String shortName; + + @ExcelProperty("地址") + private String address; + + @ExcelProperty("国家") + private String country; + + @ExcelProperty("城市") + private String city; + + @ExcelProperty("电话") + private String phone; + + @ExcelProperty("传真") + private String fax; + + @ExcelProperty("邮编") + private String postId; + + @ExcelProperty("联系人") + private String contacts; + + @ExcelProperty("银行") + private String bank; + + @ExcelProperty(value = "币种", converter = DictConvert.class) + @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String currency; + + @ExcelProperty("税率") + private BigDecimal taxRate; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("customer_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerExportReqVO.java new file mode 100644 index 00000000..ad8f8895 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerExportReqVO.java @@ -0,0 +1,79 @@ +package com.win.module.wms.controller.customer.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 客户 Excel 导出 Request VO,参数和 CustomerPageReqVO 是一致的") +@Data +public class CustomerExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "简称") + private String shortName; + + @Schema(description = "地址") + private String address; + + @Schema(description = "国家") + private String country; + + @Schema(description = "城市") + private String city; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "传真") + private String fax; + + @Schema(description = "邮编") + private String postId; + + @Schema(description = "联系人") + private String contacts; + + @Schema(description = "银行") + private String bank; + + @Schema(description = "币种") + private String currency; + + @Schema(description = "税率") + private BigDecimal taxRate; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerPageReqVO.java new file mode 100644 index 00000000..74ce3f7d --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerPageReqVO.java @@ -0,0 +1,84 @@ +package com.win.module.wms.controller.customer.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 客户分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "简称") + private String shortName; + + @Schema(description = "地址") + private String address; + + @Schema(description = "国家") + private String country; + + @Schema(description = "城市") + private String city; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "传真") + private String fax; + + @Schema(description = "邮编") + private String postId; + + @Schema(description = "联系人") + private String contacts; + + @Schema(description = "银行") + private String bank; + + @Schema(description = "币种") + private String currency; + + @Schema(description = "税率") + private BigDecimal taxRate; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerRespVO.java new file mode 100644 index 00000000..2f3c5295 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.customer.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 客户 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerRespVO extends CustomerBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerUpdateReqVO.java new file mode 100644 index 00000000..c010126a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/vo/CustomerUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.customer.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 客户更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerUpdateReqVO extends CustomerBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/CustomerdockController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/CustomerdockController.java new file mode 100644 index 00000000..8e70824b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/CustomerdockController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.customerdock; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.customerdock.vo.*; +import com.win.module.wms.convert.customerdock.CustomerdockConvert; +import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO; +import com.win.module.wms.service.customerdock.CustomerdockService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 客户月台") +@RestController +@RequestMapping("/wms/customerdock") +@Validated +public class CustomerdockController { + + @Resource + private CustomerdockService customerdockService; + + @PostMapping("/create") + @Operation(summary = "创建客户月台") + @PreAuthorize("@ss.hasPermission('wms:customerdock:create')") + public CommonResult createCustomerdock(@Valid @RequestBody CustomerdockCreateReqVO createReqVO) { + return success(customerdockService.createCustomerdock(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新客户月台") + @PreAuthorize("@ss.hasPermission('wms:customerdock:update')") + public CommonResult updateCustomerdock(@Valid @RequestBody CustomerdockUpdateReqVO updateReqVO) { + customerdockService.updateCustomerdock(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除客户月台") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:customerdock:delete')") + public CommonResult deleteCustomerdock(@RequestParam("id") Long id) { + customerdockService.deleteCustomerdock(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得客户月台") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:customerdock:query')") + public CommonResult getCustomerdock(@RequestParam("id") Long id) { + CustomerdockDO customerdock = customerdockService.getCustomerdock(id); + return success(CustomerdockConvert.INSTANCE.convert(customerdock)); + } + + @GetMapping("/list") + @Operation(summary = "获得客户月台列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:customerdock:query')") + public CommonResult> getCustomerdockList(@RequestParam("ids") Collection ids) { + List list = customerdockService.getCustomerdockList(ids); + return success(CustomerdockConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得客户月台分页") + @PreAuthorize("@ss.hasPermission('wms:customerdock:query')") + public CommonResult> getCustomerdockPage(@Valid CustomerdockPageReqVO pageVO) { + PageResult pageResult = customerdockService.getCustomerdockPage(pageVO); + return success(CustomerdockConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出客户月台 Excel") + @PreAuthorize("@ss.hasPermission('wms:customerdock:export')") + @OperateLog(type = EXPORT) + public void exportCustomerdockExcel(@Valid CustomerdockExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = customerdockService.getCustomerdockList(exportReqVO); + // 导出 Excel + List datas = CustomerdockConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "客户月台.xls", "数据", CustomerdockExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockBaseVO.java new file mode 100644 index 00000000..67fea107 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockBaseVO.java @@ -0,0 +1,70 @@ +package com.win.module.wms.controller.customerdock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 客户月台 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class CustomerdockBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "城市") + private String city; + + @Schema(description = "地址") + private String address; + + @Schema(description = "联系人姓名") + private String contactPerson; + + @Schema(description = "联系人电话") + private String contactPhone; + + @Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "客户代码不能为空") + private String customerCode; + + @Schema(description = "仓库") + private String warehouseCode; + + @Schema(description = "默认库位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "默认库位不能为空") + private String defaultLocationCode; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockCreateReqVO.java new file mode 100644 index 00000000..7716b671 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.customerdock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 客户月台创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerdockCreateReqVO extends CustomerdockBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockExcelVO.java new file mode 100644 index 00000000..8abaaefc --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockExcelVO.java @@ -0,0 +1,68 @@ +package com.win.module.wms.controller.customerdock.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 客户月台 Excel VO + * + * @author 超级管理员 + */ +@Data +public class CustomerdockExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty("城市") + private String city; + + @ExcelProperty("地址") + private String address; + + @ExcelProperty("联系人姓名") + private String contactPerson; + + @ExcelProperty("联系人电话") + private String contactPhone; + + @ExcelProperty("客户代码") + private String customerCode; + + @ExcelProperty("仓库") + private String warehouseCode; + + @ExcelProperty("默认库位") + private String defaultLocationCode; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockExportReqVO.java new file mode 100644 index 00000000..62ddba89 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockExportReqVO.java @@ -0,0 +1,66 @@ +package com.win.module.wms.controller.customerdock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 客户月台 Excel 导出 Request VO,参数和 CustomerdockPageReqVO 是一致的") +@Data +public class CustomerdockExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "城市") + private String city; + + @Schema(description = "地址") + private String address; + + @Schema(description = "联系人姓名") + private String contactPerson; + + @Schema(description = "联系人电话") + private String contactPhone; + + @Schema(description = "客户代码") + private String customerCode; + + @Schema(description = "仓库") + private String warehouseCode; + + @Schema(description = "默认库位") + private String defaultLocationCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockPageReqVO.java new file mode 100644 index 00000000..6191038f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockPageReqVO.java @@ -0,0 +1,71 @@ +package com.win.module.wms.controller.customerdock.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 客户月台分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerdockPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "城市") + private String city; + + @Schema(description = "地址") + private String address; + + @Schema(description = "联系人姓名") + private String contactPerson; + + @Schema(description = "联系人电话") + private String contactPhone; + + @Schema(description = "客户代码") + private String customerCode; + + @Schema(description = "仓库") + private String warehouseCode; + + @Schema(description = "默认库位") + private String defaultLocationCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockRespVO.java new file mode 100644 index 00000000..408d5f9c --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.customerdock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 客户月台 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerdockRespVO extends CustomerdockBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockUpdateReqVO.java new file mode 100644 index 00000000..b0c485e6 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/vo/CustomerdockUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.customerdock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 客户月台更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerdockUpdateReqVO extends CustomerdockBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/CustomeritemController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/CustomeritemController.java new file mode 100644 index 00000000..92178b59 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/CustomeritemController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.customeritem; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.customeritem.vo.*; +import com.win.module.wms.convert.customeritem.CustomeritemConvert; +import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; +import com.win.module.wms.service.customeritem.CustomeritemService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 客户物品") +@RestController +@RequestMapping("/wms/customeritem") +@Validated +public class CustomeritemController { + + @Resource + private CustomeritemService customeritemService; + + @PostMapping("/create") + @Operation(summary = "创建客户物品") + @PreAuthorize("@ss.hasPermission('wms:customeritem:create')") + public CommonResult createCustomeritem(@Valid @RequestBody CustomeritemCreateReqVO createReqVO) { + return success(customeritemService.createCustomeritem(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新客户物品") + @PreAuthorize("@ss.hasPermission('wms:customeritem:update')") + public CommonResult updateCustomeritem(@Valid @RequestBody CustomeritemUpdateReqVO updateReqVO) { + customeritemService.updateCustomeritem(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除客户物品") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:customeritem:delete')") + public CommonResult deleteCustomeritem(@RequestParam("id") Long id) { + customeritemService.deleteCustomeritem(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得客户物品") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:customeritem:query')") + public CommonResult getCustomeritem(@RequestParam("id") Long id) { + CustomeritemDO customeritem = customeritemService.getCustomeritem(id); + return success(CustomeritemConvert.INSTANCE.convert(customeritem)); + } + + @GetMapping("/list") + @Operation(summary = "获得客户物品列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:customeritem:query')") + public CommonResult> getCustomeritemList(@RequestParam("ids") Collection ids) { + List list = customeritemService.getCustomeritemList(ids); + return success(CustomeritemConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得客户物品分页") + @PreAuthorize("@ss.hasPermission('wms:customeritem:query')") + public CommonResult> getCustomeritemPage(@Valid CustomeritemPageReqVO pageVO) { + PageResult pageResult = customeritemService.getCustomeritemPage(pageVO); + return success(CustomeritemConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出客户物品 Excel") + @PreAuthorize("@ss.hasPermission('wms:customeritem:export')") + @OperateLog(type = EXPORT) + public void exportCustomeritemExcel(@Valid CustomeritemExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = customeritemService.getCustomeritemList(exportReqVO); + // 导出 Excel + List datas = CustomeritemConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "客户物品.xls", "数据", CustomeritemExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemBaseVO.java new file mode 100644 index 00000000..051b7208 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemBaseVO.java @@ -0,0 +1,73 @@ +package com.win.module.wms.controller.customeritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 客户物品 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class CustomeritemBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "客户代码不能为空") + private String customerCode; + + @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物料代码不能为空") + private String itemCode; + + @Schema(description = "客户物料代码") + private String customerItemCode; + + @Schema(description = "客户计量单位") + private String cusotmerUom; + + @Schema(description = "转换率") + private BigDecimal convertRate; + + @Schema(description = "客户包装单位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "客户包装单位不能为空") + private String packUnit; + + @Schema(description = "客户包装量", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "客户包装量不能为空") + private BigDecimal packQty; + + @Schema(description = "客户替代包装单位") + private String altPackUnit; + + @Schema(description = "客户替代包装量") + private BigDecimal altPackQty; + + @Schema(description = "每器具包装数", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "每器具包装数不能为空") + private Integer packQtyOfContainer; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemCreateReqVO.java new file mode 100644 index 00000000..0e0f5b4f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.customeritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 客户物品创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomeritemCreateReqVO extends CustomeritemBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemExcelVO.java new file mode 100644 index 00000000..c6009931 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemExcelVO.java @@ -0,0 +1,72 @@ +package com.win.module.wms.controller.customeritem.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 客户物品 Excel VO + * + * @author 超级管理员 + */ +@Data +public class CustomeritemExcelVO { + + @ExcelProperty("客户代码") + private String customerCode; + + @ExcelProperty("物料代码") + private String itemCode; + + @ExcelProperty("客户物料代码") + private String customerItemCode; + + @ExcelProperty(value = "客户计量单位", converter = DictConvert.class) + @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String cusotmerUom; + + @ExcelProperty("转换率") + private BigDecimal convertRate; + + @ExcelProperty(value = "客户包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String packUnit; + + @ExcelProperty("客户包装量") + private BigDecimal packQty; + + @ExcelProperty(value = "客户替代包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String altPackUnit; + + @ExcelProperty("客户替代包装量") + private BigDecimal altPackQty; + + @ExcelProperty("每器具包装数") + private Integer packQtyOfContainer; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemExportReqVO.java new file mode 100644 index 00000000..8358bbfe --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemExportReqVO.java @@ -0,0 +1,67 @@ +package com.win.module.wms.controller.customeritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 客户物品 Excel 导出 Request VO,参数和 CustomeritemPageReqVO 是一致的") +@Data +public class CustomeritemExportReqVO { + + @Schema(description = "客户代码") + private String customerCode; + + @Schema(description = "物料代码") + private String itemCode; + + @Schema(description = "客户物料代码") + private String customerItemCode; + + @Schema(description = "客户计量单位") + private String cusotmerUom; + + @Schema(description = "转换率") + private BigDecimal convertRate; + + @Schema(description = "客户包装单位") + private String packUnit; + + @Schema(description = "客户包装量") + private BigDecimal packQty; + + @Schema(description = "客户替代包装单位") + private String altPackUnit; + + @Schema(description = "客户替代包装量") + private BigDecimal altPackQty; + + @Schema(description = "每器具包装数") + private Integer packQtyOfContainer; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemPageReqVO.java new file mode 100644 index 00000000..d2f1e0b6 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemPageReqVO.java @@ -0,0 +1,72 @@ +package com.win.module.wms.controller.customeritem.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 客户物品分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomeritemPageReqVO extends PageParam { + + @Schema(description = "客户代码") + private String customerCode; + + @Schema(description = "物料代码") + private String itemCode; + + @Schema(description = "客户物料代码") + private String customerItemCode; + + @Schema(description = "客户计量单位") + private String cusotmerUom; + + @Schema(description = "转换率") + private BigDecimal convertRate; + + @Schema(description = "客户包装单位") + private String packUnit; + + @Schema(description = "客户包装量") + private BigDecimal packQty; + + @Schema(description = "客户替代包装单位") + private String altPackUnit; + + @Schema(description = "客户替代包装量") + private BigDecimal altPackQty; + + @Schema(description = "每器具包装数") + private Integer packQtyOfContainer; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemRespVO.java new file mode 100644 index 00000000..569a3309 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.customeritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 客户物品 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomeritemRespVO extends CustomeritemBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemUpdateReqVO.java new file mode 100644 index 00000000..4f7b4502 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/vo/CustomeritemUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.customeritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 客户物品更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomeritemUpdateReqVO extends CustomeritemBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/DockController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/DockController.java new file mode 100644 index 00000000..f3df63da --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/DockController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.dock; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.dock.vo.*; +import com.win.module.wms.convert.dock.DockConvert; +import com.win.module.wms.dal.dataobject.dock.DockDO; +import com.win.module.wms.service.dock.DockService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 月台") +@RestController +@RequestMapping("/wms/dock") +@Validated +public class DockController { + + @Resource + private DockService dockService; + + @PostMapping("/create") + @Operation(summary = "创建月台") + @PreAuthorize("@ss.hasPermission('wms:dock:create')") + public CommonResult createDock(@Valid @RequestBody DockCreateReqVO createReqVO) { + return success(dockService.createDock(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新月台") + @PreAuthorize("@ss.hasPermission('wms:dock:update')") + public CommonResult updateDock(@Valid @RequestBody DockUpdateReqVO updateReqVO) { + dockService.updateDock(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除月台") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:dock:delete')") + public CommonResult deleteDock(@RequestParam("id") Long id) { + dockService.deleteDock(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得月台") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:dock:query')") + public CommonResult getDock(@RequestParam("id") Long id) { + DockDO dock = dockService.getDock(id); + return success(DockConvert.INSTANCE.convert(dock)); + } + + @GetMapping("/list") + @Operation(summary = "获得月台列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:dock:query')") + public CommonResult> getDockList(@RequestParam("ids") Collection ids) { + List list = dockService.getDockList(ids); + return success(DockConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得月台分页") + @PreAuthorize("@ss.hasPermission('wms:dock:query')") + public CommonResult> getDockPage(@Valid DockPageReqVO pageVO) { + PageResult pageResult = dockService.getDockPage(pageVO); + return success(DockConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出月台 Excel") + @PreAuthorize("@ss.hasPermission('wms:dock:export')") + @OperateLog(type = EXPORT) + public void exportDockExcel(@Valid DockExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = dockService.getDockList(exportReqVO); + // 导出 Excel + List datas = DockConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "月台.xls", "数据", DockExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockBaseVO.java new file mode 100644 index 00000000..cbc10ff1 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockBaseVO.java @@ -0,0 +1,71 @@ +package com.win.module.wms.controller.dock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 月台 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class DockBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "城市") + private String city; + + @Schema(description = "地址") + private String address; + + @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "类型不能为空") + private String type; + + @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "仓库代码不能为空") + private String warehouseCode; + + @Schema(description = "默认库位代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "默认库位代码不能为空") + private String defaultLocationCode; + + @Schema(description = "联系人姓名") + private String contactPerson; + + @Schema(description = "联系人电话") + private String contactPhone; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockCreateReqVO.java new file mode 100644 index 00000000..33a21788 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.dock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 月台创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DockCreateReqVO extends DockBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockExcelVO.java new file mode 100644 index 00000000..37ae4708 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockExcelVO.java @@ -0,0 +1,69 @@ +package com.win.module.wms.controller.dock.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 月台 Excel VO + * + * @author 超级管理员 + */ +@Data +public class DockExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty("城市") + private String city; + + @ExcelProperty("地址") + private String address; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("dock_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty("仓库代码") + private String warehouseCode; + + @ExcelProperty("默认库位代码") + private String defaultLocationCode; + + @ExcelProperty("联系人姓名") + private String contactPerson; + + @ExcelProperty("联系人电话") + private String contactPhone; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockExportReqVO.java new file mode 100644 index 00000000..687702c4 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockExportReqVO.java @@ -0,0 +1,66 @@ +package com.win.module.wms.controller.dock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 月台 Excel 导出 Request VO,参数和 DockPageReqVO 是一致的") +@Data +public class DockExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "城市") + private String city; + + @Schema(description = "地址") + private String address; + + @Schema(description = "类型") + private String type; + + @Schema(description = "仓库代码") + private String warehouseCode; + + @Schema(description = "默认库位代码") + private String defaultLocationCode; + + @Schema(description = "联系人姓名") + private String contactPerson; + + @Schema(description = "联系人电话") + private String contactPhone; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockPageReqVO.java new file mode 100644 index 00000000..c7c9d4d9 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockPageReqVO.java @@ -0,0 +1,71 @@ +package com.win.module.wms.controller.dock.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 月台分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DockPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "城市") + private String city; + + @Schema(description = "地址") + private String address; + + @Schema(description = "类型") + private String type; + + @Schema(description = "仓库代码") + private String warehouseCode; + + @Schema(description = "默认库位代码") + private String defaultLocationCode; + + @Schema(description = "联系人姓名") + private String contactPerson; + + @Schema(description = "联系人电话") + private String contactPhone; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockRespVO.java new file mode 100644 index 00000000..cf2c3e13 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.dock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 月台 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DockRespVO extends DockBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockUpdateReqVO.java new file mode 100644 index 00000000..a5049e83 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/vo/DockUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.dock.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 月台更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DockUpdateReqVO extends DockBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/ItembasicController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/ItembasicController.java new file mode 100644 index 00000000..46d62c72 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/ItembasicController.java @@ -0,0 +1,120 @@ +package com.win.module.wms.controller.itembasic; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.itembasic.vo.*; +import com.win.module.wms.convert.itembasic.ItembasicConvert; +import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; +import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper; +import com.win.module.wms.service.itembasic.ItembasicService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; +import static com.win.module.wms.enums.itembasic.ErrorCodeConstants.CODE_NOT_ONLY; + +@Tag(name = "管理后台 - 物品基本信息") +@RestController +@RequestMapping("/wms/itembasic") +@Validated +public class ItembasicController { + + @Resource + private ItembasicService itembasicService; + + @Resource + private ItembasicMapper itembasicMapper; + + @PostMapping("/create") + @Operation(summary = "创建物品基本信息") + @PreAuthorize("@ss.hasPermission('wms:itembasic:create')") + public CommonResult createItembasic(@Valid @RequestBody ItembasicCreateReqVO createReqVO) { + checkCodeOnly(createReqVO); + return success(itembasicService.createItembasic(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物品基本信息") + @PreAuthorize("@ss.hasPermission('wms:itembasic:update')") + public CommonResult updateItembasic(@Valid @RequestBody ItembasicUpdateReqVO updateReqVO) { + checkCodeOnly(updateReqVO); + itembasicService.updateItembasic(updateReqVO); + return success(true); + } + + @Operation(summary = "校验code唯一") + public void checkCodeOnly(ItembasicBaseVO vo){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("code",vo.getCode()); + if(!(null == itembasicMapper.selectOne(queryWrapper))){ + ItembasicDO itembasicDO = itembasicMapper.selectOne(queryWrapper); + if(itembasicDO.getCode().equals(vo.getCode()) && !itembasicDO.getId().equals(vo.getId())){ + throw exception(CODE_NOT_ONLY); + } + } + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物品基本信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:itembasic:delete')") + public CommonResult deleteItembasic(@RequestParam("id") Long id) { + itembasicService.deleteItembasic(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物品基本信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:itembasic:query')") + public CommonResult getItembasic(@RequestParam("id") Long id) { + ItembasicDO itembasic = itembasicService.getItembasic(id); + return success(ItembasicConvert.INSTANCE.convert(itembasic)); + } + + @GetMapping("/list") + @Operation(summary = "获得物品基本信息列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:itembasic:query')") + public CommonResult> getItembasicList(@RequestParam("ids") Collection ids) { + List list = itembasicService.getItembasicList(ids); + return success(ItembasicConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得物品基本信息分页") + @PreAuthorize("@ss.hasPermission('wms:itembasic:query')") + public CommonResult> getItembasicPage(@Valid ItembasicPageReqVO pageVO) { + PageResult pageResult = itembasicService.getItembasicPage(pageVO); + return success(ItembasicConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物品基本信息 Excel") + @PreAuthorize("@ss.hasPermission('wms:itembasic:export')") + @OperateLog(type = EXPORT) + public void exportItembasicExcel(@Valid ItembasicExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = itembasicService.getItembasicList(exportReqVO); + // 导出 Excel + List datas = ItembasicConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "物品基本信息.xls", "数据", ItembasicExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicBaseVO.java new file mode 100644 index 00000000..13f6b540 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicBaseVO.java @@ -0,0 +1,115 @@ +package com.win.module.wms.controller.itembasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 物品基本信息 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class ItembasicBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称", example = "李四") + private String name; + + @Schema(description = "描述1") + private String desc1; + + @Schema(description = "描述2") + private String desc2; + + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "状态不能为空") + private String status; + + @Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "计量单位不能为空") + private String uom; + + @Schema(description = "替代计量单位") + private String altUom; + + @Schema(description = "是否标包", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否标包不能为空") + private Integer isStdPack; + + @Schema(description = "可采购", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "可采购不能为空") + private Integer enableBuy; + + @Schema(description = "可制造", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "可制造不能为空") + private Integer enableMake; + + @Schema(description = "可委外加工", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "可委外加工不能为空") + private Integer enableOutsourcing; + + @Schema(description = "回收件", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "回收件不能为空") + private Integer isRecycled; + + @Schema(description = "虚零件", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "虚零件不能为空") + private Integer isPhantom; + + @Schema(description = "ABC类", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "ABC类不能为空") + private String abcClass; + + @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "类型不能为空") + private String type; + + @Schema(description = "种类") + private String category; + + @Schema(description = "分组") + private String itemGroup; + + @Schema(description = "颜色") + private String color; + + @Schema(description = "配置") + private String configuration; + + @Schema(description = "项目") + private String project; + + @Schema(description = "质量等级") + private String eqLevel; + + @Schema(description = "有效天数", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "有效天数不能为空") + private Integer validityDays; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注", example = "你猜") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicCreateReqVO.java new file mode 100644 index 00000000..4ddeedbf --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.itembasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 物品基本信息创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ItembasicCreateReqVO extends ItembasicBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicExcelVO.java new file mode 100644 index 00000000..1d7d1f60 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicExcelVO.java @@ -0,0 +1,119 @@ +package com.win.module.wms.controller.itembasic.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 物品基本信息 Excel VO + * + * @author 超级管理员 + */ +@Data +public class ItembasicExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述1") + private String desc1; + + @ExcelProperty("描述2") + private String desc2; + + @ExcelProperty(value = "状态", converter = DictConvert.class) + @DictFormat("item_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String status; + + @ExcelProperty(value = "计量单位", converter = DictConvert.class) + @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String uom; + + @ExcelProperty(value = "替代计量单位", converter = DictConvert.class) + @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String altUom; + + @ExcelProperty(value = "是否标包", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer isStdPack; + + @ExcelProperty(value = "可采购", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer enableBuy; + + @ExcelProperty(value = "可制造", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer enableMake; + + @ExcelProperty(value = "可委外加工", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer enableOutsourcing; + + @ExcelProperty(value = "回收件", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer isRecycled; + + @ExcelProperty(value = "虚零件", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer isPhantom; + + @ExcelProperty(value = "ABC类", converter = DictConvert.class) + @DictFormat("abc_class") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String abcClass; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("item_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty(value = "种类", converter = DictConvert.class) + @DictFormat("Item_category") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String category; + + @ExcelProperty(value = "分组", converter = DictConvert.class) + @DictFormat("item_group") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String itemGroup; + + @ExcelProperty(value = "颜色", converter = DictConvert.class) + @DictFormat("item_color") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String color; + + @ExcelProperty(value = "配置", converter = DictConvert.class) + @DictFormat("item_configuration") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String configuration; + + @ExcelProperty("项目") + private String project; + + @ExcelProperty(value = "质量等级", converter = DictConvert.class) + @DictFormat("eq_level") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String eqLevel; + + @ExcelProperty("有效天数") + private Integer validityDays; + + @ExcelProperty("是否可用") + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicExportReqVO.java new file mode 100644 index 00000000..bf778cc6 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicExportReqVO.java @@ -0,0 +1,102 @@ +package com.win.module.wms.controller.itembasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物品基本信息 Excel 导出 Request VO,参数和 ItembasicPageReqVO 是一致的") +@Data +public class ItembasicExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称", example = "李四") + private String name; + + @Schema(description = "描述1") + private String desc1; + + @Schema(description = "描述2") + private String desc2; + + @Schema(description = "状态", example = "2") + private String status; + + @Schema(description = "计量单位") + private String uom; + + @Schema(description = "替代计量单位") + private String altUom; + + @Schema(description = "是否标包") + private Integer isStdPack; + + @Schema(description = "可采购") + private Integer enableBuy; + + @Schema(description = "可制造") + private Integer enableMake; + + @Schema(description = "可委外加工") + private Integer enableOutsourcing; + + @Schema(description = "回收件") + private Integer isRecycled; + + @Schema(description = "虚零件") + private Integer isPhantom; + + @Schema(description = "ABC类") + private String abcClass; + + @Schema(description = "类型", example = "1") + private String type; + + @Schema(description = "种类") + private String category; + + @Schema(description = "分组") + private String itemGroup; + + @Schema(description = "颜色") + private String color; + + @Schema(description = "配置") + private String configuration; + + @Schema(description = "项目") + private String project; + + @Schema(description = "质量等级") + private String eqLevel; + + @Schema(description = "有效天数") + private Integer validityDays; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicPageReqVO.java new file mode 100644 index 00000000..1392e59e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicPageReqVO.java @@ -0,0 +1,107 @@ +package com.win.module.wms.controller.itembasic.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物品基本信息分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ItembasicPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称", example = "李四") + private String name; + + @Schema(description = "描述1") + private String desc1; + + @Schema(description = "描述2") + private String desc2; + + @Schema(description = "状态", example = "2") + private String status; + + @Schema(description = "计量单位") + private String uom; + + @Schema(description = "替代计量单位") + private String altUom; + + @Schema(description = "是否标包") + private Integer isStdPack; + + @Schema(description = "可采购") + private Integer enableBuy; + + @Schema(description = "可制造") + private Integer enableMake; + + @Schema(description = "可委外加工") + private Integer enableOutsourcing; + + @Schema(description = "回收件") + private Integer isRecycled; + + @Schema(description = "虚零件") + private Integer isPhantom; + + @Schema(description = "ABC类") + private String abcClass; + + @Schema(description = "类型", example = "1") + private String type; + + @Schema(description = "种类") + private String category; + + @Schema(description = "分组") + private String itemGroup; + + @Schema(description = "颜色") + private String color; + + @Schema(description = "配置") + private String configuration; + + @Schema(description = "项目") + private String project; + + @Schema(description = "质量等级") + private String eqLevel; + + @Schema(description = "有效天数") + private Integer validityDays; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicRespVO.java new file mode 100644 index 00000000..4d46348a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.itembasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物品基本信息 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ItembasicRespVO extends ItembasicBaseVO { + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicUpdateReqVO.java new file mode 100644 index 00000000..584e349a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/vo/ItembasicUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.itembasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 物品基本信息更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ItembasicUpdateReqVO extends ItembasicBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/ItempackagingController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/ItempackagingController.java new file mode 100644 index 00000000..cb8f4392 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/ItempackagingController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.itempackaging; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.itempackaging.vo.*; +import com.win.module.wms.convert.itempackaging.ItempackagingConvert; +import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; +import com.win.module.wms.service.itempackaging.ItempackagingService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 物品包装信息 ") +@RestController +@RequestMapping("/wms/itempackaging") +@Validated +public class ItempackagingController { + + @Resource + private ItempackagingService itempackagingService; + + @PostMapping("/create") + @Operation(summary = "创建物品包装信息 ") + @PreAuthorize("@ss.hasPermission('wms:itempackaging:create')") + public CommonResult createItempackaging(@Valid @RequestBody ItempackagingCreateReqVO createReqVO) { + return success(itempackagingService.createItempackaging(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物品包装信息 ") + @PreAuthorize("@ss.hasPermission('wms:itempackaging:update')") + public CommonResult updateItempackaging(@Valid @RequestBody ItempackagingUpdateReqVO updateReqVO) { + itempackagingService.updateItempackaging(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物品包装信息 ") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:itempackaging:delete')") + public CommonResult deleteItempackaging(@RequestParam("id") Long id) { + itempackagingService.deleteItempackaging(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物品包装信息 ") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:itempackaging:query')") + public CommonResult getItempackaging(@RequestParam("id") Long id) { + ItempackagingDO itempackaging = itempackagingService.getItempackaging(id); + return success(ItempackagingConvert.INSTANCE.convert(itempackaging)); + } + + @GetMapping("/list") + @Operation(summary = "获得物品包装信息 列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:itempackaging:query')") + public CommonResult> getItempackagingList(@RequestParam("ids") Collection ids) { + List list = itempackagingService.getItempackagingList(ids); + return success(ItempackagingConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得物品包装信息 分页") + @PreAuthorize("@ss.hasPermission('wms:itempackaging:query')") + public CommonResult> getItempackagingPage(@Valid ItempackagingPageReqVO pageVO) { + PageResult pageResult = itempackagingService.getItempackagingPage(pageVO); + return success(ItempackagingConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物品包装信息 Excel") + @PreAuthorize("@ss.hasPermission('wms:itempackaging:export')") + @OperateLog(type = EXPORT) + public void exportItempackagingExcel(@Valid ItempackagingExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = itempackagingService.getItempackagingList(exportReqVO); + // 导出 Excel + List datas = ItempackagingConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "物品包装信息 .xls", "数据", ItempackagingExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingBaseVO.java new file mode 100644 index 00000000..9d28366a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingBaseVO.java @@ -0,0 +1,78 @@ +package com.win.module.wms.controller.itempackaging.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 物品包装信息 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class ItempackagingBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物品代码不能为空") + private String itemCode; + + @Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "计量单位不能为空") + private String uom; + + @Schema(description = "包装单位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "包装单位不能为空") + private String stdPackUnit; + + @Schema(description = "包装数量", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "包装数量不能为空") + private BigDecimal stdPackQty; + + @Schema(description = "替代包装单位") + private String altPackUnit1; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty1; + + @Schema(description = "替代包装单位") + private String altPackUnit2; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty2; + + @Schema(description = "替代包装单位") + private String altPackUnit3; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty3; + + @Schema(description = "替代包装单位") + private String altPackUnit4; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty4; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingCreateReqVO.java new file mode 100644 index 00000000..6835e02e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.itempackaging.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 物品包装信息 创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ItempackagingCreateReqVO extends ItempackagingBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingExcelVO.java new file mode 100644 index 00000000..a3b4f1d7 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingExcelVO.java @@ -0,0 +1,81 @@ +package com.win.module.wms.controller.itempackaging.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 物品包装信息 Excel VO + * + * @author 超级管理员 + */ +@Data +public class ItempackagingExcelVO { + + @ExcelProperty("物品代码") + private String itemCode; + + @ExcelProperty(value = "计量单位", converter = DictConvert.class) + @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String uom; + + @ExcelProperty(value = "包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String stdPackUnit; + + @ExcelProperty("包装数量") + private BigDecimal stdPackQty; + + @ExcelProperty(value = "替代包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String altPackUnit1; + + @ExcelProperty("替代包装量") + private BigDecimal altPackQty1; + + @ExcelProperty(value = "替代包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String altPackUnit2; + + @ExcelProperty("替代包装量") + private BigDecimal altPackQty2; + + @ExcelProperty(value = "替代包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String altPackUnit3; + + @ExcelProperty("替代包装量") + private BigDecimal altPackQty3; + + @ExcelProperty(value = "替代包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String altPackUnit4; + + @ExcelProperty("替代包装量") + private BigDecimal altPackQty4; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingExportReqVO.java new file mode 100644 index 00000000..e6578b0d --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingExportReqVO.java @@ -0,0 +1,73 @@ +package com.win.module.wms.controller.itempackaging.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物品包装信息 Excel 导出 Request VO,参数和 ItempackagingPageReqVO 是一致的") +@Data +public class ItempackagingExportReqVO { + + @Schema(description = "物品代码") + private String itemCode; + + @Schema(description = "计量单位") + private String uom; + + @Schema(description = "包装单位") + private String stdPackUnit; + + @Schema(description = "包装数量") + private BigDecimal stdPackQty; + + @Schema(description = "替代包装单位") + private String altPackUnit1; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty1; + + @Schema(description = "替代包装单位") + private String altPackUnit2; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty2; + + @Schema(description = "替代包装单位") + private String altPackUnit3; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty3; + + @Schema(description = "替代包装单位") + private String altPackUnit4; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty4; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingPageReqVO.java new file mode 100644 index 00000000..fbf37f67 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingPageReqVO.java @@ -0,0 +1,78 @@ +package com.win.module.wms.controller.itempackaging.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物品包装信息 分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ItempackagingPageReqVO extends PageParam { + + @Schema(description = "物品代码") + private String itemCode; + + @Schema(description = "计量单位") + private String uom; + + @Schema(description = "包装单位") + private String stdPackUnit; + + @Schema(description = "包装数量") + private BigDecimal stdPackQty; + + @Schema(description = "替代包装单位") + private String altPackUnit1; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty1; + + @Schema(description = "替代包装单位") + private String altPackUnit2; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty2; + + @Schema(description = "替代包装单位") + private String altPackUnit3; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty3; + + @Schema(description = "替代包装单位") + private String altPackUnit4; + + @Schema(description = "替代包装量") + private BigDecimal altPackQty4; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingRespVO.java new file mode 100644 index 00000000..ca342a82 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.itempackaging.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物品包装信息 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ItempackagingRespVO extends ItempackagingBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingUpdateReqVO.java new file mode 100644 index 00000000..a9c40b5c --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/vo/ItempackagingUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.itempackaging.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 物品包装信息 更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ItempackagingUpdateReqVO extends ItempackagingBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java new file mode 100644 index 00000000..2fecec0f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.location; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.location.vo.*; +import com.win.module.wms.convert.location.LocationConvert; +import com.win.module.wms.dal.dataobject.location.LocationDO; +import com.win.module.wms.service.location.LocationService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 库位") +@RestController +@RequestMapping("/wms/location") +@Validated +public class LocationController { + + @Resource + private LocationService locationService; + + @PostMapping("/create") + @Operation(summary = "创建库位") + @PreAuthorize("@ss.hasPermission('wms:location:create')") + public CommonResult createLocation(@Valid @RequestBody LocationCreateReqVO createReqVO) { + return success(locationService.createLocation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新库位") + @PreAuthorize("@ss.hasPermission('wms:location:update')") + public CommonResult updateLocation(@Valid @RequestBody LocationUpdateReqVO updateReqVO) { + locationService.updateLocation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除库位") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:location:delete')") + public CommonResult deleteLocation(@RequestParam("id") Long id) { + locationService.deleteLocation(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得库位") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:location:query')") + public CommonResult getLocation(@RequestParam("id") Long id) { + LocationDO location = locationService.getLocation(id); + return success(LocationConvert.INSTANCE.convert(location)); + } + + @GetMapping("/list") + @Operation(summary = "获得库位列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:location:query')") + public CommonResult> getLocationList(@RequestParam("ids") Collection ids) { + List list = locationService.getLocationList(ids); + return success(LocationConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得库位分页") + @PreAuthorize("@ss.hasPermission('wms:location:query')") + public CommonResult> getLocationPage(@Valid LocationPageReqVO pageVO) { + PageResult pageResult = locationService.getLocationPage(pageVO); + return success(LocationConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出库位 Excel") + @PreAuthorize("@ss.hasPermission('wms:location:export')") + @OperateLog(type = EXPORT) + public void exportLocationExcel(@Valid LocationExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = locationService.getLocationList(exportReqVO); + // 导出 Excel + List datas = LocationConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "库位.xls", "数据", LocationExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationBaseVO.java new file mode 100644 index 00000000..e3fabd5b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationBaseVO.java @@ -0,0 +1,97 @@ +package com.win.module.wms.controller.location.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 库位 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class LocationBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "仓库代码不能为空") + private String warehouseCode; + + @Schema(description = "区域代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "区域代码不能为空") + private String areaCode; + + @Schema(description = "库位组代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "库位组代码不能为空") + private String locationGroupCode; + + @Schema(description = "ERP库位代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "ERP库位代码不能为空") + private String erpLocationCode; + + @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "类型不能为空") + private String type; + + @Schema(description = "巷道") + private String aisle; + + @Schema(description = "货架") + private String shelf; + + @Schema(description = "行") + private Integer locationRow; + + @Schema(description = "列") + private Integer locationColum; + + @Schema(description = "拣料优先级", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "拣料优先级不能为空") + private Integer pickPriority; + + @Schema(description = "最大承重") + private BigDecimal maxWeight; + + @Schema(description = "最大面积") + private BigDecimal maxArea; + + @Schema(description = "最大体积") + private BigDecimal maxVolume; + + @Schema(description = "用户组代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "用户组代码不能为空") + private String userGroupCode; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationCreateReqVO.java new file mode 100644 index 00000000..22501db7 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.location.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 库位创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LocationCreateReqVO extends LocationBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationExcelVO.java new file mode 100644 index 00000000..333b36d8 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationExcelVO.java @@ -0,0 +1,92 @@ +package com.win.module.wms.controller.location.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 库位 Excel VO + * + * @author 超级管理员 + */ +@Data +public class LocationExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty("仓库代码") + private String warehouseCode; + + @ExcelProperty("区域代码") + private String areaCode; + + @ExcelProperty("库位组代码") + private String locationGroupCode; + + @ExcelProperty(value = "ERP库位代码", converter = DictConvert.class) + @DictFormat("erp_location") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String erpLocationCode; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty("巷道") + private String aisle; + + @ExcelProperty("货架") + private String shelf; + + @ExcelProperty("行") + private Integer locationRow; + + @ExcelProperty("列") + private Integer locationColum; + + @ExcelProperty("拣料优先级") + private Integer pickPriority; + + @ExcelProperty("最大承重") + private BigDecimal maxWeight; + + @ExcelProperty("最大面积") + private BigDecimal maxArea; + + @ExcelProperty("最大体积") + private BigDecimal maxVolume; + + @ExcelProperty("用户组代码") + private String userGroupCode; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationExportReqVO.java new file mode 100644 index 00000000..6451eb46 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationExportReqVO.java @@ -0,0 +1,88 @@ +package com.win.module.wms.controller.location.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 库位 Excel 导出 Request VO,参数和 LocationPageReqVO 是一致的") +@Data +public class LocationExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码") + private String warehouseCode; + + @Schema(description = "区域代码") + private String areaCode; + + @Schema(description = "库位组代码") + private String locationGroupCode; + + @Schema(description = "ERP库位代码") + private String erpLocationCode; + + @Schema(description = "类型") + private String type; + + @Schema(description = "巷道") + private String aisle; + + @Schema(description = "货架") + private String shelf; + + @Schema(description = "行") + private Integer locationRow; + + @Schema(description = "列") + private Integer locationColum; + + @Schema(description = "拣料优先级") + private Integer pickPriority; + + @Schema(description = "最大承重") + private BigDecimal maxWeight; + + @Schema(description = "最大面积") + private BigDecimal maxArea; + + @Schema(description = "最大体积") + private BigDecimal maxVolume; + + @Schema(description = "用户组代码") + private String userGroupCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationPageReqVO.java new file mode 100644 index 00000000..64c7504c --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationPageReqVO.java @@ -0,0 +1,93 @@ +package com.win.module.wms.controller.location.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 库位分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LocationPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码") + private String warehouseCode; + + @Schema(description = "区域代码") + private String areaCode; + + @Schema(description = "库位组代码") + private String locationGroupCode; + + @Schema(description = "ERP库位代码") + private String erpLocationCode; + + @Schema(description = "类型") + private String type; + + @Schema(description = "巷道") + private String aisle; + + @Schema(description = "货架") + private String shelf; + + @Schema(description = "行") + private Integer locationRow; + + @Schema(description = "列") + private Integer locationColum; + + @Schema(description = "拣料优先级") + private Integer pickPriority; + + @Schema(description = "最大承重") + private BigDecimal maxWeight; + + @Schema(description = "最大面积") + private BigDecimal maxArea; + + @Schema(description = "最大体积") + private BigDecimal maxVolume; + + @Schema(description = "用户组代码") + private String userGroupCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationRespVO.java new file mode 100644 index 00000000..1b9b4fcc --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.location.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 库位 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LocationRespVO extends LocationBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationUpdateReqVO.java new file mode 100644 index 00000000..ef8676e2 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.location.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 库位更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LocationUpdateReqVO extends LocationBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/LocationgroupController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/LocationgroupController.java new file mode 100644 index 00000000..f2da37f0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/LocationgroupController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.locationgroup; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.locationgroup.vo.*; +import com.win.module.wms.convert.locationgroup.LocationgroupConvert; +import com.win.module.wms.dal.dataobject.locationgroup.LocationgroupDO; +import com.win.module.wms.service.locationgroup.LocationgroupService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 库位组") +@RestController +@RequestMapping("/wms/locationgroup") +@Validated +public class LocationgroupController { + + @Resource + private LocationgroupService locationgroupService; + + @PostMapping("/create") + @Operation(summary = "创建库位组") + @PreAuthorize("@ss.hasPermission('wms:locationgroup:create')") + public CommonResult createLocationgroup(@Valid @RequestBody LocationgroupCreateReqVO createReqVO) { + return success(locationgroupService.createLocationgroup(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新库位组") + @PreAuthorize("@ss.hasPermission('wms:locationgroup:update')") + public CommonResult updateLocationgroup(@Valid @RequestBody LocationgroupUpdateReqVO updateReqVO) { + locationgroupService.updateLocationgroup(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除库位组") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:locationgroup:delete')") + public CommonResult deleteLocationgroup(@RequestParam("id") Long id) { + locationgroupService.deleteLocationgroup(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得库位组") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:locationgroup:query')") + public CommonResult getLocationgroup(@RequestParam("id") Long id) { + LocationgroupDO locationgroup = locationgroupService.getLocationgroup(id); + return success(LocationgroupConvert.INSTANCE.convert(locationgroup)); + } + + @GetMapping("/list") + @Operation(summary = "获得库位组列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:locationgroup:query')") + public CommonResult> getLocationgroupList(@RequestParam("ids") Collection ids) { + List list = locationgroupService.getLocationgroupList(ids); + return success(LocationgroupConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得库位组分页") + @PreAuthorize("@ss.hasPermission('wms:locationgroup:query')") + public CommonResult> getLocationgroupPage(@Valid LocationgroupPageReqVO pageVO) { + PageResult pageResult = locationgroupService.getLocationgroupPage(pageVO); + return success(LocationgroupConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出库位组 Excel") + @PreAuthorize("@ss.hasPermission('wms:locationgroup:export')") + @OperateLog(type = EXPORT) + public void exportLocationgroupExcel(@Valid LocationgroupExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = locationgroupService.getLocationgroupList(exportReqVO); + // 导出 Excel + List datas = LocationgroupConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "库位组.xls", "数据", LocationgroupExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupBaseVO.java new file mode 100644 index 00000000..e963600a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupBaseVO.java @@ -0,0 +1,55 @@ +package com.win.module.wms.controller.locationgroup.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 库位组 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class LocationgroupBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "仓库代码不能为空") + private String warehouseCode; + + @Schema(description = "区域代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "区域代码不能为空") + private String areaCode; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupCreateReqVO.java new file mode 100644 index 00000000..dbd14341 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.locationgroup.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 库位组创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LocationgroupCreateReqVO extends LocationgroupBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupExcelVO.java new file mode 100644 index 00000000..f5f539f2 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupExcelVO.java @@ -0,0 +1,53 @@ +package com.win.module.wms.controller.locationgroup.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 库位组 Excel VO + * + * @author 超级管理员 + */ +@Data +public class LocationgroupExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty("仓库代码") + private String warehouseCode; + + @ExcelProperty("区域代码") + private String areaCode; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupExportReqVO.java new file mode 100644 index 00000000..f0b146f4 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupExportReqVO.java @@ -0,0 +1,51 @@ +package com.win.module.wms.controller.locationgroup.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 库位组 Excel 导出 Request VO,参数和 LocationgroupPageReqVO 是一致的") +@Data +public class LocationgroupExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码") + private String warehouseCode; + + @Schema(description = "区域代码") + private String areaCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupPageReqVO.java new file mode 100644 index 00000000..83e5dd4b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupPageReqVO.java @@ -0,0 +1,56 @@ +package com.win.module.wms.controller.locationgroup.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 库位组分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LocationgroupPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "仓库代码") + private String warehouseCode; + + @Schema(description = "区域代码") + private String areaCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupRespVO.java new file mode 100644 index 00000000..2a94eaa0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.locationgroup.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 库位组 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LocationgroupRespVO extends LocationgroupBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupUpdateReqVO.java new file mode 100644 index 00000000..fc33edc5 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/vo/LocationgroupUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.locationgroup.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 库位组更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LocationgroupUpdateReqVO extends LocationgroupBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/ProcessController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/ProcessController.java new file mode 100644 index 00000000..6e8dfeb1 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/ProcessController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.process; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.process.vo.*; +import com.win.module.wms.convert.process.ProcessConvert; +import com.win.module.wms.dal.dataobject.process.ProcessDO; +import com.win.module.wms.service.process.ProcessService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 工序") +@RestController +@RequestMapping("/wms/process") +@Validated +public class ProcessController { + + @Resource + private ProcessService processService; + + @PostMapping("/create") + @Operation(summary = "创建工序") + @PreAuthorize("@ss.hasPermission('wms:process:create')") + public CommonResult createProcess(@Valid @RequestBody ProcessCreateReqVO createReqVO) { + return success(processService.createProcess(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新工序") + @PreAuthorize("@ss.hasPermission('wms:process:update')") + public CommonResult updateProcess(@Valid @RequestBody ProcessUpdateReqVO updateReqVO) { + processService.updateProcess(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除工序") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:process:delete')") + public CommonResult deleteProcess(@RequestParam("id") Long id) { + processService.deleteProcess(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得工序") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:process:query')") + public CommonResult getProcess(@RequestParam("id") Long id) { + ProcessDO process = processService.getProcess(id); + return success(ProcessConvert.INSTANCE.convert(process)); + } + + @GetMapping("/list") + @Operation(summary = "获得工序列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:process:query')") + public CommonResult> getProcessList(@RequestParam("ids") Collection ids) { + List list = processService.getProcessList(ids); + return success(ProcessConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得工序分页") + @PreAuthorize("@ss.hasPermission('wms:process:query')") + public CommonResult> getProcessPage(@Valid ProcessPageReqVO pageVO) { + PageResult pageResult = processService.getProcessPage(pageVO); + return success(ProcessConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出工序 Excel") + @PreAuthorize("@ss.hasPermission('wms:process:export')") + @OperateLog(type = EXPORT) + public void exportProcessExcel(@Valid ProcessExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = processService.getProcessList(exportReqVO); + // 导出 Excel + List datas = ProcessConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "工序.xls", "数据", ProcessExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessBaseVO.java new file mode 100644 index 00000000..f3e1a570 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessBaseVO.java @@ -0,0 +1,58 @@ +package com.win.module.wms.controller.process.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 工序 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class ProcessBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "车间代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "车间代码不能为空") + private String workshopCode; + + @Schema(description = "生产线代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "生产线代码不能为空") + private String productionLineCode; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessCreateReqVO.java new file mode 100644 index 00000000..ba2f23c1 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.process.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 工序创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProcessCreateReqVO extends ProcessBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExcelVO.java new file mode 100644 index 00000000..1384244a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExcelVO.java @@ -0,0 +1,57 @@ +package com.win.module.wms.controller.process.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 工序 Excel VO + * + * @author 超级管理员 + */ +@Data +public class ProcessExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("process_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty("车间代码") + private String workshopCode; + + @ExcelProperty("生产线代码") + private String productionLineCode; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExportReqVO.java new file mode 100644 index 00000000..24d905e7 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExportReqVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.process.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工序 Excel 导出 Request VO,参数和 ProcessPageReqVO 是一致的") +@Data +public class ProcessExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "车间代码") + private String workshopCode; + + @Schema(description = "生产线代码") + private String productionLineCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessPageReqVO.java new file mode 100644 index 00000000..18208f09 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessPageReqVO.java @@ -0,0 +1,59 @@ +package com.win.module.wms.controller.process.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工序分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProcessPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "车间代码") + private String workshopCode; + + @Schema(description = "生产线代码") + private String productionLineCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessRespVO.java new file mode 100644 index 00000000..57a76e85 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.process.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 工序 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProcessRespVO extends ProcessBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessUpdateReqVO.java new file mode 100644 index 00000000..e9a6ffa2 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.process.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 工序更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProcessUpdateReqVO extends ProcessBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/ProductionlineController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/ProductionlineController.java new file mode 100644 index 00000000..1f62b84e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/ProductionlineController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.productionline; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.productionline.vo.*; +import com.win.module.wms.convert.productionline.ProductionlineConvert; +import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; +import com.win.module.wms.service.productionline.ProductionlineService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 生产线") +@RestController +@RequestMapping("/wms/productionline") +@Validated +public class ProductionlineController { + + @Resource + private ProductionlineService productionlineService; + + @PostMapping("/create") + @Operation(summary = "创建生产线") + @PreAuthorize("@ss.hasPermission('wms:productionline:create')") + public CommonResult createProductionline(@Valid @RequestBody ProductionlineCreateReqVO createReqVO) { + return success(productionlineService.createProductionline(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新生产线") + @PreAuthorize("@ss.hasPermission('wms:productionline:update')") + public CommonResult updateProductionline(@Valid @RequestBody ProductionlineUpdateReqVO updateReqVO) { + productionlineService.updateProductionline(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除生产线") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:productionline:delete')") + public CommonResult deleteProductionline(@RequestParam("id") Long id) { + productionlineService.deleteProductionline(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得生产线") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:productionline:query')") + public CommonResult getProductionline(@RequestParam("id") Long id) { + ProductionlineDO productionline = productionlineService.getProductionline(id); + return success(ProductionlineConvert.INSTANCE.convert(productionline)); + } + + @GetMapping("/list") + @Operation(summary = "获得生产线列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:productionline:query')") + public CommonResult> getProductionlineList(@RequestParam("ids") Collection ids) { + List list = productionlineService.getProductionlineList(ids); + return success(ProductionlineConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得生产线分页") + @PreAuthorize("@ss.hasPermission('wms:productionline:query')") + public CommonResult> getProductionlinePage(@Valid ProductionlinePageReqVO pageVO) { + PageResult pageResult = productionlineService.getProductionlinePage(pageVO); + return success(ProductionlineConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出生产线 Excel") + @PreAuthorize("@ss.hasPermission('wms:productionline:export')") + @OperateLog(type = EXPORT) + public void exportProductionlineExcel(@Valid ProductionlineExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = productionlineService.getProductionlineList(exportReqVO); + // 导出 Excel + List datas = ProductionlineConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "生产线.xls", "数据", ProductionlineExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineBaseVO.java new file mode 100644 index 00000000..62072ba2 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineBaseVO.java @@ -0,0 +1,61 @@ +package com.win.module.wms.controller.productionline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 生产线 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class ProductionlineBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "类型不能为空") + private String type; + + @Schema(description = "车间代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "车间代码不能为空") + private String workshopCode; + + @Schema(description = "原料库位") + private String rawLocationCode; + + @Schema(description = "成品库位") + private String fgLocationCode; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineCreateReqVO.java new file mode 100644 index 00000000..7cb9ac7b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.productionline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 生产线创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductionlineCreateReqVO extends ProductionlineBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExcelVO.java new file mode 100644 index 00000000..0b4b0f15 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExcelVO.java @@ -0,0 +1,60 @@ +package com.win.module.wms.controller.productionline.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 生产线 Excel VO + * + * @author 超级管理员 + */ +@Data +public class ProductionlineExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("production_line_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty("车间代码") + private String workshopCode; + + @ExcelProperty("原料库位") + private String rawLocationCode; + + @ExcelProperty("成品库位") + private String fgLocationCode; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExportReqVO.java new file mode 100644 index 00000000..a80b8131 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExportReqVO.java @@ -0,0 +1,57 @@ +package com.win.module.wms.controller.productionline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 生产线 Excel 导出 Request VO,参数和 ProductionlinePageReqVO 是一致的") +@Data +public class ProductionlineExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "车间代码") + private String workshopCode; + + @Schema(description = "原料库位") + private String rawLocationCode; + + @Schema(description = "成品库位") + private String fgLocationCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlinePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlinePageReqVO.java new file mode 100644 index 00000000..7cf21b4d --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlinePageReqVO.java @@ -0,0 +1,62 @@ +package com.win.module.wms.controller.productionline.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 生产线分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductionlinePageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "车间代码") + private String workshopCode; + + @Schema(description = "原料库位") + private String rawLocationCode; + + @Schema(description = "成品库位") + private String fgLocationCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineRespVO.java new file mode 100644 index 00000000..fb1b121f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.productionline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 生产线 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductionlineRespVO extends ProductionlineBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineUpdateReqVO.java new file mode 100644 index 00000000..06b45e1c --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.productionline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 生产线更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductionlineUpdateReqVO extends ProductionlineBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/ProductionlineitemController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/ProductionlineitemController.java new file mode 100644 index 00000000..96cdd9c0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/ProductionlineitemController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.productionlineitem; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.productionlineitem.vo.*; +import com.win.module.wms.convert.productionlineitem.ProductionlineitemConvert; +import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; +import com.win.module.wms.service.productionlineitem.ProductionlineitemService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 生产线物料关系") +@RestController +@RequestMapping("/wms/productionlineitem") +@Validated +public class ProductionlineitemController { + + @Resource + private ProductionlineitemService productionlineitemService; + + @PostMapping("/create") + @Operation(summary = "创建生产线物料关系") + @PreAuthorize("@ss.hasPermission('wms:productionlineitem:create')") + public CommonResult createProductionlineitem(@Valid @RequestBody ProductionlineitemCreateReqVO createReqVO) { + return success(productionlineitemService.createProductionlineitem(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新生产线物料关系") + @PreAuthorize("@ss.hasPermission('wms:productionlineitem:update')") + public CommonResult updateProductionlineitem(@Valid @RequestBody ProductionlineitemUpdateReqVO updateReqVO) { + productionlineitemService.updateProductionlineitem(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除生产线物料关系") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:productionlineitem:delete')") + public CommonResult deleteProductionlineitem(@RequestParam("id") Long id) { + productionlineitemService.deleteProductionlineitem(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得生产线物料关系") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')") + public CommonResult getProductionlineitem(@RequestParam("id") Long id) { + ProductionlineitemDO productionlineitem = productionlineitemService.getProductionlineitem(id); + return success(ProductionlineitemConvert.INSTANCE.convert(productionlineitem)); + } + + @GetMapping("/list") + @Operation(summary = "获得生产线物料关系列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')") + public CommonResult> getProductionlineitemList(@RequestParam("ids") Collection ids) { + List list = productionlineitemService.getProductionlineitemList(ids); + return success(ProductionlineitemConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得生产线物料关系分页") + @PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')") + public CommonResult> getProductionlineitemPage(@Valid ProductionlineitemPageReqVO pageVO) { + PageResult pageResult = productionlineitemService.getProductionlineitemPage(pageVO); + return success(ProductionlineitemConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出生产线物料关系 Excel") + @PreAuthorize("@ss.hasPermission('wms:productionlineitem:export')") + @OperateLog(type = EXPORT) + public void exportProductionlineitemExcel(@Valid ProductionlineitemExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = productionlineitemService.getProductionlineitemList(exportReqVO); + // 导出 Excel + List datas = ProductionlineitemConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "生产线物料关系.xls", "数据", ProductionlineitemExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemBaseVO.java new file mode 100644 index 00000000..2f67a45a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemBaseVO.java @@ -0,0 +1,49 @@ +package com.win.module.wms.controller.productionlineitem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 生产线物料关系 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class ProductionlineitemBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "完工收货库位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "完工收货库位不能为空") + private String fgLocationCode; + + @Schema(description = "产线代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "产线代码不能为空") + private String productionLineCode; + + @Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物品代码不能为空") + private String itemCode; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemCreateReqVO.java new file mode 100644 index 00000000..065199ab --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.productionlineitem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 生产线物料关系创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductionlineitemCreateReqVO extends ProductionlineitemBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExcelVO.java new file mode 100644 index 00000000..4bb22e87 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExcelVO.java @@ -0,0 +1,47 @@ +package com.win.module.wms.controller.productionlineitem.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 生产线物料关系 Excel VO + * + * @author 超级管理员 + */ +@Data +public class ProductionlineitemExcelVO { + + @ExcelProperty("完工收货库位") + private String fgLocationCode; + + @ExcelProperty("产线代码") + private String productionLineCode; + + @ExcelProperty("物品代码") + private String itemCode; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExportReqVO.java new file mode 100644 index 00000000..2a8c6a9e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemExportReqVO.java @@ -0,0 +1,45 @@ +package com.win.module.wms.controller.productionlineitem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 生产线物料关系 Excel 导出 Request VO,参数和 ProductionlineitemPageReqVO 是一致的") +@Data +public class ProductionlineitemExportReqVO { + + @Schema(description = "完工收货库位") + private String fgLocationCode; + + @Schema(description = "产线代码") + private String productionLineCode; + + @Schema(description = "物品代码") + private String itemCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemPageReqVO.java new file mode 100644 index 00000000..11b01500 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemPageReqVO.java @@ -0,0 +1,50 @@ +package com.win.module.wms.controller.productionlineitem.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 生产线物料关系分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductionlineitemPageReqVO extends PageParam { + + @Schema(description = "完工收货库位") + private String fgLocationCode; + + @Schema(description = "产线代码") + private String productionLineCode; + + @Schema(description = "物品代码") + private String itemCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemRespVO.java new file mode 100644 index 00000000..0c4a7e69 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.productionlineitem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 生产线物料关系 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductionlineitemRespVO extends ProductionlineitemBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemUpdateReqVO.java new file mode 100644 index 00000000..5ee150d0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.productionlineitem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 生产线物料关系更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductionlineitemUpdateReqVO extends ProductionlineitemBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/ProjectController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/ProjectController.java new file mode 100644 index 00000000..edb74c81 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/ProjectController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.project; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.project.vo.*; +import com.win.module.wms.convert.project.ProjectConvert; +import com.win.module.wms.dal.dataobject.project.ProjectDO; +import com.win.module.wms.service.project.ProjectService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 项目") +@RestController +@RequestMapping("/wms/project") +@Validated +public class ProjectController { + + @Resource + private ProjectService projectService; + + @PostMapping("/create") + @Operation(summary = "创建项目") + @PreAuthorize("@ss.hasPermission('wms:project:create')") + public CommonResult createProject(@Valid @RequestBody ProjectCreateReqVO createReqVO) { + return success(projectService.createProject(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新项目") + @PreAuthorize("@ss.hasPermission('wms:project:update')") + public CommonResult updateProject(@Valid @RequestBody ProjectUpdateReqVO updateReqVO) { + projectService.updateProject(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除项目") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:project:delete')") + public CommonResult deleteProject(@RequestParam("id") Long id) { + projectService.deleteProject(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得项目") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:project:query')") + public CommonResult getProject(@RequestParam("id") Long id) { + ProjectDO project = projectService.getProject(id); + return success(ProjectConvert.INSTANCE.convert(project)); + } + + @GetMapping("/list") + @Operation(summary = "获得项目列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:project:query')") + public CommonResult> getProjectList(@RequestParam("ids") Collection ids) { + List list = projectService.getProjectList(ids); + return success(ProjectConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得项目分页") + @PreAuthorize("@ss.hasPermission('wms:project:query')") + public CommonResult> getProjectPage(@Valid ProjectPageReqVO pageVO) { + PageResult pageResult = projectService.getProjectPage(pageVO); + return success(ProjectConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出项目 Excel") + @PreAuthorize("@ss.hasPermission('wms:project:export')") + @OperateLog(type = EXPORT) + public void exportProjectExcel(@Valid ProjectExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = projectService.getProjectList(exportReqVO); + // 导出 Excel + List datas = ProjectConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "项目.xls", "数据", ProjectExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectBaseVO.java new file mode 100644 index 00000000..e2e3b015 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectBaseVO.java @@ -0,0 +1,50 @@ +package com.win.module.wms.controller.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 项目 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class ProjectBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "客户代码") + private String customerCode; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectCreateReqVO.java new file mode 100644 index 00000000..a5a388fa --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 项目创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProjectCreateReqVO extends ProjectBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExcelVO.java new file mode 100644 index 00000000..956b80a0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExcelVO.java @@ -0,0 +1,50 @@ +package com.win.module.wms.controller.project.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 项目 Excel VO + * + * @author 超级管理员 + */ +@Data +public class ProjectExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty("客户代码") + private String customerCode; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExportReqVO.java new file mode 100644 index 00000000..e4fec69d --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExportReqVO.java @@ -0,0 +1,48 @@ +package com.win.module.wms.controller.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 项目 Excel 导出 Request VO,参数和 ProjectPageReqVO 是一致的") +@Data +public class ProjectExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "客户代码") + private String customerCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectPageReqVO.java new file mode 100644 index 00000000..0f7bb290 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectPageReqVO.java @@ -0,0 +1,53 @@ +package com.win.module.wms.controller.project.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 项目分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProjectPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "客户代码") + private String customerCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectRespVO.java new file mode 100644 index 00000000..a36b017f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 项目 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProjectRespVO extends ProjectBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectUpdateReqVO.java new file mode 100644 index 00000000..a46aaac0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 项目更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProjectUpdateReqVO extends ProjectBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/PurchasepriceController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/PurchasepriceController.java new file mode 100644 index 00000000..45b25d3e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/PurchasepriceController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.purchaseprice; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.purchaseprice.vo.*; +import com.win.module.wms.convert.purchaseprice.PurchasepriceConvert; +import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; +import com.win.module.wms.service.purchaseprice.PurchasepriceService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 采购价格单") +@RestController +@RequestMapping("/wms/purchaseprice") +@Validated +public class PurchasepriceController { + + @Resource + private PurchasepriceService purchasepriceService; + + @PostMapping("/create") + @Operation(summary = "创建采购价格单") + @PreAuthorize("@ss.hasPermission('wms:purchaseprice:create')") + public CommonResult createPurchaseprice(@Valid @RequestBody PurchasepriceCreateReqVO createReqVO) { + return success(purchasepriceService.createPurchaseprice(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新采购价格单") + @PreAuthorize("@ss.hasPermission('wms:purchaseprice:update')") + public CommonResult updatePurchaseprice(@Valid @RequestBody PurchasepriceUpdateReqVO updateReqVO) { + purchasepriceService.updatePurchaseprice(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除采购价格单") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchaseprice:delete')") + public CommonResult deletePurchaseprice(@RequestParam("id") Long id) { + purchasepriceService.deletePurchaseprice(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得采购价格单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')") + public CommonResult getPurchaseprice(@RequestParam("id") Long id) { + PurchasepriceDO purchaseprice = purchasepriceService.getPurchaseprice(id); + return success(PurchasepriceConvert.INSTANCE.convert(purchaseprice)); + } + + @GetMapping("/list") + @Operation(summary = "获得采购价格单列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')") + public CommonResult> getPurchasepriceList(@RequestParam("ids") Collection ids) { + List list = purchasepriceService.getPurchasepriceList(ids); + return success(PurchasepriceConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得采购价格单分页") + @PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')") + public CommonResult> getPurchasepricePage(@Valid PurchasepricePageReqVO pageVO) { + PageResult pageResult = purchasepriceService.getPurchasepricePage(pageVO); + return success(PurchasepriceConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出采购价格单 Excel") + @PreAuthorize("@ss.hasPermission('wms:purchaseprice:export')") + @OperateLog(type = EXPORT) + public void exportPurchasepriceExcel(@Valid PurchasepriceExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = purchasepriceService.getPurchasepriceList(exportReqVO); + // 导出 Excel + List datas = PurchasepriceConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "采购价格单.xls", "数据", PurchasepriceExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceBaseVO.java new file mode 100644 index 00000000..80c1422e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceBaseVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.purchaseprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 采购价格单 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class PurchasepriceBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "供应商代码不能为空") + private String supplierCode; + + @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物料代码不能为空") + private String itemCode; + + @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "货币不能为空") + private String currency; + + @Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "价格不能为空") + private BigDecimal price; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceCreateReqVO.java new file mode 100644 index 00000000..b2810138 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.purchaseprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 采购价格单创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PurchasepriceCreateReqVO extends PurchasepriceBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceExcelVO.java new file mode 100644 index 00000000..d836dfb6 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceExcelVO.java @@ -0,0 +1,52 @@ +package com.win.module.wms.controller.purchaseprice.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 采购价格单 Excel VO + * + * @author 超级管理员 + */ +@Data +public class PurchasepriceExcelVO { + + @ExcelProperty("供应商代码") + private String supplierCode; + + @ExcelProperty("物料代码") + private String itemCode; + + @ExcelProperty(value = "货币", converter = DictConvert.class) + @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String currency; + + @ExcelProperty("价格") + private BigDecimal price; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceExportReqVO.java new file mode 100644 index 00000000..e76c5270 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceExportReqVO.java @@ -0,0 +1,49 @@ +package com.win.module.wms.controller.purchaseprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 采购价格单 Excel 导出 Request VO,参数和 PurchasepricePageReqVO 是一致的") +@Data +public class PurchasepriceExportReqVO { + + @Schema(description = "供应商代码") + private String supplierCode; + + @Schema(description = "物料代码") + private String itemCode; + + @Schema(description = "货币") + private String currency; + + @Schema(description = "价格") + private BigDecimal price; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepricePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepricePageReqVO.java new file mode 100644 index 00000000..1330c325 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepricePageReqVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.purchaseprice.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 采购价格单分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PurchasepricePageReqVO extends PageParam { + + @Schema(description = "供应商代码") + private String supplierCode; + + @Schema(description = "物料代码") + private String itemCode; + + @Schema(description = "货币") + private String currency; + + @Schema(description = "价格") + private BigDecimal price; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceRespVO.java new file mode 100644 index 00000000..d01b46a2 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.purchaseprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 采购价格单 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PurchasepriceRespVO extends PurchasepriceBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceUpdateReqVO.java new file mode 100644 index 00000000..30feabc7 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/vo/PurchasepriceUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.purchaseprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 采购价格单更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PurchasepriceUpdateReqVO extends PurchasepriceBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/SalepriceController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/SalepriceController.java new file mode 100644 index 00000000..ce0be883 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/SalepriceController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.saleprice; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.saleprice.vo.*; +import com.win.module.wms.convert.saleprice.SalepriceConvert; +import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO; +import com.win.module.wms.service.saleprice.SalepriceService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 销售价格单") +@RestController +@RequestMapping("/wms/saleprice") +@Validated +public class SalepriceController { + + @Resource + private SalepriceService salepriceService; + + @PostMapping("/create") + @Operation(summary = "创建销售价格单") + @PreAuthorize("@ss.hasPermission('wms:saleprice:create')") + public CommonResult createSaleprice(@Valid @RequestBody SalepriceCreateReqVO createReqVO) { + return success(salepriceService.createSaleprice(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新销售价格单") + @PreAuthorize("@ss.hasPermission('wms:saleprice:update')") + public CommonResult updateSaleprice(@Valid @RequestBody SalepriceUpdateReqVO updateReqVO) { + salepriceService.updateSaleprice(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除销售价格单") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:saleprice:delete')") + public CommonResult deleteSaleprice(@RequestParam("id") Long id) { + salepriceService.deleteSaleprice(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得销售价格单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:saleprice:query')") + public CommonResult getSaleprice(@RequestParam("id") Long id) { + SalepriceDO saleprice = salepriceService.getSaleprice(id); + return success(SalepriceConvert.INSTANCE.convert(saleprice)); + } + + @GetMapping("/list") + @Operation(summary = "获得销售价格单列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:saleprice:query')") + public CommonResult> getSalepriceList(@RequestParam("ids") Collection ids) { + List list = salepriceService.getSalepriceList(ids); + return success(SalepriceConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得销售价格单分页") + @PreAuthorize("@ss.hasPermission('wms:saleprice:query')") + public CommonResult> getSalepricePage(@Valid SalepricePageReqVO pageVO) { + PageResult pageResult = salepriceService.getSalepricePage(pageVO); + return success(SalepriceConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出销售价格单 Excel") + @PreAuthorize("@ss.hasPermission('wms:saleprice:export')") + @OperateLog(type = EXPORT) + public void exportSalepriceExcel(@Valid SalepriceExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = salepriceService.getSalepriceList(exportReqVO); + // 导出 Excel + List datas = SalepriceConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "销售价格单.xls", "数据", SalepriceExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceBaseVO.java new file mode 100644 index 00000000..0f942eb1 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceBaseVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.saleprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 销售价格单 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class SalepriceBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "客户代码不能为空") + private String customercode; + + @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物料代码不能为空") + private String itemcode; + + @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "货币不能为空") + private String currency; + + @Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "价格不能为空") + private BigDecimal price; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceCreateReqVO.java new file mode 100644 index 00000000..515cc7a8 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.saleprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 销售价格单创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SalepriceCreateReqVO extends SalepriceBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceExcelVO.java new file mode 100644 index 00000000..3ce0bc5c --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceExcelVO.java @@ -0,0 +1,52 @@ +package com.win.module.wms.controller.saleprice.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 销售价格单 Excel VO + * + * @author 超级管理员 + */ +@Data +public class SalepriceExcelVO { + + @ExcelProperty("客户代码") + private String customercode; + + @ExcelProperty("物料代码") + private String itemcode; + + @ExcelProperty(value = "货币", converter = DictConvert.class) + @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String currency; + + @ExcelProperty("价格") + private BigDecimal price; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceExportReqVO.java new file mode 100644 index 00000000..b62581ea --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceExportReqVO.java @@ -0,0 +1,49 @@ +package com.win.module.wms.controller.saleprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 销售价格单 Excel 导出 Request VO,参数和 SalepricePageReqVO 是一致的") +@Data +public class SalepriceExportReqVO { + + @Schema(description = "客户代码") + private String customercode; + + @Schema(description = "物料代码") + private String itemcode; + + @Schema(description = "货币") + private String currency; + + @Schema(description = "价格") + private BigDecimal price; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepricePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepricePageReqVO.java new file mode 100644 index 00000000..f0d17af8 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepricePageReqVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.saleprice.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 销售价格单分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SalepricePageReqVO extends PageParam { + + @Schema(description = "客户代码") + private String customercode; + + @Schema(description = "物料代码") + private String itemcode; + + @Schema(description = "货币") + private String currency; + + @Schema(description = "价格") + private BigDecimal price; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceRespVO.java new file mode 100644 index 00000000..c8439a0f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.saleprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 销售价格单 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SalepriceRespVO extends SalepriceBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceUpdateReqVO.java new file mode 100644 index 00000000..8c6fa362 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/vo/SalepriceUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.saleprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 销售价格单更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SalepriceUpdateReqVO extends SalepriceBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/StdcostpriceController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/StdcostpriceController.java new file mode 100644 index 00000000..c7bd502b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/StdcostpriceController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.stdcostprice; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.stdcostprice.vo.*; +import com.win.module.wms.convert.stdcostprice.StdcostpriceConvert; +import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; +import com.win.module.wms.service.stdcostprice.StdcostpriceService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 标准成本价格单") +@RestController +@RequestMapping("/wms/stdcostprice") +@Validated +public class StdcostpriceController { + + @Resource + private StdcostpriceService stdcostpriceService; + + @PostMapping("/create") + @Operation(summary = "创建标准成本价格单") + @PreAuthorize("@ss.hasPermission('wms:stdcostprice:create')") + public CommonResult createStdcostprice(@Valid @RequestBody StdcostpriceCreateReqVO createReqVO) { + return success(stdcostpriceService.createStdcostprice(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新标准成本价格单") + @PreAuthorize("@ss.hasPermission('wms:stdcostprice:update')") + public CommonResult updateStdcostprice(@Valid @RequestBody StdcostpriceUpdateReqVO updateReqVO) { + stdcostpriceService.updateStdcostprice(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除标准成本价格单") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:stdcostprice:delete')") + public CommonResult deleteStdcostprice(@RequestParam("id") Long id) { + stdcostpriceService.deleteStdcostprice(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得标准成本价格单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')") + public CommonResult getStdcostprice(@RequestParam("id") Long id) { + StdcostpriceDO stdcostprice = stdcostpriceService.getStdcostprice(id); + return success(StdcostpriceConvert.INSTANCE.convert(stdcostprice)); + } + + @GetMapping("/list") + @Operation(summary = "获得标准成本价格单列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')") + public CommonResult> getStdcostpriceList(@RequestParam("ids") Collection ids) { + List list = stdcostpriceService.getStdcostpriceList(ids); + return success(StdcostpriceConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得标准成本价格单分页") + @PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')") + public CommonResult> getStdcostpricePage(@Valid StdcostpricePageReqVO pageVO) { + PageResult pageResult = stdcostpriceService.getStdcostpricePage(pageVO); + return success(StdcostpriceConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出标准成本价格单 Excel") + @PreAuthorize("@ss.hasPermission('wms:stdcostprice:export')") + @OperateLog(type = EXPORT) + public void exportStdcostpriceExcel(@Valid StdcostpriceExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = stdcostpriceService.getStdcostpriceList(exportReqVO); + // 导出 Excel + List datas = StdcostpriceConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "标准成本价格单.xls", "数据", StdcostpriceExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceBaseVO.java new file mode 100644 index 00000000..99928e38 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceBaseVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.stdcostprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 标准成本价格单 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class StdcostpriceBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "供应商代码不能为空") + private String supplierCode; + + @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物料代码不能为空") + private String itemCode; + + @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "货币不能为空") + private String currency; + + @Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "价格不能为空") + private BigDecimal price; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceCreateReqVO.java new file mode 100644 index 00000000..fad53dee --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.stdcostprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 标准成本价格单创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class StdcostpriceCreateReqVO extends StdcostpriceBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceExcelVO.java new file mode 100644 index 00000000..845086a8 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceExcelVO.java @@ -0,0 +1,52 @@ +package com.win.module.wms.controller.stdcostprice.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 标准成本价格单 Excel VO + * + * @author 超级管理员 + */ +@Data +public class StdcostpriceExcelVO { + + @ExcelProperty("供应商代码") + private String supplierCode; + + @ExcelProperty("物料代码") + private String itemCode; + + @ExcelProperty(value = "货币", converter = DictConvert.class) + @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String currency; + + @ExcelProperty("价格") + private BigDecimal price; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceExportReqVO.java new file mode 100644 index 00000000..35904495 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceExportReqVO.java @@ -0,0 +1,49 @@ +package com.win.module.wms.controller.stdcostprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 标准成本价格单 Excel 导出 Request VO,参数和 StdcostpricePageReqVO 是一致的") +@Data +public class StdcostpriceExportReqVO { + + @Schema(description = "供应商代码") + private String supplierCode; + + @Schema(description = "物料代码") + private String itemCode; + + @Schema(description = "货币") + private String currency; + + @Schema(description = "价格") + private BigDecimal price; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpricePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpricePageReqVO.java new file mode 100644 index 00000000..33ba8c28 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpricePageReqVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.stdcostprice.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 标准成本价格单分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class StdcostpricePageReqVO extends PageParam { + + @Schema(description = "供应商代码") + private String supplierCode; + + @Schema(description = "物料代码") + private String itemCode; + + @Schema(description = "货币") + private String currency; + + @Schema(description = "价格") + private BigDecimal price; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceRespVO.java new file mode 100644 index 00000000..b8b2de60 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.stdcostprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 标准成本价格单 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class StdcostpriceRespVO extends StdcostpriceBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceUpdateReqVO.java new file mode 100644 index 00000000..c2b31b90 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.stdcostprice.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 标准成本价格单更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class StdcostpriceUpdateReqVO extends StdcostpriceBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/SupplierController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/SupplierController.java new file mode 100644 index 00000000..a2eb832e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/SupplierController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.supplier; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.supplier.vo.*; +import com.win.module.wms.convert.supplier.SupplierConvert; +import com.win.module.wms.dal.dataobject.supplier.SupplierDO; +import com.win.module.wms.service.supplier.SupplierService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 供应商") +@RestController +@RequestMapping("/wms/supplier") +@Validated +public class SupplierController { + + @Resource + private SupplierService supplierService; + + @PostMapping("/create") + @Operation(summary = "创建供应商") + @PreAuthorize("@ss.hasPermission('wms:supplier:create')") + public CommonResult createSupplier(@Valid @RequestBody SupplierCreateReqVO createReqVO) { + return success(supplierService.createSupplier(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新供应商") + @PreAuthorize("@ss.hasPermission('wms:supplier:update')") + public CommonResult updateSupplier(@Valid @RequestBody SupplierUpdateReqVO updateReqVO) { + supplierService.updateSupplier(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除供应商") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:supplier:delete')") + public CommonResult deleteSupplier(@RequestParam("id") Long id) { + supplierService.deleteSupplier(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得供应商") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:supplier:query')") + public CommonResult getSupplier(@RequestParam("id") Long id) { + SupplierDO supplier = supplierService.getSupplier(id); + return success(SupplierConvert.INSTANCE.convert(supplier)); + } + + @GetMapping("/list") + @Operation(summary = "获得供应商列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:supplier:query')") + public CommonResult> getSupplierList(@RequestParam("ids") Collection ids) { + List list = supplierService.getSupplierList(ids); + return success(SupplierConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得供应商分页") + @PreAuthorize("@ss.hasPermission('wms:supplier:query')") + public CommonResult> getSupplierPage(@Valid SupplierPageReqVO pageVO) { + PageResult pageResult = supplierService.getSupplierPage(pageVO); + return success(SupplierConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出供应商 Excel") + @PreAuthorize("@ss.hasPermission('wms:supplier:export')") + @OperateLog(type = EXPORT) + public void exportSupplierExcel(@Valid SupplierExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = supplierService.getSupplierList(exportReqVO); + // 导出 Excel + List datas = SupplierConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "供应商.xls", "数据", SupplierExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierBaseVO.java new file mode 100644 index 00000000..1d1511b7 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierBaseVO.java @@ -0,0 +1,83 @@ +package com.win.module.wms.controller.supplier.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 供应商 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class SupplierBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "简称", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "简称不能为空") + private String shortName; + + @Schema(description = "地址") + private String address; + + @Schema(description = "国家") + private String country; + + @Schema(description = "城市") + private String city; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "传真") + private String fax; + + @Schema(description = "邮编") + private String postId; + + @Schema(description = "联系人") + private String contacts; + + @Schema(description = "银行") + private String bank; + + @Schema(description = "币种") + private String currency; + + @Schema(description = "税率") + private BigDecimal taxRate; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierCreateReqVO.java new file mode 100644 index 00000000..496f21af --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.supplier.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 供应商创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SupplierCreateReqVO extends SupplierBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierExcelVO.java new file mode 100644 index 00000000..737673ea --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierExcelVO.java @@ -0,0 +1,83 @@ +package com.win.module.wms.controller.supplier.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 供应商 Excel VO + * + * @author 超级管理员 + */ +@Data +public class SupplierExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("简称") + private String shortName; + + @ExcelProperty("地址") + private String address; + + @ExcelProperty("国家") + private String country; + + @ExcelProperty("城市") + private String city; + + @ExcelProperty("电话") + private String phone; + + @ExcelProperty("传真") + private String fax; + + @ExcelProperty("邮编") + private String postId; + + @ExcelProperty("联系人") + private String contacts; + + @ExcelProperty("银行") + private String bank; + + @ExcelProperty(value = "币种", converter = DictConvert.class) + @DictFormat("currency") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String currency; + + @ExcelProperty("税率") + private BigDecimal taxRate; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("supplier_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierExportReqVO.java new file mode 100644 index 00000000..5dc9d9cf --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierExportReqVO.java @@ -0,0 +1,79 @@ +package com.win.module.wms.controller.supplier.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 供应商 Excel 导出 Request VO,参数和 SupplierPageReqVO 是一致的") +@Data +public class SupplierExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "简称") + private String shortName; + + @Schema(description = "地址") + private String address; + + @Schema(description = "国家") + private String country; + + @Schema(description = "城市") + private String city; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "传真") + private String fax; + + @Schema(description = "邮编") + private String postId; + + @Schema(description = "联系人") + private String contacts; + + @Schema(description = "银行") + private String bank; + + @Schema(description = "币种") + private String currency; + + @Schema(description = "税率") + private BigDecimal taxRate; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierPageReqVO.java new file mode 100644 index 00000000..fb7774de --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierPageReqVO.java @@ -0,0 +1,84 @@ +package com.win.module.wms.controller.supplier.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 供应商分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SupplierPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "简称") + private String shortName; + + @Schema(description = "地址") + private String address; + + @Schema(description = "国家") + private String country; + + @Schema(description = "城市") + private String city; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "传真") + private String fax; + + @Schema(description = "邮编") + private String postId; + + @Schema(description = "联系人") + private String contacts; + + @Schema(description = "银行") + private String bank; + + @Schema(description = "币种") + private String currency; + + @Schema(description = "税率") + private BigDecimal taxRate; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierRespVO.java new file mode 100644 index 00000000..044d321b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.supplier.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 供应商 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SupplierRespVO extends SupplierBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierUpdateReqVO.java new file mode 100644 index 00000000..fe21cd71 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/vo/SupplierUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.supplier.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 供应商更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SupplierUpdateReqVO extends SupplierBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/SupplieritemController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/SupplieritemController.java new file mode 100644 index 00000000..11515770 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/SupplieritemController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.supplieritem; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.supplieritem.vo.*; +import com.win.module.wms.convert.supplieritem.SupplieritemConvert; +import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; +import com.win.module.wms.service.supplieritem.SupplieritemService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 供应商物品") +@RestController +@RequestMapping("/wms/supplieritem") +@Validated +public class SupplieritemController { + + @Resource + private SupplieritemService supplieritemService; + + @PostMapping("/create") + @Operation(summary = "创建供应商物品") + @PreAuthorize("@ss.hasPermission('wms:supplieritem:create')") + public CommonResult createSupplieritem(@Valid @RequestBody SupplieritemCreateReqVO createReqVO) { + return success(supplieritemService.createSupplieritem(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新供应商物品") + @PreAuthorize("@ss.hasPermission('wms:supplieritem:update')") + public CommonResult updateSupplieritem(@Valid @RequestBody SupplieritemUpdateReqVO updateReqVO) { + supplieritemService.updateSupplieritem(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除供应商物品") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:supplieritem:delete')") + public CommonResult deleteSupplieritem(@RequestParam("id") Long id) { + supplieritemService.deleteSupplieritem(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得供应商物品") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:supplieritem:query')") + public CommonResult getSupplieritem(@RequestParam("id") Long id) { + SupplieritemDO supplieritem = supplieritemService.getSupplieritem(id); + return success(SupplieritemConvert.INSTANCE.convert(supplieritem)); + } + + @GetMapping("/list") + @Operation(summary = "获得供应商物品列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:supplieritem:query')") + public CommonResult> getSupplieritemList(@RequestParam("ids") Collection ids) { + List list = supplieritemService.getSupplieritemList(ids); + return success(SupplieritemConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得供应商物品分页") + @PreAuthorize("@ss.hasPermission('wms:supplieritem:query')") + public CommonResult> getSupplieritemPage(@Valid SupplieritemPageReqVO pageVO) { + PageResult pageResult = supplieritemService.getSupplieritemPage(pageVO); + return success(SupplieritemConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出供应商物品 Excel") + @PreAuthorize("@ss.hasPermission('wms:supplieritem:export')") + @OperateLog(type = EXPORT) + public void exportSupplieritemExcel(@Valid SupplieritemExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = supplieritemService.getSupplieritemList(exportReqVO); + // 导出 Excel + List datas = SupplieritemConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "供应商物品.xls", "数据", SupplieritemExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemBaseVO.java new file mode 100644 index 00000000..b7cdd516 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemBaseVO.java @@ -0,0 +1,82 @@ +package com.win.module.wms.controller.supplieritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 供应商物品 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class SupplieritemBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "供应商代码不能为空") + private String supplierCode; + + @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物料代码不能为空") + private String itemCode; + + @Schema(description = "供应商物料代码") + private String supplierItemCode; + + @Schema(description = "供应商计量单位") + private String supplierUom; + + @Schema(description = "转换率") + private BigDecimal convertRate; + + @Schema(description = "供应商包装单位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "供应商包装单位不能为空") + private String packUnit; + + @Schema(description = "供应商包装量", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "供应商包装量不能为空") + private BigDecimal packQty; + + @Schema(description = "供应商替代包装单位") + private String altPackUnit; + + @Schema(description = "供应商替代包装量") + private BigDecimal altPackQty; + + @Schema(description = "每器具包装数", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "每器具包装数不能为空") + private Integer packQtyOfContainer; + + @Schema(description = "默认收货仓库") + private String defaultWarehouseCode; + + @Schema(description = "默认收货库位") + private String defaultLocationCode; + + @Schema(description = "结算方式") + private String settlementType; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemCreateReqVO.java new file mode 100644 index 00000000..2c700ada --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.supplieritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 供应商物品创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SupplieritemCreateReqVO extends SupplieritemBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemExcelVO.java new file mode 100644 index 00000000..9d88339d --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemExcelVO.java @@ -0,0 +1,82 @@ +package com.win.module.wms.controller.supplieritem.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 供应商物品 Excel VO + * + * @author 超级管理员 + */ +@Data +public class SupplieritemExcelVO { + + @ExcelProperty("供应商代码") + private String supplierCode; + + @ExcelProperty("物料代码") + private String itemCode; + + @ExcelProperty("供应商物料代码") + private String supplierItemCode; + + @ExcelProperty(value = "供应商计量单位", converter = DictConvert.class) + @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String supplierUom; + + @ExcelProperty("转换率") + private BigDecimal convertRate; + + @ExcelProperty(value = "供应商包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String packUnit; + + @ExcelProperty("供应商包装量") + private BigDecimal packQty; + + @ExcelProperty(value = "供应商替代包装单位", converter = DictConvert.class) + @DictFormat("pack_unit") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String altPackUnit; + + @ExcelProperty("供应商替代包装量") + private BigDecimal altPackQty; + + @ExcelProperty("每器具包装数") + private Integer packQtyOfContainer; + + @ExcelProperty("默认收货仓库") + private String defaultWarehouseCode; + + @ExcelProperty("默认收货库位") + private String defaultLocationCode; + + @ExcelProperty(value = "结算方式", converter = DictConvert.class) + @DictFormat("settlement_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String settlementType; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemExportReqVO.java new file mode 100644 index 00000000..7b81165e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemExportReqVO.java @@ -0,0 +1,76 @@ +package com.win.module.wms.controller.supplieritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 供应商物品 Excel 导出 Request VO,参数和 SupplieritemPageReqVO 是一致的") +@Data +public class SupplieritemExportReqVO { + + @Schema(description = "供应商代码") + private String supplierCode; + + @Schema(description = "物料代码") + private String itemCode; + + @Schema(description = "供应商物料代码") + private String supplierItemCode; + + @Schema(description = "供应商计量单位") + private String supplierUom; + + @Schema(description = "转换率") + private BigDecimal convertRate; + + @Schema(description = "供应商包装单位") + private String packUnit; + + @Schema(description = "供应商包装量") + private BigDecimal packQty; + + @Schema(description = "供应商替代包装单位") + private String altPackUnit; + + @Schema(description = "供应商替代包装量") + private BigDecimal altPackQty; + + @Schema(description = "每器具包装数") + private Integer packQtyOfContainer; + + @Schema(description = "默认收货仓库") + private String defaultWarehouseCode; + + @Schema(description = "默认收货库位") + private String defaultLocationCode; + + @Schema(description = "结算方式") + private String settlementType; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemPageReqVO.java new file mode 100644 index 00000000..1b9d39e9 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemPageReqVO.java @@ -0,0 +1,81 @@ +package com.win.module.wms.controller.supplieritem.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 供应商物品分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SupplieritemPageReqVO extends PageParam { + + @Schema(description = "供应商代码") + private String supplierCode; + + @Schema(description = "物料代码") + private String itemCode; + + @Schema(description = "供应商物料代码") + private String supplierItemCode; + + @Schema(description = "供应商计量单位") + private String supplierUom; + + @Schema(description = "转换率") + private BigDecimal convertRate; + + @Schema(description = "供应商包装单位") + private String packUnit; + + @Schema(description = "供应商包装量") + private BigDecimal packQty; + + @Schema(description = "供应商替代包装单位") + private String altPackUnit; + + @Schema(description = "供应商替代包装量") + private BigDecimal altPackQty; + + @Schema(description = "每器具包装数") + private Integer packQtyOfContainer; + + @Schema(description = "默认收货仓库") + private String defaultWarehouseCode; + + @Schema(description = "默认收货库位") + private String defaultLocationCode; + + @Schema(description = "结算方式") + private String settlementType; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemRespVO.java new file mode 100644 index 00000000..6bf59851 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.supplieritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 供应商物品 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SupplieritemRespVO extends SupplieritemBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemUpdateReqVO.java new file mode 100644 index 00000000..d3b6dfd2 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieritemUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.supplieritem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 供应商物品更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SupplieritemUpdateReqVO extends SupplieritemBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/SystemcalendarController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/SystemcalendarController.java new file mode 100644 index 00000000..fd7e0276 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/SystemcalendarController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.systemcalendar; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.systemcalendar.vo.*; +import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert; +import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO; +import com.win.module.wms.service.systemcalendar.SystemcalendarService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 系统日历") +@RestController +@RequestMapping("/wms/systemcalendar") +@Validated +public class SystemcalendarController { + + @Resource + private SystemcalendarService systemcalendarService; + + @PostMapping("/create") + @Operation(summary = "创建系统日历") + @PreAuthorize("@ss.hasPermission('wms:systemcalendar:create')") + public CommonResult createSystemcalendar(@Valid @RequestBody SystemcalendarCreateReqVO createReqVO) { + return success(systemcalendarService.createSystemcalendar(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新系统日历") + @PreAuthorize("@ss.hasPermission('wms:systemcalendar:update')") + public CommonResult updateSystemcalendar(@Valid @RequestBody SystemcalendarUpdateReqVO updateReqVO) { + systemcalendarService.updateSystemcalendar(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除系统日历") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:systemcalendar:delete')") + public CommonResult deleteSystemcalendar(@RequestParam("id") Long id) { + systemcalendarService.deleteSystemcalendar(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得系统日历") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:systemcalendar:query')") + public CommonResult getSystemcalendar(@RequestParam("id") Long id) { + SystemcalendarDO systemcalendar = systemcalendarService.getSystemcalendar(id); + return success(SystemcalendarConvert.INSTANCE.convert(systemcalendar)); + } + + @GetMapping("/list") + @Operation(summary = "获得系统日历列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:systemcalendar:query')") + public CommonResult> getSystemcalendarList(@RequestParam("ids") Collection ids) { + List list = systemcalendarService.getSystemcalendarList(ids); + return success(SystemcalendarConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得系统日历分页") + @PreAuthorize("@ss.hasPermission('wms:systemcalendar:query')") + public CommonResult> getSystemcalendarPage(@Valid SystemcalendarPageReqVO pageVO) { + PageResult pageResult = systemcalendarService.getSystemcalendarPage(pageVO); + return success(SystemcalendarConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出系统日历 Excel") + @PreAuthorize("@ss.hasPermission('wms:systemcalendar:export')") + @OperateLog(type = EXPORT) + public void exportSystemcalendarExcel(@Valid SystemcalendarExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = systemcalendarService.getSystemcalendarList(exportReqVO); + // 导出 Excel + List datas = SystemcalendarConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "系统日历.xls", "数据", SystemcalendarExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarBaseVO.java new file mode 100644 index 00000000..375acf9e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarBaseVO.java @@ -0,0 +1,49 @@ +package com.win.module.wms.controller.systemcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 系统日历 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class SystemcalendarBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "模块", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "模块不能为空") + private String module; + + @Schema(description = "开始时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime startTime; + + @Schema(description = "结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime stopTime; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarCreateReqVO.java new file mode 100644 index 00000000..eb1345d5 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.systemcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 系统日历创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SystemcalendarCreateReqVO extends SystemcalendarBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarExcelVO.java new file mode 100644 index 00000000..38d37aef --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarExcelVO.java @@ -0,0 +1,47 @@ +package com.win.module.wms.controller.systemcalendar.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 系统日历 Excel VO + * + * @author 超级管理员 + */ +@Data +public class SystemcalendarExcelVO { + + @ExcelProperty("模块") + private String module; + + @ExcelProperty("开始时间") + private LocalDateTime startTime; + + @ExcelProperty("结束时间") + private LocalDateTime stopTime; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarExportReqVO.java new file mode 100644 index 00000000..8e4d55f3 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarExportReqVO.java @@ -0,0 +1,47 @@ +package com.win.module.wms.controller.systemcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 系统日历 Excel 导出 Request VO,参数和 SystemcalendarPageReqVO 是一致的") +@Data +public class SystemcalendarExportReqVO { + + @Schema(description = "模块") + private String module; + + @Schema(description = "开始时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] startTime; + + @Schema(description = "结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] stopTime; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarPageReqVO.java new file mode 100644 index 00000000..6e5d789e --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarPageReqVO.java @@ -0,0 +1,52 @@ +package com.win.module.wms.controller.systemcalendar.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 系统日历分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SystemcalendarPageReqVO extends PageParam { + + @Schema(description = "模块") + private String module; + + @Schema(description = "开始时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] startTime; + + @Schema(description = "结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] stopTime; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarRespVO.java new file mode 100644 index 00000000..ac3c8871 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.systemcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 系统日历 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SystemcalendarRespVO extends SystemcalendarBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarUpdateReqVO.java new file mode 100644 index 00000000..b4b51742 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.systemcalendar.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 系统日历更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SystemcalendarUpdateReqVO extends SystemcalendarBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/WarehouseController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/WarehouseController.java new file mode 100644 index 00000000..e7cf8a1f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/WarehouseController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.warehouse; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.warehouse.vo.*; +import com.win.module.wms.convert.warehouse.WarehouseConvert; +import com.win.module.wms.dal.dataobject.warehouse.WarehouseDO; +import com.win.module.wms.service.warehouse.WarehouseService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 仓库") +@RestController +@RequestMapping("/wms/warehouse") +@Validated +public class WarehouseController { + + @Resource + private WarehouseService warehouseService; + + @PostMapping("/create") + @Operation(summary = "创建仓库") + @PreAuthorize("@ss.hasPermission('wms:warehouse:create')") + public CommonResult createWarehouse(@Valid @RequestBody WarehouseCreateReqVO createReqVO) { + return success(warehouseService.createWarehouse(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新仓库") + @PreAuthorize("@ss.hasPermission('wms:warehouse:update')") + public CommonResult updateWarehouse(@Valid @RequestBody WarehouseUpdateReqVO updateReqVO) { + warehouseService.updateWarehouse(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除仓库") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:warehouse:delete')") + public CommonResult deleteWarehouse(@RequestParam("id") Long id) { + warehouseService.deleteWarehouse(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得仓库") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:warehouse:query')") + public CommonResult getWarehouse(@RequestParam("id") Long id) { + WarehouseDO warehouse = warehouseService.getWarehouse(id); + return success(WarehouseConvert.INSTANCE.convert(warehouse)); + } + + @GetMapping("/list") + @Operation(summary = "获得仓库列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:warehouse:query')") + public CommonResult> getWarehouseList(@RequestParam("ids") Collection ids) { + List list = warehouseService.getWarehouseList(ids); + return success(WarehouseConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得仓库分页") + @PreAuthorize("@ss.hasPermission('wms:warehouse:query')") + public CommonResult> getWarehousePage(@Valid WarehousePageReqVO pageVO) { + PageResult pageResult = warehouseService.getWarehousePage(pageVO); + return success(WarehouseConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出仓库 Excel") + @PreAuthorize("@ss.hasPermission('wms:warehouse:export')") + @OperateLog(type = EXPORT) + public void exportWarehouseExcel(@Valid WarehouseExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = warehouseService.getWarehouseList(exportReqVO); + // 导出 Excel + List datas = WarehouseConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "仓库.xls", "数据", WarehouseExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseBaseVO.java new file mode 100644 index 00000000..f286bcfe --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseBaseVO.java @@ -0,0 +1,50 @@ +package com.win.module.wms.controller.warehouse.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 仓库 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WarehouseBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseCreateReqVO.java new file mode 100644 index 00000000..b3e1f9e9 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.warehouse.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 仓库创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WarehouseCreateReqVO extends WarehouseBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseExcelVO.java new file mode 100644 index 00000000..f51f784d --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseExcelVO.java @@ -0,0 +1,51 @@ +package com.win.module.wms.controller.warehouse.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 仓库 Excel VO + * + * @author 超级管理员 + */ +@Data +public class WarehouseExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("warehouse_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseExportReqVO.java new file mode 100644 index 00000000..469d33dc --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseExportReqVO.java @@ -0,0 +1,48 @@ +package com.win.module.wms.controller.warehouse.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 仓库 Excel 导出 Request VO,参数和 WarehousePageReqVO 是一致的") +@Data +public class WarehouseExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehousePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehousePageReqVO.java new file mode 100644 index 00000000..60a229f2 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehousePageReqVO.java @@ -0,0 +1,53 @@ +package com.win.module.wms.controller.warehouse.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 仓库分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WarehousePageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseRespVO.java new file mode 100644 index 00000000..04b61526 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.warehouse.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 仓库 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WarehouseRespVO extends WarehouseBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseUpdateReqVO.java new file mode 100644 index 00000000..c54f9d72 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/warehouse/vo/WarehouseUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.warehouse.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 仓库更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WarehouseUpdateReqVO extends WarehouseBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/WorkshopController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/WorkshopController.java new file mode 100644 index 00000000..412facfb --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/WorkshopController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.workshop; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.workshop.vo.*; +import com.win.module.wms.convert.workshop.WorkshopConvert; +import com.win.module.wms.dal.dataobject.workshop.WorkshopDO; +import com.win.module.wms.service.workshop.WorkshopService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 车间") +@RestController +@RequestMapping("/wms/workshop") +@Validated +public class WorkshopController { + + @Resource + private WorkshopService workshopService; + + @PostMapping("/create") + @Operation(summary = "创建车间") + @PreAuthorize("@ss.hasPermission('wms:workshop:create')") + public CommonResult createWorkshop(@Valid @RequestBody WorkshopCreateReqVO createReqVO) { + return success(workshopService.createWorkshop(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新车间") + @PreAuthorize("@ss.hasPermission('wms:workshop:update')") + public CommonResult updateWorkshop(@Valid @RequestBody WorkshopUpdateReqVO updateReqVO) { + workshopService.updateWorkshop(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除车间") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:workshop:delete')") + public CommonResult deleteWorkshop(@RequestParam("id") Long id) { + workshopService.deleteWorkshop(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得车间") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:workshop:query')") + public CommonResult getWorkshop(@RequestParam("id") Long id) { + WorkshopDO workshop = workshopService.getWorkshop(id); + return success(WorkshopConvert.INSTANCE.convert(workshop)); + } + + @GetMapping("/list") + @Operation(summary = "获得车间列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:workshop:query')") + public CommonResult> getWorkshopList(@RequestParam("ids") Collection ids) { + List list = workshopService.getWorkshopList(ids); + return success(WorkshopConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得车间分页") + @PreAuthorize("@ss.hasPermission('wms:workshop:query')") + public CommonResult> getWorkshopPage(@Valid WorkshopPageReqVO pageVO) { + PageResult pageResult = workshopService.getWorkshopPage(pageVO); + return success(WorkshopConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出车间 Excel") + @PreAuthorize("@ss.hasPermission('wms:workshop:export')") + @OperateLog(type = EXPORT) + public void exportWorkshopExcel(@Valid WorkshopExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = workshopService.getWorkshopList(exportReqVO); + // 导出 Excel + List datas = WorkshopConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "车间.xls", "数据", WorkshopExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopBaseVO.java new file mode 100644 index 00000000..05c40b3b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopBaseVO.java @@ -0,0 +1,50 @@ +package com.win.module.wms.controller.workshop.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 车间 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WorkshopBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopCreateReqVO.java new file mode 100644 index 00000000..7a12b50b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.workshop.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 车间创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkshopCreateReqVO extends WorkshopBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopExcelVO.java new file mode 100644 index 00000000..58fa85d6 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopExcelVO.java @@ -0,0 +1,51 @@ +package com.win.module.wms.controller.workshop.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 车间 Excel VO + * + * @author 超级管理员 + */ +@Data +public class WorkshopExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("workshop_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopExportReqVO.java new file mode 100644 index 00000000..a79f565b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopExportReqVO.java @@ -0,0 +1,48 @@ +package com.win.module.wms.controller.workshop.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 车间 Excel 导出 Request VO,参数和 WorkshopPageReqVO 是一致的") +@Data +public class WorkshopExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopPageReqVO.java new file mode 100644 index 00000000..2ca5e93a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopPageReqVO.java @@ -0,0 +1,53 @@ +package com.win.module.wms.controller.workshop.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 车间分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkshopPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopRespVO.java new file mode 100644 index 00000000..b438ce8a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.workshop.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 车间 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkshopRespVO extends WorkshopBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopUpdateReqVO.java new file mode 100644 index 00000000..aa7a16b9 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.workshop.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 车间更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkshopUpdateReqVO extends WorkshopBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/WorkstationController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/WorkstationController.java new file mode 100644 index 00000000..0009c208 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/WorkstationController.java @@ -0,0 +1,99 @@ +package com.win.module.wms.controller.workstation; + +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.wms.controller.workstation.vo.*; +import com.win.module.wms.convert.workstation.WorkstationConvert; +import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; +import com.win.module.wms.service.workstation.WorkstationService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 工位") +@RestController +@RequestMapping("/wms/workstation") +@Validated +public class WorkstationController { + + @Resource + private WorkstationService workstationService; + + @PostMapping("/create") + @Operation(summary = "创建工位") + @PreAuthorize("@ss.hasPermission('wms:workstation:create')") + public CommonResult createWorkstation(@Valid @RequestBody WorkstationCreateReqVO createReqVO) { + return success(workstationService.createWorkstation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新工位") + @PreAuthorize("@ss.hasPermission('wms:workstation:update')") + public CommonResult updateWorkstation(@Valid @RequestBody WorkstationUpdateReqVO updateReqVO) { + workstationService.updateWorkstation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除工位") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:workstation:delete')") + public CommonResult deleteWorkstation(@RequestParam("id") Long id) { + workstationService.deleteWorkstation(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得工位") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:workstation:query')") + public CommonResult getWorkstation(@RequestParam("id") Long id) { + WorkstationDO workstation = workstationService.getWorkstation(id); + return success(WorkstationConvert.INSTANCE.convert(workstation)); + } + + @GetMapping("/list") + @Operation(summary = "获得工位列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:workstation:query')") + public CommonResult> getWorkstationList(@RequestParam("ids") Collection ids) { + List list = workstationService.getWorkstationList(ids); + return success(WorkstationConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得工位分页") + @PreAuthorize("@ss.hasPermission('wms:workstation:query')") + public CommonResult> getWorkstationPage(@Valid WorkstationPageReqVO pageVO) { + PageResult pageResult = workstationService.getWorkstationPage(pageVO); + return success(WorkstationConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出工位 Excel") + @PreAuthorize("@ss.hasPermission('wms:workstation:export')") + @OperateLog(type = EXPORT) + public void exportWorkstationExcel(@Valid WorkstationExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = workstationService.getWorkstationList(exportReqVO); + // 导出 Excel + List datas = WorkstationConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "工位.xls", "数据", WorkstationExcelVO.class, datas); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationBaseVO.java new file mode 100644 index 00000000..fbe0bff9 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationBaseVO.java @@ -0,0 +1,64 @@ +package com.win.module.wms.controller.workstation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 工位 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WorkstationBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "代码不能为空") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "车间代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "车间代码不能为空") + private String workshopCode; + + @Schema(description = "生产线代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "生产线代码不能为空") + private String productionLineCode; + + @Schema(description = "原料库位") + private String rawLocationCode; + + @Schema(description = "成品库位") + private String fgLocationCode; + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationCreateReqVO.java new file mode 100644 index 00000000..e987ba21 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationCreateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.workstation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 工位创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkstationCreateReqVO extends WorkstationBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationExcelVO.java new file mode 100644 index 00000000..0b214884 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationExcelVO.java @@ -0,0 +1,63 @@ +package com.win.module.wms.controller.workstation.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * 工位 Excel VO + * + * @author 超级管理员 + */ +@Data +public class WorkstationExcelVO { + + @ExcelProperty("代码") + private String code; + + @ExcelProperty("名称") + private String name; + + @ExcelProperty("描述") + private String description; + + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("work_station_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String type; + + @ExcelProperty("车间代码") + private String workshopCode; + + @ExcelProperty("生产线代码") + private String productionLineCode; + + @ExcelProperty("原料库位") + private String rawLocationCode; + + @ExcelProperty("成品库位") + private String fgLocationCode; + + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private Integer available; + + @ExcelProperty("生效时间") + private LocalDateTime activeTime; + + @ExcelProperty("失效时间") + private LocalDateTime expireTime; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationExportReqVO.java new file mode 100644 index 00000000..e9113f45 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationExportReqVO.java @@ -0,0 +1,60 @@ +package com.win.module.wms.controller.workstation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工位 Excel 导出 Request VO,参数和 WorkstationPageReqVO 是一致的") +@Data +public class WorkstationExportReqVO { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "车间代码") + private String workshopCode; + + @Schema(description = "生产线代码") + private String productionLineCode; + + @Schema(description = "原料库位") + private String rawLocationCode; + + @Schema(description = "成品库位") + private String fgLocationCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationPageReqVO.java new file mode 100644 index 00000000..09236d9a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationPageReqVO.java @@ -0,0 +1,65 @@ +package com.win.module.wms.controller.workstation.vo; + +import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工位分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkstationPageReqVO extends PageParam { + + @Schema(description = "代码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "描述") + private String description; + + @Schema(description = "类型") + private String type; + + @Schema(description = "车间代码") + private String workshopCode; + + @Schema(description = "生产线代码") + private String productionLineCode; + + @Schema(description = "原料库位") + private String rawLocationCode; + + @Schema(description = "成品库位") + private String fgLocationCode; + + @Schema(description = "是否可用") + private Integer available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "创建者ID") + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationRespVO.java new file mode 100644 index 00000000..621b0f46 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationRespVO.java @@ -0,0 +1,22 @@ +package com.win.module.wms.controller.workstation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 工位 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkstationRespVO extends WorkstationBaseVO { + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationUpdateReqVO.java new file mode 100644 index 00000000..63c7ca3f --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/vo/WorkstationUpdateReqVO.java @@ -0,0 +1,14 @@ +package com.win.module.wms.controller.workstation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 工位更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkstationUpdateReqVO extends WorkstationBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/accountcalendar/AccountcalendarConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/accountcalendar/AccountcalendarConvert.java index 3cc8ee91..d4676415 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/accountcalendar/AccountcalendarConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/accountcalendar/AccountcalendarConvert.java @@ -1,10 +1,10 @@ package com.win.module.wms.convert.accountcalendar; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarCreateReqVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarExcelVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarRespVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarUpdateReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarCreateReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarExcelVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarRespVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarUpdateReqVO; import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/areabasic/AreabasicConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/areabasic/AreabasicConvert.java index 05ed3d9e..1496c1e1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/areabasic/AreabasicConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/areabasic/AreabasicConvert.java @@ -1,10 +1,10 @@ package com.win.module.wms.convert.areabasic; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicCreateReqVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicExcelVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicRespVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicUpdateReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicCreateReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicExcelVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicRespVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicUpdateReqVO; import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/bom/BomConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/bom/BomConvert.java index 562a85b6..03b9fe1c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/bom/BomConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/bom/BomConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.bom.vo.BomCreateReqVO; -import com.win.module.wms.controller.admin.bom.vo.BomExcelVO; -import com.win.module.wms.controller.admin.bom.vo.BomRespVO; -import com.win.module.wms.controller.admin.bom.vo.BomUpdateReqVO; +import com.win.module.wms.controller.bom.vo.BomCreateReqVO; +import com.win.module.wms.controller.bom.vo.BomExcelVO; +import com.win.module.wms.controller.bom.vo.BomRespVO; +import com.win.module.wms.controller.bom.vo.BomUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.bom.BomDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/currencyexchange/CurrencyexchangeConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/currencyexchange/CurrencyexchangeConvert.java index 21f8dcd3..91842f5b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/currencyexchange/CurrencyexchangeConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/currencyexchange/CurrencyexchangeConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeCreateReqVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeExcelVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeRespVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeUpdateReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeCreateReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeExcelVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeRespVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customer/CustomerConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customer/CustomerConvert.java index 50b35f43..36f1fe6b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customer/CustomerConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customer/CustomerConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.customer.vo.CustomerCreateReqVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerExcelVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerRespVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerUpdateReqVO; +import com.win.module.wms.controller.customer.vo.CustomerCreateReqVO; +import com.win.module.wms.controller.customer.vo.CustomerExcelVO; +import com.win.module.wms.controller.customer.vo.CustomerRespVO; +import com.win.module.wms.controller.customer.vo.CustomerUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.customer.CustomerDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerdock/CustomerdockConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerdock/CustomerdockConvert.java index 0288d7ae..36aea1af 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerdock/CustomerdockConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerdock/CustomerdockConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockCreateReqVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockExcelVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockRespVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockUpdateReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockCreateReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockExcelVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockRespVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customeritem/CustomeritemConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customeritem/CustomeritemConvert.java index 0fcfd6d7..fa3be25b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customeritem/CustomeritemConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customeritem/CustomeritemConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemCreateReqVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemExcelVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemRespVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemUpdateReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemCreateReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemExcelVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemRespVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/dock/DockConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/dock/DockConvert.java index 5a8f66e6..c9a2a02e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/dock/DockConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/dock/DockConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.dock.vo.DockCreateReqVO; -import com.win.module.wms.controller.admin.dock.vo.DockExcelVO; -import com.win.module.wms.controller.admin.dock.vo.DockRespVO; -import com.win.module.wms.controller.admin.dock.vo.DockUpdateReqVO; +import com.win.module.wms.controller.dock.vo.DockCreateReqVO; +import com.win.module.wms.controller.dock.vo.DockExcelVO; +import com.win.module.wms.controller.dock.vo.DockRespVO; +import com.win.module.wms.controller.dock.vo.DockUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.dock.DockDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/itembasic/ItembasicConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/itembasic/ItembasicConvert.java index 8f11f52a..08567286 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/itembasic/ItembasicConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/itembasic/ItembasicConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicCreateReqVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicExcelVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicRespVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicUpdateReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicCreateReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicRespVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/itempackaging/ItempackagingConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/itempackaging/ItempackagingConvert.java index ba7ff310..67837128 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/itempackaging/ItempackagingConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/itempackaging/ItempackagingConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingCreateReqVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingExcelVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingRespVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingUpdateReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingCreateReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingExcelVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingRespVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/location/LocationConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/location/LocationConvert.java index 86d1dff5..374ab259 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/location/LocationConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/location/LocationConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.location.vo.LocationCreateReqVO; -import com.win.module.wms.controller.admin.location.vo.LocationExcelVO; -import com.win.module.wms.controller.admin.location.vo.LocationRespVO; -import com.win.module.wms.controller.admin.location.vo.LocationUpdateReqVO; +import com.win.module.wms.controller.location.vo.LocationCreateReqVO; +import com.win.module.wms.controller.location.vo.LocationExcelVO; +import com.win.module.wms.controller.location.vo.LocationRespVO; +import com.win.module.wms.controller.location.vo.LocationUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.location.LocationDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/locationgroup/LocationgroupConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/locationgroup/LocationgroupConvert.java index 88d679af..8e18504f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/locationgroup/LocationgroupConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/locationgroup/LocationgroupConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupCreateReqVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupExcelVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupRespVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupUpdateReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupCreateReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupExcelVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupRespVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.locationgroup.LocationgroupDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/process/ProcessConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/process/ProcessConvert.java index bf5049d8..08b5396e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/process/ProcessConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/process/ProcessConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.process.vo.ProcessCreateReqVO; -import com.win.module.wms.controller.admin.process.vo.ProcessExcelVO; -import com.win.module.wms.controller.admin.process.vo.ProcessRespVO; -import com.win.module.wms.controller.admin.process.vo.ProcessUpdateReqVO; +import com.win.module.wms.controller.process.vo.ProcessCreateReqVO; +import com.win.module.wms.controller.process.vo.ProcessExcelVO; +import com.win.module.wms.controller.process.vo.ProcessRespVO; +import com.win.module.wms.controller.process.vo.ProcessUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.process.ProcessDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionline/ProductionlineConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionline/ProductionlineConvert.java index f6cc033f..e805d459 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionline/ProductionlineConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionline/ProductionlineConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineCreateReqVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineExcelVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineRespVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineUpdateReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineCreateReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineExcelVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineRespVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionlineitem/ProductionlineitemConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionlineitem/ProductionlineitemConvert.java index 2b68084d..5934d4d4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionlineitem/ProductionlineitemConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productionlineitem/ProductionlineitemConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemCreateReqVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemExcelVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemRespVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemUpdateReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemCreateReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemExcelVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemRespVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/project/ProjectConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/project/ProjectConvert.java index 2ef32666..49579b41 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/project/ProjectConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/project/ProjectConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.project.vo.ProjectCreateReqVO; -import com.win.module.wms.controller.admin.project.vo.ProjectExcelVO; -import com.win.module.wms.controller.admin.project.vo.ProjectRespVO; -import com.win.module.wms.controller.admin.project.vo.ProjectUpdateReqVO; +import com.win.module.wms.controller.project.vo.ProjectCreateReqVO; +import com.win.module.wms.controller.project.vo.ProjectExcelVO; +import com.win.module.wms.controller.project.vo.ProjectRespVO; +import com.win.module.wms.controller.project.vo.ProjectUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.project.ProjectDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchaseprice/PurchasepriceConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchaseprice/PurchasepriceConvert.java index eb526a21..044c2217 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchaseprice/PurchasepriceConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchaseprice/PurchasepriceConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceCreateReqVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceExcelVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceRespVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceUpdateReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceCreateReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceExcelVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceRespVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/saleprice/SalepriceConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/saleprice/SalepriceConvert.java index 02c33521..5135d8cf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/saleprice/SalepriceConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/saleprice/SalepriceConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceCreateReqVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceExcelVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceRespVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceUpdateReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceCreateReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceExcelVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceRespVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/stdcostprice/StdcostpriceConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/stdcostprice/StdcostpriceConvert.java index a0fc6a90..87332dc4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/stdcostprice/StdcostpriceConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/stdcostprice/StdcostpriceConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceCreateReqVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceExcelVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceRespVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceUpdateReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceCreateReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceExcelVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceRespVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplier/SupplierConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplier/SupplierConvert.java index cf0a4f7e..db0d6921 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplier/SupplierConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplier/SupplierConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.supplier.vo.SupplierCreateReqVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierExcelVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierRespVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierUpdateReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierCreateReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierExcelVO; +import com.win.module.wms.controller.supplier.vo.SupplierRespVO; +import com.win.module.wms.controller.supplier.vo.SupplierUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.supplier.SupplierDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplieritem/SupplieritemConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplieritem/SupplieritemConvert.java index cf1a7787..752f1a71 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplieritem/SupplieritemConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplieritem/SupplieritemConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemCreateReqVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemExcelVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemRespVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemUpdateReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemCreateReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemExcelVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemRespVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/systemcalendar/SystemcalendarConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/systemcalendar/SystemcalendarConvert.java index 60f8b57b..5e0776ef 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/systemcalendar/SystemcalendarConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/systemcalendar/SystemcalendarConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarCreateReqVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarExcelVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarRespVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarUpdateReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarCreateReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarExcelVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarRespVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/warehouse/WarehouseConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/warehouse/WarehouseConvert.java index 1370f8fa..3a31e694 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/warehouse/WarehouseConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/warehouse/WarehouseConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseCreateReqVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseExcelVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseRespVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseUpdateReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseCreateReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseExcelVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseRespVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.warehouse.WarehouseDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workshop/WorkshopConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workshop/WorkshopConvert.java index 30f94360..b7bd3a15 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workshop/WorkshopConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workshop/WorkshopConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopCreateReqVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopExcelVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopRespVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopUpdateReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopCreateReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopExcelVO; +import com.win.module.wms.controller.workshop.vo.WorkshopRespVO; +import com.win.module.wms.controller.workshop.vo.WorkshopUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.workshop.WorkshopDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workstation/WorkstationConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workstation/WorkstationConvert.java index ddf347f3..880b77fc 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workstation/WorkstationConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workstation/WorkstationConvert.java @@ -4,10 +4,10 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationCreateReqVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationExcelVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationRespVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationUpdateReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationCreateReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationExcelVO; +import com.win.module.wms.controller.workstation.vo.WorkstationRespVO; +import com.win.module.wms.controller.workstation.vo.WorkstationUpdateReqVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/accountcalendar/AccountcalendarMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/accountcalendar/AccountcalendarMapper.java index 1890b3e6..b543c82e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/accountcalendar/AccountcalendarMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/accountcalendar/AccountcalendarMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarExportReqVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarPageReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarExportReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarPageReqVO; import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/areabasic/AreabasicMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/areabasic/AreabasicMapper.java index 0b73cc95..5ff16971 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/areabasic/AreabasicMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/areabasic/AreabasicMapper.java @@ -3,8 +3,8 @@ package com.win.module.wms.dal.mysql.areabasic; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicExportReqVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicPageReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicExportReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicPageReqVO; import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/bom/BomMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/bom/BomMapper.java index ab61ef1b..4ecb0f50 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/bom/BomMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/bom/BomMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.bom.vo.BomExportReqVO; -import com.win.module.wms.controller.admin.bom.vo.BomPageReqVO; +import com.win.module.wms.controller.bom.vo.BomExportReqVO; +import com.win.module.wms.controller.bom.vo.BomPageReqVO; import com.win.module.wms.dal.dataobject.bom.BomDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/currencyexchange/CurrencyexchangeMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/currencyexchange/CurrencyexchangeMapper.java index 21985ea7..41c2f267 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/currencyexchange/CurrencyexchangeMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/currencyexchange/CurrencyexchangeMapper.java @@ -3,8 +3,8 @@ package com.win.module.wms.dal.mysql.currencyexchange; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeExportReqVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangePageReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeExportReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangePageReqVO; import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customer/CustomerMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customer/CustomerMapper.java index 9ed5cea1..615f85d2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customer/CustomerMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customer/CustomerMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.customer.vo.CustomerExportReqVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerPageReqVO; +import com.win.module.wms.controller.customer.vo.CustomerExportReqVO; +import com.win.module.wms.controller.customer.vo.CustomerPageReqVO; import com.win.module.wms.dal.dataobject.customer.CustomerDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerdock/CustomerdockMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerdock/CustomerdockMapper.java index b178a2e1..2e228471 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerdock/CustomerdockMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerdock/CustomerdockMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockExportReqVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockPageReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockExportReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockPageReqVO; import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customeritem/CustomeritemMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customeritem/CustomeritemMapper.java index 3827bb76..fd03ea2d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customeritem/CustomeritemMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customeritem/CustomeritemMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemExportReqVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemPageReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemExportReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemPageReqVO; import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/dock/DockMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/dock/DockMapper.java index 8494ed1c..c8d60833 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/dock/DockMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/dock/DockMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.dock.vo.DockExportReqVO; -import com.win.module.wms.controller.admin.dock.vo.DockPageReqVO; +import com.win.module.wms.controller.dock.vo.DockExportReqVO; +import com.win.module.wms.controller.dock.vo.DockPageReqVO; import com.win.module.wms.dal.dataobject.dock.DockDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java index 51c8bb83..a9a3cd62 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itembasic/ItembasicMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicExportReqVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicPageReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicExportReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicPageReqVO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itempackaging/ItempackagingMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itempackaging/ItempackagingMapper.java index 4baa1df5..002cc746 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itempackaging/ItempackagingMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/itempackaging/ItempackagingMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingExportReqVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingPageReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingExportReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingPageReqVO; import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java index 776c1caa..95528120 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/location/LocationMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.location.vo.LocationExportReqVO; -import com.win.module.wms.controller.admin.location.vo.LocationPageReqVO; +import com.win.module.wms.controller.location.vo.LocationExportReqVO; +import com.win.module.wms.controller.location.vo.LocationPageReqVO; import com.win.module.wms.dal.dataobject.location.LocationDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/locationgroup/LocationgroupMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/locationgroup/LocationgroupMapper.java index 09e6467f..1711b5fc 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/locationgroup/LocationgroupMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/locationgroup/LocationgroupMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupExportReqVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupPageReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupExportReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupPageReqVO; import com.win.module.wms.dal.dataobject.locationgroup.LocationgroupDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/process/ProcessMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/process/ProcessMapper.java index 8959351b..d12d9e47 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/process/ProcessMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/process/ProcessMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.process.vo.ProcessExportReqVO; -import com.win.module.wms.controller.admin.process.vo.ProcessPageReqVO; +import com.win.module.wms.controller.process.vo.ProcessExportReqVO; +import com.win.module.wms.controller.process.vo.ProcessPageReqVO; import com.win.module.wms.dal.dataobject.process.ProcessDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionline/ProductionlineMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionline/ProductionlineMapper.java index 1916723c..00c84df6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionline/ProductionlineMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionline/ProductionlineMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineExportReqVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlinePageReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineExportReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlinePageReqVO; import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionlineitem/ProductionlineitemMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionlineitem/ProductionlineitemMapper.java index 01b23947..25ac668f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionlineitem/ProductionlineitemMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionlineitem/ProductionlineitemMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemExportReqVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemPageReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemExportReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemPageReqVO; import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/project/ProjectMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/project/ProjectMapper.java index 817cff3e..b3854bab 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/project/ProjectMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/project/ProjectMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.project.vo.ProjectExportReqVO; -import com.win.module.wms.controller.admin.project.vo.ProjectPageReqVO; +import com.win.module.wms.controller.project.vo.ProjectExportReqVO; +import com.win.module.wms.controller.project.vo.ProjectPageReqVO; import com.win.module.wms.dal.dataobject.project.ProjectDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseprice/PurchasepriceMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseprice/PurchasepriceMapper.java index 13c57503..b2f841cf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseprice/PurchasepriceMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseprice/PurchasepriceMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceExportReqVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepricePageReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceExportReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepricePageReqVO; import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/saleprice/SalepriceMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/saleprice/SalepriceMapper.java index ccb75532..4a95041d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/saleprice/SalepriceMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/saleprice/SalepriceMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceExportReqVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepricePageReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceExportReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepricePageReqVO; import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/stdcostprice/StdcostpriceMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/stdcostprice/StdcostpriceMapper.java index 3a723af8..3415fb27 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/stdcostprice/StdcostpriceMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/stdcostprice/StdcostpriceMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceExportReqVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpricePageReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceExportReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpricePageReqVO; import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java index 6d419c49..58801d05 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplier/SupplierMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.supplier.vo.SupplierExportReqVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierPageReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierExportReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierPageReqVO; import com.win.module.wms.dal.dataobject.supplier.SupplierDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplieritem/SupplieritemMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplieritem/SupplieritemMapper.java index 706d2e58..14167a7a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplieritem/SupplieritemMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplieritem/SupplieritemMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemExportReqVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemPageReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemExportReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemPageReqVO; import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/systemcalendar/SystemcalendarMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/systemcalendar/SystemcalendarMapper.java index 147804f6..d34dd2f5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/systemcalendar/SystemcalendarMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/systemcalendar/SystemcalendarMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarExportReqVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarPageReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarExportReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarPageReqVO; import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/warehouse/WarehouseMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/warehouse/WarehouseMapper.java index c5a539b4..b6e5c531 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/warehouse/WarehouseMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/warehouse/WarehouseMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseExportReqVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehousePageReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseExportReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehousePageReqVO; import com.win.module.wms.dal.dataobject.warehouse.WarehouseDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/workshop/WorkshopMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/workshop/WorkshopMapper.java index f97accdf..0a1ed25b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/workshop/WorkshopMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/workshop/WorkshopMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopExportReqVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopPageReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopExportReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopPageReqVO; import com.win.module.wms.dal.dataobject.workshop.WorkshopDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/workstation/WorkstationMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/workstation/WorkstationMapper.java index cdc334bb..cd76bf0f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/workstation/WorkstationMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/workstation/WorkstationMapper.java @@ -5,8 +5,8 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationExportReqVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationPageReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationExportReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationPageReqVO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import org.apache.ibatis.annotations.Mapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarService.java index 04622362..1f88514b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarService.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.accountcalendar; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarCreateReqVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarExportReqVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarPageReqVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarUpdateReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarCreateReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarExportReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarPageReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarUpdateReqVO; import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import javax.validation.Valid; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarServiceImpl.java index 4fb4609d..5125e1b8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.accountcalendar; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarCreateReqVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarExportReqVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarPageReqVO; -import com.win.module.wms.controller.admin.accountcalendar.vo.AccountcalendarUpdateReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarCreateReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarExportReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarPageReqVO; +import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarUpdateReqVO; import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert; import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import com.win.module.wms.dal.mysql.accountcalendar.AccountcalendarMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/areabasic/AreabasicService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/areabasic/AreabasicService.java index 1edfd03c..83ed8b2c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/areabasic/AreabasicService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/areabasic/AreabasicService.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.areabasic; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicCreateReqVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicExportReqVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicPageReqVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicUpdateReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicCreateReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicExportReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicPageReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicUpdateReqVO; import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO; import javax.validation.Valid; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/areabasic/AreabasicServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/areabasic/AreabasicServiceImpl.java index 3dab27dc..1865745a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/areabasic/AreabasicServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/areabasic/AreabasicServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.areabasic; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicCreateReqVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicExportReqVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicPageReqVO; -import com.win.module.wms.controller.admin.areabasic.vo.AreabasicUpdateReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicCreateReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicExportReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicPageReqVO; +import com.win.module.wms.controller.areabasic.vo.AreabasicUpdateReqVO; import com.win.module.wms.convert.areabasic.AreabasicConvert; import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO; import com.win.module.wms.dal.mysql.areabasic.AreabasicMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomService.java index 112bab4f..d6822d67 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.bom; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.bom.vo.BomCreateReqVO; -import com.win.module.wms.controller.admin.bom.vo.BomExportReqVO; -import com.win.module.wms.controller.admin.bom.vo.BomPageReqVO; -import com.win.module.wms.controller.admin.bom.vo.BomUpdateReqVO; +import com.win.module.wms.controller.bom.vo.BomCreateReqVO; +import com.win.module.wms.controller.bom.vo.BomExportReqVO; +import com.win.module.wms.controller.bom.vo.BomPageReqVO; +import com.win.module.wms.controller.bom.vo.BomUpdateReqVO; import com.win.module.wms.dal.dataobject.bom.BomDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java index ba56086a..aa8672a5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java @@ -1,9 +1,9 @@ package com.win.module.wms.service.bom; -import com.win.module.wms.controller.admin.bom.vo.BomCreateReqVO; -import com.win.module.wms.controller.admin.bom.vo.BomExportReqVO; -import com.win.module.wms.controller.admin.bom.vo.BomPageReqVO; -import com.win.module.wms.controller.admin.bom.vo.BomUpdateReqVO; +import com.win.module.wms.controller.bom.vo.BomCreateReqVO; +import com.win.module.wms.controller.bom.vo.BomExportReqVO; +import com.win.module.wms.controller.bom.vo.BomPageReqVO; +import com.win.module.wms.controller.bom.vo.BomUpdateReqVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/currencyexchange/CurrencyexchangeService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/currencyexchange/CurrencyexchangeService.java index de8c6013..f08f49c4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/currencyexchange/CurrencyexchangeService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/currencyexchange/CurrencyexchangeService.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.currencyexchange; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeCreateReqVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeExportReqVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangePageReqVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeUpdateReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeCreateReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeExportReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangePageReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeUpdateReqVO; import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO; import javax.validation.Valid; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/currencyexchange/CurrencyexchangeServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/currencyexchange/CurrencyexchangeServiceImpl.java index bba7a69e..6799c23c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/currencyexchange/CurrencyexchangeServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/currencyexchange/CurrencyexchangeServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.currencyexchange; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeCreateReqVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeExportReqVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangePageReqVO; -import com.win.module.wms.controller.admin.currencyexchange.vo.CurrencyexchangeUpdateReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeCreateReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeExportReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangePageReqVO; +import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeUpdateReqVO; import com.win.module.wms.convert.currencyexchange.CurrencyexchangeConvert; import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO; import com.win.module.wms.dal.mysql.currencyexchange.CurrencyexchangeMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customer/CustomerService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customer/CustomerService.java index b466eda5..2052c7b6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customer/CustomerService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customer/CustomerService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.customer; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.customer.vo.CustomerCreateReqVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerExportReqVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerPageReqVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerUpdateReqVO; +import com.win.module.wms.controller.customer.vo.CustomerCreateReqVO; +import com.win.module.wms.controller.customer.vo.CustomerExportReqVO; +import com.win.module.wms.controller.customer.vo.CustomerPageReqVO; +import com.win.module.wms.controller.customer.vo.CustomerUpdateReqVO; import com.win.module.wms.dal.dataobject.customer.CustomerDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customer/CustomerServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customer/CustomerServiceImpl.java index 7889cbe8..f3ca8a3d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customer/CustomerServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customer/CustomerServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.customer; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.customer.vo.CustomerCreateReqVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerExportReqVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerPageReqVO; -import com.win.module.wms.controller.admin.customer.vo.CustomerUpdateReqVO; +import com.win.module.wms.controller.customer.vo.CustomerCreateReqVO; +import com.win.module.wms.controller.customer.vo.CustomerExportReqVO; +import com.win.module.wms.controller.customer.vo.CustomerPageReqVO; +import com.win.module.wms.controller.customer.vo.CustomerUpdateReqVO; import com.win.module.wms.convert.customer.CustomerConvert; import com.win.module.wms.dal.dataobject.customer.CustomerDO; import com.win.module.wms.dal.mysql.customer.CustomerMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerdock/CustomerdockService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerdock/CustomerdockService.java index 264f1643..5dc603bf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerdock/CustomerdockService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerdock/CustomerdockService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.customerdock; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockCreateReqVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockExportReqVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockPageReqVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockUpdateReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockCreateReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockExportReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockPageReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockUpdateReqVO; import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerdock/CustomerdockServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerdock/CustomerdockServiceImpl.java index c8c47ca1..ba533b3a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerdock/CustomerdockServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerdock/CustomerdockServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.customerdock; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockCreateReqVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockExportReqVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockPageReqVO; -import com.win.module.wms.controller.admin.customerdock.vo.CustomerdockUpdateReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockCreateReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockExportReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockPageReqVO; +import com.win.module.wms.controller.customerdock.vo.CustomerdockUpdateReqVO; import com.win.module.wms.convert.customerdock.CustomerdockConvert; import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO; import com.win.module.wms.dal.mysql.customerdock.CustomerdockMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customeritem/CustomeritemService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customeritem/CustomeritemService.java index fad1a9ca..3883f862 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customeritem/CustomeritemService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customeritem/CustomeritemService.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.customeritem; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemCreateReqVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemExportReqVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemPageReqVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemUpdateReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemCreateReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemExportReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemPageReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemUpdateReqVO; import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; import javax.validation.Valid; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customeritem/CustomeritemServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customeritem/CustomeritemServiceImpl.java index 9f7c978f..ca8ab9f5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customeritem/CustomeritemServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customeritem/CustomeritemServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.customeritem; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemCreateReqVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemExportReqVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemPageReqVO; -import com.win.module.wms.controller.admin.customeritem.vo.CustomeritemUpdateReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemCreateReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemExportReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemPageReqVO; +import com.win.module.wms.controller.customeritem.vo.CustomeritemUpdateReqVO; import com.win.module.wms.convert.customeritem.CustomeritemConvert; import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; import com.win.module.wms.dal.mysql.customeritem.CustomeritemMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java index 5d194ddb..67e3e2d8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.dock; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.dock.vo.DockCreateReqVO; -import com.win.module.wms.controller.admin.dock.vo.DockExportReqVO; -import com.win.module.wms.controller.admin.dock.vo.DockPageReqVO; -import com.win.module.wms.controller.admin.dock.vo.DockUpdateReqVO; +import com.win.module.wms.controller.dock.vo.DockCreateReqVO; +import com.win.module.wms.controller.dock.vo.DockExportReqVO; +import com.win.module.wms.controller.dock.vo.DockPageReqVO; +import com.win.module.wms.controller.dock.vo.DockUpdateReqVO; import com.win.module.wms.dal.dataobject.dock.DockDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java index 9dcfb431..5c53cc7b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.dock; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.dock.vo.DockCreateReqVO; -import com.win.module.wms.controller.admin.dock.vo.DockExportReqVO; -import com.win.module.wms.controller.admin.dock.vo.DockPageReqVO; -import com.win.module.wms.controller.admin.dock.vo.DockUpdateReqVO; +import com.win.module.wms.controller.dock.vo.DockCreateReqVO; +import com.win.module.wms.controller.dock.vo.DockExportReqVO; +import com.win.module.wms.controller.dock.vo.DockPageReqVO; +import com.win.module.wms.controller.dock.vo.DockUpdateReqVO; import com.win.module.wms.convert.dock.DockConvert; import com.win.module.wms.dal.dataobject.dock.DockDO; import com.win.module.wms.dal.mysql.dock.DockMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicService.java index cbef85dd..70c8a9bb 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.itembasic; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicCreateReqVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicExportReqVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicPageReqVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicUpdateReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicCreateReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicExportReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicPageReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicUpdateReqVO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java index 7a06c917..7bfb3a01 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.itembasic; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicCreateReqVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicExportReqVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicPageReqVO; -import com.win.module.wms.controller.admin.itembasic.vo.ItembasicUpdateReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicCreateReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicExportReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicPageReqVO; +import com.win.module.wms.controller.itembasic.vo.ItembasicUpdateReqVO; import com.win.module.wms.convert.itembasic.ItembasicConvert; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingService.java index 04f83d18..752d304a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingService.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.itempackaging; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingCreateReqVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingExportReqVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingPageReqVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingUpdateReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingCreateReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingExportReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingPageReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingUpdateReqVO; import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; import javax.validation.Valid; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java index f39224b0..4d27b9a0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.itempackaging; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingCreateReqVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingExportReqVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingPageReqVO; -import com.win.module.wms.controller.admin.itempackaging.vo.ItempackagingUpdateReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingCreateReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingExportReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingPageReqVO; +import com.win.module.wms.controller.itempackaging.vo.ItempackagingUpdateReqVO; import com.win.module.wms.convert.itempackaging.ItempackagingConvert; import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; import com.win.module.wms.dal.mysql.itempackaging.ItempackagingMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationService.java index dabb0c5a..ace994be 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.location; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.location.vo.LocationCreateReqVO; -import com.win.module.wms.controller.admin.location.vo.LocationExportReqVO; -import com.win.module.wms.controller.admin.location.vo.LocationPageReqVO; -import com.win.module.wms.controller.admin.location.vo.LocationUpdateReqVO; +import com.win.module.wms.controller.location.vo.LocationCreateReqVO; +import com.win.module.wms.controller.location.vo.LocationExportReqVO; +import com.win.module.wms.controller.location.vo.LocationPageReqVO; +import com.win.module.wms.controller.location.vo.LocationUpdateReqVO; import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java index 776cc965..58113341 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.location; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.location.vo.LocationCreateReqVO; -import com.win.module.wms.controller.admin.location.vo.LocationExportReqVO; -import com.win.module.wms.controller.admin.location.vo.LocationPageReqVO; -import com.win.module.wms.controller.admin.location.vo.LocationUpdateReqVO; +import com.win.module.wms.controller.location.vo.LocationCreateReqVO; +import com.win.module.wms.controller.location.vo.LocationExportReqVO; +import com.win.module.wms.controller.location.vo.LocationPageReqVO; +import com.win.module.wms.controller.location.vo.LocationUpdateReqVO; import com.win.module.wms.convert.location.LocationConvert; import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.mysql.location.LocationMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/locationgroup/LocationgroupService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/locationgroup/LocationgroupService.java index 33ab41a2..fc3726e9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/locationgroup/LocationgroupService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/locationgroup/LocationgroupService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.locationgroup; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupCreateReqVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupExportReqVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupPageReqVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupUpdateReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupCreateReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupExportReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupPageReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupUpdateReqVO; import com.win.module.wms.dal.dataobject.locationgroup.LocationgroupDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/locationgroup/LocationgroupServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/locationgroup/LocationgroupServiceImpl.java index d514507a..944b3882 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/locationgroup/LocationgroupServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/locationgroup/LocationgroupServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.locationgroup; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupCreateReqVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupExportReqVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupPageReqVO; -import com.win.module.wms.controller.admin.locationgroup.vo.LocationgroupUpdateReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupCreateReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupExportReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupPageReqVO; +import com.win.module.wms.controller.locationgroup.vo.LocationgroupUpdateReqVO; import com.win.module.wms.convert.locationgroup.LocationgroupConvert; import com.win.module.wms.dal.dataobject.locationgroup.LocationgroupDO; import com.win.module.wms.dal.mysql.locationgroup.LocationgroupMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessService.java index 8812184f..c53967ba 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.process; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.process.vo.ProcessCreateReqVO; -import com.win.module.wms.controller.admin.process.vo.ProcessExportReqVO; -import com.win.module.wms.controller.admin.process.vo.ProcessPageReqVO; -import com.win.module.wms.controller.admin.process.vo.ProcessUpdateReqVO; +import com.win.module.wms.controller.process.vo.ProcessCreateReqVO; +import com.win.module.wms.controller.process.vo.ProcessExportReqVO; +import com.win.module.wms.controller.process.vo.ProcessPageReqVO; +import com.win.module.wms.controller.process.vo.ProcessUpdateReqVO; import com.win.module.wms.dal.dataobject.process.ProcessDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessServiceImpl.java index 8cfc8a2c..9ad14ab0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.process; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.process.vo.ProcessCreateReqVO; -import com.win.module.wms.controller.admin.process.vo.ProcessExportReqVO; -import com.win.module.wms.controller.admin.process.vo.ProcessPageReqVO; -import com.win.module.wms.controller.admin.process.vo.ProcessUpdateReqVO; +import com.win.module.wms.controller.process.vo.ProcessCreateReqVO; +import com.win.module.wms.controller.process.vo.ProcessExportReqVO; +import com.win.module.wms.controller.process.vo.ProcessPageReqVO; +import com.win.module.wms.controller.process.vo.ProcessUpdateReqVO; import com.win.module.wms.convert.process.ProcessConvert; import com.win.module.wms.dal.dataobject.process.ProcessDO; import com.win.module.wms.dal.mysql.process.ProcessMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineService.java index 849df6f3..395a393e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.productionline; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineCreateReqVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineExportReqVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlinePageReqVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineUpdateReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineCreateReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineExportReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlinePageReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineUpdateReqVO; import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineServiceImpl.java index e3a795f5..71eae038 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.productionline; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineCreateReqVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineExportReqVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlinePageReqVO; -import com.win.module.wms.controller.admin.productionline.vo.ProductionlineUpdateReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineCreateReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineExportReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlinePageReqVO; +import com.win.module.wms.controller.productionline.vo.ProductionlineUpdateReqVO; import com.win.module.wms.convert.productionline.ProductionlineConvert; import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; import com.win.module.wms.dal.mysql.productionline.ProductionlineMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemService.java index 7ee6a578..999bb38c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemService.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.productionlineitem; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemCreateReqVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemExportReqVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemPageReqVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemUpdateReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemCreateReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemExportReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemPageReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemUpdateReqVO; import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; import javax.validation.Valid; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemServiceImpl.java index 390b1365..b3f21e28 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.productionlineitem; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemCreateReqVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemExportReqVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemPageReqVO; -import com.win.module.wms.controller.admin.productionlineitem.vo.ProductionlineitemUpdateReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemCreateReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemExportReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemPageReqVO; +import com.win.module.wms.controller.productionlineitem.vo.ProductionlineitemUpdateReqVO; import com.win.module.wms.convert.productionlineitem.ProductionlineitemConvert; import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; import com.win.module.wms.dal.mysql.productionlineitem.ProductionlineitemMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/project/ProjectService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/project/ProjectService.java index 6be3faf4..7daf91b3 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/project/ProjectService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/project/ProjectService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.project; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.project.vo.ProjectCreateReqVO; -import com.win.module.wms.controller.admin.project.vo.ProjectExportReqVO; -import com.win.module.wms.controller.admin.project.vo.ProjectPageReqVO; -import com.win.module.wms.controller.admin.project.vo.ProjectUpdateReqVO; +import com.win.module.wms.controller.project.vo.ProjectCreateReqVO; +import com.win.module.wms.controller.project.vo.ProjectExportReqVO; +import com.win.module.wms.controller.project.vo.ProjectPageReqVO; +import com.win.module.wms.controller.project.vo.ProjectUpdateReqVO; import com.win.module.wms.dal.dataobject.project.ProjectDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/project/ProjectServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/project/ProjectServiceImpl.java index b3345602..84bc5d22 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/project/ProjectServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/project/ProjectServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.project; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.project.vo.ProjectCreateReqVO; -import com.win.module.wms.controller.admin.project.vo.ProjectExportReqVO; -import com.win.module.wms.controller.admin.project.vo.ProjectPageReqVO; -import com.win.module.wms.controller.admin.project.vo.ProjectUpdateReqVO; +import com.win.module.wms.controller.project.vo.ProjectCreateReqVO; +import com.win.module.wms.controller.project.vo.ProjectExportReqVO; +import com.win.module.wms.controller.project.vo.ProjectPageReqVO; +import com.win.module.wms.controller.project.vo.ProjectUpdateReqVO; import com.win.module.wms.convert.project.ProjectConvert; import com.win.module.wms.dal.dataobject.project.ProjectDO; import com.win.module.wms.dal.mysql.project.ProjectMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceService.java index 602f9c23..47a44aee 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.purchaseprice; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceCreateReqVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceExportReqVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepricePageReqVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceUpdateReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceCreateReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceExportReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepricePageReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceUpdateReqVO; import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceServiceImpl.java index 599960b0..12047968 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.purchaseprice; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceCreateReqVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceExportReqVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepricePageReqVO; -import com.win.module.wms.controller.admin.purchaseprice.vo.PurchasepriceUpdateReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceCreateReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceExportReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepricePageReqVO; +import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceUpdateReqVO; import com.win.module.wms.convert.purchaseprice.PurchasepriceConvert; import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; import com.win.module.wms.dal.mysql.purchaseprice.PurchasepriceMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleprice/SalepriceService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleprice/SalepriceService.java index e7a263d8..42076dde 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleprice/SalepriceService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleprice/SalepriceService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.saleprice; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceCreateReqVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceExportReqVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepricePageReqVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceUpdateReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceCreateReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceExportReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepricePageReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceUpdateReqVO; import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleprice/SalepriceServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleprice/SalepriceServiceImpl.java index 1853b102..7d0fff9e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleprice/SalepriceServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/saleprice/SalepriceServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.saleprice; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceCreateReqVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceExportReqVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepricePageReqVO; -import com.win.module.wms.controller.admin.saleprice.vo.SalepriceUpdateReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceCreateReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceExportReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepricePageReqVO; +import com.win.module.wms.controller.saleprice.vo.SalepriceUpdateReqVO; import com.win.module.wms.convert.saleprice.SalepriceConvert; import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO; import com.win.module.wms.dal.mysql.saleprice.SalepriceMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceService.java index 8dd2a245..7be907c5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceService.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.stdcostprice; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceCreateReqVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceExportReqVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpricePageReqVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceUpdateReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceCreateReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceExportReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpricePageReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceUpdateReqVO; import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; import javax.validation.Valid; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java index 0fe08d10..4b65f7b2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java @@ -1,9 +1,9 @@ package com.win.module.wms.service.stdcostprice; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceCreateReqVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceExportReqVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpricePageReqVO; -import com.win.module.wms.controller.admin.stdcostprice.vo.StdcostpriceUpdateReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceCreateReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceExportReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpricePageReqVO; +import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceUpdateReqVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierService.java index 762bbce2..b9035715 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.supplier; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.supplier.vo.SupplierCreateReqVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierExportReqVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierPageReqVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierUpdateReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierCreateReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierExportReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierPageReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierUpdateReqVO; import com.win.module.wms.dal.dataobject.supplier.SupplierDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java index fb247122..64a80595 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplier/SupplierServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.supplier; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.supplier.vo.SupplierCreateReqVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierExportReqVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierPageReqVO; -import com.win.module.wms.controller.admin.supplier.vo.SupplierUpdateReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierCreateReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierExportReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierPageReqVO; +import com.win.module.wms.controller.supplier.vo.SupplierUpdateReqVO; import com.win.module.wms.convert.supplier.SupplierConvert; import com.win.module.wms.dal.dataobject.supplier.SupplierDO; import com.win.module.wms.dal.mysql.supplier.SupplierMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemService.java index b49c3a9e..2eb4c970 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.supplieritem; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemCreateReqVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemExportReqVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemPageReqVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemUpdateReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemCreateReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemExportReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemPageReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemUpdateReqVO; import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemServiceImpl.java index 9a2b1bc6..86e4abf7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.supplieritem; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemCreateReqVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemExportReqVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemPageReqVO; -import com.win.module.wms.controller.admin.supplieritem.vo.SupplieritemUpdateReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemCreateReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemExportReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemPageReqVO; +import com.win.module.wms.controller.supplieritem.vo.SupplieritemUpdateReqVO; import com.win.module.wms.convert.supplieritem.SupplieritemConvert; import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; import com.win.module.wms.dal.mysql.supplieritem.SupplieritemMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarService.java index 54132cd7..d7bf345c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.systemcalendar; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarCreateReqVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarExportReqVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarPageReqVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarUpdateReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarCreateReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarExportReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarPageReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarUpdateReqVO; import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java index 5350fb54..d4e1b69f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.systemcalendar; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarCreateReqVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarExportReqVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarPageReqVO; -import com.win.module.wms.controller.admin.systemcalendar.vo.SystemcalendarUpdateReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarCreateReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarExportReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarPageReqVO; +import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarUpdateReqVO; import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert; import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO; import com.win.module.wms.dal.mysql.systemcalendar.SystemcalendarMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/warehouse/WarehouseService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/warehouse/WarehouseService.java index bfcf5391..1857fa10 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/warehouse/WarehouseService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/warehouse/WarehouseService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.warehouse; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseCreateReqVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseExportReqVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehousePageReqVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseUpdateReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseCreateReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseExportReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehousePageReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseUpdateReqVO; import com.win.module.wms.dal.dataobject.warehouse.WarehouseDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/warehouse/WarehouseServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/warehouse/WarehouseServiceImpl.java index 4fbbec8c..02a9369f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/warehouse/WarehouseServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/warehouse/WarehouseServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.warehouse; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseCreateReqVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseExportReqVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehousePageReqVO; -import com.win.module.wms.controller.admin.warehouse.vo.WarehouseUpdateReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseCreateReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseExportReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehousePageReqVO; +import com.win.module.wms.controller.warehouse.vo.WarehouseUpdateReqVO; import com.win.module.wms.convert.warehouse.WarehouseConvert; import com.win.module.wms.dal.dataobject.warehouse.WarehouseDO; import com.win.module.wms.dal.mysql.warehouse.WarehouseMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopService.java index 87fbb774..90dbfe16 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.workshop; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopCreateReqVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopExportReqVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopPageReqVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopUpdateReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopCreateReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopExportReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopPageReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopUpdateReqVO; import com.win.module.wms.dal.dataobject.workshop.WorkshopDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopServiceImpl.java index 58bae2b3..5dc49f7b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.workshop; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopCreateReqVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopExportReqVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopPageReqVO; -import com.win.module.wms.controller.admin.workshop.vo.WorkshopUpdateReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopCreateReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopExportReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopPageReqVO; +import com.win.module.wms.controller.workshop.vo.WorkshopUpdateReqVO; import com.win.module.wms.convert.workshop.WorkshopConvert; import com.win.module.wms.dal.dataobject.workshop.WorkshopDO; import com.win.module.wms.dal.mysql.workshop.WorkshopMapper; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workstation/WorkstationService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workstation/WorkstationService.java index be2cd61a..bb4d0980 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workstation/WorkstationService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workstation/WorkstationService.java @@ -3,10 +3,10 @@ package com.win.module.wms.service.workstation; import java.util.*; import javax.validation.*; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationCreateReqVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationExportReqVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationPageReqVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationUpdateReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationCreateReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationExportReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationPageReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationUpdateReqVO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workstation/WorkstationServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workstation/WorkstationServiceImpl.java index dd27506e..2104de99 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workstation/WorkstationServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workstation/WorkstationServiceImpl.java @@ -1,10 +1,10 @@ package com.win.module.wms.service.workstation; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationCreateReqVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationExportReqVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationPageReqVO; -import com.win.module.wms.controller.admin.workstation.vo.WorkstationUpdateReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationCreateReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationExportReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationPageReqVO; +import com.win.module.wms.controller.workstation.vo.WorkstationUpdateReqVO; import com.win.module.wms.convert.workstation.WorkstationConvert; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import com.win.module.wms.dal.mysql.workstation.WorkstationMapper; diff --git a/win-server/src/main/resources/application.yaml b/win-server/src/main/resources/application.yaml index 0c772068..2116b903 100644 --- a/win-server/src/main/resources/application.yaml +++ b/win-server/src/main/resources/application.yaml @@ -103,7 +103,7 @@ win: base-package: com.win web: admin-ui: - url: http://dashboard.win.iocoder.cn # Admin 管理后台 UI 的地址 + url: http://dev.ccwin-in.com:25100/ # Admin 管理后台 UI 的地址 websocket: enable: true # websocket的开关 path: /websocket/message # 路径