From 222476b9c872331b2b12d961730c58530015a1d9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 06 九月 2023 11:34:19 +0800
Subject: [PATCH] 提交
---
company_admin/public/index.html | 0
company_admin/src/components/system/permission/OperaPermissionWindow.vue | 0
server/service/src/main/java/com/doumee/service/system/SystemDictService.java | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemDepartmentServiceImpl.java | 0
company_admin/src/components/system/position/OperaPositionWindow.vue | 0
server/service/src/main/java/com/doumee/service/system/SystemDictDataService.java | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemDictServiceImpl.java | 0
company_admin/src/assets/icons/system/role.svg | 0
company_admin/src/views/no-permissions.vue | 0
server/service/src/main/java/com/doumee/biz/system/SystemRoleBiz.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemRoleDTO.java | 26
server/service/src/main/resources/application-pro.yml | 55
server/service/src/main/java/com/doumee/service/aware/DepartmentDataPermissionAware.java | 0
server/service/src/main/java/com/doumee/service/system/SystemRolePermissionService.java | 0
server/service/src/main/java/com/doumee/core/constants/ResponseStatus.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemDict.java | 0
company_admin/package-lock.json | 0
company_admin/README.md | 0
company_admin/src/views/system/department.vue | 0
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCacheManager.java | 44
server/company/src/main/java/com/doumee/api/system/SystemUserController.java | 129
server/service/src/main/java/com/doumee/core/utils/Date.java | 0
company_admin/src/components/common/Value.vue | 0
server/service/src/main/resources/mappers/SystemDictDataMapper.xml | 0
server/service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java | 0
company_admin/src/components/common/Pagination.vue | 0
company_admin/src/components/system/user/ResetPwdWindow.vue | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java | 94
server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java | 0
server/service/pom.xml | 20
server/service/src/main/java/com/doumee/dao/business/CateAttrMapper.java | 0
company_admin/src/plugins/cache.js | 0
company_admin/src/components/common/Header.vue | 0
server/service/src/main/java/com/doumee/core/utils/monitor/Disk.java | 0
company_admin/src/components/common/Menu.vue | 0
company_admin/src/components/system/datapermission/OperaDataPermissionWindow.vue | 0
company_admin/src/assets/images/qq.png | 0
server/company/src/main/java/com/doumee/api/business/CateAttrController.java | 100
server/company/src/main/java/com/doumee/api/system/SystemLoginLogController.java | 0
company_admin/src/views/index.vue | 0
server/service/src/main/java/com/doumee/core/aware/DataPermissionMapping.java | 0
company_admin/src/assets/images/woman.png | 0
company_admin/src/components/business/OperaBrandWindow.vue | 0
server/service/src/main/java/com/doumee/dao/system/SystemUserMapper.java | 0
server/platform/src/main/java/com/doumee/api/common/PublicController.java | 327 ++
server/platform/src/main/java/com/doumee/task/ScheduleTool.java | 0
company_admin/src/assets/images/404-tip.png | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java | 0
server/service/src/main/java/com/doumee/biz/system/impl/SystemDictBizImpl.java | 0
server/service/src/main/java/com/doumee/service/business/impl/CateAttrServiceImpl.java | 0
server/service/src/main/java/com/doumee/dao/system/vo/SystemUserListVO.java | 0
server/platform/src/main/java/com/doumee/swagger/SwaggerInterceptor.java | 45
server/service/src/main/java/com/doumee/service/system/impl/SystemUserRoleServiceImpl.java | 0
server/platform/src/main/java/com/doumee/api/business/CateParamController.java | 90
server/company/src/main/java/com/doumee/CompanyApplication.java | 23
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroRealm.java | 90
company_admin/src/directives/index.js | 0
server/service/src/main/java/com/doumee/dao/system/vo/CompanyDeclaresVo.java | 0
company_admin/src/assets/images/not-allow.png | 0
company_admin/src/assets/images/wxpay.jpeg | 0
server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java | 142 +
server/service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java | 78
server/service/src/main/java/com/doumee/service/system/impl/SystemLoginLogServiceImpl.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemPosition.java | 0
company_admin/public/favicon.ico | 0
server/platform/src/main/java/com/doumee/api/common/CaptchaController.java | 0
server/service/src/main/java/com/doumee/dao/business/model/Brand.java | 77
server/service/src/main/java/com/doumee/dao/system/model/SystemDictData.java | 0
server/service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java | 0
company_admin/src/utils/request.js | 0
server/service/src/main/java/com/doumee/dao/system/dto/ResetSystemUserPwdDTO.java | 0
company_admin/src/components/common/ColumnDetail.vue | 0
server/service/src/main/resources/mappers/SystemDepartmentMapper.xml | 0
server/service/src/main/java/com/doumee/core/utils/ExcelUtil.java | 0
server/service/src/main/java/com/doumee/core/annotation/trace/TraceInterceptorConfig.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java | 0
server/service/src/main/java/com/doumee/biz/system/SystemPositionBiz.java | 0
server/service/src/main/java/com/doumee/core/utils/monitor/CPU.java | 0
server/company/src/main/java/com/doumee/api/system/SystemDepartmentController.java | 0
company_admin/src/assets/icons/system/position.svg | 0
company_admin/src/components/system/datapermission/DataPermModuleSelect.vue | 0
server/service/src/main/java/com/doumee/core/annotation/trace/TraceStatus.java | 0
company_admin/src/utils/icons.js | 0
server/service/src/main/java/com/doumee/dao/business/CategoryMapper.java | 0
company_admin/src/components/system/role/PermissionConfigWindow.vue | 0
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroConfig.java | 142 +
server/company/src/main/java/com/doumee/api/BaseController.java | 0
server/service/src/main/java/com/doumee/core/utils/Monitor.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java | 0
company_admin/src/components/common/TreeSelect.vue | 0
server/service/src/main/java/com/doumee/dao/system/vo/SystemDepartmentListVO.java | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java | 45
server/service/src/main/java/com/doumee/dao/system/vo/SystemPermissionListVO.java | 0
server/service/src/main/java/com/doumee/core/exception/BusinessException.java | 0
company_admin/src/assets/style/variables.scss | 0
server/service/src/main/java/com/doumee/dao/business/model/CateAttr.java | 0
server/platform/src/main/java/com/doumee/api/system/SystemMonitorController.java | 0
server/service/src/main/resources/mappers/SystemUserMapper.xml | 0
server/service/src/main/java/com/doumee/core/utils/DateUtil.java | 0
server/platform/src/main/java/com/doumee/shiro/ShiroTokenManager.java | 25
server/service/src/main/java/com/doumee/core/model/PageData.java | 0
company_admin/src/views/system/dict.vue | 0
server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java | 94
company_admin/src/components/business/OperaCategoryWindow.vue | 0
server/service/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java | 0
company_admin/src/filters/index.js | 0
server/company/src/main/java/com/doumee/api/system/SystemDataPermissionController.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/AreasDto.java | 0
company_admin/src/plugins/message.js | 0
server/company/src/main/java/com/doumee/api/business/MultifileController.java | 90
server/service/src/main/java/com/doumee/dao/system/vo/SystemUserDetailVO.java | 0
server/platform/src/main/java/com/doumee/api/system/SystemMenuController.java | 0
server/service/src/main/java/com/doumee/config/mybatis/MyBatisInterceptor.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemDictDataMapper.java | 0
company_admin/src/components/common/Scrollbar.vue | 0
company_admin/babel.config.js | 0
server/service/src/main/resources/banner.txt | 0
company_admin/src/components/common/NotAllow.vue | 0
server/platform/src/main/java/com/doumee/api/system/SystemLoginLogController.java | 0
server/service/src/main/java/com/doumee/core/annotation/trace/TraceType.java | 0
server/platform/src/main/java/com/doumee/api/BaseController.java | 25
server/company/src/main/java/com/doumee/api/business/CateParamController.java | 90
server/service/src/main/java/com/doumee/service/system/impl/SystemPositionUserServiceImpl.java | 0
server/company/src/main/java/com/doumee/api/system/SystemController.java | 0
server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatAdapter.java | 0
.idea/jarRepositories.xml | 20
.idea/uiDesigner.xml | 124
server/service/src/main/java/com/doumee/biz/system/impl/SystemPositionBizImpl.java | 0
server/service/src/main/java/com/doumee/dao/business/model/CateParam.java | 0
server/company/src/main/java/com/doumee/Main.java | 7
server/service/src/main/java/com/doumee/dao/system/SystemUserJoinMapper.java | 0
server/service/src/main/java/com/doumee/service/business/GoodsParamService.java | 0
server/service/src/main/resources/mappers/SystemDictMapper.xml | 0
company_admin/src/api/system/common.js | 0
server/service/src/main/java/com/doumee/dao/business/model/CateBudget.java | 0
server/company/src/main/java/com/doumee/api/system/SystemPositionController.java | 0
server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java | 0
server/service/src/main/java/com/doumee/dao/system/vo/SystemMenuListVO.java | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java | 142 +
server/company/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java | 45
company_admin/src/components/system/department/DepartmentUserWindow.vue | 0
company_admin/src/components/common/Light.vue | 0
server/platform/src/main/java/com/doumee/api/system/SystemDepartmentController.java | 0
server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java | 0
company_admin/src/components/system/user/RoleConfigWindow.vue | 0
company_admin/src/api/business/brand.js | 0
company_admin/src/directives/v-permissions.js | 0
.idea/preselect.iml | 6
company_admin/.env | 0
company_admin/src/api/system/dict.js | 0
server/company/src/main/java/com/doumee/api/system/SystemDictDataController.java | 95
server/platform/src/main/java/com/doumee/shiro/ShiroCredentialsMatcher.java | 45
server/company/src/main/java/com/doumee/api/business/GoodsController.java | 144 +
server/platform/pom.xml | 26
server/service/src/main/java/com/doumee/service/system/impl/SystemTraceLogServiceImpl.java | 0
server/service/src/main/resources/static/file/goodsExcelTemp.xlsx | 0
server/service/src/main/java/com/doumee/service/system/SystemUserService.java | 0
company_admin/src/api/system/department.js | 0
server/platform/src/main/java/com/doumee/api/system/SystemTraceLogController.java | 0
server/service/src/main/java/com/doumee/biz/system/SystemDataPermissionBiz.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDTO.java | 0
company_admin/src/assets/icons/system/department.svg | 0
company_admin/src/router/index.js | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java | 25
company_admin/src/views/business/category.vue | 0
server/pom.xml | 37
server/service/src/main/resources/mappers/SystemMenuMapper.xml | 0
server/platform/src/main/java/com/doumee/shiro/ShiroRedisSessionDAO.java | 139 +
server/service/src/main/resources/mappers/SystemPositionMapper.xml | 0
company_admin/src/components/common/Profile.vue | 0
server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java | 0
server/service/src/main/java/com/doumee/dao/business/join/GoodsJoinMapper.java | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroRedisSessionDAO.java | 139 +
server/service/src/main/java/com/doumee/dao/system/dto/MultiFileDTO.java | 0
server/service/src/main/java/com/doumee/dao/business/GoodsParamMapper.java | 0
server/service/src/main/java/com/doumee/service/system/SystemRoleService.java | 0
company_admin/src/api/system/menu.js | 0
log/eva.log | 0
server/service/src/main/java/com/doumee/core/utils/monitor/JVM.java | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemPositionServiceImpl.java | 0
server/platform/src/main/java/com/doumee/api/system/SystemDataPermissionController.java | 0
company_admin/.gitignore | 0
server/service/src/main/java/com/doumee/core/annotation/excel/ExcelDataHandlerAdapter.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/CreateRolePermissionDTO.java | 32
server/service/src/main/java/com/doumee/dao/system/vo/SystemRoleListVO.java | 0
server/platform/src/main/java/com/doumee/swagger/SwaggerInterceptorConfig.java | 23
server/service/src/main/java/com/doumee/dao/system/dto/ChangeStatusDTO.java | 0
company_admin/src/views/system/monitor.vue | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java | 113
company_admin/package.json | 0
company_admin/src/directives/v-trim.js | 0
server/service/src/main/java/com/doumee/service/system/SystemPermissionService.java | 0
server/service/src/main/java/com/doumee/core/utils/Server.java | 0
server/service/src/main/java/com/doumee/service/business/MultifileService.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemPositionMapper.java | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroCache.java | 159 +
server/company/pom.xml | 27
company_admin/src/views/system/menu.vue | 0
company_admin/src/api/system/position.js | 0
server/service/src/main/java/com/doumee/core/aware/DataPermissionAware.java | 0
server/service/src/main/java/com/doumee/service/common/CaptchaService.java | 0
company_admin/.env.development | 0
server/service/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java | 0
server/service/src/main/java/com/doumee/dao/business/model/Goods.java | 162 +
server/service/src/main/java/com/doumee/dao/system/vo/SystemDictListVO.java | 0
server/service/src/main/java/com/doumee/service/business/CategoryService.java | 0
server/service/src/main/java/com/doumee/service/system/SystemLoginLogService.java | 0
company_admin/src/components/system/menu/OperaMenuWindow.vue | 0
server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemPermissionDTO.java | 25
server/service/src/main/java/com/doumee/service/business/CateBudgetService.java | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemPermissionServiceImpl.java | 0
server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatDefaultHandler.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemRoleServiceImpl.java | 0
company_admin/src/components/base/BasePage.vue | 0
company_admin/src/components/common/PositionSelect.vue | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemMenuServiceImpl.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemRole.java | 61
company_admin/src/assets/icons/ext/index.scss | 0
server/service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java | 0
server/service/src/main/java/com/doumee/core/constants/DataPermissionConstants.java | 0
server/service/src/main/java/com/doumee/core/model/PageWrap.java | 0
server/platform/src/main/java/com/doumee/shiro/ShiroCacheManager.java | 44
server/platform/src/main/java/com/doumee/api/business/BrandController.java | 98
server/platform/src/main/java/com/doumee/shiro/ShiroSessionSerializer.java | 36
server/service/src/main/java/com/doumee/core/exception/UnSafeSessionException.java | 0
server/service/src/main/java/com/doumee/dao/system/vo/ServiceCompany.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemDepartmentMapper.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemPermission.java | 60
server/company/src/main/java/com/doumee/api/system/SystemMonitorController.java | 0
server/service/src/main/java/com/doumee/biz/system/impl/SystemDepartmentBizImpl.java | 0
server/service/src/main/java/com/doumee/core/utils/MyBatisPlus.java | 0
server/service/src/main/java/com/doumee/core/annotation/excel/ExcelColumn.java | 0
company_admin/src/views/system/role.vue | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroToken.java | 54
server/service/src/main/java/com/doumee/core/utils/monitor/Memory.java | 0
company_admin/src/assets/images/404.png | 0
company_admin/public/avatar/woman.png | 0
company_admin/src/plugins/consts.js | 0
server/service/src/main/java/com/doumee/dao/system/SystemPositionUserMapper.java | 0
server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateInputStream.java | 0
company_admin/src/components/base/BaseTable.vue | 0
server/service/src/main/java/com/doumee/dao/system/dto/CreateUserRoleDTO.java | 0
company_admin/src/assets/images/man.png | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 0
.idea/misc.xml | 17
server/service/src/main/java/com/doumee/service/business/BrandService.java | 0
company_admin/src/store/index.js | 0
server/service/src/main/java/com/doumee/biz/system/SystemDepartmentBiz.java | 0
company_admin/src/assets/icons/system/listener.svg | 0
company_admin/src/api/system/user.js | 0
company_admin/src/components/base/BaseOpera.vue | 0
server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java | 60
server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java | 95
server/service/src/main/resources/mappers/SystemDataPermissionMapper.xml | 0
server/service/src/main/java/com/doumee/core/cache/LocalCache.java | 0
server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeat.java | 0
server/service/src/main/java/com/doumee/core/annotation/trace/Trace.java | 0
server/service/src/main/java/com/doumee/dao/system/vo/CompanyEconomicsVo.java | 0
company_admin/src/assets/style/style.scss | 0
company_admin/src/components/system/datapermission/DataPermTypeSelect.vue | 0
company_admin/src/layouts/AppLayout.vue | 0
company_admin/src/views/not-found.vue | 0
server/service/src/main/java/com/doumee/core/utils/Secure.java | 0
company_admin/src/views/system/loginLog.vue | 0
company_admin/src/assets/logo.png | 0
server/service/src/main/java/com/doumee/service/system/SystemPositionService.java | 0
server/service/src/main/java/com/doumee/biz/system/SystemUserBiz.java | 0
server/platform/src/main/java/com/doumee/api/system/SystemPermissionController.java | 0
server/service/src/main/java/com/doumee/core/model/ApiResponse.java | 0
server/service/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java | 0
server/service/src/main/java/com/doumee/biz/system/impl/SystemDataPermissionBizImpl.java | 0
server/service/src/main/resources/application-test.yml | 41
company_admin/src/components/system/role/OperaRoleWindow.vue | 0
server/platform/src/main/java/com/doumee/api/business/CateAttrController.java | 100
server/service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java | 0
company_admin/src/components/common/DepartmentSelect.vue | 0
server/platform/src/main/java/com/doumee/PlatformApplication.java | 23
server/service/src/main/java/com/doumee/config/mybatis/MyBatisPlusConfig.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemRoleMapper.java | 0
company_admin/src/plugins/messagebox.js | 0
company_admin/src/components/system/position/PositionUserWindow.vue | 0
company_admin/src/components/system/user/OperaUserWindow.vue | 0
server/service/src/main/java/com/doumee/dao/business/model/GoodsImport.java | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java | 44
server/company/src/main/resources/application.yml | 66
server/platform/src/main/java/com/doumee/api/business/MultifileController.java | 90
company_admin/public/avatar/man.png | 0
server/service/src/main/java/com/doumee/core/utils/PinYinUtil.java | 0
server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 0
company_admin/src/assets/icons/system/log.svg | 0
company_admin/src/utils/util.js | 0
server/platform/src/main/java/com/doumee/api/system/SystemPositionController.java | 0
server/service/src/main/resources/application-dev.yml | 54
server/platform/src/main/java/com/doumee/shiro/ShiroSessionManager.java | 85
server/service/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java | 0
server/service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemRoleMenuServiceImpl.java | 0
server/service/src/main/java/com/doumee/service/system/impl/SystemRolePermissionServiceImpl.java | 0
.idea/encodings.xml | 13
server/service/src/main/java/com/doumee/biz/system/SystemMenuBiz.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemDepartmentUserMapper.java | 0
server/platform/src/main/java/com/doumee/api/system/SystemRoleController.java | 0
company_admin/src/assets/icons/system/shield.svg | 0
server/service/src/main/resources/logback-spring.xml | 0
server/service/src/main/java/com/doumee/core/utils/UserClient.java | 0
server/service/src/main/java/com/doumee/core/utils/Constants.java | 711 +++++
server/service/src/main/java/com/doumee/service/system/SystemTraceLogService.java | 0
server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptorConfig.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDepartmentDTO.java | 0
company_admin/src/assets/icons/system/log-login.svg | 0
server/platform/src/main/java/com/doumee/api/business/CateBudgetController.java | 65
server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java | 30
company_admin/src/views/system/user.vue | 0
company_admin/src/components/common/GlobalWindow.vue | 0
server/platform/src/main/java/com/doumee/swagger/SwaggerConfig.java | 99
server/platform/src/main/java/com/doumee/shiro/ShiroToken.java | 54
server/service/src/main/java/com/doumee/service/system/SystemMenuService.java | 0
server/service/src/main/java/com/doumee/service/aware/PositionDataPermissionAware.java | 0
server/company/src/main/java/com/doumee/api/business/GoodsParamController.java | 90
company_admin/src/plugins/download.js | 0
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCache.java | 113
server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/ExpertReportDTO.java | 0
company_admin/src/views/business/goods.vue | 0
server/platform/src/main/resources/application.yml | 66
server/service/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java | 0
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroSessionManager.java | 86
.gitignore | 28
company_admin/src/assets/icons/system/dictionary.svg | 0
server/service/src/main/java/com/doumee/core/utils/FileDigest.java | 0
server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateRequestWrapper.java | 0
server/company/src/main/java/com/doumee/api/business/CateBudgetController.java | 65
server/service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java | 0
server/platform/src/main/java/com/doumee/Main.java | 7
server/platform/src/main/java/com/doumee/shiro/ShiroCache.java | 159 +
server/service/src/main/java/com/doumee/dao/system/vo/SystemDataPermissionListVO.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemTraceLogDTO.java | 0
server/platform/src/main/java/com/doumee/api/system/SystemController.java | 0
server/service/src/main/java/com/doumee/core/utils/Location.java | 0
server/service/src/main/java/com/doumee/service/business/CateParamService.java | 0
server/service/src/main/java/com/doumee/service/business/impl/CateBudgetServiceImpl.java | 0
server/platform/src/main/java/com/doumee/api/business/GoodsParamController.java | 90
server/service/src/main/java/com/doumee/dao/system/SystemTraceLogMapper.java | 0
company_admin/src/components/system/dict/OperaDictDataWindow.vue | 0
company_admin/src/views/system/traceLog.vue | 0
server/service/src/main/java/com/doumee/service/business/impl/MultifileServiceImpl.java | 0
company_admin/src/api/system/role.js | 0
company_admin/src/components/business/OperaGoodsWindow.vue | 0
server/service/src/main/java/com/doumee/service/system/SystemDepartmentUserService.java | 0
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroSessionDAO.java | 110
server/service/src/main/java/com/doumee/dao/system/SystemMenuMapper.java | 0
server/company/src/main/java/com/doumee/config/swagger/SwaggerConfig.java | 99
server/service/src/main/java/com/doumee/biz/system/SystemPermissionBiz.java | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java | 85
server/service/src/main/java/com/doumee/service/system/SystemRoleMenuService.java | 0
company_admin/src/components/system/role/MenuConfigWindow.vue | 0
server/company/src/main/java/com/doumee/api/system/SystemDictController.java | 0
company_admin/src/components/system/role/RoleSelect.vue | 0
server/service/src/main/java/com/doumee/biz/system/SystemDictBiz.java | 0
server/service/src/main/java/com/doumee/core/constants/ExceptionLevel.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemUserRoleMapper.java | 0
company_admin/src/api/business/category.js | 0
server/service/src/main/java/com/doumee/dao/system/dto/CompanyDTO.java | 0
company_admin/src/assets/images/login.jpg | 0
company_admin/src/assets/icons/system/permission.svg | 0
company_admin/src/assets/style/element-variables.scss | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemDepartment.java | 0
server/company/src/main/java/com/doumee/api/business/BrandController.java | 98
company_admin/src/api/system/loginLog.js | 0
server/company/src/main/java/com/doumee/api/common/CaptchaController.java | 0
company_admin/.env.staging | 0
server/company/src/main/java/com/doumee/api/business/CategoryController.java | 111
company_admin/.env.production | 0
company_admin/src/views/system/position.vue | 0
company_admin/src/layouts/TableLayout.vue | 0
server/service/src/main/java/com/doumee/dao/system/dto/UpdateSystemMenuSortDTO.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemUserRole.java | 0
server/company/src/main/java/com/doumee/api/system/SystemRoleController.java | 0
company_admin/src/views/system/data-permission.vue | 0
company_admin/src/App.vue | 0
server/service/src/main/java/com/doumee/core/utils/Utils.java | 0
company_admin/src/components/system/dict/OperaDictWindow.vue | 0
server/company/src/main/java/com/doumee/config/shiro/ShiroSessionSerializer.java | 36
company_admin/src/api/business/goods.js | 0
.idea/compiler.xml | 27
company_admin/src/api/system/traceLog.js | 0
server/service/src/main/java/com/doumee/dao/system/SystemRoleMenuMapper.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemLoginLogMapper.java | 0
server/platform/src/main/java/com/doumee/api/business/GoodsController.java | 144 +
server/service/src/main/java/com/doumee/dao/system/vo/SystemPositionListVO.java | 0
company_admin/src/components/system/department/OperaDepartmentWindow.vue | 0
server/service/src/main/java/com/doumee/dao/business/GoodsMapper.java | 0
server/service/src/main/java/com/doumee/service/business/impl/GoodsParamServiceImpl.java | 0
server/platform/src/main/java/com/doumee/api/business/CategoryController.java | 112
company_admin/src/components/common/SearchFormCollapse.vue | 0
company_admin/src/views/business/brand.vue | 0
company_admin/src/directives/v-roles.js | 0
company_admin/src/components/common/MenuSelect.vue | 0
server/company/src/main/java/com/doumee/api/system/SystemMenuController.java | 0
company_admin/src/assets/images/alipay.jpeg | 0
server/platform/src/main/java/com/doumee/api/system/SystemDictController.java | 0
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroAuthFilter.java | 30
server/service/src/main/java/com/doumee/dao/business/model/GoodsParam.java | 0
server/service/src/main/resources/mappers/SystemRoleMapper.xml | 0
server/service/src/main/java/com/doumee/core/servlet/ServletRewriteFilter.java | 0
server/service/src/main/java/com/doumee/dao/system/vo/SystemDictDataListVO.java | 0
server/service/src/main/java/com/doumee/dao/business/model/CateBudgetMapper.java | 0
server/company/src/main/java/com/doumee/api/common/PublicController.java | 327 ++
server/service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java | 0
company_admin/src/components/system/dict/DictDataManagerWindow.vue | 0
server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateOutputStream.java | 0
server/service/src/main/java/com/doumee/core/constants/OperaType.java | 0
server/service/src/main/java/com/doumee/dao/business/model/Category.java | 112
server/service/src/main/java/com/doumee/dao/system/dto/CreateSystemUserDTO.java | 0
company_admin/src/assets/icons/system/pwd.svg | 0
server/platform/src/main/java/com/doumee/shiro/ShiroAuthFilter.java | 30
server/service/src/main/java/com/doumee/service/system/impl/SystemDepartmentUserServiceImpl.java | 0
server/service/src/main/java/com/doumee/biz/system/impl/SystemPermissionBizImpl.java | 0
server/service/src/main/java/com/doumee/dao/business/MultifileMapper.java | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemMenu.java | 76
server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java | 0
server/service/src/main/java/com/doumee/service/proxy/CacheProxy.java | 0
server/service/src/main/java/com/doumee/service/system/SystemDataPermissionService.java | 0
company_admin/src/api/system/dictData.js | 0
company_admin/src/views/login.vue | 0
server/company/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java | 0
server/service/src/main/java/com/doumee/service/system/SystemUserRoleService.java | 0
company_admin/src/api/system/dataPermission.js | 0
server/service/src/main/java/com/doumee/dao/system/model/SystemUser.java | 100
server/service/src/main/resources/mappers/SystemPermissionMapper.xml | 0
server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateResponseWrapper.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/CreateRoleMenuDTO.java | 0
server/service/src/main/java/com/doumee/dao/business/BrandMapper.java | 0
company_admin/src/plugins/index.js | 0
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroTokenManager.java | 25
company_admin/src/api/system/permission.js | 0
company_admin/src/assets/icons/system/log-opera.svg | 0
server/service/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java | 0
server/service/src/main/java/com/doumee/dao/business/CateParamMapper.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/UpdatePwdDto.java | 0
server/service/src/main/java/com/doumee/core/annotation/trace/TraceInterceptor.java | 0
company_admin/src/api/system/monitor.js | 0
server/service/src/main/java/com/doumee/dao/system/SystemDictMapper.java | 0
company_admin/src/components/common/MenuItems.vue | 0
server/service/src/main/java/com/doumee/service/business/GoodsService.java | 0
company_admin/vue.config.js | 0
server/service/src/main/java/com/doumee/core/utils/Http.java | 0
server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCredentialsMatcher.java | 41
server/service/src/main/java/com/doumee/dao/system/SystemPermissionMapper.java | 0
server/service/src/main/java/com/doumee/service/business/impl/CateParamServiceImpl.java | 0
server/company/src/main/java/com/doumee/api/system/SystemTraceLogController.java | 0
server/company/src/main/java/com/doumee/api/system/SystemPermissionController.java | 0
server/platform/src/main/java/com/doumee/shiro/ShiroSessionDAO.java | 113
company_admin/src/views/system/permission.vue | 0
server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.java | 23
server/service/src/main/java/com/doumee/service/business/CateAttrService.java | 0
server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDataDTO.java | 0
server/service/src/main/java/com/doumee/dao/system/SystemRolePermissionMapper.java | 0
server/service/src/main/java/com/doumee/service/system/SystemDepartmentService.java | 0
company_admin/src/main.js | 0
company_admin/src/components/system/datapermission/CustomSelect.vue | 0
server/service/src/main/java/com/doumee/core/annotation/excel/Reflections.java | 0
server/service/src/main/java/com/doumee/dao/business/model/dto/GoodsRequest.java | 0
company_admin/src/assets/icons/system/index.scss | 0
server/service/src/main/java/com/doumee/service/system/SystemPositionUserService.java | 0
server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java | 0
/dev/null | 110
server/platform/src/main/java/com/doumee/api/system/SystemUserController.java | 129
server/service/src/main/java/com/doumee/service/system/SystemLoginService.java | 0
server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java | 0
server/service/src/main/java/com/doumee/dao/business/model/Multifile.java | 81
company_admin/src/utils/form.js | 0
475 files changed, 7,989 insertions(+), 120 deletions(-)
diff --git a/.gitignore b/.gitignore
index 9dae333..fbaf2b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,33 @@
*.war
*.ear
+target/
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
+
log/
-.gitignore
\ No newline at end of file
+.gitignore
+.DS_Store
+coderd.json
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..92917a1
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="CompilerConfiguration">
+ <annotationProcessing>
+ <profile name="Maven default annotation processors profile" enabled="true">
+ <sourceOutputDir name="target/generated-sources/annotations" />
+ <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+ <outputRelativeToContentRoot value="true" />
+ <module name="platform" />
+ <module name="service" />
+ <module name="company" />
+ </profile>
+ </annotationProcessing>
+ <bytecodeTargetLevel>
+ <module name="pre_select" target="1.8" />
+ </bytecodeTargetLevel>
+ </component>
+ <component name="JavacSettings">
+ <option name="ADDITIONAL_OPTIONS_OVERRIDE">
+ <module name="company" options="-parameters" />
+ <module name="platform" options="-parameters" />
+ <module name="pre_select" options="" />
+ <module name="preselect" options="-parameters" />
+ <module name="service" options="-parameters" />
+ </option>
+ </component>
+</project>
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..0956fda
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding">
+ <file url="file://$PROJECT_DIR$/server/company/src/main/java" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/server/company/src/main/resources" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/server/platform/src/main/java" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/server/platform/src/main/resources" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/server/service/src/main/java" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/server/service/src/main/resources" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/server/src/main/java" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/server/src/main/resources" charset="UTF-8" />
+ </component>
+</project>
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="RemoteRepositoriesConfiguration">
+ <remote-repository>
+ <option name="id" value="central" />
+ <option name="name" value="Central Repository" />
+ <option name="url" value="https://repo.maven.apache.org/maven2" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="central" />
+ <option name="name" value="Maven Central repository" />
+ <option name="url" value="https://repo1.maven.org/maven2" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="jboss.community" />
+ <option name="name" value="JBoss Community repository" />
+ <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+ </remote-repository>
+ </component>
+</project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..66c9c8c
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ExternalStorageConfigurationManager" enabled="true" />
+ <component name="MavenProjectsManager">
+ <option name="originalFiles">
+ <list>
+ <option value="$PROJECT_DIR$/server/pom.xml" />
+ </list>
+ </option>
+ </component>
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+ <output url="file://$PROJECT_DIR$/out" />
+ </component>
+ <component name="SuppressionsComponent">
+ <option name="suppComments" value="[]" />
+ </component>
+</project>
\ No newline at end of file
diff --git a/.idea/preselect.iml b/.idea/preselect.iml
new file mode 100644
index 0000000..741b22b
--- /dev/null
+++ b/.idea/preselect.iml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager">
+ <content url="file://$MODULE_DIR$" />
+ </component>
+</module>
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+</project>
\ No newline at end of file
diff --git a/admin/.env b/company_admin/.env
similarity index 100%
rename from admin/.env
rename to company_admin/.env
diff --git a/admin/.env.development b/company_admin/.env.development
similarity index 100%
rename from admin/.env.development
rename to company_admin/.env.development
diff --git a/admin/.env.production b/company_admin/.env.production
similarity index 100%
rename from admin/.env.production
rename to company_admin/.env.production
diff --git a/admin/.env.staging b/company_admin/.env.staging
similarity index 100%
rename from admin/.env.staging
rename to company_admin/.env.staging
diff --git a/admin/.gitignore b/company_admin/.gitignore
similarity index 100%
rename from admin/.gitignore
rename to company_admin/.gitignore
diff --git a/admin/README.md b/company_admin/README.md
similarity index 100%
rename from admin/README.md
rename to company_admin/README.md
diff --git a/admin/babel.config.js b/company_admin/babel.config.js
similarity index 100%
rename from admin/babel.config.js
rename to company_admin/babel.config.js
diff --git a/admin/package-lock.json b/company_admin/package-lock.json
similarity index 100%
rename from admin/package-lock.json
rename to company_admin/package-lock.json
diff --git a/admin/package.json b/company_admin/package.json
similarity index 100%
rename from admin/package.json
rename to company_admin/package.json
diff --git a/admin/public/avatar/man.png b/company_admin/public/avatar/man.png
similarity index 100%
rename from admin/public/avatar/man.png
rename to company_admin/public/avatar/man.png
Binary files differ
diff --git a/admin/public/avatar/woman.png b/company_admin/public/avatar/woman.png
similarity index 100%
rename from admin/public/avatar/woman.png
rename to company_admin/public/avatar/woman.png
Binary files differ
diff --git a/admin/public/favicon.ico b/company_admin/public/favicon.ico
similarity index 100%
rename from admin/public/favicon.ico
rename to company_admin/public/favicon.ico
Binary files differ
diff --git a/admin/public/index.html b/company_admin/public/index.html
similarity index 100%
rename from admin/public/index.html
rename to company_admin/public/index.html
diff --git a/admin/src/App.vue b/company_admin/src/App.vue
similarity index 100%
rename from admin/src/App.vue
rename to company_admin/src/App.vue
diff --git a/admin/src/api/business/brand.js b/company_admin/src/api/business/brand.js
similarity index 100%
rename from admin/src/api/business/brand.js
rename to company_admin/src/api/business/brand.js
diff --git a/admin/src/api/business/category.js b/company_admin/src/api/business/category.js
similarity index 100%
rename from admin/src/api/business/category.js
rename to company_admin/src/api/business/category.js
diff --git a/admin/src/api/business/goods.js b/company_admin/src/api/business/goods.js
similarity index 100%
rename from admin/src/api/business/goods.js
rename to company_admin/src/api/business/goods.js
diff --git a/admin/src/api/system/common.js b/company_admin/src/api/system/common.js
similarity index 100%
rename from admin/src/api/system/common.js
rename to company_admin/src/api/system/common.js
diff --git a/admin/src/api/system/dataPermission.js b/company_admin/src/api/system/dataPermission.js
similarity index 100%
rename from admin/src/api/system/dataPermission.js
rename to company_admin/src/api/system/dataPermission.js
diff --git a/admin/src/api/system/department.js b/company_admin/src/api/system/department.js
similarity index 100%
rename from admin/src/api/system/department.js
rename to company_admin/src/api/system/department.js
diff --git a/admin/src/api/system/dict.js b/company_admin/src/api/system/dict.js
similarity index 100%
rename from admin/src/api/system/dict.js
rename to company_admin/src/api/system/dict.js
diff --git a/admin/src/api/system/dictData.js b/company_admin/src/api/system/dictData.js
similarity index 100%
rename from admin/src/api/system/dictData.js
rename to company_admin/src/api/system/dictData.js
diff --git a/admin/src/api/system/loginLog.js b/company_admin/src/api/system/loginLog.js
similarity index 100%
rename from admin/src/api/system/loginLog.js
rename to company_admin/src/api/system/loginLog.js
diff --git a/admin/src/api/system/menu.js b/company_admin/src/api/system/menu.js
similarity index 100%
rename from admin/src/api/system/menu.js
rename to company_admin/src/api/system/menu.js
diff --git a/admin/src/api/system/monitor.js b/company_admin/src/api/system/monitor.js
similarity index 100%
rename from admin/src/api/system/monitor.js
rename to company_admin/src/api/system/monitor.js
diff --git a/admin/src/api/system/permission.js b/company_admin/src/api/system/permission.js
similarity index 100%
rename from admin/src/api/system/permission.js
rename to company_admin/src/api/system/permission.js
diff --git a/admin/src/api/system/position.js b/company_admin/src/api/system/position.js
similarity index 100%
rename from admin/src/api/system/position.js
rename to company_admin/src/api/system/position.js
diff --git a/admin/src/api/system/role.js b/company_admin/src/api/system/role.js
similarity index 100%
rename from admin/src/api/system/role.js
rename to company_admin/src/api/system/role.js
diff --git a/admin/src/api/system/traceLog.js b/company_admin/src/api/system/traceLog.js
similarity index 100%
rename from admin/src/api/system/traceLog.js
rename to company_admin/src/api/system/traceLog.js
diff --git a/admin/src/api/system/user.js b/company_admin/src/api/system/user.js
similarity index 100%
rename from admin/src/api/system/user.js
rename to company_admin/src/api/system/user.js
diff --git a/admin/src/assets/icons/ext/index.scss b/company_admin/src/assets/icons/ext/index.scss
similarity index 100%
rename from admin/src/assets/icons/ext/index.scss
rename to company_admin/src/assets/icons/ext/index.scss
diff --git a/admin/src/assets/icons/system/department.svg b/company_admin/src/assets/icons/system/department.svg
similarity index 100%
rename from admin/src/assets/icons/system/department.svg
rename to company_admin/src/assets/icons/system/department.svg
diff --git a/admin/src/assets/icons/system/dictionary.svg b/company_admin/src/assets/icons/system/dictionary.svg
similarity index 100%
rename from admin/src/assets/icons/system/dictionary.svg
rename to company_admin/src/assets/icons/system/dictionary.svg
diff --git a/admin/src/assets/icons/system/index.scss b/company_admin/src/assets/icons/system/index.scss
similarity index 100%
rename from admin/src/assets/icons/system/index.scss
rename to company_admin/src/assets/icons/system/index.scss
diff --git a/admin/src/assets/icons/system/listener.svg b/company_admin/src/assets/icons/system/listener.svg
similarity index 100%
rename from admin/src/assets/icons/system/listener.svg
rename to company_admin/src/assets/icons/system/listener.svg
diff --git a/admin/src/assets/icons/system/log-login.svg b/company_admin/src/assets/icons/system/log-login.svg
similarity index 100%
rename from admin/src/assets/icons/system/log-login.svg
rename to company_admin/src/assets/icons/system/log-login.svg
diff --git a/admin/src/assets/icons/system/log-opera.svg b/company_admin/src/assets/icons/system/log-opera.svg
similarity index 100%
rename from admin/src/assets/icons/system/log-opera.svg
rename to company_admin/src/assets/icons/system/log-opera.svg
diff --git a/admin/src/assets/icons/system/log.svg b/company_admin/src/assets/icons/system/log.svg
similarity index 100%
rename from admin/src/assets/icons/system/log.svg
rename to company_admin/src/assets/icons/system/log.svg
diff --git a/admin/src/assets/icons/system/permission.svg b/company_admin/src/assets/icons/system/permission.svg
similarity index 100%
rename from admin/src/assets/icons/system/permission.svg
rename to company_admin/src/assets/icons/system/permission.svg
diff --git a/admin/src/assets/icons/system/position.svg b/company_admin/src/assets/icons/system/position.svg
similarity index 100%
rename from admin/src/assets/icons/system/position.svg
rename to company_admin/src/assets/icons/system/position.svg
diff --git a/admin/src/assets/icons/system/pwd.svg b/company_admin/src/assets/icons/system/pwd.svg
similarity index 100%
rename from admin/src/assets/icons/system/pwd.svg
rename to company_admin/src/assets/icons/system/pwd.svg
diff --git a/admin/src/assets/icons/system/role.svg b/company_admin/src/assets/icons/system/role.svg
similarity index 100%
rename from admin/src/assets/icons/system/role.svg
rename to company_admin/src/assets/icons/system/role.svg
diff --git a/admin/src/assets/icons/system/shield.svg b/company_admin/src/assets/icons/system/shield.svg
similarity index 100%
rename from admin/src/assets/icons/system/shield.svg
rename to company_admin/src/assets/icons/system/shield.svg
diff --git a/admin/src/assets/images/404-tip.png b/company_admin/src/assets/images/404-tip.png
similarity index 100%
rename from admin/src/assets/images/404-tip.png
rename to company_admin/src/assets/images/404-tip.png
Binary files differ
diff --git a/admin/src/assets/images/404.png b/company_admin/src/assets/images/404.png
similarity index 100%
rename from admin/src/assets/images/404.png
rename to company_admin/src/assets/images/404.png
Binary files differ
diff --git a/admin/src/assets/images/alipay.jpeg b/company_admin/src/assets/images/alipay.jpeg
similarity index 100%
rename from admin/src/assets/images/alipay.jpeg
rename to company_admin/src/assets/images/alipay.jpeg
Binary files differ
diff --git a/admin/src/assets/images/login.jpg b/company_admin/src/assets/images/login.jpg
similarity index 100%
rename from admin/src/assets/images/login.jpg
rename to company_admin/src/assets/images/login.jpg
Binary files differ
diff --git a/admin/src/assets/images/man.png b/company_admin/src/assets/images/man.png
similarity index 100%
rename from admin/src/assets/images/man.png
rename to company_admin/src/assets/images/man.png
Binary files differ
diff --git a/admin/src/assets/images/not-allow.png b/company_admin/src/assets/images/not-allow.png
similarity index 100%
rename from admin/src/assets/images/not-allow.png
rename to company_admin/src/assets/images/not-allow.png
Binary files differ
diff --git a/admin/src/assets/images/qq.png b/company_admin/src/assets/images/qq.png
similarity index 100%
rename from admin/src/assets/images/qq.png
rename to company_admin/src/assets/images/qq.png
Binary files differ
diff --git a/admin/src/assets/images/woman.png b/company_admin/src/assets/images/woman.png
similarity index 100%
rename from admin/src/assets/images/woman.png
rename to company_admin/src/assets/images/woman.png
Binary files differ
diff --git a/admin/src/assets/images/wxpay.jpeg b/company_admin/src/assets/images/wxpay.jpeg
similarity index 100%
rename from admin/src/assets/images/wxpay.jpeg
rename to company_admin/src/assets/images/wxpay.jpeg
Binary files differ
diff --git a/admin/src/assets/logo.png b/company_admin/src/assets/logo.png
similarity index 100%
rename from admin/src/assets/logo.png
rename to company_admin/src/assets/logo.png
Binary files differ
diff --git a/admin/src/assets/style/element-variables.scss b/company_admin/src/assets/style/element-variables.scss
similarity index 100%
rename from admin/src/assets/style/element-variables.scss
rename to company_admin/src/assets/style/element-variables.scss
diff --git a/admin/src/assets/style/style.scss b/company_admin/src/assets/style/style.scss
similarity index 100%
rename from admin/src/assets/style/style.scss
rename to company_admin/src/assets/style/style.scss
diff --git a/admin/src/assets/style/variables.scss b/company_admin/src/assets/style/variables.scss
similarity index 100%
rename from admin/src/assets/style/variables.scss
rename to company_admin/src/assets/style/variables.scss
diff --git a/admin/src/components/base/BaseOpera.vue b/company_admin/src/components/base/BaseOpera.vue
similarity index 100%
rename from admin/src/components/base/BaseOpera.vue
rename to company_admin/src/components/base/BaseOpera.vue
diff --git a/admin/src/components/base/BasePage.vue b/company_admin/src/components/base/BasePage.vue
similarity index 100%
rename from admin/src/components/base/BasePage.vue
rename to company_admin/src/components/base/BasePage.vue
diff --git a/admin/src/components/base/BaseTable.vue b/company_admin/src/components/base/BaseTable.vue
similarity index 100%
rename from admin/src/components/base/BaseTable.vue
rename to company_admin/src/components/base/BaseTable.vue
diff --git a/admin/src/components/business/OperaBrandWindow.vue b/company_admin/src/components/business/OperaBrandWindow.vue
similarity index 100%
rename from admin/src/components/business/OperaBrandWindow.vue
rename to company_admin/src/components/business/OperaBrandWindow.vue
diff --git a/admin/src/components/business/OperaCategoryWindow.vue b/company_admin/src/components/business/OperaCategoryWindow.vue
similarity index 100%
rename from admin/src/components/business/OperaCategoryWindow.vue
rename to company_admin/src/components/business/OperaCategoryWindow.vue
diff --git a/admin/src/components/business/OperaGoodsWindow.vue b/company_admin/src/components/business/OperaGoodsWindow.vue
similarity index 100%
rename from admin/src/components/business/OperaGoodsWindow.vue
rename to company_admin/src/components/business/OperaGoodsWindow.vue
diff --git a/admin/src/components/common/ColumnDetail.vue b/company_admin/src/components/common/ColumnDetail.vue
similarity index 100%
rename from admin/src/components/common/ColumnDetail.vue
rename to company_admin/src/components/common/ColumnDetail.vue
diff --git a/admin/src/components/common/DepartmentSelect.vue b/company_admin/src/components/common/DepartmentSelect.vue
similarity index 100%
rename from admin/src/components/common/DepartmentSelect.vue
rename to company_admin/src/components/common/DepartmentSelect.vue
diff --git a/admin/src/components/common/GlobalWindow.vue b/company_admin/src/components/common/GlobalWindow.vue
similarity index 100%
rename from admin/src/components/common/GlobalWindow.vue
rename to company_admin/src/components/common/GlobalWindow.vue
diff --git a/admin/src/components/common/Header.vue b/company_admin/src/components/common/Header.vue
similarity index 100%
rename from admin/src/components/common/Header.vue
rename to company_admin/src/components/common/Header.vue
diff --git a/admin/src/components/common/Light.vue b/company_admin/src/components/common/Light.vue
similarity index 100%
rename from admin/src/components/common/Light.vue
rename to company_admin/src/components/common/Light.vue
diff --git a/admin/src/components/common/Menu.vue b/company_admin/src/components/common/Menu.vue
similarity index 100%
rename from admin/src/components/common/Menu.vue
rename to company_admin/src/components/common/Menu.vue
diff --git a/admin/src/components/common/MenuItems.vue b/company_admin/src/components/common/MenuItems.vue
similarity index 100%
rename from admin/src/components/common/MenuItems.vue
rename to company_admin/src/components/common/MenuItems.vue
diff --git a/admin/src/components/common/MenuSelect.vue b/company_admin/src/components/common/MenuSelect.vue
similarity index 100%
rename from admin/src/components/common/MenuSelect.vue
rename to company_admin/src/components/common/MenuSelect.vue
diff --git a/admin/src/components/common/NotAllow.vue b/company_admin/src/components/common/NotAllow.vue
similarity index 100%
rename from admin/src/components/common/NotAllow.vue
rename to company_admin/src/components/common/NotAllow.vue
diff --git a/admin/src/components/common/Pagination.vue b/company_admin/src/components/common/Pagination.vue
similarity index 100%
rename from admin/src/components/common/Pagination.vue
rename to company_admin/src/components/common/Pagination.vue
diff --git a/admin/src/components/common/PositionSelect.vue b/company_admin/src/components/common/PositionSelect.vue
similarity index 100%
rename from admin/src/components/common/PositionSelect.vue
rename to company_admin/src/components/common/PositionSelect.vue
diff --git a/admin/src/components/common/Profile.vue b/company_admin/src/components/common/Profile.vue
similarity index 100%
rename from admin/src/components/common/Profile.vue
rename to company_admin/src/components/common/Profile.vue
diff --git a/admin/src/components/common/Scrollbar.vue b/company_admin/src/components/common/Scrollbar.vue
similarity index 100%
rename from admin/src/components/common/Scrollbar.vue
rename to company_admin/src/components/common/Scrollbar.vue
diff --git a/admin/src/components/common/SearchFormCollapse.vue b/company_admin/src/components/common/SearchFormCollapse.vue
similarity index 100%
rename from admin/src/components/common/SearchFormCollapse.vue
rename to company_admin/src/components/common/SearchFormCollapse.vue
diff --git a/admin/src/components/common/TreeSelect.vue b/company_admin/src/components/common/TreeSelect.vue
similarity index 100%
rename from admin/src/components/common/TreeSelect.vue
rename to company_admin/src/components/common/TreeSelect.vue
diff --git a/admin/src/components/common/Value.vue b/company_admin/src/components/common/Value.vue
similarity index 100%
rename from admin/src/components/common/Value.vue
rename to company_admin/src/components/common/Value.vue
diff --git a/admin/src/components/system/datapermission/CustomSelect.vue b/company_admin/src/components/system/datapermission/CustomSelect.vue
similarity index 100%
rename from admin/src/components/system/datapermission/CustomSelect.vue
rename to company_admin/src/components/system/datapermission/CustomSelect.vue
diff --git a/admin/src/components/system/datapermission/DataPermModuleSelect.vue b/company_admin/src/components/system/datapermission/DataPermModuleSelect.vue
similarity index 100%
rename from admin/src/components/system/datapermission/DataPermModuleSelect.vue
rename to company_admin/src/components/system/datapermission/DataPermModuleSelect.vue
diff --git a/admin/src/components/system/datapermission/DataPermTypeSelect.vue b/company_admin/src/components/system/datapermission/DataPermTypeSelect.vue
similarity index 100%
rename from admin/src/components/system/datapermission/DataPermTypeSelect.vue
rename to company_admin/src/components/system/datapermission/DataPermTypeSelect.vue
diff --git a/admin/src/components/system/datapermission/OperaDataPermissionWindow.vue b/company_admin/src/components/system/datapermission/OperaDataPermissionWindow.vue
similarity index 100%
rename from admin/src/components/system/datapermission/OperaDataPermissionWindow.vue
rename to company_admin/src/components/system/datapermission/OperaDataPermissionWindow.vue
diff --git a/admin/src/components/system/department/DepartmentUserWindow.vue b/company_admin/src/components/system/department/DepartmentUserWindow.vue
similarity index 100%
rename from admin/src/components/system/department/DepartmentUserWindow.vue
rename to company_admin/src/components/system/department/DepartmentUserWindow.vue
diff --git a/admin/src/components/system/department/OperaDepartmentWindow.vue b/company_admin/src/components/system/department/OperaDepartmentWindow.vue
similarity index 100%
rename from admin/src/components/system/department/OperaDepartmentWindow.vue
rename to company_admin/src/components/system/department/OperaDepartmentWindow.vue
diff --git a/admin/src/components/system/dict/DictDataManagerWindow.vue b/company_admin/src/components/system/dict/DictDataManagerWindow.vue
similarity index 100%
rename from admin/src/components/system/dict/DictDataManagerWindow.vue
rename to company_admin/src/components/system/dict/DictDataManagerWindow.vue
diff --git a/admin/src/components/system/dict/OperaDictDataWindow.vue b/company_admin/src/components/system/dict/OperaDictDataWindow.vue
similarity index 100%
rename from admin/src/components/system/dict/OperaDictDataWindow.vue
rename to company_admin/src/components/system/dict/OperaDictDataWindow.vue
diff --git a/admin/src/components/system/dict/OperaDictWindow.vue b/company_admin/src/components/system/dict/OperaDictWindow.vue
similarity index 100%
rename from admin/src/components/system/dict/OperaDictWindow.vue
rename to company_admin/src/components/system/dict/OperaDictWindow.vue
diff --git a/admin/src/components/system/menu/OperaMenuWindow.vue b/company_admin/src/components/system/menu/OperaMenuWindow.vue
similarity index 100%
rename from admin/src/components/system/menu/OperaMenuWindow.vue
rename to company_admin/src/components/system/menu/OperaMenuWindow.vue
diff --git a/admin/src/components/system/permission/OperaPermissionWindow.vue b/company_admin/src/components/system/permission/OperaPermissionWindow.vue
similarity index 100%
rename from admin/src/components/system/permission/OperaPermissionWindow.vue
rename to company_admin/src/components/system/permission/OperaPermissionWindow.vue
diff --git a/admin/src/components/system/position/OperaPositionWindow.vue b/company_admin/src/components/system/position/OperaPositionWindow.vue
similarity index 100%
rename from admin/src/components/system/position/OperaPositionWindow.vue
rename to company_admin/src/components/system/position/OperaPositionWindow.vue
diff --git a/admin/src/components/system/position/PositionUserWindow.vue b/company_admin/src/components/system/position/PositionUserWindow.vue
similarity index 100%
rename from admin/src/components/system/position/PositionUserWindow.vue
rename to company_admin/src/components/system/position/PositionUserWindow.vue
diff --git a/admin/src/components/system/role/MenuConfigWindow.vue b/company_admin/src/components/system/role/MenuConfigWindow.vue
similarity index 100%
rename from admin/src/components/system/role/MenuConfigWindow.vue
rename to company_admin/src/components/system/role/MenuConfigWindow.vue
diff --git a/admin/src/components/system/role/OperaRoleWindow.vue b/company_admin/src/components/system/role/OperaRoleWindow.vue
similarity index 100%
rename from admin/src/components/system/role/OperaRoleWindow.vue
rename to company_admin/src/components/system/role/OperaRoleWindow.vue
diff --git a/admin/src/components/system/role/PermissionConfigWindow.vue b/company_admin/src/components/system/role/PermissionConfigWindow.vue
similarity index 100%
rename from admin/src/components/system/role/PermissionConfigWindow.vue
rename to company_admin/src/components/system/role/PermissionConfigWindow.vue
diff --git a/admin/src/components/system/role/RoleSelect.vue b/company_admin/src/components/system/role/RoleSelect.vue
similarity index 100%
rename from admin/src/components/system/role/RoleSelect.vue
rename to company_admin/src/components/system/role/RoleSelect.vue
diff --git a/admin/src/components/system/user/OperaUserWindow.vue b/company_admin/src/components/system/user/OperaUserWindow.vue
similarity index 100%
rename from admin/src/components/system/user/OperaUserWindow.vue
rename to company_admin/src/components/system/user/OperaUserWindow.vue
diff --git a/admin/src/components/system/user/ResetPwdWindow.vue b/company_admin/src/components/system/user/ResetPwdWindow.vue
similarity index 100%
rename from admin/src/components/system/user/ResetPwdWindow.vue
rename to company_admin/src/components/system/user/ResetPwdWindow.vue
diff --git a/admin/src/components/system/user/RoleConfigWindow.vue b/company_admin/src/components/system/user/RoleConfigWindow.vue
similarity index 100%
rename from admin/src/components/system/user/RoleConfigWindow.vue
rename to company_admin/src/components/system/user/RoleConfigWindow.vue
diff --git a/admin/src/directives/index.js b/company_admin/src/directives/index.js
similarity index 100%
rename from admin/src/directives/index.js
rename to company_admin/src/directives/index.js
diff --git a/admin/src/directives/v-permissions.js b/company_admin/src/directives/v-permissions.js
similarity index 100%
rename from admin/src/directives/v-permissions.js
rename to company_admin/src/directives/v-permissions.js
diff --git a/admin/src/directives/v-roles.js b/company_admin/src/directives/v-roles.js
similarity index 100%
rename from admin/src/directives/v-roles.js
rename to company_admin/src/directives/v-roles.js
diff --git a/admin/src/directives/v-trim.js b/company_admin/src/directives/v-trim.js
similarity index 100%
rename from admin/src/directives/v-trim.js
rename to company_admin/src/directives/v-trim.js
diff --git a/admin/src/filters/index.js b/company_admin/src/filters/index.js
similarity index 100%
rename from admin/src/filters/index.js
rename to company_admin/src/filters/index.js
diff --git a/admin/src/layouts/AppLayout.vue b/company_admin/src/layouts/AppLayout.vue
similarity index 100%
rename from admin/src/layouts/AppLayout.vue
rename to company_admin/src/layouts/AppLayout.vue
diff --git a/admin/src/layouts/TableLayout.vue b/company_admin/src/layouts/TableLayout.vue
similarity index 100%
rename from admin/src/layouts/TableLayout.vue
rename to company_admin/src/layouts/TableLayout.vue
diff --git a/admin/src/main.js b/company_admin/src/main.js
similarity index 100%
rename from admin/src/main.js
rename to company_admin/src/main.js
diff --git a/admin/src/plugins/cache.js b/company_admin/src/plugins/cache.js
similarity index 100%
rename from admin/src/plugins/cache.js
rename to company_admin/src/plugins/cache.js
diff --git a/admin/src/plugins/consts.js b/company_admin/src/plugins/consts.js
similarity index 100%
rename from admin/src/plugins/consts.js
rename to company_admin/src/plugins/consts.js
diff --git a/admin/src/plugins/download.js b/company_admin/src/plugins/download.js
similarity index 100%
rename from admin/src/plugins/download.js
rename to company_admin/src/plugins/download.js
diff --git a/admin/src/plugins/index.js b/company_admin/src/plugins/index.js
similarity index 100%
rename from admin/src/plugins/index.js
rename to company_admin/src/plugins/index.js
diff --git a/admin/src/plugins/message.js b/company_admin/src/plugins/message.js
similarity index 100%
rename from admin/src/plugins/message.js
rename to company_admin/src/plugins/message.js
diff --git a/admin/src/plugins/messagebox.js b/company_admin/src/plugins/messagebox.js
similarity index 100%
rename from admin/src/plugins/messagebox.js
rename to company_admin/src/plugins/messagebox.js
diff --git a/admin/src/router/index.js b/company_admin/src/router/index.js
similarity index 100%
rename from admin/src/router/index.js
rename to company_admin/src/router/index.js
diff --git a/admin/src/store/index.js b/company_admin/src/store/index.js
similarity index 100%
rename from admin/src/store/index.js
rename to company_admin/src/store/index.js
diff --git a/admin/src/utils/form.js b/company_admin/src/utils/form.js
similarity index 100%
rename from admin/src/utils/form.js
rename to company_admin/src/utils/form.js
diff --git a/admin/src/utils/icons.js b/company_admin/src/utils/icons.js
similarity index 100%
rename from admin/src/utils/icons.js
rename to company_admin/src/utils/icons.js
diff --git a/admin/src/utils/request.js b/company_admin/src/utils/request.js
similarity index 100%
rename from admin/src/utils/request.js
rename to company_admin/src/utils/request.js
diff --git a/admin/src/utils/util.js b/company_admin/src/utils/util.js
similarity index 100%
rename from admin/src/utils/util.js
rename to company_admin/src/utils/util.js
diff --git a/admin/src/views/business/brand.vue b/company_admin/src/views/business/brand.vue
similarity index 100%
rename from admin/src/views/business/brand.vue
rename to company_admin/src/views/business/brand.vue
diff --git a/admin/src/views/business/category.vue b/company_admin/src/views/business/category.vue
similarity index 100%
rename from admin/src/views/business/category.vue
rename to company_admin/src/views/business/category.vue
diff --git a/admin/src/views/business/goods.vue b/company_admin/src/views/business/goods.vue
similarity index 100%
rename from admin/src/views/business/goods.vue
rename to company_admin/src/views/business/goods.vue
diff --git a/admin/src/views/index.vue b/company_admin/src/views/index.vue
similarity index 100%
rename from admin/src/views/index.vue
rename to company_admin/src/views/index.vue
diff --git a/admin/src/views/login.vue b/company_admin/src/views/login.vue
similarity index 100%
rename from admin/src/views/login.vue
rename to company_admin/src/views/login.vue
diff --git a/admin/src/views/no-permissions.vue b/company_admin/src/views/no-permissions.vue
similarity index 100%
rename from admin/src/views/no-permissions.vue
rename to company_admin/src/views/no-permissions.vue
diff --git a/admin/src/views/not-found.vue b/company_admin/src/views/not-found.vue
similarity index 100%
rename from admin/src/views/not-found.vue
rename to company_admin/src/views/not-found.vue
diff --git a/admin/src/views/system/data-permission.vue b/company_admin/src/views/system/data-permission.vue
similarity index 100%
rename from admin/src/views/system/data-permission.vue
rename to company_admin/src/views/system/data-permission.vue
diff --git a/admin/src/views/system/department.vue b/company_admin/src/views/system/department.vue
similarity index 100%
rename from admin/src/views/system/department.vue
rename to company_admin/src/views/system/department.vue
diff --git a/admin/src/views/system/dict.vue b/company_admin/src/views/system/dict.vue
similarity index 100%
rename from admin/src/views/system/dict.vue
rename to company_admin/src/views/system/dict.vue
diff --git a/admin/src/views/system/loginLog.vue b/company_admin/src/views/system/loginLog.vue
similarity index 100%
rename from admin/src/views/system/loginLog.vue
rename to company_admin/src/views/system/loginLog.vue
diff --git a/admin/src/views/system/menu.vue b/company_admin/src/views/system/menu.vue
similarity index 100%
rename from admin/src/views/system/menu.vue
rename to company_admin/src/views/system/menu.vue
diff --git a/admin/src/views/system/monitor.vue b/company_admin/src/views/system/monitor.vue
similarity index 100%
rename from admin/src/views/system/monitor.vue
rename to company_admin/src/views/system/monitor.vue
diff --git a/admin/src/views/system/permission.vue b/company_admin/src/views/system/permission.vue
similarity index 100%
rename from admin/src/views/system/permission.vue
rename to company_admin/src/views/system/permission.vue
diff --git a/admin/src/views/system/position.vue b/company_admin/src/views/system/position.vue
similarity index 100%
rename from admin/src/views/system/position.vue
rename to company_admin/src/views/system/position.vue
diff --git a/admin/src/views/system/role.vue b/company_admin/src/views/system/role.vue
similarity index 100%
rename from admin/src/views/system/role.vue
rename to company_admin/src/views/system/role.vue
diff --git a/admin/src/views/system/traceLog.vue b/company_admin/src/views/system/traceLog.vue
similarity index 100%
rename from admin/src/views/system/traceLog.vue
rename to company_admin/src/views/system/traceLog.vue
diff --git a/admin/src/views/system/user.vue b/company_admin/src/views/system/user.vue
similarity index 100%
rename from admin/src/views/system/user.vue
rename to company_admin/src/views/system/user.vue
diff --git a/admin/vue.config.js b/company_admin/vue.config.js
similarity index 100%
rename from admin/vue.config.js
rename to company_admin/vue.config.js
diff --git a/log/eva.log b/log/eva.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/log/eva.log
diff --git a/server/company/pom.xml b/server/company/pom.xml
new file mode 100644
index 0000000..d9e5f21
--- /dev/null
+++ b/server/company/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.doumee</groupId>
+ <artifactId>preselect</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>company</artifactId>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.doumee</groupId>
+ <artifactId>service</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/server/company/src/main/java/com/doumee/CompanyApplication.java b/server/company/src/main/java/com/doumee/CompanyApplication.java
new file mode 100644
index 0000000..884105a
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/CompanyApplication.java
@@ -0,0 +1,23 @@
+package com.doumee;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ApplicationContext;
+
+/**
+ * 鍚姩绫�
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Slf4j
+@SpringBootApplication
+@MapperScan("com.doumee.dao")
+public class CompanyApplication {
+
+ public static void main(String[] args) {
+ ApplicationContext context = SpringApplication.run(CompanyApplication.class);
+ context.getEnvironment();
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/Main.java b/server/company/src/main/java/com/doumee/Main.java
new file mode 100644
index 0000000..ada0d0d
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/Main.java
@@ -0,0 +1,7 @@
+package com.doumee;
+
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
\ No newline at end of file
diff --git a/server/src/main/java/com/doumee/api/BaseController.java b/server/company/src/main/java/com/doumee/api/BaseController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/BaseController.java
rename to server/company/src/main/java/com/doumee/api/BaseController.java
diff --git a/server/company/src/main/java/com/doumee/api/business/BrandController.java b/server/company/src/main/java/com/doumee/api/business/BrandController.java
new file mode 100644
index 0000000..c10e7ad
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/BrandController.java
@@ -0,0 +1,98 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Brand;
+import com.doumee.service.business.BrandService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍝佺墝淇℃伅琛�")
+@RestController
+@RequestMapping("/business/brand")
+public class BrandController extends BaseController {
+
+ @Autowired
+ private BrandService brandService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:brand:create")
+ public ApiResponse create(@RequestBody Brand brand) {
+ return ApiResponse.success(brandService.create(brand));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:brand:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ brandService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:brand:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ brandService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:brand:update")
+ public ApiResponse updateById(@RequestBody Brand brand) {
+ brandService.updateById(brand);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:brand:query")
+ public ApiResponse<PageData<Brand>> findPage (@RequestBody PageWrap<Brand> pageWrap) {
+ return ApiResponse.success(brandService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:brand:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Brand> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Brand.class).export(brandService.findPage(pageWrap).getRecords(), "鍝佺墝淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:brand:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(brandService.findById(id));
+ }
+
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/list")
+ public ApiResponse<List<Brand>> findList (@RequestBody Brand brand) {
+ return ApiResponse.success(brandService.findList(brand));
+ }
+
+
+}
diff --git a/server/company/src/main/java/com/doumee/api/business/CateAttrController.java b/server/company/src/main/java/com/doumee/api/business/CateAttrController.java
new file mode 100644
index 0000000..41b7594
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/CateAttrController.java
@@ -0,0 +1,100 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CateAttr;
+import com.doumee.service.business.CateAttrService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍝佺被灞炴�ц鏍煎�间俊鎭〃")
+@RestController
+@RequestMapping("/business/cateAttr")
+public class CateAttrController extends BaseController {
+
+ @Autowired
+ private CateAttrService cateAttrService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:cateattr:create")
+ public ApiResponse create(@RequestBody CateAttr cateAttr) {
+ return ApiResponse.success(cateAttrService.create(cateAttr));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:cateattr:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ cateAttrService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:cateattr:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ cateAttrService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:cateattr:update")
+ public ApiResponse updateById(@RequestBody CateAttr cateAttr) {
+ cateAttrService.updateById(cateAttr);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:cateattr:query")
+ public ApiResponse<PageData<CateAttr>> findPage (@RequestBody PageWrap<CateAttr> pageWrap) {
+ return ApiResponse.success(cateAttrService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:cateattr:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<CateAttr> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(CateAttr.class).export(cateAttrService.findPage(pageWrap).getRecords(), "鍝佺被灞炴�ц鏍煎�间俊鎭〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:cateattr:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(cateAttrService.findById(id));
+ }
+
+
+
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/list")
+ public ApiResponse<List<CateAttr>> findList (@RequestBody CateAttr cateAttr) {
+ return ApiResponse.success(cateAttrService.findList(cateAttr));
+ }
+
+
+}
diff --git a/server/company/src/main/java/com/doumee/api/business/CateBudgetController.java b/server/company/src/main/java/com/doumee/api/business/CateBudgetController.java
new file mode 100644
index 0000000..d70e772
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/CateBudgetController.java
@@ -0,0 +1,65 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CateBudget;
+import com.doumee.service.business.CateBudgetService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author 姹熻箘韫�
+ * @since 2023/05/15 17:09
+ */
+@Api(tags = "鍝佺被浠锋牸鍖洪棿琛�")
+@RestController
+@RequestMapping("/business/cateBudget")
+public class CateBudgetController extends BaseController {
+
+ @Autowired
+ private CateBudgetService cateBudgetService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:catebudget:create")
+ public ApiResponse create(@RequestBody CateBudget cateBudget) {
+ return ApiResponse.success(cateBudgetService.create(cateBudget));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:catebudget:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ cateBudgetService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:catebudget:update")
+ public ApiResponse updateById(@RequestBody CateBudget cateBudget) {
+ cateBudgetService.updateById(cateBudget);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:catebudget:query")
+ public ApiResponse<PageData<CateBudget>> findPage (@RequestBody PageWrap<CateBudget> pageWrap) {
+ return ApiResponse.success(cateBudgetService.findPage(pageWrap));
+ }
+
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:catebudget:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(cateBudgetService.findById(id));
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/api/business/CateParamController.java b/server/company/src/main/java/com/doumee/api/business/CateParamController.java
new file mode 100644
index 0000000..5b23d31
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/CateParamController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CateParam;
+import com.doumee.service.business.CateParamService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍝佺被鍙傛暟淇℃伅琛�")
+@RestController
+@RequestMapping("/business/cateParam")
+public class CateParamController extends BaseController {
+
+ @Autowired
+ private CateParamService cateParamService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:cateparam:create")
+ public ApiResponse create(@RequestBody CateParam cateParam) {
+ return ApiResponse.success(cateParamService.create(cateParam));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:cateparam:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ cateParamService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:cateparam:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ cateParamService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:cateparam:update")
+ public ApiResponse updateById(@RequestBody CateParam cateParam) {
+ cateParamService.updateById(cateParam);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:cateparam:query")
+ public ApiResponse<PageData<CateParam>> findPage (@RequestBody PageWrap<CateParam> pageWrap) {
+ return ApiResponse.success(cateParamService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:cateparam:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<CateParam> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(CateParam.class).export(cateParamService.findPage(pageWrap).getRecords(), "鍝佺被鍙傛暟淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:cateparam:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(cateParamService.findById(id));
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/api/business/CategoryController.java b/server/company/src/main/java/com/doumee/api/business/CategoryController.java
new file mode 100644
index 0000000..a666280
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/CategoryController.java
@@ -0,0 +1,111 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Category;
+import com.doumee.service.business.CategoryService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍝佺被淇℃伅琛�")
+@RestController
+@RequestMapping("/business/category")
+public class CategoryController extends BaseController {
+
+ @Autowired
+ private CategoryService categoryService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:category:create")
+ public ApiResponse create(@RequestBody Category category) {
+ return ApiResponse.success(categoryService.create(category));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:category:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ categoryService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:category:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ categoryService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:category:update")
+ public ApiResponse updateById(@RequestBody Category category) {
+ categoryService.updateById(category);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:category:query")
+ public ApiResponse<PageData<Category>> findPage (@RequestBody PageWrap<Category> pageWrap) {
+ return ApiResponse.success(categoryService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:category:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Category> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Category.class).export(categoryService.findPage(pageWrap).getRecords(), "鍝佺被淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:category:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(categoryService.findById(id));
+ }
+
+ @ApiOperation("淇敼鐘舵��")
+ @PostMapping("/updateDisableById")
+ @RequiresPermissions("business:category:update")
+ public ApiResponse updateDisableById(@RequestBody Category category) {
+ categoryService.updateDisableById(category);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒楄〃 - H5")
+ @PostMapping("/list")
+ public ApiResponse<List<Category>> findList (@RequestBody Category category) {
+ return ApiResponse.success(categoryService.findList(category));
+ }
+
+ @ApiOperation("鍒楄〃 - 鍟嗗搧閫夋嫨")
+ @GetMapping("/findListForGoodsId")
+ public ApiResponse<List<Category>> findListForGoodsId (Integer goodsId) {
+ return ApiResponse.success(categoryService.findListForGoods(goodsId));
+ }
+
+}
diff --git a/server/company/src/main/java/com/doumee/api/business/GoodsController.java b/server/company/src/main/java/com/doumee/api/business/GoodsController.java
new file mode 100644
index 0000000..b6fdd44
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/GoodsController.java
@@ -0,0 +1,144 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Goods;
+import com.doumee.dao.business.model.dto.GoodsRequest;
+import com.doumee.service.business.GoodsService;
+import io.swagger.annotations.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.doumee.core.model.ApiResponse;
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍟嗗搧淇℃伅琛�")
+@RestController
+@RequestMapping("/business/goods")
+public class GoodsController extends BaseController {
+
+ @Autowired
+ private GoodsService goodsService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:goods:create")
+ public ApiResponse create(@RequestBody Goods goods) {
+ return ApiResponse.success(goodsService.create(goods));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:goods:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ goodsService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:goods:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ goodsService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:goods:update")
+ public ApiResponse updateById(@RequestBody Goods goods) {
+ goodsService.updateById(goods);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:goods:query")
+ public ApiResponse<PageData<Goods>> findPage (@RequestBody PageWrap<Goods> pageWrap) {
+ return ApiResponse.success(goodsService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:goods:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Goods> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Goods.class).export(goodsService.findPage(pageWrap).getRecords(), "鍟嗗搧淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:goods:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(goodsService.findById(id));
+ }
+
+ @ApiOperation("瀵煎叆妯℃澘")
+ @PostMapping("/importExcel")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
+ })
+// @RequiresPermissions("business:goods:create")
+ public ApiResponse<Integer> importExcel (@ApiParam(value = "file") MultipartFile file) {
+ return ApiResponse.success(goodsService.importBatch(file));
+ }
+
+
+ @ApiOperation("淇敼鐘舵��")
+ @PostMapping("/updateDisableById")
+ @RequiresPermissions("business:category:update")
+ public ApiResponse updateDisableById(@RequestBody Goods goods) {
+ goodsService.updateDisableById(goods);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("鍒楄〃 - H5")
+ @PostMapping("/list")
+ public ApiResponse<List<Goods>> findList (@RequestBody Goods goods) {
+ return ApiResponse.success(goodsService.findList(goods));
+ }
+
+
+ @ApiOperation("鍟嗗搧鍒嗛〉鍒楄〃 - H5")
+ @PostMapping("/goodsPage")
+ public ApiResponse<PageData<Goods>> goodsPage(@RequestBody PageWrap<GoodsRequest> pageWrap) {
+ return ApiResponse.success(goodsService.getGoodsPage(pageWrap));
+ }
+
+ @ApiOperation("鍒楄〃鏌ヨ - H5")
+ @PostMapping("/listForH5")
+ public ApiResponse<List<Goods>> listForH5 (@RequestBody GoodsRequest goodsRequest) {
+ return ApiResponse.success(goodsService.findListForH5(goodsRequest));
+ }
+
+ @ApiOperation("鑾峰彇H5棣栭〉鍥�")
+ @PostMapping("/h5Image")
+ public ApiResponse<String> h5Image () {
+ return ApiResponse.success(goodsService.h5Image());
+ }
+
+ @ApiOperation("瀵煎嚭瀵煎叆妯℃澘")
+ @PostMapping("/export")
+ public void export (HttpServletRequest request, HttpServletResponse response) throws Exception {
+ goodsService.export(request,response);
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/api/business/GoodsParamController.java b/server/company/src/main/java/com/doumee/api/business/GoodsParamController.java
new file mode 100644
index 0000000..70242f8
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/GoodsParamController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.GoodsParam;
+import com.doumee.service.business.GoodsParamService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍟嗗搧鍙傛暟閰嶇疆琛�")
+@RestController
+@RequestMapping("/business/goodsParam")
+public class GoodsParamController extends BaseController {
+
+ @Autowired
+ private GoodsParamService goodsParamService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:goodsparam:create")
+ public ApiResponse create(@RequestBody GoodsParam goodsParam) {
+ return ApiResponse.success(goodsParamService.create(goodsParam));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:goodsparam:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ goodsParamService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:goodsparam:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ goodsParamService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:goodsparam:update")
+ public ApiResponse updateById(@RequestBody GoodsParam goodsParam) {
+ goodsParamService.updateById(goodsParam);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:goodsparam:query")
+ public ApiResponse<PageData<GoodsParam>> findPage (@RequestBody PageWrap<GoodsParam> pageWrap) {
+ return ApiResponse.success(goodsParamService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:goodsparam:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<GoodsParam> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(GoodsParam.class).export(goodsParamService.findPage(pageWrap).getRecords(), "鍟嗗搧鍙傛暟閰嶇疆琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:goodsparam:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(goodsParamService.findById(id));
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/api/business/MultifileController.java b/server/company/src/main/java/com/doumee/api/business/MultifileController.java
new file mode 100644
index 0000000..0fcfd2a
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/MultifileController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Multifile;
+import com.doumee.service.business.MultifileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "闄勪欢淇℃伅琛�")
+@RestController
+@RequestMapping("/business/multifile")
+public class MultifileController extends BaseController {
+
+ @Autowired
+ private MultifileService multifileService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:multifile:create")
+ public ApiResponse create(@RequestBody Multifile multifile) {
+ return ApiResponse.success(multifileService.create(multifile));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:multifile:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ multifileService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:multifile:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ multifileService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:multifile:update")
+ public ApiResponse updateById(@RequestBody Multifile multifile) {
+ multifileService.updateById(multifile);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:multifile:query")
+ public ApiResponse<PageData<Multifile>> findPage (@RequestBody PageWrap<Multifile> pageWrap) {
+ return ApiResponse.success(multifileService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:multifile:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Multifile> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Multifile.class).export(multifileService.findPage(pageWrap).getRecords(), "闄勪欢淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:multifile:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(multifileService.findById(id));
+ }
+}
diff --git a/server/src/main/java/com/doumee/api/common/CaptchaController.java b/server/company/src/main/java/com/doumee/api/common/CaptchaController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/common/CaptchaController.java
rename to server/company/src/main/java/com/doumee/api/common/CaptchaController.java
diff --git a/server/company/src/main/java/com/doumee/api/common/PublicController.java b/server/company/src/main/java/com/doumee/api/common/PublicController.java
new file mode 100644
index 0000000..ab7e6b6
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/common/PublicController.java
@@ -0,0 +1,327 @@
+package com.doumee.api.common;
+
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+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 org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Api(tags = "鍏叡鎺ュ彛")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/public")
+@Slf4j
+public class PublicController extends BaseController {
+
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+
+ @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/upload", headers = "content-type=multipart/form-data")
+ public void uploadMobile(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ upload(multipartRequest, response, folder + "/",
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
+ }
+
+
+ @ApiOperation(value = "涓婁紶鍥剧墖", notes = "涓婁紶鍥剧墖", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/uploadPicture", headers = "content-type=multipart/form-data")
+ public void uploadPicture(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> fileNames = multipartRequest.getFileNames();
+ Map<String, Object> context = new HashMap<>();
+ while (fileNames.hasNext()){
+ MultipartFile file = multipartRequest.getFile(fileNames.next());
+ String fileName = file.getOriginalFilename();
+ String suffix = fileName.substring(fileName.lastIndexOf("."));
+ if ( !StringUtils.equalsIgnoreCase(suffix, ".jpg") || !StringUtils.equalsIgnoreCase(suffix, ".png")) {
+ context.put("code", 0);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡涓婁紶鏈夎锛�");
+ }
+ }
+ upload(multipartRequest, response, folder + "/",
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
+ }
+
+ public void upload(HttpServletRequest request, HttpServletResponse response, String folder, String bucketName,
+ String access_id, String access_key, String resourcePath, String endpoint) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ Map<String, Object> context = new HashMap<>();
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile((String) it.next());// file
+ // multipartRequest.getFile((String)
+ // it.next());
+ if (file != null) {
+ // 1銆佷笂浼犲埌鏈嶅姟鍣ㄤ复鏃舵枃浠跺す
+ String uploadFileName = file.getOriginalFilename();
+ String originname = uploadFileName;
+ if (originname.lastIndexOf("/") >= 0) {
+ originname = originname.substring(originname.lastIndexOf("/") + 1);
+ }
+ String nfix = "";// 鍚庣紑鍚�
+ if (StringUtils.isNotBlank(uploadFileName)) {
+ nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
+ return;
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
+ return;
+ }
+ String nowDate = DateUtil.getNowShortDate();// 褰撳墠鏃堕棿锛堝勾鏈堟棩锛�
+ String fileName = UUID.randomUUID().toString() + nfix;
+ String tempFileName = nowDate + "/" + fileName;
+ String key = folder + tempFileName;// 鏂囦欢鍚�
+ ALiYunUtil obs = new ALiYunUtil(endpoint,access_id, access_key);
+ if (obs.uploadOnlineObject(file.getInputStream(),bucketName, key,null)) {
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+ // sendSuccessMessage(response, resourcePath+key);
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("url", resourcePath + key);
+ fileJSON.put("imgaddr", tempFileName);
+ fileJSON.put("imgname", fileName);
+ fileJSON.put("originname", originname);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+ writerJson(response, context);
+ return;
+ } else {
+ // 绉诲姩澶辫触
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+ }
+
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ context.put("errno",0);
+ writerJson(response, context);
+ return;
+ }
+
+ public static void writerJson(HttpServletResponse response, Object object) {
+ response.setContentType("application/json");
+ writer(response, JSONObject.toJSONString(object));
+ }
+
+ private static void writer(HttpServletResponse response, String str) {
+ try {
+ StringBuffer result = new StringBuffer();
+ //璁剧疆椤甸潰涓嶇紦瀛�
+ response.setHeader("Pragma", "No-cache");
+ response.setHeader("Cache-Control", "no-cache");
+ response.setCharacterEncoding("UTF-8");
+ PrintWriter out = null;
+ out = response.getWriter();
+ out.print(str);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+
+ @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data")
+ public void uploadLocal(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+
+ // CommonsMultipartFile files = (CommonsMultipartFile) multipartRequest.getFile("filedata");
+ uploadFileLocal(multipartRequest, folder+ "/", response,
+ systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.GOODS_IMG_DIR).getCode() ,
+ systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode());
+
+ }
+
+ public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ Map<String, Object> context = new HashMap<>();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile((String) it.next());// file
+ // =
+ // (CommonsMultipartFile)
+ // multipartRequest.getFile((String)
+ // it.next());
+ if (file != null) {
+ if (file.getSize() > 200 * 1024 * 1024L) {
+ context.put("code", 4000);
+ context.put("message", "涓婁紶鏂囦欢杩囧ぇ");
+ return;
+ }
+ System.out.println(file.getOriginalFilename());
+ if (file.getOriginalFilename() == null) {
+ context.put("code", 4000);
+ context.put("message", "鏂囦欢鍚嶄笉鍙负绌�");
+ return;
+ }
+ /*
+ * if(file.getOriginalFilename().contains(",")||file.getOriginalFilename().
+ * contains(" ")){ sendFailureMessage(response,"鏂囦欢鍚嶇О鏈夎,涓嶅彲鍚湁閫楀彿绛夌壒娈婂瓧绗�"); }
+ */
+
+ String nowDate = DateUtil.getNowShortDate();
+ folder += nowDate + "/";
+ String strDirPath = rootPath + folder;
+ File dirPath = new File(strDirPath);
+ if (!dirPath.exists()) {
+ dirPath.mkdirs();
+ }
+ String uploadFileName = file.getOriginalFilename();
+ String x = UUID.randomUUID().toString().replace("-", "")
+ + uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ String fileName = folder + x;
+ String fileNames = nowDate + "/" + x;
+ uploadFileName = uploadFileName.replace(" ", "");
+ uploadFileName = uploadFileName.replace("锛�", ",");
+ uploadFileName = uploadFileName.replaceAll(",", "-");
+ System.err.println("R:" + fileName);
+ String fileAndPath = dir + fileName;
+ System.err.println("A:" + fileAndPath);
+ // 鍒ゆ柇濡傛灉涓存椂鐩綍涓瓨鍦ㄧ浉鍚屽悕绉扮殑鏂囦欢鍏堝垹闄わ紝鍦ㄤ笂浼�
+ File tempFile = new File(rootPath + fileName);
+ if (tempFile.isFile() && tempFile.exists()) {
+ tempFile.getAbsoluteFile().delete();
+ }
+ // 涓婁紶鍒版湇鍔″櫒涓存椂鏂囦欢澶�
+ file.transferTo(tempFile);
+ // 杞Щ鍒癋TP鏈嶅姟鍣�
+ String nfix = "";
+ if (null != uploadFileName) {
+ nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ }
+
+ if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
+ return;
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
+ return;
+ }
+
+ String remoteName = fileName;
+ String remoteFileName = fileAndPath;
+
+ /* Map map = new HashMap();
+ map.put("url", remoteFileName);
+ map.put("alt", uploadFileName);
+ map.put("href", remoteFileName);
+ List maps = Arrays.asList(remoteFileName);*/
+
+ if (true) {
+ // 鍏抽棴FTP娴�
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+
+ /*context.put("error", 0);
+ context.put("url", remoteFileName);
+ context.put("fullurl", remoteFileName);
+ context.put("fname", uploadFileName);
+ context.put("data", maps);
+ context.put("halfurl", fileNames);*/
+
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("url", remoteFileName);
+ fileJSON.put("imgaddr", fileNames);
+ fileJSON.put("imgname", uploadFileName);
+ fileJSON.put("originname", uploadFileName);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+
+ writerJson(response, context);
+ return;
+ } else {
+ // 绉诲姩澶辫触
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+}
diff --git a/server/src/main/java/com/doumee/api/system/SystemController.java b/server/company/src/main/java/com/doumee/api/system/SystemController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemDataPermissionController.java b/server/company/src/main/java/com/doumee/api/system/SystemDataPermissionController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemDataPermissionController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemDataPermissionController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemDepartmentController.java b/server/company/src/main/java/com/doumee/api/system/SystemDepartmentController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemDepartmentController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemDepartmentController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemDictController.java b/server/company/src/main/java/com/doumee/api/system/SystemDictController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemDictController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemDictController.java
diff --git a/server/company/src/main/java/com/doumee/api/system/SystemDictDataController.java b/server/company/src/main/java/com/doumee/api/system/SystemDictDataController.java
new file mode 100644
index 0000000..4c76bfc
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/system/SystemDictDataController.java
@@ -0,0 +1,95 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
+import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.vo.SystemDictDataListVO;
+import com.doumee.service.system.SystemDictDataService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "瀛楀吀鏁版嵁")
+@RestController
+@RequestMapping("/system/dictData")
+public class SystemDictDataController extends BaseController {
+
+ @Autowired
+ private SystemDictDataService systemDictDataService;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemDictData systemDictData) {
+ return ApiResponse.success(systemDictDataBiz.create(systemDictData));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemDictDataService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:dict:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemDictDataService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemDictData systemDictData) {
+ systemDictDataBiz.updateById(systemDictData);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse<PageData<SystemDictDataListVO>> findPage (@RequestBody PageWrap<QuerySystemDictDataDTO> pageWrap) {
+ return ApiResponse.success(systemDictDataService.findPage(pageWrap));
+ }
+
+
+
+
+
+ @ApiOperation("缂栬緫鏌ヨ鍜栬眴浠诲姟瑙勫垯")
+ @PostMapping("/createCoffeeTask")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse createCoffeeTask(@Validated(OperaType.Create.class) @RequestBody List<SystemDictData> list) {
+ systemDictDataBiz.updateByDicId(list);
+ return ApiResponse.success(null);
+ }
+
+}
diff --git a/server/src/main/java/com/doumee/api/system/SystemLoginLogController.java b/server/company/src/main/java/com/doumee/api/system/SystemLoginLogController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemLoginLogController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemLoginLogController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemMenuController.java b/server/company/src/main/java/com/doumee/api/system/SystemMenuController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemMenuController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemMenuController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemMonitorController.java b/server/company/src/main/java/com/doumee/api/system/SystemMonitorController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemMonitorController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemMonitorController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemPermissionController.java b/server/company/src/main/java/com/doumee/api/system/SystemPermissionController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemPermissionController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemPermissionController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemPositionController.java b/server/company/src/main/java/com/doumee/api/system/SystemPositionController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemPositionController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemPositionController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemRoleController.java b/server/company/src/main/java/com/doumee/api/system/SystemRoleController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemRoleController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemRoleController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemTraceLogController.java b/server/company/src/main/java/com/doumee/api/system/SystemTraceLogController.java
similarity index 100%
rename from server/src/main/java/com/doumee/api/system/SystemTraceLogController.java
rename to server/company/src/main/java/com/doumee/api/system/SystemTraceLogController.java
diff --git a/server/company/src/main/java/com/doumee/api/system/SystemUserController.java b/server/company/src/main/java/com/doumee/api/system/SystemUserController.java
new file mode 100644
index 0000000..0d14fb7
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/system/SystemUserController.java
@@ -0,0 +1,129 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemUserBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.CreateSystemUserDTO;
+import com.doumee.dao.system.dto.CreateUserRoleDTO;
+import com.doumee.dao.system.dto.QuerySystemUserDTO;
+import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.system.vo.SystemUserListVO;
+import com.doumee.service.system.SystemUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import com.doumee.core.model.ApiResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "鐢ㄦ埛")
+@RestController
+@RequestMapping("/system/user")
+public class SystemUserController extends BaseController {
+
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Autowired
+ private SystemUserBiz systemUserBiz;
+
+ @PreventRepeat
+ @ApiOperation("閰嶇疆鐢ㄦ埛瑙掕壊")
+ @PostMapping("/createUserRole")
+ @RequiresPermissions("system:user:createUserRole")
+ public ApiResponse createUserRole (@Validated @RequestBody CreateUserRoleDTO dto) {
+ systemUserBiz.createUserRole(dto);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("閲嶇疆鐢ㄦ埛瀵嗙爜")
+ @PostMapping("/resetPwd")
+ @RequiresPermissions("system:user:resetPwd")
+ public ApiResponse resetPwd (@Validated @RequestBody ResetSystemUserPwdDTO dto) {
+ dto.setOperaUserId(this.getLoginUser().getId());
+ systemUserBiz.resetPwd(dto);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:user:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody CreateSystemUserDTO systemUser) {
+ systemUser.setCreateUser(this.getLoginUser().getId());
+ systemUserBiz.create(systemUser);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:user:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemUserBiz.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:user:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemUserBiz.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:user:update")
+ public ApiResponse updateById( @RequestBody CreateSystemUserDTO systemUser) {
+ systemUser.setUpdateUser(this.getLoginUser().getId());
+ systemUserBiz.updateById(systemUser);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse<PageData<SystemUserListVO>> findPage (@RequestBody PageWrap<QuerySystemUserDTO> pageWrap) {
+ return ApiResponse.success(systemUserService.findPage(pageWrap));
+ }
+
+
+
+ @ApiOperation("鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛")
+ @PostMapping("/findAllList")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse<PageData<SystemUser>> findAllList (@RequestBody PageWrap<SystemUser> pageWrap) {
+ return ApiResponse.success(systemUserService.findAllList(pageWrap));
+ }
+
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(systemUserService.findById(id));
+ }
+
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java
new file mode 100644
index 0000000..30d7dc0
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java
@@ -0,0 +1,30 @@
+package com.doumee.config.shiro;
+
+import com.alibaba.fastjson.JSON;
+import com.doumee.core.model.ApiResponse;
+import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
+import org.springframework.http.HttpStatus;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Shiro璁よ瘉杩囨护鍣紝澶勭悊鏈璇佹儏鍐电殑鍝嶅簲
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+public class ShiroAuthFilter extends FormAuthenticationFilter {
+
+ public ShiroAuthFilter() {
+ super();
+ }
+
+ @Override
+ protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
+ HttpServletResponse servletResponse = (HttpServletResponse) response;
+ servletResponse.setHeader("content-type", "application/json;charset=UTF-8");
+ servletResponse.getWriter().write(JSON.toJSONString(ApiResponse.failed(HttpStatus.UNAUTHORIZED.value(), "鏈櫥褰曟垨鐧诲綍淇℃伅宸茶繃鏈�")));
+ return Boolean.FALSE;
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroCache.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroCache.java
new file mode 100644
index 0000000..c71de30
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroCache.java
@@ -0,0 +1,159 @@
+package com.doumee.config.shiro;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.cache.Cache;
+import org.apache.shiro.cache.CacheException;
+import org.apache.shiro.subject.PrincipalCollection;
+import org.apache.shiro.util.CollectionUtils;
+import org.springframework.context.annotation.Scope;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.SerializationException;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Shiro缂撳瓨
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Scope(value = "prototype")
+@Slf4j
+@Component
+public class ShiroCache implements Cache<Object, Serializable> {
+
+ private String keyPrefix = "ProSelect";
+
+ @Resource(name="sessionRedisTemplate")
+ private RedisTemplate<Object, Serializable> redisTemplate;
+
+ public ShiroCache () {
+ log.debug("ShiroCache: new, keyPrefix = [" + keyPrefix + "]");
+ }
+
+ public ShiroCache(String keyPrefix) {
+ log.debug("ShiroCache: new, keyPrefix = [" + keyPrefix + "]");
+ this.keyPrefix = keyPrefix;
+ }
+
+ @Override
+ public Serializable get(Object key) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ return redisTemplate.opsForValue().get(getKey(key));
+ }
+
+ @Override
+ public Serializable put(Object key, Serializable value) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ redisTemplate.opsForValue().set(getKey(key), value);
+ return value;
+ }
+
+ public Serializable put(Object key, Serializable value, int timeout) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ redisTemplate.opsForValue().set(getKey(key), value, timeout, TimeUnit.SECONDS);
+ return value;
+ }
+
+ @Override
+ public void clear() throws CacheException {
+ Set<Object> keys = this.keys();
+ redisTemplate.delete(keys);
+ }
+
+ @Override
+ public int size() {
+ return this.keys().size();
+ }
+
+ @Override
+ public Set<Object> keys() {
+ Set<Object> keys = redisTemplate.keys(keyPrefix + "*");
+ if (CollectionUtils.isEmpty(keys)) {
+ return Collections.emptySet();
+ }
+ return keys;
+ }
+
+ @Override
+ public Collection<Serializable> values() {
+ Collection<Serializable> values = new ArrayList<>();
+ Set<Object> keys = this.keys();
+ if (CollectionUtils.isEmpty(keys)) {
+ return values;
+ }
+ for (Object k : keys) {
+ values.add(redisTemplate.opsForValue().get(k));
+ }
+ return values;
+ }
+
+ @Override
+ public Serializable remove(Object key) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ Serializable value = this.get(getKey(key));
+ redisTemplate.delete(getKey(key));
+ return value;
+ }
+
+ private Object getKey (Object key) {
+ if (key instanceof PrincipalCollection) {
+ return this.keyPrefix + getRedisKeyFromPrincipalIdField((PrincipalCollection)key);
+ }
+ return (key instanceof String ? (this.keyPrefix + key) : key);
+ }
+
+ /**
+ * 鑾峰彇redis cache key
+ */
+ private String getRedisKeyFromPrincipalIdField(PrincipalCollection key) {
+ Object principalObject = key.getPrimaryPrincipal();
+ if (principalObject instanceof String) {
+ return principalObject.toString();
+ } else {
+ Method pincipalIdGetter = this.getPrincipalIdGetter(principalObject);
+ return this.getIdObj(principalObject, pincipalIdGetter);
+ }
+ }
+
+ private Method getPrincipalIdGetter(Object principalObject) {
+ Method pincipalIdGetter;
+ String principalIdMethodName = this.getPrincipalIdMethodName();
+
+ try {
+ pincipalIdGetter = principalObject.getClass().getMethod(principalIdMethodName);
+ return pincipalIdGetter;
+ } catch (NoSuchMethodException e) {
+ throw new SerializationException(e.getMessage(), e);
+ }
+ }
+
+ private String getIdObj(Object principalObject, Method pincipalIdGetter) {
+ try {
+ Object idObj = pincipalIdGetter.invoke(principalObject);
+ String redisKey = idObj.toString();
+ return redisKey;
+ } catch (Exception e) {
+ throw new SerializationException(e.getMessage(), e);
+ }
+ }
+
+ private String getPrincipalIdMethodName() {
+ return "getId";
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java
new file mode 100644
index 0000000..4c11155
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java
@@ -0,0 +1,44 @@
+package com.doumee.config.shiro;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.cache.Cache;
+import org.apache.shiro.cache.CacheException;
+import org.apache.shiro.cache.CacheManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+/**
+ * 鑷畾涔塖hiro CacheManager
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Slf4j
+@Component
+public class ShiroCacheManager implements CacheManager {
+
+ private final ConcurrentMap<String, Cache> caches = new ConcurrentHashMap();
+
+ private static ApplicationContext applicationContext;
+
+ @Override
+ public <K, V> Cache<K, V> getCache(String name) throws CacheException {
+ log.debug("get cache, name=" + name);
+ Cache cache = this.caches.get(name);
+ if (cache == null) {
+ cache = applicationContext.getBean(ShiroCache.class, "shiro:cache:");
+ this.caches.put(name, cache);
+ }
+ return cache;
+ }
+
+ @Autowired
+ public void setApplicationContext (ApplicationContext applicationContext) {
+ if (ShiroCacheManager.applicationContext == null) {
+ ShiroCacheManager.applicationContext = applicationContext;
+ }
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java
new file mode 100644
index 0000000..6422760
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java
@@ -0,0 +1,142 @@
+package com.doumee.config.shiro;
+
+import org.apache.shiro.mgt.SecurityManager;
+import org.apache.shiro.session.mgt.SessionManager;
+import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
+import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
+import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import javax.servlet.Filter;
+import java.io.Serializable;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Shiro閰嶇疆
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Configuration
+public class ShiroConfig {
+
+ @Value("${cache.session.expire}")
+ private int sessionExpireTime;
+
+ @Autowired
+ private ShiroCredentialsMatcher shiroCredentialsMatcher;
+
+ @Autowired
+ private ShiroSessionDAO shiroSessionDAO;
+
+ @Autowired
+ private ShiroCacheManager shiroCacheManager;
+
+ @Autowired
+ private ShiroRealm shiroRealm;
+
+ @Bean("sessionRedisTemplate")
+ public RedisTemplate<Object, Serializable> sessionRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
+ RedisTemplate<Object, Serializable> redisTemplate = new RedisTemplate<>();
+ redisTemplate.setConnectionFactory(redisConnectionFactory);
+ // 榛樿搴忓垪鍖栨柟寮�
+ redisTemplate.setDefaultSerializer(new StringRedisSerializer());
+ // 鍊煎簭鍒楀寲鏂瑰紡
+ ShiroSessionSerializer serializer = new ShiroSessionSerializer();
+ redisTemplate.setValueSerializer(serializer);
+ redisTemplate.setHashValueSerializer(serializer);
+ redisTemplate.afterPropertiesSet();
+ return redisTemplate;
+ }
+
+ @Bean
+ public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
+ DefaultAdvisorAutoProxyCreator autoProxyCreator = new DefaultAdvisorAutoProxyCreator();
+ autoProxyCreator.setProxyTargetClass(true);
+ return autoProxyCreator;
+ }
+
+ @Bean
+ public SessionManager sessionManager() {
+ ShiroSessionManager sessionManager = new ShiroSessionManager();
+ sessionManager.setSessionDAO(shiroSessionDAO);
+ sessionManager.setGlobalSessionTimeout(sessionExpireTime*1000);
+ // 鍒犻櫎澶辨晥鐨剆ession
+ sessionManager.setDeleteInvalidSessions(true);
+ return sessionManager;
+ }
+
+ @Bean
+ public SecurityManager securityManager() {
+ DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
+ securityManager.setRealm(shiroRealm);
+ securityManager.setSessionManager(this.sessionManager());
+ securityManager.setCacheManager(shiroCacheManager);
+ return securityManager;
+ }
+
+ @Bean
+ public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
+ ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
+ shiroFilterFactoryBean.setSecurityManager(securityManager);
+ Map<String, String> map = new LinkedHashMap<>();
+ // 璺緞鎷︽埅閰嶇疆
+ // 璺緞鎷︽埅閰嶇疆
+ map.put("/system/dictData/companyUserRules","anon");
+ map.put("/system/login", "anon");
+ map.put("/system/logout", "anon");
+ map.put("/common/captcha", "anon");
+ map.put("/business/areas/*", "anon");
+ map.put("/business/company/register", "anon");
+ map.put("/business/labels/page","anon");
+ map.put("/public/uploadPicture","anon");
+ map.put("/public/uploadLocal","anon");
+ map.put("/business/*/list","anon");
+ map.put("/business/goods/goodsPage","anon");
+ map.put("/business/goods/h5Image","anon");
+ map.put("/business/goods/export","anon");
+ map.put("/business/goods/listForH5","anon");
+
+
+ // - 鏀捐swagger
+ map.put("/doc.html", "anon");
+ map.put("/webjars/**", "anon");
+ map.put("/swagger-resources/**", "anon");
+ map.put("/v2/api-docs/**", "anon");
+
+ // - 鍏朵粬鎺ュ彛缁熶竴鎷︽埅
+ map.put("/**", "authc");
+ shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
+ // 娣诲姞璁よ瘉杩囨护鍣�
+ Map<String, Filter> filters = new LinkedHashMap<>();
+ filters.put("authc", new ShiroAuthFilter());
+ shiroFilterFactoryBean.setFilters(filters);
+ return shiroFilterFactoryBean;
+ }
+
+ @Bean
+ public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
+ AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
+ authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
+ return authorizationAttributeSourceAdvisor;
+ }
+
+ @Bean
+ public ShiroSessionDAO getShiroSessionDAO () {
+ shiroSessionDAO.setExpireTime(sessionExpireTime);
+ return shiroSessionDAO;
+ }
+
+ @Bean
+ public ShiroRealm getShiroRealm () {
+ shiroRealm.setCredentialsMatcher(shiroCredentialsMatcher);
+ return shiroRealm;
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
new file mode 100644
index 0000000..890ade0
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
@@ -0,0 +1,45 @@
+package com.doumee.config.shiro;
+
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.system.SystemUserService;
+import org.apache.shiro.authc.AuthenticationInfo;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+/**
+ * Shiro瀵嗙爜姣斿澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Component
+public class ShiroCredentialsMatcher extends HashedCredentialsMatcher {
+ @Lazy
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Override
+ public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
+ ShiroToken usernamePasswordToken = (ShiroToken) token;
+ SystemUser queryUserDto = new SystemUser();
+ queryUserDto.setUsername(usernamePasswordToken.getUsername());
+ queryUserDto.setDeleted(Boolean.FALSE);
+ SystemUser systemUser = systemUserService.findOne(queryUserDto);
+ if (systemUser == null) {
+ return Boolean.FALSE;
+ }
+ if(usernamePasswordToken.getDdLogin()){
+ return Boolean.TRUE;
+ }
+ if(usernamePasswordToken.getWxLogin()){
+ return Boolean.TRUE;
+ }
+ // 鍔犲瘑瀵嗙爜
+ String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt());
+ // 姣旇緝瀵嗙爜
+ return this.equals(pwd, systemUser.getPassword());
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java
new file mode 100644
index 0000000..299fb97
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -0,0 +1,94 @@
+package com.doumee.config.shiro;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.system.model.SystemPermission;
+import com.doumee.dao.system.model.SystemRole;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.system.SystemDataPermissionService;
+import com.doumee.service.system.SystemPermissionService;
+import com.doumee.service.system.SystemRoleService;
+import com.doumee.service.system.SystemUserService;
+import org.apache.shiro.authc.AuthenticationException;
+import org.apache.shiro.authc.AuthenticationInfo;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authc.SimpleAuthenticationInfo;
+import org.apache.shiro.authz.AuthorizationInfo;
+import org.apache.shiro.authz.SimpleAuthorizationInfo;
+import org.apache.shiro.realm.AuthorizingRealm;
+import org.apache.shiro.subject.PrincipalCollection;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 鑷畾涔塕ealm锛屽鐞嗚璇佸拰鏉冮檺
+ * @author Eva.Caesar Liu
+ * @date 2022/03/15 09:54
+ */
+@Component
+public class ShiroRealm extends AuthorizingRealm {
+
+ @Lazy
+ @Autowired
+ private SystemDataPermissionService systemDataPermissionService;
+ @Lazy
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Lazy
+ @Autowired
+ private SystemRoleService systemRoleService;
+
+ @Lazy
+ @Autowired
+ private SystemPermissionService systemPermissionService;
+
+ /**
+ * 鏉冮檺澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2022/03/15 09:54
+ */
+ @Override
+ protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo)principalCollection.getPrimaryPrincipal();
+ // 璁剧疆鐢ㄦ埛瑙掕壊鍜屾潈闄�
+ SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
+ authorizationInfo.addRoles(loginUserInfo.getRoles());
+ authorizationInfo.addStringPermissions(loginUserInfo.getPermissions());
+ return authorizationInfo;
+ }
+
+ /**
+ * 璁よ瘉澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2022/03/15 09:54
+ */
+ @Override
+ protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
+ // 鑾峰彇鐢ㄦ埛鍚�
+ String username = authenticationToken.getPrincipal().toString();
+ // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
+ SystemUser queryDto = new SystemUser();
+ queryDto.setUsername(username);
+ queryDto.setDeleted(Boolean.FALSE);
+ SystemUser user = systemUserService.findOne(queryDto);
+ if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
+ }
+ if (user == null) {
+ return null;
+ }
+ // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+ List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
+ List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
+ LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
+ // 楠岃瘉鐢ㄦ埛
+ return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
+ }
+
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroRedisSessionDAO.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroRedisSessionDAO.java
new file mode 100644
index 0000000..aac166d
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroRedisSessionDAO.java
@@ -0,0 +1,139 @@
+package com.doumee.config.shiro;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.SerializationUtils;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.session.UnknownSessionException;
+import org.apache.shiro.session.mgt.SimpleSession;
+import org.apache.shiro.session.mgt.eis.SessionDAO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.concurrent.TimeUnit;
+
+//@Component
+@Slf4j
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class ShiroRedisSessionDAO implements SessionDAO {
+// Session瓒呮椂鏃堕棿锛屽崟浣嶄负姣
+private static final String KEY_PREFIX = "shiro:session:";
+ private long expireTime = 120000;
+ @Autowired
+ private ShiroTokenManager shiroTokenManager;
+ @Autowired
+ private RedisTemplate redisTemplate;// Redis鎿嶄綔绫伙紝瀵硅繖涓娇鐢ㄤ笉鐔熸倝鐨勶紝鍙互鍙傝�冨墠闈㈢殑鍗氬
+
+ public ShiroRedisSessionDAO() {
+
+ super();
+
+ }
+
+ public ShiroRedisSessionDAO(long expireTime, StringRedisTemplate redisTemplate) {
+
+ super();
+
+ this.expireTime = expireTime;
+
+ this.redisTemplate = redisTemplate;
+
+ }
+
+ @Override // 鏇存柊session
+
+ public void update(Session session) throws UnknownSessionException {
+
+ System.out.println("===============update================");
+
+ if (session == null || session.getId() == null) {
+ return;
+ }
+ session.setTimeout(expireTime);
+ byte[] bytes = SerializationUtils.serialize((Serializable) session);
+ redisTemplate.opsForValue().set(KEY_PREFIX+session.getId(), bytes, expireTime, TimeUnit.MILLISECONDS);
+ }
+
+ @Override // 鍒犻櫎session
+
+ public void delete(Session session) {
+
+ System.out.println("===============delete================");
+
+ if (null == session) {
+
+ return;
+
+ }
+
+ redisTemplate.opsForValue().getOperations().delete(KEY_PREFIX+session.getId());
+
+ }
+
+ @Override// 鑾峰彇娲昏穬鐨剆ession锛屽彲浠ョ敤鏉ョ粺璁″湪绾夸汉鏁帮紝濡傛灉瑕佸疄鐜拌繖涓姛鑳斤紝鍙互鍦ㄥ皢session鍔犲叆redis鏃舵寚瀹氫竴涓猻ession鍓嶇紑锛岀粺璁$殑鏃跺�欏垯浣跨敤keys("session-prefix*")鐨勬柟寮忔潵妯$硦鏌ユ壘redis涓墍鏈夌殑session闆嗗悎
+ public Collection getActiveSessions() {
+
+ System.out.println("==============getActiveSessions=================");
+
+ return redisTemplate.keys("*");
+
+ }
+
+ @Override
+ public Serializable create(Session session) {
+
+ System.out.println("===============doCreate================");
+
+ if (session == null) {
+ log.error("session is null");
+ throw new UnknownSessionException("session is null");
+ }
+ Serializable sessionId = shiroTokenManager.build();
+ ((SimpleSession)session).setId(sessionId);
+ byte[] bytes = SerializationUtils.serialize((Serializable) session);
+ redisTemplate.opsForValue().set(session.getId(), bytes, expireTime, TimeUnit.MILLISECONDS);
+ return sessionId;
+
+ }
+ public Session readSession(Serializable sessionId) throws UnknownSessionException{
+ if (sessionId == null) {
+ log.warn("session id is null");
+ return null;
+ }
+ if (sessionId instanceof String) {
+ // 瀵筍essionId杩涜楠岃瘉锛堝彲鐢ㄤ簬闃叉Session鎹曡幏銆佹毚鍔涙崟鎹夌瓑涓�绯诲垪瀹夊叏闂锛屾渶缁堝畨鍏ㄦ�у彇鍐充簬check濡備綍瀹炵幇锛�
+ shiroTokenManager.check((String) sessionId);
+ }
+ log.debug("read session from cache");
+
+ SimpleSession simpleSession = (SimpleSession) SerializationUtils.deserialize((byte[])redisTemplate.opsForValue().get(KEY_PREFIX+sessionId));
+ return simpleSession;
+
+ }
+
+ public long getExpireTime() {
+
+ return expireTime;
+
+ }
+
+ public void setExpireTime(long expireTime) {
+
+ this.expireTime = expireTime;
+
+ }
+
+ public RedisTemplate getRedisTemplate() {
+
+ return redisTemplate;
+
+ }
+
+ public void setRedisTemplate(RedisTemplate redisTemplate) {
+
+ this.redisTemplate = redisTemplate;
+
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java
new file mode 100644
index 0000000..1fe90bf
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java
@@ -0,0 +1,113 @@
+package com.doumee.config.shiro;
+
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.session.UnknownSessionException;
+import org.apache.shiro.session.mgt.SimpleSession;
+import org.apache.shiro.session.mgt.eis.SessionDAO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+/**
+ * 鑷畾涔塖hiro SessionDAO锛屽皢浼氳瘽淇℃伅瀛樺叆缂撳瓨涓�
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Data
+@Slf4j
+@Component
+public class ShiroSessionDAO implements SessionDAO {
+
+ private static final String KEY_PREFIX = "shiro:session:";
+
+ @Autowired
+ private ShiroCache shiroCache;
+
+ private int expireTime = 60 * 60 * 24;
+
+ @Autowired
+ private ShiroTokenManager shiroTokenManager;
+
+ @Override
+ public Serializable create(Session session) {
+ if (session == null) {
+ log.error("session is null");
+ throw new UnknownSessionException("session is null");
+ }
+ Serializable sessionId = shiroTokenManager.build();
+ ((SimpleSession)session).setId(sessionId);
+ this.saveSession(session);
+ return sessionId;
+ }
+
+ @Override
+ public Session readSession(Serializable sessionId) throws UnknownSessionException{
+ if (sessionId == null) {
+ log.warn("session id is null");
+ return null;
+ }
+ if (sessionId instanceof String) {
+ // 瀵筍essionId杩涜楠岃瘉锛堝彲鐢ㄤ簬闃叉Session鎹曡幏銆佹毚鍔涙崟鎹夌瓑涓�绯诲垪瀹夊叏闂锛屾渶缁堝畨鍏ㄦ�у彇鍐充簬check濡備綍瀹炵幇锛�
+ shiroTokenManager.check((String) sessionId);
+ }
+ log.debug("read session from cache");
+ Session session = getSessionFromCache(sessionId);
+ if (session == null) {
+ throw new UnknownSessionException("There is no session with id [" + sessionId + "]");
+ }
+ return session;
+ }
+
+ @Override
+ public void update(Session session) throws UnknownSessionException {
+ this.saveSession(session);
+ }
+
+ @Override
+ public void delete(Session session) {
+ if (session != null && session.getId() != null) {
+ shiroCache.remove(KEY_PREFIX + session.getId());
+ }
+ }
+
+ @Override
+ public Collection<Session> getActiveSessions() {
+ Set<Session> sessions = new HashSet<>();
+ Set<Object> keys = shiroCache.keys();
+ if (keys != null && keys.size() > 0) {
+ Iterator iter = keys.iterator();
+ while(iter.hasNext()) {
+ sessions.add((Session) shiroCache.get(iter.next()));
+ }
+ }
+ return sessions;
+ }
+
+ private void saveSession(Session session) throws UnknownSessionException {
+ if (session == null || session.getId() == null) {
+ log.error("session or session id is null");
+ throw new UnknownSessionException("session or session id is null");
+ }
+ shiroCache.put(KEY_PREFIX + session.getId(), (SimpleSession)session, expireTime);
+ }
+
+ private Session getSessionFromCache (Serializable sessionId) {
+ Serializable object = shiroCache.get(KEY_PREFIX + sessionId);
+ Session session = null;
+ if (object != null) {
+ session = (Session)shiroCache.get(KEY_PREFIX + sessionId);
+ }
+ return session;
+ }
+
+ public void setExpireTime (int expireTime) {
+ this.expireTime = expireTime;
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java
new file mode 100644
index 0000000..32b0379
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java
@@ -0,0 +1,85 @@
+package com.doumee.config.shiro;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.session.mgt.DefaultSessionManager;
+import org.apache.shiro.session.mgt.SessionContext;
+import org.apache.shiro.session.mgt.SessionKey;
+import org.apache.shiro.web.servlet.Cookie;
+import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
+import org.apache.shiro.web.servlet.SimpleCookie;
+import org.apache.shiro.web.session.mgt.WebSessionManager;
+import org.apache.shiro.web.util.WebUtils;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.Serializable;
+
+/**
+ * 鑷畾涔変細璇濈鐞嗗櫒
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Slf4j
+public class ShiroSessionManager extends DefaultSessionManager implements WebSessionManager {
+
+ private static final String AUTH_TOKEN = "eva-auth-token";
+
+ @Override
+ protected void onStart(Session session, SessionContext context) {
+ super.onStart(session, context);
+ if (!WebUtils.isHttp(context)) {
+ log.debug("SessionContext argument is not Http compatible or does not have an Http request/response pair. No session ID cookie will be set.");
+ return;
+ }
+ HttpServletRequest request = WebUtils.getHttpRequest(context);
+ HttpServletResponse response = WebUtils.getHttpResponse(context);
+ Serializable sessionId = session.getId();
+ this.storeSessionId(sessionId, request, response);
+ request.removeAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE);
+ request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_IS_NEW, Boolean.TRUE);
+ }
+
+ @Override
+ public Serializable getSessionId(SessionKey key) {
+ Serializable sessionId = super.getSessionId(key);
+ if (sessionId == null && WebUtils.isWeb(key)) {
+ ServletRequest servletRequest = WebUtils.getRequest(key);
+ if (!(servletRequest instanceof HttpServletRequest)) {
+ log.trace("Can not get sessionId from header, the request is not HttpServletRequest");
+ return null;
+ }
+ HttpServletRequest request = (HttpServletRequest) servletRequest;
+ // 浠巆ookie涓幏鍙栬璇�
+ javax.servlet.http.Cookie[] cookies = request.getCookies();
+ if (cookies != null) {
+ for (javax.servlet.http.Cookie cookie : cookies) {
+ if (AUTH_TOKEN.equals(cookie.getName())) {
+ return cookie.getValue();
+ }
+ }
+ }
+ // 浠巋eader涓幏鍙栬璇�
+ return request.getHeader(AUTH_TOKEN);
+ }
+ return sessionId;
+ }
+ @Override
+ public boolean isServletContainerSessions() {
+ return false;
+ }
+
+ private void storeSessionId(Serializable currentId, HttpServletRequest request, HttpServletResponse response) {
+ if (currentId == null) {
+ String msg = "sessionId cannot be null when persisting for subsequent requests.";
+ throw new IllegalArgumentException(msg);
+ }
+ Cookie cookie = new SimpleCookie(AUTH_TOKEN);
+ cookie.setHttpOnly(false);
+ String idString = currentId.toString();
+ cookie.setValue(idString);
+ cookie.saveTo(request, response);
+ log.trace("Set session ID cookie for session with id {}", idString);
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionSerializer.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionSerializer.java
new file mode 100644
index 0000000..d334adf
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroSessionSerializer.java
@@ -0,0 +1,36 @@
+package com.doumee.config.shiro;
+
+import org.apache.commons.lang3.SerializationUtils;
+import org.apache.shiro.codec.Base64;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.SerializationException;
+
+import java.io.Serializable;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * Session搴忓垪鍖�
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+public class ShiroSessionSerializer implements RedisSerializer<Serializable> {
+
+ @Override
+ public byte[] serialize(Serializable obj) throws SerializationException {
+ if (obj == null) {
+ return new byte[0];
+ }
+ String sessionBase64 = Base64.encodeToString(SerializationUtils.serialize(obj));
+ return sessionBase64.getBytes(StandardCharsets.UTF_8);
+ }
+
+ @Override
+ public Serializable deserialize(byte[] bytes) throws SerializationException {
+ if (bytes == null || bytes.length == 0) {
+ return null;
+ }
+ String sessionString = new String(bytes, StandardCharsets.UTF_8);
+ byte[] sessionBytes = Base64.decode(sessionString);
+ return SerializationUtils.deserialize(sessionBytes);
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroToken.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroToken.java
new file mode 100644
index 0000000..74c09df
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroToken.java
@@ -0,0 +1,54 @@
+package com.doumee.config.shiro;
+
+import org.apache.shiro.authc.UsernamePasswordToken;
+import org.springframework.stereotype.Component;
+
+/**
+ * 鑷畾涔塗oken 锛屽鐞嗚璇佸拰鏉冮檺
+ * @author Eva.Caesar Liu
+ * @date 2022/04/18 18:12
+ */
+@Component
+public class ShiroToken extends UsernamePasswordToken {
+
+ /**
+ * 鍏徃ID
+ */
+ Integer companyId;
+ Boolean isDdLogin;
+ Boolean isWxLogin;
+
+ public ShiroToken() {
+ }
+ public ShiroToken(Integer companyId, String username, String password, boolean isDdLogin, boolean isWxLogin) {
+ super(username, password, false, (String)null);
+ this.companyId = companyId;
+ this.isDdLogin = isDdLogin;
+ this.isWxLogin = isWxLogin;
+ }
+
+ public Boolean getDdLogin() {
+ return isDdLogin;
+ }
+
+ public void setDdLogin(Boolean ddLogin) {
+ isDdLogin = ddLogin;
+ }
+
+
+ public Boolean getWxLogin() {
+ return isWxLogin;
+ }
+
+ public void setWxLogin(Boolean wxLogin) {
+ isWxLogin = wxLogin;
+ }
+
+ public Integer getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Integer companyId) {
+ this.companyId = companyId;
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java
new file mode 100644
index 0000000..ba35da6
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java
@@ -0,0 +1,25 @@
+package com.doumee.config.shiro;
+
+import com.doumee.core.exception.UnSafeSessionException;
+import org.springframework.stereotype.Component;
+
+import java.util.UUID;
+
+/**
+ * 榛樿Token绠$悊鍣�
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Component
+public class ShiroTokenManager {
+
+ String build() {
+ return UUID.randomUUID().toString();
+ }
+
+ void check(String token) throws UnSafeSessionException {
+ if (token == null || token.length() != 36) {
+ throw new UnSafeSessionException();
+ }
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/swagger/SwaggerConfig.java b/server/company/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
new file mode 100644
index 0000000..9817cda
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
@@ -0,0 +1,99 @@
+package com.doumee.config.swagger;
+
+import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.RequestHandler;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.oas.annotations.EnableOpenApi;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+
+import java.util.function.Predicate;
+
+/**
+ * Swagger閰嶇疆
+ * @author Eva.Caesar Liu
+ * @date 2022/03/11 10:24
+ */
+@Configuration
+@EnableOpenApi
+@EnableKnife4j
+public class SwaggerConfig {
+
+ @Value("${swagger.host:}")
+ private String host;
+
+ @Value("${swagger.title:鎺ュ彛鏂囨。}")
+ private String title;
+
+ @Value("${swagger.description:}")
+ private String description;
+
+ @Value("${project.version:}")
+ private String version;
+
+ @Bean
+ public ApiInfo getApiInfo() {
+ return new ApiInfoBuilder()
+ .title(title)
+ .description(description)
+ .version(version)
+ .build();
+ }
+ @Bean
+ public Docket getDocket() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(this.getApiInfo()).groupName("銆愮郴缁熺鐞嗘帴鍙PI銆�")
+ .host(host)
+ .select()
+ .apis( basePackage("com.doumee.api.system;com.doumee.api.business;"))
+ // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
+// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
+ .paths(PathSelectors.any())
+ .build();
+ }
+ @Bean
+ public Docket getDocket1() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(this.getApiInfo()).groupName("銆愬叕鍏辨帴鍙PI銆�")
+ .host(host)
+ .select()
+ .apis( basePackage("com.doumee.api.common"))
+ // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
+// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
+ .paths(PathSelectors.any())
+ .build();
+ }
+ /**
+ * 閲嶅啓basePackage鏂规硶锛屼娇鑳藉瀹炵幇澶氬寘璁块棶锛屽鍒惰创涓婂幓
+ * @author teavamc
+ * @date 2019/1/26
+ * @return com.google.common.base.Predicate<springfox.documentation.RequestHandler>
+ */
+ public static Predicate<RequestHandler> basePackage(String basePackage) {
+ return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true);
+ }
+
+ private static Function<Class<?>, Boolean> handlerPackage(String basePackage) {
+ return input -> {
+ // 寰幆鍒ゆ柇鍖归厤
+ for (String strPackage : basePackage.split(";")) {
+ boolean isMatch = input.getPackage().getName().startsWith(strPackage);
+ if (isMatch) {
+ return true;
+ }
+ }
+ return false;
+ };
+ }
+
+ private static Optional<? extends Class<?>> declaringClass(RequestHandler input) {
+ return Optional.fromNullable(input.declaringClass());
+ }
+}
diff --git a/server/company/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java b/server/company/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java
new file mode 100644
index 0000000..8fd55c6
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java
@@ -0,0 +1,45 @@
+package com.doumee.config.swagger;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * Swagger鎷︽埅鍣�
+ * @author Eva.Caesar Liu
+ * @date 2022/04/18 18:12
+ */
+@Slf4j
+@Component
+public class SwaggerInterceptor implements HandlerInterceptor {
+
+ @Value("${swagger.enabled:false}")
+ private Boolean enabledSwagger;
+
+ @Value("${swagger.redirect-uri:/}")
+ private String redirectUri;
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+ if (!enabledSwagger) {
+ String uri = request.getContextPath();
+ if (StringUtils.isNotBlank(redirectUri))
+ uri = request.getContextPath() + redirectUri;
+ if (StringUtils.isBlank(uri))
+ uri = "/";
+ try {
+ response.sendRedirect(uri);
+ } catch (IOException e) {
+ log.error(String.format("Redirect to '%s' for swagger throw an exception : %s", uri, e.getMessage()), e);
+ }
+ return Boolean.FALSE;
+ }
+ return Boolean.TRUE;
+ }
+}
diff --git a/server/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java b/server/company/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java
similarity index 100%
rename from server/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java
rename to server/company/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java
diff --git a/server/company/src/main/resources/application.yml b/server/company/src/main/resources/application.yml
new file mode 100644
index 0000000..ee9d370
--- /dev/null
+++ b/server/company/src/main/resources/application.yml
@@ -0,0 +1,66 @@
+# 椤圭洰淇℃伅閰嶇疆
+project:
+ name: 棰勯�夋竻鍗曟煡璇�
+ version: 1.0.0
+ env: development
+# env: production
+server:
+ port: 10012
+
+spring:
+# application:
+# name: doumeemes
+ profiles:
+ active: dev
+
+ # JSON杩斿洖閰嶇疆
+ jackson:
+ # 榛樿鏃跺尯
+ time-zone: GMT+8
+ # 榛樿鏃ユ湡鏍煎紡鍖�
+ date-format: yyyy-MM-dd HH:mm:ss
+ servlet:
+ multipart:
+ max-file-size: 200MB
+ max-request-size: 200MB
+ enabled: true
+# MyBatis閰嶇疆
+mybatis-plus:
+ mapper-locations: classpath*:/mappers/**/*.xml
+ configuration:
+ map-underscore-to-camel-case: true
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+
+# 缂撳瓨鍐呭璁剧疆
+cache:
+ session:
+ # 浼氳瘽杩囨湡鏃堕暱(s)
+ expire: 18000
+ captcha:
+ # 楠岃瘉鐮佽繃鏈熸椂闀�(s)
+ expire: 300
+
+# 璺熻釜鏃ュ織
+trace:
+ # 寮�鍚櫤鑳借窡韪ā寮�
+ smart: true
+ # 鎺掗櫎璺熻釜鐨刄RL姝e垯
+ exclude-patterns: .+/list[a-zA-Z0-9\-\_]*$, .+/tree[a-zA-Z0-9\-\_]*$, .+/page[a-zA-Z0-9\-\_]*$, .+/all[a-zA-Z0-9\-\_]*$, /swagger-resources.*
+
+
+# 鏃ュ織閰嶇疆
+logback:
+ level: INFO
+ appender: ${project.env}
+# dao灞傜殑鏃ュ織璁剧疆涓篸ebug锛屾柟渚挎煡鐪媠ql
+logging:
+ level:
+ doumeemes.dao: debug
+
+knife4j:
+ enable: true
+ basic:
+ enable: true
+ username: admin
+ password: 111111
\ No newline at end of file
diff --git a/server/platform/pom.xml b/server/platform/pom.xml
new file mode 100644
index 0000000..c283208
--- /dev/null
+++ b/server/platform/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.doumee</groupId>
+ <artifactId>preselect</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>platform</artifactId>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>com.doumee</groupId>
+ <artifactId>service</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/server/platform/src/main/java/com/doumee/Main.java b/server/platform/src/main/java/com/doumee/Main.java
new file mode 100644
index 0000000..ada0d0d
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/Main.java
@@ -0,0 +1,7 @@
+package com.doumee;
+
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
\ No newline at end of file
diff --git a/server/platform/src/main/java/com/doumee/PlatformApplication.java b/server/platform/src/main/java/com/doumee/PlatformApplication.java
new file mode 100644
index 0000000..e49767a
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/PlatformApplication.java
@@ -0,0 +1,23 @@
+package com.doumee;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ApplicationContext;
+
+/**
+ * 鍚姩绫�
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Slf4j
+@SpringBootApplication
+@MapperScan("com.doumee.dao")
+public class PlatformApplication {
+
+ public static void main(String[] args) {
+ ApplicationContext context = SpringApplication.run(PlatformApplication.class);
+ context.getEnvironment();
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/api/BaseController.java b/server/platform/src/main/java/com/doumee/api/BaseController.java
new file mode 100644
index 0000000..0231966
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/BaseController.java
@@ -0,0 +1,25 @@
+package com.doumee.api;
+
+import com.doumee.core.model.LoginUserInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import com.doumee.core.model.ApiResponse;
+
+/**
+ * Controller鍩虹被
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Slf4j
+public class BaseController {
+
+ /**
+ * 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+ protected LoginUserInfo getLoginUser () {
+ return (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
+ }
+
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/BrandController.java b/server/platform/src/main/java/com/doumee/api/business/BrandController.java
new file mode 100644
index 0000000..c10e7ad
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/BrandController.java
@@ -0,0 +1,98 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Brand;
+import com.doumee.service.business.BrandService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍝佺墝淇℃伅琛�")
+@RestController
+@RequestMapping("/business/brand")
+public class BrandController extends BaseController {
+
+ @Autowired
+ private BrandService brandService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:brand:create")
+ public ApiResponse create(@RequestBody Brand brand) {
+ return ApiResponse.success(brandService.create(brand));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:brand:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ brandService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:brand:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ brandService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:brand:update")
+ public ApiResponse updateById(@RequestBody Brand brand) {
+ brandService.updateById(brand);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:brand:query")
+ public ApiResponse<PageData<Brand>> findPage (@RequestBody PageWrap<Brand> pageWrap) {
+ return ApiResponse.success(brandService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:brand:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Brand> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Brand.class).export(brandService.findPage(pageWrap).getRecords(), "鍝佺墝淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:brand:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(brandService.findById(id));
+ }
+
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/list")
+ public ApiResponse<List<Brand>> findList (@RequestBody Brand brand) {
+ return ApiResponse.success(brandService.findList(brand));
+ }
+
+
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/CateAttrController.java b/server/platform/src/main/java/com/doumee/api/business/CateAttrController.java
new file mode 100644
index 0000000..41b7594
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/CateAttrController.java
@@ -0,0 +1,100 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CateAttr;
+import com.doumee.service.business.CateAttrService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍝佺被灞炴�ц鏍煎�间俊鎭〃")
+@RestController
+@RequestMapping("/business/cateAttr")
+public class CateAttrController extends BaseController {
+
+ @Autowired
+ private CateAttrService cateAttrService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:cateattr:create")
+ public ApiResponse create(@RequestBody CateAttr cateAttr) {
+ return ApiResponse.success(cateAttrService.create(cateAttr));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:cateattr:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ cateAttrService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:cateattr:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ cateAttrService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:cateattr:update")
+ public ApiResponse updateById(@RequestBody CateAttr cateAttr) {
+ cateAttrService.updateById(cateAttr);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:cateattr:query")
+ public ApiResponse<PageData<CateAttr>> findPage (@RequestBody PageWrap<CateAttr> pageWrap) {
+ return ApiResponse.success(cateAttrService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:cateattr:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<CateAttr> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(CateAttr.class).export(cateAttrService.findPage(pageWrap).getRecords(), "鍝佺被灞炴�ц鏍煎�间俊鎭〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:cateattr:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(cateAttrService.findById(id));
+ }
+
+
+
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/list")
+ public ApiResponse<List<CateAttr>> findList (@RequestBody CateAttr cateAttr) {
+ return ApiResponse.success(cateAttrService.findList(cateAttr));
+ }
+
+
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/CateBudgetController.java b/server/platform/src/main/java/com/doumee/api/business/CateBudgetController.java
new file mode 100644
index 0000000..d70e772
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/CateBudgetController.java
@@ -0,0 +1,65 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CateBudget;
+import com.doumee.service.business.CateBudgetService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author 姹熻箘韫�
+ * @since 2023/05/15 17:09
+ */
+@Api(tags = "鍝佺被浠锋牸鍖洪棿琛�")
+@RestController
+@RequestMapping("/business/cateBudget")
+public class CateBudgetController extends BaseController {
+
+ @Autowired
+ private CateBudgetService cateBudgetService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:catebudget:create")
+ public ApiResponse create(@RequestBody CateBudget cateBudget) {
+ return ApiResponse.success(cateBudgetService.create(cateBudget));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:catebudget:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ cateBudgetService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:catebudget:update")
+ public ApiResponse updateById(@RequestBody CateBudget cateBudget) {
+ cateBudgetService.updateById(cateBudget);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:catebudget:query")
+ public ApiResponse<PageData<CateBudget>> findPage (@RequestBody PageWrap<CateBudget> pageWrap) {
+ return ApiResponse.success(cateBudgetService.findPage(pageWrap));
+ }
+
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:catebudget:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(cateBudgetService.findById(id));
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/CateParamController.java b/server/platform/src/main/java/com/doumee/api/business/CateParamController.java
new file mode 100644
index 0000000..5b23d31
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/CateParamController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CateParam;
+import com.doumee.service.business.CateParamService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍝佺被鍙傛暟淇℃伅琛�")
+@RestController
+@RequestMapping("/business/cateParam")
+public class CateParamController extends BaseController {
+
+ @Autowired
+ private CateParamService cateParamService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:cateparam:create")
+ public ApiResponse create(@RequestBody CateParam cateParam) {
+ return ApiResponse.success(cateParamService.create(cateParam));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:cateparam:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ cateParamService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:cateparam:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ cateParamService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:cateparam:update")
+ public ApiResponse updateById(@RequestBody CateParam cateParam) {
+ cateParamService.updateById(cateParam);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:cateparam:query")
+ public ApiResponse<PageData<CateParam>> findPage (@RequestBody PageWrap<CateParam> pageWrap) {
+ return ApiResponse.success(cateParamService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:cateparam:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<CateParam> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(CateParam.class).export(cateParamService.findPage(pageWrap).getRecords(), "鍝佺被鍙傛暟淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:cateparam:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(cateParamService.findById(id));
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/CategoryController.java b/server/platform/src/main/java/com/doumee/api/business/CategoryController.java
new file mode 100644
index 0000000..2bd2e82
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/CategoryController.java
@@ -0,0 +1,112 @@
+package com.doumee.api.business;
+
+import com.doumee.core.model.ApiResponse;
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Category;
+import com.doumee.service.business.CategoryService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍝佺被淇℃伅琛�")
+@RestController
+@RequestMapping("/business/category")
+public class CategoryController extends BaseController {
+
+ @Autowired
+ private CategoryService categoryService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:category:create")
+ public ApiResponse create(@RequestBody Category category) {
+ return ApiResponse.success(categoryService.create(category));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:category:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ categoryService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:category:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ categoryService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:category:update")
+ public ApiResponse updateById(@RequestBody Category category) {
+ categoryService.updateById(category);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:category:query")
+ public ApiResponse<PageData<Category>> findPage (@RequestBody PageWrap<Category> pageWrap) {
+ return ApiResponse.success(categoryService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:category:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Category> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Category.class).export(categoryService.findPage(pageWrap).getRecords(), "鍝佺被淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:category:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(categoryService.findById(id));
+ }
+
+ @ApiOperation("淇敼鐘舵��")
+ @PostMapping("/updateDisableById")
+ @RequiresPermissions("business:category:update")
+ public ApiResponse updateDisableById(@RequestBody Category category) {
+ categoryService.updateDisableById(category);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒楄〃 - H5")
+ @PostMapping("/list")
+ public ApiResponse<List<Category>> findList (@RequestBody Category category) {
+ return ApiResponse.success(categoryService.findList(category));
+ }
+
+ @ApiOperation("鍒楄〃 - 鍟嗗搧閫夋嫨")
+ @GetMapping("/findListForGoodsId")
+ public ApiResponse<List<Category>> findListForGoodsId (Integer goodsId) {
+ return ApiResponse.success(categoryService.findListForGoods(goodsId));
+ }
+
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/GoodsController.java b/server/platform/src/main/java/com/doumee/api/business/GoodsController.java
new file mode 100644
index 0000000..2720321
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/GoodsController.java
@@ -0,0 +1,144 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Goods;
+import com.doumee.dao.business.model.dto.GoodsRequest;
+import com.doumee.service.business.GoodsService;
+import io.swagger.annotations.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import com.doumee.core.model.ApiResponse;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍟嗗搧淇℃伅琛�")
+@RestController
+@RequestMapping("/business/goods")
+public class GoodsController extends BaseController {
+
+ @Autowired
+ private GoodsService goodsService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:goods:create")
+ public ApiResponse create(@RequestBody Goods goods) {
+ return ApiResponse.success(goodsService.create(goods));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:goods:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ goodsService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:goods:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ goodsService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:goods:update")
+ public ApiResponse updateById(@RequestBody Goods goods) {
+ goodsService.updateById(goods);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:goods:query")
+ public ApiResponse<PageData<Goods>> findPage (@RequestBody PageWrap<Goods> pageWrap) {
+ return ApiResponse.success(goodsService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:goods:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Goods> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Goods.class).export(goodsService.findPage(pageWrap).getRecords(), "鍟嗗搧淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:goods:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(goodsService.findById(id));
+ }
+
+ @ApiOperation("瀵煎叆妯℃澘")
+ @PostMapping("/importExcel")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
+ })
+// @RequiresPermissions("business:goods:create")
+ public ApiResponse<Integer> importExcel (@ApiParam(value = "file") MultipartFile file) {
+ return ApiResponse.success(goodsService.importBatch(file));
+ }
+
+
+ @ApiOperation("淇敼鐘舵��")
+ @PostMapping("/updateDisableById")
+ @RequiresPermissions("business:category:update")
+ public ApiResponse updateDisableById(@RequestBody Goods goods) {
+ goodsService.updateDisableById(goods);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("鍒楄〃 - H5")
+ @PostMapping("/list")
+ public ApiResponse<List<Goods>> findList (@RequestBody Goods goods) {
+ return com.doumee.core.model.ApiResponse.success(goodsService.findList(goods));
+ }
+
+
+ @ApiOperation("鍟嗗搧鍒嗛〉鍒楄〃 - H5")
+ @PostMapping("/goodsPage")
+ public ApiResponse<PageData<Goods>> goodsPage(@RequestBody PageWrap<GoodsRequest> pageWrap) {
+ return ApiResponse.success(goodsService.getGoodsPage(pageWrap));
+ }
+
+ @ApiOperation("鍒楄〃鏌ヨ - H5")
+ @PostMapping("/listForH5")
+ public ApiResponse<List<Goods>> listForH5 (@RequestBody GoodsRequest goodsRequest) {
+ return ApiResponse.success(goodsService.findListForH5(goodsRequest));
+ }
+
+ @ApiOperation("鑾峰彇H5棣栭〉鍥�")
+ @PostMapping("/h5Image")
+ public ApiResponse<String> h5Image () {
+ return ApiResponse.success(goodsService.h5Image());
+ }
+
+ @ApiOperation("瀵煎嚭瀵煎叆妯℃澘")
+ @PostMapping("/export")
+ public void export (HttpServletRequest request, HttpServletResponse response) throws Exception {
+ goodsService.export(request,response);
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/GoodsParamController.java b/server/platform/src/main/java/com/doumee/api/business/GoodsParamController.java
new file mode 100644
index 0000000..70242f8
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/GoodsParamController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.GoodsParam;
+import com.doumee.service.business.GoodsParamService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "鍟嗗搧鍙傛暟閰嶇疆琛�")
+@RestController
+@RequestMapping("/business/goodsParam")
+public class GoodsParamController extends BaseController {
+
+ @Autowired
+ private GoodsParamService goodsParamService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:goodsparam:create")
+ public ApiResponse create(@RequestBody GoodsParam goodsParam) {
+ return ApiResponse.success(goodsParamService.create(goodsParam));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:goodsparam:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ goodsParamService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:goodsparam:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ goodsParamService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:goodsparam:update")
+ public ApiResponse updateById(@RequestBody GoodsParam goodsParam) {
+ goodsParamService.updateById(goodsParam);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:goodsparam:query")
+ public ApiResponse<PageData<GoodsParam>> findPage (@RequestBody PageWrap<GoodsParam> pageWrap) {
+ return ApiResponse.success(goodsParamService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:goodsparam:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<GoodsParam> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(GoodsParam.class).export(goodsParamService.findPage(pageWrap).getRecords(), "鍟嗗搧鍙傛暟閰嶇疆琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:goodsparam:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(goodsParamService.findById(id));
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/MultifileController.java b/server/platform/src/main/java/com/doumee/api/business/MultifileController.java
new file mode 100644
index 0000000..0fcfd2a
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/MultifileController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Multifile;
+import com.doumee.service.business.MultifileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Api(tags = "闄勪欢淇℃伅琛�")
+@RestController
+@RequestMapping("/business/multifile")
+public class MultifileController extends BaseController {
+
+ @Autowired
+ private MultifileService multifileService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:multifile:create")
+ public ApiResponse create(@RequestBody Multifile multifile) {
+ return ApiResponse.success(multifileService.create(multifile));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:multifile:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ multifileService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:multifile:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ multifileService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:multifile:update")
+ public ApiResponse updateById(@RequestBody Multifile multifile) {
+ multifileService.updateById(multifile);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:multifile:query")
+ public ApiResponse<PageData<Multifile>> findPage (@RequestBody PageWrap<Multifile> pageWrap) {
+ return ApiResponse.success(multifileService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:multifile:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Multifile> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Multifile.class).export(multifileService.findPage(pageWrap).getRecords(), "闄勪欢淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:multifile:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(multifileService.findById(id));
+ }
+}
diff --git a/server/src/main/java/com/doumee/api/common/CaptchaController.java b/server/platform/src/main/java/com/doumee/api/common/CaptchaController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/common/CaptchaController.java
copy to server/platform/src/main/java/com/doumee/api/common/CaptchaController.java
diff --git a/server/platform/src/main/java/com/doumee/api/common/PublicController.java b/server/platform/src/main/java/com/doumee/api/common/PublicController.java
new file mode 100644
index 0000000..ab7e6b6
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/common/PublicController.java
@@ -0,0 +1,327 @@
+package com.doumee.api.common;
+
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+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 org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Api(tags = "鍏叡鎺ュ彛")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/public")
+@Slf4j
+public class PublicController extends BaseController {
+
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+
+ @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/upload", headers = "content-type=multipart/form-data")
+ public void uploadMobile(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ upload(multipartRequest, response, folder + "/",
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
+ }
+
+
+ @ApiOperation(value = "涓婁紶鍥剧墖", notes = "涓婁紶鍥剧墖", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/uploadPicture", headers = "content-type=multipart/form-data")
+ public void uploadPicture(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> fileNames = multipartRequest.getFileNames();
+ Map<String, Object> context = new HashMap<>();
+ while (fileNames.hasNext()){
+ MultipartFile file = multipartRequest.getFile(fileNames.next());
+ String fileName = file.getOriginalFilename();
+ String suffix = fileName.substring(fileName.lastIndexOf("."));
+ if ( !StringUtils.equalsIgnoreCase(suffix, ".jpg") || !StringUtils.equalsIgnoreCase(suffix, ".png")) {
+ context.put("code", 0);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡涓婁紶鏈夎锛�");
+ }
+ }
+ upload(multipartRequest, response, folder + "/",
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
+ }
+
+ public void upload(HttpServletRequest request, HttpServletResponse response, String folder, String bucketName,
+ String access_id, String access_key, String resourcePath, String endpoint) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ Map<String, Object> context = new HashMap<>();
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile((String) it.next());// file
+ // multipartRequest.getFile((String)
+ // it.next());
+ if (file != null) {
+ // 1銆佷笂浼犲埌鏈嶅姟鍣ㄤ复鏃舵枃浠跺す
+ String uploadFileName = file.getOriginalFilename();
+ String originname = uploadFileName;
+ if (originname.lastIndexOf("/") >= 0) {
+ originname = originname.substring(originname.lastIndexOf("/") + 1);
+ }
+ String nfix = "";// 鍚庣紑鍚�
+ if (StringUtils.isNotBlank(uploadFileName)) {
+ nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
+ return;
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
+ return;
+ }
+ String nowDate = DateUtil.getNowShortDate();// 褰撳墠鏃堕棿锛堝勾鏈堟棩锛�
+ String fileName = UUID.randomUUID().toString() + nfix;
+ String tempFileName = nowDate + "/" + fileName;
+ String key = folder + tempFileName;// 鏂囦欢鍚�
+ ALiYunUtil obs = new ALiYunUtil(endpoint,access_id, access_key);
+ if (obs.uploadOnlineObject(file.getInputStream(),bucketName, key,null)) {
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+ // sendSuccessMessage(response, resourcePath+key);
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("url", resourcePath + key);
+ fileJSON.put("imgaddr", tempFileName);
+ fileJSON.put("imgname", fileName);
+ fileJSON.put("originname", originname);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+ writerJson(response, context);
+ return;
+ } else {
+ // 绉诲姩澶辫触
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+ }
+
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ context.put("errno",0);
+ writerJson(response, context);
+ return;
+ }
+
+ public static void writerJson(HttpServletResponse response, Object object) {
+ response.setContentType("application/json");
+ writer(response, JSONObject.toJSONString(object));
+ }
+
+ private static void writer(HttpServletResponse response, String str) {
+ try {
+ StringBuffer result = new StringBuffer();
+ //璁剧疆椤甸潰涓嶇紦瀛�
+ response.setHeader("Pragma", "No-cache");
+ response.setHeader("Cache-Control", "no-cache");
+ response.setCharacterEncoding("UTF-8");
+ PrintWriter out = null;
+ out = response.getWriter();
+ out.print(str);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+
+ @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data")
+ public void uploadLocal(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+
+ // CommonsMultipartFile files = (CommonsMultipartFile) multipartRequest.getFile("filedata");
+ uploadFileLocal(multipartRequest, folder+ "/", response,
+ systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.GOODS_IMG_DIR).getCode() ,
+ systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode());
+
+ }
+
+ public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ Map<String, Object> context = new HashMap<>();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile((String) it.next());// file
+ // =
+ // (CommonsMultipartFile)
+ // multipartRequest.getFile((String)
+ // it.next());
+ if (file != null) {
+ if (file.getSize() > 200 * 1024 * 1024L) {
+ context.put("code", 4000);
+ context.put("message", "涓婁紶鏂囦欢杩囧ぇ");
+ return;
+ }
+ System.out.println(file.getOriginalFilename());
+ if (file.getOriginalFilename() == null) {
+ context.put("code", 4000);
+ context.put("message", "鏂囦欢鍚嶄笉鍙负绌�");
+ return;
+ }
+ /*
+ * if(file.getOriginalFilename().contains(",")||file.getOriginalFilename().
+ * contains(" ")){ sendFailureMessage(response,"鏂囦欢鍚嶇О鏈夎,涓嶅彲鍚湁閫楀彿绛夌壒娈婂瓧绗�"); }
+ */
+
+ String nowDate = DateUtil.getNowShortDate();
+ folder += nowDate + "/";
+ String strDirPath = rootPath + folder;
+ File dirPath = new File(strDirPath);
+ if (!dirPath.exists()) {
+ dirPath.mkdirs();
+ }
+ String uploadFileName = file.getOriginalFilename();
+ String x = UUID.randomUUID().toString().replace("-", "")
+ + uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ String fileName = folder + x;
+ String fileNames = nowDate + "/" + x;
+ uploadFileName = uploadFileName.replace(" ", "");
+ uploadFileName = uploadFileName.replace("锛�", ",");
+ uploadFileName = uploadFileName.replaceAll(",", "-");
+ System.err.println("R:" + fileName);
+ String fileAndPath = dir + fileName;
+ System.err.println("A:" + fileAndPath);
+ // 鍒ゆ柇濡傛灉涓存椂鐩綍涓瓨鍦ㄧ浉鍚屽悕绉扮殑鏂囦欢鍏堝垹闄わ紝鍦ㄤ笂浼�
+ File tempFile = new File(rootPath + fileName);
+ if (tempFile.isFile() && tempFile.exists()) {
+ tempFile.getAbsoluteFile().delete();
+ }
+ // 涓婁紶鍒版湇鍔″櫒涓存椂鏂囦欢澶�
+ file.transferTo(tempFile);
+ // 杞Щ鍒癋TP鏈嶅姟鍣�
+ String nfix = "";
+ if (null != uploadFileName) {
+ nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ }
+
+ if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
+ return;
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
+ return;
+ }
+
+ String remoteName = fileName;
+ String remoteFileName = fileAndPath;
+
+ /* Map map = new HashMap();
+ map.put("url", remoteFileName);
+ map.put("alt", uploadFileName);
+ map.put("href", remoteFileName);
+ List maps = Arrays.asList(remoteFileName);*/
+
+ if (true) {
+ // 鍏抽棴FTP娴�
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+
+ /*context.put("error", 0);
+ context.put("url", remoteFileName);
+ context.put("fullurl", remoteFileName);
+ context.put("fname", uploadFileName);
+ context.put("data", maps);
+ context.put("halfurl", fileNames);*/
+
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("url", remoteFileName);
+ fileJSON.put("imgaddr", fileNames);
+ fileJSON.put("imgname", uploadFileName);
+ fileJSON.put("originname", uploadFileName);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+
+ writerJson(response, context);
+ return;
+ } else {
+ // 绉诲姩澶辫触
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+}
diff --git a/server/src/main/java/com/doumee/api/system/SystemController.java b/server/platform/src/main/java/com/doumee/api/system/SystemController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemDataPermissionController.java b/server/platform/src/main/java/com/doumee/api/system/SystemDataPermissionController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemDataPermissionController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemDataPermissionController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemDepartmentController.java b/server/platform/src/main/java/com/doumee/api/system/SystemDepartmentController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemDepartmentController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemDepartmentController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemDictController.java b/server/platform/src/main/java/com/doumee/api/system/SystemDictController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemDictController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemDictController.java
diff --git a/server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java b/server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java
new file mode 100644
index 0000000..4c76bfc
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java
@@ -0,0 +1,95 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
+import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.vo.SystemDictDataListVO;
+import com.doumee.service.system.SystemDictDataService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "瀛楀吀鏁版嵁")
+@RestController
+@RequestMapping("/system/dictData")
+public class SystemDictDataController extends BaseController {
+
+ @Autowired
+ private SystemDictDataService systemDictDataService;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemDictData systemDictData) {
+ return ApiResponse.success(systemDictDataBiz.create(systemDictData));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemDictDataService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:dict:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemDictDataService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemDictData systemDictData) {
+ systemDictDataBiz.updateById(systemDictData);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse<PageData<SystemDictDataListVO>> findPage (@RequestBody PageWrap<QuerySystemDictDataDTO> pageWrap) {
+ return ApiResponse.success(systemDictDataService.findPage(pageWrap));
+ }
+
+
+
+
+
+ @ApiOperation("缂栬緫鏌ヨ鍜栬眴浠诲姟瑙勫垯")
+ @PostMapping("/createCoffeeTask")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse createCoffeeTask(@Validated(OperaType.Create.class) @RequestBody List<SystemDictData> list) {
+ systemDictDataBiz.updateByDicId(list);
+ return ApiResponse.success(null);
+ }
+
+}
diff --git a/server/src/main/java/com/doumee/api/system/SystemLoginLogController.java b/server/platform/src/main/java/com/doumee/api/system/SystemLoginLogController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemLoginLogController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemLoginLogController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemMenuController.java b/server/platform/src/main/java/com/doumee/api/system/SystemMenuController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemMenuController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemMenuController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemMonitorController.java b/server/platform/src/main/java/com/doumee/api/system/SystemMonitorController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemMonitorController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemMonitorController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemPermissionController.java b/server/platform/src/main/java/com/doumee/api/system/SystemPermissionController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemPermissionController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemPermissionController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemPositionController.java b/server/platform/src/main/java/com/doumee/api/system/SystemPositionController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemPositionController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemPositionController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemRoleController.java b/server/platform/src/main/java/com/doumee/api/system/SystemRoleController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemRoleController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemRoleController.java
diff --git a/server/src/main/java/com/doumee/api/system/SystemTraceLogController.java b/server/platform/src/main/java/com/doumee/api/system/SystemTraceLogController.java
similarity index 100%
copy from server/src/main/java/com/doumee/api/system/SystemTraceLogController.java
copy to server/platform/src/main/java/com/doumee/api/system/SystemTraceLogController.java
diff --git a/server/platform/src/main/java/com/doumee/api/system/SystemUserController.java b/server/platform/src/main/java/com/doumee/api/system/SystemUserController.java
new file mode 100644
index 0000000..788a68b
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/system/SystemUserController.java
@@ -0,0 +1,129 @@
+package com.doumee.api.system;
+
+import com.doumee.core.model.ApiResponse;
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemUserBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.CreateSystemUserDTO;
+import com.doumee.dao.system.dto.CreateUserRoleDTO;
+import com.doumee.dao.system.dto.QuerySystemUserDTO;
+import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.system.vo.SystemUserListVO;
+import com.doumee.service.system.SystemUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "鐢ㄦ埛")
+@RestController
+@RequestMapping("/system/user")
+public class SystemUserController extends BaseController {
+
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Autowired
+ private SystemUserBiz systemUserBiz;
+
+ @PreventRepeat
+ @ApiOperation("閰嶇疆鐢ㄦ埛瑙掕壊")
+ @PostMapping("/createUserRole")
+ @RequiresPermissions("system:user:createUserRole")
+ public ApiResponse createUserRole (@Validated @RequestBody CreateUserRoleDTO dto) {
+ systemUserBiz.createUserRole(dto);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("閲嶇疆鐢ㄦ埛瀵嗙爜")
+ @PostMapping("/resetPwd")
+ @RequiresPermissions("system:user:resetPwd")
+ public ApiResponse resetPwd (@Validated @RequestBody ResetSystemUserPwdDTO dto) {
+ dto.setOperaUserId(this.getLoginUser().getId());
+ systemUserBiz.resetPwd(dto);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:user:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody CreateSystemUserDTO systemUser) {
+ systemUser.setCreateUser(this.getLoginUser().getId());
+ systemUserBiz.create(systemUser);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:user:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemUserBiz.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:user:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemUserBiz.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:user:update")
+ public ApiResponse updateById( @RequestBody CreateSystemUserDTO systemUser) {
+ systemUser.setUpdateUser(this.getLoginUser().getId());
+ systemUserBiz.updateById(systemUser);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse<PageData<SystemUserListVO>> findPage (@RequestBody PageWrap<QuerySystemUserDTO> pageWrap) {
+ return ApiResponse.success(systemUserService.findPage(pageWrap));
+ }
+
+
+
+ @ApiOperation("鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛")
+ @PostMapping("/findAllList")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse<PageData<SystemUser>> findAllList (@RequestBody PageWrap<SystemUser> pageWrap) {
+ return ApiResponse.success(systemUserService.findAllList(pageWrap));
+ }
+
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(systemUserService.findById(id));
+ }
+
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroAuthFilter.java b/server/platform/src/main/java/com/doumee/shiro/ShiroAuthFilter.java
new file mode 100644
index 0000000..838a581
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroAuthFilter.java
@@ -0,0 +1,30 @@
+package com.doumee.shiro;
+
+import com.alibaba.fastjson.JSON;
+import com.doumee.core.model.ApiResponse;
+import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
+import org.springframework.http.HttpStatus;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Shiro璁よ瘉杩囨护鍣紝澶勭悊鏈璇佹儏鍐电殑鍝嶅簲
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+public class ShiroAuthFilter extends FormAuthenticationFilter {
+
+ public ShiroAuthFilter() {
+ super();
+ }
+
+ @Override
+ protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
+ HttpServletResponse servletResponse = (HttpServletResponse) response;
+ servletResponse.setHeader("content-type", "application/json;charset=UTF-8");
+ servletResponse.getWriter().write(JSON.toJSONString(ApiResponse.failed(HttpStatus.UNAUTHORIZED.value(), "鏈櫥褰曟垨鐧诲綍淇℃伅宸茶繃鏈�")));
+ return Boolean.FALSE;
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroCache.java b/server/platform/src/main/java/com/doumee/shiro/ShiroCache.java
new file mode 100644
index 0000000..4e28b64
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroCache.java
@@ -0,0 +1,159 @@
+package com.doumee.shiro;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.cache.Cache;
+import org.apache.shiro.cache.CacheException;
+import org.apache.shiro.subject.PrincipalCollection;
+import org.apache.shiro.util.CollectionUtils;
+import org.springframework.context.annotation.Scope;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.SerializationException;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Shiro缂撳瓨
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Scope(value = "prototype")
+@Slf4j
+@Component
+public class ShiroCache implements Cache<Object, Serializable> {
+
+ private String keyPrefix = "ProSelect";
+
+ @Resource(name="sessionRedisTemplate")
+ private RedisTemplate<Object, Serializable> redisTemplate;
+
+ public ShiroCache () {
+ log.debug("ShiroCache: new, keyPrefix = [" + keyPrefix + "]");
+ }
+
+ public ShiroCache(String keyPrefix) {
+ log.debug("ShiroCache: new, keyPrefix = [" + keyPrefix + "]");
+ this.keyPrefix = keyPrefix;
+ }
+
+ @Override
+ public Serializable get(Object key) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ return redisTemplate.opsForValue().get(getKey(key));
+ }
+
+ @Override
+ public Serializable put(Object key, Serializable value) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ redisTemplate.opsForValue().set(getKey(key), value);
+ return value;
+ }
+
+ public Serializable put(Object key, Serializable value, int timeout) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ redisTemplate.opsForValue().set(getKey(key), value, timeout, TimeUnit.SECONDS);
+ return value;
+ }
+
+ @Override
+ public void clear() throws CacheException {
+ Set<Object> keys = this.keys();
+ redisTemplate.delete(keys);
+ }
+
+ @Override
+ public int size() {
+ return this.keys().size();
+ }
+
+ @Override
+ public Set<Object> keys() {
+ Set<Object> keys = redisTemplate.keys(keyPrefix + "*");
+ if (CollectionUtils.isEmpty(keys)) {
+ return Collections.emptySet();
+ }
+ return keys;
+ }
+
+ @Override
+ public Collection<Serializable> values() {
+ Collection<Serializable> values = new ArrayList<>();
+ Set<Object> keys = this.keys();
+ if (CollectionUtils.isEmpty(keys)) {
+ return values;
+ }
+ for (Object k : keys) {
+ values.add(redisTemplate.opsForValue().get(k));
+ }
+ return values;
+ }
+
+ @Override
+ public Serializable remove(Object key) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ Serializable value = this.get(getKey(key));
+ redisTemplate.delete(getKey(key));
+ return value;
+ }
+
+ private Object getKey (Object key) {
+ if (key instanceof PrincipalCollection) {
+ return this.keyPrefix + getRedisKeyFromPrincipalIdField((PrincipalCollection)key);
+ }
+ return (key instanceof String ? (this.keyPrefix + key) : key);
+ }
+
+ /**
+ * 鑾峰彇redis cache key
+ */
+ private String getRedisKeyFromPrincipalIdField(PrincipalCollection key) {
+ Object principalObject = key.getPrimaryPrincipal();
+ if (principalObject instanceof String) {
+ return principalObject.toString();
+ } else {
+ Method pincipalIdGetter = this.getPrincipalIdGetter(principalObject);
+ return this.getIdObj(principalObject, pincipalIdGetter);
+ }
+ }
+
+ private Method getPrincipalIdGetter(Object principalObject) {
+ Method pincipalIdGetter;
+ String principalIdMethodName = this.getPrincipalIdMethodName();
+
+ try {
+ pincipalIdGetter = principalObject.getClass().getMethod(principalIdMethodName);
+ return pincipalIdGetter;
+ } catch (NoSuchMethodException e) {
+ throw new SerializationException(e.getMessage(), e);
+ }
+ }
+
+ private String getIdObj(Object principalObject, Method pincipalIdGetter) {
+ try {
+ Object idObj = pincipalIdGetter.invoke(principalObject);
+ String redisKey = idObj.toString();
+ return redisKey;
+ } catch (Exception e) {
+ throw new SerializationException(e.getMessage(), e);
+ }
+ }
+
+ private String getPrincipalIdMethodName() {
+ return "getId";
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroCacheManager.java b/server/platform/src/main/java/com/doumee/shiro/ShiroCacheManager.java
new file mode 100644
index 0000000..246bfe0
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroCacheManager.java
@@ -0,0 +1,44 @@
+package com.doumee.shiro;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.cache.Cache;
+import org.apache.shiro.cache.CacheException;
+import org.apache.shiro.cache.CacheManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+/**
+ * 鑷畾涔塖hiro CacheManager
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Slf4j
+@Component
+public class ShiroCacheManager implements CacheManager {
+
+ private final ConcurrentMap<String, Cache> caches = new ConcurrentHashMap();
+
+ private static ApplicationContext applicationContext;
+
+ @Override
+ public <K, V> Cache<K, V> getCache(String name) throws CacheException {
+ log.debug("get cache, name=" + name);
+ Cache cache = this.caches.get(name);
+ if (cache == null) {
+ cache = applicationContext.getBean(ShiroCache.class, "shiro:cache:");
+ this.caches.put(name, cache);
+ }
+ return cache;
+ }
+
+ @Autowired
+ public void setApplicationContext (ApplicationContext applicationContext) {
+ if (ShiroCacheManager.applicationContext == null) {
+ ShiroCacheManager.applicationContext = applicationContext;
+ }
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java b/server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java
new file mode 100644
index 0000000..fce72c7
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java
@@ -0,0 +1,142 @@
+package com.doumee.shiro;
+
+import org.apache.shiro.mgt.SecurityManager;
+import org.apache.shiro.session.mgt.SessionManager;
+import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
+import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
+import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import javax.servlet.Filter;
+import java.io.Serializable;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Shiro閰嶇疆
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Configuration
+public class ShiroConfig {
+
+ @Value("${cache.session.expire}")
+ private int sessionExpireTime;
+
+ @Autowired
+ private ShiroCredentialsMatcher shiroCredentialsMatcher;
+
+ @Autowired
+ private ShiroSessionDAO shiroSessionDAO;
+
+ @Autowired
+ private ShiroCacheManager shiroCacheManager;
+
+ @Autowired
+ private ShiroRealm shiroRealm;
+
+ @Bean("sessionRedisTemplate")
+ public RedisTemplate<Object, Serializable> sessionRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
+ RedisTemplate<Object, Serializable> redisTemplate = new RedisTemplate<>();
+ redisTemplate.setConnectionFactory(redisConnectionFactory);
+ // 榛樿搴忓垪鍖栨柟寮�
+ redisTemplate.setDefaultSerializer(new StringRedisSerializer());
+ // 鍊煎簭鍒楀寲鏂瑰紡
+ ShiroSessionSerializer serializer = new ShiroSessionSerializer();
+ redisTemplate.setValueSerializer(serializer);
+ redisTemplate.setHashValueSerializer(serializer);
+ redisTemplate.afterPropertiesSet();
+ return redisTemplate;
+ }
+
+ @Bean
+ public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
+ DefaultAdvisorAutoProxyCreator autoProxyCreator = new DefaultAdvisorAutoProxyCreator();
+ autoProxyCreator.setProxyTargetClass(true);
+ return autoProxyCreator;
+ }
+
+ @Bean
+ public SessionManager sessionManager() {
+ ShiroSessionManager sessionManager = new ShiroSessionManager();
+ sessionManager.setSessionDAO(shiroSessionDAO);
+ sessionManager.setGlobalSessionTimeout(sessionExpireTime*1000);
+ // 鍒犻櫎澶辨晥鐨剆ession
+ sessionManager.setDeleteInvalidSessions(true);
+ return sessionManager;
+ }
+
+ @Bean
+ public SecurityManager securityManager() {
+ DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
+ securityManager.setRealm(shiroRealm);
+ securityManager.setSessionManager(this.sessionManager());
+ securityManager.setCacheManager(shiroCacheManager);
+ return securityManager;
+ }
+
+ @Bean
+ public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
+ ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
+ shiroFilterFactoryBean.setSecurityManager(securityManager);
+ Map<String, String> map = new LinkedHashMap<>();
+ // 璺緞鎷︽埅閰嶇疆
+ // 璺緞鎷︽埅閰嶇疆
+ map.put("/system/dictData/companyUserRules","anon");
+ map.put("/system/login", "anon");
+ map.put("/system/logout", "anon");
+ map.put("/common/captcha", "anon");
+ map.put("/business/areas/*", "anon");
+ map.put("/business/company/register", "anon");
+ map.put("/business/labels/page","anon");
+ map.put("/public/uploadPicture","anon");
+ map.put("/public/uploadLocal","anon");
+ map.put("/business/*/list","anon");
+ map.put("/business/goods/goodsPage","anon");
+ map.put("/business/goods/h5Image","anon");
+ map.put("/business/goods/export","anon");
+ map.put("/business/goods/listForH5","anon");
+
+
+ // - 鏀捐swagger
+ map.put("/doc.html", "anon");
+ map.put("/webjars/**", "anon");
+ map.put("/swagger-resources/**", "anon");
+ map.put("/v2/api-docs/**", "anon");
+
+ // - 鍏朵粬鎺ュ彛缁熶竴鎷︽埅
+ map.put("/**", "authc");
+ shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
+ // 娣诲姞璁よ瘉杩囨护鍣�
+ Map<String, Filter> filters = new LinkedHashMap<>();
+ filters.put("authc", new ShiroAuthFilter());
+ shiroFilterFactoryBean.setFilters(filters);
+ return shiroFilterFactoryBean;
+ }
+
+ @Bean
+ public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
+ AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
+ authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
+ return authorizationAttributeSourceAdvisor;
+ }
+
+ @Bean
+ public ShiroSessionDAO getShiroSessionDAO () {
+ shiroSessionDAO.setExpireTime(sessionExpireTime);
+ return shiroSessionDAO;
+ }
+
+ @Bean
+ public ShiroRealm getShiroRealm () {
+ shiroRealm.setCredentialsMatcher(shiroCredentialsMatcher);
+ return shiroRealm;
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroCredentialsMatcher.java b/server/platform/src/main/java/com/doumee/shiro/ShiroCredentialsMatcher.java
new file mode 100644
index 0000000..4906c0c
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroCredentialsMatcher.java
@@ -0,0 +1,45 @@
+package com.doumee.shiro;
+
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.system.SystemUserService;
+import org.apache.shiro.authc.AuthenticationInfo;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+/**
+ * Shiro瀵嗙爜姣斿澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Component
+public class ShiroCredentialsMatcher extends HashedCredentialsMatcher {
+ @Lazy
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Override
+ public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
+ ShiroToken usernamePasswordToken = (ShiroToken) token;
+ SystemUser queryUserDto = new SystemUser();
+ queryUserDto.setUsername(usernamePasswordToken.getUsername());
+ queryUserDto.setDeleted(Boolean.FALSE);
+ SystemUser systemUser = systemUserService.findOne(queryUserDto);
+ if (systemUser == null) {
+ return Boolean.FALSE;
+ }
+ if(usernamePasswordToken.getDdLogin()){
+ return Boolean.TRUE;
+ }
+ if(usernamePasswordToken.getWxLogin()){
+ return Boolean.TRUE;
+ }
+ // 鍔犲瘑瀵嗙爜
+ String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt());
+ // 姣旇緝瀵嗙爜
+ return this.equals(pwd, systemUser.getPassword());
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java b/server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java
new file mode 100644
index 0000000..44c84e2
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java
@@ -0,0 +1,94 @@
+package com.doumee.shiro;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.system.model.SystemPermission;
+import com.doumee.dao.system.model.SystemRole;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.system.SystemDataPermissionService;
+import com.doumee.service.system.SystemPermissionService;
+import com.doumee.service.system.SystemRoleService;
+import com.doumee.service.system.SystemUserService;
+import org.apache.shiro.authc.AuthenticationException;
+import org.apache.shiro.authc.AuthenticationInfo;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authc.SimpleAuthenticationInfo;
+import org.apache.shiro.authz.AuthorizationInfo;
+import org.apache.shiro.authz.SimpleAuthorizationInfo;
+import org.apache.shiro.realm.AuthorizingRealm;
+import org.apache.shiro.subject.PrincipalCollection;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 鑷畾涔塕ealm锛屽鐞嗚璇佸拰鏉冮檺
+ * @author Eva.Caesar Liu
+ * @date 2022/03/15 09:54
+ */
+@Component
+public class ShiroRealm extends AuthorizingRealm {
+
+ @Lazy
+ @Autowired
+ private SystemDataPermissionService systemDataPermissionService;
+ @Lazy
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Lazy
+ @Autowired
+ private SystemRoleService systemRoleService;
+
+ @Lazy
+ @Autowired
+ private SystemPermissionService systemPermissionService;
+
+ /**
+ * 鏉冮檺澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2022/03/15 09:54
+ */
+ @Override
+ protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo)principalCollection.getPrimaryPrincipal();
+ // 璁剧疆鐢ㄦ埛瑙掕壊鍜屾潈闄�
+ SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
+ authorizationInfo.addRoles(loginUserInfo.getRoles());
+ authorizationInfo.addStringPermissions(loginUserInfo.getPermissions());
+ return authorizationInfo;
+ }
+
+ /**
+ * 璁よ瘉澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2022/03/15 09:54
+ */
+ @Override
+ protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
+ // 鑾峰彇鐢ㄦ埛鍚�
+ String username = authenticationToken.getPrincipal().toString();
+ // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
+ SystemUser queryDto = new SystemUser();
+ queryDto.setUsername(username);
+ queryDto.setDeleted(Boolean.FALSE);
+ SystemUser user = systemUserService.findOne(queryDto);
+ if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
+ }
+ if (user == null) {
+ return null;
+ }
+ // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+ List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
+ List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
+ LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
+ // 楠岃瘉鐢ㄦ埛
+ return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
+ }
+
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroRedisSessionDAO.java b/server/platform/src/main/java/com/doumee/shiro/ShiroRedisSessionDAO.java
new file mode 100644
index 0000000..b592ada
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroRedisSessionDAO.java
@@ -0,0 +1,139 @@
+package com.doumee.shiro;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.SerializationUtils;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.session.UnknownSessionException;
+import org.apache.shiro.session.mgt.SimpleSession;
+import org.apache.shiro.session.mgt.eis.SessionDAO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.concurrent.TimeUnit;
+
+//@Component
+@Slf4j
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class ShiroRedisSessionDAO implements SessionDAO {
+// Session瓒呮椂鏃堕棿锛屽崟浣嶄负姣
+private static final String KEY_PREFIX = "shiro:session:";
+ private long expireTime = 120000;
+ @Autowired
+ private ShiroTokenManager shiroTokenManager;
+ @Autowired
+ private RedisTemplate redisTemplate;// Redis鎿嶄綔绫伙紝瀵硅繖涓娇鐢ㄤ笉鐔熸倝鐨勶紝鍙互鍙傝�冨墠闈㈢殑鍗氬
+
+ public ShiroRedisSessionDAO() {
+
+ super();
+
+ }
+
+ public ShiroRedisSessionDAO(long expireTime, StringRedisTemplate redisTemplate) {
+
+ super();
+
+ this.expireTime = expireTime;
+
+ this.redisTemplate = redisTemplate;
+
+ }
+
+ @Override // 鏇存柊session
+
+ public void update(Session session) throws UnknownSessionException {
+
+ System.out.println("===============update================");
+
+ if (session == null || session.getId() == null) {
+ return;
+ }
+ session.setTimeout(expireTime);
+ byte[] bytes = SerializationUtils.serialize((Serializable) session);
+ redisTemplate.opsForValue().set(KEY_PREFIX+session.getId(), bytes, expireTime, TimeUnit.MILLISECONDS);
+ }
+
+ @Override // 鍒犻櫎session
+
+ public void delete(Session session) {
+
+ System.out.println("===============delete================");
+
+ if (null == session) {
+
+ return;
+
+ }
+
+ redisTemplate.opsForValue().getOperations().delete(KEY_PREFIX+session.getId());
+
+ }
+
+ @Override// 鑾峰彇娲昏穬鐨剆ession锛屽彲浠ョ敤鏉ョ粺璁″湪绾夸汉鏁帮紝濡傛灉瑕佸疄鐜拌繖涓姛鑳斤紝鍙互鍦ㄥ皢session鍔犲叆redis鏃舵寚瀹氫竴涓猻ession鍓嶇紑锛岀粺璁$殑鏃跺�欏垯浣跨敤keys("session-prefix*")鐨勬柟寮忔潵妯$硦鏌ユ壘redis涓墍鏈夌殑session闆嗗悎
+ public Collection getActiveSessions() {
+
+ System.out.println("==============getActiveSessions=================");
+
+ return redisTemplate.keys("*");
+
+ }
+
+ @Override
+ public Serializable create(Session session) {
+
+ System.out.println("===============doCreate================");
+
+ if (session == null) {
+ log.error("session is null");
+ throw new UnknownSessionException("session is null");
+ }
+ Serializable sessionId = shiroTokenManager.build();
+ ((SimpleSession)session).setId(sessionId);
+ byte[] bytes = SerializationUtils.serialize((Serializable) session);
+ redisTemplate.opsForValue().set(session.getId(), bytes, expireTime, TimeUnit.MILLISECONDS);
+ return sessionId;
+
+ }
+ public Session readSession(Serializable sessionId) throws UnknownSessionException{
+ if (sessionId == null) {
+ log.warn("session id is null");
+ return null;
+ }
+ if (sessionId instanceof String) {
+ // 瀵筍essionId杩涜楠岃瘉锛堝彲鐢ㄤ簬闃叉Session鎹曡幏銆佹毚鍔涙崟鎹夌瓑涓�绯诲垪瀹夊叏闂锛屾渶缁堝畨鍏ㄦ�у彇鍐充簬check濡備綍瀹炵幇锛�
+ shiroTokenManager.check((String) sessionId);
+ }
+ log.debug("read session from cache");
+
+ SimpleSession simpleSession = (SimpleSession) SerializationUtils.deserialize((byte[])redisTemplate.opsForValue().get(KEY_PREFIX+sessionId));
+ return simpleSession;
+
+ }
+
+ public long getExpireTime() {
+
+ return expireTime;
+
+ }
+
+ public void setExpireTime(long expireTime) {
+
+ this.expireTime = expireTime;
+
+ }
+
+ public RedisTemplate getRedisTemplate() {
+
+ return redisTemplate;
+
+ }
+
+ public void setRedisTemplate(RedisTemplate redisTemplate) {
+
+ this.redisTemplate = redisTemplate;
+
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroSessionDAO.java b/server/platform/src/main/java/com/doumee/shiro/ShiroSessionDAO.java
new file mode 100644
index 0000000..7d4e7a7
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroSessionDAO.java
@@ -0,0 +1,113 @@
+package com.doumee.shiro;
+
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.session.UnknownSessionException;
+import org.apache.shiro.session.mgt.SimpleSession;
+import org.apache.shiro.session.mgt.eis.SessionDAO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+/**
+ * 鑷畾涔塖hiro SessionDAO锛屽皢浼氳瘽淇℃伅瀛樺叆缂撳瓨涓�
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Data
+@Slf4j
+@Component
+public class ShiroSessionDAO implements SessionDAO {
+
+ private static final String KEY_PREFIX = "shiro:session:";
+
+ @Autowired
+ private ShiroCache shiroCache;
+
+ private int expireTime = 60 * 60 * 24;
+
+ @Autowired
+ private ShiroTokenManager shiroTokenManager;
+
+ @Override
+ public Serializable create(Session session) {
+ if (session == null) {
+ log.error("session is null");
+ throw new UnknownSessionException("session is null");
+ }
+ Serializable sessionId = shiroTokenManager.build();
+ ((SimpleSession)session).setId(sessionId);
+ this.saveSession(session);
+ return sessionId;
+ }
+
+ @Override
+ public Session readSession(Serializable sessionId) throws UnknownSessionException{
+ if (sessionId == null) {
+ log.warn("session id is null");
+ return null;
+ }
+ if (sessionId instanceof String) {
+ // 瀵筍essionId杩涜楠岃瘉锛堝彲鐢ㄤ簬闃叉Session鎹曡幏銆佹毚鍔涙崟鎹夌瓑涓�绯诲垪瀹夊叏闂锛屾渶缁堝畨鍏ㄦ�у彇鍐充簬check濡備綍瀹炵幇锛�
+ shiroTokenManager.check((String) sessionId);
+ }
+ log.debug("read session from cache");
+ Session session = getSessionFromCache(sessionId);
+ if (session == null) {
+ throw new UnknownSessionException("There is no session with id [" + sessionId + "]");
+ }
+ return session;
+ }
+
+ @Override
+ public void update(Session session) throws UnknownSessionException {
+ this.saveSession(session);
+ }
+
+ @Override
+ public void delete(Session session) {
+ if (session != null && session.getId() != null) {
+ shiroCache.remove(KEY_PREFIX + session.getId());
+ }
+ }
+
+ @Override
+ public Collection<Session> getActiveSessions() {
+ Set<Session> sessions = new HashSet<>();
+ Set<Object> keys = shiroCache.keys();
+ if (keys != null && keys.size() > 0) {
+ Iterator iter = keys.iterator();
+ while(iter.hasNext()) {
+ sessions.add((Session) shiroCache.get(iter.next()));
+ }
+ }
+ return sessions;
+ }
+
+ private void saveSession(Session session) throws UnknownSessionException {
+ if (session == null || session.getId() == null) {
+ log.error("session or session id is null");
+ throw new UnknownSessionException("session or session id is null");
+ }
+ shiroCache.put(KEY_PREFIX + session.getId(), (SimpleSession)session, expireTime);
+ }
+
+ private Session getSessionFromCache (Serializable sessionId) {
+ Serializable object = shiroCache.get(KEY_PREFIX + sessionId);
+ Session session = null;
+ if (object != null) {
+ session = (Session)shiroCache.get(KEY_PREFIX + sessionId);
+ }
+ return session;
+ }
+
+ public void setExpireTime (int expireTime) {
+ this.expireTime = expireTime;
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroSessionManager.java b/server/platform/src/main/java/com/doumee/shiro/ShiroSessionManager.java
new file mode 100644
index 0000000..c4fd006
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroSessionManager.java
@@ -0,0 +1,85 @@
+package com.doumee.shiro;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.session.mgt.DefaultSessionManager;
+import org.apache.shiro.session.mgt.SessionContext;
+import org.apache.shiro.session.mgt.SessionKey;
+import org.apache.shiro.web.servlet.Cookie;
+import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
+import org.apache.shiro.web.servlet.SimpleCookie;
+import org.apache.shiro.web.session.mgt.WebSessionManager;
+import org.apache.shiro.web.util.WebUtils;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.Serializable;
+
+/**
+ * 鑷畾涔変細璇濈鐞嗗櫒
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Slf4j
+public class ShiroSessionManager extends DefaultSessionManager implements WebSessionManager {
+
+ private static final String AUTH_TOKEN = "eva-auth-token";
+
+ @Override
+ protected void onStart(Session session, SessionContext context) {
+ super.onStart(session, context);
+ if (!WebUtils.isHttp(context)) {
+ log.debug("SessionContext argument is not Http compatible or does not have an Http request/response pair. No session ID cookie will be set.");
+ return;
+ }
+ HttpServletRequest request = WebUtils.getHttpRequest(context);
+ HttpServletResponse response = WebUtils.getHttpResponse(context);
+ Serializable sessionId = session.getId();
+ this.storeSessionId(sessionId, request, response);
+ request.removeAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE);
+ request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_IS_NEW, Boolean.TRUE);
+ }
+
+ @Override
+ public Serializable getSessionId(SessionKey key) {
+ Serializable sessionId = super.getSessionId(key);
+ if (sessionId == null && WebUtils.isWeb(key)) {
+ ServletRequest servletRequest = WebUtils.getRequest(key);
+ if (!(servletRequest instanceof HttpServletRequest)) {
+ log.trace("Can not get sessionId from header, the request is not HttpServletRequest");
+ return null;
+ }
+ HttpServletRequest request = (HttpServletRequest) servletRequest;
+ // 浠巆ookie涓幏鍙栬璇�
+ javax.servlet.http.Cookie[] cookies = request.getCookies();
+ if (cookies != null) {
+ for (javax.servlet.http.Cookie cookie : cookies) {
+ if (AUTH_TOKEN.equals(cookie.getName())) {
+ return cookie.getValue();
+ }
+ }
+ }
+ // 浠巋eader涓幏鍙栬璇�
+ return request.getHeader(AUTH_TOKEN);
+ }
+ return sessionId;
+ }
+ @Override
+ public boolean isServletContainerSessions() {
+ return false;
+ }
+
+ private void storeSessionId(Serializable currentId, HttpServletRequest request, HttpServletResponse response) {
+ if (currentId == null) {
+ String msg = "sessionId cannot be null when persisting for subsequent requests.";
+ throw new IllegalArgumentException(msg);
+ }
+ Cookie cookie = new SimpleCookie(AUTH_TOKEN);
+ cookie.setHttpOnly(false);
+ String idString = currentId.toString();
+ cookie.setValue(idString);
+ cookie.saveTo(request, response);
+ log.trace("Set session ID cookie for session with id {}", idString);
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroSessionSerializer.java b/server/platform/src/main/java/com/doumee/shiro/ShiroSessionSerializer.java
new file mode 100644
index 0000000..5ab375c
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroSessionSerializer.java
@@ -0,0 +1,36 @@
+package com.doumee.shiro;
+
+import org.apache.commons.lang3.SerializationUtils;
+import org.apache.shiro.codec.Base64;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.SerializationException;
+
+import java.io.Serializable;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * Session搴忓垪鍖�
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+public class ShiroSessionSerializer implements RedisSerializer<Serializable> {
+
+ @Override
+ public byte[] serialize(Serializable obj) throws SerializationException {
+ if (obj == null) {
+ return new byte[0];
+ }
+ String sessionBase64 = Base64.encodeToString(SerializationUtils.serialize(obj));
+ return sessionBase64.getBytes(StandardCharsets.UTF_8);
+ }
+
+ @Override
+ public Serializable deserialize(byte[] bytes) throws SerializationException {
+ if (bytes == null || bytes.length == 0) {
+ return null;
+ }
+ String sessionString = new String(bytes, StandardCharsets.UTF_8);
+ byte[] sessionBytes = Base64.decode(sessionString);
+ return SerializationUtils.deserialize(sessionBytes);
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroToken.java b/server/platform/src/main/java/com/doumee/shiro/ShiroToken.java
new file mode 100644
index 0000000..2964cde
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroToken.java
@@ -0,0 +1,54 @@
+package com.doumee.shiro;
+
+import org.apache.shiro.authc.UsernamePasswordToken;
+import org.springframework.stereotype.Component;
+
+/**
+ * 鑷畾涔塗oken 锛屽鐞嗚璇佸拰鏉冮檺
+ * @author Eva.Caesar Liu
+ * @date 2022/04/18 18:12
+ */
+@Component
+public class ShiroToken extends UsernamePasswordToken {
+
+ /**
+ * 鍏徃ID
+ */
+ Integer companyId;
+ Boolean isDdLogin;
+ Boolean isWxLogin;
+
+ public ShiroToken() {
+ }
+ public ShiroToken(Integer companyId, String username, String password, boolean isDdLogin, boolean isWxLogin) {
+ super(username, password, false, (String)null);
+ this.companyId = companyId;
+ this.isDdLogin = isDdLogin;
+ this.isWxLogin = isWxLogin;
+ }
+
+ public Boolean getDdLogin() {
+ return isDdLogin;
+ }
+
+ public void setDdLogin(Boolean ddLogin) {
+ isDdLogin = ddLogin;
+ }
+
+
+ public Boolean getWxLogin() {
+ return isWxLogin;
+ }
+
+ public void setWxLogin(Boolean wxLogin) {
+ isWxLogin = wxLogin;
+ }
+
+ public Integer getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Integer companyId) {
+ this.companyId = companyId;
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroTokenManager.java b/server/platform/src/main/java/com/doumee/shiro/ShiroTokenManager.java
new file mode 100644
index 0000000..5870cf2
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroTokenManager.java
@@ -0,0 +1,25 @@
+package com.doumee.shiro;
+
+import com.doumee.core.exception.UnSafeSessionException;
+import org.springframework.stereotype.Component;
+
+import java.util.UUID;
+
+/**
+ * 榛樿Token绠$悊鍣�
+ * @author Eva.Caesar Liu
+ * @date 2023/04/17 12:11
+ */
+@Component
+public class ShiroTokenManager {
+
+ String build() {
+ return UUID.randomUUID().toString();
+ }
+
+ void check(String token) throws UnSafeSessionException {
+ if (token == null || token.length() != 36) {
+ throw new UnSafeSessionException();
+ }
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/swagger/SwaggerConfig.java b/server/platform/src/main/java/com/doumee/swagger/SwaggerConfig.java
new file mode 100644
index 0000000..69650da
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/swagger/SwaggerConfig.java
@@ -0,0 +1,99 @@
+package com.doumee.swagger;
+
+import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.RequestHandler;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.oas.annotations.EnableOpenApi;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+
+import java.util.function.Predicate;
+
+/**
+ * Swagger閰嶇疆
+ * @author Eva.Caesar Liu
+ * @date 2022/03/11 10:24
+ */
+@Configuration
+@EnableOpenApi
+@EnableKnife4j
+public class SwaggerConfig {
+
+ @Value("${swagger.host:}")
+ private String host;
+
+ @Value("${swagger.title:鎺ュ彛鏂囨。}")
+ private String title;
+
+ @Value("${swagger.description:}")
+ private String description;
+
+ @Value("${project.version:}")
+ private String version;
+
+ @Bean
+ public ApiInfo getApiInfo() {
+ return new ApiInfoBuilder()
+ .title(title)
+ .description(description)
+ .version(version)
+ .build();
+ }
+ @Bean
+ public Docket getDocket() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(this.getApiInfo()).groupName("銆愮郴缁熺鐞嗘帴鍙PI銆�")
+ .host(host)
+ .select()
+ .apis( basePackage("com.doumee.api.system;com.doumee.api.business;"))
+ // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
+// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
+ .paths(PathSelectors.any())
+ .build();
+ }
+ @Bean
+ public Docket getDocket1() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(this.getApiInfo()).groupName("銆愬叕鍏辨帴鍙PI銆�")
+ .host(host)
+ .select()
+ .apis( basePackage("com.doumee.api.common"))
+ // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
+// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
+ .paths(PathSelectors.any())
+ .build();
+ }
+ /**
+ * 閲嶅啓basePackage鏂规硶锛屼娇鑳藉瀹炵幇澶氬寘璁块棶锛屽鍒惰创涓婂幓
+ * @author teavamc
+ * @date 2019/1/26
+ * @return com.google.common.base.Predicate<springfox.documentation.RequestHandler>
+ */
+ public static Predicate<RequestHandler> basePackage(String basePackage) {
+ return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true);
+ }
+
+ private static Function<Class<?>, Boolean> handlerPackage(String basePackage) {
+ return input -> {
+ // 寰幆鍒ゆ柇鍖归厤
+ for (String strPackage : basePackage.split(";")) {
+ boolean isMatch = input.getPackage().getName().startsWith(strPackage);
+ if (isMatch) {
+ return true;
+ }
+ }
+ return false;
+ };
+ }
+
+ private static Optional<? extends Class<?>> declaringClass(RequestHandler input) {
+ return Optional.fromNullable(input.declaringClass());
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/swagger/SwaggerInterceptor.java b/server/platform/src/main/java/com/doumee/swagger/SwaggerInterceptor.java
new file mode 100644
index 0000000..8c417e1
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/swagger/SwaggerInterceptor.java
@@ -0,0 +1,45 @@
+package com.doumee.swagger;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * Swagger鎷︽埅鍣�
+ * @author Eva.Caesar Liu
+ * @date 2022/04/18 18:12
+ */
+@Slf4j
+@Component
+public class SwaggerInterceptor implements HandlerInterceptor {
+
+ @Value("${swagger.enabled:false}")
+ private Boolean enabledSwagger;
+
+ @Value("${swagger.redirect-uri:/}")
+ private String redirectUri;
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+ if (!enabledSwagger) {
+ String uri = request.getContextPath();
+ if (StringUtils.isNotBlank(redirectUri))
+ uri = request.getContextPath() + redirectUri;
+ if (StringUtils.isBlank(uri))
+ uri = "/";
+ try {
+ response.sendRedirect(uri);
+ } catch (IOException e) {
+ log.error(String.format("Redirect to '%s' for swagger throw an exception : %s", uri, e.getMessage()), e);
+ }
+ return Boolean.FALSE;
+ }
+ return Boolean.TRUE;
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/swagger/SwaggerInterceptorConfig.java b/server/platform/src/main/java/com/doumee/swagger/SwaggerInterceptorConfig.java
new file mode 100644
index 0000000..133fe7a
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/swagger/SwaggerInterceptorConfig.java
@@ -0,0 +1,23 @@
+package com.doumee.swagger;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * Swagger鎷︽埅鍣ㄩ厤缃�
+ * @author Eva.Caesar Liu
+ * @date 2022/04/18 18:12
+ */
+@Configuration
+public class SwaggerInterceptorConfig implements WebMvcConfigurer {
+
+ @Autowired
+ private SwaggerInterceptor swaggerInterceptor;
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(swaggerInterceptor).addPathPatterns("/swagger-ui.html", "/doc.html");
+ }
+}
diff --git a/server/src/main/java/com/doumee/task/ScheduleTool.java b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
similarity index 100%
rename from server/src/main/java/com/doumee/task/ScheduleTool.java
rename to server/platform/src/main/java/com/doumee/task/ScheduleTool.java
diff --git a/server/platform/src/main/resources/application.yml b/server/platform/src/main/resources/application.yml
new file mode 100644
index 0000000..c6d3f67
--- /dev/null
+++ b/server/platform/src/main/resources/application.yml
@@ -0,0 +1,66 @@
+# 椤圭洰淇℃伅閰嶇疆
+project:
+ name: 棰勯�夋竻鍗曟煡璇�
+ version: 1.0.0
+ env: development
+# env: production
+server:
+ port: 10011
+
+spring:
+# application:
+# name: doumeemes
+ profiles:
+ active: dev
+
+ # JSON杩斿洖閰嶇疆
+ jackson:
+ # 榛樿鏃跺尯
+ time-zone: GMT+8
+ # 榛樿鏃ユ湡鏍煎紡鍖�
+ date-format: yyyy-MM-dd HH:mm:ss
+ servlet:
+ multipart:
+ max-file-size: 200MB
+ max-request-size: 200MB
+ enabled: true
+# MyBatis閰嶇疆
+mybatis-plus:
+ mapper-locations: classpath*:/mappers/**/*.xml
+ configuration:
+ map-underscore-to-camel-case: true
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+# 缂撳瓨鍐呭璁剧疆
+cache:
+ session:
+ # 浼氳瘽杩囨湡鏃堕暱(s)
+ expire: 18000
+ captcha:
+ # 楠岃瘉鐮佽繃鏈熸椂闀�(s)
+ expire: 300
+
+
+# 璺熻釜鏃ュ織
+trace:
+ # 寮�鍚櫤鑳借窡韪ā寮�
+ smart: true
+ # 鎺掗櫎璺熻釜鐨刄RL姝e垯
+ exclude-patterns: .+/list[a-zA-Z0-9\-\_]*$, .+/tree[a-zA-Z0-9\-\_]*$, .+/page[a-zA-Z0-9\-\_]*$, .+/all[a-zA-Z0-9\-\_]*$, /swagger-resources.*
+
+
+# 鏃ュ織閰嶇疆
+logback:
+ level: INFO
+ appender: ${project.env}
+# dao灞傜殑鏃ュ織璁剧疆涓篸ebug锛屾柟渚挎煡鐪媠ql
+logging:
+ level:
+ doumeemes.dao: debug
+
+knife4j:
+ enable: true
+ basic:
+ enable: true
+ username: admin
+ password: 111111
\ No newline at end of file
diff --git a/server/pom.xml b/server/pom.xml
index e7ce42f..012fa87 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -4,14 +4,18 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.doumee</groupId>
- <artifactId>pre_select</artifactId>
+ <artifactId>preselect</artifactId>
<version>1.0.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>pre_select</name>
+ <packaging>pom</packaging>
+ <name>preselect</name>
<description></description>
+ <modules>
+ <module>platform</module>
+ <module>service</module>
+ <module>company</module>
+ </modules>
- <parent>
+ <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
@@ -38,6 +42,10 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- Shiro -->
<dependency>
@@ -214,15 +222,26 @@
</properties>
</profile>
</profiles>
-
<build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <!--<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
- <directory>src/main/resources</directory>
-<!-- <filtering>true</filtering>-->
+ <directory>service/src/main/resources</directory>
+<!– <filtering>true</filtering>–>
</resource>
</resources>
<plugins>
@@ -234,6 +253,6 @@
</configuration>
</plugin>
</plugins>
- </build>
+ </build>-->
</project>
diff --git a/server/service/pom.xml b/server/service/pom.xml
new file mode 100644
index 0000000..5ff9058
--- /dev/null
+++ b/server/service/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.doumee</groupId>
+ <artifactId>preselect</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>service</artifactId>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/server/src/main/java/com/doumee/biz/system/SystemDataPermissionBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemDataPermissionBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemDataPermissionBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemDataPermissionBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/SystemDepartmentBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemDepartmentBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemDepartmentBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemDepartmentBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/SystemDictBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemDictBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemDictBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemDictBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/SystemMenuBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemMenuBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemMenuBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemMenuBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/SystemPermissionBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemPermissionBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemPermissionBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemPermissionBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/SystemPositionBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemPositionBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemPositionBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemPositionBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/SystemRoleBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemRoleBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemRoleBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemRoleBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/SystemUserBiz.java b/server/service/src/main/java/com/doumee/biz/system/SystemUserBiz.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/SystemUserBiz.java
rename to server/service/src/main/java/com/doumee/biz/system/SystemUserBiz.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemDataPermissionBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemDataPermissionBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemDataPermissionBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemDataPermissionBizImpl.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemDepartmentBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemDepartmentBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemDepartmentBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemDepartmentBizImpl.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemDictBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemDictBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemDictBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemDictBizImpl.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemPermissionBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemPermissionBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemPermissionBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemPermissionBizImpl.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemPositionBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemPositionBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemPositionBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemPositionBizImpl.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java
diff --git a/server/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
rename to server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
diff --git a/server/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java b/server/service/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java
similarity index 100%
rename from server/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java
rename to server/service/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java
diff --git a/server/src/main/java/com/doumee/config/mybatis/MyBatisInterceptor.java b/server/service/src/main/java/com/doumee/config/mybatis/MyBatisInterceptor.java
similarity index 100%
rename from server/src/main/java/com/doumee/config/mybatis/MyBatisInterceptor.java
rename to server/service/src/main/java/com/doumee/config/mybatis/MyBatisInterceptor.java
diff --git a/server/src/main/java/com/doumee/config/mybatis/MyBatisPlusConfig.java b/server/service/src/main/java/com/doumee/config/mybatis/MyBatisPlusConfig.java
similarity index 100%
rename from server/src/main/java/com/doumee/config/mybatis/MyBatisPlusConfig.java
rename to server/service/src/main/java/com/doumee/config/mybatis/MyBatisPlusConfig.java
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroAuthFilter.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroAuthFilter.java
new file mode 100644
index 0000000..8f0932f
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroAuthFilter.java
@@ -0,0 +1,30 @@
+package com.doumee.config.shiroMemory;
+
+import com.doumee.core.model.ApiResponse;
+import com.alibaba.fastjson.JSON;
+import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
+import org.springframework.http.HttpStatus;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Shiro璁よ瘉杩囨护鍣紝澶勭悊鏈璇佹儏鍐电殑鍝嶅簲
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+public class ShiroAuthFilter extends FormAuthenticationFilter {
+
+ public ShiroAuthFilter() {
+ super();
+ }
+
+ @Override
+ protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
+ HttpServletResponse servletResponse = (HttpServletResponse) response;
+ servletResponse.setHeader("content-type", "application/json;charset=UTF-8");
+ servletResponse.getWriter().write(JSON.toJSONString(ApiResponse.failed(HttpStatus.UNAUTHORIZED.value(), "鏈櫥褰曟垨鐧诲綍淇℃伅宸茶繃鏈�")));
+ return Boolean.FALSE;
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCache.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCache.java
new file mode 100644
index 0000000..6390a49
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCache.java
@@ -0,0 +1,113 @@
+package com.doumee.config.shiroMemory;
+
+import com.doumee.service.proxy.CacheProxy;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.cache.Cache;
+import org.apache.shiro.cache.CacheException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * Shiro缂撳瓨
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Scope(value = "prototype")
+@Slf4j
+//@Component
+public class ShiroCache implements Cache<Object, Serializable> {
+
+ private String keyPrefix = "";
+
+ @Autowired
+ private CacheProxy<Object, Serializable> cacheProxy;
+
+ public ShiroCache () {
+ log.debug("ShiroCache: new, keyPrefix = [" + keyPrefix + "]");
+ }
+
+ public ShiroCache(String keyPrefix) {
+ log.debug("ShiroCache: new, keyPrefix = [" + keyPrefix + "]");
+ this.keyPrefix = keyPrefix;
+ }
+
+ @Override
+ public Serializable get(Object key) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ return cacheProxy.get(getKey(key));
+ }
+
+ @Override
+ public Serializable put(Object key, Serializable value) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ cacheProxy.put(getKey(key), value);
+ return value;
+ }
+
+ public Serializable put(Object key, Serializable value, int timeout) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ cacheProxy.put(getKey(key), value, timeout);
+ return value;
+ }
+
+ @Override
+ public void clear() throws CacheException {
+ Set<Object> keys = this.keys();
+ cacheProxy.remove(keys);
+ }
+
+ @Override
+ public int size() {
+ return this.keys().size();
+ }
+
+ @Override
+ public Set<Object> keys() {
+ Set<Object> keys = cacheProxy.keys(keyPrefix + "*");
+ if (CollectionUtils.isEmpty(keys)) {
+ return Collections.emptySet();
+ }
+ return keys;
+ }
+
+ @Override
+ public Collection<Serializable> values() {
+ Collection<Serializable> values = new ArrayList<>();
+ Set<Object> keys = this.keys();
+ if (CollectionUtils.isEmpty(keys)) {
+ return values;
+ }
+ for (Object k : keys) {
+ values.add(cacheProxy.get(k));
+ }
+ return values;
+ }
+
+ @Override
+ public Serializable remove(Object key) throws CacheException {
+ if (key == null) {
+ return null;
+ }
+ Serializable value = this.get(getKey(key));
+ cacheProxy.remove(getKey(key));
+ return value;
+ }
+
+ private Object getKey (Object key) {
+ return (key instanceof String ? (this.keyPrefix + key) : key);
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCacheManager.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCacheManager.java
new file mode 100644
index 0000000..d437489
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCacheManager.java
@@ -0,0 +1,44 @@
+package com.doumee.config.shiroMemory;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.cache.Cache;
+import org.apache.shiro.cache.CacheException;
+import org.apache.shiro.cache.CacheManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+/**
+ * 鑷畾涔塖hiro CacheManager
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Slf4j
+//@Component
+public class ShiroCacheManager implements CacheManager {
+
+ private final ConcurrentMap<String, Cache> caches = new ConcurrentHashMap();
+
+ private static ApplicationContext applicationContext;
+
+ @Override
+ public <K, V> Cache<K, V> getCache(String name) throws CacheException {
+ log.debug("get cache, name=" + name);
+ Cache cache = this.caches.get(name);
+ if (cache == null) {
+ cache = applicationContext.getBean(ShiroCache.class, "shiro:cache:");
+ this.caches.put(name, cache);
+ }
+ return cache;
+ }
+
+ @Autowired
+ public void setApplicationContext (ApplicationContext applicationContext) {
+ if (ShiroCacheManager.applicationContext == null) {
+ ShiroCacheManager.applicationContext = applicationContext;
+ }
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroConfig.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroConfig.java
new file mode 100644
index 0000000..509c63d
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroConfig.java
@@ -0,0 +1,142 @@
+package com.doumee.config.shiroMemory;
+
+import org.apache.coyote.http11.AbstractHttp11Protocol;
+import org.apache.shiro.mgt.SecurityManager;
+import org.apache.shiro.session.mgt.SessionManager;
+import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
+import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
+import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.servlet.Filter;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Shiro閰嶇疆
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+//@Configuration
+public class ShiroConfig {
+
+ @Value("${cache.session.expire}")
+ private int sessionExpireTime;
+
+ @Autowired
+ private ShiroCredentialsMatcher shiroCredentialsMatcher;
+
+ @Autowired
+ private ShiroSessionDAO shiroSessionDAO;
+
+ @Autowired
+ private ShiroCacheManager shiroCacheManager;
+
+ @Autowired
+ private ShiroRealm shiroRealm;
+
+ @Bean
+ public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
+ DefaultAdvisorAutoProxyCreator autoProxyCreator = new DefaultAdvisorAutoProxyCreator();
+ autoProxyCreator.setProxyTargetClass(true);
+ return autoProxyCreator;
+ }
+
+ @Bean
+ public SessionManager sessionManager() {
+ ShiroSessionManager sessionManager = new ShiroSessionManager();
+ sessionManager.setSessionDAO(shiroSessionDAO);
+ return sessionManager;
+ }
+
+ @Bean
+ public SecurityManager securityManager() {
+ DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
+ securityManager.setRealm(shiroRealm);
+ securityManager.setSessionManager(this.sessionManager());
+ securityManager.setCacheManager(shiroCacheManager);
+ return securityManager;
+ }
+
+ @Bean
+ public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
+ ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
+ shiroFilterFactoryBean.setSecurityManager(securityManager);
+ Map<String, String> map = new LinkedHashMap<>();
+ // 璺緞鎷︽埅閰嶇疆
+ map.put("/system/dictData/companyUserRules","anon");
+ map.put("/system/login", "anon");
+ map.put("/system/logout", "anon");
+ map.put("/common/captcha", "anon");
+ map.put("/business/areas/*", "anon");
+ map.put("/business/company/register", "anon");
+ map.put("/business/labels/page","anon");
+ map.put("/public/uploadPicture","anon");
+ map.put("/public/uploadLocal","anon");
+ map.put("/business/*/list","anon");
+ map.put("/business/goods/goodsPage","anon");
+ map.put("/business/goods/h5Image","anon");
+ map.put("/business/goods/export","anon");
+ map.put("/business/goods/listForH5","anon");
+
+
+ // - 鏀捐swagger
+ map.put("/doc.html", "anon");
+ map.put("/webjars/**", "anon");
+ map.put("/swagger-resources/**", "anon");
+ map.put("/v2/api-docs/**", "anon");
+
+ // - 鍏朵粬鎺ュ彛缁熶竴鎷︽埅
+ map.put("/**", "authc");
+ shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
+ // 娣诲姞璁よ瘉杩囨护鍣�
+ Map<String, Filter> filters = new LinkedHashMap<>();
+ filters.put("authc", new ShiroAuthFilter());
+ shiroFilterFactoryBean.setFilters(filters);
+ return shiroFilterFactoryBean;
+ }
+
+ @Bean
+ public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
+ AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
+ authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
+ return authorizationAttributeSourceAdvisor;
+ }
+
+ @Bean
+ public ShiroSessionDAO getShiroSessionDAO () {
+ shiroSessionDAO.setExpireTime(sessionExpireTime);
+ return shiroSessionDAO;
+ }
+
+ @Bean
+ public ShiroRealm getShiroRealm () {
+ shiroRealm.setCredentialsMatcher(shiroCredentialsMatcher);
+ return shiroRealm;
+ }
+
+ private int maxUploadSizeInMb = 10 * 1024 * 1024; // 10 MB
+
+ @Bean
+ public TomcatServletWebServerFactory tomcatEmbedded() {
+
+ TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
+ tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
+ // connector other settings...
+ // configure maxSwallowSize
+ if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) {
+ // -1 means unlimited, accept bytes
+ ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1);
+ }
+ });
+ return tomcat;
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCredentialsMatcher.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCredentialsMatcher.java
new file mode 100644
index 0000000..434588b
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroCredentialsMatcher.java
@@ -0,0 +1,41 @@
+package com.doumee.config.shiroMemory;
+
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.system.SystemUserService;
+import org.apache.shiro.authc.AuthenticationInfo;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authc.UsernamePasswordToken;
+import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+/**
+ * Shiro瀵嗙爜姣斿澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+//@Component
+public class ShiroCredentialsMatcher extends HashedCredentialsMatcher {
+
+ @Lazy
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Override
+ public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
+ UsernamePasswordToken usernamePasswordToken = (UsernamePasswordToken) token;
+ SystemUser queryUserDto = new SystemUser();
+ queryUserDto.setUsername(usernamePasswordToken.getUsername());
+ queryUserDto.setDeleted(Boolean.FALSE);
+ SystemUser systemUser = systemUserService.findOne(queryUserDto);
+ if (systemUser == null) {
+ return Boolean.FALSE;
+ }
+ // 鍔犲瘑瀵嗙爜
+ String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt());
+ // 姣旇緝瀵嗙爜
+ return this.equals(pwd, systemUser.getPassword());
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroRealm.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroRealm.java
new file mode 100644
index 0000000..6e5d23e
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroRealm.java
@@ -0,0 +1,90 @@
+package com.doumee.config.shiroMemory;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.system.model.SystemPermission;
+import com.doumee.dao.system.model.SystemRole;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.system.SystemPermissionService;
+import com.doumee.service.system.SystemRoleService;
+import com.doumee.service.system.SystemUserService;
+import org.apache.shiro.authc.AuthenticationException;
+import org.apache.shiro.authc.AuthenticationInfo;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authc.SimpleAuthenticationInfo;
+import org.apache.shiro.authz.AuthorizationInfo;
+import org.apache.shiro.authz.SimpleAuthorizationInfo;
+import org.apache.shiro.realm.AuthorizingRealm;
+import org.apache.shiro.subject.PrincipalCollection;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 鑷畾涔塕ealm锛屽鐞嗚璇佸拰鏉冮檺
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+//@Component
+public class ShiroRealm extends AuthorizingRealm {
+
+ @Lazy
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Lazy
+ @Autowired
+ private SystemRoleService systemRoleService;
+
+ @Lazy
+ @Autowired
+ private SystemPermissionService systemPermissionService;
+
+ /**
+ * 鏉冮檺澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+ @Override
+ protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo)principalCollection.getPrimaryPrincipal();
+ // 璁剧疆鐢ㄦ埛瑙掕壊鍜屾潈闄�
+ SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
+ authorizationInfo.addRoles(loginUserInfo.getRoles());
+ authorizationInfo.addStringPermissions(loginUserInfo.getPermissions());
+ return authorizationInfo;
+ }
+
+ /**
+ * 璁よ瘉澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+ @Override
+ protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
+ // 鑾峰彇鐢ㄦ埛鍚�
+ String username = authenticationToken.getPrincipal().toString();
+ // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
+ SystemUser queryDto = new SystemUser();
+ queryDto.setUsername(username);
+ queryDto.setDeleted(Boolean.FALSE);
+ SystemUser user = systemUserService.findOne(queryDto);
+ if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
+ }
+ if (user == null) {
+ return null;
+ }
+ // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+ List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
+ List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
+ LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
+ // 楠岃瘉鐢ㄦ埛
+ return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
+ }
+
+}
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroSessionDAO.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroSessionDAO.java
new file mode 100644
index 0000000..b9e9316
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroSessionDAO.java
@@ -0,0 +1,110 @@
+package com.doumee.config.shiroMemory;
+
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.session.UnknownSessionException;
+import org.apache.shiro.session.mgt.SimpleSession;
+import org.apache.shiro.session.mgt.eis.SessionDAO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+import java.util.*;
+
+/**
+ * 鑷畾涔塖hiro SessionDAO锛屽皢浼氳瘽淇℃伅瀛樺叆缂撳瓨涓�
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@Slf4j
+//@Component
+public class ShiroSessionDAO implements SessionDAO {
+
+ private static final String KEY_PREFIX = "shiro:session:";
+
+ @Autowired
+ private ShiroCache shiroCache;
+
+ private int expireTime = 1800;
+
+ @Autowired
+ private ShiroTokenManager shiroTokenManager;
+
+ @Override
+ public Serializable create(Session session) {
+ if (session == null) {
+ log.error("session is null");
+ throw new UnknownSessionException("session is null");
+ }
+ Serializable sessionId = shiroTokenManager.build();
+ ((SimpleSession)session).setId(sessionId);
+ this.saveSession(session);
+ return sessionId;
+ }
+
+ @Override
+ public Session readSession(Serializable sessionId) throws UnknownSessionException{
+ if (sessionId == null) {
+ log.warn("session id is null");
+ return null;
+ }
+ if (sessionId instanceof String) {
+ // 瀵筍essionId杩涜楠岃瘉锛堝彲鐢ㄤ簬闃叉Session鎹曡幏銆佹毚鍔涙崟鎹夌瓑涓�绯诲垪瀹夊叏闂锛屾渶缁堝畨鍏ㄦ�у彇鍐充簬check濡備綍瀹炵幇锛�
+ shiroTokenManager.check((String) sessionId);
+ }
+ log.debug("read session from cache");
+ Session session = getSessionFromCache(sessionId);
+ if (session == null) {
+ throw new UnknownSessionException("There is no session with id [" + sessionId + "]");
+ }
+ return session;
+ }
+
+ @Override
+ public void update(Session session) throws UnknownSessionException {
+ this.saveSession(session);
+ }
+
+ @Override
+ public void delete(Session session) {
+ if (session != null && session.getId() != null) {
+ shiroCache.remove(KEY_PREFIX + session.getId());
+ }
+ }
+
+ @Override
+ public Collection<Session> getActiveSessions() {
+ Set<Session> sessions = new HashSet<>();
+ Set<Object> keys = shiroCache.keys();
+ if (keys != null && keys.size() > 0) {
+ Iterator iter = keys.iterator();
+ while(iter.hasNext()) {
+ sessions.add((Session) shiroCache.get(iter.next()));
+ }
+ }
+ return sessions;
+ }
+
+ private void saveSession(Session session) throws UnknownSessionException {
+ if (session == null || session.getId() == null) {
+ log.error("session or session id is null");
+ throw new UnknownSessionException("session or session id is null");
+ }
+ shiroCache.put(KEY_PREFIX + session.getId(), (SimpleSession)session, expireTime);
+ }
+
+ private Session getSessionFromCache (Serializable sessionId) {
+ Serializable object = shiroCache.get(KEY_PREFIX + sessionId);
+ Session session = null;
+ if (object != null) {
+ session = (Session)shiroCache.get(KEY_PREFIX + sessionId);
+ }
+ return session;
+ }
+
+ public void setExpireTime (int expireTime) {
+ this.expireTime = expireTime;
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroSessionManager.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroSessionManager.java
new file mode 100644
index 0000000..9f26e06
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroSessionManager.java
@@ -0,0 +1,86 @@
+package com.doumee.config.shiroMemory;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.session.mgt.DefaultSessionManager;
+import org.apache.shiro.session.mgt.SessionContext;
+import org.apache.shiro.session.mgt.SessionKey;
+import org.apache.shiro.web.servlet.Cookie;
+import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
+import org.apache.shiro.web.servlet.SimpleCookie;
+import org.apache.shiro.web.session.mgt.WebSessionManager;
+import org.apache.shiro.web.util.WebUtils;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.Serializable;
+
+/**
+ * 鑷畾涔変細璇濈鐞嗗櫒
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Slf4j
+public class ShiroSessionManager extends DefaultSessionManager implements WebSessionManager {
+
+ private static final String AUTH_TOKEN = "eva-auth-token";
+
+ @Override
+ protected void onStart(Session session, SessionContext context) {
+ super.onStart(session, context);
+ if (!WebUtils.isHttp(context)) {
+ log.debug("SessionContext argument is not Http compatible or does not have an Http request/response pair. No session ID cookie will be set.");
+ return;
+ }
+ HttpServletRequest request = WebUtils.getHttpRequest(context);
+ HttpServletResponse response = WebUtils.getHttpResponse(context);
+ Serializable sessionId = session.getId();
+ this.storeSessionId(sessionId, request, response);
+ request.removeAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE);
+ request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_IS_NEW, Boolean.TRUE);
+ }
+
+ @Override
+ public Serializable getSessionId(SessionKey key) {
+ Serializable sessionId = super.getSessionId(key);
+ if (sessionId == null && WebUtils.isWeb(key)) {
+ ServletRequest servletRequest = WebUtils.getRequest(key);
+ if (!(servletRequest instanceof HttpServletRequest)) {
+ log.trace("Can not get sessionId from header, the request is not HttpServletRequest");
+ return null;
+ }
+ HttpServletRequest request = (HttpServletRequest) servletRequest;
+ // 浠巆ookie涓幏鍙栬璇�
+ javax.servlet.http.Cookie[] cookies = request.getCookies();
+ if (cookies != null) {
+ for (javax.servlet.http.Cookie cookie : cookies) {
+ if (AUTH_TOKEN.equals(cookie.getName())) {
+ return cookie.getValue();
+ }
+ }
+ }
+ // 浠巋eader涓幏鍙栬璇�
+ return request.getHeader(AUTH_TOKEN);
+ }
+ return sessionId;
+ }
+
+ @Override
+ public boolean isServletContainerSessions() {
+ return false;
+ }
+
+ private void storeSessionId(Serializable currentId, HttpServletRequest request, HttpServletResponse response) {
+ if (currentId == null) {
+ String msg = "sessionId cannot be null when persisting for subsequent requests.";
+ throw new IllegalArgumentException(msg);
+ }
+ Cookie cookie = new SimpleCookie(AUTH_TOKEN);
+ cookie.setHttpOnly(false);
+ String idString = currentId.toString();
+ cookie.setValue(idString);
+ cookie.saveTo(request, response);
+ log.trace("Set session ID cookie for session with id {}", idString);
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroTokenManager.java b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroTokenManager.java
new file mode 100644
index 0000000..795bdcf
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/config/shiroMemory/ShiroTokenManager.java
@@ -0,0 +1,25 @@
+package com.doumee.config.shiroMemory;
+
+import com.doumee.core.exception.UnSafeSessionException;
+import org.springframework.stereotype.Component;
+
+import java.util.UUID;
+
+/**
+ * 榛樿Token绠$悊鍣�
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+//@Component
+public class ShiroTokenManager {
+
+ String build() {
+ return UUID.randomUUID().toString();
+ }
+
+ void check(String token) throws UnSafeSessionException {
+ if (token == null || token.length() != 36) {
+ throw new UnSafeSessionException();
+ }
+ }
+}
diff --git a/server/src/main/java/com/doumee/core/annotation/excel/ExcelColumn.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelColumn.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/excel/ExcelColumn.java
rename to server/service/src/main/java/com/doumee/core/annotation/excel/ExcelColumn.java
diff --git a/server/src/main/java/com/doumee/core/annotation/excel/ExcelDataHandlerAdapter.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelDataHandlerAdapter.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/excel/ExcelDataHandlerAdapter.java
rename to server/service/src/main/java/com/doumee/core/annotation/excel/ExcelDataHandlerAdapter.java
diff --git a/server/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
rename to server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
diff --git a/server/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
rename to server/service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
diff --git a/server/src/main/java/com/doumee/core/annotation/excel/Reflections.java b/server/service/src/main/java/com/doumee/core/annotation/excel/Reflections.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/excel/Reflections.java
rename to server/service/src/main/java/com/doumee/core/annotation/excel/Reflections.java
diff --git a/server/src/main/java/com/doumee/core/annotation/pr/PreventRepeat.java b/server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeat.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/pr/PreventRepeat.java
rename to server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeat.java
diff --git a/server/src/main/java/com/doumee/core/annotation/pr/PreventRepeatAdapter.java b/server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatAdapter.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/pr/PreventRepeatAdapter.java
rename to server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatAdapter.java
diff --git a/server/src/main/java/com/doumee/core/annotation/pr/PreventRepeatDefaultHandler.java b/server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatDefaultHandler.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/pr/PreventRepeatDefaultHandler.java
rename to server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatDefaultHandler.java
diff --git a/server/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java b/server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java
rename to server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java
diff --git a/server/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptorConfig.java b/server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptorConfig.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptorConfig.java
rename to server/service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptorConfig.java
diff --git a/server/src/main/java/com/doumee/core/annotation/trace/Trace.java b/server/service/src/main/java/com/doumee/core/annotation/trace/Trace.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/trace/Trace.java
rename to server/service/src/main/java/com/doumee/core/annotation/trace/Trace.java
diff --git a/server/src/main/java/com/doumee/core/annotation/trace/TraceInterceptor.java b/server/service/src/main/java/com/doumee/core/annotation/trace/TraceInterceptor.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/trace/TraceInterceptor.java
rename to server/service/src/main/java/com/doumee/core/annotation/trace/TraceInterceptor.java
diff --git a/server/src/main/java/com/doumee/core/annotation/trace/TraceInterceptorConfig.java b/server/service/src/main/java/com/doumee/core/annotation/trace/TraceInterceptorConfig.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/trace/TraceInterceptorConfig.java
rename to server/service/src/main/java/com/doumee/core/annotation/trace/TraceInterceptorConfig.java
diff --git a/server/src/main/java/com/doumee/core/annotation/trace/TraceStatus.java b/server/service/src/main/java/com/doumee/core/annotation/trace/TraceStatus.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/trace/TraceStatus.java
rename to server/service/src/main/java/com/doumee/core/annotation/trace/TraceStatus.java
diff --git a/server/src/main/java/com/doumee/core/annotation/trace/TraceType.java b/server/service/src/main/java/com/doumee/core/annotation/trace/TraceType.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/annotation/trace/TraceType.java
rename to server/service/src/main/java/com/doumee/core/annotation/trace/TraceType.java
diff --git a/server/src/main/java/com/doumee/core/aware/DataPermissionAware.java b/server/service/src/main/java/com/doumee/core/aware/DataPermissionAware.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/aware/DataPermissionAware.java
rename to server/service/src/main/java/com/doumee/core/aware/DataPermissionAware.java
diff --git a/server/src/main/java/com/doumee/core/aware/DataPermissionMapping.java b/server/service/src/main/java/com/doumee/core/aware/DataPermissionMapping.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/aware/DataPermissionMapping.java
rename to server/service/src/main/java/com/doumee/core/aware/DataPermissionMapping.java
diff --git a/server/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java b/server/service/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java
rename to server/service/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java
diff --git a/server/src/main/java/com/doumee/core/cache/LocalCache.java b/server/service/src/main/java/com/doumee/core/cache/LocalCache.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/cache/LocalCache.java
rename to server/service/src/main/java/com/doumee/core/cache/LocalCache.java
diff --git a/server/src/main/java/com/doumee/core/constants/DataPermissionConstants.java b/server/service/src/main/java/com/doumee/core/constants/DataPermissionConstants.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/constants/DataPermissionConstants.java
rename to server/service/src/main/java/com/doumee/core/constants/DataPermissionConstants.java
diff --git a/server/src/main/java/com/doumee/core/constants/ExceptionLevel.java b/server/service/src/main/java/com/doumee/core/constants/ExceptionLevel.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/constants/ExceptionLevel.java
rename to server/service/src/main/java/com/doumee/core/constants/ExceptionLevel.java
diff --git a/server/src/main/java/com/doumee/core/constants/OperaType.java b/server/service/src/main/java/com/doumee/core/constants/OperaType.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/constants/OperaType.java
rename to server/service/src/main/java/com/doumee/core/constants/OperaType.java
diff --git a/server/src/main/java/com/doumee/core/constants/ResponseStatus.java b/server/service/src/main/java/com/doumee/core/constants/ResponseStatus.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/constants/ResponseStatus.java
rename to server/service/src/main/java/com/doumee/core/constants/ResponseStatus.java
diff --git a/server/src/main/java/com/doumee/core/exception/BusinessException.java b/server/service/src/main/java/com/doumee/core/exception/BusinessException.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/exception/BusinessException.java
rename to server/service/src/main/java/com/doumee/core/exception/BusinessException.java
diff --git a/server/src/main/java/com/doumee/core/exception/UnSafeSessionException.java b/server/service/src/main/java/com/doumee/core/exception/UnSafeSessionException.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/exception/UnSafeSessionException.java
rename to server/service/src/main/java/com/doumee/core/exception/UnSafeSessionException.java
diff --git a/server/src/main/java/com/doumee/core/model/ApiResponse.java b/server/service/src/main/java/com/doumee/core/model/ApiResponse.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/model/ApiResponse.java
rename to server/service/src/main/java/com/doumee/core/model/ApiResponse.java
diff --git a/server/src/main/java/com/doumee/core/model/LoginUserInfo.java b/server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/model/LoginUserInfo.java
rename to server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java
diff --git a/server/src/main/java/com/doumee/core/model/PageData.java b/server/service/src/main/java/com/doumee/core/model/PageData.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/model/PageData.java
rename to server/service/src/main/java/com/doumee/core/model/PageData.java
diff --git a/server/src/main/java/com/doumee/core/model/PageWrap.java b/server/service/src/main/java/com/doumee/core/model/PageWrap.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/model/PageWrap.java
rename to server/service/src/main/java/com/doumee/core/model/PageWrap.java
diff --git a/server/src/main/java/com/doumee/core/servlet/ServletDuplicateInputStream.java b/server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateInputStream.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/servlet/ServletDuplicateInputStream.java
rename to server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateInputStream.java
diff --git a/server/src/main/java/com/doumee/core/servlet/ServletDuplicateOutputStream.java b/server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateOutputStream.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/servlet/ServletDuplicateOutputStream.java
rename to server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateOutputStream.java
diff --git a/server/src/main/java/com/doumee/core/servlet/ServletDuplicateRequestWrapper.java b/server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateRequestWrapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/servlet/ServletDuplicateRequestWrapper.java
rename to server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateRequestWrapper.java
diff --git a/server/src/main/java/com/doumee/core/servlet/ServletDuplicateResponseWrapper.java b/server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateResponseWrapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/servlet/ServletDuplicateResponseWrapper.java
rename to server/service/src/main/java/com/doumee/core/servlet/ServletDuplicateResponseWrapper.java
diff --git a/server/src/main/java/com/doumee/core/servlet/ServletRewriteFilter.java b/server/service/src/main/java/com/doumee/core/servlet/ServletRewriteFilter.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/servlet/ServletRewriteFilter.java
rename to server/service/src/main/java/com/doumee/core/servlet/ServletRewriteFilter.java
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
new file mode 100644
index 0000000..412fa7e
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -0,0 +1,711 @@
+package com.doumee.core.utils;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+
+import java.io.File;
+import java.math.BigDecimal;
+import java.net.URLDecoder;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class Constants {
+
+ public static final int ZERO = 0 ;
+ public static final int ONE = 1 ;
+ public static final int TWO = 2 ;
+ public static final int THREE = 3 ;
+ public static final int SEVEN = 7 ;
+ public static final String ACCESS_ID="ACCESS_ID";
+ public static final String BUCKETNAME = "BUCKETNAME";
+ public static final String OSS = "OSS";
+ public static final String ACCESS_KEY = "ACCESS_KEY";
+ public static final String ENDPOINT = "ENDPOINT";
+ public static final String RESOURCE_PATH = "RESOURCE_PATH";
+
+
+ public static final String SYSTEM ="SYSTEM";
+ public static final String GOODS_IMG_DIR ="GOODS_IMG_DIR";
+ public static final String CREDIT_CODE_REGEX = "[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}";
+
+
+ public static final String ROOT_PATH="ROOT_PATH";//鏈湴鏂囦欢涓婁紶鍦板潃閰嶇疆
+ public static final String FILE_DIR="FILE_DIR";//鏈湴鏂囦欢璁块棶鍦板潃閰嶇疆
+ public static final String HOME_IMAGE="HOME_IMAGE";//H5 棣栭〉鍥�
+
+ public static final String PROJECTS = "PROJECTS";
+ /**
+ * 浼佷笟鏁版嵁鏉ユ簮 0骞冲彴娉ㄥ唽 1鍚庡彴瀵煎叆
+ */
+ public interface ORIGIN{
+ public static final int platformRegister = 0;
+ public static final int backstageImport = 1;
+ }
+
+ public static BigDecimal formatBigdecimal(BigDecimal d) {
+ if (d == null) {
+ d = new BigDecimal(0.0);
+ }
+ //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
+// d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
+ return d;
+ }
+ public static BigDecimal formatBigdecimal4Float(BigDecimal d) {
+ if (d == null) {
+ d = new BigDecimal(0.0);
+ }
+ //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
+ d = d.setScale(4, BigDecimal.ROUND_HALF_UP);
+ return d;
+ }
+
+ public static boolean equalsObject(Object a, Object b) {
+ if (a == null && b == null) {
+ return true;
+ }
+ if (a != null){
+ return a.equals(b);
+ }
+ return false;
+ }
+
+ public static boolean equalsInteger(Integer a, Integer b) {
+ if (formatIntegerNum(a) == formatIntegerNum(b)) {
+ return true;
+ }
+ return false;
+ }
+
+ public static int formatIntegerNum(Integer d) {
+ if (d == null) {
+ d = 0;
+ }
+ return d.intValue();
+ }
+ /**
+ * 鐘舵�� 0宸蹭繚瀛樸��1寰呭鏍搞��2瀹℃牳閫氳繃銆�3閫�鍥炰慨鏀广��4瀹℃牳椹冲洖銆�5寰呮湇鍔℃満鏋勭‘璁ゃ��6鏈嶅姟鏈烘瀯鎷掔粷銆�7宸插垎閰嶆湇鍔℃満鏋勩��8璇婃柇涓�
+ * 锛堟垚鍔熶笂浼犵涓�浠芥湇鍔¤祫鏂欙級銆�9鏈嶅姟瀹屾垚銆�10宸插垎閰嶈瘎鍒嗕笓瀹躲��11宸插畬鎴愶紙涓撳涓婁紶璇勫垎锛� 12閫�鍥炰慨鏀逛腑 13 宸插畬鎴愰��鍥炰慨鏀�
+ */
+ public enum DeclareStatus {
+
+ EDITING(0, "宸蹭繚瀛�", "宸蹭繚瀛�"),
+ CHECK_WAIT(1, "寰呭鏍�", "寰呭鏍�"),
+ CHECK_PASS(2, "瀹℃牳閫氳繃", "瀹℃牳閫氳繃"),
+ CHECK_EDIT(3, "閫�鍥炰慨鏀�", "閫�鍥炰慨鏀�"),
+ CHECK_BACK(4, "瀹℃牳椹冲洖", "瀹℃牳椹冲洖"),
+ WAIT_SO_COMFIRM(5, "寰呮湇鍔℃満鏋勭‘璁�", "寰呮湇鍔℃満鏋勭‘璁�"),
+ SO_BACK(6, "鏈嶅姟鏈烘瀯鎷掔粷", "鏈嶅姟鏈烘瀯鎷掔粷"),
+ SELECTED_SO(7, "宸插垎閰嶆湇鍔℃満鏋�", "宸插垎閰嶆湇鍔℃満鏋�"),
+ SERVING(8, "璇婃柇涓�", "璇婃柇涓�"),
+ SERVICE_DONE(9, "鏈嶅姟瀹屾垚", "鏈嶅姟瀹屾垚"),
+ SELECT_EXPERT(10, "宸插垎閰嶈瘎鍒嗕笓瀹�", "宸插垎閰嶈瘎鍒嗕笓瀹�"),
+ DONE(11, "宸插畬鎴�", "宸插畬鎴�"),
+ BACK_SERVER_ING(12, "閫�鍥炰慨鏀�", "璇婃柇鏈嶅姟閫�鍥炰慨鏀�"),
+ BACK_SERVER_DONE(13, "閫�鍥炰慨鏀瑰畬鎴�", "璇婃柇鏈嶅姟閫�鍥炲凡淇敼"),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private String noteinfo;// 鎻忚堪
+
+ // 鏋勯�犳柟娉�
+ DeclareStatus(int key, String name, String noteinfo) {
+ this.name = name;
+ this.key = key;
+ this.noteinfo = noteinfo;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (DeclareStatus c : DeclareStatus.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getNoteinfo(int index) {
+ for (DeclareStatus c : DeclareStatus.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return "-";
+ }
+
+ // 鏅�氭柟娉�
+ public static String getInfo(int index) {
+ for (DeclareStatus c : DeclareStatus.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getNoteinfo() {
+ return noteinfo;
+ }
+
+ }
+
+ public enum DeclareCheckType{
+ EDITING(0, "宸蹭繚瀛�", "宸蹭繚瀛�"),
+ CHECK_WAIT(1, "寰呭鏍�", "寰呭鏍�"),
+ CHECK_PASS(2, "瀹℃牳閫氳繃", "瀹℃牳閫氳繃"),
+ CHECK_EDIT(3, "閫�鍥炰慨鏀�", "閫�鍥炰慨鏀�"),
+ CHECK_BACK(4, "瀹℃牳椹冲洖", "瀹℃牳椹冲洖"),
+ WAIT_SO_COMFIRM(5, "寰呮湇鍔℃満鏋勭‘璁�", "寰呮湇鍔℃満鏋勭‘璁�"),
+ SO_BACK(6, "鏈嶅姟鏈烘瀯鎷掔粷", "鏈嶅姟鏈烘瀯鎷掔粷"),
+ SELECTED_SO(7, "宸插垎閰嶆湇鍔℃満鏋�", "宸插垎閰嶆湇鍔℃満鏋�"),
+ SERVING(8, "璇婃柇涓�", "璇婃柇涓�"),
+ SERVICE_DONE(9, "鏈嶅姟瀹屾垚", "鏈嶅姟瀹屾垚"),
+ SELECT_EXPERT(10, "宸插垎閰嶈瘎鍒嗕笓瀹�", "宸插垎閰嶈瘎鍒嗕笓瀹�"),
+ DONE(11, "宸插畬鎴�", "宸插畬鎴�"),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private String noteinfo;// 鎻忚堪
+
+ // 鏋勯�犳柟娉�
+ DeclareCheckType(int key, String name, String noteinfo) {
+ this.name = name;
+ this.key = key;
+ this.noteinfo = noteinfo;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (ProjectRecord c : ProjectRecord.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getInfo(int index) {
+ for (ProjectRecord c : ProjectRecord.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getNoteinfo() {
+ return noteinfo;
+ }
+ }
+
+ public enum DeclareHistoryType{
+
+ EDITING(0,"淇濆瓨","淇濆瓨"),
+ CHECK_WAIT_COUNTY(1,"寰呭幙鍖哄鏍�",""),
+ CHECK_PASS_COUNTY(2,"鍘垮尯瀹℃牳閫氳繃",""),
+ CHECK_EDIT_COUNTY(3,"鍘垮尯閫�鍥炰慨鏀�",""),
+ CHECK_BACK_COUNTY(4,"鍘垮尯瀹℃牳椹冲洖",""),
+ TWO_WAY_WAIT_SO_COMFIRM(5,"鍙岄�夊緟鏈嶅姟鏈烘瀯纭",""),
+ WO_WAY_WAIT_SO_BACK(6,"鍙岄�夋湇鍔℃満鏋勬嫆缁�",""),
+ SELECTED_SO(7,"宸插垎閰嶆湇鍔℃満鏋�",""),
+ SO_SERVICE(8,"鏈嶅姟鏈烘瀯璇婃柇",""),
+ SO_SERVICE_DONE(9,"鏈嶅姟鏈烘瀯鏈嶅姟瀹屾垚",""),
+ SELECT_EXPERT(10,"鍒嗛厤璇勫垎涓撳",""),
+ EXPERT_SCORE(11,"涓撳瀹屾垚璇勫垎","")
+ ;
+
+ private int key;
+ private String name;
+
+ private String noteInfo;
+
+ DeclareHistoryType(int key, String name, String noteInfo) {
+ this.key = key;
+ this.name = name;
+ this.noteInfo = noteInfo;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getNoteInfo() {
+ return noteInfo;
+ }
+
+ public void setNoteInfo(String noteInfo) {
+ this.noteInfo = noteInfo;
+ }
+ }
+ /**
+ * 鍏宠仈瀵硅薄绫诲瀷 0浼佷笟钀ヤ笟鎵х収 1宸ュ晢鍙樻洿鐧昏 2椤圭洰鐢虫姤浼佷笟璧勬枡 3浼佷笟璇勫垎琛� 4璇婃柇鎶ュ憡 5璇婃柇鏈嶅姟璧勬枡 6涓撳璇勫垎鎶ュ憡 7鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟璧勬枡 8浼佷笟璧勮川 9浼佷笟涓爣閫氱煡涔� 10椤圭洰鍥剧墖
+ */
+ public enum MultiFile{
+ BUSINESS_LICENSE(0, "浼佷笟钀ヤ笟鎵х収", "浼佷笟钀ヤ笟鎵х収"),
+ BUSINESS_CHANGE(1, "宸ュ晢鍙樻洿鐧昏", "宸ュ晢鍙樻洿鐧昏"),
+ BUSINESS_DECLARE(2, "椤圭洰鐢虫姤浼佷笟璧勬枡", "椤圭洰鐢虫姤浼佷笟璧勬枡"),
+ BUSINESS_SCORE(3, "浼佷笟璇勫垎琛�", "浼佷笟璇勫垎琛�"),
+ BUSINESS_DIAGNOSIS(4, "璇婃柇鎶ュ憡", "璇婃柇鎶ュ憡"),
+ BUSINESS_DIA_SERVICE(5, "璇婃柇鏈嶅姟璧勬枡", "璇婃柇鏈嶅姟璧勬枡"),
+ BUSINESS_EXPERT(6, "涓撳璇勫垎鎶ュ憡", "涓撳璇勫垎鎶ュ憡"),
+ BUSINESS_UP_SERVICE(7, "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟璧勬枡", "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟璧勬枡"),
+ BUSINESS_ZZ(8, "浼佷笟璧勮川", "浼佷笟璧勮川"),
+ BUSINESS_NOTICE(9, "浼佷笟涓爣閫氱煡涔�", "浼佷笟涓爣閫氱煡涔�"),
+ BUSINESS_PROURL(10, "椤圭洰鍥剧墖", "椤圭洰鍥剧墖"),
+
+ COMPANY_CHANGE_LICENSE(11,"鍙樻洿浼佷笟钀ヤ笟鎵х収","鍙樻洿浼佷笟钀ヤ笟鎵х収"),
+
+ COMPANY_CHANGE_CHANGE(12,"鍙樻洿宸ュ晢鍙樻洿鐧昏","鍙樻洿宸ュ晢鍙樻洿鐧昏"),
+ BUSINESS_HC(13, "缁煎悎鏈嶅姟鍗曚綅鏍告煡璧勬枡", "缁煎悎鏈嶅姟鍗曚綅鏍告煡璧勬枡"),
+
+ BUSINESS_UP_EXTRA(14, "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟琛ュ厖璧勬枡", "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟琛ュ厖璧勬枡"),
+
+
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private String noteinfo;// 鎻忚堪
+
+ // 鏋勯�犳柟娉�
+ MultiFile(int key, String name, String noteinfo) {
+ this.name = name;
+ this.key = key;
+ this.noteinfo = noteinfo;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (ProjectRecord c : ProjectRecord.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getInfo(int index) {
+ for (ProjectRecord c : ProjectRecord.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getNoteinfo() {
+ return noteinfo;
+ }
+
+ private volatile static Set<Integer> multifileCompanyType;
+
+ private volatile static Set<Integer> multifileProjectType;
+
+ public static Set<Integer> multifileCompanyType(){
+ // 0浼佷笟钀ヤ笟鎵х収 1宸ュ晢鍙樻洿鐧昏 7浼佷笟璧勮川 8浼佷笟涓爣閫氱煡涔� 11 鍙樻洿浼佷笟钀ヤ笟鎵х収 12 鍙樻洿宸ュ晢鍙樻洿鐧昏
+
+ if (CollectionUtils.isEmpty(multifileCompanyType)){
+ synchronized (MultiFile.class){
+ if (CollectionUtils.isEmpty(multifileCompanyType)){
+ multifileCompanyType = new HashSet<>();
+ multifileCompanyType.add(0);
+ multifileCompanyType.add(1);
+ multifileCompanyType.add(8);
+ multifileCompanyType.add(9);
+ multifileCompanyType.add(11);
+ multifileCompanyType.add(12);
+ }
+ }
+ }
+ return multifileCompanyType;
+ }
+
+ public static Set<Integer> multifileProjectType(){
+
+ //2椤圭洰鐢虫姤浼佷笟璧勬枡 3浼佷笟璇勫垎琛� 4璇婃柇鎶ュ憡 5璇婃柇鏈嶅姟璧勬枡 6涓撳璇勫垎鎶ュ憡 7鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟璧勬枡
+ if (CollectionUtils.isEmpty(multifileProjectType)){
+ synchronized (MultiFile.class){
+ if(CollectionUtils.isEmpty(multifileProjectType)){
+ multifileProjectType = new HashSet<>();
+ multifileProjectType.add(2);
+ multifileProjectType.add(3);
+ multifileProjectType.add(4);
+ multifileProjectType.add(5);
+ multifileProjectType.add(6);
+ multifileProjectType.add(7);
+ multifileProjectType.add(10);
+ multifileProjectType.add(13);
+ }
+ }
+ }
+ return multifileProjectType;
+ }
+
+ public static Integer multifileType(String name){
+
+ boolean pic = Arrays.asList(".jpg", "png", "jpeg").stream().anyMatch(s -> name.contains(s));
+ if (pic){
+ return Constants.ZERO;
+ }
+ boolean ivc = Arrays.asList(".avi", "mp4").stream().anyMatch(s -> name.contains(s));
+ if (ivc){
+ return Constants.ONE;
+ }
+ return Constants.TWO;
+
+ }
+
+
+ }
+
+ public static void main(String[] args) {
+
+ System.out.println("hello&&devicenumber=22110002&&uuid=1e52008fb8ff\n".length());
+ }
+ /**
+ * 鐢ㄦ埛绫诲瀷 0绯荤粺鐢ㄦ埛 1浼佷笟鐢ㄦ埛 2鏈嶅姟鏈烘瀯绠$悊鍛� 3鏈嶅姟鏈烘瀯瀛愯处鍙� 4缁煎悎鏈嶅姟鍗曚綅绠$悊鍛� 5缁煎悎鏈嶅姟鍗曚綅瀛愯处鍙� 6涓撳 7鍘垮尯鐢ㄦ埛 8甯傚眬鐢ㄦ埛
+ */
+ public enum UserType {
+
+ SYSTEM(0, "绯荤粺鐢ㄦ埛", "绠$悊鍛�",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
+ COMPANY(1, "浼佷笟鐢ㄦ埛", "浼佷笟",Arrays.asList(-1)),
+ SO_ADMIN(2, "鏈嶅姟鏈烘瀯绠$悊鍛�", "鏈嶅姟鏈烘瀯",Arrays.asList(-1)),
+ SO_CHILD(3, "鏈嶅姟鏈烘瀯瀛愯处鍙�", "鏈嶅姟鏈烘瀯",Arrays.asList(-1)),
+ SD_ADMIN(4, "缁煎悎鏈嶅姟鍗曚綅绠$悊鍛�", "缁煎悎鏈嶅姟鍗曚綅",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
+ SD_CHILD(5, "缁煎悎鏈嶅姟鍗曚綅瀛愯处鍙�", "缁煎悎鏈嶅姟鍗曚綅",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
+ EXPERT(6, "涓撳", "涓撳", Arrays.asList(-1)),
+ AREA(7, "鍘垮尯鐢ㄦ埛", "鍘垮尯",Arrays.asList(0,1,2,3,4,5,6,7,8,9)),
+ SJ(8, "甯傚眬鐢ㄦ埛", "甯傚眬",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
+ SJ_CHILD(9, "甯傚眬瀛愯处鍙�", "甯傚眬瀛愯处鍙�",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private List<Integer> historyStatus;
+ private String noteinfo;// 鎻忚堪
+
+ // 鏋勯�犳柟娉�
+ UserType(int key, String name, String noteinfo,List<Integer> historyStatus) {
+ this.name = name;
+ this.key = key;
+ this.noteinfo = noteinfo;
+ this.historyStatus=historyStatus;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (UserType c : UserType.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getInfo(int index) {
+ for (UserType c : UserType.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return null;
+ }
+ // 鏅�氭柟娉�
+ public static List<Integer> getHistoryStatus(int index) {
+ for (UserType c : UserType.values()) {
+ if (c.getKey() == index) {
+ return c.historyStatus;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+ public List<Integer> getHistoryStatus() {
+ return historyStatus;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getNoteinfo() {
+ return noteinfo;
+ }
+
+ /**
+ * 涓嶉渶瑕佸鎵逛慨鏀逛俊鎭鑹�
+ * @return
+ */
+ public static List<Integer> getNoCheckUserChange(){
+ return Arrays.asList(SO_ADMIN.key, AREA.key, SJ.key, EXPERT.key, SD_ADMIN.key,SYSTEM.key);
+ }
+
+ /**
+ * 鑾峰彇瀛愯处鍙风被鍨�
+ * @return
+ */
+ public static List<Integer> getSonUserType(){
+ return Arrays.asList(SO_CHILD.key, SD_CHILD.key);
+ }
+
+ /**
+ * 鑾峰彇鍏宠仈浼佷笟鐨勭敤鎴风被鍨�
+ * @return
+ */
+ public static List<Integer> getHasCompanyType(){
+ return Arrays.asList(COMPANY.key, SO_ADMIN.key, SD_ADMIN.key);
+ }
+
+ }
+
+ public enum ProjectRecord {
+
+ COM_EDITING(0, "浼佷笟淇濆瓨鏁版嵁", "鐢� ${param2} ${param3}淇濆瓨鎴愬姛锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ COM_SUBMIT(1, "浼佷笟鎻愪氦鏁版嵁", "鐢� ${param2} ${param3}鎻愪氦鎴愬姛锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ XQ_CHECK_PASS(2, "鍘垮尯瀹℃牳閫氳繃", "鐢� ${param2} ${param3}瀹℃牳閫氳繃锛屽鏍稿娉ㄤ负锛�${param5}锛涘綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ XQ_CHECK_EDIT(3, "鍘垮尯瀹℃牳閫�鍥炰慨鏀�", "鐢� ${param2} ${param3}瀹℃牳閫�鍥炰慨鏀癸紝瀹℃牳澶囨敞涓猴細${param5}锛涘綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ XQ_CHECK_BACK(4, "鍘垮尯瀹℃牳椹冲洖", "鐢� ${param2} ${param3}瀹℃牳椹冲洖锛屽鏍稿娉ㄤ负锛�${param5}锛涘綋鍓嶈繘搴︿负 瀹℃牳椹冲洖锛屾祦绋嬬粨鏉熴��"),
+ COM_SELECT_SO(5, "浼佷笟閫夋嫨鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}閫夋嫨 ${param5}锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SO_PASS(6, "鏈嶅姟鏈烘瀯纭鏈嶅姟", "鐢� ${param2} ${param3}纭鏈嶅姟锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SO_BACK(7, "鏈嶅姟鏈烘瀯鎷掔粷鏈嶅姟", "鐢� ${param2} ${param3}鎷掔粷鏈嶅姟锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SJ_SELECT_SO(8, "甯傚眬鍒嗛厤鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}瀹屾垚鍒嗛厤鏈嶅姟鏈烘瀯锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SD_SELECT_SO(9, "缁煎悎鏈嶅姟鍗曚綅鍒嗛厤鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}瀹屾垚鍒嗛厤鏈嶅姟鏈烘瀯锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SJ_RESELECT_SO(10, "甯傚眬閲嶆柊鍒嗛厤鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}瀹屾垚閲嶆柊鍒嗛厤鏈嶅姟鏈烘瀯锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SD_RESELECT_SO(11, "缁煎悎鏈嶅姟鍗曚綅閲嶆柊鍒嗛厤鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}瀹屾垚閲嶆柊鍒嗛厤鏈嶅姟鏈烘瀯锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SO_SERVICE_UPLOAD(12, "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟鏁版嵁", "鐢� ${param2} ${param3}瀹屾垚涓婁紶鏈嶅姟鏁版嵁锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SO_DONE_SERVICE(13, "鏈嶅姟鏈烘瀯瀹屾垚鏈嶅姟", "鐢� ${param2} ${param3}瀹屾垚鏈嶅姟锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SJ_SELECT_EXPERT(14, "甯傚眬鍒嗛厤璇勫垎涓撳", "鐢� ${param2} ${param3}瀹屾垚鍒嗛厤璇勫垎涓撳锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SD_SELECT_EXPERT(15, "缁煎悎鏈嶅姟鍗曚綅鍒嗛厤璇勫垎涓撳", "鐢� ${param2} ${param3}瀹屾垚鍒嗛厤璇勫垎涓撳锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SJ_RESELECT_EXPERT(16, "甯傚眬閲嶆柊鍒嗛厤璇勫垎涓撳", "鐢� ${param2} ${param3}瀹屾垚閲嶆柊鍒嗛厤璇勫垎涓撳锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SD_RESELECT_EXPERT(17, "缁煎悎鏈嶅姟鍗曚綅閲嶆柊鍒嗛厤璇勫垎涓撳", "鐢� ${param2} ${param3}瀹屾垚閲嶆柊鍒嗛厤璇勫垎涓撳锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ EXPERT_SCORE(18, "涓撳涓婁紶璇勫垎", "鐢� ${param2} ${param3}瀹屾垚璇勫垎锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SD_SERVICE_UPLOAD(19, "缁煎悎鏈嶅姟鍗曚綅涓婁紶璇婃柇璧勬枡", "鐢� ${param2} ${param3}瀹屾垚涓婁紶璇婃柇璧勬枡锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+ SD_BACK_DONE(20, "缁煎悎鏈嶅姟鍗曚綅閫�鍥炰慨鏀�", "鐢� ${param2} ${param3}閫�鍥炰慨鏀癸紝褰撳墠杩涘害涓� 銆�${param4}銆�"),
+
+ SO_BACK_SUBMIT(21 , "鏈嶅姟鏈烘瀯淇敼瀹屾垚鏈嶅姟", "鐢� ${param2} ${param3}瀹屾垚鏈嶅姟锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
+
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private String noteinfo;// 鎻忚堪
+
+ // 鏋勯�犳柟娉�
+ ProjectRecord(int key, String name, String noteinfo) {
+ this.name = name;
+ this.key = key;
+ this.noteinfo = noteinfo;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (ProjectRecord c : ProjectRecord.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getInfo(int index) {
+ for (ProjectRecord c : ProjectRecord.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getNoteinfo() {
+ return noteinfo;
+ }
+
+ public void setNoteinfo(String noteinfo) {
+ this.noteinfo = noteinfo;
+ }
+
+ public static String getContentWithData(ProjectRecord template, Map<String, String> params){
+ String pattern = "\\$\\{(.+?)\\}";
+ Pattern p = Pattern.compile(pattern);
+ Matcher m = p.matcher(template.noteinfo);
+ StringBuffer sb = new StringBuffer();
+ while (m.find()){
+ String key = m.group(1);
+ String value = params.get(key);
+ m.appendReplacement(sb, value == null ? "" : value);
+ }
+ m.appendTail(sb);
+ return sb.toString();
+ }
+
+ }
+
+ /**
+ * 鏁版嵁鐘舵�佹灇涓�
+ *
+ */
+ public enum Status {
+
+ /** 鐢ㄦ埛鍚敤绂佺敤鏋氫妇鍊�*/
+ ENABLE(0,"姝e父"),
+ DISABLE(1,"绂佺敤");
+
+ private Integer value;
+ private String des;
+
+
+ Status(Integer value, String des) {
+ this.value = value;
+ this.des = des;
+ }
+
+ public Integer getValue() {
+ return value;
+ }
+
+ public void setValue(Integer value) {
+ this.value = value;
+ }
+
+ public String getDes() {
+ return des;
+ }
+
+ public void setDes(String des) {
+ this.des = des;
+ }
+ }
+
+ public enum CompanyType{
+
+ BUSINESS_COMPANYTYPE(0,"浼佷笟"),
+
+ SERVICE_COMPANYTYPE(1,"鏈嶅姟鏈烘瀯"),
+
+ ZF_SERVICE_COMPANY(2,"缁煎悎鏈嶅姟鍗曚綅");
+
+ private Integer value;
+ private String des;
+
+ CompanyType(Integer value, String des) {
+ this.value = value;
+ this.des = des;
+ }
+
+ public Integer getValue() {
+ return value;
+ }
+
+ public void setValue(Integer value) {
+ this.value = value;
+ }
+
+ public String getDes() {
+ return des;
+ }
+
+ public void setDes(String des) {
+ this.des = des;
+ }
+ }
+}
diff --git a/server/src/main/java/com/doumee/core/utils/Date.java b/server/service/src/main/java/com/doumee/core/utils/Date.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/Date.java
rename to server/service/src/main/java/com/doumee/core/utils/Date.java
diff --git a/server/src/main/java/com/doumee/core/utils/DateUtil.java b/server/service/src/main/java/com/doumee/core/utils/DateUtil.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/DateUtil.java
rename to server/service/src/main/java/com/doumee/core/utils/DateUtil.java
diff --git a/server/src/main/java/com/doumee/core/utils/ExcelUtil.java b/server/service/src/main/java/com/doumee/core/utils/ExcelUtil.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/ExcelUtil.java
rename to server/service/src/main/java/com/doumee/core/utils/ExcelUtil.java
diff --git a/server/src/main/java/com/doumee/core/utils/FileDigest.java b/server/service/src/main/java/com/doumee/core/utils/FileDigest.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/FileDigest.java
rename to server/service/src/main/java/com/doumee/core/utils/FileDigest.java
diff --git a/server/src/main/java/com/doumee/core/utils/Http.java b/server/service/src/main/java/com/doumee/core/utils/Http.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/Http.java
rename to server/service/src/main/java/com/doumee/core/utils/Http.java
diff --git a/server/src/main/java/com/doumee/core/utils/Location.java b/server/service/src/main/java/com/doumee/core/utils/Location.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/Location.java
rename to server/service/src/main/java/com/doumee/core/utils/Location.java
diff --git a/server/src/main/java/com/doumee/core/utils/Monitor.java b/server/service/src/main/java/com/doumee/core/utils/Monitor.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/Monitor.java
rename to server/service/src/main/java/com/doumee/core/utils/Monitor.java
diff --git a/server/src/main/java/com/doumee/core/utils/MyBatisPlus.java b/server/service/src/main/java/com/doumee/core/utils/MyBatisPlus.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/MyBatisPlus.java
rename to server/service/src/main/java/com/doumee/core/utils/MyBatisPlus.java
diff --git a/server/src/main/java/com/doumee/core/utils/PinYinUtil.java b/server/service/src/main/java/com/doumee/core/utils/PinYinUtil.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/PinYinUtil.java
rename to server/service/src/main/java/com/doumee/core/utils/PinYinUtil.java
diff --git a/server/src/main/java/com/doumee/core/utils/Secure.java b/server/service/src/main/java/com/doumee/core/utils/Secure.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/Secure.java
rename to server/service/src/main/java/com/doumee/core/utils/Secure.java
diff --git a/server/src/main/java/com/doumee/core/utils/Server.java b/server/service/src/main/java/com/doumee/core/utils/Server.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/Server.java
rename to server/service/src/main/java/com/doumee/core/utils/Server.java
diff --git a/server/src/main/java/com/doumee/core/utils/UserClient.java b/server/service/src/main/java/com/doumee/core/utils/UserClient.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/UserClient.java
rename to server/service/src/main/java/com/doumee/core/utils/UserClient.java
diff --git a/server/src/main/java/com/doumee/core/utils/Utils.java b/server/service/src/main/java/com/doumee/core/utils/Utils.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/Utils.java
rename to server/service/src/main/java/com/doumee/core/utils/Utils.java
diff --git a/server/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java b/server/service/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java
rename to server/service/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java
diff --git a/server/src/main/java/com/doumee/core/utils/monitor/CPU.java b/server/service/src/main/java/com/doumee/core/utils/monitor/CPU.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/monitor/CPU.java
rename to server/service/src/main/java/com/doumee/core/utils/monitor/CPU.java
diff --git a/server/src/main/java/com/doumee/core/utils/monitor/Disk.java b/server/service/src/main/java/com/doumee/core/utils/monitor/Disk.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/monitor/Disk.java
rename to server/service/src/main/java/com/doumee/core/utils/monitor/Disk.java
diff --git a/server/src/main/java/com/doumee/core/utils/monitor/JVM.java b/server/service/src/main/java/com/doumee/core/utils/monitor/JVM.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/monitor/JVM.java
rename to server/service/src/main/java/com/doumee/core/utils/monitor/JVM.java
diff --git a/server/src/main/java/com/doumee/core/utils/monitor/Memory.java b/server/service/src/main/java/com/doumee/core/utils/monitor/Memory.java
similarity index 100%
rename from server/src/main/java/com/doumee/core/utils/monitor/Memory.java
rename to server/service/src/main/java/com/doumee/core/utils/monitor/Memory.java
diff --git a/server/src/main/java/com/doumee/dao/business/BrandMapper.java b/server/service/src/main/java/com/doumee/dao/business/BrandMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/BrandMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/BrandMapper.java
diff --git a/server/src/main/java/com/doumee/dao/business/CateAttrMapper.java b/server/service/src/main/java/com/doumee/dao/business/CateAttrMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/CateAttrMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/CateAttrMapper.java
diff --git a/server/src/main/java/com/doumee/dao/business/CateParamMapper.java b/server/service/src/main/java/com/doumee/dao/business/CateParamMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/CateParamMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/CateParamMapper.java
diff --git a/server/src/main/java/com/doumee/dao/business/CategoryMapper.java b/server/service/src/main/java/com/doumee/dao/business/CategoryMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/CategoryMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/CategoryMapper.java
diff --git a/server/src/main/java/com/doumee/dao/business/GoodsMapper.java b/server/service/src/main/java/com/doumee/dao/business/GoodsMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/GoodsMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/GoodsMapper.java
diff --git a/server/src/main/java/com/doumee/dao/business/GoodsParamMapper.java b/server/service/src/main/java/com/doumee/dao/business/GoodsParamMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/GoodsParamMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/GoodsParamMapper.java
diff --git a/server/src/main/java/com/doumee/dao/business/MultifileMapper.java b/server/service/src/main/java/com/doumee/dao/business/MultifileMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/MultifileMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/MultifileMapper.java
diff --git a/server/src/main/java/com/doumee/dao/business/join/GoodsJoinMapper.java b/server/service/src/main/java/com/doumee/dao/business/join/GoodsJoinMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/join/GoodsJoinMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/join/GoodsJoinMapper.java
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Brand.java b/server/service/src/main/java/com/doumee/dao/business/model/Brand.java
new file mode 100644
index 0000000..7fbe0e1
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Brand.java
@@ -0,0 +1,77 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鍝佺墝淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Data
+@ApiModel("鍝佺墝淇℃伅琛�")
+@TableName("`brand`")
+public class Brand {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
+ @ExcelColumn(name="鍚嶇О锛堜笉鍙噸澶嶏級")
+ private String name;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+ @ApiModelProperty(value = "浼佷笟缂栫爜")
+ @ExcelColumn(name="浼佷笟缂栫爜")
+ private Integer companyId;
+ @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+ @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
+ private Integer status;
+
+ @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+ @ExcelColumn(name="鎺掑簭鐮�")
+ private Integer sortnum;
+
+ @ApiModelProperty(value = "鍥炬爣")
+ @ExcelColumn(name="鍥炬爣")
+ private String imgurl;
+
+ @ApiModelProperty(value = "鍓嶇紑璺緞")
+ @TableField(exist = false)
+ private String prefixUrl;
+
+}
diff --git a/server/src/main/java/com/doumee/dao/business/model/CateAttr.java b/server/service/src/main/java/com/doumee/dao/business/model/CateAttr.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/model/CateAttr.java
rename to server/service/src/main/java/com/doumee/dao/business/model/CateAttr.java
diff --git a/server/src/main/java/com/doumee/dao/business/model/CateBudget.java b/server/service/src/main/java/com/doumee/dao/business/model/CateBudget.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/model/CateBudget.java
rename to server/service/src/main/java/com/doumee/dao/business/model/CateBudget.java
diff --git a/server/src/main/java/com/doumee/dao/business/model/CateBudgetMapper.java b/server/service/src/main/java/com/doumee/dao/business/model/CateBudgetMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/model/CateBudgetMapper.java
rename to server/service/src/main/java/com/doumee/dao/business/model/CateBudgetMapper.java
diff --git a/server/src/main/java/com/doumee/dao/business/model/CateParam.java b/server/service/src/main/java/com/doumee/dao/business/model/CateParam.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/model/CateParam.java
rename to server/service/src/main/java/com/doumee/dao/business/model/CateParam.java
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Category.java b/server/service/src/main/java/com/doumee/dao/business/model/Category.java
new file mode 100644
index 0000000..d178550
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -0,0 +1,112 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鍝佺被淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Data
+@ApiModel("鍝佺被淇℃伅琛�")
+@TableName("`category`")
+public class Category {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
+ @ExcelColumn(name="鍚嶇О锛堜笉鍙噸澶嶏級")
+ private String name;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "灞炴��1鍚嶇О")
+ @ExcelColumn(name="灞炴��1鍚嶇О")
+ private String attrFirst;
+
+ @ApiModelProperty(value = "灞炴��2鍚嶇О")
+ @ExcelColumn(name="灞炴��2鍚嶇О")
+ private String attrSecond;
+
+ @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+ @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
+ private Integer status;
+
+ @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+ @ExcelColumn(name="鎺掑簭鐮�")
+ private Integer sortnum;
+
+ @ApiModelProperty(value = "鍥炬爣")
+ @ExcelColumn(name="鍥炬爣")
+ private String imgurl;
+
+ @ApiModelProperty(value = "鍓嶇紑璺緞")
+ @TableField(exist = false)
+ private String prefixUrl;
+
+ @ApiModelProperty(value = "鍚嶇О鎷奸煶")
+ @ExcelColumn(name="鍚嶇О鎷奸煶")
+ private String pinyin;
+
+ @ApiModelProperty(value = "鍚嶇О鎷奸煶棣栧瓧姣�")
+ @ExcelColumn(name="鍚嶇О鎷奸煶棣栧瓧姣�")
+ private String shortPinyin;
+ @ApiModelProperty(value = "浼佷笟缂栫爜")
+ @ExcelColumn(name="浼佷笟缂栫爜")
+ private Integer companyId;
+
+
+ @ApiModelProperty(value = "鍙傛暟鍚嶇О 鍒楄〃鍊�")
+ @TableField(exist = false)
+ private List<CateParam> paramList;
+
+ @ApiModelProperty(value = "灞炴��1 鍒楄〃鍊�")
+ @TableField(exist = false)
+ private List<CateAttr> attrFirstList;
+
+ @ApiModelProperty(value = "灞炴��2 鍒楄〃鍊�")
+ @TableField(exist = false)
+ private List<CateAttr> attrSecondList;
+
+ @ApiModelProperty(value = "浠锋牸鍖洪棿 鍒楄〃")
+ @TableField(exist = false)
+ private List<CateBudget> budgetList;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Goods.java b/server/service/src/main/java/com/doumee/dao/business/model/Goods.java
new file mode 100644
index 0000000..180afe4
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Goods.java
@@ -0,0 +1,162 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 鍟嗗搧淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Data
+@ApiModel("鍟嗗搧淇℃伅琛�")
+@TableName("`goods`")
+public class Goods {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+ @ApiModelProperty(value = "浼佷笟缂栫爜")
+ @ExcelColumn(name="浼佷笟缂栫爜")
+ private Integer companyId;
+
+ @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
+ @ExcelColumn(name="鍚嶇О锛堜笉鍙噸澶嶏級")
+ private String name;
+
+ @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+ @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
+ private Integer status;
+
+ @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+ @ExcelColumn(name="鎺掑簭鐮�")
+ private Integer sortnum;
+
+ @ApiModelProperty(value = "鍥炬爣")
+ @ExcelColumn(name="鍥炬爣")
+ private String imgurl;
+
+ @ApiModelProperty(value = "鎵�灞炲搧绫荤紪鐮�", example = "1")
+ @ExcelColumn(name="鎵�灞炲搧绫荤紪鐮�")
+ private Integer categoryId;
+
+ @ApiModelProperty(value = "鎵�灞炲搧鐗岀紪鐮�", example = "1")
+ @ExcelColumn(name="鎵�灞炲搧鐗岀紪鐮�")
+ private Integer brandId;
+
+ @ApiModelProperty(value = "鎸囧浠凤紙鍏冿級", example = "1")
+ @ExcelColumn(name="鎸囧浠凤紙鍏冿級")
+ private BigDecimal zdPrice;
+
+ @ApiModelProperty(value = "鍏ユ墜浠锋牸锛堝厓锛�", example = "1")
+ @ExcelColumn(name="鍏ユ墜浠锋牸锛堝厓锛�")
+ private BigDecimal price;
+
+ @ApiModelProperty(value = "鍟嗗搧璇︽儏")
+ @ExcelColumn(name="鍟嗗搧璇︽儏")
+ private String content;
+
+ @ApiModelProperty(value = "鍝佺被灞炴�у��1锛堝叧鑱攃ate_attr琛級锛屽涓嫳鏂囬�楀彿闅斿紑")
+ @ExcelColumn(name="鍝佺被灞炴�у��1锛堝叧鑱攃ate_attr琛級锛屽涓嫳鏂囬�楀彿闅斿紑")
+ private String attrFirstIds;
+
+ @ApiModelProperty(value = "鍝佺被灞炴�у��2锛堝叧鑱攃ate_attr琛級锛屽涓嫳鏂囬�楀彿闅斿紑")
+ @ExcelColumn(name="鍝佺被灞炴�у��2锛堝叧鑱攃ate_attr琛級锛屽涓嫳鏂囬�楀彿闅斿紑")
+ private String attrSecodIds;
+
+ @ApiModelProperty(value = "鍝佺被灞炴�у��1闆嗗悎锛屽涓嫳鏂囬�楀彿闅斿紑")
+ @ExcelColumn(name="鍝佺被灞炴�у��1闆嗗悎锛屽涓嫳鏂囬�楀彿闅斿紑")
+ private String attrFirstNames;
+
+ @ApiModelProperty(value = "鍝佺被灞炴�у��2闆嗗悎锛屽涓嫳鏂囬�楀彿闅斿紑")
+ @ExcelColumn(name="鍝佺被灞炴�у��2闆嗗悎锛屽涓嫳鏂囬�楀彿闅斿紑")
+ private String attrSecodNames;
+
+ @ApiModelProperty(value = "鍚嶇О鎷奸煶")
+ @ExcelColumn(name="鍚嶇О鎷奸煶")
+ private String pinyin;
+
+ @ApiModelProperty(value = "鍚嶇О鎷奸煶棣栧瓧姣�")
+ @ExcelColumn(name="鍚嶇О鎷奸煶棣栧瓧姣�")
+ private String shortPinyin;
+
+ @ApiModelProperty(value = "鍓嶇紑璺緞")
+ @TableField(exist = false)
+ private String prefixUrl;
+
+ @ApiModelProperty(value = "闄勪欢鍒楄〃")
+ @TableField(exist = false)
+ private List<Multifile> multifileList;
+
+ @ApiModelProperty(value = "绫诲埆鍚嶇О")
+ @TableField(exist = false)
+ private String categoryName;
+
+ @ApiModelProperty(value = "鍝佺墝鍚嶇О")
+ @TableField(exist = false)
+ private String brandName;
+
+ @ApiModelProperty(value = "灞炴��1鍚嶇О")
+ @TableField(exist = false)
+ private String attrFirst;
+
+ @ApiModelProperty(value = "灞炴��2鍚嶇О")
+ @TableField(exist = false)
+ private String attrSecond;
+
+ @ApiModelProperty(value = "鍟嗗搧鍝佺被鍙傛暟閰嶇疆")
+ @TableField(exist = false)
+ private List<GoodsParam> goodsParamList;
+
+ @ApiModelProperty(value = "鍟嗗搧鍒嗙被鍥剧墖")
+ @TableField(exist = false)
+ private String categoryImgurl;
+
+ @ApiModelProperty(value = "璧峰浠锋牸 - 鏌ヨ鐢�")
+ @TableField(exist = false)
+ private BigDecimal sPrice;
+
+ @ApiModelProperty(value = "鏈�楂樹环鏍� - 鏌ヨ鐢�")
+ @TableField(exist = false)
+ private BigDecimal ePrice;
+
+
+
+}
diff --git a/server/src/main/java/com/doumee/dao/business/model/GoodsImport.java b/server/service/src/main/java/com/doumee/dao/business/model/GoodsImport.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/model/GoodsImport.java
rename to server/service/src/main/java/com/doumee/dao/business/model/GoodsImport.java
diff --git a/server/src/main/java/com/doumee/dao/business/model/GoodsParam.java b/server/service/src/main/java/com/doumee/dao/business/model/GoodsParam.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/model/GoodsParam.java
rename to server/service/src/main/java/com/doumee/dao/business/model/GoodsParam.java
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Multifile.java b/server/service/src/main/java/com/doumee/dao/business/model/Multifile.java
new file mode 100644
index 0000000..8c7115e
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Multifile.java
@@ -0,0 +1,81 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 闄勪欢淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2023/05/12 13:58
+ */
+@Data
+@ApiModel("闄勪欢淇℃伅琛�")
+@TableName("`multifile`")
+public class Multifile {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "鏂囦欢鍚�")
+ @ExcelColumn(name="鏂囦欢鍚�")
+ private String name;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String info;
+
+ @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜", example = "1")
+ @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
+ private Integer objId;
+
+ @ApiModelProperty(value = "绫诲瀷0鍥剧墖 1瑙嗛 2鍏朵粬", example = "1")
+ @ExcelColumn(name="绫诲瀷0鍥剧墖 1瑙嗛 2鍏朵粬")
+ private Integer type;
+
+ @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷 0鍟嗗搧澶氬浘", example = "1")
+ @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷 0鍟嗗搧澶氬浘")
+ private Integer objType;
+
+ @ApiModelProperty(value = "鏂囦欢鍦板潃")
+ @ExcelColumn(name="鏂囦欢鍦板潃")
+ private String fileurl;
+
+ @ApiModelProperty(value = "浼佷笟缂栫爜")
+ @ExcelColumn(name="浼佷笟缂栫爜")
+ private Integer companyId;
+ @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+ @ExcelColumn(name="鎺掑簭鐮�")
+ private Integer sortnum;
+
+}
diff --git a/server/src/main/java/com/doumee/dao/business/model/dto/GoodsRequest.java b/server/service/src/main/java/com/doumee/dao/business/model/dto/GoodsRequest.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/business/model/dto/GoodsRequest.java
rename to server/service/src/main/java/com/doumee/dao/business/model/dto/GoodsRequest.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemDepartmentMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemDepartmentMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemDepartmentMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemDepartmentMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemDepartmentUserMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemDepartmentUserMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemDepartmentUserMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemDepartmentUserMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemDictDataMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemDictDataMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemDictDataMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemDictDataMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemDictMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemDictMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemDictMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemDictMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemLoginLogMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemLoginLogMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemLoginLogMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemLoginLogMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemMenuMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemMenuMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemMenuMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemMenuMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemPermissionMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemPermissionMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemPermissionMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemPermissionMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemPositionMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemPositionMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemPositionMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemPositionMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemPositionUserMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemPositionUserMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemPositionUserMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemPositionUserMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemRoleMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemRoleMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemRoleMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemRoleMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemRoleMenuMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemRoleMenuMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemRoleMenuMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemRoleMenuMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemRolePermissionMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemRolePermissionMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemRolePermissionMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemRolePermissionMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemTraceLogMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemTraceLogMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemTraceLogMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemTraceLogMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemUserJoinMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemUserJoinMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemUserJoinMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemUserJoinMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemUserMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemUserMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/SystemUserRoleMapper.java b/server/service/src/main/java/com/doumee/dao/system/SystemUserRoleMapper.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/SystemUserRoleMapper.java
rename to server/service/src/main/java/com/doumee/dao/system/SystemUserRoleMapper.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/AreasDto.java b/server/service/src/main/java/com/doumee/dao/system/dto/AreasDto.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/AreasDto.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/AreasDto.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/ChangeStatusDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/ChangeStatusDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/ChangeStatusDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/ChangeStatusDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/CompanyDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/CompanyDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/CompanyDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/CompanyDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/CompanyUserDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/CreateRoleMenuDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/CreateRoleMenuDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/CreateRoleMenuDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/CreateRoleMenuDTO.java
diff --git a/server/service/src/main/java/com/doumee/dao/system/dto/CreateRolePermissionDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/CreateRolePermissionDTO.java
new file mode 100644
index 0000000..a873798
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/dto/CreateRolePermissionDTO.java
@@ -0,0 +1,32 @@
+package com.doumee.dao.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@ApiModel("鍒涘缓瑙掕壊鏉冮檺鍙傛暟")
+public class CreateRolePermissionDTO implements Serializable {
+
+ @ApiModelProperty(value = "瑙掕壊ID")
+ @NotNull(message = "瑙掕壊ID涓嶈兘涓虹┖")
+ private Integer roleId;
+
+ @ApiModelProperty(value = "鏉冮檺ID闆�")
+ @NotNull(message = "鏉冮檺ID闆嗕笉鑳戒负绌�")
+ private List<Integer> permissionIds;
+
+ @ApiModelProperty(value = "鍒涘缓浜�", hidden = true)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "绫诲瀷 0骞冲彴鐢ㄦ埛 1浼佷笟鐢ㄦ埛")
+ private Integer type;
+}
diff --git a/server/src/main/java/com/doumee/dao/system/dto/CreateSystemUserDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/CreateSystemUserDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/CreateSystemUserDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/CreateSystemUserDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/CreateUserRoleDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/CreateUserRoleDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/CreateUserRoleDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/CreateUserRoleDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/ExpertReportDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/ExpertReportDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/ExpertReportDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/ExpertReportDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/LoginDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/LoginDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/MultiFileDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/MultiFileDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/MultiFileDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/MultiFileDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemDepartmentDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDepartmentDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/QuerySystemDepartmentDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDepartmentDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDataDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDataDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDataDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemDictDataDTO.java
diff --git a/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.java
new file mode 100644
index 0000000..5bc2a9e
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.java
@@ -0,0 +1,23 @@
+package com.doumee.dao.system.dto;
+
+import com.doumee.dao.system.model.SystemLoginLog;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 鏌ヨ鐧诲綍鏃ュ織鍙傛暟
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+public class QuerySystemLoginLogDTO extends SystemLoginLog {
+
+ @ApiModelProperty("鐧诲綍寮�濮嬫椂闂�")
+ private Date startTime;
+
+ @ApiModelProperty("鐧诲綍缁撴潫鏃堕棿")
+ private Date endTime;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemPermissionDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemPermissionDTO.java
new file mode 100644
index 0000000..013ebf5
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemPermissionDTO.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@ApiModel("鏌ヨ绯荤粺鏉冮檺鍙傛暟")
+public class QuerySystemPermissionDTO implements Serializable {
+
+ @ApiModelProperty(value = "鏉冮檺缂栫爜")
+ private String code;
+
+ @ApiModelProperty(value = "鏉冮檺鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "绫诲瀷 0骞冲彴鐢ㄦ埛 1浼佷笟鐢ㄦ埛")
+ private Integer type;
+}
diff --git a/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemRoleDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemRoleDTO.java
new file mode 100644
index 0000000..80a1254
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemRoleDTO.java
@@ -0,0 +1,26 @@
+package com.doumee.dao.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@ApiModel("鏌ヨ绯荤粺瑙掕壊鍙傛暟")
+public class QuerySystemRoleDTO implements Serializable {
+
+ @ApiModelProperty(value = "瑙掕壊缂栫爜")
+ private String code;
+
+ @ApiModelProperty(value = "瑙掕壊鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "绫诲瀷 0骞冲彴鐢ㄦ埛 1浼佷笟鐢ㄦ埛")
+ private Integer type;
+
+}
diff --git a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemTraceLogDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemTraceLogDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/QuerySystemTraceLogDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemTraceLogDTO.java
diff --git a/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
new file mode 100644
index 0000000..1824ab9
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
@@ -0,0 +1,60 @@
+package com.doumee.dao.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@ApiModel("鏌ヨ绯荤粺鐢ㄦ埛鍙傛暟")
+public class QuerySystemUserDTO implements Serializable {
+
+ @ApiModelProperty(value = "鐢ㄤ簬鏌ヨ瀛愰儴闂ㄧ殑閮ㄩ棬ID", hidden = true)
+ private Integer rootDeptId;
+
+ @ApiModelProperty(value = "绮惧噯鍖归厤鐨勯儴闂↖D", hidden = true)
+ private Integer strictDeptId;
+
+ @ApiModelProperty(value = "閮ㄩ棬ID闆�", hidden = true)
+ private List<Integer> departmentIds;
+
+ @ApiModelProperty(value = "宀椾綅ID", hidden = true)
+ private Integer positionId;
+
+ @ApiModelProperty(value = "鐢ㄦ埛鍚�")
+ private String username;
+
+ @ApiModelProperty(value = "濮撳悕" , hidden = true)
+ private String realname;
+
+ @ApiModelProperty(value = "鎵嬫満鍙风爜", hidden = true)
+ private String mobile;
+
+ @ApiModelProperty(value = "鎵�灞炰紒涓氱紪鐮�", example = "1", hidden = true )
+ private Integer companyId;
+
+ @ApiModelProperty(value = "鍖哄煙缂栫爜", example = "1" )
+ private Integer areaId;
+
+ @ApiModelProperty(value = "鐪佺紪鐮�")
+ private Integer provinceId;
+
+ @ApiModelProperty(value = "鍩庡競缂栫爜", example = "1" )
+ private Integer cityId;
+
+ @ApiModelProperty(value = "鍩庡競缂栫爜", hidden = true)
+ private List<Integer> cityIds;
+ @ApiModelProperty(value = "绫诲瀷 0骞冲彴鐢ㄦ埛 1浼佷笟鐢ㄦ埛")
+ private Integer type;
+
+
+ @ApiModelProperty(value = "鐢ㄦ埛绫诲瀷闆嗗悎",hidden = true )
+ private List<Integer> typeList;
+
+}
diff --git a/server/src/main/java/com/doumee/dao/system/dto/ResetSystemUserPwdDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/ResetSystemUserPwdDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/ResetSystemUserPwdDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/ResetSystemUserPwdDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/UpdatePwdDto.java b/server/service/src/main/java/com/doumee/dao/system/dto/UpdatePwdDto.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/UpdatePwdDto.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/UpdatePwdDto.java
diff --git a/server/src/main/java/com/doumee/dao/system/dto/UpdateSystemMenuSortDTO.java b/server/service/src/main/java/com/doumee/dao/system/dto/UpdateSystemMenuSortDTO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/dto/UpdateSystemMenuSortDTO.java
rename to server/service/src/main/java/com/doumee/dao/system/dto/UpdateSystemMenuSortDTO.java
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemDepartment.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemDepartment.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemDepartment.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemDepartment.java
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemDict.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemDict.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemDict.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemDict.java
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemDictData.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemDictData.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemDictData.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemDictData.java
diff --git a/server/service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java
new file mode 100644
index 0000000..ac85f34
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java
@@ -0,0 +1,78 @@
+package com.doumee.dao.system.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+import org.apache.poi.ss.usermodel.IndexedColors;
+
+import java.util.Date;
+
+/**
+ * 鐧诲綍鏃ュ織
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@ApiModel("鐧诲綍鏃ュ織")
+public class SystemLoginLog {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ private Integer id;
+
+ @ApiModelProperty(value = "鐧诲綍鐢ㄦ埛ID", example = "1")
+ private Integer userId;
+
+ @ApiModelProperty(value = "鐧诲綍鐢ㄦ埛鍚�")
+ @ExcelColumn(name="鐧诲綍鐢ㄦ埛鍚�")
+ private String loginUsername;
+
+ @ApiModelProperty(value = "鐧诲綍IP")
+ @ExcelColumn(name="鐧诲綍IP", color = IndexedColors.RED, width = 8)
+ private String ip;
+
+ @ApiModelProperty(value = "鐧诲綍鍦板潃")
+ @ExcelColumn(name="鐧诲綍鍦板潃", width = 10)
+ private String location;
+
+ @ApiModelProperty(value = "瀹㈡埛绔�")
+ @ExcelColumn(name="瀹㈡埛绔�", width = 10)
+ private String clientInfo;
+
+ @ApiModelProperty(value = "鎿嶄綔绯荤粺")
+ @ExcelColumn(name="鎿嶄綔绯荤粺")
+ private String osInfo;
+
+ @ApiModelProperty(value = "鐧诲綍骞冲彴")
+ @ExcelColumn(name="鐧诲綍骞冲彴")
+ private String platform;
+
+ @ApiModelProperty(value = "绯荤粺鐗堟湰")
+ @ExcelColumn(name="绯荤粺鐗堟湰")
+ private String systemVersion;
+
+ @ApiModelProperty(value = "鏈嶅姟鍣↖P")
+ @ExcelColumn(name="鏈嶅姟鍣↖P", width = 8)
+ private String serverIp;
+
+ @ApiModelProperty(value = "鏄惁鐧诲綍鎴愬姛")
+ @ExcelColumn(name="鏄惁鐧诲綍鎴愬姛", valueMapping = "true=鏄�;false=鍚�", align = HorizontalAlignment.CENTER)
+ private Boolean success;
+
+ @ApiModelProperty(value = "澶辫触鍘熷洜")
+ @ExcelColumn(name="澶辫触鍘熷洜", color = IndexedColors.RED, width = 16)
+ private String reason;
+
+ @ApiModelProperty(value = "鐧诲綍鏃堕棿")
+ @ExcelColumn(name="鐧诲綍鏃堕棿", dateFormat = "yyyy-MM-dd HH:mm:ss", width = 10)
+ private Date loginTime;
+
+ @ApiModelProperty(value = "浼佷笟缂栫爜")
+ @ExcelColumn(name="浼佷笟缂栫爜")
+ private Integer companyId;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/system/model/SystemMenu.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemMenu.java
new file mode 100644
index 0000000..4a0cd84
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/model/SystemMenu.java
@@ -0,0 +1,76 @@
+package com.doumee.dao.system.model;
+
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.constants.OperaType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 绯荤粺鑿滃崟
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@ApiModel("绯荤粺鑿滃崟")
+public class SystemMenu implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = {OperaType.Update.class, OperaType.UpdateStatus.class})
+ private Integer id;
+
+ @ApiModelProperty(value = "涓婁竴绾ц彍鍗�", example = "1")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Integer parentId;
+
+ @ApiModelProperty(value = "鑿滃崟鍚嶇О")
+ @NotBlank(message = "鑿滃崟鍚嶇О涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
+ private String name;
+
+ @ApiModelProperty(value = "鑿滃崟璁块棶璺緞")
+ private String path;
+
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鍥炬爣")
+ private String icon;
+
+ @ApiModelProperty(value = "鏄惁绂佺敤")
+ @NotNull(message = "鏄惁绂佺敤涓嶈兘涓虹┖", groups = OperaType.UpdateStatus.class)
+ private Boolean disabled;
+
+ @ApiModelProperty(value = "鎺掑簭", example = "1")
+ private Integer sort;
+
+ @ApiModelProperty(value = "鏄惁涓哄浐瀹氳彍鍗�", hidden = true)
+ private Boolean fixed;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "鍒涘缓鑰匢D", example = "1", hidden = true)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鏇存柊鑰匢D", example = "1", hidden = true)
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
+ private Boolean deleted;
+ @ApiModelProperty(value = "绫诲瀷 0骞冲彴鐢ㄦ埛 1浼佷笟鐢ㄦ埛")
+ private Integer type;
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/system/model/SystemPermission.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemPermission.java
new file mode 100644
index 0000000..1710692
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/model/SystemPermission.java
@@ -0,0 +1,60 @@
+package com.doumee.dao.system.model;
+
+import com.doumee.core.constants.OperaType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 绯荤粺鏉冮檺
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@ApiModel("绯荤粺鏉冮檺")
+public class SystemPermission implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = {OperaType.Update.class})
+ private Integer id;
+
+ @ApiModelProperty(value = "鏉冮檺缂栫爜")
+ @NotBlank(message = "鏉冮檺缂栫爜涓嶈兘涓虹┖", groups = {OperaType.Create.class,OperaType.Update.class})
+ private String code;
+
+ @ApiModelProperty(value = "鏉冮檺鍚嶇О")
+ @NotBlank(message = "鏉冮檺鍚嶇О涓嶈兘涓虹┖", groups = {OperaType.Create.class,OperaType.Update.class})
+ private String name;
+
+ @ApiModelProperty(value = "鏉冮檺澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鏄惁涓哄浐瀹氭潈闄�", hidden = true)
+ private Boolean fixed;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "鍒涘缓鑰匢D", example = "1", hidden = true)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鏇存柊鑰匢D", example = "1", hidden = true)
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
+ private Boolean deleted;
+ @ApiModelProperty(value = "绫诲瀷 0骞冲彴鐢ㄦ埛 1浼佷笟鐢ㄦ埛")
+ private Integer type;
+
+}
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemPosition.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemPosition.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemPosition.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemPosition.java
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java
diff --git a/server/service/src/main/java/com/doumee/dao/system/model/SystemRole.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemRole.java
new file mode 100644
index 0000000..5b2be1a
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/model/SystemRole.java
@@ -0,0 +1,61 @@
+package com.doumee.dao.system.model;
+
+import com.doumee.core.constants.OperaType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 绯荤粺瑙掕壊
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Data
+@ApiModel("绯荤粺瑙掕壊")
+public class SystemRole implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = {OperaType.Update.class})
+ private Integer id;
+
+ @ApiModelProperty(value = "瑙掕壊缂栫爜")
+ @NotBlank(message = "瑙掕壊缂栫爜涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
+ private String code;
+
+ @ApiModelProperty(value = "瑙掕壊鍚嶇О")
+ @NotBlank(message = "瑙掕壊鍚嶇О涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
+ private String name;
+
+ @ApiModelProperty(value = "绫诲瀷 0骞冲彴鐢ㄦ埛 1浼佷笟鐢ㄦ埛")
+ private Integer type;
+
+ @ApiModelProperty(value = "瑙掕壊澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鏄惁涓哄浐瀹氳鑹�", hidden = true)
+ private Boolean fixed;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "鍒涘缓鑰匢D", example = "1", hidden = true)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鏇存柊鑰匢D", example = "1", hidden = true)
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
+ private Boolean deleted;
+
+}
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java
diff --git a/server/service/src/main/java/com/doumee/dao/system/model/SystemUser.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemUser.java
new file mode 100644
index 0000000..3995cfb
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -0,0 +1,100 @@
+package com.doumee.dao.system.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.constants.OperaType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import javax.validation.constraints.Email;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 绯荤粺鐢ㄦ埛
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Data
+@ApiModel("绯荤粺鐢ㄦ埛")
+@TableName("`SYSTEM_USER`")
+public class SystemUser implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = {OperaType.Update.class})
+ private Integer id;
+
+ @ApiModelProperty(value = "鐢ㄦ埛鍚�")
+ @NotBlank(message = "鐢ㄦ埛鍚嶄笉鑳戒负绌�")
+ private String username;
+
+ @ApiModelProperty(value = "鍛樺伐鍚嶇О")
+ @NotBlank(message = "濮撳悕涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
+ private String realname;
+
+ @ApiModelProperty(value = "宸ュ彿")
+ private String empNo;
+
+ @ApiModelProperty(value = "鐢熸棩")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date birthday;
+
+ @ApiModelProperty(value = "鎬у埆")
+ @NotBlank(message = "鎬у埆涓嶈兘涓虹┖")
+ private String sex;
+
+ @ApiModelProperty(value = "閭")
+ @Email(message = "閭鏍煎紡涓嶆纭�")
+ private String email;
+
+ @ApiModelProperty(value = "鎵嬫満鍙风爜")
+ @Pattern(message = "鎵嬫満鍙风爜鏍煎紡涓嶆纭�", regexp = "^\\d*$", groups = {OperaType.Create.class, OperaType.Update.class})
+ private String mobile;
+
+ @ApiModelProperty(value = "澶村儚")
+ @NotBlank(message = "澶村儚涓嶈兘涓虹┖")
+ private String avatar;
+
+ @ApiModelProperty(value = "浼佷笟缂栫爜")
+ private Integer companyId;
+ @ApiModelProperty(value = "绫诲瀷 0骞冲彴鐢ㄦ埛 1浼佷笟鐢ㄦ埛")
+ private Integer type;
+
+ @ApiModelProperty(value = "瀵嗙爜")
+ @NotBlank(message = "鍒濆瀵嗙爜涓嶈兘涓虹┖")
+ private String password;
+
+ @ApiModelProperty(value = "鐩�")
+ private String salt;
+
+ @ApiModelProperty(value = "鏄惁涓哄浐瀹氱敤鎴�", hidden = true)
+ private Boolean fixed;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "鍒涘缓浜�", example = "1", hidden = true)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鏇存柊浜�", example = "1", hidden = true)
+ private Integer updateUser;
+
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
+ private Boolean deleted;
+
+ @ApiModelProperty(value = "0 鍚敤 1 绂佺敤")
+ private Integer status;
+
+}
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemUserRole.java b/server/service/src/main/java/com/doumee/dao/system/model/SystemUserRole.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/model/SystemUserRole.java
rename to server/service/src/main/java/com/doumee/dao/system/model/SystemUserRole.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/CompanyDeclaresVo.java b/server/service/src/main/java/com/doumee/dao/system/vo/CompanyDeclaresVo.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/CompanyDeclaresVo.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/CompanyDeclaresVo.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/CompanyEconomicsVo.java b/server/service/src/main/java/com/doumee/dao/system/vo/CompanyEconomicsVo.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/CompanyEconomicsVo.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/CompanyEconomicsVo.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/ServiceCompany.java b/server/service/src/main/java/com/doumee/dao/system/vo/ServiceCompany.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/ServiceCompany.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/ServiceCompany.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemDataPermissionListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemDataPermissionListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemDataPermissionListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemDataPermissionListVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemDepartmentListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemDepartmentListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemDepartmentListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemDepartmentListVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemDictDataListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemDictDataListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemDictDataListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemDictDataListVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemDictListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemDictListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemDictListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemDictListVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemMenuListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemMenuListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemMenuListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemMenuListVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemPermissionListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemPermissionListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemPermissionListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemPermissionListVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemPositionListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemPositionListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemPositionListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemPositionListVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemRoleListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemRoleListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemRoleListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemRoleListVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemUserDetailVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemUserDetailVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemUserDetailVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemUserDetailVO.java
diff --git a/server/src/main/java/com/doumee/dao/system/vo/SystemUserListVO.java b/server/service/src/main/java/com/doumee/dao/system/vo/SystemUserListVO.java
similarity index 100%
rename from server/src/main/java/com/doumee/dao/system/vo/SystemUserListVO.java
rename to server/service/src/main/java/com/doumee/dao/system/vo/SystemUserListVO.java
diff --git a/server/src/main/java/com/doumee/service/aware/DepartmentDataPermissionAware.java b/server/service/src/main/java/com/doumee/service/aware/DepartmentDataPermissionAware.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/aware/DepartmentDataPermissionAware.java
rename to server/service/src/main/java/com/doumee/service/aware/DepartmentDataPermissionAware.java
diff --git a/server/src/main/java/com/doumee/service/aware/PositionDataPermissionAware.java b/server/service/src/main/java/com/doumee/service/aware/PositionDataPermissionAware.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/aware/PositionDataPermissionAware.java
rename to server/service/src/main/java/com/doumee/service/aware/PositionDataPermissionAware.java
diff --git a/server/src/main/java/com/doumee/service/business/BrandService.java b/server/service/src/main/java/com/doumee/service/business/BrandService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/BrandService.java
rename to server/service/src/main/java/com/doumee/service/business/BrandService.java
diff --git a/server/src/main/java/com/doumee/service/business/CateAttrService.java b/server/service/src/main/java/com/doumee/service/business/CateAttrService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/CateAttrService.java
rename to server/service/src/main/java/com/doumee/service/business/CateAttrService.java
diff --git a/server/src/main/java/com/doumee/service/business/CateBudgetService.java b/server/service/src/main/java/com/doumee/service/business/CateBudgetService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/CateBudgetService.java
rename to server/service/src/main/java/com/doumee/service/business/CateBudgetService.java
diff --git a/server/src/main/java/com/doumee/service/business/CateParamService.java b/server/service/src/main/java/com/doumee/service/business/CateParamService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/CateParamService.java
rename to server/service/src/main/java/com/doumee/service/business/CateParamService.java
diff --git a/server/src/main/java/com/doumee/service/business/CategoryService.java b/server/service/src/main/java/com/doumee/service/business/CategoryService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/CategoryService.java
rename to server/service/src/main/java/com/doumee/service/business/CategoryService.java
diff --git a/server/src/main/java/com/doumee/service/business/GoodsParamService.java b/server/service/src/main/java/com/doumee/service/business/GoodsParamService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/GoodsParamService.java
rename to server/service/src/main/java/com/doumee/service/business/GoodsParamService.java
diff --git a/server/src/main/java/com/doumee/service/business/GoodsService.java b/server/service/src/main/java/com/doumee/service/business/GoodsService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/GoodsService.java
rename to server/service/src/main/java/com/doumee/service/business/GoodsService.java
diff --git a/server/src/main/java/com/doumee/service/business/MultifileService.java b/server/service/src/main/java/com/doumee/service/business/MultifileService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/MultifileService.java
rename to server/service/src/main/java/com/doumee/service/business/MultifileService.java
diff --git a/server/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/business/impl/CateAttrServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CateAttrServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/impl/CateAttrServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/business/impl/CateAttrServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/business/impl/CateBudgetServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CateBudgetServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/impl/CateBudgetServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/business/impl/CateBudgetServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/business/impl/CateParamServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CateParamServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/impl/CateParamServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/business/impl/CateParamServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/business/impl/GoodsParamServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GoodsParamServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/impl/GoodsParamServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/business/impl/GoodsParamServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/business/impl/MultifileServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MultifileServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/business/impl/MultifileServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/business/impl/MultifileServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/common/CaptchaService.java b/server/service/src/main/java/com/doumee/service/common/CaptchaService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/common/CaptchaService.java
rename to server/service/src/main/java/com/doumee/service/common/CaptchaService.java
diff --git a/server/src/main/java/com/doumee/service/proxy/CacheProxy.java b/server/service/src/main/java/com/doumee/service/proxy/CacheProxy.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/proxy/CacheProxy.java
rename to server/service/src/main/java/com/doumee/service/proxy/CacheProxy.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemDataPermissionService.java b/server/service/src/main/java/com/doumee/service/system/SystemDataPermissionService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemDataPermissionService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemDataPermissionService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemDepartmentService.java b/server/service/src/main/java/com/doumee/service/system/SystemDepartmentService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemDepartmentService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemDepartmentService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemDepartmentUserService.java b/server/service/src/main/java/com/doumee/service/system/SystemDepartmentUserService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemDepartmentUserService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemDepartmentUserService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemDictDataService.java b/server/service/src/main/java/com/doumee/service/system/SystemDictDataService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemDictDataService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemDictDataService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemDictService.java b/server/service/src/main/java/com/doumee/service/system/SystemDictService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemDictService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemDictService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemLoginLogService.java b/server/service/src/main/java/com/doumee/service/system/SystemLoginLogService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemLoginLogService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemLoginLogService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemLoginService.java b/server/service/src/main/java/com/doumee/service/system/SystemLoginService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemLoginService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemLoginService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemMenuService.java b/server/service/src/main/java/com/doumee/service/system/SystemMenuService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemMenuService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemMenuService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemPermissionService.java b/server/service/src/main/java/com/doumee/service/system/SystemPermissionService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemPermissionService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemPermissionService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemPositionService.java b/server/service/src/main/java/com/doumee/service/system/SystemPositionService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemPositionService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemPositionService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemPositionUserService.java b/server/service/src/main/java/com/doumee/service/system/SystemPositionUserService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemPositionUserService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemPositionUserService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemRoleMenuService.java b/server/service/src/main/java/com/doumee/service/system/SystemRoleMenuService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemRoleMenuService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemRoleMenuService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemRolePermissionService.java b/server/service/src/main/java/com/doumee/service/system/SystemRolePermissionService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemRolePermissionService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemRolePermissionService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemRoleService.java b/server/service/src/main/java/com/doumee/service/system/SystemRoleService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemRoleService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemRoleService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemTraceLogService.java b/server/service/src/main/java/com/doumee/service/system/SystemTraceLogService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemTraceLogService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemTraceLogService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemUserRoleService.java b/server/service/src/main/java/com/doumee/service/system/SystemUserRoleService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemUserRoleService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemUserRoleService.java
diff --git a/server/src/main/java/com/doumee/service/system/SystemUserService.java b/server/service/src/main/java/com/doumee/service/system/SystemUserService.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/SystemUserService.java
rename to server/service/src/main/java/com/doumee/service/system/SystemUserService.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemDepartmentServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemDepartmentServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemDepartmentServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemDepartmentServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemDepartmentUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemDepartmentUserServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemDepartmentUserServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemDepartmentUserServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemDictServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemDictServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemDictServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemDictServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemLoginLogServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginLogServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemLoginLogServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemLoginLogServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemMenuServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemMenuServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemMenuServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemMenuServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemPermissionServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemPermissionServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemPermissionServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemPermissionServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemPositionServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemPositionServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemPositionServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemPositionServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemPositionUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemPositionUserServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemPositionUserServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemPositionUserServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemRoleMenuServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemRoleMenuServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemRoleMenuServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemRoleMenuServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemRolePermissionServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemRolePermissionServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemRolePermissionServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemRolePermissionServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemRoleServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemRoleServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemRoleServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemRoleServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemTraceLogServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemTraceLogServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemTraceLogServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemTraceLogServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemUserRoleServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemUserRoleServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemUserRoleServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemUserRoleServiceImpl.java
diff --git a/server/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
similarity index 100%
rename from server/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
rename to server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
diff --git a/server/service/src/main/resources/application-dev.yml b/server/service/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..1571004
--- /dev/null
+++ b/server/service/src/main/resources/application-dev.yml
@@ -0,0 +1,54 @@
+# WEB鏈嶅姟鍣ㄩ厤缃�
+server:
+ compression:
+ enabled: true
+ mime-types: application/json
+
+ tomcat:
+ max-swallow-size: -1
+ servlet:
+ session:
+ timeout: PT3H #琛ㄧず12灏忔椂
+
+spring:
+ # 鏁版嵁婧愰厤缃�
+ datasource:
+ url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select_saas?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
+ username: test
+ password: doumee@168
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ type: com.alibaba.druid.pool.DruidDataSource
+
+ redis:
+ # database: 0
+ host: 127.0.0.1
+ port: 6379
+ password:
+ timeout: 5000 # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+
+ jackson:
+ time-zone: GMT+8
+ date-format: yyyy-MM-dd HH:mm:ss
+
+knife4j:
+ enable: true
+ basic:
+ enable: true
+ username: admin
+ password: 111111
+
+debug_model: true
+
+captcha_check: false
+
+# Swagger閰嶇疆
+swagger:
+ host:
+ title: ${project.name}鎺ュ彛鏂囨。
+ description: ${project.name}鎺ュ彛鏂囨。
+ enabled: true
+ # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
+ redirect-uri: /
+
+project:
+ imgAuthen: false
\ No newline at end of file
diff --git a/server/service/src/main/resources/application-pro.yml b/server/service/src/main/resources/application-pro.yml
new file mode 100644
index 0000000..4aa2fcd
--- /dev/null
+++ b/server/service/src/main/resources/application-pro.yml
@@ -0,0 +1,55 @@
+# WEB鏈嶅姟鍣ㄩ厤缃�
+server:
+ compression:
+ enabled: true
+ mime-types: application/json
+
+ tomcat:
+ max-swallow-size: -1
+ servlet:
+ session:
+ timeout: PT3H #琛ㄧず12灏忔椂
+
+spring:
+ # 鏁版嵁婧愰厤缃�
+ datasource:
+ url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select_saas_pro?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
+ username: test
+ password: doumee@168
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ type: com.alibaba.druid.pool.DruidDataSource
+
+ redis:
+ # database: 0
+ host: 127.0.0.1
+ port: 6379
+ password:
+ timeout: 5000 # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+
+
+ jackson:
+ time-zone: GMT+8
+ date-format: yyyy-MM-dd HH:mm:ss
+
+knife4j:
+ enable: true
+ basic:
+ enable: true
+ username: admin
+ password: 111111
+
+debug_model: true
+
+captcha_check: true
+
+# Swagger閰嶇疆
+swagger:
+ host:
+ title: ${project.name}鎺ュ彛鏂囨。
+ description: ${project.name}鎺ュ彛鏂囨。
+ enabled: true
+ # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
+ redirect-uri: /
+
+project:
+ imgAuthen: false
\ No newline at end of file
diff --git a/server/service/src/main/resources/application-test.yml b/server/service/src/main/resources/application-test.yml
new file mode 100644
index 0000000..cf41b3f
--- /dev/null
+++ b/server/service/src/main/resources/application-test.yml
@@ -0,0 +1,41 @@
+# WEB鏈嶅姟鍣ㄩ厤缃�
+server:
+ compression:
+ enabled: true
+ mime-types: application/json
+
+ servlet:
+ session:
+ timeout: PT3H #琛ㄧず12灏忔椂
+
+spring:
+ # 鏁版嵁婧愰厤缃�
+ datasource:
+ url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/intelligent_manufacture?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
+ username: test
+ password: doumee@168
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ type: com.alibaba.druid.pool.DruidDataSource
+
+knife4j:
+ enable: true
+ basic:
+ enable: true
+ username: admin
+ password: test@168.com
+
+debug_model: true
+
+captcha_check: false
+
+# Swagger閰嶇疆
+swagger:
+ host:
+ title: ${project.name}鎺ュ彛鏂囨。
+ description: ${project.name}鎺ュ彛鏂囨。
+ enabled: true
+ # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
+ redirect-uri: /
+
+project:
+ imgAuthenti: false
\ No newline at end of file
diff --git a/server/src/main/resources/banner.txt b/server/service/src/main/resources/banner.txt
similarity index 100%
rename from server/src/main/resources/banner.txt
rename to server/service/src/main/resources/banner.txt
diff --git a/server/src/main/resources/logback-spring.xml b/server/service/src/main/resources/logback-spring.xml
similarity index 100%
rename from server/src/main/resources/logback-spring.xml
rename to server/service/src/main/resources/logback-spring.xml
diff --git a/server/src/main/resources/mappers/SystemDataPermissionMapper.xml b/server/service/src/main/resources/mappers/SystemDataPermissionMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemDataPermissionMapper.xml
rename to server/service/src/main/resources/mappers/SystemDataPermissionMapper.xml
diff --git a/server/src/main/resources/mappers/SystemDepartmentMapper.xml b/server/service/src/main/resources/mappers/SystemDepartmentMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemDepartmentMapper.xml
rename to server/service/src/main/resources/mappers/SystemDepartmentMapper.xml
diff --git a/server/src/main/resources/mappers/SystemDictDataMapper.xml b/server/service/src/main/resources/mappers/SystemDictDataMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemDictDataMapper.xml
rename to server/service/src/main/resources/mappers/SystemDictDataMapper.xml
diff --git a/server/src/main/resources/mappers/SystemDictMapper.xml b/server/service/src/main/resources/mappers/SystemDictMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemDictMapper.xml
rename to server/service/src/main/resources/mappers/SystemDictMapper.xml
diff --git a/server/src/main/resources/mappers/SystemMenuMapper.xml b/server/service/src/main/resources/mappers/SystemMenuMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemMenuMapper.xml
rename to server/service/src/main/resources/mappers/SystemMenuMapper.xml
diff --git a/server/src/main/resources/mappers/SystemPermissionMapper.xml b/server/service/src/main/resources/mappers/SystemPermissionMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemPermissionMapper.xml
rename to server/service/src/main/resources/mappers/SystemPermissionMapper.xml
diff --git a/server/src/main/resources/mappers/SystemPositionMapper.xml b/server/service/src/main/resources/mappers/SystemPositionMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemPositionMapper.xml
rename to server/service/src/main/resources/mappers/SystemPositionMapper.xml
diff --git a/server/src/main/resources/mappers/SystemRoleMapper.xml b/server/service/src/main/resources/mappers/SystemRoleMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemRoleMapper.xml
rename to server/service/src/main/resources/mappers/SystemRoleMapper.xml
diff --git a/server/src/main/resources/mappers/SystemUserMapper.xml b/server/service/src/main/resources/mappers/SystemUserMapper.xml
similarity index 100%
rename from server/src/main/resources/mappers/SystemUserMapper.xml
rename to server/service/src/main/resources/mappers/SystemUserMapper.xml
diff --git a/server/src/main/resources/static/file/goodsExcelTemp.xlsx b/server/service/src/main/resources/static/file/goodsExcelTemp.xlsx
similarity index 100%
rename from server/src/main/resources/static/file/goodsExcelTemp.xlsx
rename to server/service/src/main/resources/static/file/goodsExcelTemp.xlsx
Binary files differ
diff --git a/server/src/main/java/com/doumee/Application.java b/server/src/main/java/com/doumee/Application.java
deleted file mode 100644
index 3dac562..0000000
--- a/server/src/main/java/com/doumee/Application.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.doumee;
-
-import lombok.extern.slf4j.Slf4j;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.ApplicationContext;
-
-/**
- * 鍚姩绫�
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Slf4j
-@SpringBootApplication
-@MapperScan("com.doumee.dao")
-public class Application {
-
- public static void main(String[] args) {
- ApplicationContext context = SpringApplication.run(Application.class);
- context.getEnvironment();
- }
-}
diff --git a/server/src/main/java/com/doumee/api/business/BrandController.java b/server/src/main/java/com/doumee/api/business/BrandController.java
deleted file mode 100644
index fb59422..0000000
--- a/server/src/main/java/com/doumee/api/business/BrandController.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.Brand;
-import com.doumee.service.business.BrandService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Api(tags = "鍝佺墝淇℃伅琛�")
-@RestController
-@RequestMapping("/business/brand")
-public class BrandController extends BaseController {
-
- @Autowired
- private BrandService brandService;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:brand:create")
- public ApiResponse create(@RequestBody Brand brand) {
- return ApiResponse.success(brandService.create(brand));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:brand:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- brandService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("business:brand:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- brandService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:brand:update")
- public ApiResponse updateById(@RequestBody Brand brand) {
- brandService.updateById(brand);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:brand:query")
- public ApiResponse<PageData<Brand>> findPage (@RequestBody PageWrap<Brand> pageWrap) {
- return ApiResponse.success(brandService.findPage(pageWrap));
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @PostMapping("/exportExcel")
- @RequiresPermissions("business:brand:exportExcel")
- public void exportExcel (@RequestBody PageWrap<Brand> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(Brand.class).export(brandService.findPage(pageWrap).getRecords(), "鍝佺墝淇℃伅琛�", response);
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:brand:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(brandService.findById(id));
- }
-
- @ApiOperation("鍒楄〃鏌ヨ")
- @PostMapping("/list")
- public ApiResponse<List<Brand>> findList (@RequestBody Brand brand) {
- return ApiResponse.success(brandService.findList(brand));
- }
-
-
-}
diff --git a/server/src/main/java/com/doumee/api/business/CateAttrController.java b/server/src/main/java/com/doumee/api/business/CateAttrController.java
deleted file mode 100644
index cf297e1..0000000
--- a/server/src/main/java/com/doumee/api/business/CateAttrController.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.Brand;
-import com.doumee.dao.business.model.CateAttr;
-import com.doumee.service.business.CateAttrService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Api(tags = "鍝佺被灞炴�ц鏍煎�间俊鎭〃")
-@RestController
-@RequestMapping("/business/cateAttr")
-public class CateAttrController extends BaseController {
-
- @Autowired
- private CateAttrService cateAttrService;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:cateattr:create")
- public ApiResponse create(@RequestBody CateAttr cateAttr) {
- return ApiResponse.success(cateAttrService.create(cateAttr));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:cateattr:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- cateAttrService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("business:cateattr:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- cateAttrService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:cateattr:update")
- public ApiResponse updateById(@RequestBody CateAttr cateAttr) {
- cateAttrService.updateById(cateAttr);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:cateattr:query")
- public ApiResponse<PageData<CateAttr>> findPage (@RequestBody PageWrap<CateAttr> pageWrap) {
- return ApiResponse.success(cateAttrService.findPage(pageWrap));
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @PostMapping("/exportExcel")
- @RequiresPermissions("business:cateattr:exportExcel")
- public void exportExcel (@RequestBody PageWrap<CateAttr> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(CateAttr.class).export(cateAttrService.findPage(pageWrap).getRecords(), "鍝佺被灞炴�ц鏍煎�间俊鎭〃", response);
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:cateattr:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(cateAttrService.findById(id));
- }
-
-
-
- @ApiOperation("鍒楄〃鏌ヨ")
- @PostMapping("/list")
- public ApiResponse<List<CateAttr>> findList (@RequestBody CateAttr cateAttr) {
- return ApiResponse.success(cateAttrService.findList(cateAttr));
- }
-
-
-}
diff --git a/server/src/main/java/com/doumee/api/business/CateBudgetController.java b/server/src/main/java/com/doumee/api/business/CateBudgetController.java
deleted file mode 100644
index 49971f6..0000000
--- a/server/src/main/java/com/doumee/api/business/CateBudgetController.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.CateBudget;
-import com.doumee.service.business.CateBudgetService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @since 2023/05/15 17:09
- */
-@Api(tags = "鍝佺被浠锋牸鍖洪棿琛�")
-@RestController
-@RequestMapping("/business/cateBudget")
-public class CateBudgetController extends BaseController {
-
- @Autowired
- private CateBudgetService cateBudgetService;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:catebudget:create")
- public ApiResponse create(@RequestBody CateBudget cateBudget) {
- return ApiResponse.success(cateBudgetService.create(cateBudget));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:catebudget:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- cateBudgetService.deleteById(id);
- return ApiResponse.success(null);
- }
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:catebudget:update")
- public ApiResponse updateById(@RequestBody CateBudget cateBudget) {
- cateBudgetService.updateById(cateBudget);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:catebudget:query")
- public ApiResponse<PageData<CateBudget>> findPage (@RequestBody PageWrap<CateBudget> pageWrap) {
- return ApiResponse.success(cateBudgetService.findPage(pageWrap));
- }
-
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:catebudget:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(cateBudgetService.findById(id));
- }
-}
diff --git a/server/src/main/java/com/doumee/api/business/CateParamController.java b/server/src/main/java/com/doumee/api/business/CateParamController.java
deleted file mode 100644
index a611b01..0000000
--- a/server/src/main/java/com/doumee/api/business/CateParamController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.CateParam;
-import com.doumee.service.business.CateParamService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Api(tags = "鍝佺被鍙傛暟淇℃伅琛�")
-@RestController
-@RequestMapping("/business/cateParam")
-public class CateParamController extends BaseController {
-
- @Autowired
- private CateParamService cateParamService;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:cateparam:create")
- public ApiResponse create(@RequestBody CateParam cateParam) {
- return ApiResponse.success(cateParamService.create(cateParam));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:cateparam:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- cateParamService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("business:cateparam:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- cateParamService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:cateparam:update")
- public ApiResponse updateById(@RequestBody CateParam cateParam) {
- cateParamService.updateById(cateParam);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:cateparam:query")
- public ApiResponse<PageData<CateParam>> findPage (@RequestBody PageWrap<CateParam> pageWrap) {
- return ApiResponse.success(cateParamService.findPage(pageWrap));
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @PostMapping("/exportExcel")
- @RequiresPermissions("business:cateparam:exportExcel")
- public void exportExcel (@RequestBody PageWrap<CateParam> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(CateParam.class).export(cateParamService.findPage(pageWrap).getRecords(), "鍝佺被鍙傛暟淇℃伅琛�", response);
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:cateparam:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(cateParamService.findById(id));
- }
-}
diff --git a/server/src/main/java/com/doumee/api/business/CategoryController.java b/server/src/main/java/com/doumee/api/business/CategoryController.java
deleted file mode 100644
index 9480ce1..0000000
--- a/server/src/main/java/com/doumee/api/business/CategoryController.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.Brand;
-import com.doumee.dao.business.model.Category;
-import com.doumee.service.business.CategoryService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Api(tags = "鍝佺被淇℃伅琛�")
-@RestController
-@RequestMapping("/business/category")
-public class CategoryController extends BaseController {
-
- @Autowired
- private CategoryService categoryService;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:category:create")
- public ApiResponse create(@RequestBody Category category) {
- return ApiResponse.success(categoryService.create(category));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:category:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- categoryService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("business:category:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- categoryService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:category:update")
- public ApiResponse updateById(@RequestBody Category category) {
- categoryService.updateById(category);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:category:query")
- public ApiResponse<PageData<Category>> findPage (@RequestBody PageWrap<Category> pageWrap) {
- return ApiResponse.success(categoryService.findPage(pageWrap));
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @PostMapping("/exportExcel")
- @RequiresPermissions("business:category:exportExcel")
- public void exportExcel (@RequestBody PageWrap<Category> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(Category.class).export(categoryService.findPage(pageWrap).getRecords(), "鍝佺被淇℃伅琛�", response);
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:category:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(categoryService.findById(id));
- }
-
- @ApiOperation("淇敼鐘舵��")
- @PostMapping("/updateDisableById")
- @RequiresPermissions("business:category:update")
- public ApiResponse updateDisableById(@RequestBody Category category) {
- categoryService.updateDisableById(category);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒楄〃 - H5")
- @PostMapping("/list")
- public ApiResponse<List<Category>> findList (@RequestBody Category category) {
- return ApiResponse.success(categoryService.findList(category));
- }
-
- @ApiOperation("鍒楄〃 - 鍟嗗搧閫夋嫨")
- @GetMapping("/findListForGoodsId")
- public ApiResponse<List<Category>> findListForGoodsId (Integer goodsId) {
- return ApiResponse.success(categoryService.findListForGoods(goodsId));
- }
-
-}
diff --git a/server/src/main/java/com/doumee/api/business/GoodsController.java b/server/src/main/java/com/doumee/api/business/GoodsController.java
deleted file mode 100644
index b072830..0000000
--- a/server/src/main/java/com/doumee/api/business/GoodsController.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package com.doumee.api.business;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.Category;
-import com.doumee.dao.business.model.Goods;
-import com.doumee.dao.business.model.dto.GoodsRequest;
-import com.doumee.service.business.GoodsService;
-import io.swagger.annotations.*;
-import org.apache.http.HttpRequest;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import java.io.File;
-import java.net.URLEncoder;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Api(tags = "鍟嗗搧淇℃伅琛�")
-@RestController
-@RequestMapping("/business/goods")
-public class GoodsController extends BaseController {
-
- @Autowired
- private GoodsService goodsService;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:goods:create")
- public ApiResponse create(@RequestBody Goods goods) {
- return ApiResponse.success(goodsService.create(goods));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:goods:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- goodsService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("business:goods:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- goodsService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:goods:update")
- public ApiResponse updateById(@RequestBody Goods goods) {
- goodsService.updateById(goods);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:goods:query")
- public ApiResponse<PageData<Goods>> findPage (@RequestBody PageWrap<Goods> pageWrap) {
- return ApiResponse.success(goodsService.findPage(pageWrap));
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @PostMapping("/exportExcel")
- @RequiresPermissions("business:goods:exportExcel")
- public void exportExcel (@RequestBody PageWrap<Goods> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(Goods.class).export(goodsService.findPage(pageWrap).getRecords(), "鍟嗗搧淇℃伅琛�", response);
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:goods:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(goodsService.findById(id));
- }
-
- @ApiOperation("瀵煎叆妯℃澘")
- @PostMapping("/importExcel")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
- })
-// @RequiresPermissions("business:goods:create")
- public ApiResponse<Integer> importExcel (@ApiParam(value = "file") MultipartFile file) {
- return ApiResponse.success(goodsService.importBatch(file));
- }
-
-
- @ApiOperation("淇敼鐘舵��")
- @PostMapping("/updateDisableById")
- @RequiresPermissions("business:category:update")
- public ApiResponse updateDisableById(@RequestBody Goods goods) {
- goodsService.updateDisableById(goods);
- return ApiResponse.success(null);
- }
-
-
- @ApiOperation("鍒楄〃 - H5")
- @PostMapping("/list")
- public ApiResponse<List<Goods>> findList (@RequestBody Goods goods) {
- return ApiResponse.success(goodsService.findList(goods));
- }
-
-
- @ApiOperation("鍟嗗搧鍒嗛〉鍒楄〃 - H5")
- @PostMapping("/goodsPage")
- public ApiResponse<PageData<Goods>> goodsPage(@RequestBody PageWrap<GoodsRequest> pageWrap) {
- return ApiResponse.success(goodsService.getGoodsPage(pageWrap));
- }
-
- @ApiOperation("鍒楄〃鏌ヨ - H5")
- @PostMapping("/listForH5")
- public ApiResponse<List<Goods>> listForH5 (@RequestBody GoodsRequest goodsRequest) {
- return ApiResponse.success(goodsService.findListForH5(goodsRequest));
- }
-
- @ApiOperation("鑾峰彇H5棣栭〉鍥�")
- @PostMapping("/h5Image")
- public ApiResponse<String> h5Image () {
- return ApiResponse.success(goodsService.h5Image());
- }
-
- @ApiOperation("瀵煎嚭瀵煎叆妯℃澘")
- @PostMapping("/export")
- public void export (HttpServletRequest request, HttpServletResponse response) throws Exception {
- goodsService.export(request,response);
- }
-}
diff --git a/server/src/main/java/com/doumee/api/business/GoodsParamController.java b/server/src/main/java/com/doumee/api/business/GoodsParamController.java
deleted file mode 100644
index 5bf15fc..0000000
--- a/server/src/main/java/com/doumee/api/business/GoodsParamController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.GoodsParam;
-import com.doumee.service.business.GoodsParamService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Api(tags = "鍟嗗搧鍙傛暟閰嶇疆琛�")
-@RestController
-@RequestMapping("/business/goodsParam")
-public class GoodsParamController extends BaseController {
-
- @Autowired
- private GoodsParamService goodsParamService;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:goodsparam:create")
- public ApiResponse create(@RequestBody GoodsParam goodsParam) {
- return ApiResponse.success(goodsParamService.create(goodsParam));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:goodsparam:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- goodsParamService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("business:goodsparam:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- goodsParamService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:goodsparam:update")
- public ApiResponse updateById(@RequestBody GoodsParam goodsParam) {
- goodsParamService.updateById(goodsParam);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:goodsparam:query")
- public ApiResponse<PageData<GoodsParam>> findPage (@RequestBody PageWrap<GoodsParam> pageWrap) {
- return ApiResponse.success(goodsParamService.findPage(pageWrap));
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @PostMapping("/exportExcel")
- @RequiresPermissions("business:goodsparam:exportExcel")
- public void exportExcel (@RequestBody PageWrap<GoodsParam> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(GoodsParam.class).export(goodsParamService.findPage(pageWrap).getRecords(), "鍟嗗搧鍙傛暟閰嶇疆琛�", response);
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:goodsparam:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(goodsParamService.findById(id));
- }
-}
diff --git a/server/src/main/java/com/doumee/api/business/MultifileController.java b/server/src/main/java/com/doumee/api/business/MultifileController.java
deleted file mode 100644
index 3107cf1..0000000
--- a/server/src/main/java/com/doumee/api/business/MultifileController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.Multifile;
-import com.doumee.service.business.MultifileService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Api(tags = "闄勪欢淇℃伅琛�")
-@RestController
-@RequestMapping("/business/multifile")
-public class MultifileController extends BaseController {
-
- @Autowired
- private MultifileService multifileService;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:multifile:create")
- public ApiResponse create(@RequestBody Multifile multifile) {
- return ApiResponse.success(multifileService.create(multifile));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:multifile:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- multifileService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("business:multifile:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- multifileService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:multifile:update")
- public ApiResponse updateById(@RequestBody Multifile multifile) {
- multifileService.updateById(multifile);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:multifile:query")
- public ApiResponse<PageData<Multifile>> findPage (@RequestBody PageWrap<Multifile> pageWrap) {
- return ApiResponse.success(multifileService.findPage(pageWrap));
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @PostMapping("/exportExcel")
- @RequiresPermissions("business:multifile:exportExcel")
- public void exportExcel (@RequestBody PageWrap<Multifile> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(Multifile.class).export(multifileService.findPage(pageWrap).getRecords(), "闄勪欢淇℃伅琛�", response);
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:multifile:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(multifileService.findById(id));
- }
-}
diff --git a/server/src/main/java/com/doumee/api/common/PublicController.java b/server/src/main/java/com/doumee/api/common/PublicController.java
deleted file mode 100644
index af11f05..0000000
--- a/server/src/main/java/com/doumee/api/common/PublicController.java
+++ /dev/null
@@ -1,332 +0,0 @@
-package com.doumee.api.common;
-
-import com.alibaba.fastjson.JSONObject;
-import com.doumee.api.BaseController;
-import com.doumee.biz.system.SystemDictDataBiz;
-import com.doumee.core.annotation.trace.Trace;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.utils.Constants;
-import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.aliyun.ALiYunUtil;
-import com.doumee.service.common.CaptchaService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.UUID;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-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 org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.multipart.commons.CommonsMultipartResolver;
-
-/**
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Api(tags = "鍏叡鎺ュ彛")
-@Trace(exclude = true)
-@RestController
-@RequestMapping("/public")
-@Slf4j
-public class PublicController extends BaseController {
-
-
- @Autowired
- private SystemDictDataBiz systemDictDataBiz;
-
-
- @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
- @ApiImplicitParams({
- @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
- })
- @PostMapping(value = "/upload", headers = "content-type=multipart/form-data")
- public void uploadMobile(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- upload(multipartRequest, response, folder + "/",
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
- }
-
-
- @ApiOperation(value = "涓婁紶鍥剧墖", notes = "涓婁紶鍥剧墖", httpMethod = "POST", position = 6)
- @ApiImplicitParams({
- @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
- })
- @PostMapping(value = "/uploadPicture", headers = "content-type=multipart/form-data")
- public void uploadPicture(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- Iterator<String> fileNames = multipartRequest.getFileNames();
- Map<String, Object> context = new HashMap<>();
- while (fileNames.hasNext()){
- MultipartFile file = multipartRequest.getFile(fileNames.next());
- String fileName = file.getOriginalFilename();
- String suffix = fileName.substring(fileName.lastIndexOf("."));
- if ( !StringUtils.equalsIgnoreCase(suffix, ".jpg") || !StringUtils.equalsIgnoreCase(suffix, ".png")) {
- context.put("code", 0);
- context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡涓婁紶鏈夎锛�");
- }
- }
- upload(multipartRequest, response, folder + "/",
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
- }
-
- public void upload(HttpServletRequest request, HttpServletResponse response, String folder, String bucketName,
- String access_id, String access_key, String resourcePath, String endpoint) throws Exception {
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/html;charset=UTF-8");
- Map<String, Object> context = new HashMap<>();
- CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
- if (multipartResovler.isMultipart(request)) {
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- Iterator<String> it = multipartRequest.getFileNames();
- while (it.hasNext()) {
- MultipartFile file = multipartRequest.getFile((String) it.next());// file
- // multipartRequest.getFile((String)
- // it.next());
- if (file != null) {
- // 1銆佷笂浼犲埌鏈嶅姟鍣ㄤ复鏃舵枃浠跺す
- String uploadFileName = file.getOriginalFilename();
- String originname = uploadFileName;
- if (originname.lastIndexOf("/") >= 0) {
- originname = originname.substring(originname.lastIndexOf("/") + 1);
- }
- String nfix = "";// 鍚庣紑鍚�
- if (StringUtils.isNotBlank(uploadFileName)) {
- nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
- }
- if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
- context.put("code", 4000);
- context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
- return;
- }
- if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
- context.put("code", 4000);
- context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
- return;
- }
- String nowDate = DateUtil.getNowShortDate();// 褰撳墠鏃堕棿锛堝勾鏈堟棩锛�
- String fileName = UUID.randomUUID().toString() + nfix;
- String tempFileName = nowDate + "/" + fileName;
- String key = folder + tempFileName;// 鏂囦欢鍚�
- ALiYunUtil obs = new ALiYunUtil(endpoint,access_id, access_key);
- if (obs.uploadOnlineObject(file.getInputStream(),bucketName, key,null)) {
- // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
- // sendSuccessMessage(response, resourcePath+key);
- context.put("success", true);
- context.put("code", 200);
- context.put("errno",0);
- JSONObject fileJSON = new JSONObject();
- fileJSON.put("url", resourcePath + key);
- fileJSON.put("imgaddr", tempFileName);
- fileJSON.put("imgname", fileName);
- fileJSON.put("originname", originname);
- context.put("data",fileJSON);
- context.put("message","璇锋眰鎴愬姛");
- writerJson(response, context);
- return;
- } else {
- // 绉诲姩澶辫触
- context.put("code", 0);
- context.put("message", "涓婁紶澶辫触");
- writerJson(response, context);
- return;
- }
- }
-
- }
- }
- context.put("code", 0);
- context.put("message", "涓婁紶澶辫触");
- context.put("errno",0);
- writerJson(response, context);
- return;
- }
-
- public static void writerJson(HttpServletResponse response, Object object) {
- response.setContentType("application/json");
- writer(response, JSONObject.toJSONString(object));
- }
-
- private static void writer(HttpServletResponse response, String str) {
- try {
- StringBuffer result = new StringBuffer();
- //璁剧疆椤甸潰涓嶇紦瀛�
- response.setHeader("Pragma", "No-cache");
- response.setHeader("Cache-Control", "no-cache");
- response.setCharacterEncoding("UTF-8");
- PrintWriter out = null;
- out = response.getWriter();
- out.print(str);
- out.flush();
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
-
-
- @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
- @ApiImplicitParams({
- @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
- })
- @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data")
- public void uploadLocal(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-
- // CommonsMultipartFile files = (CommonsMultipartFile) multipartRequest.getFile("filedata");
- uploadFileLocal(multipartRequest, folder+ "/", response,
- systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.GOODS_IMG_DIR).getCode() ,
- systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode());
-
- }
-
- public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception {
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/html;charset=UTF-8");
- CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
- Map<String, Object> context = new HashMap<>();
- if (multipartResovler.isMultipart(request)) {
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- Iterator<String> it = multipartRequest.getFileNames();
- while (it.hasNext()) {
- MultipartFile file = multipartRequest.getFile((String) it.next());// file
- // =
- // (CommonsMultipartFile)
- // multipartRequest.getFile((String)
- // it.next());
- if (file != null) {
- if (file.getSize() > 200 * 1024 * 1024L) {
- context.put("code", 4000);
- context.put("message", "涓婁紶鏂囦欢杩囧ぇ");
- return;
- }
- System.out.println(file.getOriginalFilename());
- if (file.getOriginalFilename() == null) {
- context.put("code", 4000);
- context.put("message", "鏂囦欢鍚嶄笉鍙负绌�");
- return;
- }
- /*
- * if(file.getOriginalFilename().contains(",")||file.getOriginalFilename().
- * contains(" ")){ sendFailureMessage(response,"鏂囦欢鍚嶇О鏈夎,涓嶅彲鍚湁閫楀彿绛夌壒娈婂瓧绗�"); }
- */
-
- String nowDate = DateUtil.getNowShortDate();
- folder += nowDate + "/";
- String strDirPath = rootPath + folder;
- File dirPath = new File(strDirPath);
- if (!dirPath.exists()) {
- dirPath.mkdirs();
- }
- String uploadFileName = file.getOriginalFilename();
- String x = UUID.randomUUID().toString().replace("-", "")
- + uploadFileName.substring(uploadFileName.lastIndexOf("."));
- String fileName = folder + x;
- String fileNames = nowDate + "/" + x;
- uploadFileName = uploadFileName.replace(" ", "");
- uploadFileName = uploadFileName.replace("锛�", ",");
- uploadFileName = uploadFileName.replaceAll(",", "-");
- System.err.println("R:" + fileName);
- String fileAndPath = dir + fileName;
- System.err.println("A:" + fileAndPath);
- // 鍒ゆ柇濡傛灉涓存椂鐩綍涓瓨鍦ㄧ浉鍚屽悕绉扮殑鏂囦欢鍏堝垹闄わ紝鍦ㄤ笂浼�
- File tempFile = new File(rootPath + fileName);
- if (tempFile.isFile() && tempFile.exists()) {
- tempFile.getAbsoluteFile().delete();
- }
- // 涓婁紶鍒版湇鍔″櫒涓存椂鏂囦欢澶�
- file.transferTo(tempFile);
- // 杞Щ鍒癋TP鏈嶅姟鍣�
- String nfix = "";
- if (null != uploadFileName) {
- nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
- }
-
- if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
- context.put("code", 4000);
- context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
- return;
- }
- if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
- context.put("code", 4000);
- context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
- return;
- }
-
- String remoteName = fileName;
- String remoteFileName = fileAndPath;
-
- /* Map map = new HashMap();
- map.put("url", remoteFileName);
- map.put("alt", uploadFileName);
- map.put("href", remoteFileName);
- List maps = Arrays.asList(remoteFileName);*/
-
- if (true) {
- // 鍏抽棴FTP娴�
- // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
-
- /*context.put("error", 0);
- context.put("url", remoteFileName);
- context.put("fullurl", remoteFileName);
- context.put("fname", uploadFileName);
- context.put("data", maps);
- context.put("halfurl", fileNames);*/
-
- context.put("success", true);
- context.put("code", 200);
- context.put("errno",0);
- JSONObject fileJSON = new JSONObject();
- fileJSON.put("url", remoteFileName);
- fileJSON.put("imgaddr", fileNames);
- fileJSON.put("imgname", uploadFileName);
- fileJSON.put("originname", uploadFileName);
- context.put("data",fileJSON);
- context.put("message","璇锋眰鎴愬姛");
-
- writerJson(response, context);
- return;
- } else {
- // 绉诲姩澶辫触
- context.put("code", 0);
- context.put("message", "涓婁紶澶辫触");
- writerJson(response, context);
- }
- }
- context.put("code", 0);
- context.put("message", "涓婁紶澶辫触");
- writerJson(response, context);
- return;
- }
- }
- context.put("code", 0);
- context.put("message", "涓婁紶澶辫触");
- writerJson(response, context);
- return;
- }
-}
diff --git a/server/src/main/java/com/doumee/api/system/SystemDictDataController.java b/server/src/main/java/com/doumee/api/system/SystemDictDataController.java
deleted file mode 100644
index 31989ab..0000000
--- a/server/src/main/java/com/doumee/api/system/SystemDictDataController.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.doumee.api.system;
-
-import com.doumee.api.BaseController;
-import com.doumee.biz.system.SystemDictDataBiz;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.constants.OperaType;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.utils.Constants;
-import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
-import com.doumee.dao.system.model.SystemDictData;
-import com.doumee.dao.system.vo.SystemDictDataListVO;
-import com.doumee.service.system.SystemDictDataService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Eva.Caesar Liu
- * @date 2023/03/21 14:49
- */
-@Api(tags = "瀛楀吀鏁版嵁")
-@RestController
-@RequestMapping("/system/dictData")
-public class SystemDictDataController extends BaseController {
-
- @Autowired
- private SystemDictDataService systemDictDataService;
-
- @Autowired
- private SystemDictDataBiz systemDictDataBiz;
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("system:dict:update")
- public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemDictData systemDictData) {
- return ApiResponse.success(systemDictDataBiz.create(systemDictData));
- }
-
- @ApiOperation("鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("system:dict:update")
- public ApiResponse deleteById(@PathVariable Integer id) {
- systemDictDataService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("system:dict:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- systemDictDataService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("system:dict:update")
- public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemDictData systemDictData) {
- systemDictDataBiz.updateById(systemDictData);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("system:dict:update")
- public ApiResponse<PageData<SystemDictDataListVO>> findPage (@RequestBody PageWrap<QuerySystemDictDataDTO> pageWrap) {
- return ApiResponse.success(systemDictDataService.findPage(pageWrap));
- }
-
-
-
-
-
- @ApiOperation("缂栬緫鏌ヨ鍜栬眴浠诲姟瑙勫垯")
- @PostMapping("/createCoffeeTask")
- @RequiresPermissions("system:dict:update")
- public ApiResponse createCoffeeTask(@Validated(OperaType.Create.class) @RequestBody List<SystemDictData> list) {
- systemDictDataBiz.updateByDicId(list);
- return ApiResponse.success(null);
- }
-
-}
diff --git a/server/src/main/java/com/doumee/api/system/SystemUserController.java b/server/src/main/java/com/doumee/api/system/SystemUserController.java
deleted file mode 100644
index 6512fb0..0000000
--- a/server/src/main/java/com/doumee/api/system/SystemUserController.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.doumee.api.system;
-
-import com.doumee.api.BaseController;
-import com.doumee.biz.system.SystemUserBiz;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.annotation.trace.Trace;
-import com.doumee.core.constants.OperaType;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
-import com.doumee.dao.system.dto.CreateSystemUserDTO;
-import com.doumee.dao.system.dto.CreateUserRoleDTO;
-import com.doumee.dao.system.dto.QuerySystemUserDTO;
-import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
-import com.doumee.dao.system.model.SystemUser;
-import com.doumee.dao.system.vo.SystemUserListVO;
-import com.doumee.service.system.SystemUserService;
-import io.swagger.annotations.*;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Eva.Caesar Liu
- * @date 2023/03/21 14:49
- */
-@Api(tags = "鐢ㄦ埛")
-@RestController
-@RequestMapping("/system/user")
-public class SystemUserController extends BaseController {
-
- @Autowired
- private SystemUserService systemUserService;
-
- @Autowired
- private SystemUserBiz systemUserBiz;
-
- @PreventRepeat
- @ApiOperation("閰嶇疆鐢ㄦ埛瑙掕壊")
- @PostMapping("/createUserRole")
- @RequiresPermissions("system:user:createUserRole")
- public ApiResponse createUserRole (@Validated @RequestBody CreateUserRoleDTO dto) {
- systemUserBiz.createUserRole(dto);
- return ApiResponse.success(null);
- }
-
- @Trace(withRequestParameters = false)
- @PreventRepeat
- @ApiOperation("閲嶇疆鐢ㄦ埛瀵嗙爜")
- @PostMapping("/resetPwd")
- @RequiresPermissions("system:user:resetPwd")
- public ApiResponse resetPwd (@Validated @RequestBody ResetSystemUserPwdDTO dto) {
- dto.setOperaUserId(this.getLoginUser().getId());
- systemUserBiz.resetPwd(dto);
- return ApiResponse.success(null);
- }
-
- @Trace(withRequestParameters = false)
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("system:user:create")
- public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody CreateSystemUserDTO systemUser) {
- systemUser.setCreateUser(this.getLoginUser().getId());
- systemUserBiz.create(systemUser);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("system:user:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- systemUserBiz.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("system:user:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- systemUserBiz.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @Trace(withRequestParameters = false)
- @ApiOperation("淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("system:user:update")
- public ApiResponse updateById( @RequestBody CreateSystemUserDTO systemUser) {
- systemUser.setUpdateUser(this.getLoginUser().getId());
- systemUserBiz.updateById(systemUser);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("system:user:query")
- public ApiResponse<PageData<SystemUserListVO>> findPage (@RequestBody PageWrap<QuerySystemUserDTO> pageWrap) {
- return ApiResponse.success(systemUserService.findPage(pageWrap));
- }
-
-
-
- @ApiOperation("鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛")
- @PostMapping("/findAllList")
- @RequiresPermissions("system:user:query")
- public ApiResponse<PageData<SystemUser>> findAllList (@RequestBody PageWrap<SystemUser> pageWrap) {
- return ApiResponse.success(systemUserService.findAllList(pageWrap));
- }
-
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("system:user:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(systemUserService.findById(id));
- }
-
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java b/server/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java
deleted file mode 100644
index 1ece7ec..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.doumee.config.shiro;
-
-import com.doumee.core.model.ApiResponse;
-import com.alibaba.fastjson.JSON;
-import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
-import org.springframework.http.HttpStatus;
-
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Shiro璁よ瘉杩囨护鍣紝澶勭悊鏈璇佹儏鍐电殑鍝嶅簲
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-public class ShiroAuthFilter extends FormAuthenticationFilter {
-
- public ShiroAuthFilter() {
- super();
- }
-
- @Override
- protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
- HttpServletResponse servletResponse = (HttpServletResponse) response;
- servletResponse.setHeader("content-type", "application/json;charset=UTF-8");
- servletResponse.getWriter().write(JSON.toJSONString(ApiResponse.failed(HttpStatus.UNAUTHORIZED.value(), "鏈櫥褰曟垨鐧诲綍淇℃伅宸茶繃鏈�")));
- return Boolean.FALSE;
- }
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroCache.java b/server/src/main/java/com/doumee/config/shiro/ShiroCache.java
deleted file mode 100644
index f751199..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroCache.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package com.doumee.config.shiro;
-
-import com.doumee.service.proxy.CacheProxy;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.cache.Cache;
-import org.apache.shiro.cache.CacheException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Component;
-import org.springframework.util.CollectionUtils;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Set;
-
-/**
- * Shiro缂撳瓨
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Scope(value = "prototype")
-@Slf4j
-@Component
-public class ShiroCache implements Cache<Object, Serializable> {
-
- private String keyPrefix = "";
-
- @Autowired
- private CacheProxy<Object, Serializable> cacheProxy;
-
- public ShiroCache () {
- log.debug("ShiroCache: new, keyPrefix = [" + keyPrefix + "]");
- }
-
- public ShiroCache(String keyPrefix) {
- log.debug("ShiroCache: new, keyPrefix = [" + keyPrefix + "]");
- this.keyPrefix = keyPrefix;
- }
-
- @Override
- public Serializable get(Object key) throws CacheException {
- if (key == null) {
- return null;
- }
- return cacheProxy.get(getKey(key));
- }
-
- @Override
- public Serializable put(Object key, Serializable value) throws CacheException {
- if (key == null) {
- return null;
- }
- cacheProxy.put(getKey(key), value);
- return value;
- }
-
- public Serializable put(Object key, Serializable value, int timeout) throws CacheException {
- if (key == null) {
- return null;
- }
- cacheProxy.put(getKey(key), value, timeout);
- return value;
- }
-
- @Override
- public void clear() throws CacheException {
- Set<Object> keys = this.keys();
- cacheProxy.remove(keys);
- }
-
- @Override
- public int size() {
- return this.keys().size();
- }
-
- @Override
- public Set<Object> keys() {
- Set<Object> keys = cacheProxy.keys(keyPrefix + "*");
- if (CollectionUtils.isEmpty(keys)) {
- return Collections.emptySet();
- }
- return keys;
- }
-
- @Override
- public Collection<Serializable> values() {
- Collection<Serializable> values = new ArrayList<>();
- Set<Object> keys = this.keys();
- if (CollectionUtils.isEmpty(keys)) {
- return values;
- }
- for (Object k : keys) {
- values.add(cacheProxy.get(k));
- }
- return values;
- }
-
- @Override
- public Serializable remove(Object key) throws CacheException {
- if (key == null) {
- return null;
- }
- Serializable value = this.get(getKey(key));
- cacheProxy.remove(getKey(key));
- return value;
- }
-
- private Object getKey (Object key) {
- return (key instanceof String ? (this.keyPrefix + key) : key);
- }
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java b/server/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java
deleted file mode 100644
index 4b65d78..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.doumee.config.shiro;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.cache.Cache;
-import org.apache.shiro.cache.CacheException;
-import org.apache.shiro.cache.CacheManager;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationContext;
-import org.springframework.stereotype.Component;
-
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-/**
- * 鑷畾涔塖hiro CacheManager
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Slf4j
-@Component
-public class ShiroCacheManager implements CacheManager {
-
- private final ConcurrentMap<String, Cache> caches = new ConcurrentHashMap();
-
- private static ApplicationContext applicationContext;
-
- @Override
- public <K, V> Cache<K, V> getCache(String name) throws CacheException {
- log.debug("get cache, name=" + name);
- Cache cache = this.caches.get(name);
- if (cache == null) {
- cache = applicationContext.getBean(ShiroCache.class, "shiro:cache:");
- this.caches.put(name, cache);
- }
- return cache;
- }
-
- @Autowired
- public void setApplicationContext (ApplicationContext applicationContext) {
- if (ShiroCacheManager.applicationContext == null) {
- ShiroCacheManager.applicationContext = applicationContext;
- }
- }
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroConfig.java b/server/src/main/java/com/doumee/config/shiro/ShiroConfig.java
deleted file mode 100644
index 9765736..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroConfig.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package com.doumee.config.shiro;
-
-import org.apache.coyote.http11.AbstractHttp11Protocol;
-import org.apache.shiro.mgt.SecurityManager;
-import org.apache.shiro.session.mgt.SessionManager;
-import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
-import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
-import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
-import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
-import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
-import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import javax.servlet.Filter;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * Shiro閰嶇疆
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Configuration
-public class ShiroConfig {
-
- @Value("${cache.session.expire}")
- private int sessionExpireTime;
-
- @Autowired
- private ShiroCredentialsMatcher shiroCredentialsMatcher;
-
- @Autowired
- private ShiroSessionDAO shiroSessionDAO;
-
- @Autowired
- private ShiroCacheManager shiroCacheManager;
-
- @Autowired
- private ShiroRealm shiroRealm;
-
- @Bean
- public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
- DefaultAdvisorAutoProxyCreator autoProxyCreator = new DefaultAdvisorAutoProxyCreator();
- autoProxyCreator.setProxyTargetClass(true);
- return autoProxyCreator;
- }
-
- @Bean
- public SessionManager sessionManager() {
- ShiroSessionManager sessionManager = new ShiroSessionManager();
- sessionManager.setSessionDAO(shiroSessionDAO);
- return sessionManager;
- }
-
- @Bean
- public SecurityManager securityManager() {
- DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
- securityManager.setRealm(shiroRealm);
- securityManager.setSessionManager(this.sessionManager());
- securityManager.setCacheManager(shiroCacheManager);
- return securityManager;
- }
-
- @Bean
- public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
- ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
- shiroFilterFactoryBean.setSecurityManager(securityManager);
- Map<String, String> map = new LinkedHashMap<>();
- // 璺緞鎷︽埅閰嶇疆
- map.put("/system/dictData/companyUserRules","anon");
- map.put("/system/login", "anon");
- map.put("/system/logout", "anon");
- map.put("/common/captcha", "anon");
- map.put("/business/areas/*", "anon");
- map.put("/business/company/register", "anon");
- map.put("/business/labels/page","anon");
- map.put("/public/uploadPicture","anon");
- map.put("/public/uploadLocal","anon");
- map.put("/business/*/list","anon");
- map.put("/business/goods/goodsPage","anon");
- map.put("/business/goods/h5Image","anon");
- map.put("/business/goods/export","anon");
- map.put("/business/goods/listForH5","anon");
-
-
- // - 鏀捐swagger
- map.put("/doc.html", "anon");
- map.put("/webjars/**", "anon");
- map.put("/swagger-resources/**", "anon");
- map.put("/v2/api-docs/**", "anon");
-
- // - 鍏朵粬鎺ュ彛缁熶竴鎷︽埅
- map.put("/**", "authc");
- shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
- // 娣诲姞璁よ瘉杩囨护鍣�
- Map<String, Filter> filters = new LinkedHashMap<>();
- filters.put("authc", new ShiroAuthFilter());
- shiroFilterFactoryBean.setFilters(filters);
- return shiroFilterFactoryBean;
- }
-
- @Bean
- public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
- AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
- authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
- return authorizationAttributeSourceAdvisor;
- }
-
- @Bean
- public ShiroSessionDAO getShiroSessionDAO () {
- shiroSessionDAO.setExpireTime(sessionExpireTime);
- return shiroSessionDAO;
- }
-
- @Bean
- public ShiroRealm getShiroRealm () {
- shiroRealm.setCredentialsMatcher(shiroCredentialsMatcher);
- return shiroRealm;
- }
-
- private int maxUploadSizeInMb = 10 * 1024 * 1024; // 10 MB
-
- @Bean
- public TomcatServletWebServerFactory tomcatEmbedded() {
-
- TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
- tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
- // connector other settings...
- // configure maxSwallowSize
- if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) {
- // -1 means unlimited, accept bytes
- ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1);
- }
- });
- return tomcat;
- }
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java b/server/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
deleted file mode 100644
index 39398c9..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.doumee.config.shiro;
-
-import com.doumee.core.utils.Utils;
-import com.doumee.dao.system.model.SystemUser;
-import com.doumee.service.system.SystemUserService;
-import org.apache.shiro.authc.AuthenticationInfo;
-import org.apache.shiro.authc.AuthenticationToken;
-import org.apache.shiro.authc.UsernamePasswordToken;
-import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.stereotype.Component;
-
-/**
- * Shiro瀵嗙爜姣斿澶勭悊
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Component
-public class ShiroCredentialsMatcher extends HashedCredentialsMatcher {
-
- @Lazy
- @Autowired
- private SystemUserService systemUserService;
-
- @Override
- public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
- UsernamePasswordToken usernamePasswordToken = (UsernamePasswordToken) token;
- SystemUser queryUserDto = new SystemUser();
- queryUserDto.setUsername(usernamePasswordToken.getUsername());
- queryUserDto.setDeleted(Boolean.FALSE);
- SystemUser systemUser = systemUserService.findOne(queryUserDto);
- if (systemUser == null) {
- return Boolean.FALSE;
- }
- // 鍔犲瘑瀵嗙爜
- String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt());
- // 姣旇緝瀵嗙爜
- return this.equals(pwd, systemUser.getPassword());
- }
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/src/main/java/com/doumee/config/shiro/ShiroRealm.java
deleted file mode 100644
index e88e641..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroRealm.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.config.shiro;
-
-import com.doumee.core.constants.ResponseStatus;
-import com.doumee.core.exception.BusinessException;
-import com.doumee.core.model.LoginUserInfo;
-import com.doumee.core.utils.Constants;
-import com.doumee.dao.system.model.SystemPermission;
-import com.doumee.dao.system.model.SystemRole;
-import com.doumee.dao.system.model.SystemUser;
-import com.doumee.service.system.SystemPermissionService;
-import com.doumee.service.system.SystemRoleService;
-import com.doumee.service.system.SystemUserService;
-import org.apache.shiro.authc.AuthenticationException;
-import org.apache.shiro.authc.AuthenticationInfo;
-import org.apache.shiro.authc.AuthenticationToken;
-import org.apache.shiro.authc.SimpleAuthenticationInfo;
-import org.apache.shiro.authz.AuthorizationInfo;
-import org.apache.shiro.authz.SimpleAuthorizationInfo;
-import org.apache.shiro.realm.AuthorizingRealm;
-import org.apache.shiro.subject.PrincipalCollection;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * 鑷畾涔塕ealm锛屽鐞嗚璇佸拰鏉冮檺
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Component
-public class ShiroRealm extends AuthorizingRealm {
-
- @Lazy
- @Autowired
- private SystemUserService systemUserService;
-
- @Lazy
- @Autowired
- private SystemRoleService systemRoleService;
-
- @Lazy
- @Autowired
- private SystemPermissionService systemPermissionService;
-
- /**
- * 鏉冮檺澶勭悊
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
- @Override
- protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
- LoginUserInfo loginUserInfo = (LoginUserInfo)principalCollection.getPrimaryPrincipal();
- // 璁剧疆鐢ㄦ埛瑙掕壊鍜屾潈闄�
- SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
- authorizationInfo.addRoles(loginUserInfo.getRoles());
- authorizationInfo.addStringPermissions(loginUserInfo.getPermissions());
- return authorizationInfo;
- }
-
- /**
- * 璁よ瘉澶勭悊
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
- @Override
- protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
- // 鑾峰彇鐢ㄦ埛鍚�
- String username = authenticationToken.getPrincipal().toString();
- // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
- SystemUser queryDto = new SystemUser();
- queryDto.setUsername(username);
- queryDto.setDeleted(Boolean.FALSE);
- SystemUser user = systemUserService.findOne(queryDto);
- if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
- }
- if (user == null) {
- return null;
- }
- // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
- List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
- List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
- LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
- // 楠岃瘉鐢ㄦ埛
- return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
- }
-
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java b/server/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java
deleted file mode 100644
index 17e0e60..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package com.doumee.config.shiro;
-
-import lombok.Data;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.session.Session;
-import org.apache.shiro.session.UnknownSessionException;
-import org.apache.shiro.session.mgt.SimpleSession;
-import org.apache.shiro.session.mgt.eis.SessionDAO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.io.Serializable;
-import java.util.*;
-
-/**
- * 鑷畾涔塖hiro SessionDAO锛屽皢浼氳瘽淇℃伅瀛樺叆缂撳瓨涓�
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@Slf4j
-@Component
-public class ShiroSessionDAO implements SessionDAO {
-
- private static final String KEY_PREFIX = "shiro:session:";
-
- @Autowired
- private ShiroCache shiroCache;
-
- private int expireTime = 1800;
-
- @Autowired
- private ShiroTokenManager shiroTokenManager;
-
- @Override
- public Serializable create(Session session) {
- if (session == null) {
- log.error("session is null");
- throw new UnknownSessionException("session is null");
- }
- Serializable sessionId = shiroTokenManager.build();
- ((SimpleSession)session).setId(sessionId);
- this.saveSession(session);
- return sessionId;
- }
-
- @Override
- public Session readSession(Serializable sessionId) throws UnknownSessionException{
- if (sessionId == null) {
- log.warn("session id is null");
- return null;
- }
- if (sessionId instanceof String) {
- // 瀵筍essionId杩涜楠岃瘉锛堝彲鐢ㄤ簬闃叉Session鎹曡幏銆佹毚鍔涙崟鎹夌瓑涓�绯诲垪瀹夊叏闂锛屾渶缁堝畨鍏ㄦ�у彇鍐充簬check濡備綍瀹炵幇锛�
- shiroTokenManager.check((String) sessionId);
- }
- log.debug("read session from cache");
- Session session = getSessionFromCache(sessionId);
- if (session == null) {
- throw new UnknownSessionException("There is no session with id [" + sessionId + "]");
- }
- return session;
- }
-
- @Override
- public void update(Session session) throws UnknownSessionException {
- this.saveSession(session);
- }
-
- @Override
- public void delete(Session session) {
- if (session != null && session.getId() != null) {
- shiroCache.remove(KEY_PREFIX + session.getId());
- }
- }
-
- @Override
- public Collection<Session> getActiveSessions() {
- Set<Session> sessions = new HashSet<>();
- Set<Object> keys = shiroCache.keys();
- if (keys != null && keys.size() > 0) {
- Iterator iter = keys.iterator();
- while(iter.hasNext()) {
- sessions.add((Session) shiroCache.get(iter.next()));
- }
- }
- return sessions;
- }
-
- private void saveSession(Session session) throws UnknownSessionException {
- if (session == null || session.getId() == null) {
- log.error("session or session id is null");
- throw new UnknownSessionException("session or session id is null");
- }
- shiroCache.put(KEY_PREFIX + session.getId(), (SimpleSession)session, expireTime);
- }
-
- private Session getSessionFromCache (Serializable sessionId) {
- Serializable object = shiroCache.get(KEY_PREFIX + sessionId);
- Session session = null;
- if (object != null) {
- session = (Session)shiroCache.get(KEY_PREFIX + sessionId);
- }
- return session;
- }
-
- public void setExpireTime (int expireTime) {
- this.expireTime = expireTime;
- }
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java b/server/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java
deleted file mode 100644
index 7024277..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.doumee.config.shiro;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.session.Session;
-import org.apache.shiro.session.mgt.DefaultSessionManager;
-import org.apache.shiro.session.mgt.SessionContext;
-import org.apache.shiro.session.mgt.SessionKey;
-import org.apache.shiro.web.servlet.Cookie;
-import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
-import org.apache.shiro.web.servlet.SimpleCookie;
-import org.apache.shiro.web.session.mgt.WebSessionManager;
-import org.apache.shiro.web.util.WebUtils;
-
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.Serializable;
-
-/**
- * 鑷畾涔変細璇濈鐞嗗櫒
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Slf4j
-public class ShiroSessionManager extends DefaultSessionManager implements WebSessionManager {
-
- private static final String AUTH_TOKEN = "eva-auth-token";
-
- @Override
- protected void onStart(Session session, SessionContext context) {
- super.onStart(session, context);
- if (!WebUtils.isHttp(context)) {
- log.debug("SessionContext argument is not Http compatible or does not have an Http request/response pair. No session ID cookie will be set.");
- return;
- }
- HttpServletRequest request = WebUtils.getHttpRequest(context);
- HttpServletResponse response = WebUtils.getHttpResponse(context);
- Serializable sessionId = session.getId();
- this.storeSessionId(sessionId, request, response);
- request.removeAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE);
- request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_IS_NEW, Boolean.TRUE);
- }
-
- @Override
- public Serializable getSessionId(SessionKey key) {
- Serializable sessionId = super.getSessionId(key);
- if (sessionId == null && WebUtils.isWeb(key)) {
- ServletRequest servletRequest = WebUtils.getRequest(key);
- if (!(servletRequest instanceof HttpServletRequest)) {
- log.trace("Can not get sessionId from header, the request is not HttpServletRequest");
- return null;
- }
- HttpServletRequest request = (HttpServletRequest) servletRequest;
- // 浠巆ookie涓幏鍙栬璇�
- javax.servlet.http.Cookie[] cookies = request.getCookies();
- if (cookies != null) {
- for (javax.servlet.http.Cookie cookie : cookies) {
- if (AUTH_TOKEN.equals(cookie.getName())) {
- return cookie.getValue();
- }
- }
- }
- // 浠巋eader涓幏鍙栬璇�
- return request.getHeader(AUTH_TOKEN);
- }
- return sessionId;
- }
-
- @Override
- public boolean isServletContainerSessions() {
- return false;
- }
-
- private void storeSessionId(Serializable currentId, HttpServletRequest request, HttpServletResponse response) {
- if (currentId == null) {
- String msg = "sessionId cannot be null when persisting for subsequent requests.";
- throw new IllegalArgumentException(msg);
- }
- Cookie cookie = new SimpleCookie(AUTH_TOKEN);
- cookie.setHttpOnly(false);
- String idString = currentId.toString();
- cookie.setValue(idString);
- cookie.saveTo(request, response);
- log.trace("Set session ID cookie for session with id {}", idString);
- }
-}
diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java b/server/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java
deleted file mode 100644
index 00997d1..0000000
--- a/server/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.doumee.config.shiro;
-
-import com.doumee.core.exception.UnSafeSessionException;
-import org.springframework.stereotype.Component;
-
-import java.util.UUID;
-
-/**
- * 榛樿Token绠$悊鍣�
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Component
-public class ShiroTokenManager {
-
- String build() {
- return UUID.randomUUID().toString();
- }
-
- void check(String token) throws UnSafeSessionException {
- if (token == null || token.length() != 36) {
- throw new UnSafeSessionException();
- }
- }
-}
diff --git a/server/src/main/java/com/doumee/config/swagger/SwaggerConfig.java b/server/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
deleted file mode 100644
index 6e902c1..0000000
--- a/server/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.doumee.config.swagger;
-
-import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import java.util.function.Predicate;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import springfox.documentation.RequestHandler;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.oas.annotations.EnableOpenApi;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-
-/**
- * Swagger閰嶇疆
- * @author Eva.Caesar Liu
- * @date 2022/03/11 10:24
- */
-@Configuration
-@EnableOpenApi
-@EnableKnife4j
-public class SwaggerConfig {
-
- @Value("${swagger.host:}")
- private String host;
-
- @Value("${swagger.title:鎺ュ彛鏂囨。}")
- private String title;
-
- @Value("${swagger.description:}")
- private String description;
-
- @Value("${project.version:}")
- private String version;
-
- @Bean
- public ApiInfo getApiInfo() {
- return new ApiInfoBuilder()
- .title(title)
- .description(description)
- .version(version)
- .build();
- }
- @Bean
- public Docket getDocket() {
- return new Docket(DocumentationType.SWAGGER_2)
- .apiInfo(this.getApiInfo()).groupName("銆愮郴缁熺鐞嗘帴鍙PI銆�")
- .host(host)
- .select()
- .apis( basePackage("com.doumee.api.system;com.doumee.api.business;"))
- // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
-// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
- .paths(PathSelectors.any())
- .build();
- }
- @Bean
- public Docket getDocket1() {
- return new Docket(DocumentationType.SWAGGER_2)
- .apiInfo(this.getApiInfo()).groupName("銆愬叕鍏辨帴鍙PI銆�")
- .host(host)
- .select()
- .apis( basePackage("com.doumee.api.common"))
- // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
-// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
- .paths(PathSelectors.any())
- .build();
- }
- /**
- * 閲嶅啓basePackage鏂规硶锛屼娇鑳藉瀹炵幇澶氬寘璁块棶锛屽鍒惰创涓婂幓
- * @author teavamc
- * @date 2019/1/26
- * @return com.google.common.base.Predicate<springfox.documentation.RequestHandler>
- */
- public static Predicate<RequestHandler> basePackage(String basePackage) {
- return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true);
- }
-
- private static Function<Class<?>, Boolean> handlerPackage(String basePackage) {
- return input -> {
- // 寰幆鍒ゆ柇鍖归厤
- for (String strPackage : basePackage.split(";")) {
- boolean isMatch = input.getPackage().getName().startsWith(strPackage);
- if (isMatch) {
- return true;
- }
- }
- return false;
- };
- }
-
- private static Optional<? extends Class<?>> declaringClass(RequestHandler input) {
- return Optional.fromNullable(input.declaringClass());
- }
-}
diff --git a/server/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java b/server/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java
deleted file mode 100644
index 07629b1..0000000
--- a/server/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.doumee.config.swagger;
-
-import java.io.IOException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.HandlerInterceptor;
-
-/**
- * Swagger鎷︽埅鍣�
- * @author Eva.Caesar Liu
- * @date 2022/04/18 18:12
- */
-@Slf4j
-@Component
-public class SwaggerInterceptor implements HandlerInterceptor {
-
- @Value("${swagger.enabled:false}")
- private Boolean enabledSwagger;
-
- @Value("${swagger.redirect-uri:/}")
- private String redirectUri;
-
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
- if (!enabledSwagger) {
- String uri = request.getContextPath();
- if (StringUtils.isNotBlank(redirectUri))
- uri = request.getContextPath() + redirectUri;
- if (StringUtils.isBlank(uri))
- uri = "/";
- try {
- response.sendRedirect(uri);
- } catch (IOException e) {
- log.error(String.format("Redirect to '%s' for swagger throw an exception : %s", uri, e.getMessage()), e);
- }
- return Boolean.FALSE;
- }
- return Boolean.TRUE;
- }
-}
diff --git a/server/src/main/java/com/doumee/core/utils/Constants.java b/server/src/main/java/com/doumee/core/utils/Constants.java
deleted file mode 100644
index ca55038..0000000
--- a/server/src/main/java/com/doumee/core/utils/Constants.java
+++ /dev/null
@@ -1,726 +0,0 @@
-package com.doumee.core.utils;
-
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-
-import java.io.File;
-import java.math.BigDecimal;
-import java.net.URLDecoder;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class Constants {
-
-
- public static final int ZERO = 0 ;
- public static final int ONE = 1 ;
- public static final int TWO = 2 ;
- public static final int THREE = 3 ;
- public static final int SEVEN = 7 ;
-
- public static final String ACCESS_ID="ACCESS_ID";
- public static final String BUCKETNAME = "BUCKETNAME";
- public static final String OSS = "OSS";
- public static final String ACCESS_KEY = "ACCESS_KEY";
- public static final String ENDPOINT = "ENDPOINT";
- public static final String RESOURCE_PATH = "RESOURCE_PATH";
-
-
- public static final String SYSTEM ="SYSTEM";
- public static final String GOODS_IMG_DIR ="GOODS_IMG_DIR";
- public static final String CREDIT_CODE_REGEX = "[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}";
-
-
-
- public static final String ROOT_PATH="ROOT_PATH";//鏈湴鏂囦欢涓婁紶鍦板潃閰嶇疆
- public static final String FILE_DIR="FILE_DIR";//鏈湴鏂囦欢璁块棶鍦板潃閰嶇疆
- public static final String HOME_IMAGE="HOME_IMAGE";//H5 棣栭〉鍥�
-
- public static final String PROJECTS = "PROJECTS";
- /**
- * 浼佷笟鏁版嵁鏉ユ簮 0骞冲彴娉ㄥ唽 1鍚庡彴瀵煎叆
- */
- public interface ORIGIN{
- public static final int platformRegister = 0;
- public static final int backstageImport = 1;
- }
-
- public static BigDecimal formatBigdecimal(BigDecimal d) {
- if (d == null) {
- d = new BigDecimal(0.0);
- }
- //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
-// d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
- return d;
- }
- public static BigDecimal formatBigdecimal4Float(BigDecimal d) {
- if (d == null) {
- d = new BigDecimal(0.0);
- }
- //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
- d = d.setScale(4, BigDecimal.ROUND_HALF_UP);
- return d;
- }
-
- public static boolean equalsObject(Object a, Object b) {
- if (a == null && b == null) {
- return true;
- }
- if (a != null){
- return a.equals(b);
- }
- return false;
- }
-
-
- public static boolean equalsInteger(Integer a, Integer b) {
- if (formatIntegerNum(a) == formatIntegerNum(b)) {
- return true;
- }
- return false;
- }
-
- public static int formatIntegerNum(Integer d) {
- if (d == null) {
- d = 0;
- }
- return d.intValue();
- }
- /**
- * 鐘舵�� 0宸蹭繚瀛樸��1寰呭鏍搞��2瀹℃牳閫氳繃銆�3閫�鍥炰慨鏀广��4瀹℃牳椹冲洖銆�5寰呮湇鍔℃満鏋勭‘璁ゃ��6鏈嶅姟鏈烘瀯鎷掔粷銆�7宸插垎閰嶆湇鍔℃満鏋勩��8璇婃柇涓�
- * 锛堟垚鍔熶笂浼犵涓�浠芥湇鍔¤祫鏂欙級銆�9鏈嶅姟瀹屾垚銆�10宸插垎閰嶈瘎鍒嗕笓瀹躲��11宸插畬鎴愶紙涓撳涓婁紶璇勫垎锛� 12閫�鍥炰慨鏀逛腑 13 宸插畬鎴愰��鍥炰慨鏀�
- */
- public enum DeclareStatus {
-
- EDITING(0, "宸蹭繚瀛�", "宸蹭繚瀛�"),
- CHECK_WAIT(1, "寰呭鏍�", "寰呭鏍�"),
- CHECK_PASS(2, "瀹℃牳閫氳繃", "瀹℃牳閫氳繃"),
- CHECK_EDIT(3, "閫�鍥炰慨鏀�", "閫�鍥炰慨鏀�"),
- CHECK_BACK(4, "瀹℃牳椹冲洖", "瀹℃牳椹冲洖"),
- WAIT_SO_COMFIRM(5, "寰呮湇鍔℃満鏋勭‘璁�", "寰呮湇鍔℃満鏋勭‘璁�"),
- SO_BACK(6, "鏈嶅姟鏈烘瀯鎷掔粷", "鏈嶅姟鏈烘瀯鎷掔粷"),
- SELECTED_SO(7, "宸插垎閰嶆湇鍔℃満鏋�", "宸插垎閰嶆湇鍔℃満鏋�"),
- SERVING(8, "璇婃柇涓�", "璇婃柇涓�"),
- SERVICE_DONE(9, "鏈嶅姟瀹屾垚", "鏈嶅姟瀹屾垚"),
- SELECT_EXPERT(10, "宸插垎閰嶈瘎鍒嗕笓瀹�", "宸插垎閰嶈瘎鍒嗕笓瀹�"),
- DONE(11, "宸插畬鎴�", "宸插畬鎴�"),
- BACK_SERVER_ING(12, "閫�鍥炰慨鏀�", "璇婃柇鏈嶅姟閫�鍥炰慨鏀�"),
- BACK_SERVER_DONE(13, "閫�鍥炰慨鏀瑰畬鎴�", "璇婃柇鏈嶅姟閫�鍥炲凡淇敼"),
- ;
- // 鎴愬憳鍙橀噺
- private String name;
- private int key;
- private String noteinfo;// 鎻忚堪
-
- // 鏋勯�犳柟娉�
- DeclareStatus(int key, String name, String noteinfo) {
- this.name = name;
- this.key = key;
- this.noteinfo = noteinfo;
- }
-
- // 鏅�氭柟娉�
- public static String getName(int index) {
- for (DeclareStatus c : DeclareStatus.values()) {
- if (c.getKey() == index) {
- return c.name;
- }
- }
- return null;
- }
-
- // 鏅�氭柟娉�
- public static String getNoteinfo(int index) {
- for (DeclareStatus c : DeclareStatus.values()) {
- if (c.getKey() == index) {
- return c.noteinfo;
- }
- }
- return "-";
- }
-
- // 鏅�氭柟娉�
- public static String getInfo(int index) {
- for (DeclareStatus c : DeclareStatus.values()) {
- if (c.getKey() == index) {
- return c.noteinfo;
- }
- }
- return null;
- }
-
- // get set 鏂规硶
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getKey() {
- return key;
- }
-
- public void setKey(int key) {
- this.key = key;
- }
-
- public String getNoteinfo() {
- return noteinfo;
- }
-
- }
-
- public enum DeclareCheckType{
- EDITING(0, "宸蹭繚瀛�", "宸蹭繚瀛�"),
- CHECK_WAIT(1, "寰呭鏍�", "寰呭鏍�"),
- CHECK_PASS(2, "瀹℃牳閫氳繃", "瀹℃牳閫氳繃"),
- CHECK_EDIT(3, "閫�鍥炰慨鏀�", "閫�鍥炰慨鏀�"),
- CHECK_BACK(4, "瀹℃牳椹冲洖", "瀹℃牳椹冲洖"),
- WAIT_SO_COMFIRM(5, "寰呮湇鍔℃満鏋勭‘璁�", "寰呮湇鍔℃満鏋勭‘璁�"),
- SO_BACK(6, "鏈嶅姟鏈烘瀯鎷掔粷", "鏈嶅姟鏈烘瀯鎷掔粷"),
- SELECTED_SO(7, "宸插垎閰嶆湇鍔℃満鏋�", "宸插垎閰嶆湇鍔℃満鏋�"),
- SERVING(8, "璇婃柇涓�", "璇婃柇涓�"),
- SERVICE_DONE(9, "鏈嶅姟瀹屾垚", "鏈嶅姟瀹屾垚"),
- SELECT_EXPERT(10, "宸插垎閰嶈瘎鍒嗕笓瀹�", "宸插垎閰嶈瘎鍒嗕笓瀹�"),
- DONE(11, "宸插畬鎴�", "宸插畬鎴�"),
- ;
- // 鎴愬憳鍙橀噺
- private String name;
- private int key;
- private String noteinfo;// 鎻忚堪
-
- // 鏋勯�犳柟娉�
- DeclareCheckType(int key, String name, String noteinfo) {
- this.name = name;
- this.key = key;
- this.noteinfo = noteinfo;
- }
-
- // 鏅�氭柟娉�
- public static String getName(int index) {
- for (ProjectRecord c : ProjectRecord.values()) {
- if (c.getKey() == index) {
- return c.name;
- }
- }
- return null;
- }
-
- // 鏅�氭柟娉�
- public static String getInfo(int index) {
- for (ProjectRecord c : ProjectRecord.values()) {
- if (c.getKey() == index) {
- return c.noteinfo;
- }
- }
- return null;
- }
-
- // get set 鏂规硶
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getKey() {
- return key;
- }
-
- public void setKey(int key) {
- this.key = key;
- }
-
- public String getNoteinfo() {
- return noteinfo;
- }
- }
-
- public enum DeclareHistoryType{
-
- EDITING(0,"淇濆瓨","淇濆瓨"),
- CHECK_WAIT_COUNTY(1,"寰呭幙鍖哄鏍�",""),
- CHECK_PASS_COUNTY(2,"鍘垮尯瀹℃牳閫氳繃",""),
- CHECK_EDIT_COUNTY(3,"鍘垮尯閫�鍥炰慨鏀�",""),
- CHECK_BACK_COUNTY(4,"鍘垮尯瀹℃牳椹冲洖",""),
- TWO_WAY_WAIT_SO_COMFIRM(5,"鍙岄�夊緟鏈嶅姟鏈烘瀯纭",""),
- WO_WAY_WAIT_SO_BACK(6,"鍙岄�夋湇鍔℃満鏋勬嫆缁�",""),
- SELECTED_SO(7,"宸插垎閰嶆湇鍔℃満鏋�",""),
- SO_SERVICE(8,"鏈嶅姟鏈烘瀯璇婃柇",""),
- SO_SERVICE_DONE(9,"鏈嶅姟鏈烘瀯鏈嶅姟瀹屾垚",""),
- SELECT_EXPERT(10,"鍒嗛厤璇勫垎涓撳",""),
- EXPERT_SCORE(11,"涓撳瀹屾垚璇勫垎","")
- ;
-
- private int key;
- private String name;
-
- private String noteInfo;
-
- DeclareHistoryType(int key, String name, String noteInfo) {
- this.key = key;
- this.name = name;
- this.noteInfo = noteInfo;
- }
-
- public int getKey() {
- return key;
- }
-
- public void setKey(int key) {
- this.key = key;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getNoteInfo() {
- return noteInfo;
- }
-
- public void setNoteInfo(String noteInfo) {
- this.noteInfo = noteInfo;
- }
- }
- /**
- * 鍏宠仈瀵硅薄绫诲瀷 0浼佷笟钀ヤ笟鎵х収 1宸ュ晢鍙樻洿鐧昏 2椤圭洰鐢虫姤浼佷笟璧勬枡 3浼佷笟璇勫垎琛� 4璇婃柇鎶ュ憡 5璇婃柇鏈嶅姟璧勬枡 6涓撳璇勫垎鎶ュ憡 7鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟璧勬枡 8浼佷笟璧勮川 9浼佷笟涓爣閫氱煡涔� 10椤圭洰鍥剧墖
- */
- public enum MultiFile{
- BUSINESS_LICENSE(0, "浼佷笟钀ヤ笟鎵х収", "浼佷笟钀ヤ笟鎵х収"),
- BUSINESS_CHANGE(1, "宸ュ晢鍙樻洿鐧昏", "宸ュ晢鍙樻洿鐧昏"),
- BUSINESS_DECLARE(2, "椤圭洰鐢虫姤浼佷笟璧勬枡", "椤圭洰鐢虫姤浼佷笟璧勬枡"),
- BUSINESS_SCORE(3, "浼佷笟璇勫垎琛�", "浼佷笟璇勫垎琛�"),
- BUSINESS_DIAGNOSIS(4, "璇婃柇鎶ュ憡", "璇婃柇鎶ュ憡"),
- BUSINESS_DIA_SERVICE(5, "璇婃柇鏈嶅姟璧勬枡", "璇婃柇鏈嶅姟璧勬枡"),
- BUSINESS_EXPERT(6, "涓撳璇勫垎鎶ュ憡", "涓撳璇勫垎鎶ュ憡"),
- BUSINESS_UP_SERVICE(7, "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟璧勬枡", "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟璧勬枡"),
- BUSINESS_ZZ(8, "浼佷笟璧勮川", "浼佷笟璧勮川"),
- BUSINESS_NOTICE(9, "浼佷笟涓爣閫氱煡涔�", "浼佷笟涓爣閫氱煡涔�"),
- BUSINESS_PROURL(10, "椤圭洰鍥剧墖", "椤圭洰鍥剧墖"),
-
- COMPANY_CHANGE_LICENSE(11,"鍙樻洿浼佷笟钀ヤ笟鎵х収","鍙樻洿浼佷笟钀ヤ笟鎵х収"),
-
- COMPANY_CHANGE_CHANGE(12,"鍙樻洿宸ュ晢鍙樻洿鐧昏","鍙樻洿宸ュ晢鍙樻洿鐧昏"),
- BUSINESS_HC(13, "缁煎悎鏈嶅姟鍗曚綅鏍告煡璧勬枡", "缁煎悎鏈嶅姟鍗曚綅鏍告煡璧勬枡"),
-
- BUSINESS_UP_EXTRA(14, "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟琛ュ厖璧勬枡", "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟琛ュ厖璧勬枡"),
-
-
- ;
- // 鎴愬憳鍙橀噺
- private String name;
- private int key;
- private String noteinfo;// 鎻忚堪
-
- // 鏋勯�犳柟娉�
- MultiFile(int key, String name, String noteinfo) {
- this.name = name;
- this.key = key;
- this.noteinfo = noteinfo;
- }
-
- // 鏅�氭柟娉�
- public static String getName(int index) {
- for (ProjectRecord c : ProjectRecord.values()) {
- if (c.getKey() == index) {
- return c.name;
- }
- }
- return null;
- }
-
- // 鏅�氭柟娉�
- public static String getInfo(int index) {
- for (ProjectRecord c : ProjectRecord.values()) {
- if (c.getKey() == index) {
- return c.noteinfo;
- }
- }
- return null;
- }
-
- // get set 鏂规硶
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getKey() {
- return key;
- }
-
- public void setKey(int key) {
- this.key = key;
- }
-
- public String getNoteinfo() {
- return noteinfo;
- }
-
- private volatile static Set<Integer> multifileCompanyType;
-
- private volatile static Set<Integer> multifileProjectType;
-
- public static Set<Integer> multifileCompanyType(){
- // 0浼佷笟钀ヤ笟鎵х収 1宸ュ晢鍙樻洿鐧昏 7浼佷笟璧勮川 8浼佷笟涓爣閫氱煡涔� 11 鍙樻洿浼佷笟钀ヤ笟鎵х収 12 鍙樻洿宸ュ晢鍙樻洿鐧昏
-
- if (CollectionUtils.isEmpty(multifileCompanyType)){
- synchronized (MultiFile.class){
- if (CollectionUtils.isEmpty(multifileCompanyType)){
- multifileCompanyType = new HashSet<>();
- multifileCompanyType.add(0);
- multifileCompanyType.add(1);
- multifileCompanyType.add(8);
- multifileCompanyType.add(9);
- multifileCompanyType.add(11);
- multifileCompanyType.add(12);
- }
- }
- }
- return multifileCompanyType;
- }
-
- public static Set<Integer> multifileProjectType(){
-
- //2椤圭洰鐢虫姤浼佷笟璧勬枡 3浼佷笟璇勫垎琛� 4璇婃柇鎶ュ憡 5璇婃柇鏈嶅姟璧勬枡 6涓撳璇勫垎鎶ュ憡 7鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟璧勬枡
- if (CollectionUtils.isEmpty(multifileProjectType)){
- synchronized (MultiFile.class){
- if(CollectionUtils.isEmpty(multifileProjectType)){
- multifileProjectType = new HashSet<>();
- multifileProjectType.add(2);
- multifileProjectType.add(3);
- multifileProjectType.add(4);
- multifileProjectType.add(5);
- multifileProjectType.add(6);
- multifileProjectType.add(7);
- multifileProjectType.add(10);
- multifileProjectType.add(13);
- }
- }
- }
- return multifileProjectType;
- }
-
- public static Integer multifileType(String name){
-
- boolean pic = Arrays.asList(".jpg", "png", "jpeg").stream().anyMatch(s -> name.contains(s));
- if (pic){
- return Constants.ZERO;
- }
- boolean ivc = Arrays.asList(".avi", "mp4").stream().anyMatch(s -> name.contains(s));
- if (ivc){
- return Constants.ONE;
- }
- return Constants.TWO;
-
- }
-
-
- }
-
- public static void main(String[] args) {
- File[] files = null;
- String path ="D:\\dist\\imgs\\21";
- if(StringUtils.isNotBlank(path)){
- File dir =new File(path);
- if(dir!=null && dir.isDirectory()){
- files = dir.listFiles();
- if(files!=null && files.length>0){
- for(File f : files){
- System.out.println(f.getPath());
- }
- }
- }
- }
- }
- /**
- * 鐢ㄦ埛绫诲瀷 0绯荤粺鐢ㄦ埛 1浼佷笟鐢ㄦ埛 2鏈嶅姟鏈烘瀯绠$悊鍛� 3鏈嶅姟鏈烘瀯瀛愯处鍙� 4缁煎悎鏈嶅姟鍗曚綅绠$悊鍛� 5缁煎悎鏈嶅姟鍗曚綅瀛愯处鍙� 6涓撳 7鍘垮尯鐢ㄦ埛 8甯傚眬鐢ㄦ埛
- */
- public enum UserType {
-
- SYSTEM(0, "绯荤粺鐢ㄦ埛", "绠$悊鍛�",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
- COMPANY(1, "浼佷笟鐢ㄦ埛", "浼佷笟",Arrays.asList(-1)),
- SO_ADMIN(2, "鏈嶅姟鏈烘瀯绠$悊鍛�", "鏈嶅姟鏈烘瀯",Arrays.asList(-1)),
- SO_CHILD(3, "鏈嶅姟鏈烘瀯瀛愯处鍙�", "鏈嶅姟鏈烘瀯",Arrays.asList(-1)),
- SD_ADMIN(4, "缁煎悎鏈嶅姟鍗曚綅绠$悊鍛�", "缁煎悎鏈嶅姟鍗曚綅",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
- SD_CHILD(5, "缁煎悎鏈嶅姟鍗曚綅瀛愯处鍙�", "缁煎悎鏈嶅姟鍗曚綅",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
- EXPERT(6, "涓撳", "涓撳", Arrays.asList(-1)),
- AREA(7, "鍘垮尯鐢ㄦ埛", "鍘垮尯",Arrays.asList(0,1,2,3,4,5,6,7,8,9)),
- SJ(8, "甯傚眬鐢ㄦ埛", "甯傚眬",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
- SJ_CHILD(9, "甯傚眬瀛愯处鍙�", "甯傚眬瀛愯处鍙�",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
- ;
- // 鎴愬憳鍙橀噺
- private String name;
- private int key;
- private List<Integer> historyStatus;
- private String noteinfo;// 鎻忚堪
-
- // 鏋勯�犳柟娉�
- UserType(int key, String name, String noteinfo,List<Integer> historyStatus) {
- this.name = name;
- this.key = key;
- this.noteinfo = noteinfo;
- this.historyStatus=historyStatus;
- }
-
- // 鏅�氭柟娉�
- public static String getName(int index) {
- for (UserType c : UserType.values()) {
- if (c.getKey() == index) {
- return c.name;
- }
- }
- return null;
- }
-
- // 鏅�氭柟娉�
- public static String getInfo(int index) {
- for (UserType c : UserType.values()) {
- if (c.getKey() == index) {
- return c.noteinfo;
- }
- }
- return null;
- }
- // 鏅�氭柟娉�
- public static List<Integer> getHistoryStatus(int index) {
- for (UserType c : UserType.values()) {
- if (c.getKey() == index) {
- return c.historyStatus;
- }
- }
- return null;
- }
-
- // get set 鏂规硶
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getKey() {
- return key;
- }
- public List<Integer> getHistoryStatus() {
- return historyStatus;
- }
-
- public void setKey(int key) {
- this.key = key;
- }
-
- public String getNoteinfo() {
- return noteinfo;
- }
-
- /**
- * 涓嶉渶瑕佸鎵逛慨鏀逛俊鎭鑹�
- * @return
- */
- public static List<Integer> getNoCheckUserChange(){
- return Arrays.asList(SO_ADMIN.key, AREA.key, SJ.key, EXPERT.key, SD_ADMIN.key,SYSTEM.key);
- }
-
- /**
- * 鑾峰彇瀛愯处鍙风被鍨�
- * @return
- */
- public static List<Integer> getSonUserType(){
- return Arrays.asList(SO_CHILD.key, SD_CHILD.key);
- }
-
- /**
- * 鑾峰彇鍏宠仈浼佷笟鐨勭敤鎴风被鍨�
- * @return
- */
- public static List<Integer> getHasCompanyType(){
- return Arrays.asList(COMPANY.key, SO_ADMIN.key, SD_ADMIN.key);
- }
-
- }
-
- public enum ProjectRecord {
-
- COM_EDITING(0, "浼佷笟淇濆瓨鏁版嵁", "鐢� ${param2} ${param3}淇濆瓨鎴愬姛锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- COM_SUBMIT(1, "浼佷笟鎻愪氦鏁版嵁", "鐢� ${param2} ${param3}鎻愪氦鎴愬姛锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- XQ_CHECK_PASS(2, "鍘垮尯瀹℃牳閫氳繃", "鐢� ${param2} ${param3}瀹℃牳閫氳繃锛屽鏍稿娉ㄤ负锛�${param5}锛涘綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- XQ_CHECK_EDIT(3, "鍘垮尯瀹℃牳閫�鍥炰慨鏀�", "鐢� ${param2} ${param3}瀹℃牳閫�鍥炰慨鏀癸紝瀹℃牳澶囨敞涓猴細${param5}锛涘綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- XQ_CHECK_BACK(4, "鍘垮尯瀹℃牳椹冲洖", "鐢� ${param2} ${param3}瀹℃牳椹冲洖锛屽鏍稿娉ㄤ负锛�${param5}锛涘綋鍓嶈繘搴︿负 瀹℃牳椹冲洖锛屾祦绋嬬粨鏉熴��"),
- COM_SELECT_SO(5, "浼佷笟閫夋嫨鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}閫夋嫨 ${param5}锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SO_PASS(6, "鏈嶅姟鏈烘瀯纭鏈嶅姟", "鐢� ${param2} ${param3}纭鏈嶅姟锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SO_BACK(7, "鏈嶅姟鏈烘瀯鎷掔粷鏈嶅姟", "鐢� ${param2} ${param3}鎷掔粷鏈嶅姟锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SJ_SELECT_SO(8, "甯傚眬鍒嗛厤鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}瀹屾垚鍒嗛厤鏈嶅姟鏈烘瀯锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SD_SELECT_SO(9, "缁煎悎鏈嶅姟鍗曚綅鍒嗛厤鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}瀹屾垚鍒嗛厤鏈嶅姟鏈烘瀯锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SJ_RESELECT_SO(10, "甯傚眬閲嶆柊鍒嗛厤鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}瀹屾垚閲嶆柊鍒嗛厤鏈嶅姟鏈烘瀯锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SD_RESELECT_SO(11, "缁煎悎鏈嶅姟鍗曚綅閲嶆柊鍒嗛厤鏈嶅姟鏈烘瀯", "鐢� ${param2} ${param3}瀹屾垚閲嶆柊鍒嗛厤鏈嶅姟鏈烘瀯锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SO_SERVICE_UPLOAD(12, "鏈嶅姟鏈烘瀯涓婁紶鏈嶅姟鏁版嵁", "鐢� ${param2} ${param3}瀹屾垚涓婁紶鏈嶅姟鏁版嵁锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SO_DONE_SERVICE(13, "鏈嶅姟鏈烘瀯瀹屾垚鏈嶅姟", "鐢� ${param2} ${param3}瀹屾垚鏈嶅姟锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SJ_SELECT_EXPERT(14, "甯傚眬鍒嗛厤璇勫垎涓撳", "鐢� ${param2} ${param3}瀹屾垚鍒嗛厤璇勫垎涓撳锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SD_SELECT_EXPERT(15, "缁煎悎鏈嶅姟鍗曚綅鍒嗛厤璇勫垎涓撳", "鐢� ${param2} ${param3}瀹屾垚鍒嗛厤璇勫垎涓撳锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SJ_RESELECT_EXPERT(16, "甯傚眬閲嶆柊鍒嗛厤璇勫垎涓撳", "鐢� ${param2} ${param3}瀹屾垚閲嶆柊鍒嗛厤璇勫垎涓撳锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SD_RESELECT_EXPERT(17, "缁煎悎鏈嶅姟鍗曚綅閲嶆柊鍒嗛厤璇勫垎涓撳", "鐢� ${param2} ${param3}瀹屾垚閲嶆柊鍒嗛厤璇勫垎涓撳锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- EXPERT_SCORE(18, "涓撳涓婁紶璇勫垎", "鐢� ${param2} ${param3}瀹屾垚璇勫垎锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SD_SERVICE_UPLOAD(19, "缁煎悎鏈嶅姟鍗曚綅涓婁紶璇婃柇璧勬枡", "鐢� ${param2} ${param3}瀹屾垚涓婁紶璇婃柇璧勬枡锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
- SD_BACK_DONE(20, "缁煎悎鏈嶅姟鍗曚綅閫�鍥炰慨鏀�", "鐢� ${param2} ${param3}閫�鍥炰慨鏀癸紝褰撳墠杩涘害涓� 銆�${param4}銆�"),
-
- SO_BACK_SUBMIT(21 , "鏈嶅姟鏈烘瀯淇敼瀹屾垚鏈嶅姟", "鐢� ${param2} ${param3}瀹屾垚鏈嶅姟锛屽綋鍓嶈繘搴︿负 銆�${param4}銆�"),
-
- ;
- // 鎴愬憳鍙橀噺
- private String name;
- private int key;
- private String noteinfo;// 鎻忚堪
-
- // 鏋勯�犳柟娉�
- ProjectRecord(int key, String name, String noteinfo) {
- this.name = name;
- this.key = key;
- this.noteinfo = noteinfo;
- }
-
- // 鏅�氭柟娉�
- public static String getName(int index) {
- for (ProjectRecord c : ProjectRecord.values()) {
- if (c.getKey() == index) {
- return c.name;
- }
- }
- return null;
- }
-
- // 鏅�氭柟娉�
- public static String getInfo(int index) {
- for (ProjectRecord c : ProjectRecord.values()) {
- if (c.getKey() == index) {
- return c.noteinfo;
- }
- }
- return null;
- }
-
- // get set 鏂规硶
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getKey() {
- return key;
- }
-
- public void setKey(int key) {
- this.key = key;
- }
-
- public String getNoteinfo() {
- return noteinfo;
- }
-
- public void setNoteinfo(String noteinfo) {
- this.noteinfo = noteinfo;
- }
-
- public static String getContentWithData(ProjectRecord template, Map<String, String> params){
- String pattern = "\\$\\{(.+?)\\}";
- Pattern p = Pattern.compile(pattern);
- Matcher m = p.matcher(template.noteinfo);
- StringBuffer sb = new StringBuffer();
- while (m.find()){
- String key = m.group(1);
- String value = params.get(key);
- m.appendReplacement(sb, value == null ? "" : value);
- }
- m.appendTail(sb);
- return sb.toString();
- }
-
- }
-
- /**
- * 鏁版嵁鐘舵�佹灇涓�
- *
- */
- public enum Status {
-
- /** 鐢ㄦ埛鍚敤绂佺敤鏋氫妇鍊�*/
- ENABLE(0,"姝e父"),
- DISABLE(1,"绂佺敤");
-
- private Integer value;
- private String des;
-
-
- Status(Integer value, String des) {
- this.value = value;
- this.des = des;
- }
-
- public Integer getValue() {
- return value;
- }
-
- public void setValue(Integer value) {
- this.value = value;
- }
-
- public String getDes() {
- return des;
- }
-
- public void setDes(String des) {
- this.des = des;
- }
- }
-
- public enum CompanyType{
-
- BUSINESS_COMPANYTYPE(0,"浼佷笟"),
-
- SERVICE_COMPANYTYPE(1,"鏈嶅姟鏈烘瀯"),
-
- ZF_SERVICE_COMPANY(2,"缁煎悎鏈嶅姟鍗曚綅");
-
- private Integer value;
- private String des;
-
- CompanyType(Integer value, String des) {
- this.value = value;
- this.des = des;
- }
-
- public Integer getValue() {
- return value;
- }
-
- public void setValue(Integer value) {
- this.value = value;
- }
-
- public String getDes() {
- return des;
- }
-
- public void setDes(String des) {
- this.des = des;
- }
- }
-}
diff --git a/server/src/main/java/com/doumee/dao/business/model/Brand.java b/server/src/main/java/com/doumee/dao/business/model/Brand.java
deleted file mode 100644
index a382023..0000000
--- a/server/src/main/java/com/doumee/dao/business/model/Brand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.doumee.dao.business.model;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.doumee.core.annotation.excel.ExcelColumn;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.Date;
-
-/**
- * 鍝佺墝淇℃伅琛�
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Data
-@ApiModel("鍝佺墝淇℃伅琛�")
-@TableName("`brand`")
-public class Brand {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
- private Integer id;
-
- @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
- private Integer creator;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date createDate;
-
- @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
- private Integer editor;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date editDate;
-
- @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
- private Integer isdeleted;
-
- @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
- @ExcelColumn(name="鍚嶇О锛堜笉鍙噸澶嶏級")
- private String name;
-
- @ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
- private String remark;
-
- @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
- @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
- private Integer status;
-
- @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
- @ExcelColumn(name="鎺掑簭鐮�")
- private Integer sortnum;
-
- @ApiModelProperty(value = "鍥炬爣")
- @ExcelColumn(name="鍥炬爣")
- private String imgurl;
-
- @ApiModelProperty(value = "鍓嶇紑璺緞")
- @TableField(exist = false)
- private String prefixUrl;
-}
diff --git a/server/src/main/java/com/doumee/dao/business/model/Category.java b/server/src/main/java/com/doumee/dao/business/model/Category.java
deleted file mode 100644
index c4b968d..0000000
--- a/server/src/main/java/com/doumee/dao/business/model/Category.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.doumee.dao.business.model;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.doumee.core.annotation.excel.ExcelColumn;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.Date;
-import java.util.List;
-
-/**
- * 鍝佺被淇℃伅琛�
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Data
-@ApiModel("鍝佺被淇℃伅琛�")
-@TableName("`category`")
-public class Category {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
- private Integer id;
-
- @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
- private Integer creator;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date createDate;
-
- @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
- private Integer editor;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date editDate;
-
- @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
- private Integer isdeleted;
-
- @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
- @ExcelColumn(name="鍚嶇О锛堜笉鍙噸澶嶏級")
- private String name;
-
- @ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
- private String remark;
-
- @ApiModelProperty(value = "灞炴��1鍚嶇О")
- @ExcelColumn(name="灞炴��1鍚嶇О")
- private String attrFirst;
-
- @ApiModelProperty(value = "灞炴��2鍚嶇О")
- @ExcelColumn(name="灞炴��2鍚嶇О")
- private String attrSecond;
-
- @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
- @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
- private Integer status;
-
- @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
- @ExcelColumn(name="鎺掑簭鐮�")
- private Integer sortnum;
-
- @ApiModelProperty(value = "鍥炬爣")
- @ExcelColumn(name="鍥炬爣")
- private String imgurl;
-
- @ApiModelProperty(value = "鍓嶇紑璺緞")
- @TableField(exist = false)
- private String prefixUrl;
-
- @ApiModelProperty(value = "鍚嶇О鎷奸煶")
- @ExcelColumn(name="鍚嶇О鎷奸煶")
- private String pinyin;
-
- @ApiModelProperty(value = "鍚嶇О鎷奸煶棣栧瓧姣�")
- @ExcelColumn(name="鍚嶇О鎷奸煶棣栧瓧姣�")
- private String shortPinyin;
-
-
- @ApiModelProperty(value = "鍙傛暟鍚嶇О 鍒楄〃鍊�")
- @TableField(exist = false)
- private List<CateParam> paramList;
-
- @ApiModelProperty(value = "灞炴��1 鍒楄〃鍊�")
- @TableField(exist = false)
- private List<CateAttr> attrFirstList;
-
- @ApiModelProperty(value = "灞炴��2 鍒楄〃鍊�")
- @TableField(exist = false)
- private List<CateAttr> attrSecondList;
-
- @ApiModelProperty(value = "浠锋牸鍖洪棿 鍒楄〃")
- @TableField(exist = false)
- private List<CateBudget> budgetList;
-
-}
diff --git a/server/src/main/java/com/doumee/dao/business/model/Goods.java b/server/src/main/java/com/doumee/dao/business/model/Goods.java
deleted file mode 100644
index e909122..0000000
--- a/server/src/main/java/com/doumee/dao/business/model/Goods.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package com.doumee.dao.business.model;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.doumee.core.annotation.excel.ExcelColumn;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.Date;
-import java.math.BigDecimal;
-import java.util.List;
-
-/**
- * 鍟嗗搧淇℃伅琛�
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Data
-@ApiModel("鍟嗗搧淇℃伅琛�")
-@TableName("`goods`")
-public class Goods {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
- private Integer id;
-
- @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
- private Integer creator;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date createDate;
-
- @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
- private Integer editor;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date editDate;
-
- @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
- private Integer isdeleted;
-
- @ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
- private String remark;
-
- @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
- @ExcelColumn(name="鍚嶇О锛堜笉鍙噸澶嶏級")
- private String name;
-
- @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
- @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
- private Integer status;
-
- @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
- @ExcelColumn(name="鎺掑簭鐮�")
- private Integer sortnum;
-
- @ApiModelProperty(value = "鍥炬爣")
- @ExcelColumn(name="鍥炬爣")
- private String imgurl;
-
- @ApiModelProperty(value = "鎵�灞炲搧绫荤紪鐮�", example = "1")
- @ExcelColumn(name="鎵�灞炲搧绫荤紪鐮�")
- private Integer categoryId;
-
- @ApiModelProperty(value = "鎵�灞炲搧鐗岀紪鐮�", example = "1")
- @ExcelColumn(name="鎵�灞炲搧鐗岀紪鐮�")
- private Integer brandId;
-
- @ApiModelProperty(value = "鎸囧浠凤紙鍏冿級", example = "1")
- @ExcelColumn(name="鎸囧浠凤紙鍏冿級")
- private BigDecimal zdPrice;
-
- @ApiModelProperty(value = "鍏ユ墜浠锋牸锛堝厓锛�", example = "1")
- @ExcelColumn(name="鍏ユ墜浠锋牸锛堝厓锛�")
- private BigDecimal price;
-
- @ApiModelProperty(value = "鍟嗗搧璇︽儏")
- @ExcelColumn(name="鍟嗗搧璇︽儏")
- private String content;
-
- @ApiModelProperty(value = "鍝佺被灞炴�у��1锛堝叧鑱攃ate_attr琛級锛屽涓嫳鏂囬�楀彿闅斿紑")
- @ExcelColumn(name="鍝佺被灞炴�у��1锛堝叧鑱攃ate_attr琛級锛屽涓嫳鏂囬�楀彿闅斿紑")
- private String attrFirstIds;
-
- @ApiModelProperty(value = "鍝佺被灞炴�у��2锛堝叧鑱攃ate_attr琛級锛屽涓嫳鏂囬�楀彿闅斿紑")
- @ExcelColumn(name="鍝佺被灞炴�у��2锛堝叧鑱攃ate_attr琛級锛屽涓嫳鏂囬�楀彿闅斿紑")
- private String attrSecodIds;
-
- @ApiModelProperty(value = "鍝佺被灞炴�у��1闆嗗悎锛屽涓嫳鏂囬�楀彿闅斿紑")
- @ExcelColumn(name="鍝佺被灞炴�у��1闆嗗悎锛屽涓嫳鏂囬�楀彿闅斿紑")
- private String attrFirstNames;
-
- @ApiModelProperty(value = "鍝佺被灞炴�у��2闆嗗悎锛屽涓嫳鏂囬�楀彿闅斿紑")
- @ExcelColumn(name="鍝佺被灞炴�у��2闆嗗悎锛屽涓嫳鏂囬�楀彿闅斿紑")
- private String attrSecodNames;
-
- @ApiModelProperty(value = "鍚嶇О鎷奸煶")
- @ExcelColumn(name="鍚嶇О鎷奸煶")
- private String pinyin;
-
- @ApiModelProperty(value = "鍚嶇О鎷奸煶棣栧瓧姣�")
- @ExcelColumn(name="鍚嶇О鎷奸煶棣栧瓧姣�")
- private String shortPinyin;
-
- @ApiModelProperty(value = "鍓嶇紑璺緞")
- @TableField(exist = false)
- private String prefixUrl;
-
- @ApiModelProperty(value = "闄勪欢鍒楄〃")
- @TableField(exist = false)
- private List<Multifile> multifileList;
-
- @ApiModelProperty(value = "绫诲埆鍚嶇О")
- @TableField(exist = false)
- private String categoryName;
-
- @ApiModelProperty(value = "鍝佺墝鍚嶇О")
- @TableField(exist = false)
- private String brandName;
-
- @ApiModelProperty(value = "灞炴��1鍚嶇О")
- @TableField(exist = false)
- private String attrFirst;
-
- @ApiModelProperty(value = "灞炴��2鍚嶇О")
- @TableField(exist = false)
- private String attrSecond;
-
- @ApiModelProperty(value = "鍟嗗搧鍝佺被鍙傛暟閰嶇疆")
- @TableField(exist = false)
- private List<GoodsParam> goodsParamList;
-
- @ApiModelProperty(value = "鍟嗗搧鍒嗙被鍥剧墖")
- @TableField(exist = false)
- private String categoryImgurl;
-
- @ApiModelProperty(value = "璧峰浠锋牸 - 鏌ヨ鐢�")
- @TableField(exist = false)
- private BigDecimal sPrice;
-
- @ApiModelProperty(value = "鏈�楂樹环鏍� - 鏌ヨ鐢�")
- @TableField(exist = false)
- private BigDecimal ePrice;
-
-
-
-}
diff --git a/server/src/main/java/com/doumee/dao/business/model/Multifile.java b/server/src/main/java/com/doumee/dao/business/model/Multifile.java
deleted file mode 100644
index 6783869..0000000
--- a/server/src/main/java/com/doumee/dao/business/model/Multifile.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.doumee.dao.business.model;
-
-import com.doumee.core.annotation.excel.ExcelColumn;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.Date;
-
-/**
- * 闄勪欢淇℃伅琛�
- * @author 姹熻箘韫�
- * @date 2023/05/12 13:58
- */
-@Data
-@ApiModel("闄勪欢淇℃伅琛�")
-@TableName("`multifile`")
-public class Multifile {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
- private Integer id;
-
- @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
- private Integer creator;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date createDate;
-
- @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
- private Integer editor;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date editDate;
-
- @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
- private Integer isdeleted;
-
- @ApiModelProperty(value = "鏂囦欢鍚�")
- @ExcelColumn(name="鏂囦欢鍚�")
- private String name;
-
- @ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
- private String info;
-
- @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜", example = "1")
- @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
- private Integer objId;
-
- @ApiModelProperty(value = "绫诲瀷0鍥剧墖 1瑙嗛 2鍏朵粬", example = "1")
- @ExcelColumn(name="绫诲瀷0鍥剧墖 1瑙嗛 2鍏朵粬")
- private Integer type;
-
- @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷 0鍟嗗搧澶氬浘", example = "1")
- @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷 0鍟嗗搧澶氬浘")
- private Integer objType;
-
- @ApiModelProperty(value = "鏂囦欢鍦板潃")
- @ExcelColumn(name="鏂囦欢鍦板潃")
- private String fileurl;
-
- @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
- @ExcelColumn(name="鎺掑簭鐮�")
- private Integer sortnum;
-
-}
diff --git a/server/src/main/java/com/doumee/dao/system/dto/CreateRolePermissionDTO.java b/server/src/main/java/com/doumee/dao/system/dto/CreateRolePermissionDTO.java
deleted file mode 100644
index 121590d..0000000
--- a/server/src/main/java/com/doumee/dao/system/dto/CreateRolePermissionDTO.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.doumee.dao.system.dto;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@ApiModel("鍒涘缓瑙掕壊鏉冮檺鍙傛暟")
-public class CreateRolePermissionDTO implements Serializable {
-
- @ApiModelProperty(value = "瑙掕壊ID")
- @NotNull(message = "瑙掕壊ID涓嶈兘涓虹┖")
- private Integer roleId;
-
- @ApiModelProperty(value = "鏉冮檺ID闆�")
- @NotNull(message = "鏉冮檺ID闆嗕笉鑳戒负绌�")
- private List<Integer> permissionIds;
-
- @ApiModelProperty(value = "鍒涘缓浜�", hidden = true)
- private Integer createUser;
-}
diff --git a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.java b/server/src/main/java/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.java
deleted file mode 100644
index 279bb8c..0000000
--- a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.doumee.dao.system.dto;
-
-import com.doumee.dao.system.model.SystemLoginLog;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * 鏌ヨ鐧诲綍鏃ュ織鍙傛暟
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-public class QuerySystemLoginLogDTO extends SystemLoginLog {
-
- @ApiModelProperty("鐧诲綍寮�濮嬫椂闂�")
- private Date startTime;
-
- @ApiModelProperty("鐧诲綍缁撴潫鏃堕棿")
- private Date endTime;
-}
diff --git a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemPermissionDTO.java b/server/src/main/java/com/doumee/dao/system/dto/QuerySystemPermissionDTO.java
deleted file mode 100644
index 5a8d2e6..0000000
--- a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemPermissionDTO.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.doumee.dao.system.dto;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@ApiModel("鏌ヨ绯荤粺鏉冮檺鍙傛暟")
-public class QuerySystemPermissionDTO implements Serializable {
-
- @ApiModelProperty(value = "鏉冮檺缂栫爜")
- private String code;
-
- @ApiModelProperty(value = "鏉冮檺鍚嶇О")
- private String name;
-
-}
diff --git a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemRoleDTO.java b/server/src/main/java/com/doumee/dao/system/dto/QuerySystemRoleDTO.java
deleted file mode 100644
index d104723..0000000
--- a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemRoleDTO.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.doumee.dao.system.dto;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@ApiModel("鏌ヨ绯荤粺瑙掕壊鍙傛暟")
-public class QuerySystemRoleDTO implements Serializable {
-
- @ApiModelProperty(value = "瑙掕壊缂栫爜")
- private String code;
-
- @ApiModelProperty(value = "瑙掕壊鍚嶇О")
- private String name;
-}
diff --git a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java b/server/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
deleted file mode 100644
index 20563c6..0000000
--- a/server/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.doumee.dao.system.dto;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@ApiModel("鏌ヨ绯荤粺鐢ㄦ埛鍙傛暟")
-public class QuerySystemUserDTO implements Serializable {
-
- @ApiModelProperty(value = "鐢ㄤ簬鏌ヨ瀛愰儴闂ㄧ殑閮ㄩ棬ID", hidden = true)
- private Integer rootDeptId;
-
- @ApiModelProperty(value = "绮惧噯鍖归厤鐨勯儴闂↖D", hidden = true)
- private Integer strictDeptId;
-
- @ApiModelProperty(value = "閮ㄩ棬ID闆�", hidden = true)
- private List<Integer> departmentIds;
-
- @ApiModelProperty(value = "宀椾綅ID", hidden = true)
- private Integer positionId;
-
- @ApiModelProperty(value = "鐢ㄦ埛鍚�")
- private String username;
-
- @ApiModelProperty(value = "濮撳悕" , hidden = true)
- private String realname;
-
- @ApiModelProperty(value = "鎵嬫満鍙风爜", hidden = true)
- private String mobile;
-
- @ApiModelProperty(value = "鎵�灞炰紒涓氱紪鐮�", example = "1", hidden = true )
- private Integer companyId;
-
- @ApiModelProperty(value = "鍖哄煙缂栫爜", example = "1" )
- private Integer areaId;
-
- @ApiModelProperty(value = "鐪佺紪鐮�")
- private Integer provinceId;
-
- @ApiModelProperty(value = "鍩庡競缂栫爜", example = "1" )
- private Integer cityId;
-
- @ApiModelProperty(value = "鍩庡競缂栫爜", hidden = true)
- private List<Integer> cityIds;
-
- @ApiModelProperty(value = "鐢ㄦ埛绫诲瀷 0绯荤粺鐢ㄦ埛 " +
- "1浼佷笟鐢ㄦ埛 2鏈嶅姟鏈烘瀯绠$悊鍛� 3鏈嶅姟鏈烘瀯瀛愯处鍙� " +
- "4缁煎悎鏈嶅姟鍗曚綅绠$悊鍛� 5缁煎悎鏈嶅姟鍗曚綅瀛愯处鍙� " +
- "6涓撳 7鍘垮尯鐢ㄦ埛 8甯傚眬鐢ㄦ埛", example = "1" , hidden = true)
- private Integer type;
-
- @ApiModelProperty(value = "鐢ㄦ埛绫诲瀷闆嗗悎",hidden = true )
- private List<Integer> typeList;
-
-}
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java b/server/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java
deleted file mode 100644
index 323895f..0000000
--- a/server/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.doumee.dao.system.model;
-
-import com.doumee.core.annotation.excel.ExcelColumn;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.IndexedColors;
-
-import java.util.Date;
-
-/**
- * 鐧诲綍鏃ュ織
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@ApiModel("鐧诲綍鏃ュ織")
-public class SystemLoginLog {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- private Integer id;
-
- @ApiModelProperty(value = "鐧诲綍鐢ㄦ埛ID", example = "1")
- private Integer userId;
-
- @ApiModelProperty(value = "鐧诲綍鐢ㄦ埛鍚�")
- @ExcelColumn(name="鐧诲綍鐢ㄦ埛鍚�")
- private String loginUsername;
-
- @ApiModelProperty(value = "鐧诲綍IP")
- @ExcelColumn(name="鐧诲綍IP", color = IndexedColors.RED, width = 8)
- private String ip;
-
- @ApiModelProperty(value = "鐧诲綍鍦板潃")
- @ExcelColumn(name="鐧诲綍鍦板潃", width = 10)
- private String location;
-
- @ApiModelProperty(value = "瀹㈡埛绔�")
- @ExcelColumn(name="瀹㈡埛绔�", width = 10)
- private String clientInfo;
-
- @ApiModelProperty(value = "鎿嶄綔绯荤粺")
- @ExcelColumn(name="鎿嶄綔绯荤粺")
- private String osInfo;
-
- @ApiModelProperty(value = "鐧诲綍骞冲彴")
- @ExcelColumn(name="鐧诲綍骞冲彴")
- private String platform;
-
- @ApiModelProperty(value = "绯荤粺鐗堟湰")
- @ExcelColumn(name="绯荤粺鐗堟湰")
- private String systemVersion;
-
- @ApiModelProperty(value = "鏈嶅姟鍣↖P")
- @ExcelColumn(name="鏈嶅姟鍣↖P", width = 8)
- private String serverIp;
-
- @ApiModelProperty(value = "鏄惁鐧诲綍鎴愬姛")
- @ExcelColumn(name="鏄惁鐧诲綍鎴愬姛", valueMapping = "true=鏄�;false=鍚�", align = HorizontalAlignment.CENTER)
- private Boolean success;
-
- @ApiModelProperty(value = "澶辫触鍘熷洜")
- @ExcelColumn(name="澶辫触鍘熷洜", color = IndexedColors.RED, width = 16)
- private String reason;
-
- @ApiModelProperty(value = "鐧诲綍鏃堕棿")
- @ExcelColumn(name="鐧诲綍鏃堕棿", dateFormat = "yyyy-MM-dd HH:mm:ss", width = 10)
- private Date loginTime;
-
-}
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemMenu.java b/server/src/main/java/com/doumee/dao/system/model/SystemMenu.java
deleted file mode 100644
index d538d1f..0000000
--- a/server/src/main/java/com/doumee/dao/system/model/SystemMenu.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.doumee.dao.system.model;
-
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.doumee.core.constants.OperaType;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 绯荤粺鑿滃崟
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@ApiModel("绯荤粺鑿滃崟")
-public class SystemMenu implements Serializable {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = {OperaType.Update.class, OperaType.UpdateStatus.class})
- private Integer id;
-
- @ApiModelProperty(value = "涓婁竴绾ц彍鍗�", example = "1")
- @TableField(updateStrategy = FieldStrategy.IGNORED)
- private Integer parentId;
-
- @ApiModelProperty(value = "鑿滃崟鍚嶇О")
- @NotBlank(message = "鑿滃崟鍚嶇О涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
- private String name;
-
- @ApiModelProperty(value = "鑿滃崟璁块棶璺緞")
- private String path;
-
- @ApiModelProperty(value = "澶囨敞")
- private String remark;
-
- @ApiModelProperty(value = "鍥炬爣")
- private String icon;
-
- @ApiModelProperty(value = "鏄惁绂佺敤")
- @NotNull(message = "鏄惁绂佺敤涓嶈兘涓虹┖", groups = OperaType.UpdateStatus.class)
- private Boolean disabled;
-
- @ApiModelProperty(value = "鎺掑簭", example = "1")
- private Integer sort;
-
- @ApiModelProperty(value = "鏄惁涓哄浐瀹氳彍鍗�", hidden = true)
- private Boolean fixed;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- private Date createTime;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- private Date updateTime;
-
- @ApiModelProperty(value = "鍒涘缓鑰匢D", example = "1", hidden = true)
- private Integer createUser;
-
- @ApiModelProperty(value = "鏇存柊鑰匢D", example = "1", hidden = true)
- private Integer updateUser;
-
- @ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
- private Boolean deleted;
-
-}
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemPermission.java b/server/src/main/java/com/doumee/dao/system/model/SystemPermission.java
deleted file mode 100644
index cf94819..0000000
--- a/server/src/main/java/com/doumee/dao/system/model/SystemPermission.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.doumee.dao.system.model;
-
-import com.doumee.core.constants.OperaType;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 绯荤粺鏉冮檺
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@ApiModel("绯荤粺鏉冮檺")
-public class SystemPermission implements Serializable {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = {OperaType.Update.class})
- private Integer id;
-
- @ApiModelProperty(value = "鏉冮檺缂栫爜")
- @NotBlank(message = "鏉冮檺缂栫爜涓嶈兘涓虹┖", groups = {OperaType.Create.class,OperaType.Update.class})
- private String code;
-
- @ApiModelProperty(value = "鏉冮檺鍚嶇О")
- @NotBlank(message = "鏉冮檺鍚嶇О涓嶈兘涓虹┖", groups = {OperaType.Create.class,OperaType.Update.class})
- private String name;
-
- @ApiModelProperty(value = "鏉冮檺澶囨敞")
- private String remark;
-
- @ApiModelProperty(value = "鏄惁涓哄浐瀹氭潈闄�", hidden = true)
- private Boolean fixed;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- private Date createTime;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- private Date updateTime;
-
- @ApiModelProperty(value = "鍒涘缓鑰匢D", example = "1", hidden = true)
- private Integer createUser;
-
- @ApiModelProperty(value = "鏇存柊鑰匢D", example = "1", hidden = true)
- private Integer updateUser;
-
- @ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
- private Boolean deleted;
-
-}
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemRole.java b/server/src/main/java/com/doumee/dao/system/model/SystemRole.java
deleted file mode 100644
index 00e3364..0000000
--- a/server/src/main/java/com/doumee/dao/system/model/SystemRole.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.doumee.dao.system.model;
-
-import com.doumee.core.constants.OperaType;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 绯荤粺瑙掕壊
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Data
-@ApiModel("绯荤粺瑙掕壊")
-public class SystemRole implements Serializable {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = {OperaType.Update.class})
- private Integer id;
-
- @ApiModelProperty(value = "瑙掕壊缂栫爜")
- @NotBlank(message = "瑙掕壊缂栫爜涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
- private String code;
-
- @ApiModelProperty(value = "瑙掕壊鍚嶇О")
- @NotBlank(message = "瑙掕壊鍚嶇О涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
- private String name;
-
- @ApiModelProperty(value = "瑙掕壊澶囨敞")
- private String remark;
-
- @ApiModelProperty(value = "鏄惁涓哄浐瀹氳鑹�", hidden = true)
- private Boolean fixed;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- private Date createTime;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- private Date updateTime;
-
- @ApiModelProperty(value = "鍒涘缓鑰匢D", example = "1", hidden = true)
- private Integer createUser;
-
- @ApiModelProperty(value = "鏇存柊鑰匢D", example = "1", hidden = true)
- private Integer updateUser;
-
- @ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
- private Boolean deleted;
-
-}
diff --git a/server/src/main/java/com/doumee/dao/system/model/SystemUser.java b/server/src/main/java/com/doumee/dao/system/model/SystemUser.java
deleted file mode 100644
index 2ec60cb..0000000
--- a/server/src/main/java/com/doumee/dao/system/model/SystemUser.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.doumee.dao.system.model;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.doumee.core.constants.OperaType;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-
-import javax.validation.constraints.Email;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 绯荤粺鐢ㄦ埛
- * @author Eva.Caesar Liu
- * @date 2023/03/21 14:49
- */
-@Data
-@ApiModel("绯荤粺鐢ㄦ埛")
-@TableName("`SYSTEM_USER`")
-public class SystemUser implements Serializable {
-
- @TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
- @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = {OperaType.Update.class})
- private Integer id;
-
- @ApiModelProperty(value = "鐢ㄦ埛鍚�")
- @NotBlank(message = "鐢ㄦ埛鍚嶄笉鑳戒负绌�")
- private String username;
-
- @ApiModelProperty(value = "鍛樺伐鍚嶇О")
- @NotBlank(message = "濮撳悕涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
- private String realname;
-
- @ApiModelProperty(value = "宸ュ彿")
- private String empNo;
-
- @ApiModelProperty(value = "鐢熸棩")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date birthday;
-
- @ApiModelProperty(value = "鎬у埆")
- @NotBlank(message = "鎬у埆涓嶈兘涓虹┖")
- private String sex;
-
- @ApiModelProperty(value = "閭")
- @Email(message = "閭鏍煎紡涓嶆纭�")
- private String email;
-
- @ApiModelProperty(value = "鎵嬫満鍙风爜")
- @Pattern(message = "鎵嬫満鍙风爜鏍煎紡涓嶆纭�", regexp = "^\\d*$", groups = {OperaType.Create.class, OperaType.Update.class})
- private String mobile;
-
- @ApiModelProperty(value = "澶村儚")
- @NotBlank(message = "澶村儚涓嶈兘涓虹┖")
- private String avatar;
-
- @ApiModelProperty(value = "瀵嗙爜")
- @NotBlank(message = "鍒濆瀵嗙爜涓嶈兘涓虹┖")
- private String password;
-
- @ApiModelProperty(value = "鐩�")
- private String salt;
-
- @ApiModelProperty(value = "鏄惁涓哄浐瀹氱敤鎴�", hidden = true)
- private Boolean fixed;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- private Date createTime;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- private Date updateTime;
-
- @ApiModelProperty(value = "鍒涘缓浜�", example = "1", hidden = true)
- private Integer createUser;
-
- @ApiModelProperty(value = "鏇存柊浜�", example = "1", hidden = true)
- private Integer updateUser;
-
-
- @ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
- private Boolean deleted;
-
- @ApiModelProperty(value = "0 鍚敤 1 绂佺敤")
- private Integer status;
-
-}
diff --git a/server/src/main/resources/application-dev.yml b/server/src/main/resources/application-dev.yml
deleted file mode 100644
index 112082f..0000000
--- a/server/src/main/resources/application-dev.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- compression:
- enabled: true
- mime-types: application/json
-
- port: 10017
- tomcat:
- max-swallow-size: -1
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: test
- password: doumee@168
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
- jackson:
- time-zone: GMT+8
- date-format: yyyy-MM-dd HH:mm:ss
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
-
-debug_model: true
-
-captcha_check: false
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthen: false
\ No newline at end of file
diff --git a/server/src/main/resources/application-pro.yml b/server/src/main/resources/application-pro.yml
deleted file mode 100644
index 8da29e5..0000000
--- a/server/src/main/resources/application-pro.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- compression:
- enabled: true
- mime-types: application/json
-
- port: 10017
- tomcat:
- max-swallow-size: -1
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select_pro?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: test
- password: doumee@168
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
- jackson:
- time-zone: GMT+8
- date-format: yyyy-MM-dd HH:mm:ss
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
-
-debug_model: true
-
-captcha_check: true
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthen: false
\ No newline at end of file
diff --git a/server/src/main/resources/application-proLocal.yml b/server/src/main/resources/application-proLocal.yml
deleted file mode 100644
index 811c4ab..0000000
--- a/server/src/main/resources/application-proLocal.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- compression:
- enabled: true
- mime-types: application/json
-
- port: 10017
- tomcat:
- max-swallow-size: -1
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://127.0.0.1:3306/pre_select?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: root
- password: Doumee@168
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
- jackson:
- time-zone: GMT+8
- date-format: yyyy-MM-dd HH:mm:ss
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
-
-debug_model: true
-
-captcha_check: false
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthen: false
\ No newline at end of file
diff --git a/server/src/main/resources/application-pro_mjyx.yml b/server/src/main/resources/application-pro_mjyx.yml
deleted file mode 100644
index 12e40ae..0000000
--- a/server/src/main/resources/application-pro_mjyx.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- compression:
- enabled: true
- mime-types: application/json
-
- port: 10019
- tomcat:
- max-swallow-size: -1
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select_mjyx?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: test
- password: doumee@168
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
- jackson:
- time-zone: GMT+8
- date-format: yyyy-MM-dd HH:mm:ss
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
-
-debug_model: true
-
-captcha_check: true
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthen: false
\ No newline at end of file
diff --git a/server/src/main/resources/application-pro_yx.yml b/server/src/main/resources/application-pro_yx.yml
deleted file mode 100644
index 4224f60..0000000
--- a/server/src/main/resources/application-pro_yx.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- compression:
- enabled: true
- mime-types: application/json
-
- port: 10018
- tomcat:
- max-swallow-size: -1
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select_yx?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: test
- password: doumee@168
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
- jackson:
- time-zone: GMT+8
- date-format: yyyy-MM-dd HH:mm:ss
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
-
-debug_model: true
-
-captcha_check: true
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthen: false
\ No newline at end of file
diff --git a/server/src/main/resources/application-test.yml b/server/src/main/resources/application-test.yml
deleted file mode 100644
index e1b22f9..0000000
--- a/server/src/main/resources/application-test.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- compression:
- enabled: true
- mime-types: application/json
-
- port: 10010
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/intelligent_manufacture?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: test
- password: doumee@168
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: test@168.com
-
-debug_model: true
-
-captcha_check: false
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthenti: false
\ No newline at end of file
diff --git a/server/src/main/resources/application.yml b/server/src/main/resources/application.yml
deleted file mode 100644
index 3206633..0000000
--- a/server/src/main/resources/application.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-# 椤圭洰淇℃伅閰嶇疆
-project:
- name: 棰勯�夋竻鍗曟煡璇�
- version: 1.0.0
- env: development
-# env: production
-
-
-spring:
-# application:
-# name: doumeemes
- profiles:
- active: dev
-
- # JSON杩斿洖閰嶇疆
- jackson:
- # 榛樿鏃跺尯
- time-zone: GMT+8
- # 榛樿鏃ユ湡鏍煎紡鍖�
- date-format: yyyy-MM-dd HH:mm:ss
- servlet:
- multipart:
- max-file-size: 200MB
- max-request-size: 200MB
- enabled: true
-# MyBatis閰嶇疆
-mybatis-plus:
- mapper-locations: classpath*:/mappers/**/*.xml
- configuration:
- map-underscore-to-camel-case: true
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-
-
-# 缂撳瓨鍐呭璁剧疆
-cache:
- session:
- # 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
- captcha:
- # 楠岃瘉鐮佽繃鏈熸椂闀�(s)
- expire: 300
-
-# 璺熻釜鏃ュ織
-trace:
- # 寮�鍚櫤鑳借窡韪ā寮�
- smart: true
- # 鎺掗櫎璺熻釜鐨刄RL姝e垯
- exclude-patterns: .+/list[a-zA-Z0-9\-\_]*$, .+/tree[a-zA-Z0-9\-\_]*$, .+/page[a-zA-Z0-9\-\_]*$, .+/all[a-zA-Z0-9\-\_]*$, /swagger-resources.*
-
-
-# 鏃ュ織閰嶇疆
-logback:
- level: INFO
- appender: ${project.env}
-# dao灞傜殑鏃ュ織璁剧疆涓篸ebug锛屾柟渚挎煡鐪媠ql
-logging:
- level:
- doumeemes.dao: debug
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
\ No newline at end of file
diff --git a/server/target/classes/application-dev.yml b/server/target/classes/application-dev.yml
deleted file mode 100644
index 9cb7630..0000000
--- a/server/target/classes/application-dev.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- compression:
- enabled: true
- mime-types: application/json
-
- port: 10011
- tomcat:
- max-swallow-size: -1
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: test
- password: doumee@168
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
- jackson:
- time-zone: GMT+8
- date-format: yyyy-MM-dd HH:mm:ss
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
-
-debug_model: true
-
-captcha_check: false
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthen: false
\ No newline at end of file
diff --git a/server/target/classes/application-pro.yml b/server/target/classes/application-pro.yml
deleted file mode 100644
index 3e97711..0000000
--- a/server/target/classes/application-pro.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- port: 8080
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://rm-uf6rke0j757nt6eppfo.mysql.rds.aliyuncs.com:3306/intelligent_manufacture?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: rgkj2
- password: Rgkj2023
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: doumee@168.com
-
-debug_model: true
-
-captcha_check: false
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthen: true
\ No newline at end of file
diff --git a/server/target/classes/application-test.yml b/server/target/classes/application-test.yml
deleted file mode 100644
index e1b22f9..0000000
--- a/server/target/classes/application-test.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- compression:
- enabled: true
- mime-types: application/json
-
- port: 10010
- servlet:
- session:
- timeout: PT3H #琛ㄧず12灏忔椂
-
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/intelligent_manufacture?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
- username: test
- password: doumee@168
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: test@168.com
-
-debug_model: true
-
-captcha_check: false
-
-# Swagger閰嶇疆
-swagger:
- host:
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-project:
- imgAuthenti: false
\ No newline at end of file
diff --git a/server/target/classes/application.yml b/server/target/classes/application.yml
deleted file mode 100644
index 3206633..0000000
--- a/server/target/classes/application.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-# 椤圭洰淇℃伅閰嶇疆
-project:
- name: 棰勯�夋竻鍗曟煡璇�
- version: 1.0.0
- env: development
-# env: production
-
-
-spring:
-# application:
-# name: doumeemes
- profiles:
- active: dev
-
- # JSON杩斿洖閰嶇疆
- jackson:
- # 榛樿鏃跺尯
- time-zone: GMT+8
- # 榛樿鏃ユ湡鏍煎紡鍖�
- date-format: yyyy-MM-dd HH:mm:ss
- servlet:
- multipart:
- max-file-size: 200MB
- max-request-size: 200MB
- enabled: true
-# MyBatis閰嶇疆
-mybatis-plus:
- mapper-locations: classpath*:/mappers/**/*.xml
- configuration:
- map-underscore-to-camel-case: true
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-
-
-# 缂撳瓨鍐呭璁剧疆
-cache:
- session:
- # 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
- captcha:
- # 楠岃瘉鐮佽繃鏈熸椂闀�(s)
- expire: 300
-
-# 璺熻釜鏃ュ織
-trace:
- # 寮�鍚櫤鑳借窡韪ā寮�
- smart: true
- # 鎺掗櫎璺熻釜鐨刄RL姝e垯
- exclude-patterns: .+/list[a-zA-Z0-9\-\_]*$, .+/tree[a-zA-Z0-9\-\_]*$, .+/page[a-zA-Z0-9\-\_]*$, .+/all[a-zA-Z0-9\-\_]*$, /swagger-resources.*
-
-
-# 鏃ュ織閰嶇疆
-logback:
- level: INFO
- appender: ${project.env}
-# dao灞傜殑鏃ュ織璁剧疆涓篸ebug锛屾柟渚挎煡鐪媠ql
-logging:
- level:
- doumeemes.dao: debug
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
\ No newline at end of file
diff --git a/server/target/classes/banner.txt b/server/target/classes/banner.txt
deleted file mode 100644
index e1d9b57..0000000
--- a/server/target/classes/banner.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-
-${AnsiColor.BLUE}
-================================================================================
-
- 娆㈣繋浣跨敤浼婂▋妗嗘灦锛堝崟搴旂敤鐗堬級
- Version :: 1.0
-
- 鈻堚枅鈻堚枅鈻堚枅鈻堚枅 鈻堚枅 鈻堚枅 鈻堚枅
- 鈻戔枅鈻堚枒鈻戔枒鈻戔枒 鈻戔枅鈻� 鈻戔枅鈻� 鈻堚枅鈻堚枅
- 鈻戔枅鈻� 鈻戔枅鈻� 鈻戔枅鈻� 鈻堚枅鈻戔枒鈻堚枅
- 鈻戔枅鈻堚枅鈻堚枅鈻堚枅 鈻戔枒鈻堚枅 鈻堚枅 鈻堚枅 鈻戔枒鈻堚枅
- 鈻戔枅鈻堚枒鈻戔枒鈻� 鈻戔枒鈻堚枅 鈻堚枅 鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅
- 鈻戔枅鈻� 鈻戔枒鈻堚枅鈻堚枅 鈻戔枅鈻堚枒鈻戔枒鈻戔枒鈻戔枅鈻�
- 鈻戔枅鈻堚枅鈻堚枅鈻堚枅鈻� 鈻戔枒鈻堚枅 鈻戔枅鈻� 鈻戔枅鈻�
- 鈻戔枒鈻戔枒鈻戔枒鈻戔枒 鈻戔枒 鈻戔枒 鈻戔枒
-
- 鍚姩绔彛: ${server.port} 鍚姩鐜: ${project.env} 鏃ュ織绛夌骇: ${logback.level} 鍚敤Swagger: ${swagger.enabled}
-
-================================================================================
-
diff --git a/server/target/classes/com/doumee/Application.class b/server/target/classes/com/doumee/Application.class
deleted file mode 100644
index 234e6f4..0000000
--- a/server/target/classes/com/doumee/Application.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/BaseController.class b/server/target/classes/com/doumee/api/BaseController.class
deleted file mode 100644
index db939c6..0000000
--- a/server/target/classes/com/doumee/api/BaseController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/business/BrandController.class b/server/target/classes/com/doumee/api/business/BrandController.class
deleted file mode 100644
index 9ef76b2..0000000
--- a/server/target/classes/com/doumee/api/business/BrandController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/business/CateAttrController.class b/server/target/classes/com/doumee/api/business/CateAttrController.class
deleted file mode 100644
index ce54c52..0000000
--- a/server/target/classes/com/doumee/api/business/CateAttrController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/business/CateParamController.class b/server/target/classes/com/doumee/api/business/CateParamController.class
deleted file mode 100644
index 19e97f4..0000000
--- a/server/target/classes/com/doumee/api/business/CateParamController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/business/CategoryController.class b/server/target/classes/com/doumee/api/business/CategoryController.class
deleted file mode 100644
index 8847f1b..0000000
--- a/server/target/classes/com/doumee/api/business/CategoryController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/business/GoodsController.class b/server/target/classes/com/doumee/api/business/GoodsController.class
deleted file mode 100644
index f1e8543..0000000
--- a/server/target/classes/com/doumee/api/business/GoodsController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/business/GoodsParamController.class b/server/target/classes/com/doumee/api/business/GoodsParamController.class
deleted file mode 100644
index 0c2f37c..0000000
--- a/server/target/classes/com/doumee/api/business/GoodsParamController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/business/MultifileController.class b/server/target/classes/com/doumee/api/business/MultifileController.class
deleted file mode 100644
index a23de6d..0000000
--- a/server/target/classes/com/doumee/api/business/MultifileController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/common/CaptchaController.class b/server/target/classes/com/doumee/api/common/CaptchaController.class
deleted file mode 100644
index 462916f..0000000
--- a/server/target/classes/com/doumee/api/common/CaptchaController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/common/PublicController.class b/server/target/classes/com/doumee/api/common/PublicController.class
deleted file mode 100644
index c429aa4..0000000
--- a/server/target/classes/com/doumee/api/common/PublicController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemController.class b/server/target/classes/com/doumee/api/system/SystemController.class
deleted file mode 100644
index 1ce9087..0000000
--- a/server/target/classes/com/doumee/api/system/SystemController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemDataPermissionController.class b/server/target/classes/com/doumee/api/system/SystemDataPermissionController.class
deleted file mode 100644
index 5c8d58d..0000000
--- a/server/target/classes/com/doumee/api/system/SystemDataPermissionController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemDepartmentController.class b/server/target/classes/com/doumee/api/system/SystemDepartmentController.class
deleted file mode 100644
index fe0d61d..0000000
--- a/server/target/classes/com/doumee/api/system/SystemDepartmentController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemDictController.class b/server/target/classes/com/doumee/api/system/SystemDictController.class
deleted file mode 100644
index 27a67c8..0000000
--- a/server/target/classes/com/doumee/api/system/SystemDictController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemDictDataController.class b/server/target/classes/com/doumee/api/system/SystemDictDataController.class
deleted file mode 100644
index 47639c0..0000000
--- a/server/target/classes/com/doumee/api/system/SystemDictDataController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemLoginLogController.class b/server/target/classes/com/doumee/api/system/SystemLoginLogController.class
deleted file mode 100644
index 4848f58..0000000
--- a/server/target/classes/com/doumee/api/system/SystemLoginLogController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemMenuController.class b/server/target/classes/com/doumee/api/system/SystemMenuController.class
deleted file mode 100644
index 438ee00..0000000
--- a/server/target/classes/com/doumee/api/system/SystemMenuController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemMonitorController.class b/server/target/classes/com/doumee/api/system/SystemMonitorController.class
deleted file mode 100644
index a1a4da3..0000000
--- a/server/target/classes/com/doumee/api/system/SystemMonitorController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemPermissionController.class b/server/target/classes/com/doumee/api/system/SystemPermissionController.class
deleted file mode 100644
index 298a12c..0000000
--- a/server/target/classes/com/doumee/api/system/SystemPermissionController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemPositionController.class b/server/target/classes/com/doumee/api/system/SystemPositionController.class
deleted file mode 100644
index b1b1704..0000000
--- a/server/target/classes/com/doumee/api/system/SystemPositionController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemRoleController.class b/server/target/classes/com/doumee/api/system/SystemRoleController.class
deleted file mode 100644
index 4ed8cda..0000000
--- a/server/target/classes/com/doumee/api/system/SystemRoleController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemTraceLogController.class b/server/target/classes/com/doumee/api/system/SystemTraceLogController.class
deleted file mode 100644
index 6f2b33e..0000000
--- a/server/target/classes/com/doumee/api/system/SystemTraceLogController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/api/system/SystemUserController.class b/server/target/classes/com/doumee/api/system/SystemUserController.class
deleted file mode 100644
index 5bc1b2b..0000000
--- a/server/target/classes/com/doumee/api/system/SystemUserController.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemDataPermissionBiz.class b/server/target/classes/com/doumee/biz/system/SystemDataPermissionBiz.class
deleted file mode 100644
index 2175fee..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemDataPermissionBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemDepartmentBiz.class b/server/target/classes/com/doumee/biz/system/SystemDepartmentBiz.class
deleted file mode 100644
index aa2976f..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemDepartmentBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemDictBiz.class b/server/target/classes/com/doumee/biz/system/SystemDictBiz.class
deleted file mode 100644
index 1068263..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemDictBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemDictDataBiz.class b/server/target/classes/com/doumee/biz/system/SystemDictDataBiz.class
deleted file mode 100644
index 585dff1..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemDictDataBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemMenuBiz.class b/server/target/classes/com/doumee/biz/system/SystemMenuBiz.class
deleted file mode 100644
index f7df264..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemMenuBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemPermissionBiz.class b/server/target/classes/com/doumee/biz/system/SystemPermissionBiz.class
deleted file mode 100644
index 32d73f0..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemPermissionBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemPositionBiz.class b/server/target/classes/com/doumee/biz/system/SystemPositionBiz.class
deleted file mode 100644
index a6046ff..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemPositionBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemRoleBiz.class b/server/target/classes/com/doumee/biz/system/SystemRoleBiz.class
deleted file mode 100644
index f9e2b2e..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemRoleBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/SystemUserBiz.class b/server/target/classes/com/doumee/biz/system/SystemUserBiz.class
deleted file mode 100644
index 82d097f..0000000
--- a/server/target/classes/com/doumee/biz/system/SystemUserBiz.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemDataPermissionBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemDataPermissionBizImpl.class
deleted file mode 100644
index dd87df2..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemDataPermissionBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemDepartmentBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemDepartmentBizImpl.class
deleted file mode 100644
index c107761..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemDepartmentBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemDictBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemDictBizImpl.class
deleted file mode 100644
index a1c05a9..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemDictBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemDictDataBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemDictDataBizImpl.class
deleted file mode 100644
index d33ad1f..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemDictDataBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemMenuBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemMenuBizImpl.class
deleted file mode 100644
index f697ffd..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemMenuBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemPermissionBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemPermissionBizImpl.class
deleted file mode 100644
index 586324c..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemPermissionBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemPositionBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemPositionBizImpl.class
deleted file mode 100644
index 1e643f9..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemPositionBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemRoleBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemRoleBizImpl.class
deleted file mode 100644
index 2dba65d..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemRoleBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/biz/system/impl/SystemUserBizImpl.class b/server/target/classes/com/doumee/biz/system/impl/SystemUserBizImpl.class
deleted file mode 100644
index 152db74..0000000
--- a/server/target/classes/com/doumee/biz/system/impl/SystemUserBizImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/handler/GlobalExceptionHandler.class b/server/target/classes/com/doumee/config/handler/GlobalExceptionHandler.class
deleted file mode 100644
index 5af7e64..0000000
--- a/server/target/classes/com/doumee/config/handler/GlobalExceptionHandler.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/mybatis/MyBatisInterceptor.class b/server/target/classes/com/doumee/config/mybatis/MyBatisInterceptor.class
deleted file mode 100644
index e34942f..0000000
--- a/server/target/classes/com/doumee/config/mybatis/MyBatisInterceptor.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/mybatis/MyBatisPlusConfig.class b/server/target/classes/com/doumee/config/mybatis/MyBatisPlusConfig.class
deleted file mode 100644
index 7f58458..0000000
--- a/server/target/classes/com/doumee/config/mybatis/MyBatisPlusConfig.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroAuthFilter.class b/server/target/classes/com/doumee/config/shiro/ShiroAuthFilter.class
deleted file mode 100644
index 8ca27a0..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroAuthFilter.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroCache.class b/server/target/classes/com/doumee/config/shiro/ShiroCache.class
deleted file mode 100644
index 09e49e9..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroCache.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroCacheManager.class b/server/target/classes/com/doumee/config/shiro/ShiroCacheManager.class
deleted file mode 100644
index 2efa336..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroCacheManager.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroConfig.class b/server/target/classes/com/doumee/config/shiro/ShiroConfig.class
deleted file mode 100644
index 24e6b9a..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroConfig.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroCredentialsMatcher.class b/server/target/classes/com/doumee/config/shiro/ShiroCredentialsMatcher.class
deleted file mode 100644
index b3843e1..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroCredentialsMatcher.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroRealm.class b/server/target/classes/com/doumee/config/shiro/ShiroRealm.class
deleted file mode 100644
index 0597385..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroRealm.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroSessionDAO.class b/server/target/classes/com/doumee/config/shiro/ShiroSessionDAO.class
deleted file mode 100644
index d41f8e7..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroSessionDAO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroSessionManager.class b/server/target/classes/com/doumee/config/shiro/ShiroSessionManager.class
deleted file mode 100644
index 154b8bf..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroSessionManager.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/shiro/ShiroTokenManager.class b/server/target/classes/com/doumee/config/shiro/ShiroTokenManager.class
deleted file mode 100644
index 40577a8..0000000
--- a/server/target/classes/com/doumee/config/shiro/ShiroTokenManager.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/swagger/SwaggerConfig.class b/server/target/classes/com/doumee/config/swagger/SwaggerConfig.class
deleted file mode 100644
index 4d30ead..0000000
--- a/server/target/classes/com/doumee/config/swagger/SwaggerConfig.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/swagger/SwaggerInterceptor.class b/server/target/classes/com/doumee/config/swagger/SwaggerInterceptor.class
deleted file mode 100644
index 6ab6b92..0000000
--- a/server/target/classes/com/doumee/config/swagger/SwaggerInterceptor.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/config/swagger/SwaggerInterceptorConfig.class b/server/target/classes/com/doumee/config/swagger/SwaggerInterceptorConfig.class
deleted file mode 100644
index 6f5592c..0000000
--- a/server/target/classes/com/doumee/config/swagger/SwaggerInterceptorConfig.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/excel/ExcelColumn.class b/server/target/classes/com/doumee/core/annotation/excel/ExcelColumn.class
deleted file mode 100644
index 16f7a2c..0000000
--- a/server/target/classes/com/doumee/core/annotation/excel/ExcelColumn.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/excel/ExcelDataHandlerAdapter.class b/server/target/classes/com/doumee/core/annotation/excel/ExcelDataHandlerAdapter.class
deleted file mode 100644
index 475dd4e..0000000
--- a/server/target/classes/com/doumee/core/annotation/excel/ExcelDataHandlerAdapter.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/excel/ExcelExporter$ColumnInfo.class b/server/target/classes/com/doumee/core/annotation/excel/ExcelExporter$ColumnInfo.class
deleted file mode 100644
index e8f450d..0000000
--- a/server/target/classes/com/doumee/core/annotation/excel/ExcelExporter$ColumnInfo.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/excel/ExcelExporter.class b/server/target/classes/com/doumee/core/annotation/excel/ExcelExporter.class
deleted file mode 100644
index a48b11f..0000000
--- a/server/target/classes/com/doumee/core/annotation/excel/ExcelExporter.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/excel/ExcelImporter.class b/server/target/classes/com/doumee/core/annotation/excel/ExcelImporter.class
deleted file mode 100644
index dcb93ab..0000000
--- a/server/target/classes/com/doumee/core/annotation/excel/ExcelImporter.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/excel/Reflections.class b/server/target/classes/com/doumee/core/annotation/excel/Reflections.class
deleted file mode 100644
index be4629e..0000000
--- a/server/target/classes/com/doumee/core/annotation/excel/Reflections.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeat.class b/server/target/classes/com/doumee/core/annotation/pr/PreventRepeat.class
deleted file mode 100644
index 9eed294..0000000
--- a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeat.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatAdapter$MassiveUnit.class b/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatAdapter$MassiveUnit.class
deleted file mode 100644
index e116632..0000000
--- a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatAdapter$MassiveUnit.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatAdapter.class b/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatAdapter.class
deleted file mode 100644
index 27656ff..0000000
--- a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatAdapter.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatDefaultHandler.class b/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatDefaultHandler.class
deleted file mode 100644
index 466c07a..0000000
--- a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatDefaultHandler.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatInterceptor.class b/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatInterceptor.class
deleted file mode 100644
index c18ba61..0000000
--- a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatInterceptor.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatInterceptorConfig.class b/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatInterceptorConfig.class
deleted file mode 100644
index 247714a..0000000
--- a/server/target/classes/com/doumee/core/annotation/pr/PreventRepeatInterceptorConfig.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/trace/Trace.class b/server/target/classes/com/doumee/core/annotation/trace/Trace.class
deleted file mode 100644
index 8ec787e..0000000
--- a/server/target/classes/com/doumee/core/annotation/trace/Trace.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/trace/TraceInterceptor.class b/server/target/classes/com/doumee/core/annotation/trace/TraceInterceptor.class
deleted file mode 100644
index 6c2e956..0000000
--- a/server/target/classes/com/doumee/core/annotation/trace/TraceInterceptor.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/trace/TraceInterceptorConfig.class b/server/target/classes/com/doumee/core/annotation/trace/TraceInterceptorConfig.class
deleted file mode 100644
index a5245da..0000000
--- a/server/target/classes/com/doumee/core/annotation/trace/TraceInterceptorConfig.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/trace/TraceStatus.class b/server/target/classes/com/doumee/core/annotation/trace/TraceStatus.class
deleted file mode 100644
index 1830063..0000000
--- a/server/target/classes/com/doumee/core/annotation/trace/TraceStatus.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/annotation/trace/TraceType.class b/server/target/classes/com/doumee/core/annotation/trace/TraceType.class
deleted file mode 100644
index 207dfe6..0000000
--- a/server/target/classes/com/doumee/core/annotation/trace/TraceType.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/aware/DataPermissionAware.class b/server/target/classes/com/doumee/core/aware/DataPermissionAware.class
deleted file mode 100644
index 14156ab..0000000
--- a/server/target/classes/com/doumee/core/aware/DataPermissionAware.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/aware/DataPermissionMapping.class b/server/target/classes/com/doumee/core/aware/DataPermissionMapping.class
deleted file mode 100644
index f1f5cac..0000000
--- a/server/target/classes/com/doumee/core/aware/DataPermissionMapping.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/aware/DefaultDataPermissionAware.class b/server/target/classes/com/doumee/core/aware/DefaultDataPermissionAware.class
deleted file mode 100644
index fe7a2a8..0000000
--- a/server/target/classes/com/doumee/core/aware/DefaultDataPermissionAware.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/cache/LocalCache$Value.class b/server/target/classes/com/doumee/core/cache/LocalCache$Value.class
deleted file mode 100644
index b71a51b..0000000
--- a/server/target/classes/com/doumee/core/cache/LocalCache$Value.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/cache/LocalCache.class b/server/target/classes/com/doumee/core/cache/LocalCache.class
deleted file mode 100644
index 9cf773e..0000000
--- a/server/target/classes/com/doumee/core/cache/LocalCache.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Module$1.class b/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Module$1.class
deleted file mode 100644
index fae46e8..0000000
--- a/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Module$1.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Module.class b/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Module.class
deleted file mode 100644
index 467e71a..0000000
--- a/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Module.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Type$1.class b/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Type$1.class
deleted file mode 100644
index 3a2bb68..0000000
--- a/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Type$1.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Type.class b/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Type.class
deleted file mode 100644
index 8f2a523..0000000
--- a/server/target/classes/com/doumee/core/constants/DataPermissionConstants$Type.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/DataPermissionConstants.class b/server/target/classes/com/doumee/core/constants/DataPermissionConstants.class
deleted file mode 100644
index 165ef13..0000000
--- a/server/target/classes/com/doumee/core/constants/DataPermissionConstants.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/ExceptionLevel.class b/server/target/classes/com/doumee/core/constants/ExceptionLevel.class
deleted file mode 100644
index 7ff8838..0000000
--- a/server/target/classes/com/doumee/core/constants/ExceptionLevel.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/OperaType$Create.class b/server/target/classes/com/doumee/core/constants/OperaType$Create.class
deleted file mode 100644
index 7f27bb8..0000000
--- a/server/target/classes/com/doumee/core/constants/OperaType$Create.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/OperaType$Update.class b/server/target/classes/com/doumee/core/constants/OperaType$Update.class
deleted file mode 100644
index e7c55a2..0000000
--- a/server/target/classes/com/doumee/core/constants/OperaType$Update.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/OperaType$UpdateStatus.class b/server/target/classes/com/doumee/core/constants/OperaType$UpdateStatus.class
deleted file mode 100644
index cbe8c62..0000000
--- a/server/target/classes/com/doumee/core/constants/OperaType$UpdateStatus.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/OperaType.class b/server/target/classes/com/doumee/core/constants/OperaType.class
deleted file mode 100644
index bd75baa..0000000
--- a/server/target/classes/com/doumee/core/constants/OperaType.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/constants/ResponseStatus.class b/server/target/classes/com/doumee/core/constants/ResponseStatus.class
deleted file mode 100644
index a4eee80..0000000
--- a/server/target/classes/com/doumee/core/constants/ResponseStatus.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/exception/BusinessException.class b/server/target/classes/com/doumee/core/exception/BusinessException.class
deleted file mode 100644
index 8aa3549..0000000
--- a/server/target/classes/com/doumee/core/exception/BusinessException.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/exception/UnSafeSessionException.class b/server/target/classes/com/doumee/core/exception/UnSafeSessionException.class
deleted file mode 100644
index bb148bd..0000000
--- a/server/target/classes/com/doumee/core/exception/UnSafeSessionException.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/model/ApiResponse.class b/server/target/classes/com/doumee/core/model/ApiResponse.class
deleted file mode 100644
index 8376cf8..0000000
--- a/server/target/classes/com/doumee/core/model/ApiResponse.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/model/LoginUserInfo.class b/server/target/classes/com/doumee/core/model/LoginUserInfo.class
deleted file mode 100644
index 55b5610..0000000
--- a/server/target/classes/com/doumee/core/model/LoginUserInfo.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/model/PageData.class b/server/target/classes/com/doumee/core/model/PageData.class
deleted file mode 100644
index 1464ac1..0000000
--- a/server/target/classes/com/doumee/core/model/PageData.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/model/PageWrap$SortData.class b/server/target/classes/com/doumee/core/model/PageWrap$SortData.class
deleted file mode 100644
index 9f0409a..0000000
--- a/server/target/classes/com/doumee/core/model/PageWrap$SortData.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/model/PageWrap.class b/server/target/classes/com/doumee/core/model/PageWrap.class
deleted file mode 100644
index 62d1658..0000000
--- a/server/target/classes/com/doumee/core/model/PageWrap.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/servlet/ServletDuplicateInputStream.class b/server/target/classes/com/doumee/core/servlet/ServletDuplicateInputStream.class
deleted file mode 100644
index ac2451b..0000000
--- a/server/target/classes/com/doumee/core/servlet/ServletDuplicateInputStream.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/servlet/ServletDuplicateOutputStream.class b/server/target/classes/com/doumee/core/servlet/ServletDuplicateOutputStream.class
deleted file mode 100644
index 2696c43..0000000
--- a/server/target/classes/com/doumee/core/servlet/ServletDuplicateOutputStream.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/servlet/ServletDuplicateRequestWrapper.class b/server/target/classes/com/doumee/core/servlet/ServletDuplicateRequestWrapper.class
deleted file mode 100644
index 7100aba..0000000
--- a/server/target/classes/com/doumee/core/servlet/ServletDuplicateRequestWrapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/servlet/ServletDuplicateResponseWrapper.class b/server/target/classes/com/doumee/core/servlet/ServletDuplicateResponseWrapper.class
deleted file mode 100644
index f277e43..0000000
--- a/server/target/classes/com/doumee/core/servlet/ServletDuplicateResponseWrapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/servlet/ServletRewriteFilter.class b/server/target/classes/com/doumee/core/servlet/ServletRewriteFilter.class
deleted file mode 100644
index 67bcbbf..0000000
--- a/server/target/classes/com/doumee/core/servlet/ServletRewriteFilter.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$CompanyType.class b/server/target/classes/com/doumee/core/utils/Constants$CompanyType.class
deleted file mode 100644
index de5c436..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$CompanyType.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$DeclareCheckType.class b/server/target/classes/com/doumee/core/utils/Constants$DeclareCheckType.class
deleted file mode 100644
index c023a97..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$DeclareCheckType.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$DeclareHistoryType.class b/server/target/classes/com/doumee/core/utils/Constants$DeclareHistoryType.class
deleted file mode 100644
index 36abc91..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$DeclareHistoryType.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$DeclareStatus.class b/server/target/classes/com/doumee/core/utils/Constants$DeclareStatus.class
deleted file mode 100644
index 19e8f3b..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$DeclareStatus.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$MultiFile.class b/server/target/classes/com/doumee/core/utils/Constants$MultiFile.class
deleted file mode 100644
index 268967b..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$MultiFile.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$ORIGIN.class b/server/target/classes/com/doumee/core/utils/Constants$ORIGIN.class
deleted file mode 100644
index ea11cea..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$ORIGIN.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$ProjectRecord.class b/server/target/classes/com/doumee/core/utils/Constants$ProjectRecord.class
deleted file mode 100644
index ede9c62..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$ProjectRecord.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$Status.class b/server/target/classes/com/doumee/core/utils/Constants$Status.class
deleted file mode 100644
index 8467620..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$Status.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants$UserType.class b/server/target/classes/com/doumee/core/utils/Constants$UserType.class
deleted file mode 100644
index a1ec72a..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants$UserType.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Constants.class b/server/target/classes/com/doumee/core/utils/Constants.class
deleted file mode 100644
index 069410f..0000000
--- a/server/target/classes/com/doumee/core/utils/Constants.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Date.class b/server/target/classes/com/doumee/core/utils/Date.class
deleted file mode 100644
index 33467fb..0000000
--- a/server/target/classes/com/doumee/core/utils/Date.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/DateUtil.class b/server/target/classes/com/doumee/core/utils/DateUtil.class
deleted file mode 100644
index 1e57d90..0000000
--- a/server/target/classes/com/doumee/core/utils/DateUtil.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/FileDigest.class b/server/target/classes/com/doumee/core/utils/FileDigest.class
deleted file mode 100644
index a87b55a..0000000
--- a/server/target/classes/com/doumee/core/utils/FileDigest.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Http$HttpResult.class b/server/target/classes/com/doumee/core/utils/Http$HttpResult.class
deleted file mode 100644
index c22a7a4..0000000
--- a/server/target/classes/com/doumee/core/utils/Http$HttpResult.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Http$HttpWrap.class b/server/target/classes/com/doumee/core/utils/Http$HttpWrap.class
deleted file mode 100644
index 136b659..0000000
--- a/server/target/classes/com/doumee/core/utils/Http$HttpWrap.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Http.class b/server/target/classes/com/doumee/core/utils/Http.class
deleted file mode 100644
index 49b437b..0000000
--- a/server/target/classes/com/doumee/core/utils/Http.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Location$Info.class b/server/target/classes/com/doumee/core/utils/Location$Info.class
deleted file mode 100644
index bd034ec..0000000
--- a/server/target/classes/com/doumee/core/utils/Location$Info.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Location.class b/server/target/classes/com/doumee/core/utils/Location.class
deleted file mode 100644
index 2956585..0000000
--- a/server/target/classes/com/doumee/core/utils/Location.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Monitor.class b/server/target/classes/com/doumee/core/utils/Monitor.class
deleted file mode 100644
index 7974d32..0000000
--- a/server/target/classes/com/doumee/core/utils/Monitor.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/MyBatisPlus.class b/server/target/classes/com/doumee/core/utils/MyBatisPlus.class
deleted file mode 100644
index 21f286c..0000000
--- a/server/target/classes/com/doumee/core/utils/MyBatisPlus.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Secure.class b/server/target/classes/com/doumee/core/utils/Secure.class
deleted file mode 100644
index de08096..0000000
--- a/server/target/classes/com/doumee/core/utils/Secure.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Server.class b/server/target/classes/com/doumee/core/utils/Server.class
deleted file mode 100644
index 208db27..0000000
--- a/server/target/classes/com/doumee/core/utils/Server.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/UserClient.class b/server/target/classes/com/doumee/core/utils/UserClient.class
deleted file mode 100644
index f0ed395..0000000
--- a/server/target/classes/com/doumee/core/utils/UserClient.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/Utils.class b/server/target/classes/com/doumee/core/utils/Utils.class
deleted file mode 100644
index 4ae0963..0000000
--- a/server/target/classes/com/doumee/core/utils/Utils.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/aliyun/ALiYunUtil.class b/server/target/classes/com/doumee/core/utils/aliyun/ALiYunUtil.class
deleted file mode 100644
index a442765..0000000
--- a/server/target/classes/com/doumee/core/utils/aliyun/ALiYunUtil.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/monitor/CPU.class b/server/target/classes/com/doumee/core/utils/monitor/CPU.class
deleted file mode 100644
index 26bccd0..0000000
--- a/server/target/classes/com/doumee/core/utils/monitor/CPU.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/monitor/Disk.class b/server/target/classes/com/doumee/core/utils/monitor/Disk.class
deleted file mode 100644
index 2cdffdb..0000000
--- a/server/target/classes/com/doumee/core/utils/monitor/Disk.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/monitor/JVM.class b/server/target/classes/com/doumee/core/utils/monitor/JVM.class
deleted file mode 100644
index b0548d4..0000000
--- a/server/target/classes/com/doumee/core/utils/monitor/JVM.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/core/utils/monitor/Memory.class b/server/target/classes/com/doumee/core/utils/monitor/Memory.class
deleted file mode 100644
index 77b9254..0000000
--- a/server/target/classes/com/doumee/core/utils/monitor/Memory.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/BrandMapper.class b/server/target/classes/com/doumee/dao/business/BrandMapper.class
deleted file mode 100644
index 2ec024c..0000000
--- a/server/target/classes/com/doumee/dao/business/BrandMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/CateAttrMapper.class b/server/target/classes/com/doumee/dao/business/CateAttrMapper.class
deleted file mode 100644
index d370a19..0000000
--- a/server/target/classes/com/doumee/dao/business/CateAttrMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/CateParamMapper.class b/server/target/classes/com/doumee/dao/business/CateParamMapper.class
deleted file mode 100644
index b81a3aa..0000000
--- a/server/target/classes/com/doumee/dao/business/CateParamMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/CategoryMapper.class b/server/target/classes/com/doumee/dao/business/CategoryMapper.class
deleted file mode 100644
index 2d4ca08..0000000
--- a/server/target/classes/com/doumee/dao/business/CategoryMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/GoodsMapper.class b/server/target/classes/com/doumee/dao/business/GoodsMapper.class
deleted file mode 100644
index cda8c12..0000000
--- a/server/target/classes/com/doumee/dao/business/GoodsMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/GoodsParamMapper.class b/server/target/classes/com/doumee/dao/business/GoodsParamMapper.class
deleted file mode 100644
index 064682e..0000000
--- a/server/target/classes/com/doumee/dao/business/GoodsParamMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/MultifileMapper.class b/server/target/classes/com/doumee/dao/business/MultifileMapper.class
deleted file mode 100644
index 29a0982..0000000
--- a/server/target/classes/com/doumee/dao/business/MultifileMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/model/Brand.class b/server/target/classes/com/doumee/dao/business/model/Brand.class
deleted file mode 100644
index a9a4ac8..0000000
--- a/server/target/classes/com/doumee/dao/business/model/Brand.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/model/CateAttr.class b/server/target/classes/com/doumee/dao/business/model/CateAttr.class
deleted file mode 100644
index 392fbe9..0000000
--- a/server/target/classes/com/doumee/dao/business/model/CateAttr.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/model/CateParam.class b/server/target/classes/com/doumee/dao/business/model/CateParam.class
deleted file mode 100644
index 62e4967..0000000
--- a/server/target/classes/com/doumee/dao/business/model/CateParam.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/model/Category.class b/server/target/classes/com/doumee/dao/business/model/Category.class
deleted file mode 100644
index 33d1afa..0000000
--- a/server/target/classes/com/doumee/dao/business/model/Category.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/model/Goods.class b/server/target/classes/com/doumee/dao/business/model/Goods.class
deleted file mode 100644
index 6337160..0000000
--- a/server/target/classes/com/doumee/dao/business/model/Goods.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/model/GoodsParam.class b/server/target/classes/com/doumee/dao/business/model/GoodsParam.class
deleted file mode 100644
index 03063d7..0000000
--- a/server/target/classes/com/doumee/dao/business/model/GoodsParam.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/business/model/Multifile.class b/server/target/classes/com/doumee/dao/business/model/Multifile.class
deleted file mode 100644
index 5e952da..0000000
--- a/server/target/classes/com/doumee/dao/business/model/Multifile.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemDataPermissionMapper.class b/server/target/classes/com/doumee/dao/system/SystemDataPermissionMapper.class
deleted file mode 100644
index 47ab129..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemDataPermissionMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemDepartmentMapper.class b/server/target/classes/com/doumee/dao/system/SystemDepartmentMapper.class
deleted file mode 100644
index b3d05ca..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemDepartmentMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemDepartmentUserMapper.class b/server/target/classes/com/doumee/dao/system/SystemDepartmentUserMapper.class
deleted file mode 100644
index 7117424..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemDepartmentUserMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemDictDataMapper.class b/server/target/classes/com/doumee/dao/system/SystemDictDataMapper.class
deleted file mode 100644
index 0617e50..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemDictDataMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemDictMapper.class b/server/target/classes/com/doumee/dao/system/SystemDictMapper.class
deleted file mode 100644
index cdd8f90..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemDictMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemLoginLogMapper.class b/server/target/classes/com/doumee/dao/system/SystemLoginLogMapper.class
deleted file mode 100644
index 10e5000..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemLoginLogMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemMenuMapper.class b/server/target/classes/com/doumee/dao/system/SystemMenuMapper.class
deleted file mode 100644
index e8605f6..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemMenuMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemPermissionMapper.class b/server/target/classes/com/doumee/dao/system/SystemPermissionMapper.class
deleted file mode 100644
index a39fb4d..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemPermissionMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemPositionMapper.class b/server/target/classes/com/doumee/dao/system/SystemPositionMapper.class
deleted file mode 100644
index c1edca8..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemPositionMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemPositionUserMapper.class b/server/target/classes/com/doumee/dao/system/SystemPositionUserMapper.class
deleted file mode 100644
index 8f3d8fd..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemPositionUserMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemRoleMapper.class b/server/target/classes/com/doumee/dao/system/SystemRoleMapper.class
deleted file mode 100644
index 8cd40de..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemRoleMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemRoleMenuMapper.class b/server/target/classes/com/doumee/dao/system/SystemRoleMenuMapper.class
deleted file mode 100644
index 322f04b..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemRoleMenuMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemRolePermissionMapper.class b/server/target/classes/com/doumee/dao/system/SystemRolePermissionMapper.class
deleted file mode 100644
index 8b064e8..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemRolePermissionMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemTraceLogMapper.class b/server/target/classes/com/doumee/dao/system/SystemTraceLogMapper.class
deleted file mode 100644
index c640fcb..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemTraceLogMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemUserJoinMapper.class b/server/target/classes/com/doumee/dao/system/SystemUserJoinMapper.class
deleted file mode 100644
index 4ed99e9..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemUserJoinMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemUserMapper.class b/server/target/classes/com/doumee/dao/system/SystemUserMapper.class
deleted file mode 100644
index c436480..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemUserMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/SystemUserRoleMapper.class b/server/target/classes/com/doumee/dao/system/SystemUserRoleMapper.class
deleted file mode 100644
index 9010604..0000000
--- a/server/target/classes/com/doumee/dao/system/SystemUserRoleMapper.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/AreasDto.class b/server/target/classes/com/doumee/dao/system/dto/AreasDto.class
deleted file mode 100644
index 275029e..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/AreasDto.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/ChangeStatusDTO.class b/server/target/classes/com/doumee/dao/system/dto/ChangeStatusDTO.class
deleted file mode 100644
index 38f612c..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/ChangeStatusDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/CompanyDTO.class b/server/target/classes/com/doumee/dao/system/dto/CompanyDTO.class
deleted file mode 100644
index a885a51..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/CompanyDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/CompanyUserDTO.class b/server/target/classes/com/doumee/dao/system/dto/CompanyUserDTO.class
deleted file mode 100644
index da5f610..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/CompanyUserDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/CreateRoleMenuDTO.class b/server/target/classes/com/doumee/dao/system/dto/CreateRoleMenuDTO.class
deleted file mode 100644
index e3bb162..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/CreateRoleMenuDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/CreateRolePermissionDTO.class b/server/target/classes/com/doumee/dao/system/dto/CreateRolePermissionDTO.class
deleted file mode 100644
index 5d20eac..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/CreateRolePermissionDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/CreateSystemUserDTO.class b/server/target/classes/com/doumee/dao/system/dto/CreateSystemUserDTO.class
deleted file mode 100644
index 79fd478..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/CreateSystemUserDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/CreateUserRoleDTO.class b/server/target/classes/com/doumee/dao/system/dto/CreateUserRoleDTO.class
deleted file mode 100644
index ac45ae1..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/CreateUserRoleDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/ExpertReportDTO.class b/server/target/classes/com/doumee/dao/system/dto/ExpertReportDTO.class
deleted file mode 100644
index 4a77ffb..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/ExpertReportDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/LoginDTO.class b/server/target/classes/com/doumee/dao/system/dto/LoginDTO.class
deleted file mode 100644
index d675301..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/LoginDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/MultiFileDTO.class b/server/target/classes/com/doumee/dao/system/dto/MultiFileDTO.class
deleted file mode 100644
index 0cdf313..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/MultiFileDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/QuerySystemDepartmentDTO.class b/server/target/classes/com/doumee/dao/system/dto/QuerySystemDepartmentDTO.class
deleted file mode 100644
index ae90a8c..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/QuerySystemDepartmentDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/QuerySystemDictDTO.class b/server/target/classes/com/doumee/dao/system/dto/QuerySystemDictDTO.class
deleted file mode 100644
index d8b067c..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/QuerySystemDictDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/QuerySystemDictDataDTO.class b/server/target/classes/com/doumee/dao/system/dto/QuerySystemDictDataDTO.class
deleted file mode 100644
index e783d61..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/QuerySystemDictDataDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.class b/server/target/classes/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.class
deleted file mode 100644
index 45e44cb..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/QuerySystemLoginLogDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/QuerySystemPermissionDTO.class b/server/target/classes/com/doumee/dao/system/dto/QuerySystemPermissionDTO.class
deleted file mode 100644
index cb660a0..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/QuerySystemPermissionDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/QuerySystemRoleDTO.class b/server/target/classes/com/doumee/dao/system/dto/QuerySystemRoleDTO.class
deleted file mode 100644
index 63df710..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/QuerySystemRoleDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/QuerySystemTraceLogDTO.class b/server/target/classes/com/doumee/dao/system/dto/QuerySystemTraceLogDTO.class
deleted file mode 100644
index bc0d00b..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/QuerySystemTraceLogDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/QuerySystemUserDTO.class b/server/target/classes/com/doumee/dao/system/dto/QuerySystemUserDTO.class
deleted file mode 100644
index 0ebea17..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/QuerySystemUserDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/ResetSystemUserPwdDTO.class b/server/target/classes/com/doumee/dao/system/dto/ResetSystemUserPwdDTO.class
deleted file mode 100644
index 3a904d3..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/ResetSystemUserPwdDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/UpdatePwdDto.class b/server/target/classes/com/doumee/dao/system/dto/UpdatePwdDto.class
deleted file mode 100644
index da555b5..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/UpdatePwdDto.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/dto/UpdateSystemMenuSortDTO.class b/server/target/classes/com/doumee/dao/system/dto/UpdateSystemMenuSortDTO.class
deleted file mode 100644
index e3cc3ea..0000000
--- a/server/target/classes/com/doumee/dao/system/dto/UpdateSystemMenuSortDTO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemDataPermission.class b/server/target/classes/com/doumee/dao/system/model/SystemDataPermission.class
deleted file mode 100644
index d42fb11..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemDataPermission.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemDepartment.class b/server/target/classes/com/doumee/dao/system/model/SystemDepartment.class
deleted file mode 100644
index f2cef3a..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemDepartment.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemDepartmentUser.class b/server/target/classes/com/doumee/dao/system/model/SystemDepartmentUser.class
deleted file mode 100644
index c31771d..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemDepartmentUser.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemDict.class b/server/target/classes/com/doumee/dao/system/model/SystemDict.class
deleted file mode 100644
index 85e8150..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemDict.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemDictData.class b/server/target/classes/com/doumee/dao/system/model/SystemDictData.class
deleted file mode 100644
index 4cf1c86..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemDictData.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemLoginLog.class b/server/target/classes/com/doumee/dao/system/model/SystemLoginLog.class
deleted file mode 100644
index 750381b..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemLoginLog.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemMenu.class b/server/target/classes/com/doumee/dao/system/model/SystemMenu.class
deleted file mode 100644
index d360bee..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemMenu.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemPermission.class b/server/target/classes/com/doumee/dao/system/model/SystemPermission.class
deleted file mode 100644
index 7838d5e..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemPermission.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemPosition.class b/server/target/classes/com/doumee/dao/system/model/SystemPosition.class
deleted file mode 100644
index a415e23..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemPosition.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemPositionUser.class b/server/target/classes/com/doumee/dao/system/model/SystemPositionUser.class
deleted file mode 100644
index 6b68423..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemPositionUser.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemRole.class b/server/target/classes/com/doumee/dao/system/model/SystemRole.class
deleted file mode 100644
index 868d559..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemRole.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemRoleMenu.class b/server/target/classes/com/doumee/dao/system/model/SystemRoleMenu.class
deleted file mode 100644
index 9ccfb24..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemRoleMenu.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemRolePermission.class b/server/target/classes/com/doumee/dao/system/model/SystemRolePermission.class
deleted file mode 100644
index ac263bb..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemRolePermission.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemTraceLog.class b/server/target/classes/com/doumee/dao/system/model/SystemTraceLog.class
deleted file mode 100644
index 45dcd5b..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemTraceLog.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemUser.class b/server/target/classes/com/doumee/dao/system/model/SystemUser.class
deleted file mode 100644
index 3838469..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemUser.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/model/SystemUserRole.class b/server/target/classes/com/doumee/dao/system/model/SystemUserRole.class
deleted file mode 100644
index 67678ff..0000000
--- a/server/target/classes/com/doumee/dao/system/model/SystemUserRole.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/CompanyDeclaresVo.class b/server/target/classes/com/doumee/dao/system/vo/CompanyDeclaresVo.class
deleted file mode 100644
index a0ebfd5..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/CompanyDeclaresVo.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/CompanyEconomicsVo.class b/server/target/classes/com/doumee/dao/system/vo/CompanyEconomicsVo.class
deleted file mode 100644
index 51f2a8e..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/CompanyEconomicsVo.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/ServiceCompany.class b/server/target/classes/com/doumee/dao/system/vo/ServiceCompany.class
deleted file mode 100644
index 01ef0e1..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/ServiceCompany.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemDataPermissionListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemDataPermissionListVO.class
deleted file mode 100644
index d1a058c..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemDataPermissionListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemDepartmentListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemDepartmentListVO.class
deleted file mode 100644
index fc31ae5..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemDepartmentListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemDictDataListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemDictDataListVO.class
deleted file mode 100644
index 88f200e..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemDictDataListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemDictListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemDictListVO.class
deleted file mode 100644
index eae4539..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemDictListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemMenuListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemMenuListVO.class
deleted file mode 100644
index fcd97a0..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemMenuListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemMenuNodeVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemMenuNodeVO.class
deleted file mode 100644
index d158ab4..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemMenuNodeVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemPermissionListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemPermissionListVO.class
deleted file mode 100644
index 816e8fb..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemPermissionListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemPositionListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemPositionListVO.class
deleted file mode 100644
index c3c9739..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemPositionListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemRoleListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemRoleListVO.class
deleted file mode 100644
index 05f6ffa..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemRoleListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemUserDetailVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemUserDetailVO.class
deleted file mode 100644
index 392c07b..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemUserDetailVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/dao/system/vo/SystemUserListVO.class b/server/target/classes/com/doumee/dao/system/vo/SystemUserListVO.class
deleted file mode 100644
index f0a08a5..0000000
--- a/server/target/classes/com/doumee/dao/system/vo/SystemUserListVO.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/aware/DepartmentDataPermissionAware$1.class b/server/target/classes/com/doumee/service/aware/DepartmentDataPermissionAware$1.class
deleted file mode 100644
index fe8c6c3..0000000
--- a/server/target/classes/com/doumee/service/aware/DepartmentDataPermissionAware$1.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/aware/DepartmentDataPermissionAware.class b/server/target/classes/com/doumee/service/aware/DepartmentDataPermissionAware.class
deleted file mode 100644
index fe117bb..0000000
--- a/server/target/classes/com/doumee/service/aware/DepartmentDataPermissionAware.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/aware/PositionDataPermissionAware.class b/server/target/classes/com/doumee/service/aware/PositionDataPermissionAware.class
deleted file mode 100644
index 4b1fedd..0000000
--- a/server/target/classes/com/doumee/service/aware/PositionDataPermissionAware.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/BrandService.class b/server/target/classes/com/doumee/service/business/BrandService.class
deleted file mode 100644
index e565f6f..0000000
--- a/server/target/classes/com/doumee/service/business/BrandService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/CateAttrService.class b/server/target/classes/com/doumee/service/business/CateAttrService.class
deleted file mode 100644
index 89bf7e5..0000000
--- a/server/target/classes/com/doumee/service/business/CateAttrService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/CateParamService.class b/server/target/classes/com/doumee/service/business/CateParamService.class
deleted file mode 100644
index f66cab9..0000000
--- a/server/target/classes/com/doumee/service/business/CateParamService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/CategoryService.class b/server/target/classes/com/doumee/service/business/CategoryService.class
deleted file mode 100644
index 46ebed3..0000000
--- a/server/target/classes/com/doumee/service/business/CategoryService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/GoodsParamService.class b/server/target/classes/com/doumee/service/business/GoodsParamService.class
deleted file mode 100644
index acd73c0..0000000
--- a/server/target/classes/com/doumee/service/business/GoodsParamService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/GoodsService.class b/server/target/classes/com/doumee/service/business/GoodsService.class
deleted file mode 100644
index e2315e0..0000000
--- a/server/target/classes/com/doumee/service/business/GoodsService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/MultifileService.class b/server/target/classes/com/doumee/service/business/MultifileService.class
deleted file mode 100644
index 17e8e54..0000000
--- a/server/target/classes/com/doumee/service/business/MultifileService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/impl/BrandServiceImpl.class b/server/target/classes/com/doumee/service/business/impl/BrandServiceImpl.class
deleted file mode 100644
index 812e087..0000000
--- a/server/target/classes/com/doumee/service/business/impl/BrandServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/impl/CateAttrServiceImpl.class b/server/target/classes/com/doumee/service/business/impl/CateAttrServiceImpl.class
deleted file mode 100644
index 6ce46e6..0000000
--- a/server/target/classes/com/doumee/service/business/impl/CateAttrServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/impl/CateParamServiceImpl.class b/server/target/classes/com/doumee/service/business/impl/CateParamServiceImpl.class
deleted file mode 100644
index f216819..0000000
--- a/server/target/classes/com/doumee/service/business/impl/CateParamServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/impl/CategoryServiceImpl.class b/server/target/classes/com/doumee/service/business/impl/CategoryServiceImpl.class
deleted file mode 100644
index fe0616a..0000000
--- a/server/target/classes/com/doumee/service/business/impl/CategoryServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/impl/GoodsParamServiceImpl.class b/server/target/classes/com/doumee/service/business/impl/GoodsParamServiceImpl.class
deleted file mode 100644
index 1ab842d..0000000
--- a/server/target/classes/com/doumee/service/business/impl/GoodsParamServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/impl/GoodsServiceImpl.class b/server/target/classes/com/doumee/service/business/impl/GoodsServiceImpl.class
deleted file mode 100644
index 981d7fe..0000000
--- a/server/target/classes/com/doumee/service/business/impl/GoodsServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/business/impl/MultifileServiceImpl.class b/server/target/classes/com/doumee/service/business/impl/MultifileServiceImpl.class
deleted file mode 100644
index 4691df7..0000000
--- a/server/target/classes/com/doumee/service/business/impl/MultifileServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/common/CaptchaService$Captcha.class b/server/target/classes/com/doumee/service/common/CaptchaService$Captcha.class
deleted file mode 100644
index de4b0b2..0000000
--- a/server/target/classes/com/doumee/service/common/CaptchaService$Captcha.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/common/CaptchaService.class b/server/target/classes/com/doumee/service/common/CaptchaService.class
deleted file mode 100644
index 0eba064..0000000
--- a/server/target/classes/com/doumee/service/common/CaptchaService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/proxy/CacheProxy.class b/server/target/classes/com/doumee/service/proxy/CacheProxy.class
deleted file mode 100644
index 68df042..0000000
--- a/server/target/classes/com/doumee/service/proxy/CacheProxy.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemDataPermissionService.class b/server/target/classes/com/doumee/service/system/SystemDataPermissionService.class
deleted file mode 100644
index 75a58f5..0000000
--- a/server/target/classes/com/doumee/service/system/SystemDataPermissionService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemDepartmentService.class b/server/target/classes/com/doumee/service/system/SystemDepartmentService.class
deleted file mode 100644
index b8fc3e0..0000000
--- a/server/target/classes/com/doumee/service/system/SystemDepartmentService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemDepartmentUserService.class b/server/target/classes/com/doumee/service/system/SystemDepartmentUserService.class
deleted file mode 100644
index d8d81d9..0000000
--- a/server/target/classes/com/doumee/service/system/SystemDepartmentUserService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemDictDataService.class b/server/target/classes/com/doumee/service/system/SystemDictDataService.class
deleted file mode 100644
index 2300932..0000000
--- a/server/target/classes/com/doumee/service/system/SystemDictDataService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemDictService.class b/server/target/classes/com/doumee/service/system/SystemDictService.class
deleted file mode 100644
index 4583372..0000000
--- a/server/target/classes/com/doumee/service/system/SystemDictService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemLoginLogService.class b/server/target/classes/com/doumee/service/system/SystemLoginLogService.class
deleted file mode 100644
index 58177d7..0000000
--- a/server/target/classes/com/doumee/service/system/SystemLoginLogService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemLoginService.class b/server/target/classes/com/doumee/service/system/SystemLoginService.class
deleted file mode 100644
index 2cbd4c5..0000000
--- a/server/target/classes/com/doumee/service/system/SystemLoginService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemMenuService.class b/server/target/classes/com/doumee/service/system/SystemMenuService.class
deleted file mode 100644
index 96ea2ee..0000000
--- a/server/target/classes/com/doumee/service/system/SystemMenuService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemPermissionService.class b/server/target/classes/com/doumee/service/system/SystemPermissionService.class
deleted file mode 100644
index 85f4492..0000000
--- a/server/target/classes/com/doumee/service/system/SystemPermissionService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemPositionService.class b/server/target/classes/com/doumee/service/system/SystemPositionService.class
deleted file mode 100644
index ec519b0..0000000
--- a/server/target/classes/com/doumee/service/system/SystemPositionService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemPositionUserService.class b/server/target/classes/com/doumee/service/system/SystemPositionUserService.class
deleted file mode 100644
index 275afaa..0000000
--- a/server/target/classes/com/doumee/service/system/SystemPositionUserService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemRoleMenuService.class b/server/target/classes/com/doumee/service/system/SystemRoleMenuService.class
deleted file mode 100644
index 1c523fb..0000000
--- a/server/target/classes/com/doumee/service/system/SystemRoleMenuService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemRolePermissionService.class b/server/target/classes/com/doumee/service/system/SystemRolePermissionService.class
deleted file mode 100644
index 152c260..0000000
--- a/server/target/classes/com/doumee/service/system/SystemRolePermissionService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemRoleService.class b/server/target/classes/com/doumee/service/system/SystemRoleService.class
deleted file mode 100644
index e274250..0000000
--- a/server/target/classes/com/doumee/service/system/SystemRoleService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemTraceLogService.class b/server/target/classes/com/doumee/service/system/SystemTraceLogService.class
deleted file mode 100644
index 4667fea..0000000
--- a/server/target/classes/com/doumee/service/system/SystemTraceLogService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemUserRoleService.class b/server/target/classes/com/doumee/service/system/SystemUserRoleService.class
deleted file mode 100644
index 81c2607..0000000
--- a/server/target/classes/com/doumee/service/system/SystemUserRoleService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/SystemUserService.class b/server/target/classes/com/doumee/service/system/SystemUserService.class
deleted file mode 100644
index ef99665..0000000
--- a/server/target/classes/com/doumee/service/system/SystemUserService.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.class
deleted file mode 100644
index bedf535..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemDepartmentServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemDepartmentServiceImpl.class
deleted file mode 100644
index be0a529..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemDepartmentServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemDepartmentUserServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemDepartmentUserServiceImpl.class
deleted file mode 100644
index 5e2edfd..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemDepartmentUserServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemDictDataServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemDictDataServiceImpl.class
deleted file mode 100644
index c69d102..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemDictDataServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemDictServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemDictServiceImpl.class
deleted file mode 100644
index 6d8c011..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemDictServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemLoginLogServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemLoginLogServiceImpl.class
deleted file mode 100644
index f43f1d5..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemLoginLogServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemLoginServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemLoginServiceImpl.class
deleted file mode 100644
index 32e79e8..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemLoginServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemMenuServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemMenuServiceImpl.class
deleted file mode 100644
index 7dc5365..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemMenuServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemPermissionServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemPermissionServiceImpl.class
deleted file mode 100644
index e71eeb4..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemPermissionServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemPositionServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemPositionServiceImpl.class
deleted file mode 100644
index 69c0e8d..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemPositionServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemPositionUserServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemPositionUserServiceImpl.class
deleted file mode 100644
index 330a1da..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemPositionUserServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemRoleMenuServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemRoleMenuServiceImpl.class
deleted file mode 100644
index 6048f97..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemRoleMenuServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemRolePermissionServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemRolePermissionServiceImpl.class
deleted file mode 100644
index 05d329c..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemRolePermissionServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemRoleServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemRoleServiceImpl.class
deleted file mode 100644
index 8c3cd53..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemRoleServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemTraceLogServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemTraceLogServiceImpl.class
deleted file mode 100644
index 73c60f0..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemTraceLogServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemUserRoleServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemUserRoleServiceImpl.class
deleted file mode 100644
index f5e14f7..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemUserRoleServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/service/system/impl/SystemUserServiceImpl.class b/server/target/classes/com/doumee/service/system/impl/SystemUserServiceImpl.class
deleted file mode 100644
index f1d7fea..0000000
--- a/server/target/classes/com/doumee/service/system/impl/SystemUserServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/com/doumee/task/ScheduleTool.class b/server/target/classes/com/doumee/task/ScheduleTool.class
deleted file mode 100644
index b3c7b75..0000000
--- a/server/target/classes/com/doumee/task/ScheduleTool.class
+++ /dev/null
Binary files differ
diff --git a/server/target/classes/logback-spring.xml b/server/target/classes/logback-spring.xml
deleted file mode 100644
index 3f47325..0000000
--- a/server/target/classes/logback-spring.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
- <springProperty scope="context" name="logbackLevel" source="logback.level"/>
- <springProperty scope="context" name="logbackAppender" source="logback.appender"/>
- <!-- 寮�鍙戠幆澧冿紙杈撳嚭鍒版帶鍒跺彴锛� -->
- <appender name="development" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <!-- 璁剧疆鏃ュ織杈撳嚭鏍煎紡 -->
- <pattern>%d %p (%file:%line\)- %m%n</pattern>
- <!-- 杈撳嚭缂栫爜 -->
- <charset>UTF-8</charset>
- </encoder>
- </appender>
-
- <!-- 娴嬭瘯/绾夸笂鐜锛堥�氳繃鏃ユ湡鍒嗗壊鏃ュ織鏂囦欢锛� -->
- <appender name="production"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <File>log/eva.log</File>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 鏂囦欢鍚嶉厤缃� -->
- <fileNamePattern>log/eva-%d.%i.log</fileNamePattern>
- <!-- 鏃ュ織鏂囦欢淇濆瓨鏈熼檺锛堝崟浣嶅ぉ锛� -->
- <maxHistory>30</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <!-- 璁剧疆鏃ュ織鏂囦欢澶у皬锛岄粯璁ゅ�兼槸10MB-->
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- <encoder>
- <!-- 璁剧疆鏃ュ織杈撳嚭鏍煎紡 -->
- <pattern>%d %p (%file:%line\)- %m%n</pattern>
- <!-- 杈撳嚭缂栫爜 -->
- <charset>UTF-8</charset>
- </encoder>
- </appender>
- <!-- 璁剧疆鏃ュ織绾у埆鍜岃緭鍑烘ā寮� -->
- <root level="${logbackLevel}">
- <appender-ref ref="${logbackAppender}" />
- </root>
-</configuration>
diff --git a/server/target/classes/mappers/SystemDataPermissionMapper.xml b/server/target/classes/mappers/SystemDataPermissionMapper.xml
deleted file mode 100644
index 13f821f..0000000
--- a/server/target/classes/mappers/SystemDataPermissionMapper.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemDataPermissionMapper">
-
- <!-- 鏌ヨ閮ㄩ棬鍒楄〃 -->
- <resultMap id="SystemDataPermissionListVO" type="com.doumee.dao.system.vo.SystemDataPermissionListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="role" javaType="com.doumee.dao.system.model.SystemRole">
- <result column="ROLE_ID" property="id"/>
- <result column="ROLE_CODE" property="code"/>
- <result column="ROLE_NAME" property="name"/>
- </association>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" resultMap="SystemDataPermissionListVO">
- SELECT
- sdp.`ID`, sdp.`BUSINESS_CODE`, sdp.`ROLE_ID`, sdp.`TYPE`, sdp.`CUSTOM_DATA`, sdp.`DISABLED`, sdp.`REMARK`, sdp.DISABLED, sdp.`CREATE_TIME`, sdp.`UPDATE_TIME`,
- role.`ID` AS ROLE_ID, role.`CODE` AS ROLE_CODE, role.`NAME` AS ROLE_NAME,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
- FROM SYSTEM_DATA_PERMISSION sdp
- INNER JOIN `SYSTEM_ROLE` role ON role.ID = sdp.ROLE_ID
- LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = sdp.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = sdp.UPDATE_USER
- <where>
- sdp.DELETED = 0
- <if test="dto.businessCode != null and dto.businessCode != ''">
- AND sdp.`BUSINESS_CODE` = #{dto.businessCode}
- </if>
- <if test="dto.roleId != null">
- AND role.`ID` = #{dto.roleId}
- </if>
- <if test="dto.type != null">
- AND sdp.`TYPE` = #{dto.type}
- </if>
- </where>
- ${orderByClause}
- </select>
-
-</mapper>
diff --git a/server/target/classes/mappers/SystemDepartmentMapper.xml b/server/target/classes/mappers/SystemDepartmentMapper.xml
deleted file mode 100644
index 0a57944..0000000
--- a/server/target/classes/mappers/SystemDepartmentMapper.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemDepartmentMapper">
-
- <!-- 鏌ヨ閮ㄩ棬鍒楄〃 -->
- <resultMap id="SystemDepartmentListVO" type="com.doumee.dao.system.vo.SystemDepartmentListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemDepartmentDTO" resultMap="SystemDepartmentListVO">
- SELECT
- dept.`ID`, dept.`PARENT_ID`, dept.`CODE`, dept.`NAME`, dept.`PHONE`, dept.`EMAIL`, dept.`CREATE_TIME`, dept.`UPDATE_TIME`, dept.`CREATE_USER`, dept.`UPDATE_USER`, dept.`DELETED`,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME,
- COUNT(usr.ID) USER_COUNT
- FROM SYSTEM_DEPARTMENT dept
- LEFT JOIN `SYSTEM_DEPARTMENT_USER` sdu ON sdu.DEPARTMENT_ID = dept.ID AND sdu.DELETED = 0
- LEFT JOIN `SYSTEM_USER` usr ON usr.ID = sdu.USER_ID AND usr.DELETED = 0
- LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dept.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dept.UPDATE_USER
- <where>
- dept.DELETED = 0
- <if test="id != null">
- AND dept.ID = #{id}
- </if>
- <if test="ids != null">
- AND dept.ID IN
- <foreach collection="ids" item="id" separator="," open="(" close=")">
- #{id}
- </foreach>
- </if>
- </where>
- GROUP BY dept.`ID`
- </select>
-
-</mapper>
diff --git a/server/target/classes/mappers/SystemDictDataMapper.xml b/server/target/classes/mappers/SystemDictDataMapper.xml
deleted file mode 100644
index 6de601b..0000000
--- a/server/target/classes/mappers/SystemDictDataMapper.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemDictDataMapper">
-
- <!-- 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 -->
- <resultMap id="SystemDictDataListVO" type="com.doumee.dao.system.vo.SystemDictDataListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemDictDataDTO" resultMap="SystemDictDataListVO">
- SELECT
- dict_data.`ID`, dict_data.`DICT_ID`, dict_data.`CODE`, dict_data.`LABEL`, dict_data.`SORT`, dict_data.`DISABLED`, dict_data.`CREATE_TIME`, dict_data.`UPDATE_TIME`, dict_data.`CREATE_USER`, dict_data.`UPDATE_USER`,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
- FROM SYSTEM_DICT_DATA dict_data
- LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dict_data.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dict_data.UPDATE_USER
- <where>
- dict_data.DELETED = 0
- <if test="dictId != null">
- AND dict_data.`DICT_ID` = #{dictId}
- </if>
- </where>
- </select>
-
-</mapper>
diff --git a/server/target/classes/mappers/SystemDictMapper.xml b/server/target/classes/mappers/SystemDictMapper.xml
deleted file mode 100644
index 76338cb..0000000
--- a/server/target/classes/mappers/SystemDictMapper.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemDictMapper">
-
- <!-- 鏌ヨ瀛楀吀鍒楄〃 -->
- <resultMap id="SystemDictListVO" type="com.doumee.dao.system.vo.SystemDictListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemDictDTO" resultMap="SystemDictListVO">
- SELECT
- dict.`ID`, dict.`CODE`, dict.`NAME`, dict.`REMARK`, dict.`CREATE_TIME`, dict.`UPDATE_TIME`, dict.`CREATE_USER`, dict.`UPDATE_USER`,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
- FROM SYSTEM_DICT dict
- LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dict.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dict.UPDATE_USER
- <where>
- dict.DELETED = 0
- <if test="dto.code != null and dto.code != ''">
- AND dict.`CODE` LIKE concat('%', #{dto.code}, '%')
- </if>
- <if test="dto.name != null and dto.name != ''">
- AND dict.`NAME` LIKE concat('%', #{dto.name}, '%')
- </if>
- </where>
- ${orderByClause}
- </select>
-
-</mapper>
diff --git a/server/target/classes/mappers/SystemMenuMapper.xml b/server/target/classes/mappers/SystemMenuMapper.xml
deleted file mode 100644
index 39df661..0000000
--- a/server/target/classes/mappers/SystemMenuMapper.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemMenuMapper">
-
- <!-- 鏌ヨ鑿滃崟鍒楄〃 -->
- <resultMap id="SystemMenuListVO" type="com.doumee.dao.system.vo.SystemMenuListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" resultMap="SystemMenuListVO">
- SELECT
- menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`FIXED`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
- FROM SYSTEM_MENU menu
- JOIN `SYSTEM_USER` create_user ON create_user.ID = menu.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = menu.UPDATE_USER
- <where>
- menu.DELETED = 0
- </where>
- ORDER BY menu.SORT
- </select>
-
- <!-- 鏌ヨ鑿滃崟鏍� -->
- <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemMenu">
- SELECT
- DISTINCT menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`
- FROM `SYSTEM_MENU` menu
- INNER JOIN SYSTEM_ROLE_MENU role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0
- INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role_menu.ROLE_ID AND user_role.DELETED = 0
- <where>
- AND menu.DELETED = 0
- AND menu.DISABLED = 0
- AND user_role.USER_ID = #{userId}
- </where>
- ORDER BY menu.SORT
- </select>
-
- <!-- 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鍒楄〃 -->
- <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemMenu">
- SELECT
- menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`
- FROM `SYSTEM_MENU` menu
- INNER JOIN `SYSTEM_ROLE_MENU` role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0
- <where>
- menu.DELETED = 0
- AND role_menu.ROLE_ID = #{roleId}
- </where>
- </select>
-
-</mapper>
diff --git a/server/target/classes/mappers/SystemPermissionMapper.xml b/server/target/classes/mappers/SystemPermissionMapper.xml
deleted file mode 100644
index 9568ef5..0000000
--- a/server/target/classes/mappers/SystemPermissionMapper.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemPermissionMapper">
-
- <!-- 鏌ヨ绯荤粺鏉冮檺鍒楄〃 -->
- <resultMap id="SystemPermissionListVO" type="com.doumee.dao.system.vo.SystemPermissionListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <id column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <id column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" resultMap="SystemPermissionListVO">
- SELECT
- perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`FIXED`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
- FROM SYSTEM_PERMISSION perm
- LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = perm.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = perm.UPDATE_USER
- <where>
- perm.DELETED = 0
- <if test="dto.code != null">
- AND perm.CODE LIKE CONCAT('%', #{dto.code}, '%')
- </if>
- <if test="dto.name != null">
- AND perm.`NAME` LIKE CONCAT('%', #{dto.name}, '%')
- </if>
- </where>
- ${orderByClause}
- </select>
-
- <!-- 鏍规嵁鐢ㄦ埛ID鏌ヨ鏉冮檺 -->
- <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPermission">
- SELECT
- perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`
- FROM SYSTEM_PERMISSION perm
- INNER JOIN SYSTEM_ROLE_PERMISSION role_perm ON role_perm.PERMISSION_ID = perm.ID AND role_perm.DELETED = 0
- INNER JOIN SYSTEM_ROLE role ON role.ID = role_perm.ROLE_ID AND role.DELETED = 0
- INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role.ID AND user_role.DELETED = 0
- <where>
- perm.DELETED = 0
- AND user_role.USER_ID = #{userId}
- </where>
- </select>
-
- <!-- 鏍规嵁瑙掕壊ID鏌ヨ鏉冮檺 -->
- <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPermission">
- SELECT
- perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`
- FROM SYSTEM_PERMISSION perm
- INNER JOIN SYSTEM_ROLE_PERMISSION role_perm ON role_perm.PERMISSION_ID = perm.ID AND role_perm.DELETED = 0
- <where>
- perm.DELETED = 0
- AND role_perm.ROLE_ID = #{roleId}
- </where>
- </select>
-
-</mapper>
diff --git a/server/target/classes/mappers/SystemPositionMapper.xml b/server/target/classes/mappers/SystemPositionMapper.xml
deleted file mode 100644
index fc15235..0000000
--- a/server/target/classes/mappers/SystemPositionMapper.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemPositionMapper">
-
- <!-- 鏌ヨ宀椾綅鍒楄〃 -->
- <resultMap id="SystemPositionListVO" type="com.doumee.dao.system.vo.SystemPositionListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" resultMap="SystemPositionListVO">
- SELECT
- posi.`ID`, posi.`PARENT_ID`, posi.`CODE`, posi.`NAME`, posi.`CREATE_TIME`, posi.`UPDATE_TIME`, posi.`CREATE_USER`, posi.`UPDATE_USER`,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME,
- COUNT(usr.ID) USER_COUNT
- FROM SYSTEM_POSITION posi
- LEFT JOIN `SYSTEM_POSITION_USER` spu ON spu.POSITION_ID = posi.ID AND spu.DELETED = 0
- LEFT JOIN `SYSTEM_USER` usr ON usr.ID = spu.USER_ID AND usr.DELETED = 0
- LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = posi.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = posi.UPDATE_USER
- <where>
- posi.DELETED = 0
- <if test="name != null and name != ''">
- AND posi.`NAME` LIKE concat('%', #{name}, '%')
- </if>
- </where>
- GROUP BY posi.`ID`
- </select>
-
- <!-- 鏌ヨ鐢ㄦ埛宀椾綅鍒楄〃 -->
- <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPosition">
- SELECT
- sp.`ID`, sp.`PARENT_ID`, sp.`CODE`, sp.`NAME`
- FROM `SYSTEM_POSITION` sp
- INNER JOIN `SYSTEM_POSITION_USER` spu ON spu.`POSITION_ID` = sp.`ID` AND spu.`DELETED` = 0
- INNER JOIN `SYSTEM_USER` su ON su.`ID` = spu.`USER_ID`
- <where>
- sp.DELETED = 0
- AND spu.USER_ID = #{userId}
- </where>
- </select>
-</mapper>
diff --git a/server/target/classes/mappers/SystemRoleMapper.xml b/server/target/classes/mappers/SystemRoleMapper.xml
deleted file mode 100644
index e2851b9..0000000
--- a/server/target/classes/mappers/SystemRoleMapper.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemRoleMapper">
-
- <!-- 鏌ヨ瑙掕壊鍒楄〃 -->
- <resultMap id="SystemRoleListVO" type="com.doumee.dao.system.vo.SystemRoleListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <id column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <id column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemUserDTO" resultMap="SystemRoleListVO">
- SELECT
- role.ID, role.`CODE`, role.`NAME`, role.`REMARK`, role.`FIXED`, role.`CREATE_TIME`, role.`UPDATE_TIME`,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
- FROM SYSTEM_ROLE role
- LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = role.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = role.UPDATE_USER
- <where>
- role.DELETED = 0
- <if test="dto.code != null and dto.code != ''">
- AND role.`CODE` LIKE CONCAT('%', #{dto.code}, '%')
- </if>
- <if test="dto.name != null and dto.name != ''">
- AND role.`NAME` LIKE CONCAT('%', #{dto.name}, '%')
- </if>
- </where>
- ${orderByClause}
- </select>
-
- <!-- 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃 -->
- <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemRole">
- SELECT
- role.ID, role.`CODE`, role.`NAME`, role.`REMARK`, role.`CREATE_TIME`, role.`UPDATE_TIME`
- FROM SYSTEM_ROLE role
- INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role.ID AND user_role.DELETED = 0
- <where>
- role.DELETED = 0
- AND user_role.USER_ID = #{userId}
- </where>
- </select>
-
-</mapper>
diff --git a/server/target/classes/mappers/SystemUserMapper.xml b/server/target/classes/mappers/SystemUserMapper.xml
deleted file mode 100644
index fa36380..0000000
--- a/server/target/classes/mappers/SystemUserMapper.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.doumee.dao.system.SystemUserMapper">
-
- <!-- 鏌ヨ鐢ㄦ埛鍒楄〃 -->
- <resultMap id="SystemUserListVO" type="com.doumee.dao.system.vo.SystemUserListVO" autoMapping="true">
- <id column="ID" property="id"/>
- <association property="department" javaType="com.doumee.dao.system.model.SystemDepartment">
- <result column="DEPARTMENT_ID" property="id"/>
- <result column="DEPARTMENT_NAME" property="name"/>
- </association>
- <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="CREATE_USER_ID" property="id"/>
- <result column="CREATE_USER_NAME" property="username"/>
- </association>
- <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
- <result column="UPDATE_USER_ID" property="id"/>
- <result column="UPDATE_USER_NAME" property="username"/>
- </association>
- </resultMap>
- <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemUserDTO" resultMap="SystemUserListVO">
- SELECT
- DISTINCT
- usr.*,
- sd.ID AS DEPARTMENT_ID, sd.`NAME` AS DEPARTMENT_NAME,
- create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
- update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
- FROM `SYSTEM_USER` usr
- LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = usr.CREATE_USER
- LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = usr.UPDATE_USER
- LEFT JOIN `SYSTEM_POSITION_USER` spu ON spu.USER_ID = usr.ID AND spu.DELETED = 0
- LEFT JOIN `SYSTEM_POSITION` sp ON sp.ID = spu.POSITION_ID AND sp.DELETED = 0
- LEFT JOIN `SYSTEM_DEPARTMENT_USER` sdu ON sdu.USER_ID = usr.ID AND sdu.DELETED = 0
- LEFT JOIN `SYSTEM_DEPARTMENT` sd ON sd.ID = sdu.DEPARTMENT_ID AND sd.DELETED = 0
- <where>
- usr.DELETED = 0
- <if test="dto.positionId != null">
- AND spu.POSITION_ID = #{dto.positionId}
- </if>
- <if test="dto.strictDeptId != null">
- AND sdu.DEPARTMENT_ID = #{dto.strictDeptId}
- </if>
- <if test="dto.departmentIds != null and dto.departmentIds.size > 0">
- AND sdu.DEPARTMENT_ID IN
- <foreach collection="dto.departmentIds" open="(" close=")" separator="," item="id">
- #{id}
- </foreach>
- </if>
- <if test="dto.username != null and dto.username != ''">
- AND usr.`USERNAME` LIKE CONCAT('%', #{dto.username}, '%')
- </if>
- <if test="dto.realname != null and dto.realname != ''">
- AND usr.`REALNAME` LIKE CONCAT('%', #{dto.realname}, '%')
- </if>
- <if test="dto.mobile != null and dto.mobile != ''">
- AND usr.`MOBILE` LIKE CONCAT('%', #{dto.mobile}, '%')
- </if>
- <if test="dto.typeList != null and dto.typeList.size()>0">
- AND usr.`type` in <foreach collection="dto.typeList" item="item" open="(" separator="," close=")">#{item}</foreach>
- </if>
- </where>
- ${orderByClause}
- </select>
-
- <select id="selectAllManagerList" parameterType="com.doumee.dao.system.dto.QuerySystemUserDTO"
- resultType="com.doumee.dao.system.vo.SystemUserDetailVO">
- SELECT
- usr.*
- <if test="dto.type == 1 or dto.type == 2 or dto.type == 4">
- ,
- company.id as companyId,
- company.name as companyName,
- company.CREDIT_CODE as creditCode,
- company.AREA_ID as companyAreaId,
- company.CITY_ID as companyCityId,
- company.LEGAL_PERSON as legalPerson,
- company.LINK_NAME as linkName,
- company.LINK_PHONE as linkPhone,
- company.CREATE_DATE as createDate
- </if>
- FROM `SYSTEM_USER` usr
- <if test="dto.type == 1 or dto.type == 2 or dto.type == 4">
- LEFT JOIN `company` company ON company.id = usr.COMPANY_ID
- </if>
- <if test="dto.provinceId != null">
- LEFT JOIN `areas` areas ON areas.id = usr.city_id
- </if>
-
- <where>
- usr.DELETED = 0
- <if test="dto.provinceId != null">
- and areas.parent_id=#{dto.provinceId }
- </if>
- <if test="dto.username !=null and dto.username!=''">
- AND usr.`USERNAME` LIKE CONCAT('%', #{dto.username}, '%')
- </if>
- <if test="dto.cityId != null and dto.cityId != ''">
- AND usr.`CITY_ID` = #{dto.cityId}
- </if>
- <if test="dto.areaId != null and dto.areaId != ''" >
- AND usr.`AREA_ID` = #{dto.areaId}
- </if>
- <if test="dto.typeList != null and dto.typeList.size() > 0">
- AND usr.`type` in <foreach collection="dto.typeList" item="item" open="(" separator="," close=")">#{item}</foreach>
- </if>
- </where>
- ${orderByClause}
- </select>
-
-</mapper>
--
Gitblit v1.9.3