From efae57b5451d7544742e9876b5fbf980b297e1d6 Mon Sep 17 00:00:00 2001 From: xiaohuang <1559741705@qq.com> Date: Mon, 17 Jun 2024 22:34:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- muyu-auth/pom.xml | 9 +- .../muyu/auth/service/SysLoginService.java | 5 +- .../auth/service/SysRecordLogService.java | 3 +- muyu-auth/src/main/resources/bootstrap.yml | 4 +- muyu-business/muyu-data-plus/pom.xml | 19 ++ muyu-business/muyu-data-service/pom.xml | 133 ++++++++++ .../java/com/muyu/business/Job/ManyJob.java | 38 +++ .../business/MuyuBusinessApplication.java | 28 +++ .../config/ConfirmCallbackConfig.java | 48 ++++ .../business/config/RabbitAdminConfig.java | 53 ++++ .../muyu/business/config/RabbitmqConfig.java | 16 ++ .../business/config/ReturnCallbackConfig.java | 34 +++ .../controller/BusinessController.java | 104 ++++++++ .../controller/EntinfoController.java | 123 +++++++++ .../business/controller/PlusController.java | 15 ++ .../muyu/business/domain/AuthRoleResp.java | 33 +++ .../com/muyu/business/domain/Business.java | 82 ++++++ .../java/com/muyu/business/domain/Cart.java | 35 +++ .../java/com/muyu/business/domain/CartVo.java | 30 +++ .../java/com/muyu/business/domain/Type.java | 31 +++ .../com/muyu/business/feign/EntInfoFeign.java | 22 ++ .../muyu/business/mapper/BusinessMapper.java | 66 +++++ .../muyu/business/mapper/EntinfoMapper.java | 65 +++++ .../com/muyu/business/mapper/PlusMapper.java | 19 ++ .../com/muyu/business/mapper/TypeMapper.java | 20 ++ .../business/service/IBusinessService.java | 63 +++++ .../business/service/IEntinfoService.java | 65 +++++ .../muyu/business/service/PlusService.java | 19 ++ .../service/impl/BusinessServiceImpl.java | 235 ++++++++++++++++++ .../service/impl/EntinfoServiceImpl.java | 101 ++++++++ .../service/impl/PlusServiceImpl.java | 57 +++++ .../business/text/DatabaseInitializer.java | 60 +++++ .../src/main/resources/banner.txt | 0 .../src/main/resources/bootstrap.yml | 42 ++++ .../src/main/resources/logback.xml | 74 ++++++ .../mapper/business/BusinessMapper.xml | 125 ++++++++++ .../mapper/entInfo/EntinfoMapper.xml | 74 ++++++ muyu-business/pom.xml | 28 +++ .../muyu-datasource-service/pom.xml | 117 +++++++++ .../com/muyu/datasource/ManyDataSource.java | 71 ++++++ .../datasource/MuYuDataSourceApplication.java | 27 ++ .../muyu/datasource/config/DataSourceAsp.java | 43 ++++ .../factory/DruidDataSourceFactory.java | 44 ++++ .../holder/DynamicDataSourceHolder.java | 43 ++++ .../config/role/DynamicDataSource.java | 36 +++ .../contents/DatasourceContent.java | 15 ++ .../datasource/domain/DataSourceInfo.java | 52 ++++ .../com/muyu/datasource/domain/EntInfo.java | 29 +++ .../datasource/util/DataSourceService.java | 49 ++++ .../src/main/resources/banner.txt | 0 .../src/main/resources/bootstrap.yml | 32 +++ .../src/main/resources/logback.xml | 74 ++++++ muyu-cloud-datasource/pom.xml | 26 ++ muyu-common/muyu-common-business/pom.xml | 34 +++ .../muyu/common/business/domain/Entinfo.java | 46 ++++ .../remote/RemoteBusinessService.java | 22 ++ .../RemoteBusinessFallbackFactory.java | 33 +++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../core/constant/ServiceNameConstants.java | 1 + .../muyu/common/core/utils/ip/IpUtils.java | 6 +- .../common/core/web/domain/BaseEntity.java | 12 +- muyu-common/muyu-common-datascope/pom.xml | 2 +- .../datascope/annotation/DataScope.java | 1 + muyu-common/muyu-common-log/pom.xml | 2 +- muyu-common/muyu-common-redis/pom.xml | 2 +- muyu-common/muyu-common-security/pom.xml | 4 +- ...ot.autoconfigure.AutoConfiguration.imports | 6 +- muyu-common/muyu-common-system/pom.xml | 2 +- .../muyu/common/system/domain/SysUser.java | 6 + .../system/remote/RemoteFileService.java | 8 + .../system/remote/RemoteUserService.java | 20 +- .../factory/RemoteFileFallbackFactory.java | 7 + .../factory/RemoteUserFallbackFactory.java | 30 +++ muyu-common/pom.xml | 3 +- muyu-gateway/pom.xml | 9 +- .../gateway/service/ValidateCodeService.java | 4 +- muyu-gateway/src/main/resources/bootstrap.yml | 8 +- muyu-iotdb/pom.xml | 75 ++++++ .../com/muyu/iotdb/MuyuIotdbApplication.java | 19 ++ .../muyu/iotdb/config/IotDBSessionConfig.java | 187 ++++++++++++++ .../iotdb/config/KafkaConsumerConfig.java | 108 ++++++++ .../iotdb/config/KafkaProviderConfig.java | 84 +++++++ .../iotdb/config/KafkaSendResultHandler.java | 38 +++ .../config/MyKafkaListenerErrorHandler.java | 34 +++ .../consumer/HelloWorldKafkaConsumer.java | 71 ++++++ .../consumer/KafkaConsumerQuickStart.java | 15 ++ .../iotdb/controller/IotDbController.java | 115 +++++++++ .../com/muyu/iotdb/domain/IotDbParam.java | 43 ++++ .../com/muyu/iotdb/domain/IotDbResult.java | 36 +++ .../producer/KafkaProducerQuickStart.java | 26 ++ .../com/muyu/iotdb/service/IotDbServer.java | 17 ++ .../iotdb/service/impl/IotDbServerImpl.java | 132 ++++++++++ muyu-iotdb/src/main/resources/bootstrap.yml | 102 ++++++++ .../{muyu-file => muyu-modules-file}/pom.xml | 4 +- .../com/muyu/file/MuyuFileApplication.java} | 4 +- .../com/muyu/file/config/MinioConfig.java | 0 .../com/muyu/file/config/ResourcesConfig.java | 0 .../file/controller/SysFileController.java | 0 .../service/FastDfsSysFileServiceImpl.java | 0 .../muyu/file/service/ISysFileService.java | 0 .../file/service/LocalSysFileServiceImpl.java | 0 .../file/service/MinioSysFileServiceImpl.java | 0 .../com/muyu/file/utils/FileUploadUtils.java | 0 .../src/main/resources/banner.txt | 0 .../src/main/resources/bootstrap.yml | 8 +- .../src/main/resources/logback.xml | 0 .../{muyu-gen => muyu-modules-gen}/pom.xml | 4 +- .../com/muyu/gen/MuyuGenApplication.java} | 4 +- .../java/com/muyu/gen/config/GenConfig.java | 0 .../muyu/gen/controller/GenController.java | 1 - .../java/com/muyu/gen/domain/GenTable.java | 0 .../com/muyu/gen/domain/GenTableColumn.java | 0 .../muyu/gen/mapper/GenTableColumnMapper.java | 0 .../com/muyu/gen/mapper/GenTableMapper.java | 0 .../service/GenTableColumnServiceImpl.java | 0 .../muyu/gen/service/GenTableServiceImpl.java | 0 .../gen/service/IGenTableColumnService.java | 0 .../muyu/gen/service/IGenTableService.java | 0 .../main/java/com/muyu/gen/util/GenUtils.java | 0 .../muyu/gen/util/VelocityInitializer.java | 0 .../java/com/muyu/gen/util/VelocityUtils.java | 0 .../src/main/resources/banner.txt | 0 .../src/main/resources/bootstrap.yml | 8 +- .../src/main/resources/logback.xml | 0 .../mapper/generator/GenTableColumnMapper.xml | 0 .../mapper/generator/GenTableMapper.xml | 0 .../main/resources/vm/java/controller.java.vm | 0 .../src/main/resources/vm/java/domain.java.vm | 0 .../src/main/resources/vm/java/mapper.java.vm | 0 .../main/resources/vm/java/service.java.vm | 0 .../resources/vm/java/serviceImpl.java.vm | 0 .../main/resources/vm/java/sub-domain.java.vm | 0 .../src/main/resources/vm/js/api.js.vm | 0 .../src/main/resources/vm/sql/sql.vm | 0 .../main/resources/vm/vue/index-tree.vue.vm | 0 .../src/main/resources/vm/vue/index.vue.vm | 0 .../resources/vm/vue/v3/index-tree.vue.vm | 0 .../src/main/resources/vm/vue/v3/index.vue.vm | 0 .../src/main/resources/vm/vue/v3/readme.txt | 2 +- .../src/main/resources/vm/xml/mapper.xml.vm | 0 .../{muyu-job => muyu-modules-job}/pom.xml | 4 +- .../com/muyu/job/MuyuJobApplication.java} | 4 +- .../com/muyu/job/config/ScheduleConfig.java | 0 .../muyu/job/controller/SysJobController.java | 0 .../job/controller/SysJobLogController.java | 0 .../main/java/com/muyu/job/domain/SysJob.java | 0 .../java/com/muyu/job/domain/SysJobLog.java | 0 .../com/muyu/job/mapper/SysJobLogMapper.java | 0 .../com/muyu/job/mapper/SysJobMapper.java | 0 .../muyu/job/service/ISysJobLogService.java | 0 .../com/muyu/job/service/ISysJobService.java | 0 .../job/service/SysJobLogServiceImpl.java | 0 .../muyu/job/service/SysJobServiceImpl.java | 0 .../main/java/com/muyu/job/task/MyTask.java | 0 .../com/muyu/job/util/AbstractQuartzJob.java | 0 .../java/com/muyu/job/util/CronUtils.java | 0 .../java/com/muyu/job/util/JobInvokeUtil.java | 0 .../QuartzDisallowConcurrentExecution.java | 0 .../com/muyu/job/util/QuartzJobExecution.java | 0 .../java/com/muyu/job/util/ScheduleUtils.java | 0 .../src/main/resources/banner.txt | 2 + .../src/main/resources/bootstrap.yml | 8 +- .../src/main/resources/logback.xml | 0 .../resources/mapper/job/SysJobLogMapper.xml | 0 .../resources/mapper/job/SysJobMapper.xml | 0 .../pom.xml | 8 +- .../muyu/system/MuyuSystemApplication.java} | 4 +- .../controller/SysConfigController.java | 0 .../system/controller/SysDeptController.java | 0 .../controller/SysDictDataController.java | 0 .../controller/SysDictTypeController.java | 0 .../controller/SysLogininforController.java | 0 .../system/controller/SysMenuController.java | 0 .../controller/SysNoticeController.java | 0 .../controller/SysOperlogController.java | 0 .../system/controller/SysPostController.java | 0 .../controller/SysProfileController.java | 0 .../system/controller/SysRoleController.java | 0 .../system/controller/SysUserController.java | 19 +- .../controller/SysUserOnlineController.java | 0 .../com/muyu/system/domain/SysConfig.java | 0 .../java/com/muyu/system/domain/SysMenu.java | 0 .../com/muyu/system/domain/SysNotice.java | 0 .../java/com/muyu/system/domain/SysPost.java | 0 .../com/muyu/system/domain/SysRoleDept.java | 0 .../com/muyu/system/domain/SysRoleMenu.java | 0 .../com/muyu/system/domain/SysUserOnline.java | 0 .../com/muyu/system/domain/SysUserPost.java | 0 .../com/muyu/system/domain/SysUserRole.java | 0 .../muyu/system/domain/resp/AuthRoleResp.java | 0 .../muyu/system/domain/resp/DeptTreeResp.java | 0 .../muyu/system/domain/resp/ProfileResp.java | 0 .../system/domain/resp/RoleMenuTreeResp.java | 0 .../domain/resp/UserDetailInfoResp.java | 0 .../muyu/system/domain/resp/UserInfoResp.java | 0 .../com/muyu/system/domain/vo/MetaVo.java | 0 .../com/muyu/system/domain/vo/RouterVo.java | 0 .../com/muyu/system/domain/vo/TreeSelect.java | 0 .../muyu/system/mapper/SysConfigMapper.java | 0 .../com/muyu/system/mapper/SysDeptMapper.java | 0 .../muyu/system/mapper/SysDictDataMapper.java | 0 .../muyu/system/mapper/SysDictTypeMapper.java | 0 .../system/mapper/SysLogininforMapper.java | 0 .../com/muyu/system/mapper/SysMenuMapper.java | 0 .../muyu/system/mapper/SysNoticeMapper.java | 0 .../muyu/system/mapper/SysOperLogMapper.java | 0 .../com/muyu/system/mapper/SysPostMapper.java | 0 .../muyu/system/mapper/SysRoleDeptMapper.java | 0 .../com/muyu/system/mapper/SysRoleMapper.java | 0 .../muyu/system/mapper/SysRoleMenuMapper.java | 0 .../com/muyu/system/mapper/SysUserMapper.java | 4 + .../muyu/system/mapper/SysUserPostMapper.java | 0 .../muyu/system/mapper/SysUserRoleMapper.java | 2 + .../muyu/system/service/SysConfigService.java | 0 .../muyu/system/service/SysDeptService.java | 0 .../system/service/SysDictDataService.java | 0 .../system/service/SysDictTypeService.java | 0 .../system/service/SysLogininforService.java | 0 .../muyu/system/service/SysMenuService.java | 0 .../muyu/system/service/SysNoticeService.java | 0 .../system/service/SysOperLogService.java | 0 .../system/service/SysPermissionService.java | 0 .../muyu/system/service/SysPostService.java | 0 .../muyu/system/service/SysRoleService.java | 0 .../system/service/SysUserOnlineService.java | 1 - .../muyu/system/service/SysUserService.java | 5 + .../service/impl/SysConfigServiceImpl.java | 0 .../service/impl/SysDeptServiceImpl.java | 0 .../service/impl/SysDictDataServiceImpl.java | 0 .../service/impl/SysDictTypeServiceImpl.java | 0 .../impl/SysLogininforServiceImpl.java | 0 .../service/impl/SysMenuServiceImpl.java | 2 +- .../service/impl/SysNoticeServiceImpl.java | 0 .../service/impl/SysOperLogServiceImpl.java | 0 .../impl/SysPermissionServiceImpl.java | 3 +- .../service/impl/SysPostServiceImpl.java | 0 .../service/impl/SysRoleServiceImpl.java | 0 .../impl/SysUserOnlineServiceImpl.java | 1 - .../service/impl/SysUserServiceImpl.java | 23 +- .../src/main/resources/banner.txt | 2 + .../src/main/resources/bootstrap.yml | 8 +- .../src/main/resources/logback.xml | 0 .../mapper/system/SysConfigMapper.xml | 0 .../resources/mapper/system/SysDeptMapper.xml | 0 .../mapper/system/SysDictDataMapper.xml | 0 .../mapper/system/SysDictTypeMapper.xml | 0 .../mapper/system/SysLogininforMapper.xml | 0 .../resources/mapper/system/SysMenuMapper.xml | 0 .../mapper/system/SysNoticeMapper.xml | 0 .../mapper/system/SysOperLogMapper.xml | 0 .../resources/mapper/system/SysPostMapper.xml | 0 .../mapper/system/SysRoleDeptMapper.xml | 0 .../resources/mapper/system/SysRoleMapper.xml | 0 .../mapper/system/SysRoleMenuMapper.xml | 0 .../resources/mapper/system/SysUserMapper.xml | 20 +- .../mapper/system/SysUserPostMapper.xml | 0 .../mapper/system/SysUserRoleMapper.xml | 4 + muyu-modules/pom.xml | 10 +- muyu-vehicle/muyu-vehicle-service/pom.xml | 131 ++++++++++ .../muyu/vehicle/MuYuVehicleApplication.java | 30 +++ .../vehicle/controller/FenceController.java | 110 ++++++++ .../vehicle/controller/GroupController.java | 105 ++++++++ .../vehicle/controller/VehicleController.java | 100 ++++++++ .../vehicle/datasource/ManyDataSource.java | 162 ++++++++++++ .../datasource/config/DataSourceAsp.java | 50 ++++ .../factory/DruidDataSourceFactory.java | 40 +++ .../holder/DynamicDataSourceHolder.java | 43 ++++ .../config/role/DynamicDataSource.java | 49 ++++ .../contents/DatasourceContent.java | 15 ++ .../datasource/domain/DataSourceInfo.java | 52 ++++ .../datasource/feign/EntInfoFeign.java | 21 ++ .../datasource/util/DataSourceService.java | 48 ++++ .../java/com/muyu/vehicle/domain/Fence.java | 74 ++++++ .../java/com/muyu/vehicle/domain/Group.java | 47 ++++ .../java/com/muyu/vehicle/domain/Type.java | 31 +++ .../java/com/muyu/vehicle/domain/Vehicle.java | 68 +++++ .../java/com/muyu/vehicle/domain/vo/Path.java | 31 +++ .../muyu/vehicle/domain/vo/VehicleReq.java | 55 ++++ .../com/muyu/vehicle/domain/vo/VehicleVo.java | 54 ++++ .../com/muyu/vehicle/mapper/FenceMapper.java | 65 +++++ .../com/muyu/vehicle/mapper/GroupMapper.java | 64 +++++ .../muyu/vehicle/mapper/VehicleMapper.java | 64 +++++ .../config/ConfirmCallbackConfig.java | 48 ++++ .../rabbitmq/config/RabbitAdminConfig.java | 53 ++++ .../rabbitmq/config/RabbitmqConfig.java | 15 ++ .../rabbitmq/config/ReturnCallbackConfig.java | 34 +++ .../rabbitmq/config/SendCodeConfig.java | 66 +++++ .../muyu/vehicle/service/IFenceService.java | 65 +++++ .../muyu/vehicle/service/IGroupService.java | 65 +++++ .../muyu/vehicle/service/IVehicleService.java | 65 +++++ .../service/impl/FenceServiceImpl.java | 102 ++++++++ .../service/impl/GroupServiceImpl.java | 100 ++++++++ .../service/impl/VehicleServiceImpl.java | 139 +++++++++++ .../src/main/resources/banner.txt | 2 + .../src/main/resources/bootstrap.yml | 46 ++++ .../src/main/resources/logback.xml | 74 ++++++ .../resources/mapper/fence/FenceMapper.xml | 111 +++++++++ .../resources/mapper/group/GroupMapper.xml | 77 ++++++ .../mapper/vehicle/VehicleMapper.xml | 119 +++++++++ muyu-vehicle/pom.xml | 24 ++ .../src/main/resources/bootstrap.yml | 4 +- muyu-visual/pom.xml | 2 +- pom.xml | 14 +- 303 files changed, 6823 insertions(+), 87 deletions(-) create mode 100644 muyu-business/muyu-data-plus/pom.xml create mode 100644 muyu-business/muyu-data-service/pom.xml create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/Job/ManyJob.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/MuyuBusinessApplication.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ConfirmCallbackConfig.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitAdminConfig.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitmqConfig.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ReturnCallbackConfig.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/BusinessController.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/EntinfoController.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/PlusController.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/AuthRoleResp.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Business.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Cart.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/CartVo.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Type.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/feign/EntInfoFeign.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/BusinessMapper.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/EntinfoMapper.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/PlusMapper.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/TypeMapper.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IBusinessService.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IEntinfoService.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/PlusService.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/BusinessServiceImpl.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/EntinfoServiceImpl.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/PlusServiceImpl.java create mode 100644 muyu-business/muyu-data-service/src/main/java/com/muyu/business/text/DatabaseInitializer.java rename {muyu-modules/muyu-file => muyu-business/muyu-data-service}/src/main/resources/banner.txt (100%) create mode 100644 muyu-business/muyu-data-service/src/main/resources/bootstrap.yml create mode 100644 muyu-business/muyu-data-service/src/main/resources/logback.xml create mode 100644 muyu-business/muyu-data-service/src/main/resources/mapper/business/BusinessMapper.xml create mode 100644 muyu-business/muyu-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml create mode 100644 muyu-business/pom.xml create mode 100644 muyu-cloud-datasource/muyu-datasource-service/pom.xml create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/ManyDataSource.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/MuYuDataSourceApplication.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/DataSourceAsp.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/factory/DruidDataSourceFactory.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/holder/DynamicDataSourceHolder.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/role/DynamicDataSource.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/contents/DatasourceContent.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/domain/DataSourceInfo.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/domain/EntInfo.java create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/util/DataSourceService.java rename {muyu-modules/muyu-gen => muyu-cloud-datasource/muyu-datasource-service}/src/main/resources/banner.txt (100%) create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/resources/bootstrap.yml create mode 100644 muyu-cloud-datasource/muyu-datasource-service/src/main/resources/logback.xml create mode 100644 muyu-cloud-datasource/pom.xml create mode 100644 muyu-common/muyu-common-business/pom.xml create mode 100644 muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/domain/Entinfo.java create mode 100644 muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/remote/RemoteBusinessService.java create mode 100644 muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/remote/factory/RemoteBusinessFallbackFactory.java create mode 100644 muyu-common/muyu-common-business/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 muyu-iotdb/pom.xml create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/MuyuIotdbApplication.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/config/IotDBSessionConfig.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaConsumerConfig.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaProviderConfig.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaSendResultHandler.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/config/MyKafkaListenerErrorHandler.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/consumer/HelloWorldKafkaConsumer.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/consumer/KafkaConsumerQuickStart.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/controller/IotDbController.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbParam.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbResult.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/producer/KafkaProducerQuickStart.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/service/IotDbServer.java create mode 100644 muyu-iotdb/src/main/java/com/muyu/iotdb/service/impl/IotDbServerImpl.java create mode 100644 muyu-iotdb/src/main/resources/bootstrap.yml rename muyu-modules/{muyu-file => muyu-modules-file}/pom.xml (97%) rename muyu-modules/{muyu-file/src/main/java/com/muyu/file/MuYuFileApplication.java => muyu-modules-file/src/main/java/com/muyu/file/MuyuFileApplication.java} (82%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/java/com/muyu/file/config/MinioConfig.java (100%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/java/com/muyu/file/config/ResourcesConfig.java (100%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/java/com/muyu/file/controller/SysFileController.java (100%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/java/com/muyu/file/service/FastDfsSysFileServiceImpl.java (100%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/java/com/muyu/file/service/ISysFileService.java (100%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/java/com/muyu/file/service/LocalSysFileServiceImpl.java (100%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/java/com/muyu/file/service/MinioSysFileServiceImpl.java (100%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/java/com/muyu/file/utils/FileUploadUtils.java (100%) rename muyu-modules/{muyu-job => muyu-modules-file}/src/main/resources/banner.txt (100%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/resources/bootstrap.yml (72%) rename muyu-modules/{muyu-file => muyu-modules-file}/src/main/resources/logback.xml (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/pom.xml (97%) rename muyu-modules/{muyu-gen/src/main/java/com/muyu/gen/MuYuGenApplication.java => muyu-modules-gen/src/main/java/com/muyu/gen/MuyuGenApplication.java} (84%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/config/GenConfig.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/controller/GenController.java (99%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/domain/GenTable.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/domain/GenTableColumn.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/mapper/GenTableMapper.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/service/IGenTableColumnService.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/service/IGenTableService.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/util/GenUtils.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/util/VelocityInitializer.java (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/java/com/muyu/gen/util/VelocityUtils.java (100%) rename muyu-modules/{muyu-system => muyu-modules-gen}/src/main/resources/banner.txt (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/bootstrap.yml (72%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/logback.xml (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/mapper/generator/GenTableColumnMapper.xml (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/mapper/generator/GenTableMapper.xml (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/java/controller.java.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/java/domain.java.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/java/mapper.java.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/java/service.java.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/java/serviceImpl.java.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/java/sub-domain.java.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/js/api.js.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/sql/sql.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/vue/index-tree.vue.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/vue/index.vue.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/vue/v3/index-tree.vue.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/vue/v3/index.vue.vm (100%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/vue/v3/readme.txt (63%) rename muyu-modules/{muyu-gen => muyu-modules-gen}/src/main/resources/vm/xml/mapper.xml.vm (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/pom.xml (97%) rename muyu-modules/{muyu-job/src/main/java/com/muyu/job/MuYuJobApplication.java => muyu-modules-job/src/main/java/com/muyu/job/MuyuJobApplication.java} (84%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/config/ScheduleConfig.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/controller/SysJobController.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/controller/SysJobLogController.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/domain/SysJob.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/domain/SysJobLog.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/mapper/SysJobLogMapper.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/mapper/SysJobMapper.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/service/ISysJobLogService.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/service/ISysJobService.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/service/SysJobLogServiceImpl.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/service/SysJobServiceImpl.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/task/MyTask.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/util/AbstractQuartzJob.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/util/CronUtils.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/util/JobInvokeUtil.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/util/QuartzDisallowConcurrentExecution.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/util/QuartzJobExecution.java (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/java/com/muyu/job/util/ScheduleUtils.java (100%) create mode 100644 muyu-modules/muyu-modules-job/src/main/resources/banner.txt rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/resources/bootstrap.yml (72%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/resources/logback.xml (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/resources/mapper/job/SysJobLogMapper.xml (100%) rename muyu-modules/{muyu-job => muyu-modules-job}/src/main/resources/mapper/job/SysJobMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/pom.xml (95%) rename muyu-modules/{muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java => muyu-modules-system/src/main/java/com/muyu/system/MuyuSystemApplication.java} (83%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysConfigController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysDeptController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysDictDataController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysDictTypeController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysLogininforController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysMenuController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysNoticeController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysOperlogController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysPostController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysProfileController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysRoleController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysUserController.java (94%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/controller/SysUserOnlineController.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysConfig.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysMenu.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysNotice.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysPost.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysRoleDept.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysRoleMenu.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysUserOnline.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysUserPost.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/SysUserRole.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/resp/AuthRoleResp.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/resp/DeptTreeResp.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/resp/ProfileResp.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/resp/RoleMenuTreeResp.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/resp/UserDetailInfoResp.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/resp/UserInfoResp.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/vo/MetaVo.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/vo/RouterVo.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/domain/vo/TreeSelect.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysConfigMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysDeptMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysLogininforMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysMenuMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysOperLogMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysPostMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysRoleDeptMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysRoleMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysUserMapper.java (97%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java (96%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysConfigService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysDeptService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysDictDataService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysDictTypeService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysLogininforService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysMenuService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysNoticeService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysOperLogService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysPermissionService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysPostService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysRoleService.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysUserOnlineService.java (95%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/SysUserService.java (97%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysLogininforServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysOperLogServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java (97%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysPostServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysUserOnlineServiceImpl.java (97%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java (96%) create mode 100644 muyu-modules/muyu-modules-system/src/main/resources/banner.txt rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/bootstrap.yml (74%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/logback.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysConfigMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysDeptMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysDictDataMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysDictTypeMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysLogininforMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysMenuMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysNoticeMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysOperLogMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysPostMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysRoleDeptMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysRoleMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysRoleMenuMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysUserMapper.xml (91%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysUserPostMapper.xml (100%) rename muyu-modules/{muyu-system => muyu-modules-system}/src/main/resources/mapper/system/SysUserRoleMapper.xml (92%) create mode 100644 muyu-vehicle/muyu-vehicle-service/pom.xml create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/MuYuVehicleApplication.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/FenceController.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/GroupController.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/VehicleController.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/ManyDataSource.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/DataSourceAsp.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/factory/DruidDataSourceFactory.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/holder/DynamicDataSourceHolder.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/role/DynamicDataSource.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/contents/DatasourceContent.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/domain/DataSourceInfo.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/feign/EntInfoFeign.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/util/DataSourceService.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Fence.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Group.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Type.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Vehicle.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/Path.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/VehicleReq.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/VehicleVo.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/FenceMapper.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/GroupMapper.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/VehicleMapper.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/ConfirmCallbackConfig.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/RabbitAdminConfig.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/RabbitmqConfig.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/ReturnCallbackConfig.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/SendCodeConfig.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IFenceService.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IGroupService.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IVehicleService.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/FenceServiceImpl.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/GroupServiceImpl.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/VehicleServiceImpl.java create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/resources/banner.txt create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/resources/bootstrap.yml create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/resources/logback.xml create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/fence/FenceMapper.xml create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/group/GroupMapper.xml create mode 100644 muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/vehicle/VehicleMapper.xml create mode 100644 muyu-vehicle/pom.xml diff --git a/muyu-auth/pom.xml b/muyu-auth/pom.xml index a8ddedc..0428c99 100644 --- a/muyu-auth/pom.xml +++ b/muyu-auth/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> com.muyu - muyu + muyu-server 3.6.3 4.0.0 @@ -46,11 +46,15 @@ spring-boot-starter-actuator - + com.muyu muyu-common-security + + com.muyu + muyu-common-core + @@ -78,5 +82,4 @@ - diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java index ff0af1a..def6cae 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java +++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java @@ -1,5 +1,4 @@ package com.muyu.auth.service; - import com.muyu.common.core.constant.CacheConstants; import com.muyu.common.core.constant.Constants; import com.muyu.common.core.constant.SecurityConstants; @@ -12,9 +11,9 @@ import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.ip.IpUtils; import com.muyu.common.redis.service.RedisService; import com.muyu.common.security.utils.SecurityUtils; -import com.muyu.common.system.remote.RemoteUserService; -import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.LoginUser; +import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.remote.RemoteUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysRecordLogService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysRecordLogService.java index 2d4de80..f96440a 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/service/SysRecordLogService.java +++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysRecordLogService.java @@ -1,11 +1,12 @@ package com.muyu.auth.service; + import com.muyu.common.core.constant.Constants; import com.muyu.common.core.constant.SecurityConstants; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.ip.IpUtils; -import com.muyu.common.system.remote.RemoteLogService; import com.muyu.common.system.domain.SysLogininfor; +import com.muyu.common.system.remote.RemoteLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml index b309a3d..89a7337 100644 --- a/muyu-auth/src/main/resources/bootstrap.yml +++ b/muyu-auth/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-business/muyu-data-plus/pom.xml b/muyu-business/muyu-data-plus/pom.xml new file mode 100644 index 0000000..71f155b --- /dev/null +++ b/muyu-business/muyu-data-plus/pom.xml @@ -0,0 +1,19 @@ + + + 4.0.0 + + com.muyu + muyu-business + 3.6.3 + + + muyu-data-plus + + + 17 + 17 + UTF-8 + + diff --git a/muyu-business/muyu-data-service/pom.xml b/muyu-business/muyu-data-service/pom.xml new file mode 100644 index 0000000..93f045c --- /dev/null +++ b/muyu-business/muyu-data-service/pom.xml @@ -0,0 +1,133 @@ + + + 4.0.0 + + com.muyu + muyu-business + 3.6.3 + + + muyu-data-service + + muyu-data-service运营中心 + + + 17 + 17 + UTF-8 + + + + com.github.yulichang + mybatis-plus-join + 1.2.4 + + + com.muyu + muyu-common-business + 3.6.3 + + + com.baomidou + mybatis-plus-boot-starter + 3.5.1 + + + + org.springframework.boot + spring-boot-starter-amqp + + + com.muyu + muyu-common-system + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + com.mysql + mysql-connector-j + + + + + com.muyu + muyu-common-datasource + + + + + com.muyu + muyu-common-datascope + + + + + com.muyu + muyu-common-log + + + + + com.muyu + muyu-common-swagger + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/Job/ManyJob.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/Job/ManyJob.java new file mode 100644 index 0000000..b9f5a96 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/Job/ManyJob.java @@ -0,0 +1,38 @@ +package com.muyu.business.Job; + + + +import com.muyu.business.service.impl.EntinfoServiceImpl; +import com.muyu.common.business.domain.Entinfo; +import com.muyu.common.redis.service.RedisService; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName ManyJob + * @Date 2024/06/06 18:32 + */ +@Component +@Log4j2 +public class ManyJob { + + @Autowired + private RedisService redisService; + + @Autowired + private EntinfoServiceImpl entinfoService; + + +// @Scheduled(cron = "*/10 * * * * *") // 每10分钟执行一次 + public void manyJob(){ + redisService.deleteObject("entinfo"); + List list = entinfoService.list(); + redisService.setCacheList("entinfo",list); + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/MuyuBusinessApplication.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/MuyuBusinessApplication.java new file mode 100644 index 0000000..ce0f24d --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/MuyuBusinessApplication.java @@ -0,0 +1,28 @@ +package com.muyu.business; + + +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import com.muyu.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableScheduling; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName muyuBusinessApplication + * @Date 2024/05/26 15:00 + */ +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication +@EnableScheduling +public class MuyuBusinessApplication { + public static void main (String[] args) { + SpringApplication.run(MuyuBusinessApplication.class, args); + } + +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ConfirmCallbackConfig.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ConfirmCallbackConfig.java new file mode 100644 index 0000000..356bce9 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ConfirmCallbackConfig.java @@ -0,0 +1,48 @@ +package com.muyu.business.config; + +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 消息发送确认配置 消息发送到交换机的确认 + */ +@Component +public class ConfirmCallbackConfig implements RabbitTemplate.ConfirmCallback { + + @Autowired + private RabbitTemplate rabbitTemplate; + + /** + * @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执 + * @PostConstruct bean 被初始化的时候执行的方法的注解 + * @PreDestory bean 被销毁的时候执行的方法的注解 + */ + @PostConstruct + public void init() { + rabbitTemplate.setConfirmCallback(this); + } + + /** + * 交换机不管是否收到消息的一个回调方法 + * + * @param correlationData 消息相关数据 + * @param ack 交换机是否收到消息 + * @param cause 失败原因 + */ + @Override + public void confirm(CorrelationData correlationData, boolean ack, String cause) { + if (ack) { + // 消息投递到 broker 的状态,true表示成功 + System.out.println("消息发送成功!"); + } else { + // 发送异常 + System.out.println("发送异常原因 = " + cause); + // TODO 可以将消息 内容 以及 失败的原因 记录到 日志表中 + } + } + +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitAdminConfig.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitAdminConfig.java new file mode 100644 index 0000000..43b66f9 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitAdminConfig.java @@ -0,0 +1,53 @@ +package com.muyu.business.config; + +import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * RabbitAdmin是RabbitMQ的一个Java客户端库,它提供了管理RabbitMQ资源的功能。它是通过与RabbitMQ服务器进行交互来执行管理操作的。 + */ +@Configuration +public class RabbitAdminConfig { + + @Value("${spring.rabbitmq.host}") + private String host; + @Value("${spring.rabbitmq.username}") + private String username; + @Value("${spring.rabbitmq.password}") + private String password; + @Value("${spring.rabbitmq.virtualhost}") + private String virtualhost; + + /** + * 构建 RabbitMQ的连接工厂 + * @return + */ + @Bean + public ConnectionFactory connectionFactory() { + CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); + connectionFactory.setAddresses(host); + connectionFactory.setUsername(username); + connectionFactory.setPassword(password); + connectionFactory.setVirtualHost(virtualhost); + // 配置发送确认回调时,次配置必须配置,否则即使在RabbitTemplate配置了ConfirmCallback也不会生效 + connectionFactory.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.CORRELATED); + connectionFactory.setPublisherReturns(true); + return connectionFactory; + } + + /** + * 自己初始化 RabbitAdmin + * @param connectionFactory + * @return + */ + @Bean + public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) { + RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); + rabbitAdmin.setAutoStartup(true); + return rabbitAdmin; + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitmqConfig.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitmqConfig.java new file mode 100644 index 0000000..4f82400 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/RabbitmqConfig.java @@ -0,0 +1,16 @@ +package com.muyu.business.config; + +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; +import org.springframework.amqp.support.converter.MessageConverter; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class RabbitmqConfig { + // 消息转换配置 + @Bean + public MessageConverter jsonMessageConverter() { + // 使用json序列化方式,进行消息转换 + return new Jackson2JsonMessageConverter(); + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ReturnCallbackConfig.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ReturnCallbackConfig.java new file mode 100644 index 0000000..e01b704 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/config/ReturnCallbackConfig.java @@ -0,0 +1,34 @@ +package com.muyu.business.config; + +import org.springframework.amqp.core.ReturnedMessage; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 消息发送到队列的确认 一旦消息发送到队列失败 则会执行 returnedMessage 方法 + */ +@Component +public class ReturnCallbackConfig implements RabbitTemplate.ReturnsCallback { + + @Autowired + private RabbitTemplate rabbitTemplate; + + @PostConstruct // @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执 + public void init() { + rabbitTemplate.setReturnsCallback(this); + } + + /** + * 消息发送到 队列失败 执行的 方法 + * @param returnedMessage the returned message and metadata. + */ + @Override + public void returnedMessage(ReturnedMessage returnedMessage) { + System.out.println("消息" + returnedMessage.getMessage().toString() + "被交换机" + returnedMessage.getExchange() + "回退!" + + "退回原因为:" + returnedMessage.getReplyText()); + // 回退了所有的信息,可做补偿机制 记录到 数据库 + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/BusinessController.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/BusinessController.java new file mode 100644 index 0000000..c9c0753 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/BusinessController.java @@ -0,0 +1,104 @@ +package com.muyu.business.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.muyu.business.domain.Business; +import com.muyu.business.service.IBusinessService; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +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.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 企业Controller + * + * @author muyu + * @date 2024-05-26 + */ +@RestController +@RequestMapping("/business") +public class BusinessController extends BaseController +{ + @Autowired + private IBusinessService businessService; + + /** + * 查询企业列表 + */ +// @RequiresPermissions("system:business:list") + @GetMapping("/list") + public Result> list(Business business) + { + startPage(); + List list = businessService.selectBusinessList(business); + return getDataTable(list); + } + + /** + * 导出企业列表 + */ +// @RequiresPermissions("system:business:export") + @Log(title = "企业", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Business business) + { + List list = businessService.selectBusinessList(business); + ExcelUtil util = new ExcelUtil(Business.class); + util.exportExcel(response, list, "企业数据"); + } + + /** + * 获取企业详细信息 + */ +// @RequiresPermissions("system:business:query") + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id) + { + return success(businessService.selectBusinessById(id)); + } + + /** + * 新增企业 + */ +// @RequiresPermissions("system:business:add") + @Log(title = "企业", businessType = BusinessType.INSERT) + @PostMapping + public Result add(@RequestBody Business business) + { + return toAjax(businessService.insertBusiness(business)); + } + + /** + * 修改企业 + */ +// @RequiresPermissions("system:business:edit") + @Log(title = "企业", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit(@RequestBody Business business) + { + return toAjax(businessService.updateBusiness(business)); + } + + /** + * 删除企业 + */ +// @RequiresPermissions("system:business:remove") + @Log(title = "企业", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Result remove(@PathVariable Long[] ids) + { + return toAjax(businessService.deleteBusinessByIds(ids)); + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/EntinfoController.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/EntinfoController.java new file mode 100644 index 0000000..621c6b7 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/EntinfoController.java @@ -0,0 +1,123 @@ +package com.muyu.business.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.muyu.business.domain.Cart; +import com.muyu.business.domain.CartVo; +import com.muyu.business.service.IEntinfoService; +import com.muyu.business.service.PlusService; +import com.muyu.common.business.domain.Entinfo; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +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.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 多数据源Controller + * + * @author muyu + * @date 2024-06-06 + */ +@RestController +@RequestMapping("/entinfo") +public class EntinfoController extends BaseController +{ + @Autowired + private IEntinfoService entinfoService; + + @Autowired + private PlusService plusService; + + @PostMapping("cartLiat") + public Result cartList(@RequestBody CartVo cartVo){ + List list = plusService.list(); + System.out.println(list); + return plusService.cartList(); + } + + /** + * 查询多数据源列表 + */ +// @RequiresPermissions("system:entinfo:list") + @GetMapping("/list") + public Result> list(Entinfo entinfo) + { + startPage(); + List list = entinfoService.selectEntinfoList(entinfo); + return getDataTable(list); + } + + @GetMapping("listAll") + public List listAll(){ + List list = entinfoService.list(); + return list; + } + + /** + * 导出多数据源列表 + */ +// @RequiresPermissions("system:entinfo:export") + @Log(title = "多数据源", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Entinfo entinfo) + { + List list = entinfoService.selectEntinfoList(entinfo); + ExcelUtil util = new ExcelUtil(Entinfo.class); + util.exportExcel(response, list, "多数据源数据"); + } + + /** + * 获取多数据源详细信息 + */ +// @RequiresPermissions("system:entinfo:query") + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id) + { + return success(entinfoService.selectEntinfoById(id)); + } + + /** + * 新增多数据源 + */ +// @RequiresPermissions("system:entinfo:add") + @Log(title = "多数据源", businessType = BusinessType.INSERT) + @PostMapping + public Result add(@RequestBody Entinfo entinfo) + { + return toAjax(entinfoService.insertEntinfo(entinfo)); + } + + /** + * 修改多数据源 + */ +// @RequiresPermissions("system:entinfo:edit") + @Log(title = "多数据源", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit(@RequestBody Entinfo entinfo) + { + return toAjax(entinfoService.updateEntinfo(entinfo)); + } + + /** + * 删除多数据源 + */ +// @RequiresPermissions("system:entinfo:remove") + @Log(title = "多数据源", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Result remove(@PathVariable Long[] ids) + { + return toAjax(entinfoService.deleteEntinfoByIds(ids)); + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/PlusController.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/PlusController.java new file mode 100644 index 0000000..123d55c --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/controller/PlusController.java @@ -0,0 +1,15 @@ +package com.muyu.business.controller; + + +import com.muyu.business.domain.Business; +import com.muyu.business.mapper.BusinessMapper; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName PlusController + * @Date 2024/06/09 15:28 + */ +public class PlusController{ +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/AuthRoleResp.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/AuthRoleResp.java new file mode 100644 index 0000000..54b7365 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/AuthRoleResp.java @@ -0,0 +1,33 @@ +package com.muyu.business.domain; + + +import com.muyu.common.system.domain.SysRole; +import com.muyu.common.system.domain.SysUser; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +/** + * @author xiaohuang + * @description: 授权角色返回结果集 + * @Date 2023-6-19 下午 02:50 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class AuthRoleResp { + + /** + * 用户信息 + */ + private SysUser user; + + /** + * 角色集合 + */ + private List roles; +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Business.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Business.java new file mode 100644 index 0000000..a1cf3bf --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Business.java @@ -0,0 +1,82 @@ +package com.muyu.business.domain; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 企业对象 business + * + * @author muyu + * @date 2024-05-26 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("business") +public class Business extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 企业主键 */ + @Excel(name = "企业主键") + @TableId( type = IdType.AUTO) + private Long id; + + /** 企业名称 */ + @Excel(name = "企业名称") + private String name; + + /** 企业法定代表人 */ + @Excel(name = "企业法定代表人") + private String businessPerson; + + /** 营业编码 */ + @Excel(name = "营业编码") + private String businessLincenseNumber; + + /** 企业创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "企业创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date businessCreateTime; + + /** 企业电话 */ + @Excel(name = "企业电话") + private String businessPhone; + + /** 企业邮箱 */ + @Excel(name = "企业邮箱") + private String businessEmail; + + /** 企业状态 */ + @Excel(name = "企业状态") + private String businessStates; + + /** 入驻车联网平台时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "入驻车联网平台时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date businessRegistrationDate; + + /** 服务等级0/1/2 */ + @Excel(name = "服务等级0/1/2") + private String serviceLevel; + + /** 认证等级0/1 */ + @Excel(name = "认证等级0/1") + private String authentication; + +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Cart.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Cart.java new file mode 100644 index 0000000..8b340e4 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Cart.java @@ -0,0 +1,35 @@ +package com.muyu.business.domain; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName Cart + * @Date 2024/06/09 15:40 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@TableName("cart") +public class Cart { + +// @TableId + private Long id; + +// @TableField(value = "name") + private String name; + +// @TableField(value = "type_id") + private Long typeId; +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/CartVo.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/CartVo.java new file mode 100644 index 0000000..1d600cd --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/CartVo.java @@ -0,0 +1,30 @@ +package com.muyu.business.domain; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.common.core.annotation.Excel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import java.util.Date; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName BusinessVo + * @Date 2024/06/09 15:34 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class CartVo { + private Long id; + private String name; + private String typeName; +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Type.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Type.java new file mode 100644 index 0000000..8cf8282 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/domain/Type.java @@ -0,0 +1,31 @@ +package com.muyu.business.domain; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName Type + * @Date 2024/06/09 15:40 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@TableName("type") +public class Type { + +// @TableId + private Long id; + +// @TableField(value = "type_name") + private String typeName; +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/feign/EntInfoFeign.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/feign/EntInfoFeign.java new file mode 100644 index 0000000..aa64cf5 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/feign/EntInfoFeign.java @@ -0,0 +1,22 @@ +package com.muyu.business.feign; + + + +import com.muyu.common.business.domain.Entinfo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName EntInfoFeign + * @Date 2024/06/07 17:25 + */ +@FeignClient(value = "muyu-business-service") +public interface EntInfoFeign { + @GetMapping("/entinfo/listAll") + public List listAll(); +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/BusinessMapper.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/BusinessMapper.java new file mode 100644 index 0000000..06ba63e --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/BusinessMapper.java @@ -0,0 +1,66 @@ +package com.muyu.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.business.domain.Business; +import com.muyu.common.core.domain.Result; +import com.muyu.common.system.domain.LoginUser; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企业Mapper接口 + * @date 2024-05-26 + */ +public interface BusinessMapper extends BaseMapper +{ + /** + * 查询企业 + * + * @param id 企业主键 + * @return 企业 + */ + public Business selectBusinessById(Long id); + + /** + * 查询企业列表 + * + * @param business 企业 + * @return 企业集合 + */ + public List selectBusinessList(Business business); + + /** + * 新增企业 + * + * @param business 企业 + * @return 结果 + */ + public int insertBusiness(Business business); + + /** + * 修改企业 + * + * @param business 企业 + * @return 结果 + */ + public int updateBusiness(Business business); + + /** + * 删除企业 + * + * @param id 企业主键 + * @return 结果 + */ + public int deleteBusinessById(Long id); + + /** + * 批量删除企业 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBusinessByIds(Long[] ids); + + Result info(@Param("userId") Long userId); +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/EntinfoMapper.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/EntinfoMapper.java new file mode 100644 index 0000000..1010b15 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/EntinfoMapper.java @@ -0,0 +1,65 @@ +package com.muyu.business.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.common.business.domain.Entinfo; + +/** + * 多数据源Mapper接口 + * + * @author muyu + * @date 2024-06-06 + */ +public interface EntinfoMapper extends BaseMapper +{ + /** + * 查询多数据源 + * + * @param id 多数据源主键 + * @return 多数据源 + */ + public Entinfo selectEntinfoById(Long id); + + /** + * 查询多数据源列表 + * + * @param entinfo 多数据源 + * @return 多数据源集合 + */ + public List selectEntinfoList(Entinfo entinfo); + + /** + * 新增多数据源 + * + * @param entinfo 多数据源 + * @return 结果 + */ + public int insertEntinfo(Entinfo entinfo); + + /** + * 修改多数据源 + * + * @param entinfo 多数据源 + * @return 结果 + */ + public int updateEntinfo(Entinfo entinfo); + + /** + * 删除多数据源 + * + * @param id 多数据源主键 + * @return 结果 + */ + public int deleteEntinfoById(Long id); + + /** + * 批量删除多数据源 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEntinfoByIds(Long[] ids); + + Entinfo selectEntinfo(Entinfo business); +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/PlusMapper.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/PlusMapper.java new file mode 100644 index 0000000..dcd1d08 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/PlusMapper.java @@ -0,0 +1,19 @@ +package com.muyu.business.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.yulichang.base.MPJBaseMapper; +import com.muyu.business.domain.Cart; +import com.muyu.business.domain.CartVo; +import org.apache.ibatis.annotations.Mapper; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName PlusMapper + * @Date 2024/06/09 15:33 + */ +@Mapper +public interface PlusMapper extends MPJBaseMapper { +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/TypeMapper.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/TypeMapper.java new file mode 100644 index 0000000..96bbcdc --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/mapper/TypeMapper.java @@ -0,0 +1,20 @@ +package com.muyu.business.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.yulichang.base.MPJBaseMapper; +import com.muyu.business.domain.Cart; +import com.muyu.business.domain.Type; +import org.apache.ibatis.annotations.Mapper; +import org.apache.poi.ss.formula.functions.T; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName PlusMapper + * @Date 2024/06/09 15:33 + */ +@Mapper +public interface TypeMapper extends BaseMapper { +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IBusinessService.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IBusinessService.java new file mode 100644 index 0000000..acd7739 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IBusinessService.java @@ -0,0 +1,63 @@ +package com.muyu.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.business.domain.Business; + +import java.util.List; + +/** + * 企业Service接口 + * + * @author muyu + * @date 2024-05-26 + */ +public interface IBusinessService extends IService +{ + /** + * 查询企业 + * + * @param id 企业主键 + * @return 企业 + */ + public Business selectBusinessById(Long id); + + /** + * 查询企业列表 + * + * @param business 企业 + * @return 企业集合 + */ + public List selectBusinessList(Business business); + + /** + * 新增企业 + * + * @param business 企业 + * @return 结果 + */ + public int insertBusiness(Business business); + + /** + * 修改企业 + * + * @param business 企业 + * @return 结果 + */ + public int updateBusiness(Business business); + + /** + * 批量删除企业 + * + * @param ids 需要删除的企业主键集合 + * @return 结果 + */ + public int deleteBusinessByIds(Long[] ids); + + /** + * 删除企业信息 + * + * @param id 企业主键 + * @return 结果 + */ + public int deleteBusinessById(Long id); +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IEntinfoService.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IEntinfoService.java new file mode 100644 index 0000000..1924191 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/IEntinfoService.java @@ -0,0 +1,65 @@ +package com.muyu.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.common.business.domain.Entinfo; + +import java.util.List; + +/** + * 多数据源Service接口 + * + * @author muyu + * @date 2024-06-06 + */ +public interface IEntinfoService extends IService +{ + /** + * 查询多数据源 + * + * @param id 多数据源主键 + * @return 多数据源 + */ + public Entinfo selectEntinfoById(Long id); + + /** + * 查询多数据源列表 + * + * @param entinfo 多数据源 + * @return 多数据源集合 + */ + public List selectEntinfoList(Entinfo entinfo); + + /** + * 新增多数据源 + * + * @param entinfo 多数据源 + * @return 结果 + */ + public int insertEntinfo(Entinfo entinfo); + + /** + * 修改多数据源 + * + * @param entinfo 多数据源 + * @return 结果 + */ + public int updateEntinfo(Entinfo entinfo); + + /** + * 批量删除多数据源 + * + * @param ids 需要删除的多数据源主键集合 + * @return 结果 + */ + public int deleteEntinfoByIds(Long[] ids); + + /** + * 删除多数据源信息 + * + * @param id 多数据源主键 + * @return 结果 + */ + public int deleteEntinfoById(Long id); + + Entinfo selectEntinfo(Entinfo business); +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/PlusService.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/PlusService.java new file mode 100644 index 0000000..088908e --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/PlusService.java @@ -0,0 +1,19 @@ +package com.muyu.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.yulichang.base.MPJBaseMapper; +import com.github.yulichang.base.MPJBaseService; +import com.muyu.business.domain.Cart; +import com.muyu.business.domain.CartVo; +import com.muyu.common.core.domain.Result; + +/** + * @ClassName PlusService + * @Description 描述 + * @Author xiaohuang + * @Date 2024/06/09 15:36 + */ +public interface PlusService extends IService { + Result cartList(); + +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/BusinessServiceImpl.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/BusinessServiceImpl.java new file mode 100644 index 0000000..895702d --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/BusinessServiceImpl.java @@ -0,0 +1,235 @@ +package com.muyu.business.service.impl; + + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import com.muyu.business.domain.Business; + +import com.muyu.business.mapper.BusinessMapper; +//import com.muyu.business.remote.factory.RemoteUserLoginFactory; +import com.muyu.business.service.IBusinessService; +import com.muyu.common.business.domain.Entinfo; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.DateUtils; +import com.muyu.common.redis.service.RedisService; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.system.domain.LoginUser; +import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.remote.RemoteUserService; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + +/** + * 企业Service业务层处理 + * + * @author muyu + * @date 2024-05-26 + */ +@Service +public class BusinessServiceImpl extends ServiceImpl + implements IBusinessService +{ + @Autowired + private BusinessMapper businessMapper; + + @Autowired + private RemoteUserService remoteUserService; + + @Autowired + private RedisService redisService; + + /** + * 查询企业 + * + * @param id 企业主键 + * @return 企业 + */ + @Override + public Business selectBusinessById(Long id) + { + return businessMapper.selectBusinessById(id); + } + + + /** + * 查询企业列表 + * + * @param business 企业 + * @return 企业 + */ + @Override + public List selectBusinessList(Business business) + { + LoginUser loginUser = SecurityUtils.getLoginUser(); + SysUser user = remoteUserService.selectByUserId(loginUser.getUserid()); + if (user.getUserType().equals("00")) { + return businessMapper.selectBusinessList(business); + } + business.setId(Long.valueOf(user.getUserType())); + return businessMapper.selectBusinessList(business); + } + + /** + * 新增企业 + * + * @param business 企业 + * @return 结果 + */ +// @Autowired +// private RemoteUserLoginFactory remoteUserLoginFactory; + @Override + public int insertBusiness(Business business) + { + business.setCreateTime(DateUtils.getNowDate()); + int i = businessMapper.insertBusiness(business); + System.out.println(business); + SysUser sysUser = SysUser.builder() + .userName(business.getName()) + .password("admin123") + .nickName(business.getName()) + .email(business.getBusinessEmail()) + .phonenumber(business.getBusinessPhone()) + .loginIp("111.229.102.61") + .roleId(Long.valueOf(101)) + .userType(String.valueOf(business.getId())) + .build(); + Result add = remoteUserService.add(sysUser); + return i; + } + + + /** + * 修改企业 + * + * @param business 企业 + * @return 结果 + */ + @Override + public int updateBusiness(Business business) + { + business.setUpdateTime(DateUtils.getNowDate()); + httpConnectMysql(business); + return businessMapper.updateBusiness(business); + } + @Autowired + private EntinfoServiceImpl entinfoService; + + /** + * 判断redis是否存在端口号 + * @param business + */ + public void httpConnectMysql(Business business){ + redisService.deleteObject("entinfo"); + List list = entinfoService.list(); + if(list.size()!=0){ + redisService.setCacheList("entinfo",list); + } + if (business.getBusinessStates().equals("2")) { + SysUser sysUser = remoteUserService.userById(business.getId()); + sysUser.setRoleId(Long.valueOf(2)); + remoteUserService.updateById(sysUser); + Entinfo build = Entinfo.builder() + .entCode("test_" + business.getId()) + .ip("175.24.138.82") + .port(Integer.valueOf(3306 + Integer.valueOf(String.valueOf(business.getId())))).build(); + Entinfo entinfo =entinfoService.selectEntinfo(build); + if (entinfo==null){ + extracted(business); + } + } + } + + @Autowired + private RabbitTemplate rabbitTemplate; + + + /** + * http URL 进行创建Mysql Docker + * @param business + */ + private void extracted(Business business) { + String postUrl="http://175.24.138.82:10006/webhook/%E6%9C%AA%E5%91%BD%E5%90%8D%E9%A1%B9%E7%9B%AE"; + HashMap hashMap = new HashMap<>(); + hashMap.put("businessId",business.getId()+ business.getName()); + hashMap.put("mysqlPort",String.valueOf(3306+ business.getId())); + String json = JSON.toJSONString(hashMap); + // 3.创建连接与设置连接参数 + URL urlObj = null; + try { + urlObj = new URL(postUrl); + HttpURLConnection httpConn = (HttpURLConnection) urlObj.openConnection(); + httpConn.setRequestMethod("POST"); + httpConn.setRequestProperty("Charset", "UTF-8"); + // POST请求且JSON数据,必须设置 + httpConn.setRequestProperty("Content-Type", "application/json"); + // 打开输出流,默认是false + httpConn.setDoOutput(true); +// // 打开输入流,默认是true,可省略 +// httpConn.setDoInput(true); + // 4.从HttpURLConnection获取输出流和写数据 + OutputStream oStream = httpConn.getOutputStream(); + oStream.write(json.getBytes()); + oStream.flush(); + // 5.发起http调用(getInputStream触发http请求) + if (httpConn.getResponseCode() != 200) { + throw new Exception("调用服务端异常."); + } + // 6.从HttpURLConnection获取输入流和读数据 + BufferedReader br = new BufferedReader( + new InputStreamReader(httpConn.getInputStream())); + String resultData = br.readLine(); + System.out.println("从服务端返回结果: " + resultData); + // 7.关闭HttpURLConnection连接 + httpConn.disconnect(); + } catch (Exception e) { + throw new RuntimeException(e); + } + + Entinfo build = Entinfo.builder() + .entCode("test_" + business.getId()) + .ip("175.24.138.82") + .port(Integer.valueOf(3306 + Integer.valueOf(String.valueOf(business.getId())))).build(); + entinfoService.insertEntinfo(build); + rabbitTemplate.convertAndSend("muyu-vehicle-exchange",JSON.toJSONString(build),message ->{ + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + //设置消息延迟时间为5秒 + message.getMessageProperties().setDelay(5000); + return message; + } ); + } + + /** + * 批量删除企业 + * + * @param ids 需要删除的企业主键 + * @return 结果 + */ + @Override + public int deleteBusinessByIds(Long[] ids) + { + return businessMapper.deleteBusinessByIds(ids); + } + + /** + * 删除企业信息 + * + * @param id 企业主键 + * @return 结果 + */ + @Override + public int deleteBusinessById(Long id) + { + return businessMapper.deleteBusinessById(id); + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/EntinfoServiceImpl.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/EntinfoServiceImpl.java new file mode 100644 index 0000000..53b9c7a --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/EntinfoServiceImpl.java @@ -0,0 +1,101 @@ +package com.muyu.business.service.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.business.mapper.EntinfoMapper; +import com.muyu.business.service.IEntinfoService; +import com.muyu.common.business.domain.Entinfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 多数据源Service业务层处理 + * + * @author muyu + * @date 2024-06-06 + */ +@Service +public class EntinfoServiceImpl extends ServiceImpl + implements IEntinfoService +{ + @Autowired + private EntinfoMapper entinfoMapper; + + /** + * 查询多数据源 + * + * @param id 多数据源主键 + * @return 多数据源 + */ + @Override + public Entinfo selectEntinfoById(Long id) + { + return entinfoMapper.selectEntinfoById(id); + } + + /** + * 查询多数据源列表 + * + * @param entinfo 多数据源 + * @return 多数据源 + */ + @Override + public List selectEntinfoList(Entinfo entinfo) + { + return entinfoMapper.selectEntinfoList(entinfo); + } + + /** + * 新增多数据源 + * + * @param entinfo 多数据源 + * @return 结果 + */ + @Override + public int insertEntinfo(Entinfo entinfo) + { + return entinfoMapper.insertEntinfo(entinfo); + } + + /** + * 修改多数据源 + * + * @param entinfo 多数据源 + * @return 结果 + */ + @Override + public int updateEntinfo(Entinfo entinfo) + { + return entinfoMapper.updateEntinfo(entinfo); + } + + /** + * 批量删除多数据源 + * + * @param ids 需要删除的多数据源主键 + * @return 结果 + */ + @Override + public int deleteEntinfoByIds(Long[] ids) + { + return entinfoMapper.deleteEntinfoByIds(ids); + } + + /** + * 删除多数据源信息 + * + * @param id 多数据源主键 + * @return 结果 + */ + @Override + public int deleteEntinfoById(Long id) + { + return entinfoMapper.deleteEntinfoById(id); + } + + @Override + public Entinfo selectEntinfo(Entinfo business) { + return entinfoMapper.selectEntinfo(business); + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/PlusServiceImpl.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/PlusServiceImpl.java new file mode 100644 index 0000000..fcd958f --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/service/impl/PlusServiceImpl.java @@ -0,0 +1,57 @@ +package com.muyu.business.service.impl; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.base.MPJBaseServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.muyu.business.domain.Cart; +import com.muyu.business.domain.CartVo; +import com.muyu.business.domain.Type; +import com.muyu.business.mapper.PlusMapper; +import com.muyu.business.mapper.TypeMapper; +import com.muyu.business.service.PlusService; +import com.muyu.common.core.domain.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName PlusServiceImpl + * @Date 2024/06/09 15:37 + */ +@Service +public class PlusServiceImpl extends MPJBaseServiceImpl implements PlusService { + + @Autowired + private PlusMapper plusMapper; + + @Autowired + private TypeMapper typeMapper; + + @Override + public Result cartList() { + MPJLambdaWrapper mpjLambdaWrapper = new MPJLambdaWrapper() + .selectAll( Cart.class) //查询主表所有的字段 + .select(Type::getTypeName) //查询类型名称 + .leftJoin(Type.class, Type::getId, Cart::getTypeId);//左连接查询,相当于 left join type on dept.id=user.dept_id + List cartList = plusMapper.selectJoinList(CartVo.class, mpjLambdaWrapper); + return Result.success(cartList); +// MPJLambdaWrapper mpjLambdaWrapper1 = new MPJLambdaWrapper<>(); +// MPJLambdaWrapper lambdaWrapper = mpjLambdaWrapper1.eq(Cart::getId, "1"); + + +// List list = this.list(); +// list.stream().forEach(cart -> { +// LambdaQueryWrapper typeLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// Type type = typeMapper.selectOne(typeLambdaQueryWrapper.eq(Type::getId, cart.getTypeId())); +// cart.setName(type.getTypeName()); +// }); +// System.out.println(list); +// return Result.success(list,cartList.toString()); + } +} diff --git a/muyu-business/muyu-data-service/src/main/java/com/muyu/business/text/DatabaseInitializer.java b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/text/DatabaseInitializer.java new file mode 100644 index 0000000..e56ef6c --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/java/com/muyu/business/text/DatabaseInitializer.java @@ -0,0 +1,60 @@ +package com.muyu.business.text; /** + * xioahuang + * + * @Description 描述 + * @ClassName text + * @Date 2024/05/29 10:31 + */ +import com.alibaba.fastjson.JSON; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.HashMap; + +public class DatabaseInitializer { + + public static void main(String[] args) { + String postUrl="http://122.51.111.225:10006/webhook/%E6%96%B0%E5%BB%BA%E4%BC%81%E4%B8%9A%E6%95%B0%E6%8D%AE%E6%BA%90"; + HashMap hashMap = new HashMap<>(); + hashMap.put("businessId",40+"jhghj"); + hashMap.put("mysqlPort",String.valueOf(3301)); + String json = JSON.toJSONString(hashMap); + // 3.创建连接与设置连接参数 + URL urlObj = null; + try { + urlObj = new URL(postUrl); + HttpURLConnection httpConn = (HttpURLConnection) urlObj.openConnection(); + httpConn.setRequestMethod("POST"); + httpConn.setRequestProperty("Charset", "UTF-8"); + // POST请求且JSON数据,必须设置 + httpConn.setRequestProperty("Content-Type", "application/json"); + // 打开输出流,默认是false + httpConn.setDoOutput(true); + // 打开输入流,默认是true,可省略 + httpConn.setDoInput(true); + // 4.从HttpURLConnection获取输出流和写数据 + OutputStream oStream = httpConn.getOutputStream(); + oStream.write(json.getBytes()); + oStream.flush(); + // 5.发起http调用(getInputStream触发http请求) + if (httpConn.getResponseCode() != 200) { + throw new Exception("调用服务端异常."); + } + // 6.从HttpURLConnection获取输入流和读数据 + BufferedReader br = new BufferedReader( + new InputStreamReader(httpConn.getInputStream())); + String resultData = br.readLine(); + System.out.println("从服务端返回结果: " + resultData); + // 7.关闭HttpURLConnection连接 + httpConn.disconnect(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} diff --git a/muyu-modules/muyu-file/src/main/resources/banner.txt b/muyu-business/muyu-data-service/src/main/resources/banner.txt similarity index 100% rename from muyu-modules/muyu-file/src/main/resources/banner.txt rename to muyu-business/muyu-data-service/src/main/resources/banner.txt diff --git a/muyu-business/muyu-data-service/src/main/resources/bootstrap.yml b/muyu-business/muyu-data-service/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..c03f210 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/resources/bootstrap.yml @@ -0,0 +1,42 @@ +# Tomcat +server: + port: 9211 +# Spring +spring: + rabbitmq: + username: guest + password: guest + virtualHost: / + port: 5672 + host: 175.24.138.82 + listener: + simple: + prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条 + publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) + publisher-returns: true #确认消息已发送到队列(Queue) + application: + # 应用名称 + name: muyu-business + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 175.24.138.82:8848 + # 命名空间 + + config: + # 配置中心地址 + server-addr: 175.24.138.82:8848 + # 命名空间 + + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +logging: + level: + com.muyu.business.mapper: DEBUG diff --git a/muyu-business/muyu-data-service/src/main/resources/logback.xml b/muyu-business/muyu-data-service/src/main/resources/logback.xml new file mode 100644 index 0000000..38a740b --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/muyu-business/muyu-data-service/src/main/resources/mapper/business/BusinessMapper.xml b/muyu-business/muyu-data-service/src/main/resources/mapper/business/BusinessMapper.xml new file mode 100644 index 0000000..fee71b6 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/resources/mapper/business/BusinessMapper.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select id, name, business_person, business_lincense_number, business_create_time, business_phone, business_email, business_states, business_registration_date, service_level, authentication, remark, create_by, create_time, update_by, update_time from business + + + + + + + + + insert into business + + name, + business_person, + business_lincense_number, + business_create_time, + business_phone, + business_email, + business_states, + business_registration_date, + service_level, + authentication, + remark, + create_by, + create_time, + update_by, + update_time, + + + #{name}, + #{businessPerson}, + #{businessLincenseNumber}, + #{businessCreateTime}, + #{businessPhone}, + #{businessEmail}, + #{businessStates}, + #{businessRegistrationDate}, + #{serviceLevel}, + #{authentication}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update business + + name = #{name}, + business_person = #{businessPerson}, + business_lincense_number = #{businessLincenseNumber}, + business_create_time = #{businessCreateTime}, + business_phone = #{businessPhone}, + business_email = #{businessEmail}, + business_states = #{businessStates}, + business_registration_date = #{businessRegistrationDate}, + service_level = #{serviceLevel}, + authentication = #{authentication}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from business where id = #{id} + + + + delete from business where id in + + #{id} + + + diff --git a/muyu-business/muyu-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml b/muyu-business/muyu-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml new file mode 100644 index 0000000..b7671e0 --- /dev/null +++ b/muyu-business/muyu-data-service/src/main/resources/mapper/entInfo/EntinfoMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + select ent_code, ip, port, id from entinfo + + + + + + + + + insert into entinfo + + ent_code, + ip, + port, + + + #{entCode}, + #{ip}, + #{port}, + + + + + update entinfo + + ent_code = #{entCode}, + ip = #{ip}, + port = #{port}, + + where id = #{id} + + + + delete from entinfo where id = #{id} + + + + delete from entinfo where id in + + #{id} + + + diff --git a/muyu-business/pom.xml b/muyu-business/pom.xml new file mode 100644 index 0000000..60795fb --- /dev/null +++ b/muyu-business/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + + com.muyu + muyu-server + 3.6.3 + + + muyu-business + pom + + muyu-data-plus + muyu-data-service + + + + 17 + 17 + UTF-8 + + + muyu-business系统模块 + + + diff --git a/muyu-cloud-datasource/muyu-datasource-service/pom.xml b/muyu-cloud-datasource/muyu-datasource-service/pom.xml new file mode 100644 index 0000000..5bd5c2b --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/pom.xml @@ -0,0 +1,117 @@ + + + 4.0.0 + + com.muyu + muyu-cloud-datasource + 3.6.3 + + + muyu-datasource-service + + + 17 + 17 + UTF-8 + + + + muyu-datasource-service多数据源配置 + + + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + + ${swagger.fox.version} + + + + + com.mysql + mysql-connector-j + + + + + com.muyu + muyu-common-datasource + + + + + com.muyu + muyu-common-datascope + + + + + com.muyu + muyu-common-log + + + + + com.muyu + muyu-common-swagger + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/ManyDataSource.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/ManyDataSource.java new file mode 100644 index 0000000..6b72931 --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/ManyDataSource.java @@ -0,0 +1,71 @@ +package com.muyu.datasource; + + +import com.muyu.datasource.config.factory.DruidDataSourceFactory; +import com.muyu.datasource.config.role.DynamicDataSource; +import com.muyu.datasource.domain.DataSourceInfo; +import com.muyu.datasource.domain.EntInfo; +import lombok.extern.log4j.Log4j2; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author DongZl + * @description: 数据源配置 + * @Date 2023-8-1 上午 11:05 + */ +@Log4j2 +@Configuration +public class ManyDataSource { + + + private List dataSourceInfoList(){ + List databaseNameList = new ArrayList<>(){{ + add(EntInfo.builder() + .entCode("test_1") + .ip("175.24.138.82") + .port(3306) + .build()); + add(EntInfo.builder() + .entCode("test_2") + .ip("122.51.111.225") + .port(6666) + .build()); + add(EntInfo.builder() + .entCode("test_3") + .ip("122.51.111.225") + .port(3333) + .build()); + }}; + return databaseNameList; + } + + + + @Bean + @Primary + public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) { + + //查企业 + Map dataSourceMap = new HashMap<>(); + dataSourceInfoList() + .stream() + .map(entInfo-> DataSourceInfo.hostAndPortBuild(entInfo.getEntCode(),entInfo.getIp(),entInfo.getPort())) + .forEach(dataSourceInfo -> { + dataSourceMap.put(dataSourceInfo.getKey(), druidDataSourceFactory.create(dataSourceInfo)); + }); + //设置动态数据源 + DynamicDataSource dynamicDataSource = new DynamicDataSource(); +// dynamicDataSource.setDefaultTargetDataSource(masterDataSource()); + dynamicDataSource.setTargetDataSources(dataSourceMap); + //将数据源信息备份在defineTargetDataSources中 + dynamicDataSource.setDefineTargetDataSources(dataSourceMap); + return dynamicDataSource; + } +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/MuYuDataSourceApplication.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/MuYuDataSourceApplication.java new file mode 100644 index 0000000..f66b3b9 --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/MuYuDataSourceApplication.java @@ -0,0 +1,27 @@ +package com.muyu.datasource; + + +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import com.muyu.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName ZhiLianDataSourceApplication + * @Date 2024/06/03 14:06 + */ +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication(exclude = {DynamicDataSourceAutoConfiguration.class, DataSourceAutoConfiguration.class }) +public class MuYuDataSourceApplication { + public static void main(String[] args) { + SpringApplication.run(MuYuDataSourceApplication.class, args); + } +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/DataSourceAsp.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/DataSourceAsp.java new file mode 100644 index 0000000..ae80760 --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/DataSourceAsp.java @@ -0,0 +1,43 @@ +package com.muyu.datasource.config; + +import com.muyu.common.security.utils.SecurityUtils; + +import com.muyu.datasource.config.holder.DynamicDataSourceHolder; +import org.aspectj.lang.annotation.After; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +/** + * @author DongZl + * @description: 数据源切面 + * @Date 2023-8-2 下午 08:26 + */ +@Aspect +@Component +public class DataSourceAsp { + + @Pointcut("execution(public * com.muyu.vehicle.controller.*Controller.*(..))") + public void pointcut () { + } + + + /** + * 的每一個方法執行之前 執行的處理 + */ + @Before("pointcut()") + public void beforeMethod() { + Long storeId = SecurityUtils.getLoginUser().getUserid(); + DynamicDataSourceHolder.setDynamicDataSourceKey("test_"+storeId); + } + /** + * 的每一個方法執行之后 執行的處理 + * 无论正常还是异常终了 + * 不能接受到返回值 + */ + @After("pointcut()") + public void afterMethod() { + DynamicDataSourceHolder.removeDynamicDataSourceKey(); + } +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/factory/DruidDataSourceFactory.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/factory/DruidDataSourceFactory.java new file mode 100644 index 0000000..846e535 --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/factory/DruidDataSourceFactory.java @@ -0,0 +1,44 @@ +package com.muyu.datasource.config.factory; + + +import com.alibaba.druid.pool.DruidDataSource; + +import com.muyu.datasource.domain.DataSourceInfo; +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Component; + +import java.sql.SQLException; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName DruidDataSourceFactory + * @Date 2024/06/04 14:47 + */ +@Log4j2 +@Component +public class DruidDataSourceFactory { + + + /** + * @Description: 根据传递的数据源信息测试数据库连接 + * @Author Dongzl + */ + public DruidDataSource create(DataSourceInfo dataSourceInfo) { + DruidDataSource druidDataSource = new DruidDataSource(); + druidDataSource.setUrl(dataSourceInfo.getUrl()); + druidDataSource.setUsername(dataSourceInfo.getUserName()); + druidDataSource.setPassword(dataSourceInfo.getPassword()); + druidDataSource.setBreakAfterAcquireFailure(true); + druidDataSource.setConnectionErrorRetryAttempts(0); + try { + druidDataSource.getConnection(2000); + log.info("{} -> 数据源连接成功", dataSourceInfo.getKey()); + return druidDataSource; + } catch (SQLException throwables) { + log.error("数据源 {} 连接失败,用户名:{},密码 {}",dataSourceInfo.getUrl(),dataSourceInfo.getUserName(),dataSourceInfo.getPassword()); + return null; + } + } +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/holder/DynamicDataSourceHolder.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/holder/DynamicDataSourceHolder.java new file mode 100644 index 0000000..3577aeb --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/holder/DynamicDataSourceHolder.java @@ -0,0 +1,43 @@ +package com.muyu.datasource.config.holder; + + +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.Assert; + +/** + * 数据源切换处理 + * + * @author Dongzl + */ +@Slf4j +public class DynamicDataSourceHolder { + /** + * 保存动态数据源名称 + */ + private static final ThreadLocal DYNAMIC_DATASOURCE_KEY = new ThreadLocal<>(); + + /** + * 设置/切换数据源,决定当前线程使用哪个数据源 + */ + public static void setDynamicDataSourceKey(String key){ + log.info("数据源切换为:{}",key); + DYNAMIC_DATASOURCE_KEY.set(key); + } + + /** + * 获取动态数据源名称,默认使用mater数据源 + */ + public static String getDynamicDataSourceKey(){ + String key = DYNAMIC_DATASOURCE_KEY.get(); + Assert.notNull(key, "请携带数据标识"); + return key; + } + + /** + * 移除当前数据源 + */ + public static void removeDynamicDataSourceKey(){ + log.info("移除数据源:{}",DYNAMIC_DATASOURCE_KEY.get()); + DYNAMIC_DATASOURCE_KEY.remove(); + } +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/role/DynamicDataSource.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/role/DynamicDataSource.java new file mode 100644 index 0000000..60762e6 --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/config/role/DynamicDataSource.java @@ -0,0 +1,36 @@ +package com.muyu.datasource.config.role; + + +import com.muyu.datasource.config.holder.DynamicDataSourceHolder; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; + +import java.util.Map; + +/** + * 动态数据源 + * 调用AddDefineDataSource组件的addDefineDynamicDataSource()方法,获取原来targetdatasources的map,并将新的数据源信息添加到map中,并替换targetdatasources中的map + * 切换数据源时可以使用@DataSource(value = "数据源名称"),或者DynamicDataSourceContextHolder.setContextKey("数据源名称") + * @author Dongzl + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class DynamicDataSource extends AbstractRoutingDataSource { + /** + * 备份所有数据源信息, 指针!! + */ + private Map defineTargetDataSources; + + /** + * 决定当前线程使用哪个数据源 + */ + @Override + protected Object determineCurrentLookupKey() { + return DynamicDataSourceHolder.getDynamicDataSourceKey(); + } +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/contents/DatasourceContent.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/contents/DatasourceContent.java new file mode 100644 index 0000000..8affaa8 --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/contents/DatasourceContent.java @@ -0,0 +1,15 @@ +package com.muyu.datasource.contents; + +/** + * @author DongZl + * @description: 数据源常量 + * @Date 2023-8-1 上午 11:02 + */ +public class DatasourceContent { + + public final static String DATASOURCE_URL = "jdbc:mysql://{}:{}/muyu-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; + + public final static String USER_NAME = "root"; + + public final static String PASSWORD = "root"; +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/domain/DataSourceInfo.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/domain/DataSourceInfo.java new file mode 100644 index 0000000..8bc998a --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/domain/DataSourceInfo.java @@ -0,0 +1,52 @@ +package com.muyu.datasource.domain; + + +import com.muyu.common.core.utils.StringUtils; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import static com.muyu.datasource.contents.DatasourceContent.*; + + +/** + * @author DongZl + * @description: 数据源实体类 + * @Date 2023-8-1 上午 11:15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DataSourceInfo { + + /** + * 键 + */ + private String key; + + /** + * 地址 + */ + private String url; + + /** + * 用户名 + */ + private String userName; + + /** + * 密码 + */ + private String password; + + public static DataSourceInfo hostAndPortBuild(String key,String host, Integer port){ + return DataSourceInfo.builder() + .key(key) + .url(StringUtils.format(DATASOURCE_URL, host,port)) + .password(PASSWORD) + .userName(USER_NAME) + .build(); + } +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/domain/EntInfo.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/domain/EntInfo.java new file mode 100644 index 0000000..9c39729 --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/domain/EntInfo.java @@ -0,0 +1,29 @@ +package com.muyu.datasource.domain; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName EntInfo + * @Date 2024/06/04 14:34 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class EntInfo { + private String entCode; + + //ip + private String ip; + + //端口 + private Integer port; + +} diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/util/DataSourceService.java b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/util/DataSourceService.java new file mode 100644 index 0000000..fcd31dd --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/java/com/muyu/datasource/util/DataSourceService.java @@ -0,0 +1,49 @@ +package com.muyu.datasource.util; + +import com.alibaba.druid.pool.DruidDataSource; + +import com.muyu.datasource.ManyDataSource; +import com.muyu.datasource.config.factory.DruidDataSourceFactory; +import com.muyu.datasource.config.role.DynamicDataSource; +import com.muyu.datasource.domain.DataSourceInfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Map; + +/** + * @Description: 数据源工具类 + * @Author Dongzl + * @Date 2022/8/18 17:20 + * + */ +@Slf4j +@Component +public class DataSourceService { + + @Autowired + private ManyDataSource druidConfig; + + @Autowired + private DruidDataSourceFactory druidDataSourceFactory; + + @Resource + private DynamicDataSource dynamicDataSource; + + public void addDataSource(DataSourceInfo dataSourceInfo){ + addDefineDynamicDataSource(druidDataSourceFactory.create(dataSourceInfo), dataSourceInfo.getKey()); + } + + /** + * @Description: 将新增的数据源加入到备份数据源map中 + * @Author Dongzl + */ + public void addDefineDynamicDataSource(DruidDataSource druidDataSource, String dataSourceName){ + Map defineTargetDataSources = dynamicDataSource.getDefineTargetDataSources(); + defineTargetDataSources.put(dataSourceName, druidDataSource); + dynamicDataSource.setTargetDataSources(defineTargetDataSources); + dynamicDataSource.afterPropertiesSet(); + } +} diff --git a/muyu-modules/muyu-gen/src/main/resources/banner.txt b/muyu-cloud-datasource/muyu-datasource-service/src/main/resources/banner.txt similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/banner.txt rename to muyu-cloud-datasource/muyu-datasource-service/src/main/resources/banner.txt diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/resources/bootstrap.yml b/muyu-cloud-datasource/muyu-datasource-service/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..ee61e0d --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/resources/bootstrap.yml @@ -0,0 +1,32 @@ +# Tomcat +server: + port: 9206 + +# Spring +spring: + application: + # 应用名称 + name: muyu-datasource + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: muyu + config: + # 配置中心地址 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: muyu + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +#logging: +# level: +# com.muyu.system.mapper: DEBUG diff --git a/muyu-cloud-datasource/muyu-datasource-service/src/main/resources/logback.xml b/muyu-cloud-datasource/muyu-datasource-service/src/main/resources/logback.xml new file mode 100644 index 0000000..3b1dec7 --- /dev/null +++ b/muyu-cloud-datasource/muyu-datasource-service/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/muyu-cloud-datasource/pom.xml b/muyu-cloud-datasource/pom.xml new file mode 100644 index 0000000..f162a41 --- /dev/null +++ b/muyu-cloud-datasource/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + com.muyu + muyu-server + 3.6.3 + + + muyu-cloud-datasource + pom + + + muyu-datasource-service + + + + 17 + 17 + UTF-8 + + + + diff --git a/muyu-common/muyu-common-business/pom.xml b/muyu-common/muyu-common-business/pom.xml new file mode 100644 index 0000000..9425c9f --- /dev/null +++ b/muyu-common/muyu-common-business/pom.xml @@ -0,0 +1,34 @@ + + + 4.0.0 + + com.muyu + muyu-server + 3.6.3 + ../../pom.xml + + + muyu-common-business + + + 17 + 17 + UTF-8 + + + + + + com.muyu + muyu-common-core + + + org.bouncycastle + bcutil-jdk15on + 1.69 + + + + diff --git a/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/domain/Entinfo.java b/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/domain/Entinfo.java new file mode 100644 index 0000000..0760d9b --- /dev/null +++ b/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/domain/Entinfo.java @@ -0,0 +1,46 @@ +package com.muyu.common.business.domain; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + + +/** + * 多数据源对象 entinfo + * + * @author muyu + * @date 2024-06-06 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("entinfo") +public class Entinfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 数据源key */ + @Excel(name = "数据源key") + private String entCode; + + /** 数据源ip */ + @Excel(name = "数据源ip") + private String ip; + + /** 数据源端口 */ + @Excel(name = "数据源端口") + private Integer port; + + /** 数据源ID */ + private Long id; + + +} diff --git a/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/remote/RemoteBusinessService.java b/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/remote/RemoteBusinessService.java new file mode 100644 index 0000000..3e54b5a --- /dev/null +++ b/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/remote/RemoteBusinessService.java @@ -0,0 +1,22 @@ +package com.muyu.common.business.remote; + +import com.muyu.common.business.domain.Entinfo; +import com.muyu.common.business.remote.factory.RemoteBusinessFallbackFactory; +import com.muyu.common.core.constant.ServiceNameConstants; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + +/** + * 用户服务 + * + * @author muyu + */ +@FeignClient(contextId = "remoteBusinessService", value = ServiceNameConstants.SYSTEM_BUSINESS, fallbackFactory = RemoteBusinessFallbackFactory.class) +public interface RemoteBusinessService { + + + @GetMapping("/entinfo/listAll") + public List listAll(); +} diff --git a/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/remote/factory/RemoteBusinessFallbackFactory.java b/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/remote/factory/RemoteBusinessFallbackFactory.java new file mode 100644 index 0000000..5108036 --- /dev/null +++ b/muyu-common/muyu-common-business/src/main/java/com/muyu/common/business/remote/factory/RemoteBusinessFallbackFactory.java @@ -0,0 +1,33 @@ +package com.muyu.common.business.remote.factory; + +import com.muyu.common.business.domain.Entinfo; +import com.muyu.common.business.remote.RemoteBusinessService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 用户服务降级处理 + * + * @author muyu + */ +@Component +public class RemoteBusinessFallbackFactory implements FallbackFactory { + private static final Logger log = LoggerFactory.getLogger(RemoteBusinessFallbackFactory.class); + + @Override + public RemoteBusinessService create (Throwable throwable) { + log.error("用户服务调用失败:{}", throwable.getMessage()); + return new RemoteBusinessService(){ + + + @Override + public List listAll() { + return null; + } + }; + } +} diff --git a/muyu-common/muyu-common-business/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-common/muyu-common-business/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..df8e1ad --- /dev/null +++ b/muyu-common/muyu-common-business/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.common.business.remote.factory.RemoteBusinessFallbackFactory diff --git a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java index 25c918e..b167637 100644 --- a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java +++ b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java @@ -15,6 +15,7 @@ public class ServiceNameConstants { * 系统模块的serviceid */ public static final String SYSTEM_SERVICE = "muyu-system"; + public static final String SYSTEM_BUSINESS = "muyu-business"; /** * 文件服务的serviceid diff --git a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/utils/ip/IpUtils.java b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/utils/ip/IpUtils.java index f7ad9bf..c365eaa 100644 --- a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/utils/ip/IpUtils.java +++ b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/utils/ip/IpUtils.java @@ -58,7 +58,7 @@ public class IpUtils { ip = request.getRemoteAddr(); } - return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip); + return "0:0:0:0:0:0:0:1".equals(ip) ? "111.229.102.61" : getMultistageReverseProxyIp(ip); } /** @@ -70,7 +70,7 @@ public class IpUtils { */ public static boolean internalIp (String ip) { byte[] addr = textToNumericFormatV4(ip); - return internalIp(addr) || "127.0.0.1".equals(ip); + return internalIp(addr) || "111.229.102.61".equals(ip); } /** @@ -197,7 +197,7 @@ public class IpUtils { return InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { } - return "127.0.0.1"; + return "111.229.102.61"; } /** diff --git a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java index add8e3e..72ffc57 100644 --- a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java +++ b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java @@ -26,12 +26,12 @@ import java.util.Map; public class BaseEntity implements Serializable { private static final long serialVersionUID = 1L; - /** - * 搜索值 - */ - @JsonIgnore - @TableField(exist = false) - private String searchValue; +// /** +// * 搜索值 +// */ +// @JsonIgnore +// @TableField(exist = false) +// private String searchValue; /** * 创建者 diff --git a/muyu-common/muyu-common-datascope/pom.xml b/muyu-common/muyu-common-datascope/pom.xml index 079f752..da61421 100644 --- a/muyu-common/muyu-common-datascope/pom.xml +++ b/muyu-common/muyu-common-datascope/pom.xml @@ -17,7 +17,7 @@ - + com.muyu muyu-common-security diff --git a/muyu-common/muyu-common-datascope/src/main/java/com/muyu/common/datascope/annotation/DataScope.java b/muyu-common/muyu-common-datascope/src/main/java/com/muyu/common/datascope/annotation/DataScope.java index 498f06b..6e21a3d 100644 --- a/muyu-common/muyu-common-datascope/src/main/java/com/muyu/common/datascope/annotation/DataScope.java +++ b/muyu-common/muyu-common-datascope/src/main/java/com/muyu/common/datascope/annotation/DataScope.java @@ -11,6 +11,7 @@ import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @Documented public @interface DataScope { + /** * 部门表的别名 */ diff --git a/muyu-common/muyu-common-log/pom.xml b/muyu-common/muyu-common-log/pom.xml index 3bf544e..83a3c0b 100644 --- a/muyu-common/muyu-common-log/pom.xml +++ b/muyu-common/muyu-common-log/pom.xml @@ -17,7 +17,7 @@ - + com.muyu muyu-common-security diff --git a/muyu-common/muyu-common-redis/pom.xml b/muyu-common/muyu-common-redis/pom.xml index 912bc01..4ef0a75 100644 --- a/muyu-common/muyu-common-redis/pom.xml +++ b/muyu-common/muyu-common-redis/pom.xml @@ -23,7 +23,7 @@ spring-boot-starter-data-redis - + com.muyu muyu-common-core diff --git a/muyu-common/muyu-common-security/pom.xml b/muyu-common/muyu-common-security/pom.xml index 6bb80d3..0a22b59 100644 --- a/muyu-common/muyu-common-security/pom.xml +++ b/muyu-common/muyu-common-security/pom.xml @@ -22,13 +22,13 @@ spring-webmvc - + com.muyu muyu-common-redis - + com.muyu muyu-common-system diff --git a/muyu-common/muyu-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-common/muyu-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index b15b749..4f7ebab 100644 --- a/muyu-common/muyu-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/muyu-common/muyu-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,3 @@ -# com.muyu.common.swagger.config.SwaggerAutoConfiguration -# com.muyu.common.swagger.config.SwaggerWebConfiguration -# com.muyu.common.swagger.config.SwaggerBeanPostProcessor +# config.swagger.com.muyu.common.SwaggerAutoConfiguration +# config.swagger.com.muyu.common.SwaggerWebConfiguration +# config.swagger.com.muyu.common.SwaggerBeanPostProcessor diff --git a/muyu-common/muyu-common-system/pom.xml b/muyu-common/muyu-common-system/pom.xml index 62fdc74..5ef184b 100644 --- a/muyu-common/muyu-common-system/pom.xml +++ b/muyu-common/muyu-common-system/pom.xml @@ -18,7 +18,7 @@ - + com.muyu muyu-common-core diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java index 6be7436..01454b3 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java @@ -85,6 +85,11 @@ public class SysUser extends BaseEntity { */ private String password; + /** + * 用户类型(00系统用户) + */ + private String userType; + /** * 帐号状态(0正常 1停用) */ @@ -323,6 +328,7 @@ public class SysUser extends BaseEntity { .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("dept", getDept()) + .append("userType",userType) .toString(); } } diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java index 96dd181..4d229bc 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java @@ -6,6 +6,8 @@ import com.muyu.common.system.domain.SysFile; import com.muyu.common.system.remote.factory.RemoteFileFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.multipart.MultipartFile; @@ -26,4 +28,10 @@ public interface RemoteFileService { */ @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public Result upload (@RequestPart(value = "file") MultipartFile file); + + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id); + + + } diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index cb968e0..a191a80 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -6,7 +6,9 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory; import com.muyu.common.system.domain.LoginUser; +import lombok.extern.java.Log; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** @@ -26,7 +28,6 @@ public interface RemoteUserService { */ @GetMapping("/user/info/{username}") public Result getUserInfo (@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); - /** * 注册用户信息 * @@ -37,4 +38,21 @@ public interface RemoteUserService { */ @PostMapping("/user/register") public Result registerUserInfo (@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @PostMapping("/user") + public Result add (@Validated @RequestBody SysUser user); + + @GetMapping("/user/info/{username}") + public Result info (@PathVariable("username") String username); + + @GetMapping("/user/authRole/{userId}") + public Result authRole (@PathVariable("userId") Long userId); + + @GetMapping("/user/selectByUserId/{userId}") + public SysUser selectByUserId (@PathVariable("userId") Long userId); + + @GetMapping("/user/userById/{userId}") + public SysUser userById (@PathVariable("userId") Long UserType); + @PostMapping("/user/updateById") + public Result updateById (@RequestBody SysUser user); } diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.java index 395f74f..dcb8830 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.java @@ -26,6 +26,13 @@ public class RemoteFileFallbackFactory implements FallbackFactory upload (MultipartFile file) { return Result.error("上传文件失败:" + throwable.getMessage()); } + + @Override + public Result getInfo(Long id) { + return Result.error("获取失败:" + throwable.getMessage()); + } + + }; } } diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java index b7f4d60..c46ce5f 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java @@ -31,6 +31,36 @@ public class RemoteUserFallbackFactory implements FallbackFactory registerUserInfo (SysUser sysUser, String source) { return Result.error("注册用户失败:" + throwable.getMessage()); } + @Override + public Result add(SysUser user) { + return Result.error("注册用户失败:" + throwable.getMessage()); + } + + @Override + public Result info(String username) { + return Result.error("注册用户失败:" + throwable.getMessage()); + } + + @Override + public Result authRole(Long userId) { + return Result.error("注册用户失败:" + throwable.getMessage()); + } + + @Override + public SysUser selectByUserId(Long userId) { + return null; + } + + @Override + public SysUser userById(Long userType) { + return null; + } + + @Override + public Result updateById(SysUser user) { + return null; + } + }; } } diff --git a/muyu-common/pom.xml b/muyu-common/pom.xml index 5b58e93..56aafd6 100644 --- a/muyu-common/pom.xml +++ b/muyu-common/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> com.muyu - muyu + muyu-server 3.6.3 4.0.0 @@ -18,6 +18,7 @@ muyu-common-datascope muyu-common-datasource muyu-common-system + muyu-common-business muyu-common diff --git a/muyu-gateway/pom.xml b/muyu-gateway/pom.xml index 2d3ed58..6758569 100644 --- a/muyu-gateway/pom.xml +++ b/muyu-gateway/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> com.muyu - muyu + muyu-server 3.6.3 4.0.0 @@ -70,7 +70,7 @@ kaptcha - + com.muyu muyu-common-redis @@ -88,6 +88,11 @@ ${swagger.fox.version} + + com.muyu + muyu-common-core + + diff --git a/muyu-gateway/src/main/java/com/muyu/gateway/service/ValidateCodeService.java b/muyu-gateway/src/main/java/com/muyu/gateway/service/ValidateCodeService.java index 25ed94e..b8bbf74 100644 --- a/muyu-gateway/src/main/java/com/muyu/gateway/service/ValidateCodeService.java +++ b/muyu-gateway/src/main/java/com/muyu/gateway/service/ValidateCodeService.java @@ -14,10 +14,10 @@ public interface ValidateCodeService { /** * 生成验证码 */ - public Result createCaptcha () throws IOException, CaptchaException; + public Result createCaptcha() throws IOException, CaptchaException; /** * 校验验证码 */ - public void checkCaptcha (String key, String value) throws CaptchaException; + public void checkCaptcha(String key, String value) throws CaptchaException; } diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index d7367b4..1bd13a5 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 # 配置文件格式 file-extension: yml # 共享配置 @@ -28,12 +28,12 @@ spring: eager: true transport: # 控制台地址 - dashboard: 127.0.0.1:8718 + dashboard: 175.24.138.82:8718 # nacos配置持久化 datasource: ds1: nacos: - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 dataId: sentinel-muyu-gateway groupId: DEFAULT_GROUP data-type: json diff --git a/muyu-iotdb/pom.xml b/muyu-iotdb/pom.xml new file mode 100644 index 0000000..a073fe5 --- /dev/null +++ b/muyu-iotdb/pom.xml @@ -0,0 +1,75 @@ + + + 4.0.0 + + com.muyu + muyu-server + 3.6.3 + + + muyu-iotdb + + + 17 + 17 + UTF-8 + + + + org.apache.iotdb + iotdb-session + 0.14.0-preview1 + + + + cn.hutool + hutool-all + 5.6.3 + + + + com.alibaba + fastjson + 1.2.83 + + + + com.muyu + muyu-common-core + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.kafka + spring-kafka + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.vintage + junit-vintage-engine + + + + + + + diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/MuyuIotdbApplication.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/MuyuIotdbApplication.java new file mode 100644 index 0000000..1107558 --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/MuyuIotdbApplication.java @@ -0,0 +1,19 @@ +package com.muyu.iotdb; + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName MuyuIotdbApplication + * @Date 2024/05/21 17:01 + */ +@SpringBootApplication +public class MuyuIotdbApplication { + public static void main(String[] args) { + SpringApplication.run(MuyuIotdbApplication.class); + } +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/config/IotDBSessionConfig.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/IotDBSessionConfig.java new file mode 100644 index 0000000..7aabdaf --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/IotDBSessionConfig.java @@ -0,0 +1,187 @@ +package com.muyu.iotdb.config; + +import lombok.extern.log4j.Log4j2; +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.rpc.StatementExecutionException; +import org.apache.iotdb.session.Session; +import org.apache.iotdb.session.SessionDataSet; +import org.apache.iotdb.session.util.Version; +import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; +import org.apache.iotdb.tsfile.write.record.Tablet; +import org.apache.iotdb.tsfile.write.schema.MeasurementSchema; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; + +import java.rmi.ServerException; +import java.util.ArrayList; +import java.util.List; + + +/** + * description: iotdb 配置工具类(常用部分,如需要可以自行扩展) + * 注意:可以不需要创建分组,插入时默认前两个节点名称为分组名称 比如: root.a1eaKSRpRty.CA3013A303A25467 或者 + * root.a1eaKSRpRty.CA3013A303A25467.heart 他们的分组都为 root.a1eaKSRpRty + * author: zhouhong + */ +@Log4j2 +@Component +@Configuration +public class IotDBSessionConfig { + + private static Session session; + private static final String LOCAL_HOST = "175.24.138.82"; + @Bean + public Session getSession() throws IoTDBConnectionException, StatementExecutionException { + if (session == null) { + log.info("正在连接iotdb......."); + session = new Session.Builder().host(LOCAL_HOST).port(6667).username("root").password("root").version(Version.V_0_13).build(); + session.open(false); + session.setFetchSize(100); + log.info("iotdb连接成功~"); + // 设置时区 + session.setTimeZone("+08:00"); + } + return session; + } + + /** + * description: 带有数据类型的添加操作 - insertRecord没有指定类型 + * author: zhouhong + * @param * @param deviceId:节点路径如:root.a1eaKSRpRty.CA3013A303A25467 + * time:时间戳 + * measurementsList:物理量 即:属性 + * type:数据类型: BOOLEAN((byte)0), INT32((byte)1),INT64((byte)2),FLOAT((byte)3),DOUBLE((byte)4),TEXT((byte)5),VECTOR((byte)6); + * valuesList:属性值 --- 属性必须与属性值一一对应 + * @return + */ + public void insertRecordType(String deviceId, Long time,List measurementsList, TSDataType type,List valuesList) throws StatementExecutionException, IoTDBConnectionException, ServerException { + if (measurementsList.size() != valuesList.size()) { + throw new ServerException("measurementsList 与 valuesList 值不对应"); + } + List types = new ArrayList<>(); + measurementsList.forEach(item -> { + types.add(type); + }); + session.insertRecord(deviceId, time, measurementsList, types, valuesList); + } + /** + * description: 带有数据类型的添加操作 - insertRecord没有指定类型 + * author: zhouhong + * @param deviceId:节点路径如:root.a1eaKSRpRty.CA3013A303A25467 + * @param time:时间戳 + * @param measurementsList:物理量 即:属性 + * @param valuesList:属性值 --- 属性必须与属性值一一对应 + * @return + */ + public void insertRecord(String deviceId, Long time,List measurementsList, List valuesList) throws StatementExecutionException, IoTDBConnectionException, ServerException { + if (measurementsList.size() == valuesList.size()) { + session.insertRecord(deviceId, time, measurementsList, valuesList); + } else { + log.error("measurementsList 与 valuesList 值不对应"); + } + } + /** + * description: 批量插入 + * author: zhouhong + */ + public void insertRecords(List deviceIdList, List timeList, List> measurementsList, List> valuesList) throws StatementExecutionException, IoTDBConnectionException, ServerException { + if (measurementsList.size() == valuesList.size()) { + session.insertRecords(deviceIdList, timeList, measurementsList, valuesList); + } else { + log.error("measurementsList 与 valuesList 值不对应"); + } + } + + /** + * description: 插入操作 + * author: zhouhong + * @param deviceId:节点路径如:root.a1eaKSRpRty.CA3013A303A25467 + * @param time:时间戳 + * @param schemaList: 属性值 + 数据类型 例子: List schemaList = new ArrayList<>(); schemaList.add(new MeasurementSchema("breath", TSDataType.INT64)); + * @param maxRowNumber: + * @return + */ + public void insertTablet(String deviceId, Long time,List schemaList, List valueList,int maxRowNumber) throws StatementExecutionException, IoTDBConnectionException { + + Tablet tablet = new Tablet(deviceId, schemaList, maxRowNumber); + // 向iotdb里面添加数据 + int rowIndex = tablet.rowSize++; + tablet.addTimestamp(rowIndex, time); + for (int i = 0; i < valueList.size(); i++) { + tablet.addValue(schemaList.get(i).getMeasurementId(), rowIndex, valueList.get(i)); + } + if (tablet.rowSize == tablet.getMaxRowNumber()) { + session.insertTablet(tablet, true); + tablet.reset(); + } + if (tablet.rowSize != 0) { + session.insertTablet(tablet); + tablet.reset(); + } + } + + /** + * description: 根据SQL查询 + * author: zhouhong + */ + public SessionDataSet query(String sql) throws StatementExecutionException, IoTDBConnectionException { + return session.executeQueryStatement(sql); + } + + /** + * description: 删除分组 如 root.a1eaKSRpRty + * author: zhouhong + * @param groupName:分组名称 + * @return + */ + public void deleteStorageGroup(String groupName) throws StatementExecutionException, IoTDBConnectionException { + session.deleteStorageGroup(groupName); + } + + /** + * description: 根据Timeseries删除 如:root.a1eaKSRpRty.CA3013A303A25467.breath (个人理解:为具体的物理量) + * author: zhouhong + */ + public void deleteTimeseries(String timeseries) throws StatementExecutionException, IoTDBConnectionException { + session.deleteTimeseries(timeseries); + } + /** + * description: 根据Timeseries批量删除 + * author: zhouhong + */ + public void deleteTimeserieList(List timeseriesList) throws StatementExecutionException, IoTDBConnectionException { + session.deleteTimeseries(timeseriesList); + } + + /** + * description: 根据分组批量删除 + * author: zhouhong + */ + public void deleteStorageGroupList(List storageGroupList) throws StatementExecutionException, IoTDBConnectionException { + session.deleteStorageGroups(storageGroupList); + } + + /** + * description: 根据路径和结束时间删除 结束时间之前的所有数据 + * author: zhouhong + */ + public void deleteDataByPathAndEndTime(String path, Long endTime) throws StatementExecutionException, IoTDBConnectionException { + session.deleteData(path, endTime); + } + /** + * description: 根据路径集合和结束时间批量删除 结束时间之前的所有数据 + * author: zhouhong + */ + public void deleteDataByPathListAndEndTime(List pathList, Long endTime) throws StatementExecutionException, IoTDBConnectionException { + session.deleteData(pathList, endTime); + } + /** + * description: 根据路径集合和时间段批量删除 + * author: zhouhong + */ + public void deleteDataByPathListAndTime(List pathList, Long startTime,Long endTime) throws StatementExecutionException, IoTDBConnectionException { + session.deleteData(pathList, startTime, endTime); + } + +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaConsumerConfig.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaConsumerConfig.java new file mode 100644 index 0000000..d87932f --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaConsumerConfig.java @@ -0,0 +1,108 @@ +package com.muyu.iotdb.config; + +import org.apache.kafka.clients.consumer.ConsumerConfig; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.SpringBootConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; +import org.springframework.kafka.config.KafkaListenerContainerFactory; +import org.springframework.kafka.core.ConsumerFactory; +import org.springframework.kafka.core.DefaultKafkaConsumerFactory; +import org.springframework.kafka.listener.ConcurrentMessageListenerContainer; +import org.springframework.kafka.listener.ContainerProperties; +import org.springframework.kafka.support.serializer.JsonDeserializer; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author 徐一杰 + * @date 2022/10/31 18:05 + * kafka配置,也可以写在yml,这个文件会覆盖yml + */ +@SpringBootConfiguration +public class KafkaConsumerConfig { + + @Value("${spring.kafka.consumer.bootstrap-servers}") + private String bootstrapServers; + + @Value("${spring.kafka.consumer.group-id}") + private String groupId; + + @Value("${spring.kafka.consumer.enable-auto-commit}") + private boolean enableAutoCommit; + + @Value("${spring.kafka.properties.session.timeout.ms}") + private String sessionTimeout; + + @Value("${spring.kafka.properties.max.poll.interval.ms}") + private String maxPollIntervalTime; + + @Value("${spring.kafka.consumer.max-poll-records}") + private String maxPollRecords; + @Value("${spring.kafka.consumer.auto-offset-reset}") + private String autoOffsetReset; + @Value("${spring.kafka.listener.concurrency}") + private Integer concurrency; + @Value("${spring.kafka.listener.missing-topics-fatal}") + private boolean missingTopicsFatal; + @Value("${spring.kafka.listener.poll-timeout}") + private long pollTimeout; + + @Bean + public Map consumerConfigs() { + + Map propsMap = new HashMap<>(16); + propsMap.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + propsMap.put(ConsumerConfig.GROUP_ID_CONFIG, groupId); + //是否自动提交偏移量,默认值是true,为了避免出现重复数据和数据丢失,可以把它设置为false,然后手动提交偏移量 + propsMap.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, enableAutoCommit); + //自动提交的时间间隔,自动提交开启时生效 + propsMap.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "2000"); + //该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下该作何处理: + //earliest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费分区的记录 + //latest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据(在消费者启动之后生成的记录) + //none:当各分区都存在已提交的offset时,从提交的offset开始消费;只要有一个分区不存在已提交的offset,则抛出异常 + propsMap.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, autoOffsetReset); + //两次poll之间的最大间隔,默认值为5分钟。如果超过这个间隔会触发reBalance + propsMap.put(ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, maxPollIntervalTime); + //这个参数定义了poll方法最多可以拉取多少条消息,默认值为500。如果在拉取消息的时候新消息不足500条,那有多少返回多少;如果超过500条,每次只返回500。 + //这个默认值在有些场景下太大,有些场景很难保证能够在5min内处理完500条消息, + //如果消费者无法在5分钟内处理完500条消息的话就会触发reBalance, + //然后这批消息会被分配到另一个消费者中,还是会处理不完,这样这批消息就永远也处理不完。 + //要避免出现上述问题,提前评估好处理一条消息最长需要多少时间,然后覆盖默认的max.poll.records参数 + //注:需要开启BatchListener批量监听才会生效,如果不开启BatchListener则不会出现reBalance情况 + propsMap.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, maxPollRecords); + //当broker多久没有收到consumer的心跳请求后就触发reBalance,默认值是10s + propsMap.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, sessionTimeout); + //序列化(建议使用Json,这种序列化方式可以无需额外配置传输实体类) + propsMap.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class); + propsMap.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class); + return propsMap; + } + + @Bean + public ConsumerFactory consumerFactory() { + // 配置消费者的 Json 反序列化的可信赖包,反序列化实体类需要 + try (JsonDeserializer deserializer = new JsonDeserializer<>()) { + deserializer.trustedPackages("*"); + return new DefaultKafkaConsumerFactory<>(consumerConfigs(), new JsonDeserializer<>(), deserializer); + } + } + + @Bean + public KafkaListenerContainerFactory> kafkaListenerContainerFactory() { + ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>(); + factory.setConsumerFactory(consumerFactory()); + //在侦听器容器中运行的线程数,一般设置为 机器数*分区数 + factory.setConcurrency(concurrency); + //消费监听接口监听的主题不存在时,默认会报错,所以设置为false忽略错误 + factory.setMissingTopicsFatal(missingTopicsFatal); + // 自动提交关闭,需要设置手动消息确认 + factory.getContainerProperties().setAckMode(ContainerProperties.AckMode.MANUAL_IMMEDIATE); + factory.getContainerProperties().setPollTimeout(pollTimeout); + // 设置为批量监听,需要用List接收 + // factory.setBatchListener(true); + return factory; + } +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaProviderConfig.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaProviderConfig.java new file mode 100644 index 0000000..3cef056 --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaProviderConfig.java @@ -0,0 +1,84 @@ +package com.muyu.iotdb.config; + +import org.apache.kafka.clients.producer.ProducerConfig; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.SpringBootConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.kafka.core.DefaultKafkaProducerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.core.ProducerFactory; +import org.springframework.kafka.transaction.KafkaTransactionManager; +import org.springframework.kafka.support.serializer.JsonSerializer; + +import java.util.HashMap; +import java.util.Map; + +/** + * 消息生产者对象的配置 构建 KafkaTemplate 设置发送消息带事务 + */ +@SpringBootConfiguration +public class KafkaProviderConfig { + + @Value("${spring.kafka.producer.bootstrap-servers}") + private String bootstrapServers; + @Value("${spring.kafka.producer.transaction-id-prefix}") + private String transactionIdPrefix; + @Value("${spring.kafka.producer.acks}") + private String acks; + @Value("${spring.kafka.producer.retries}") + private String retries; + @Value("${spring.kafka.producer.batch-size}") + private String batchSize; + @Value("${spring.kafka.producer.buffer-memory}") + private String bufferMemory; + + @Bean + public Map producerConfigs() { + Map props = new HashMap<>(16); + props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + //acks=0 : 生产者在成功写入消息之前不会等待任何来自服务器的响应。 + //acks=1 : 只要集群的首领节点收到消息,生产者就会收到一个来自服务器成功响应。 + //acks=all :只有当所有参与复制的节点全部收到消息时,生产者才会收到一个来自服务器的成功响应。 + //开启事务必须设为all + props.put(ProducerConfig.ACKS_CONFIG, acks); + //发生错误后,消息重发的次数,开启事务必须大于0 + props.put(ProducerConfig.RETRIES_CONFIG, retries); + //当多个消息发送到相同分区时,生产者会将消息打包到一起,以减少请求交互. 而不是一条条发送 + //批次的大小可以通过batch.size 参数设置.默认是16KB + //较小的批次大小有可能降低吞吐量(批次大小为0则完全禁用批处理)。 + //比如说,kafka里的消息5秒钟Batch才凑满了16KB,才能发送出去。那这些消息的延迟就是5秒钟 + //实测batchSize这个参数没有用 + props.put(ProducerConfig.BATCH_SIZE_CONFIG, batchSize); + //有的时刻消息比较少,过了很久,比如5min也没有凑够16KB,这样延时就很大,所以需要一个参数. 再设置一个时间,到了这个时间, + //即使数据没达到16KB,也将这个批次发送出去 + props.put(ProducerConfig.LINGER_MS_CONFIG, "5000"); + //生产者内存缓冲区的大小 + props.put(ProducerConfig.BUFFER_MEMORY_CONFIG, bufferMemory); + //反序列化,和生产者的序列化方式对应 + props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, JsonSerializer.class); + props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, JsonSerializer.class); + return props; + } + + @Bean + public ProducerFactory producerFactory() { + DefaultKafkaProducerFactory factory = new DefaultKafkaProducerFactory<>(producerConfigs()); + //开启事务,会导致 LINGER_MS_CONFIG 配置失效 + factory.setTransactionIdPrefix(transactionIdPrefix); + return factory; + } + + @Bean + public KafkaTransactionManager kafkaTransactionManager(ProducerFactory producerFactory) { + return new KafkaTransactionManager<>(producerFactory); + } + + /** + * 构建 kafkaTemplate + * @return + */ + @Bean + public KafkaTemplate kafkaTemplate() { + return new KafkaTemplate<>(producerFactory()); + } +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaSendResultHandler.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaSendResultHandler.java new file mode 100644 index 0000000..4356358 --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/KafkaSendResultHandler.java @@ -0,0 +1,38 @@ +package com.muyu.iotdb.config; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.support.ProducerListener; +import org.springframework.lang.Nullable; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * @author 徐一杰 + * @date 2022/10/31 15:41 + * kafka消息发送回调 + */ +@Component +public class KafkaSendResultHandler implements ProducerListener { + + @Autowired + private KafkaTemplate kafkaTemplate; + + @PostConstruct + public void init() { + this.kafkaTemplate.setProducerListener(this); + } + + @Override + public void onSuccess(ProducerRecord producerRecord, RecordMetadata recordMetadata) { + System.out.println("消息发送成功:" + producerRecord.toString()); + } + + @Override + public void onError(ProducerRecord producerRecord, @Nullable RecordMetadata recordMetadata, Exception exception) { + System.out.println("消息发送失败:" + producerRecord.toString() + exception.getMessage()); + } +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/config/MyKafkaListenerErrorHandler.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/MyKafkaListenerErrorHandler.java new file mode 100644 index 0000000..6b1c009 --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/config/MyKafkaListenerErrorHandler.java @@ -0,0 +1,34 @@ +package com.muyu.iotdb.config; + +import org.apache.kafka.clients.consumer.Consumer; +import org.springframework.kafka.listener.KafkaListenerErrorHandler; +import org.springframework.kafka.listener.ListenerExecutionFailedException; +import org.springframework.lang.NonNull; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +/** + * @author 徐一杰 + * @date 2022/10/31 15:27 + * 异常处理 + */ +@Component +public class MyKafkaListenerErrorHandler implements KafkaListenerErrorHandler { + + @Override + @NonNull + public Object handleError(@NonNull Message message, @NonNull ListenerExecutionFailedException exception) { + return new Object(); + } + + @Override + @NonNull + public Object handleError(@NonNull Message message, @NonNull ListenerExecutionFailedException exception, + Consumer consumer) { + System.out.println("消息详情:" + message); + System.out.println("异常信息::" + exception); + System.out.println("消费者详情::" + consumer.groupMetadata()); + System.out.println("监听主题::" + consumer.listTopics()); + return KafkaListenerErrorHandler.super.handleError(message, exception, consumer); + } +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/consumer/HelloWorldKafkaConsumer.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/consumer/HelloWorldKafkaConsumer.java new file mode 100644 index 0000000..ba56ba5 --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/consumer/HelloWorldKafkaConsumer.java @@ -0,0 +1,71 @@ +package com.muyu.iotdb.consumer; + +import lombok.extern.log4j.Log4j2; +import org.apache.kafka.clients.consumer.ConsumerConfig; +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.apache.kafka.clients.consumer.KafkaConsumer; +import org.apache.kafka.common.serialization.StringDeserializer; +import org.springframework.kafka.annotation.KafkaListener; +import org.springframework.kafka.support.Acknowledgment; +import org.springframework.stereotype.Component; + +import java.time.Duration; +import java.util.Collections; +import java.util.Properties; + +/** + * @ClassName: + * @Description: + * @Author: zhuwenqiang + * @Date: 2023/11/2 + */ +@Component +@Log4j2 +public class HelloWorldKafkaConsumer { + + @KafkaListener(topics = { "biwe-topic" }) + public void helloWorldKafkaConsumer(ConsumerRecord record1) { +// String key = record1.key(); +// String value = record1.value(); + + // 创建 properties 对象 配置 kafka消费者的配置信息 + Properties properties = new Properties(); + properties.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "111.229.102.61:9092"); + // 设置 键值的反序列化方式 + properties.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); + properties.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); + // 配置 分组 *** + properties.setProperty(ConsumerConfig.GROUP_ID_CONFIG, "bw2"); + + // 创建 kafka 消息消费者对象 + KafkaConsumer kafkaConsumer = new KafkaConsumer(properties); + // 订阅主题 + kafkaConsumer.subscribe(Collections.singleton("bwie-topic")); + while (true) { + // 拉取消息 + ConsumerRecords records = kafkaConsumer.poll(Duration.ofMillis(2000)); + // 遍历 + records.forEach(record -> { + String key = record.key(); + String value = record.value(); + System.out.println("消息者消息成功,消息的key:" + key + ",value:" + value); + }); + } +// log.info("消息的消费者接收到消息,消息的key:{},value:{}", key, value); + } + + @KafkaListener(topics = {"topic1", "topic2"}, + containerFactory = "kafkaListenerContainerFactory", + errorHandler = "myKafkaListenerErrorHandler") + public void helloWorldKafkaConsumer(ConsumerRecord record, + Acknowledgment acknowledgment) { + String key = record.key(); + String value = record.value(); + log.info("消息的消费者接收到消息,消息的key:{},value:{}", key, value); + // 手动确认 + acknowledgment.acknowledge(); + } + + +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/consumer/KafkaConsumerQuickStart.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/consumer/KafkaConsumerQuickStart.java new file mode 100644 index 0000000..c0541cc --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/consumer/KafkaConsumerQuickStart.java @@ -0,0 +1,15 @@ +package com.muyu.iotdb.consumer; + +/** + * @ClassName: + * @Description: + * @Author: zhuwenqiang + * @Date: 2023/11/2 + */ +public class KafkaConsumerQuickStart { + + public static void main(String[] args) { + + } + +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/controller/IotDbController.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/controller/IotDbController.java new file mode 100644 index 0000000..658b068 --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/controller/IotDbController.java @@ -0,0 +1,115 @@ +package com.muyu.iotdb.controller; + + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName IotDbController + * @Date 2024/05/21 16:55 + */ + + +import com.muyu.common.core.domain.Result; +import com.muyu.iotdb.config.IotDBSessionConfig; +import com.muyu.iotdb.domain.IotDbParam; +import com.muyu.iotdb.service.IotDbServer; +import lombok.extern.log4j.Log4j2; +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.rpc.StatementExecutionException; +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.clients.producer.ProducerConfig; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.common.serialization.StringSerializer; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.rmi.ServerException; +import java.util.Properties; + +/** + * description: iotdb 控制层 + * date: 2022/8/15 21:50 + * author: zhouhong + */ +@Log4j2 +@RestController +public class IotDbController { + + @Resource + private IotDbServer iotDbServer; + @Resource + private IotDBSessionConfig iotDBSessionConfig; + + /** + * 插入数据 + * @param iotDbParam + */ + @PostMapping("/api/device/insert") + public Result insert(@RequestBody IotDbParam iotDbParam) throws StatementExecutionException, ServerException, IoTDBConnectionException { + iotDbServer.insertData(iotDbParam); + return Result.success(); + } + + @GetMapping("getMsg") + public void getMsg(@RequestParam("mgs") String msg){ + //TODO 发送消息 Kafka + //TODO 用来配置 kafka消息生产者对象的配置信息 + Properties properties = new Properties(); + //TODO 配置 host + properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "122.51.111.225:9092"); + //TODO 配置 键值的序列化方式 + properties.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); + properties.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); + //TODO 配置消息的确认 + properties.setProperty(ProducerConfig.ACKS_CONFIG, "all"); + //TODO 设置重试次数 + properties.setProperty(ProducerConfig.RETRIES_CONFIG, "3"); + //TODO 消息压缩 + properties.setProperty(ProducerConfig.COMPRESSION_TYPE_CONFIG, "gzip"); + //TODO 创建消息生产者对象 + KafkaProducer kafkaProducer = new KafkaProducer(properties); + + //TODO 发送消息 + //TODO 创建 消息记录 + ProducerRecord producerRecord = new ProducerRecord("bwie-topic", "key", msg); + // TODO kafkaProducer.send(producerRecord); + + //TODO 异步发送 + kafkaProducer.send(producerRecord, (metadata, exception) -> { + if (exception == null) { + //TODO 获取消息发送的分区 + int partition = metadata.partition(); + // TODO 消息的偏移量 + long offset = metadata.offset(); + //TODO 主题 + String topic = metadata.topic(); + System.out.println("发送成功,消息的分区:" + partition + ",消息的偏移量:" + offset + ",主题:" + topic); + } else { + System.out.println("发送失败,异常信息:" + exception); + } + }); + + //TODO 关闭 kafkaProducer + kafkaProducer.close(); + } + /** + * 查询数据 + * @param iotDbParam + */ + @PostMapping("/api/device/queryData") + public Result queryDataFromIotDb(@RequestBody IotDbParam iotDbParam) throws Exception { + return Result.success(iotDbServer.queryDataFromIotDb(iotDbParam)); + } + /** + * 删除分组 + * @return + */ + @PostMapping("/api/device/deleteGroup") + public Result deleteGroup() throws StatementExecutionException, IoTDBConnectionException { + iotDBSessionConfig.deleteStorageGroup("root.a1eaKSRpRty"); + iotDBSessionConfig.deleteStorageGroup("root.smartretirement"); + return Result.success(); + } + +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbParam.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbParam.java new file mode 100644 index 0000000..07ada7e --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbParam.java @@ -0,0 +1,43 @@ +package com.muyu.iotdb.domain; + + +import lombok.Data; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName IotDbParam + * @Date 2024/05/21 16:06 + */ +@Data +public class IotDbParam { + /** + * 产品PK + */ + private String pk; + /** + * 设备号 + */ + private String sn; + /** + * 时间 + */ + private Long time; + /** + * 实时呼吸 + */ + private String breath; + /** + * 实时心率 + */ + private String heart; + /** + * 查询开始时间 + */ + private String startTime; + /** + * 查询结束时间 + */ + private String endTime; +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbResult.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbResult.java new file mode 100644 index 0000000..54eac54 --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbResult.java @@ -0,0 +1,36 @@ +package com.muyu.iotdb.domain; + + +import lombok.Data; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName IotDbResult + * @Date 2024/05/21 16:10 + */ +@Data +public class IotDbResult { + /** + * 时间 + */ + private String time; + /** + * 产品PK + */ + private String pk; + /** + * 设备号 + */ + private String sn; + /** + * 实时呼吸 + */ + private String breath; + /** + * 实时心率 + */ + private String heart; + +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/producer/KafkaProducerQuickStart.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/producer/KafkaProducerQuickStart.java new file mode 100644 index 0000000..5f06bcf --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/producer/KafkaProducerQuickStart.java @@ -0,0 +1,26 @@ +package com.muyu.iotdb.producer; + +/** + * @ClassName: + * @Description: + * @Author: zhuwenqiang + * @Date: 2023/11/2 + */ +public class KafkaProducerQuickStart { + + + /** + * + * 消息队列模式: + * 点对点: 1 : 1 + * + * 发布订阅: 1 : N + * + * + * @param args + */ + public static void main(String[] args) { + + } + +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/service/IotDbServer.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/service/IotDbServer.java new file mode 100644 index 0000000..b859602 --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/service/IotDbServer.java @@ -0,0 +1,17 @@ +package com.muyu.iotdb.service; + + +import com.muyu.iotdb.domain.IotDbParam; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName IotDbServer + * @Date 2024/05/21 16:56 + */ +public interface IotDbServer { + void insertData(IotDbParam iotDbParam); + + Object queryDataFromIotDb(IotDbParam iotDbParam); +} diff --git a/muyu-iotdb/src/main/java/com/muyu/iotdb/service/impl/IotDbServerImpl.java b/muyu-iotdb/src/main/java/com/muyu/iotdb/service/impl/IotDbServerImpl.java new file mode 100644 index 0000000..584cdbb --- /dev/null +++ b/muyu-iotdb/src/main/java/com/muyu/iotdb/service/impl/IotDbServerImpl.java @@ -0,0 +1,132 @@ +package com.muyu.iotdb.service.impl; + + +import com.muyu.iotdb.domain.IotDbParam; +import com.muyu.iotdb.domain.IotDbResult; +import com.muyu.iotdb.service.IotDbServer; +import com.muyu.iotdb.config.IotDBSessionConfig; +import lombok.extern.log4j.Log4j2; +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.rpc.StatementExecutionException; +import org.apache.iotdb.session.SessionDataSet; +import org.apache.iotdb.tsfile.read.common.Field; +import org.apache.iotdb.tsfile.read.common.RowRecord; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.rmi.ServerException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName IotDbServerImpl + * @Date 2024/05/21 16:55 + */ +@Log4j2 +@Service +public class IotDbServerImpl implements IotDbServer { + + @Resource + private IotDBSessionConfig iotDBSessionConfig; + + @Override + public void insertData(IotDbParam iotDbParam) { + // iotDbParam: 模拟设备上报消息 + // bizkey: 业务唯一key PK :产品唯一编码 SN:设备唯一编码 + String deviceId = "root.bizkey."+ iotDbParam.getPk() + "." + iotDbParam.getSn(); + // 将设备上报的数据存入数据库(时序数据库) + List measurementsList = new ArrayList<>(); + measurementsList.add("heart"); + measurementsList.add("breath"); + List valuesList = new ArrayList<>(); + valuesList.add(String.valueOf(iotDbParam.getHeart())); + valuesList.add(String.valueOf(iotDbParam.getBreath())); + try { + iotDBSessionConfig.insertRecord(deviceId, iotDbParam.getTime(), measurementsList, valuesList); + } catch (IoTDBConnectionException e) { + throw new RuntimeException(e); + } catch (StatementExecutionException e) { + throw new RuntimeException(e); + } catch (ServerException e) { + throw new RuntimeException(e); + } + } + + @Override + public List queryDataFromIotDb(IotDbParam iotDbParam) { + List iotDbResultList = new ArrayList<>(); + + if (null != iotDbParam.getPk() && null != iotDbParam.getSn()) { + String sql = "select * from root.bizkey."+ iotDbParam.getPk() +"." + iotDbParam.getSn() + " where time >= " + + iotDbParam.getStartTime() + " and time < " + iotDbParam.getEndTime(); + SessionDataSet sessionDataSet = null; + try { + sessionDataSet = iotDBSessionConfig.query(sql); + } catch (StatementExecutionException e) { + throw new RuntimeException(e); + } catch (IoTDBConnectionException e) { + throw new RuntimeException(e); + } + List columnNames = sessionDataSet.getColumnNames(); + List titleList = new ArrayList<>(); + // 排除Time字段 -- 方便后面后面拼装数据 + for (int i = 1; i < columnNames.size(); i++) { + String[] temp = columnNames.get(i).split("\\."); + titleList.add(temp[temp.length - 1]); + } + // 封装处理数据 + try { + packagingData(iotDbParam, iotDbResultList, sessionDataSet, titleList); + } catch (StatementExecutionException e) { + throw new RuntimeException(e); + } catch (IoTDBConnectionException e) { + throw new RuntimeException(e); + } + } else { + log.info("PK或者SN不能为空!!"); + } + return iotDbResultList; + } + /** + * 封装处理数据 + * @param iotDbParam + * @param iotDbResultList + * @param sessionDataSet + * @param titleList + * @throws StatementExecutionException + * @throws IoTDBConnectionException + */ + private void packagingData(IotDbParam iotDbParam, List iotDbResultList, SessionDataSet sessionDataSet, List titleList) + throws StatementExecutionException, IoTDBConnectionException { + int fetchSize = sessionDataSet.getFetchSize(); + if (fetchSize > 0) { + while (sessionDataSet.hasNext()) { + IotDbResult iotDbResult = new IotDbResult(); + RowRecord next = sessionDataSet.next(); + List fields = next.getFields(); + String timeString = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(next.getTimestamp()); + iotDbResult.setTime(timeString); + Map map = new HashMap<>(); + + for (int i = 0; i < fields.size(); i++) { + Field field = fields.get(i); + // 这里的需要按照类型获取 + map.put(titleList.get(i), field.getObjectValue(field.getDataType()).toString()); + } + iotDbResult.setTime(timeString); + iotDbResult.setPk(iotDbParam.getPk()); + iotDbResult.setSn(iotDbParam.getSn()); + iotDbResult.setHeart(map.get("heart")); + iotDbResult.setBreath(map.get("breath")); + iotDbResultList.add(iotDbResult); + } + } + } + + +} diff --git a/muyu-iotdb/src/main/resources/bootstrap.yml b/muyu-iotdb/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..bce3562 --- /dev/null +++ b/muyu-iotdb/src/main/resources/bootstrap.yml @@ -0,0 +1,102 @@ +# Tomcat +server: + port: 9009 +# Spring +spring: + kafka: + producer: + # Kafka服务器 + bootstrap-servers: 175.24.138.82:9092 + # 开启事务,必须在开启了事务的方法中发送,否则报错 + transaction-id-prefix: kafkaTx- + # 发生错误后,消息重发的次数,开启事务必须设置大于0。 + retries: 3 + # acks=0 : 生产者在成功写入消息之前不会等待任何来自服务器的响应。 + # acks=1 : 只要集群的首领节点收到消息,生产者就会收到一个来自服务器成功响应。 + # acks=all :只有当所有参与复制的节点全部收到消息时,生产者才会收到一个来自服务器的成功响应。 + # 开启事务时,必须设置为all + acks: all + # 当有多个消息需要被发送到同一个分区时,生产者会把它们放在同一个批次里。该参数指定了一个批次可以使用的内存大小,按照字节数计算。 + batch-size: 16384 + # 生产者内存缓冲区的大小。 + buffer-memory: 1024000 + # 键的序列化方式 + key-serializer: org.springframework.kafka.support.serializer.JsonSerializer + # 值的序列化方式(建议使用Json,这种序列化方式可以无需额外配置传输实体类) + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + + consumer: + # Kafka服务器 + bootstrap-servers: 175.24.138.82:9092 + group-id: firstGroup + # 自动提交的时间间隔 在spring boot 2.X 版本中这里采用的是值的类型为Duration 需要符合特定的格式,如1S,1M,2H,5D + #auto-commit-interval: 2s + # 该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下该作何处理: + # earliest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费分区的记录 + # latest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据(在消费者启动之后生成的记录) + # none:当各分区都存在已提交的offset时,从提交的offset开始消费;只要有一个分区不存在已提交的offset,则抛出异常 + auto-offset-reset: latest + # 是否自动提交偏移量,默认值是true,为了避免出现重复数据和数据丢失,可以把它设置为false,然后手动提交偏移量 + enable-auto-commit: false + # 键的反序列化方式 + #key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + key-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer + # 值的反序列化方式(建议使用Json,这种序列化方式可以无需额外配置传输实体类) + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer + # 配置消费者的 Json 反序列化的可信赖包,反序列化实体类需要 + properties: + spring: + json: + trusted: + packages: "*" + # 这个参数定义了poll方法最多可以拉取多少条消息,默认值为500。如果在拉取消息的时候新消息不足500条,那有多少返回多少;如果超过500条,每次只返回500。 + # 这个默认值在有些场景下太大,有些场景很难保证能够在5min内处理完500条消息, + # 如果消费者无法在5分钟内处理完500条消息的话就会触发reBalance, + # 然后这批消息会被分配到另一个消费者中,还是会处理不完,这样这批消息就永远也处理不完。 + # 要避免出现上述问题,提前评估好处理一条消息最长需要多少时间,然后覆盖默认的max.poll.records参数 + # 注:需要开启BatchListener批量监听才会生效,如果不开启BatchListener则不会出现reBalance情况 + max-poll-records: 3 + properties: + # 两次poll之间的最大间隔,默认值为5分钟。如果超过这个间隔会触发reBalance + max: + poll: + interval: + ms: 600000 + # 当broker多久没有收到consumer的心跳请求后就触发reBalance,默认值是10s + session: + timeout: + ms: 10000 + listener: + # 在侦听器容器中运行的线程数,一般设置为 机器数*分区数 + concurrency: 4 + # 自动提交关闭,需要设置手动消息确认 + ack-mode: manual_immediate + # 消费监听接口监听的主题不存在时,默认会报错,所以设置为false忽略错误 + missing-topics-fatal: false + # 两次poll之间的最大间隔,默认值为5分钟。如果超过这个间隔会触发reBalance + poll-timeout: 600000 + main: + allow-circular-references: true # 允许循环依赖 + jackson: # json 序列化 和 返序列化 转换 + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-kafka + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 175.24.138.82:8848 + config: + # 配置中心地址 + server-addr: 175.24.138.82:8848 + # namespace: a9b66e92-e507-47ba-9674-6f939f793aca + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/muyu-modules/muyu-file/pom.xml b/muyu-modules/muyu-modules-file/pom.xml similarity index 97% rename from muyu-modules/muyu-file/pom.xml rename to muyu-modules/muyu-modules-file/pom.xml index e1de9af..450290a 100644 --- a/muyu-modules/muyu-file/pom.xml +++ b/muyu-modules/muyu-modules-file/pom.xml @@ -55,13 +55,13 @@ - + com.muyu muyu-common-swagger - + com.muyu muyu-common-system diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/MuYuFileApplication.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/MuyuFileApplication.java similarity index 82% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/MuYuFileApplication.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/MuyuFileApplication.java index b2e172f..c041884 100644 --- a/muyu-modules/muyu-file/src/main/java/com/muyu/file/MuYuFileApplication.java +++ b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/MuyuFileApplication.java @@ -12,8 +12,8 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; */ @EnableCustomSwagger2 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) -public class MuYuFileApplication { +public class MuyuFileApplication { public static void main (String[] args) { - SpringApplication.run(MuYuFileApplication.class, args); + SpringApplication.run(MuyuFileApplication.class, args); } } diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/config/MinioConfig.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/config/MinioConfig.java similarity index 100% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/config/MinioConfig.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/config/MinioConfig.java diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/config/ResourcesConfig.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/config/ResourcesConfig.java similarity index 100% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/config/ResourcesConfig.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/config/ResourcesConfig.java diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/controller/SysFileController.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/controller/SysFileController.java similarity index 100% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/controller/SysFileController.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/controller/SysFileController.java diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/service/FastDfsSysFileServiceImpl.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/service/FastDfsSysFileServiceImpl.java similarity index 100% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/service/FastDfsSysFileServiceImpl.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/service/FastDfsSysFileServiceImpl.java diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/service/ISysFileService.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/service/ISysFileService.java similarity index 100% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/service/ISysFileService.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/service/ISysFileService.java diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/service/LocalSysFileServiceImpl.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/service/LocalSysFileServiceImpl.java similarity index 100% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/service/LocalSysFileServiceImpl.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/service/LocalSysFileServiceImpl.java diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/service/MinioSysFileServiceImpl.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/service/MinioSysFileServiceImpl.java similarity index 100% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/service/MinioSysFileServiceImpl.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/service/MinioSysFileServiceImpl.java diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/utils/FileUploadUtils.java b/muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/utils/FileUploadUtils.java similarity index 100% rename from muyu-modules/muyu-file/src/main/java/com/muyu/file/utils/FileUploadUtils.java rename to muyu-modules/muyu-modules-file/src/main/java/com/muyu/file/utils/FileUploadUtils.java diff --git a/muyu-modules/muyu-job/src/main/resources/banner.txt b/muyu-modules/muyu-modules-file/src/main/resources/banner.txt similarity index 100% rename from muyu-modules/muyu-job/src/main/resources/banner.txt rename to muyu-modules/muyu-modules-file/src/main/resources/banner.txt diff --git a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml b/muyu-modules/muyu-modules-file/src/main/resources/bootstrap.yml similarity index 72% rename from muyu-modules/muyu-file/src/main/resources/bootstrap.yml rename to muyu-modules/muyu-modules-file/src/main/resources/bootstrap.yml index 0cb85bd..fde58c2 100644 --- a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-modules-file/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-file/src/main/resources/logback.xml b/muyu-modules/muyu-modules-file/src/main/resources/logback.xml similarity index 100% rename from muyu-modules/muyu-file/src/main/resources/logback.xml rename to muyu-modules/muyu-modules-file/src/main/resources/logback.xml diff --git a/muyu-modules/muyu-gen/pom.xml b/muyu-modules/muyu-modules-gen/pom.xml similarity index 97% rename from muyu-modules/muyu-gen/pom.xml rename to muyu-modules/muyu-modules-gen/pom.xml index bd2a910..f452ea8 100644 --- a/muyu-modules/muyu-gen/pom.xml +++ b/muyu-modules/muyu-modules-gen/pom.xml @@ -60,13 +60,13 @@ mysql-connector-j - + com.muyu muyu-common-log - + com.muyu muyu-common-swagger diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/MuYuGenApplication.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/MuyuGenApplication.java similarity index 84% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/MuYuGenApplication.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/MuyuGenApplication.java index a6898bf..09ea17f 100644 --- a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/MuYuGenApplication.java +++ b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/MuyuGenApplication.java @@ -15,8 +15,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableCustomSwagger2 @EnableMyFeignClients @SpringBootApplication -public class MuYuGenApplication { +public class MuyuGenApplication { public static void main (String[] args) { - SpringApplication.run(MuYuGenApplication.class, args); + SpringApplication.run(MuyuGenApplication.class, args); } } diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/config/GenConfig.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/config/GenConfig.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/config/GenConfig.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/config/GenConfig.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/controller/GenController.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/controller/GenController.java similarity index 99% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/controller/GenController.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/controller/GenController.java index 7fe822a..ca7f5d4 100644 --- a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/controller/GenController.java +++ b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/controller/GenController.java @@ -73,7 +73,6 @@ public class GenController extends BaseController { List list = genTableService.selectDbTableList(genTable); return getDataTable(list); } - /** * 查询数据表字段列表 */ diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/domain/GenTable.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/domain/GenTable.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/domain/GenTable.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/domain/GenTable.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/domain/GenTableColumn.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/domain/GenTableColumn.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/domain/GenTableColumn.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/domain/GenTableColumn.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/mapper/GenTableMapper.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/mapper/GenTableMapper.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/mapper/GenTableMapper.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/mapper/GenTableMapper.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/IGenTableColumnService.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/service/IGenTableColumnService.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/IGenTableColumnService.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/service/IGenTableColumnService.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/IGenTableService.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/service/IGenTableService.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/IGenTableService.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/service/IGenTableService.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/util/GenUtils.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/util/GenUtils.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/util/GenUtils.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/util/GenUtils.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/util/VelocityInitializer.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/util/VelocityInitializer.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/util/VelocityInitializer.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/util/VelocityInitializer.java diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java b/muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java similarity index 100% rename from muyu-modules/muyu-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java rename to muyu-modules/muyu-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java diff --git a/muyu-modules/muyu-system/src/main/resources/banner.txt b/muyu-modules/muyu-modules-gen/src/main/resources/banner.txt similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/banner.txt rename to muyu-modules/muyu-modules-gen/src/main/resources/banner.txt diff --git a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml b/muyu-modules/muyu-modules-gen/src/main/resources/bootstrap.yml similarity index 72% rename from muyu-modules/muyu-gen/src/main/resources/bootstrap.yml rename to muyu-modules/muyu-modules-gen/src/main/resources/bootstrap.yml index b628931..e80cf74 100644 --- a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-modules-gen/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-gen/src/main/resources/logback.xml b/muyu-modules/muyu-modules-gen/src/main/resources/logback.xml similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/logback.xml rename to muyu-modules/muyu-modules-gen/src/main/resources/logback.xml diff --git a/muyu-modules/muyu-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/muyu-modules/muyu-modules-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml rename to muyu-modules/muyu-modules-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml diff --git a/muyu-modules/muyu-gen/src/main/resources/mapper/generator/GenTableMapper.xml b/muyu-modules/muyu-modules-gen/src/main/resources/mapper/generator/GenTableMapper.xml similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/mapper/generator/GenTableMapper.xml rename to muyu-modules/muyu-modules-gen/src/main/resources/mapper/generator/GenTableMapper.xml diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/java/controller.java.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/java/controller.java.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/java/controller.java.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/java/controller.java.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/java/domain.java.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/java/domain.java.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/java/domain.java.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/java/domain.java.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/java/mapper.java.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/java/mapper.java.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/java/mapper.java.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/java/mapper.java.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/java/service.java.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/java/service.java.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/java/service.java.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/java/service.java.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/java/serviceImpl.java.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/java/serviceImpl.java.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/java/sub-domain.java.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/java/sub-domain.java.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/java/sub-domain.java.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/java/sub-domain.java.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/js/api.js.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/js/api.js.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/js/api.js.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/js/api.js.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/sql/sql.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/sql/sql.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/sql/sql.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/sql/sql.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/vue/index-tree.vue.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/index-tree.vue.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/vue/index-tree.vue.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/index-tree.vue.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/vue/index.vue.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/index.vue.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/vue/index.vue.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/index.vue.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/vue/v3/index.vue.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/v3/index.vue.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/vue/v3/index.vue.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/v3/index.vue.vm diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/vue/v3/readme.txt b/muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/v3/readme.txt similarity index 63% rename from muyu-modules/muyu-gen/src/main/resources/vm/vue/v3/readme.txt rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/v3/readme.txt index 8ba0f0a..785d2f0 100644 --- a/muyu-modules/muyu-gen/src/main/resources/vm/vue/v3/readme.txt +++ b/muyu-modules/muyu-modules-gen/src/main/resources/vm/vue/v3/readme.txt @@ -1 +1 @@ -���ʹ�õ���MuYu-Cloud-Vue3ǰ�ˣ���ô��Ҫ����һ�´�Ŀ¼��ģ��index.vue.vm��index-tree.vue.vm�ļ����ϼ�vueĿ¼�� +���ʹ�õ���muyu-Cloud-Vue3ǰ�ˣ���ô��Ҫ����һ�´�Ŀ¼��ģ��index.vue.vm��index-tree.vue.vm�ļ����ϼ�vueĿ¼�� diff --git a/muyu-modules/muyu-gen/src/main/resources/vm/xml/mapper.xml.vm b/muyu-modules/muyu-modules-gen/src/main/resources/vm/xml/mapper.xml.vm similarity index 100% rename from muyu-modules/muyu-gen/src/main/resources/vm/xml/mapper.xml.vm rename to muyu-modules/muyu-modules-gen/src/main/resources/vm/xml/mapper.xml.vm diff --git a/muyu-modules/muyu-job/pom.xml b/muyu-modules/muyu-modules-job/pom.xml similarity index 97% rename from muyu-modules/muyu-job/pom.xml rename to muyu-modules/muyu-modules-job/pom.xml index 7ebe99d..4de74d5 100644 --- a/muyu-modules/muyu-job/pom.xml +++ b/muyu-modules/muyu-modules-job/pom.xml @@ -66,13 +66,13 @@ mysql-connector-j - + com.muyu muyu-common-log - + com.muyu muyu-common-swagger diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/MuYuJobApplication.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/MuyuJobApplication.java similarity index 84% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/MuYuJobApplication.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/MuyuJobApplication.java index f6a79c0..9ca2bc2 100644 --- a/muyu-modules/muyu-job/src/main/java/com/muyu/job/MuYuJobApplication.java +++ b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/MuyuJobApplication.java @@ -15,8 +15,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableCustomSwagger2 @EnableMyFeignClients @SpringBootApplication -public class MuYuJobApplication { +public class MuyuJobApplication { public static void main (String[] args) { - SpringApplication.run(MuYuJobApplication.class, args); + SpringApplication.run(MuyuJobApplication.class, args); } } diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/config/ScheduleConfig.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/config/ScheduleConfig.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/config/ScheduleConfig.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/config/ScheduleConfig.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/controller/SysJobController.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/controller/SysJobController.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/controller/SysJobController.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/controller/SysJobController.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/controller/SysJobLogController.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/controller/SysJobLogController.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/controller/SysJobLogController.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/controller/SysJobLogController.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/domain/SysJob.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/domain/SysJob.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/domain/SysJob.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/domain/SysJob.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/domain/SysJobLog.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/domain/SysJobLog.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/domain/SysJobLog.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/domain/SysJobLog.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/mapper/SysJobLogMapper.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/mapper/SysJobLogMapper.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/mapper/SysJobLogMapper.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/mapper/SysJobLogMapper.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/mapper/SysJobMapper.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/mapper/SysJobMapper.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/mapper/SysJobMapper.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/mapper/SysJobMapper.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/service/ISysJobLogService.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/service/ISysJobLogService.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/service/ISysJobLogService.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/service/ISysJobLogService.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/service/ISysJobService.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/service/ISysJobService.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/service/ISysJobService.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/service/ISysJobService.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/service/SysJobLogServiceImpl.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/service/SysJobLogServiceImpl.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/service/SysJobLogServiceImpl.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/service/SysJobLogServiceImpl.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/service/SysJobServiceImpl.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/service/SysJobServiceImpl.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/service/SysJobServiceImpl.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/service/SysJobServiceImpl.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/task/MyTask.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/task/MyTask.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/task/MyTask.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/task/MyTask.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/AbstractQuartzJob.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/AbstractQuartzJob.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/util/AbstractQuartzJob.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/AbstractQuartzJob.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/CronUtils.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/CronUtils.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/util/CronUtils.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/CronUtils.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/JobInvokeUtil.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/JobInvokeUtil.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/util/JobInvokeUtil.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/JobInvokeUtil.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/QuartzDisallowConcurrentExecution.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/QuartzDisallowConcurrentExecution.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/util/QuartzDisallowConcurrentExecution.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/QuartzDisallowConcurrentExecution.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/QuartzJobExecution.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/QuartzJobExecution.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/util/QuartzJobExecution.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/QuartzJobExecution.java diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/ScheduleUtils.java b/muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/ScheduleUtils.java similarity index 100% rename from muyu-modules/muyu-job/src/main/java/com/muyu/job/util/ScheduleUtils.java rename to muyu-modules/muyu-modules-job/src/main/java/com/muyu/job/util/ScheduleUtils.java diff --git a/muyu-modules/muyu-modules-job/src/main/resources/banner.txt b/muyu-modules/muyu-modules-job/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/muyu-modules/muyu-modules-job/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml b/muyu-modules/muyu-modules-job/src/main/resources/bootstrap.yml similarity index 72% rename from muyu-modules/muyu-job/src/main/resources/bootstrap.yml rename to muyu-modules/muyu-modules-job/src/main/resources/bootstrap.yml index 618f3e8..f42e5f2 100644 --- a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-modules-job/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-job/src/main/resources/logback.xml b/muyu-modules/muyu-modules-job/src/main/resources/logback.xml similarity index 100% rename from muyu-modules/muyu-job/src/main/resources/logback.xml rename to muyu-modules/muyu-modules-job/src/main/resources/logback.xml diff --git a/muyu-modules/muyu-job/src/main/resources/mapper/job/SysJobLogMapper.xml b/muyu-modules/muyu-modules-job/src/main/resources/mapper/job/SysJobLogMapper.xml similarity index 100% rename from muyu-modules/muyu-job/src/main/resources/mapper/job/SysJobLogMapper.xml rename to muyu-modules/muyu-modules-job/src/main/resources/mapper/job/SysJobLogMapper.xml diff --git a/muyu-modules/muyu-job/src/main/resources/mapper/job/SysJobMapper.xml b/muyu-modules/muyu-modules-job/src/main/resources/mapper/job/SysJobMapper.xml similarity index 100% rename from muyu-modules/muyu-job/src/main/resources/mapper/job/SysJobMapper.xml rename to muyu-modules/muyu-modules-job/src/main/resources/mapper/job/SysJobMapper.xml diff --git a/muyu-modules/muyu-system/pom.xml b/muyu-modules/muyu-modules-system/pom.xml similarity index 95% rename from muyu-modules/muyu-system/pom.xml rename to muyu-modules/muyu-modules-system/pom.xml index be58498..3e1887d 100644 --- a/muyu-modules/muyu-system/pom.xml +++ b/muyu-modules/muyu-modules-system/pom.xml @@ -54,25 +54,25 @@ mysql-connector-j - + com.muyu muyu-common-datasource - + com.muyu muyu-common-datascope - + com.muyu muyu-common-log - + com.muyu muyu-common-swagger diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/MuyuSystemApplication.java similarity index 83% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/MuyuSystemApplication.java index 8dab51e..9087a13 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/MuyuSystemApplication.java @@ -15,8 +15,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableCustomSwagger2 @EnableMyFeignClients @SpringBootApplication -public class MuYuSystemApplication { +public class MuyuSystemApplication { public static void main (String[] args) { - SpringApplication.run(MuYuSystemApplication.class, args); + SpringApplication.run(MuyuSystemApplication.class, args); } } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysConfigController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysConfigController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysConfigController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysConfigController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysDeptController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysDeptController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysDictDataController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysDictDataController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysDictDataController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysDictDataController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysLogininforController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysLogininforController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysLogininforController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysLogininforController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysMenuController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysMenuController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysMenuController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysMenuController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysNoticeController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysNoticeController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysNoticeController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysNoticeController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysOperlogController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysOperlogController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysOperlogController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysOperlogController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysPostController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysPostController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysPostController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysPostController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysProfileController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysProfileController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysProfileController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysProfileController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysRoleController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysRoleController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java similarity index 94% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java index 9811a0e..c25f563 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -96,7 +96,7 @@ public class SysUserController extends BaseController { /** * 获取当前用户信息 */ - @InnerAuth +// @InnerAuth @GetMapping("/info/{username}") public Result info (@PathVariable("username") String username) { SysUser sysUser = userService.selectUserByUserName(username); @@ -257,7 +257,7 @@ public class SysUserController extends BaseController { /** * 根据用户编号获取授权角色 */ - @RequiresPermissions("system:user:query") +// @RequiresPermissions("system:user:query") @GetMapping("/authRole/{userId}") public Result authRole (@PathVariable("userId") Long userId) { SysUser user = userService.selectUserById(userId); @@ -269,6 +269,11 @@ public class SysUserController extends BaseController { .build() ); } + @GetMapping("/selectByUserId/{userId}") + public SysUser selectByUserId (@PathVariable("userId") Long userId) { + SysUser user = userService.selectUserById(userId); + return user; + } /** * 用户授权角色 @@ -290,4 +295,14 @@ public class SysUserController extends BaseController { public Result deptTree (SysDept dept) { return success(deptService.selectDeptTreeList(dept)); } + + @GetMapping("/userById/{userId}") + public SysUser userById (@PathVariable("userId") Long UserType) { + SysUser user=userService.selectUserByUserType(UserType); + return user; + } + @PostMapping("/updateById") + public Result updateById (@RequestBody SysUser user) { + return success(userService.updateByUserId(user)); + } } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserOnlineController.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysUserOnlineController.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserOnlineController.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/controller/SysUserOnlineController.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysConfig.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysConfig.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysConfig.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysConfig.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysMenu.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysMenu.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysMenu.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysMenu.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysNotice.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysNotice.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysNotice.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysNotice.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysPost.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysPost.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysPost.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysPost.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysRoleDept.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysRoleDept.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysRoleDept.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysRoleDept.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysRoleMenu.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysRoleMenu.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysRoleMenu.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysRoleMenu.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysUserOnline.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysUserOnline.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysUserOnline.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysUserOnline.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysUserPost.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysUserPost.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysUserRole.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysUserRole.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/AuthRoleResp.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/AuthRoleResp.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/AuthRoleResp.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/AuthRoleResp.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/DeptTreeResp.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/DeptTreeResp.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/DeptTreeResp.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/DeptTreeResp.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/ProfileResp.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/ProfileResp.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/ProfileResp.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/ProfileResp.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/RoleMenuTreeResp.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/RoleMenuTreeResp.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/RoleMenuTreeResp.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/RoleMenuTreeResp.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/UserDetailInfoResp.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/UserDetailInfoResp.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/UserDetailInfoResp.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/UserDetailInfoResp.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/UserInfoResp.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/UserInfoResp.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/UserInfoResp.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/resp/UserInfoResp.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/MetaVo.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/vo/MetaVo.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/MetaVo.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/vo/MetaVo.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/RouterVo.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/vo/RouterVo.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/RouterVo.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/vo/RouterVo.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/TreeSelect.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/vo/TreeSelect.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/TreeSelect.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/domain/vo/TreeSelect.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysConfigMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysConfigMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysConfigMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysConfigMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysLogininforMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysLogininforMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysLogininforMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysLogininforMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysMenuMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysMenuMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysMenuMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysMenuMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysOperLogMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysOperLogMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysOperLogMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysOperLogMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysPostMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysPostMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysPostMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysPostMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysRoleDeptMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysRoleDeptMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysRoleDeptMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysRoleDeptMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMenuMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java similarity index 97% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java index e037b34..3b9cd9a 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java @@ -139,4 +139,8 @@ public interface SysUserMapper extends BaseMapper { * @return 结果 */ public SysUser checkEmailUnique (String email); + + void updateByUserId(SysUser user); + + SysUser selectUserByUserType(String userType); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java similarity index 96% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java index 512adb8..e71eb3a 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java @@ -66,4 +66,6 @@ public interface SysUserRoleMapper extends BaseMapper { * @return 结果 */ public int deleteUserRoleInfos (@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); + + void insertUserRole(SysUserRole sysUserRole); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysConfigService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysConfigService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysConfigService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysConfigService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysDeptService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysDeptService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysDictDataService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysDictDataService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysDictDataService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysDictDataService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysDictTypeService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysDictTypeService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysDictTypeService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysDictTypeService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysLogininforService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysLogininforService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysLogininforService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysLogininforService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysMenuService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysMenuService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysMenuService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysMenuService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysNoticeService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysNoticeService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysNoticeService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysNoticeService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysOperLogService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysOperLogService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysOperLogService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysOperLogService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysPermissionService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysPermissionService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysPermissionService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysPermissionService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysPostService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysPostService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysPostService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysPostService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysRoleService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysRoleService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysUserOnlineService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysUserOnlineService.java similarity index 95% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysUserOnlineService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysUserOnlineService.java index 531735b..bf3622b 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysUserOnlineService.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysUserOnlineService.java @@ -1,6 +1,5 @@ package com.muyu.system.service; -import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.system.domain.LoginUser; import com.muyu.system.domain.SysUserOnline; diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysUserService.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysUserService.java similarity index 97% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysUserService.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysUserService.java index f4c6167..bedaa2a 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysUserService.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/SysUserService.java @@ -2,6 +2,7 @@ package com.muyu.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.system.domain.SysUser; +import org.apache.catalina.User; import java.util.List; @@ -225,4 +226,8 @@ public interface SysUserService extends IService { * @return 结果 */ public String importUser (List userList, Boolean isUpdateSupport, String operName); + + String updateByUserId(SysUser user); + + SysUser selectUserByUserType(Long userType); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysLogininforServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysLogininforServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysLogininforServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysLogininforServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java index e4e2ec8..7818c65 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java @@ -7,13 +7,13 @@ import com.muyu.common.core.utils.StringUtils; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; +import com.muyu.system.mapper.SysRoleMenuMapper; import com.muyu.system.domain.SysMenu; import com.muyu.system.domain.vo.MetaVo; import com.muyu.system.domain.vo.RouterVo; import com.muyu.system.domain.vo.TreeSelect; import com.muyu.system.mapper.SysMenuMapper; import com.muyu.system.mapper.SysRoleMapper; -import com.muyu.system.mapper.SysRoleMenuMapper; import com.muyu.system.service.SysMenuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysOperLogServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysOperLogServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysOperLogServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysOperLogServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java similarity index 97% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java index a8641a1..2fcaf81 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java @@ -1,10 +1,9 @@ package com.muyu.system.service.impl; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; -import com.muyu.system.service.SysMenuService; import com.muyu.system.service.SysPermissionService; +import com.muyu.system.service.SysMenuService; import com.muyu.system.service.SysRoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysPostServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysPostServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysPostServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysPostServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java similarity index 100% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserOnlineServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysUserOnlineServiceImpl.java similarity index 97% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserOnlineServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysUserOnlineServiceImpl.java index 8ede754..c1ef1ee 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserOnlineServiceImpl.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysUserOnlineServiceImpl.java @@ -1,6 +1,5 @@ package com.muyu.system.service.impl; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.system.domain.LoginUser; import com.muyu.system.domain.SysUserOnline; diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java similarity index 96% rename from muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java rename to muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index ab88e1c..30aa17f 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/muyu-modules/muyu-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -13,9 +13,9 @@ import com.muyu.common.system.domain.SysUser; import com.muyu.system.domain.SysPost; import com.muyu.system.domain.SysUserPost; import com.muyu.system.domain.SysUserRole; -import com.muyu.system.mapper.*; -import com.muyu.system.service.SysUserService; import com.muyu.system.service.SysConfigService; +import com.muyu.system.service.SysUserService; +import com.muyu.system.mapper.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -241,6 +241,12 @@ public class SysUserServiceImpl extends ServiceImpl impl // 新增用户岗位关联 insertUserPost(user); // 新增用户与角色管理 + if (101 == user.getRoleId()){ + SysUserRole sysUserRole = new SysUserRole(); + sysUserRole.setRoleId(Long.valueOf(101)); + sysUserRole.setUserId(user.getUserId()); + userRoleMapper.insertUserRole(sysUserRole); + } insertUserRole(user); return rows; } @@ -500,4 +506,17 @@ public class SysUserServiceImpl extends ServiceImpl impl return successMsg.toString(); } + @Override + public String updateByUserId(SysUser user) { + userMapper.updateByUserId(user); + return null; + } + + @Override + public SysUser selectUserByUserType(Long userType) { + String userType1=String.valueOf(userType); + SysUser user = userMapper.selectUserByUserType(userType1); + return user; + } + } diff --git a/muyu-modules/muyu-modules-system/src/main/resources/banner.txt b/muyu-modules/muyu-modules-system/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/muyu-modules/muyu-modules-system/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml b/muyu-modules/muyu-modules-system/src/main/resources/bootstrap.yml similarity index 74% rename from muyu-modules/muyu-system/src/main/resources/bootstrap.yml rename to muyu-modules/muyu-modules-system/src/main/resources/bootstrap.yml index a66fd4c..ea32ffa 100644 --- a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-modules-system/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: public config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: public # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-system/src/main/resources/logback.xml b/muyu-modules/muyu-modules-system/src/main/resources/logback.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/logback.xml rename to muyu-modules/muyu-modules-system/src/main/resources/logback.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysConfigMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysConfigMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysConfigMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysConfigMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysDeptMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysDeptMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysDictDataMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysDictDataMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysDictDataMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysDictTypeMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysDictTypeMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysDictTypeMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysLogininforMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysLogininforMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysLogininforMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysLogininforMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysMenuMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysMenuMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysMenuMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysMenuMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysNoticeMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysNoticeMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysNoticeMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysOperLogMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysOperLogMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysOperLogMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysOperLogMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysPostMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysPostMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysPostMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysPostMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysRoleMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysRoleMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysUserMapper.xml similarity index 91% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysUserMapper.xml index 6f633b7..667ebf2 100644 --- a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -9,6 +9,7 @@ + @@ -56,6 +57,7 @@ u.phonenumber, u.password, u.sex, + u.user_type, u.status, u.del_flag, u.login_ip, @@ -83,7 +85,7 @@ + + insert into sys_user( user_id, dept_id, user_name, + user_type, nick_name, email, avatar, @@ -203,6 +212,7 @@ #{userId}, #{deptId}, #{userName}, + #{userType}, #{nickName}, #{email}, #{avatar}, @@ -221,6 +231,7 @@ dept_id = #{deptId}, user_name = #{userName}, + user_type =#{userType}, nick_name = #{nickName}, email = #{email}, phonenumber = #{phonenumber}, @@ -254,6 +265,9 @@ set password = #{password} where user_name = #{userName} + + update sys_user_role set role_id = #{roleId} where user_id = #{userId} + update sys_user diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserPostMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysUserPostMapper.xml similarity index 100% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserPostMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysUserPostMapper.xml diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysUserRoleMapper.xml similarity index 92% rename from muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserRoleMapper.xml rename to muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysUserRoleMapper.xml index b93bc72..35619e8 100644 --- a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserRoleMapper.xml +++ b/muyu-modules/muyu-modules-system/src/main/resources/mapper/system/SysUserRoleMapper.xml @@ -34,6 +34,10 @@ (#{item.userId},#{item.roleId}) + + insert into sys_user_role(user_id, role_id) + values (#{userId}, #{roleId}) + delete diff --git a/muyu-modules/pom.xml b/muyu-modules/pom.xml index 846198c..6559a29 100644 --- a/muyu-modules/pom.xml +++ b/muyu-modules/pom.xml @@ -3,16 +3,16 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> com.muyu - muyu + muyu-server 3.6.3 4.0.0 - muyu-system - muyu-gen - muyu-job - muyu-file + muyu-modules-system + muyu-modules-gen + muyu-modules-job + muyu-modules-file muyu-modules diff --git a/muyu-vehicle/muyu-vehicle-service/pom.xml b/muyu-vehicle/muyu-vehicle-service/pom.xml new file mode 100644 index 0000000..f8ee882 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/pom.xml @@ -0,0 +1,131 @@ + + + 4.0.0 + + com.muyu + muyu-vehicle + 3.6.3 + + + muyu-vehicle-service + + + 17 + 17 + UTF-8 + + + muyu-vehicle-service业务系统模块 + + + + com.muyu + muyu-common-business + 3.6.3 + + + com.muyu + muyu-common-system + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + com.mysql + mysql-connector-j + + + + + com.muyu + muyu-common-datasource + + + + com.muyu + muyu-business + 3.6.3 + + + + com.muyu + muyu-common-datascope + + + + + com.muyu + muyu-common-log + + + + + + com.muyu + muyu-common-swagger + + + com.muyu + muyu-data-service + 3.6.3 + compile + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/MuYuVehicleApplication.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/MuYuVehicleApplication.java new file mode 100644 index 0000000..baac0e9 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/MuYuVehicleApplication.java @@ -0,0 +1,30 @@ +package com.muyu.vehicle; + + +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; + +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import com.muyu.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName VehicleApplication + * @Date 2024/05/27 19:33 + */ + +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication(exclude = {DynamicDataSourceAutoConfiguration.class, DataSourceAutoConfiguration.class }) +public class MuYuVehicleApplication { + public static void main (String[] args) { + SpringApplication.run(MuYuVehicleApplication.class, args); + } + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/FenceController.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/FenceController.java new file mode 100644 index 0000000..fed3f66 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/FenceController.java @@ -0,0 +1,110 @@ +package com.muyu.vehicle.controller; + +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.vehicle.domain.Fence; +import com.muyu.vehicle.service.IFenceService; +import lombok.extern.log4j.Log4j2; +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.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 围栏 中心 Controller BingRui.Hou + * + * @author + * @date 2024-05-31 + */ +@RestController +@RequestMapping("/fence") +@Log4j2 +public class FenceController extends BaseController +{ + @Autowired + private IFenceService fenceService; + + /** + * 查询围栏列表 + */ +// @RequiresPermissions("system:fence:list") + @GetMapping("/list") + public Result> list(Fence fence) + { + startPage(); + List list = fenceService.selectFenceList(fence); + log.info("list:{}",list); + return getDataTable(list); + } + + /** + * 导出围栏列表 + */ +// @RequiresPermissions("system:fence:export") + @Log(title = "围栏", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Fence fence) + { + List list = fenceService.selectFenceList(fence); + ExcelUtil util = new ExcelUtil(Fence.class); + util.exportExcel(response, list, "围栏数据"); + } + + /** + * 获取围栏详细信息 + */ +// @RequiresPermissions("system:fence:query") + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id) + { + return success(fenceService.selectFenceById(id)); + } + + /** + * 新增围栏 + */ +// @RequiresPermissions("system:fence:add") + @Log(title = "围栏", businessType = BusinessType.INSERT) + @PostMapping + public Result add(@RequestBody Fence fence) + { + return toAjax(fenceService.insertFence(fence)); + } + + /** + * 修改围栏 + */ +// @RequiresPermissions("system:fence:edit") + @Log(title = "围栏", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit(@RequestBody Fence fence) + { + return toAjax(fenceService.updateFence(fence)); + } + + /** + * 删除围栏 + */ +// @RequiresPermissions("system:fence:remove") + @Log(title = "围栏", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Result remove(@PathVariable Long[] ids) + { + return toAjax(fenceService.deleteFenceByIds(ids)); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/GroupController.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/GroupController.java new file mode 100644 index 0000000..75f3fe3 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/GroupController.java @@ -0,0 +1,105 @@ +package com.muyu.vehicle.controller; + +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.vehicle.domain.Group; +import com.muyu.vehicle.service.IGroupService; +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.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +/** + * 围栏组Controller + * + * @author xiaohuang + * @date 2024-06-02 + */ +@RestController +@RequestMapping("/group") +public class GroupController extends BaseController +{ + @Autowired + private IGroupService groupService; + + /** + * 查询围栏组列表 + */ +// @RequiresPermissions("system:group:list") + @GetMapping("/list") + public Result> list(Group group) + { + startPage(); + List list = groupService.selectGroupList(group); + return getDataTable(list); + } + + /** + * 导出围栏组列表 + */ +// @RequiresPermissions("system:group:export") + @Log(title = "围栏组", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Group group) + { + List list = groupService.selectGroupList(group); + ExcelUtil util = new ExcelUtil(Group.class); + util.exportExcel(response, list, "围栏组数据"); + } + + /** + * 获取围栏组详细信息 + */ +// @RequiresPermissions("system:group:query") + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id) + { + return success(groupService.selectGroupById(id)); + } + + /** + * 新增围栏组 + */ +// @RequiresPermissions("system:group:add") + @Log(title = "围栏组", businessType = BusinessType.INSERT) + @PostMapping + public Result add(@RequestBody Group group) + { + return toAjax(groupService.insertGroup(group)); + } + + /** + * 修改围栏组 + */ +// @RequiresPermissions("system:group:edit") + @Log(title = "围栏组", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit(@RequestBody Group group) + { + return toAjax(groupService.updateGroup(group)); + } + + /** + * 删除围栏组 + */ +// @RequiresPermissions("system:group:remove") + @Log(title = "围栏组", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Result remove(@PathVariable Long[] ids) + { + return toAjax(groupService.deleteGroupByIds(ids)); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/VehicleController.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/VehicleController.java new file mode 100644 index 0000000..e9ac5f2 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/VehicleController.java @@ -0,0 +1,100 @@ +package com.muyu.vehicle.controller; + + +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.web.page.TableDataInfo; + +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +import com.muyu.vehicle.domain.Vehicle; +import com.muyu.vehicle.service.IVehicleService; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 车辆录入Controller + * + * @author xiaohuang + * @date 2024-05-27 + */ +@RestController +@RequestMapping("/vehicle") +public class VehicleController extends BaseController +{ + @Autowired + private IVehicleService vehicleService; + + /** + * 查询车辆录入列表 + */ +// @RequiresPermissions("system:vehicle:list") + @GetMapping("/list") + public Result> list(Vehicle vehicle) + { + startPage(); + List list = vehicleService.selectVehicleList(vehicle); + return getDataTable(list); + } + + /** + * 导出车辆录入列表 + */ +// @RequiresPermissions("system:vehicle:export") +// @Log(title = "车辆录入", businessType = BusinessType.EXPORT) +// @PostMapping("/export") +// public void export(HttpServletResponse response, Vehicle vehicle) +// { +// List list = vehicleService.selectVehicleList(vehicle); +// ExcelUtil util = new ExcelUtil(Vehicle.class); +// util.exportExcel(response, list, "车辆录入数据"); +// } + + /** + * 获取车辆录入详细信息 + */ +// @RequiresPermissions("system:vehicle:query") + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id) + { + return success(vehicleService.selectVehicleById(id)); + } + + /** + * 新增车辆录入 + */ +// @RequiresPermissions("system:vehicle:add") + @Log(title = "车辆录入", businessType = BusinessType.INSERT) + @PostMapping + public Result add(@RequestBody Vehicle vehicle) + { + return toAjax(vehicleService.insertVehicle(vehicle)); + } + + /** + * 修改车辆录入 + */ +// @RequiresPermissions("system:vehicle:edit") + @Log(title = "车辆录入", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit(@RequestBody Vehicle vehicle) + { + return toAjax(vehicleService.updateVehicle(vehicle)); + } + + /** + * 删除车辆录入 + */ +// @RequiresPermissions("system:vehicle:remove") + @Log(title = "车辆录入", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Result remove(@PathVariable Long[] ids) + { + return toAjax(vehicleService.deleteVehicleByIds(ids)); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/ManyDataSource.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/ManyDataSource.java new file mode 100644 index 0000000..b380088 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/ManyDataSource.java @@ -0,0 +1,162 @@ +package com.muyu.vehicle.datasource; + + +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.fastjson2.JSON; +import com.rabbitmq.client.Channel; +import com.muyu.common.business.domain.Entinfo; +import com.muyu.common.business.remote.RemoteBusinessService; +import com.muyu.common.core.utils.SpringUtils; +import com.muyu.common.redis.service.RedisService; +import com.muyu.vehicle.datasource.config.factory.DruidDataSourceFactory; +import com.muyu.vehicle.datasource.config.role.DynamicDataSource; +import com.muyu.vehicle.datasource.domain.DataSourceInfo; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Lazy; +import org.springframework.context.annotation.Primary; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * xiaohuang + * 数据源配置 + */ +@Log4j2 +@Component +@AutoConfigureBefore(RedisService.class) +public class ManyDataSource { + + + @Autowired + private RedisTemplate redisTemplate; + + @Autowired + private RemoteBusinessService remoteBusinessService; + +// @Autowired +// private EntInfoFeign entInfoFeign; + + // @PostConstruct +// public void init() { +// new Thread(() -> { +// try { +// Thread.sleep(10000); +// } catch (InterruptedException e) { +// throw new RuntimeException(e); +// } +// +// }).start(); +// } + + //调用注解 添加队列名称 + @RabbitListener(queuesToDeclare = {@Queue(name = "muyu-vehicle-exchange")}) + public void smsConfig(String msg, Message message, Channel channel){ + //获取消息的ID + String messageId = message.getMessageProperties().getMessageId(); + try { + //添加消息id到redis set集合中 添加成功返回1 表示未消费 添加失败返回0 表示已消费 + Long count = redisTemplate.opsForSet().add("messageId", messageId); + //添加成功 正常消费信息 + if (count == 1) { + log.info("开始消费"); + druidData(msg); + //确认消费 + channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); + log.info("消费成功"); + } + } catch (Exception e) { + log.info("消费失败,尝试重连"); + try { + //回退消息,尝试重连 + druidData(msg); + channel.basicReject(message.getMessageProperties().getDeliveryTag(),false); + log.info("消费失败"); + } catch (IOException ex) { + //回退失败 + log.info("消费异常"); + } + } + } + + private void druidData(String msg) { + Entinfo entinfo1 = JSON.parseObject(msg, Entinfo.class); + log.info("消息为:{}",entinfo1); + DruidDataSourceFactory druidDataSourceFactory = SpringUtils.getBean(DruidDataSourceFactory.class); + DynamicDataSource dynamicDataSource = SpringUtils.getBean(DynamicDataSource.class); + DataSourceInfo dataSourceInfo = DataSourceInfo.hostAndPortBuild(entinfo1.getEntCode(), entinfo1.getIp(), entinfo1.getPort()); + DruidDataSource druidDataSource = druidDataSourceFactory.create(dataSourceInfo); + dynamicDataSource.put(dataSourceInfo.getKey(), druidDataSource); + } + + @Lazy + private List dataSourceInfoList(){ + List databaseNameList = new ArrayList<>(){{ + add(Entinfo.builder() + .entCode("test_00") + .ip("175.24.138.82") + .port(3306) + .build()); + }}; + List list = remoteBusinessService.listAll(); + databaseNameList.addAll(list); + +// List entinfo = redisTemplate.opsForList().range("entinfo", 0, -1); +// entinfo.forEach(string -> { +// Entinfo entInfo = JSON.parseObject(String.valueOf(string), Entinfo.class); +// databaseNameList.add(entInfo); +// }); + +// List entinfos = entInfoFeign.listAll(); +// databaseNameList.addAll(entinfos); + + +// if(SecurityUtils.getLoginUser() == null){ +// return databaseNameList; +// }else{ +// Long storeId = SecurityUtils.getLoginUser().getUserid(); +// SysUser sysUser = remoteUserService.selectByUserId(storeId); +// String s = redisService.getCacheObject(String.valueOf(sysUser.getUserType())); +// EntInfo entInfo = JSON.parseObject(s, EntInfo.class); +// databaseNameList.add(entInfo); +// return databaseNameList; +// } + return databaseNameList; + } + + + + @Bean + @Primary + public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) { + + //查企业 + Map dataSourceMap = new HashMap<>(); + dataSourceInfoList() + .stream() + .map(entInfo-> DataSourceInfo.hostAndPortBuild(entInfo.getEntCode(),entInfo.getIp(),entInfo.getPort())) + .forEach(dataSourceInfo -> { + dataSourceMap.put(dataSourceInfo.getKey(), druidDataSourceFactory.create(dataSourceInfo)); + }); + //设置动态数据源 + DynamicDataSource dynamicDataSource = new DynamicDataSource(); +// dynamicDataSource.setDefaultTargetDataSource(masterDataSource()); + dynamicDataSource.setTargetDataSources(dataSourceMap); + //将数据源信息备份在defineTargetDataSources中 + dynamicDataSource.setDefineTargetDataSources(dataSourceMap); + return dynamicDataSource; + } + + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/DataSourceAsp.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/DataSourceAsp.java new file mode 100644 index 0000000..ea51b06 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/DataSourceAsp.java @@ -0,0 +1,50 @@ +package com.muyu.vehicle.datasource.config; + + +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.remote.RemoteUserService; +import com.muyu.vehicle.datasource.config.holder.DynamicDataSourceHolder; +import org.aspectj.lang.annotation.After; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; + +/** + * xiaohuang + * 数据源切面 + * + */ +@Aspect +@Component +public class DataSourceAsp { + + @Pointcut("execution(public * com.muyu.vehicle.controller.*Controller.*(..))") + public void pointcut () { + } + + @Lazy + @Autowired + private RemoteUserService remoteUserService; + /** + * 的每一個方法執行之前 執行的處理 + */ + @Before("pointcut()") + public void beforeMethod() { + Long storeId = SecurityUtils.getLoginUser().getUserid(); + SysUser sysUser = remoteUserService.selectByUserId(storeId); + DynamicDataSourceHolder.setDynamicDataSourceKey("test_"+sysUser.getUserType()); + } + /** + * 的每一個方法執行之后 執行的處理 + * 无论正常还是异常终了 + * 不能接受到返回值 + */ + @After("pointcut()") + public void afterMethod() { + DynamicDataSourceHolder.removeDynamicDataSourceKey(); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/factory/DruidDataSourceFactory.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/factory/DruidDataSourceFactory.java new file mode 100644 index 0000000..8d99cc3 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/factory/DruidDataSourceFactory.java @@ -0,0 +1,40 @@ +package com.muyu.vehicle.datasource.config.factory; + + +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.pool.DruidPooledConnection; +import com.muyu.vehicle.datasource.domain.DataSourceInfo; +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Component; + +import java.sql.SQLException; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName DruidDataSourceFactory + * @Date 2024/06/04 14:47 + */ +@Log4j2 +@Component +public class DruidDataSourceFactory { + + + /** + * @Description: 根据传递的数据源信息测试数据库连接 + * @Author Dongzl + */ + public DruidDataSource create(DataSourceInfo dataSourceInfo) { + DruidDataSource druidDataSource = new DruidDataSource(); + druidDataSource.setUrl(dataSourceInfo.getUrl()); + druidDataSource.setUsername(dataSourceInfo.getUserName()); + druidDataSource.setPassword(dataSourceInfo.getPassword()); + druidDataSource.setBreakAfterAcquireFailure(true); + druidDataSource.setConnectionErrorRetryAttempts(0); + druidDataSource.setInitialSize(5); + druidDataSource.setMaxActive(15); + log.info("{} -> 数据源连接成功", dataSourceInfo); + return druidDataSource; + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/holder/DynamicDataSourceHolder.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/holder/DynamicDataSourceHolder.java new file mode 100644 index 0000000..e6ab835 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/holder/DynamicDataSourceHolder.java @@ -0,0 +1,43 @@ +package com.muyu.vehicle.datasource.config.holder; + + +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.Assert; + +/** + * 数据源切换处理 + * + * @author Dongzl + */ +@Slf4j +public class DynamicDataSourceHolder { + /** + * 保存动态数据源名称 + */ + private static final ThreadLocal DYNAMIC_DATASOURCE_KEY = new ThreadLocal<>(); + + /** + * 设置/切换数据源,决定当前线程使用哪个数据源 + */ + public static void setDynamicDataSourceKey(String key){ + log.info("数据源切换为:{}",key); + DYNAMIC_DATASOURCE_KEY.set(key); + } + + /** + * 获取动态数据源名称,默认使用mater数据源 + */ + public static String getDynamicDataSourceKey(){ + String key = DYNAMIC_DATASOURCE_KEY.get(); + Assert.notNull(key, "请携带数据标识"); + return key; + } + + /** + * 移除当前数据源 + */ + public static void removeDynamicDataSourceKey(){ + log.info("移除数据源:{}",DYNAMIC_DATASOURCE_KEY.get()); + DYNAMIC_DATASOURCE_KEY.remove(); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/role/DynamicDataSource.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/role/DynamicDataSource.java new file mode 100644 index 0000000..b957a27 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/config/role/DynamicDataSource.java @@ -0,0 +1,49 @@ +package com.muyu.vehicle.datasource.config.role; + + +import com.alibaba.druid.pool.DruidDataSource; +import com.muyu.vehicle.datasource.config.holder.DynamicDataSourceHolder; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; + +import java.util.Map; + +/** + * 动态数据源 + * 调用AddDefineDataSource组件的addDefineDynamicDataSource()方法,获取原来targetdatasources的map,并将新的数据源信息添加到map中,并替换targetdatasources中的map + * 切换数据源时可以使用@DataSource(value = "数据源名称"),或者DynamicDataSourceContextHolder.setContextKey("数据源名称") + * @author xiaohuang + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class DynamicDataSource extends AbstractRoutingDataSource { + /** + * 备份所有数据源信息, 指针!! + */ + private Map defineTargetDataSources; + + + /** + * 决定当前线程使用哪个数据源 + */ + @Override + protected Object determineCurrentLookupKey() { + return DynamicDataSourceHolder.getDynamicDataSourceKey(); + } + + + /** + * 添加数据库 + * @param key 键 + * @param value 数据源 + */ + public void put(String key, DruidDataSource value) { + defineTargetDataSources.put(key, value); + this.afterPropertiesSet(); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/contents/DatasourceContent.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/contents/DatasourceContent.java new file mode 100644 index 0000000..e04ca9b --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/contents/DatasourceContent.java @@ -0,0 +1,15 @@ +package com.muyu.vehicle.datasource.contents; + +/** + * xiaohuang + * 数据源常量 + * + */ +public class DatasourceContent { + + public final static String DATASOURCE_URL = "jdbc:mysql://{}:{}/zhiLian-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; + + public final static String USER_NAME = "root"; + + public final static String PASSWORD = "hyj@123"; +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/domain/DataSourceInfo.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/domain/DataSourceInfo.java new file mode 100644 index 0000000..6bd30fc --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/domain/DataSourceInfo.java @@ -0,0 +1,52 @@ +package com.muyu.vehicle.datasource.domain; + + +import com.muyu.common.core.utils.StringUtils; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import static com.muyu.vehicle.datasource.contents.DatasourceContent.*; + + +/** + * xiaohuang + * 数据源实体类 + * + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DataSourceInfo { + + /** + * 键 + */ + private String key; + + /** + * 地址 + */ + private String url; + + /** + * 用户名 + */ + private String userName; + + /** + * 密码 + */ + private String password; + + public static DataSourceInfo hostAndPortBuild(String key,String host, Integer port){ + return DataSourceInfo.builder() + .key(key) + .url(StringUtils.format(DATASOURCE_URL, host,port)) + .password(PASSWORD) + .userName(USER_NAME) + .build(); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/feign/EntInfoFeign.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/feign/EntInfoFeign.java new file mode 100644 index 0000000..6de1d57 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/feign/EntInfoFeign.java @@ -0,0 +1,21 @@ +//package com.muyu.vehicle.datasource.feign; +// +// +//import com.muyu.common.business.Entinfo; +//import org.springframework.cloud.openfeign.FeignClient; +//import org.springframework.web.bind.annotation.GetMapping; +// +//import java.util.List; +// +///** +// * xiaohuang +// * +// * @Description 描述 +// * @ClassName EntInfoFeign +// * @Date 2024/06/07 17:25 +// */ +//@FeignClient(value = "muyu-business-service") +//public interface EntInfoFeign { +// @GetMapping("/entinfo/listAll") +// public List listAll(); +//} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/util/DataSourceService.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/util/DataSourceService.java new file mode 100644 index 0000000..d448f95 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/datasource/util/DataSourceService.java @@ -0,0 +1,48 @@ +package com.muyu.vehicle.datasource.util; + +import com.alibaba.druid.pool.DruidDataSource; +import com.muyu.vehicle.datasource.ManyDataSource; +import com.muyu.vehicle.datasource.config.factory.DruidDataSourceFactory; +import com.muyu.vehicle.datasource.config.role.DynamicDataSource; +import com.muyu.vehicle.datasource.domain.DataSourceInfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Map; + +/** + * 数据源工具类 + * xiaohuang + * + * + */ +@Slf4j +@Component +public class DataSourceService { + + @Autowired + private ManyDataSource druidConfig; + + @Autowired + private DruidDataSourceFactory druidDataSourceFactory; + + @Resource + private DynamicDataSource dynamicDataSource; + +// public void addDataSource(DataSourceInfo dataSourceInfo){ +// addDefineDynamicDataSource(druidDataSourceFactory.create(dataSourceInfo), dataSourceInfo.getKey()); +// } + + /** + * @Description: 将新增的数据源加入到备份数据源map中 + * @Author Dongzl + */ +// public void addDefineDynamicDataSource(DruidDataSource druidDataSource, String dataSourceName){ +// Map defineTargetDataSources = dynamicDataSource.getDefineTargetDataSources(); +// defineTargetDataSources.put(dataSourceName, druidDataSource); +// dynamicDataSource.setTargetDataSources(defineTargetDataSources); +// dynamicDataSource.afterPropertiesSet(); +// } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Fence.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Fence.java new file mode 100644 index 0000000..638a5bd --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Fence.java @@ -0,0 +1,74 @@ +package com.muyu.vehicle.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import com.muyu.vehicle.domain.vo.Path; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.List; + + +/** + * 围栏对象 fence + * + * @author muyu + * @date 2024-05-31 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("fence") +public class Fence extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 围栏主键 */ + private Long id; + + /** 围栏名称 */ + @Excel(name = "围栏名称") + private String name; + + @Excel(name = "围栏组ID") + private Long groupId; + + /** 围栏经纬集合 */ + @TableField(exist = false) + private List path; + /** 围栏经纬 */ + @Excel(name = "围栏经纬") + private String fenceLongitudeLatitude; + + /** 围栏备注 */ + @Excel(name = "围栏备注") + private String fenceDescription; + /** 半径 */ + @Excel(name = "半径") + private Double radius; + + /** 驶入,驶出 */ + @Excel(name = "驶入,驶出") + private String eventType; + + /** 是否删除 0 不删除 1删除 */ + @Excel(name = "是否删除 0 不删除 1删除") + private String isDelete; + + /** 围栏状态 */ + @Excel(name = "围栏状态") + private String fenceState; + + + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Group.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Group.java new file mode 100644 index 0000000..a20ac9c --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Group.java @@ -0,0 +1,47 @@ +package com.muyu.vehicle.domain; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 围栏组对象 group + * + * @author muyu + * @date 2024-06-02 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("group") +public class Group extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 围栏组ID */ + private Long id; + + /** 围栏组名称 */ + @Excel(name = "围栏组名称") + private String groupName; + + /** 修改时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updateTime; + + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Type.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Type.java new file mode 100644 index 0000000..fa0a59c --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Type.java @@ -0,0 +1,31 @@ +package com.muyu.vehicle.domain; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName Type + * @Date 2024/06/09 15:40 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@TableName("type") +public class Type { + + @TableId + private Long id; + + @TableField(value = "type_name") + private String typeName; +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Vehicle.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Vehicle.java new file mode 100644 index 0000000..6a2d8f8 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/Vehicle.java @@ -0,0 +1,68 @@ +package com.muyu.vehicle.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 车辆录入对象 vehicle + * + * @author muyu + * @date 2024-05-27 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("vehicle") +public class Vehicle extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 车辆主键 */ + private Long id; + + /** 车辆vin */ + @Excel(name = "车辆vin") + private String number; + + /** 车辆类型 */ + @Excel(name = "车辆类型") + private Long typeId; + + /** 电子围栏ID */ + @Excel(name = "电子围栏ID") + private Long electonicId; + + /** 电机厂商 */ + @Excel(name = "电机厂商") + private String motor; + + /** 电池厂商 */ + @Excel(name = "电池厂商") + private String battery; + + /** 电机编号 */ + @Excel(name = "电机编号") + private Long motorNumber; + + /** 电池编号 */ + @Excel(name = "电池编号") + private Long batteryNumber; + + /** 企业ID */ +// @Excel(name = "企业ID") +// private Long businessId; + + @Excel(name="围栏组ID") + private Long groupId; + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/Path.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/Path.java new file mode 100644 index 0000000..e0e95b2 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/Path.java @@ -0,0 +1,31 @@ +package com.muyu.vehicle.domain.vo; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +/** + * xiaohuang + * + * @Description 描述 + * @ClassName Path + * @Date 2024/06/02 10:48 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class Path { + + private String Q; + + private String R; + + private String lng; + + private String lat; + +} + diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/VehicleReq.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/VehicleReq.java new file mode 100644 index 0000000..33d035f --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/VehicleReq.java @@ -0,0 +1,55 @@ +package com.muyu.vehicle.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.*; +import lombok.experimental.SuperBuilder; + +/** + * 车辆录入对象 vehicle + * + * @author muyu + * @date 2024-05-27 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class VehicleReq +{ + + + /** 车辆主键 */ + private Long id; + + /** 车辆vin */ + private String number; + + /** 车辆类型 */ + private Long typeId; + + /** 电子围栏ID */ + private Long electonicId; + + /** 电机厂商 */ + private String motor; + + /** 电池厂商 */ + private String battery; + + /** 电机编号 */ + private Long motorNumber; + + /** 电池编号 */ + private Long batteryNumber; + + /** 企业ID */ + private Long businessId; + + /** + * 企业名称 + */ + private String businessNam; + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/VehicleVo.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/VehicleVo.java new file mode 100644 index 0000000..942642e --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/domain/vo/VehicleVo.java @@ -0,0 +1,54 @@ +package com.muyu.vehicle.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * 车辆录入对象 vehicle + * + * @author muyu + * @date 2024-05-27 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class VehicleVo extends BaseEntity +{ + + + /** 车辆主键 */ + private Long id; + + /** 车辆vin */ + private String number; + + /** 电子围栏ID */ + private Long electonicId; + + /** 电机厂商 */ + private String motor; + + /** 电池厂商 */ + private String battery; + + /** 电机编号 */ + private Long motorNumber; + + /** 电池编号 */ + private Long batteryNumber; + + /** 企业ID */ +// @Excel(name = "企业ID") +// private Long businessId; + private Long groupId; + + private String typeName; + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/FenceMapper.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/FenceMapper.java new file mode 100644 index 0000000..a89ed04 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/FenceMapper.java @@ -0,0 +1,65 @@ +package com.muyu.vehicle.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.vehicle.domain.Fence; +import com.muyu.vehicle.domain.Vehicle; + +import java.util.List; + +/** + * 围栏Mapper接口 + * + * @author muyu + * @date 2024-05-31 + */ +public interface FenceMapper extends BaseMapper +{ + + /** + * 查询围栏 + * + * @param id 围栏主键 + * @return 围栏 + */ + public Fence selectFenceById(Long id); + + /** + * 查询围栏列表 + * + * @param fence 围栏 + * @return 围栏集合 + */ + public List selectFenceList(Fence fence); + + /** + * 新增围栏 + * + * @param fence 围栏 + * @return 结果 + */ + public int insertFence(Fence fence); + + /** + * 修改围栏 + * + * @param fence 围栏 + * @return 结果 + */ + public int updateFence(Fence fence); + + /** + * 删除围栏 + * + * @param id 围栏主键 + * @return 结果 + */ + public int deleteFenceById(Long id); + + /** + * 批量删除围栏 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteFenceByIds(Long[] ids); +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/GroupMapper.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/GroupMapper.java new file mode 100644 index 0000000..7345214 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/GroupMapper.java @@ -0,0 +1,64 @@ +package com.muyu.vehicle.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.vehicle.domain.Group; + +import java.util.List; + + +/** + * 围栏组Mapper接口 + * + * @author muyu + * @date 2024-06-02 + */ +public interface GroupMapper extends BaseMapper +{ + /** + * 查询围栏组 + * + * @param id 围栏组主键 + * @return 围栏组 + */ + public Group selectGroupById(Long id); + + /** + * 查询围栏组列表 + * + * @param group 围栏组 + * @return 围栏组集合 + */ + public List selectGroupList(Group group); + + /** + * 新增围栏组 + * + * @param group 围栏组 + * @return 结果 + */ + public int insertGroup(Group group); + + /** + * 修改围栏组 + * + * @param group 围栏组 + * @return 结果 + */ + public int updateGroup(Group group); + + /** + * 删除围栏组 + * + * @param id 围栏组主键 + * @return 结果 + */ + public int deleteGroupById(Long id); + + /** + * 批量删除围栏组 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteGroupByIds(Long[] ids); +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/VehicleMapper.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/VehicleMapper.java new file mode 100644 index 0000000..0e0883f --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/VehicleMapper.java @@ -0,0 +1,64 @@ +package com.muyu.vehicle.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.vehicle.domain.Vehicle; + +import java.util.List; + +/** + * 车辆录入Mapper接口 + * + * @author muyu + * @date 2024-05-27 + */ +public interface VehicleMapper extends BaseMapper +{ + /** + * 查询车辆录入 + * + * @param id 车辆录入主键 + * @return 车辆录入 + */ + public Vehicle selectVehicleById(Long id); + + /** + * 查询车辆录入列表 + * + * @param vehicle 车辆录入 + * @return 车辆录入集合 + */ + public List selectVehicleList(Vehicle vehicle); + + /** + * 新增车辆录入 + * + * @param vehicle 车辆录入 + * @return 结果 + */ + public int insertVehicle(Vehicle vehicle); + + /** + * 修改车辆录入 + * + * @param vehicle 车辆录入 + * @return 结果 + */ + public int updateVehicle(Vehicle vehicle); + + /** + * 删除车辆录入 + * + * @param id 车辆录入主键 + * @return 结果 + */ + public int deleteVehicleById(Long id); + + /** + * 批量删除车辆录入 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteVehicleByIds(Long[] ids); +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/ConfirmCallbackConfig.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/ConfirmCallbackConfig.java new file mode 100644 index 0000000..ab7b13d --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/ConfirmCallbackConfig.java @@ -0,0 +1,48 @@ +package com.muyu.vehicle.rabbitmq.config; + +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 消息发送确认配置 消息发送到交换机的确认 + */ +@Component +public class ConfirmCallbackConfig implements RabbitTemplate.ConfirmCallback { + + @Autowired + private RabbitTemplate rabbitTemplate; + + /** + * @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执 + * @PostConstruct bean 被初始化的时候执行的方法的注解 + * @PreDestory bean 被销毁的时候执行的方法的注解 + */ + @PostConstruct + public void init() { + rabbitTemplate.setConfirmCallback(this); + } + + /** + * 交换机不管是否收到消息的一个回调方法 + * + * @param correlationData 消息相关数据 + * @param ack 交换机是否收到消息 + * @param cause 失败原因 + */ + @Override + public void confirm(CorrelationData correlationData, boolean ack, String cause) { + if (ack) { + // 消息投递到 broker 的状态,true表示成功 + System.out.println("消息发送成功!"); + } else { + // 发送异常 + System.out.println("发送异常原因 = " + cause); + // TODO 可以将消息 内容 以及 失败的原因 记录到 日志表中 + } + } + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/RabbitAdminConfig.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/RabbitAdminConfig.java new file mode 100644 index 0000000..f24ffe1 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/RabbitAdminConfig.java @@ -0,0 +1,53 @@ +package com.muyu.vehicle.rabbitmq.config; + +import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * RabbitAdmin是RabbitMQ的一个Java客户端库,它提供了管理RabbitMQ资源的功能。它是通过与RabbitMQ服务器进行交互来执行管理操作的。 + */ +@Configuration +public class RabbitAdminConfig { + + @Value("${spring.rabbitmq.host}") + private String host; + @Value("${spring.rabbitmq.username}") + private String username; + @Value("${spring.rabbitmq.password}") + private String password; + @Value("${spring.rabbitmq.virtualhost}") + private String virtualhost; + + /** + * 构建 RabbitMQ的连接工厂 + * @return + */ + @Bean + public ConnectionFactory connectionFactory() { + CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); + connectionFactory.setAddresses(host); + connectionFactory.setUsername(username); + connectionFactory.setPassword(password); + connectionFactory.setVirtualHost(virtualhost); + // 配置发送确认回调时,次配置必须配置,否则即使在RabbitTemplate配置了ConfirmCallback也不会生效 + connectionFactory.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.CORRELATED); + connectionFactory.setPublisherReturns(true); + return connectionFactory; + } + + /** + * 自己初始化 RabbitAdmin + * @param connectionFactory + * @return + */ + @Bean + public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) { + RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); + rabbitAdmin.setAutoStartup(true); + return rabbitAdmin; + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/RabbitmqConfig.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/RabbitmqConfig.java new file mode 100644 index 0000000..0511b1f --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/RabbitmqConfig.java @@ -0,0 +1,15 @@ +package com.muyu.vehicle.rabbitmq.config; + +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; +import org.springframework.amqp.support.converter.MessageConverter; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class RabbitmqConfig { + // 消息转换配置 + @Bean + public MessageConverter jsonMessageConverter() { + return new Jackson2JsonMessageConverter(); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/ReturnCallbackConfig.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/ReturnCallbackConfig.java new file mode 100644 index 0000000..44e4483 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/ReturnCallbackConfig.java @@ -0,0 +1,34 @@ +package com.muyu.vehicle.rabbitmq.config; + +import org.springframework.amqp.core.ReturnedMessage; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 消息发送到队列的确认 一旦消息发送到队列失败 则会执行 returnedMessage 方法 + */ +@Component +public class ReturnCallbackConfig implements RabbitTemplate.ReturnsCallback { + + @Autowired + private RabbitTemplate rabbitTemplate; + + @PostConstruct // @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执 + public void init() { + rabbitTemplate.setReturnsCallback(this); + } + + /** + * 消息发送到 队列失败 执行的 方法 + * @param returnedMessage the returned message and metadata. + */ + @Override + public void returnedMessage(ReturnedMessage returnedMessage) { + System.out.println("消息" + returnedMessage.getMessage().toString() + "被交换机" + returnedMessage.getExchange() + "回退!" + + "退回原因为:" + returnedMessage.getReplyText()); + // 回退了所有的信息,可做补偿机制 记录到 数据库 + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/SendCodeConfig.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/SendCodeConfig.java new file mode 100644 index 0000000..f75a18e --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/rabbitmq/config/SendCodeConfig.java @@ -0,0 +1,66 @@ +//package com.muyu.vehicle.rabbitmq.config;//package com.bwie.sms.config; +// +// +//import com.rabbitmq.client.Channel; +//import lombok.extern.log4j.Log4j2; +//import org.springframework.amqp.core.Message; +//import org.springframework.amqp.rabbit.annotation.Queue; +//import org.springframework.amqp.rabbit.annotation.RabbitListener; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.data.redis.core.RedisTemplate; +//import org.springframework.stereotype.Component; +// +//import java.io.IOException; +//import java.util.HashMap; +// +///** +// * @BelongsProject: Bob_Up_Like_A_Cork +// * @BelongsPackage: com.bwie.sms.config +// * @Author: zhangquan +// * @CreateTime: 2023/7/30 20:48 +// */ +//@Component +//@Log4j2 +//public class SendCodeConfig { +// @Autowired +// private RedisTemplate redisTemplate; +// +// //调用注解 添加队列名称 +// @RabbitListener(queuesToDeclare = {@Queue(name = "muyu-vehicle-exchange")}) +// public void smsConfig(String msg, Message message, Channel channel){ +// //获取消息的ID +// String messageId = message.getMessageProperties().getMessageId(); +// try { +// //添加消息id到redis set集合中 添加成功返回1 表示未消费 添加失败返回0 表示已消费 +// Long count = redisTemplate.opsForSet().add("messageId", messageId); +// //添加成功 正常消费信息 +// if (count == 1) { +// log.info("开始消费"); +// //将业务层接受的数据反序列为请求类对象 +// +// //调用工具类发送验证码 +// +// //反序列化 +// +// +// //判断是否发送成功 不成功继续发送 +// +// //确认消费 +// channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); +// log.info("消费成功"); +// } +// } catch (Exception e) { +// //删除队列ID +// +// log.info("消费重复"); +// try { +// //回退消息 +// channel.basicReject(message.getMessageProperties().getDeliveryTag(),true); +// log.info("消费失败"); +// } catch (IOException ex) { +// //回退失败 +// log.info("消费异常"); +// } +// } +// } +//} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IFenceService.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IFenceService.java new file mode 100644 index 0000000..501188d --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IFenceService.java @@ -0,0 +1,65 @@ +package com.muyu.vehicle.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.vehicle.domain.Fence; +import com.muyu.vehicle.domain.Vehicle; + +/** + * 围栏Service接口 + * + * @author muyu + * @date 2024-05-31 + */ +public interface IFenceService extends IService +{ + + /** + * 查询围栏 + * + * @param id 围栏主键 + * @return 围栏 + */ + public Fence selectFenceById(Long id); + + /** + * 查询围栏列表 + * + * @param fence 围栏 + * @return 围栏集合 + */ + public List selectFenceList(Fence fence); + + /** + * 新增围栏 + * + * @param fence 围栏 + * @return 结果 + */ + public int insertFence(Fence fence); + + /** + * 修改围栏 + * + * @param fence 围栏 + * @return 结果 + */ + public int updateFence(Fence fence); + + /** + * 批量删除围栏 + * + * @param ids 需要删除的围栏主键集合 + * @return 结果 + */ + public int deleteFenceByIds(Long[] ids); + + /** + * 删除围栏信息 + * + * @param id 围栏主键 + * @return 结果 + */ + public int deleteFenceById(Long id); +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IGroupService.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IGroupService.java new file mode 100644 index 0000000..6e3d63e --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IGroupService.java @@ -0,0 +1,65 @@ +package com.muyu.vehicle.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.vehicle.domain.Fence; +import com.muyu.vehicle.domain.Group; + +import java.util.List; + +/** + * 围栏组Service接口 + * + * @author muyu + * @date 2024-06-02 + */ +public interface IGroupService extends IService +{ + /** + * 查询围栏组 + * + * @param id 围栏组主键 + * @return 围栏组 + */ + public Group selectGroupById(Long id); + + /** + * 查询围栏组列表 + * + * @param group 围栏组 + * @return 围栏组集合 + */ + public List selectGroupList(Group group); + + /** + * 新增围栏组 + * + * @param group 围栏组 + * @return 结果 + */ + public int insertGroup(Group group); + + /** + * 修改围栏组 + * + * @param group 围栏组 + * @return 结果 + */ + public int updateGroup(Group group); + + /** + * 批量删除围栏组 + * + * @param ids 需要删除的围栏组主键集合 + * @return 结果 + */ + public int deleteGroupByIds(Long[] ids); + + /** + * 删除围栏组信息 + * + * @param id 围栏组主键 + * @return 结果 + */ + public int deleteGroupById(Long id); +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IVehicleService.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IVehicleService.java new file mode 100644 index 0000000..d393856 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/IVehicleService.java @@ -0,0 +1,65 @@ +package com.muyu.vehicle.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.vehicle.domain.Vehicle; + +import java.util.List; + +/** + * 车辆录入Service接口 + * + * @author muyu + * @date 2024-05-27 + */ +public interface IVehicleService extends IService +{ + + /** + * 查询车辆录入 + * + * @param id 车辆录入主键 + * @return 车辆录入 + */ + public Vehicle selectVehicleById(Long id); + + /** + * 查询车辆录入列表 + * + * @param vehicle 车辆录入 + * @return 车辆录入集合 + */ + public List selectVehicleList(Vehicle vehicle); + + /** + * 新增车辆录入 + * + * @param vehicle 车辆录入 + * @return 结果 + */ + public int insertVehicle(Vehicle vehicle); + + /** + * 修改车辆录入 + * + * @param vehicle 车辆录入 + * @return 结果 + */ + public int updateVehicle(Vehicle vehicle); + + /** + * 批量删除车辆录入 + * + * @param ids 需要删除的车辆录入主键集合 + * @return 结果 + */ + public int deleteVehicleByIds(Long[] ids); + + /** + * 删除车辆录入信息 + * + * @param id 车辆录入主键 + * @return 结果 + */ + public int deleteVehicleById(Long id); +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/FenceServiceImpl.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/FenceServiceImpl.java new file mode 100644 index 0000000..4790910 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/FenceServiceImpl.java @@ -0,0 +1,102 @@ +package com.muyu.vehicle.service.impl; + +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.DateUtils; +import com.muyu.vehicle.domain.Fence; +import com.muyu.vehicle.mapper.FenceMapper; +import com.muyu.vehicle.service.IFenceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * 围栏Service业务层处理 + * + * @author muyu + * @date 2024-05-31 + */ +@Service +public class FenceServiceImpl extends ServiceImpl + implements IFenceService +{ + @Autowired + private FenceMapper fenceMapper; + + /** + * 查询围栏 + * + * @param id 围栏主键 + * @return 围栏 + */ + @Override + public Fence selectFenceById(Long id) + { + return fenceMapper.selectFenceById(id); + } + + /** + * 查询围栏列表 + * + * @param fence 围栏 + * @return 围栏 + */ + @Override + public List selectFenceList(Fence fence) + { + return fenceMapper.selectFenceList(fence); + } + + /** + * 新增围栏 + * + * @param fence 围栏 + * @return 结果 + */ + @Override + public int insertFence(Fence fence) + { +// String jsonString = JSON.toJSONString(fence.getPath()); + String string = fence.getPath().toString(); + fence.setFenceLongitudeLatitude(string); + fence.setCreateTime(DateUtils.getNowDate()); + return fenceMapper.insertFence(fence); + } + + /** + * 修改围栏 + * + * @param fence 围栏 + * @return 结果 + */ + @Override + public int updateFence(Fence fence) + { + fence.setUpdateTime(DateUtils.getNowDate()); + return fenceMapper.updateFence(fence); + } + + /** + * 批量删除围栏 + * + * @param ids 需要删除的围栏主键 + * @return 结果 + */ + @Override + public int deleteFenceByIds(Long[] ids) + { + return fenceMapper.deleteFenceByIds(ids); + } + + /** + * 删除围栏信息 + * + * @param id 围栏主键 + * @return 结果 + */ + @Override + public int deleteFenceById(Long id) + { + return fenceMapper.deleteFenceById(id); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/GroupServiceImpl.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/GroupServiceImpl.java new file mode 100644 index 0000000..e6f09aa --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/GroupServiceImpl.java @@ -0,0 +1,100 @@ +package com.muyu.vehicle.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.DateUtils; +import com.muyu.vehicle.domain.Group; +import com.muyu.vehicle.mapper.GroupMapper; +import com.muyu.vehicle.service.IGroupService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * 围栏组Service业务层处理 + * + * @author muyu + * @date 2024-06-02 + */ +@Service +public class GroupServiceImpl extends ServiceImpl + implements IGroupService +{ + @Autowired + private GroupMapper groupMapper; + + /** + * 查询围栏组 + * + * @param id 围栏组主键 + * @return 围栏组 + */ + @Override + public Group selectGroupById(Long id) + { + return groupMapper.selectGroupById(id); + } + + /** + * 查询围栏组列表 + * + * @param group 围栏组 + * @return 围栏组 + */ + @Override + public List selectGroupList(Group group) + { + return groupMapper.selectGroupList(group); + } + + /** + * 新增围栏组 + * + * @param group 围栏组 + * @return 结果 + */ + @Override + public int insertGroup(Group group) + { + group.setCreateTime(DateUtils.getNowDate()); + return groupMapper.insertGroup(group); + } + + /** + * 修改围栏组 + * + * @param group 围栏组 + * @return 结果 + */ + @Override + public int updateGroup(Group group) + { + return groupMapper.updateGroup(group); + } + + /** + * 批量删除围栏组 + * + * @param ids 需要删除的围栏组主键 + * @return 结果 + */ + @Override + public int deleteGroupByIds(Long[] ids) + { + return groupMapper.deleteGroupByIds(ids); + } + + /** + * 删除围栏组信息 + * + * @param id 围栏组主键 + * @return 结果 + */ + @Override + public int deleteGroupById(Long id) + { + return groupMapper.deleteGroupById(id); + } +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/VehicleServiceImpl.java b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/VehicleServiceImpl.java new file mode 100644 index 0000000..b19cffb --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/impl/VehicleServiceImpl.java @@ -0,0 +1,139 @@ +package com.muyu.vehicle.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.DateUtils; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.system.domain.LoginUser; +import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.remote.RemoteFileService; +import com.muyu.common.system.remote.RemoteUserService; +import com.muyu.vehicle.datasource.config.role.DynamicDataSource; +import com.muyu.vehicle.domain.Vehicle; +import com.muyu.vehicle.mapper.VehicleMapper; +import com.muyu.vehicle.service.IVehicleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 车辆录入Service业务层处理 + * + * @author muyu + * @date 2024-05-27 + */ +@Service +public class VehicleServiceImpl extends ServiceImpl + implements IVehicleService +{ + @Autowired + private VehicleMapper vehicleMapper; + + @Autowired + private RemoteUserService remoteUserService; + +// @Autowired +// private IBusinessService businessService; + + @Autowired + private RemoteFileService remoteFileService; + + /** + * 查询车辆录入 + * + * @param id 车辆录入主键 + * @return 车辆录入 + */ + @Override + public Vehicle selectVehicleById(Long id) + { + return vehicleMapper.selectVehicleById(id); + } + + + /** + * 查询车辆录入列表 + * + * @param vehicle 车辆录入 + * @return 车辆录入 + */ + @Override + public List selectVehicleList(Vehicle vehicle) + { + + LoginUser loginUser = SecurityUtils.getLoginUser(); + SysUser user = remoteUserService.selectByUserId(loginUser.getUserid()); + if (user.getUserType().equals("00")) { + return vehicleMapper.selectVehicleList(vehicle); + } + +// vehicle.setBusinessId(Long.valueOf(user.getUserType())); + List vehicles = vehicleMapper.selectVehicleList(vehicle); +// vehicles.forEach(vehicle1 -> { +// Result result = remoteFileService.getInfo(vehicle1.getId()); +// Business business = (Business) result.getData(); +// vehicle1.setBusinessNam(business.getName()); +// }); + + return vehicles; + } + + /** + * 新增车辆录入 + * + * @param vehicle 车辆录入 + * @return 结果 + */ + @Override + public int insertVehicle(Vehicle vehicle) + { +// LoginUser loginUser = SecurityUtils.getLoginUser(); +// SysUser user = remoteUserService.selectByUserId(loginUser.getUserid()); +// vehicle.setBusinessId(Long.valueOf(user.getUserType())); + vehicle.setCreateTime(DateUtils.getNowDate()); + return vehicleMapper.insertVehicle(vehicle); + } + + /** + * 修改车辆录入 + * + * @param vehicle 车辆录入 + * @return 结果 + */ + @Override + public int updateVehicle(Vehicle vehicle) + { + LoginUser loginUser = SecurityUtils.getLoginUser(); + SysUser user = remoteUserService.selectByUserId(loginUser.getUserid()); +// vehicle.setBusinessId(Long.valueOf(user.getUserType())); + vehicle.setCreateTime(DateUtils.getNowDate()); + vehicle.setUpdateTime(DateUtils.getNowDate()); + return vehicleMapper.updateVehicle(vehicle); + } + + /** + * 批量删除车辆录入 + * + * @param ids 需要删除的车辆录入主键 + * @return 结果 + */ + @Override + public int deleteVehicleByIds(Long[] ids) + { + return vehicleMapper.deleteVehicleByIds(ids); + } + + /** + * 删除车辆录入信息 + * + * @param id 车辆录入主键 + * @return 结果 + */ + @Override + public int deleteVehicleById(Long id) + { + return vehicleMapper.deleteVehicleById(id); + } + +} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/resources/banner.txt b/muyu-vehicle/muyu-vehicle-service/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/resources/bootstrap.yml b/muyu-vehicle/muyu-vehicle-service/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..b4cd850 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/resources/bootstrap.yml @@ -0,0 +1,46 @@ +# Tomcat +server: + port: 9212 + +# Spring +spring: + rabbitmq: + username: guest + password: guest + virtualHost: / + port: 5672 + host: 175.24.138.82 + listener: + simple: + prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条 + publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) + publisher-returns: true #确 + main: + allow-circular-references: true + application: + # 应用名称 + name: muyu-vehicle + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: public + config: + # 配置中心地址 + server-addr: 175.24.138.82:8848 + # 命名空间 + namespace: public + # 改善嘴巴子 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +logging: + level: + com.muyu.vehicle.mapper: DEBUG diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/resources/logback.xml b/muyu-vehicle/muyu-vehicle-service/src/main/resources/logback.xml new file mode 100644 index 0000000..6638be6 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/fence/FenceMapper.xml b/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/fence/FenceMapper.xml new file mode 100644 index 0000000..5264353 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/fence/FenceMapper.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + select id,group_id, name,radius,event_type, fenceLongitudeLatitude, fenceDescription, isDelete, fenceState, remark, create_by, create_time, update_by, update_time from fence + + + + + + + + insert into fence + + name, + group_id, + radius, + event_type, + fenceLongitudeLatitude, + fenceDescription, + isDelete, + fenceState, + remark, + create_by, + create_time, + update_by, + update_time, + + + #{name}, + #{groupId}, + #{radius}, + #{eventType}, + #{fenceLongitudeLatitude}, + #{fenceDescription}, + #{isDelete}, + #{fenceState}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update fence + + name = #{name}, + group_id = #{groupId}, + event_type = #{eventType}, + radius = #{radius}, + fenceLongitudeLatitude = #{fenceLongitudeLatitude}, + fenceDescription = #{fenceDescription}, + isDelete = #{isDelete}, + fenceState = #{fenceState}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from fence where id = #{id} + + + + delete from fence where id in + + #{id} + + + diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/group/GroupMapper.xml b/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/group/GroupMapper.xml new file mode 100644 index 0000000..4feae4b --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/group/GroupMapper.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + select id, group_name, remark, create_by, create_time, update_by, update_time from `group` + + + + + + + + insert into `group` + + group_name, + remark, + create_by, + create_time, + update_by, + update_time, + + + #{groupName}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update `group` + + group_name = #{groupName}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from `group` where id = #{id} + + + + delete from `group` where id in + + #{id} + + + diff --git a/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/vehicle/VehicleMapper.xml b/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/vehicle/VehicleMapper.xml new file mode 100644 index 0000000..5684f88 --- /dev/null +++ b/muyu-vehicle/muyu-vehicle-service/src/main/resources/mapper/vehicle/VehicleMapper.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + select id, number,group_id, type_id, electonic_id, motor, battery, motor_number, battery_number, remark, create_by, create_time, update_by, update_time from vehicle + + + + + + + + insert into vehicle + + id, + number, + type_id, + electonic_id, + motor, + battery, + motor_number, + battery_number, + + remark, + create_by, + create_time, + update_by, + update_time, + group_id, + + + #{id}, + #{number}, + #{typeId}, + #{electonicId}, + #{motor}, + #{battery}, + #{motorNumber}, + #{batteryNumber}, + + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{groupId}, + + + + + update vehicle + + number = #{number}, + type_id = #{typeId}, + electonic_id = #{electonicId}, + motor = #{motor}, + battery = #{battery}, + motor_number = #{motorNumber}, + battery_number = #{batteryNumber}, + + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + group_id = #{groupId}, + + where id = #{id} + + + + delete from vehicle where id = #{id} + + + + delete from vehicle where id in + + #{id} + + + diff --git a/muyu-vehicle/pom.xml b/muyu-vehicle/pom.xml new file mode 100644 index 0000000..685d63d --- /dev/null +++ b/muyu-vehicle/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + com.muyu + muyu-server + 3.6.3 + + + muyu-vehicle + pom + + muyu-vehicle-service + + + + 17 + 17 + UTF-8 + + + diff --git a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml index 1276c8e..c89a13f 100644 --- a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml +++ b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 175.24.138.82:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-visual/pom.xml b/muyu-visual/pom.xml index 883b38c..b32e711 100644 --- a/muyu-visual/pom.xml +++ b/muyu-visual/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> com.muyu - muyu + muyu-server 3.6.3 4.0.0 diff --git a/pom.xml b/pom.xml index fc97f1d..8852bff 100644 --- a/pom.xml +++ b/pom.xml @@ -5,10 +5,10 @@ 4.0.0 com.muyu - muyu + muyu-server 3.6.3 - muyu + muyu-server 微服务系统 @@ -206,6 +206,12 @@ ${muyu.version} + + com.muyu + muyu-common-business + ${muyu.version} + + @@ -215,6 +221,10 @@ muyu-visual muyu-modules muyu-common + muyu-business + muyu-iotdb + muyu-vehicle + muyu-cloud-datasource pom