From 3f9a930c957a0bc02c7c85d4f81d282a98820bca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Sun, 29 Sep 2024 12:28:21 +0800 Subject: [PATCH 01/61] =?UTF-8?q?refactor:=E4=BF=AE=E6=94=B9yml=E7=9A=84na?= =?UTF-8?q?cos=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-auth/src/main/resources/bootstrap.yml | 2 +- cloud-gateway/src/main/resources/bootstrap.yml | 2 +- .../cloud-modules-system/src/main/resources/bootstrap.yml | 2 +- cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cloud-auth/src/main/resources/bootstrap.yml b/cloud-auth/src/main/resources/bootstrap.yml index fdf3847..57dca73 100644 --- a/cloud-auth/src/main/resources/bootstrap.yml +++ b/cloud-auth/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: yzl # Spring spring: application: diff --git a/cloud-gateway/src/main/resources/bootstrap.yml b/cloud-gateway/src/main/resources/bootstrap.yml index cf1cc9f..de95a70 100644 --- a/cloud-gateway/src/main/resources/bootstrap.yml +++ b/cloud-gateway/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: yzl # Spring spring: diff --git a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml index 566c624..afe1a22 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: yzl # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: diff --git a/cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml b/cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml index a741859..547c6aa 100644 --- a/cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml +++ b/cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: yzl # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: From 688154709daf9ebbe6dbcd1d4ca0cfdff6d1ce05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Sun, 29 Sep 2024 14:51:02 +0800 Subject: [PATCH 02/61] =?UTF-8?q?refactor:=E4=BF=AE=E6=94=B9=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/muyu/common/domain/MessageTemplateType.java | 5 +++-- .../src/main/java/com/muyu/common/domain/SysCar.java | 7 +++++++ .../src/main/java/com/muyu/common/domain/SysCarLog.java | 7 +++++++ .../src/main/java/com/muyu/common/domain/Template.java | 4 +++- .../com/muyu/common/domain/database/ElectronicFence.java | 3 ++- .../main/java/com/muyu/server/mapper/DataTypeMapper.java | 3 ++- .../muyu/server/mapper/ElectronicFenceGroupMapper.java | 3 ++- .../com/muyu/server/mapper/ElectronicFenceMapper.java | 3 ++- .../main/java/com/muyu/server/mapper/EnterpriseDao.java | 7 +++++++ .../java/com/muyu/server/mapper/FenceGroupMidMapper.java | 3 ++- .../com/muyu/server/mapper/MessageTemplateTypeMapper.java | 3 ++- .../main/java/com/muyu/server/mapper/SysCarLogMapper.java | 7 +++++++ .../main/java/com/muyu/server/mapper/SysCarMapper.java | 7 +++++++ .../main/java/com/muyu/server/mapper/TemplateMapper.java | 3 ++- .../java/com/muyu/server/mapper/TemplateNeedMapper.java | 8 ++++++++ 15 files changed, 63 insertions(+), 10 deletions(-) diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java index 6d84684..a86c0a5 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java @@ -11,7 +11,8 @@ import lombok.experimental.SuperBuilder; import java.io.Serializable; /** - * @Author:liuxinyue + * 报文模版类型表 + * @author liuxinyue * @Package:com.sheep.message.domain * @Project:cloud-server-c * @name:MessageTemplateType @@ -21,7 +22,7 @@ import java.io.Serializable; @AllArgsConstructor @NoArgsConstructor @SuperBuilder -@Tag(name = "报文模版表") +@Tag(name = "报文模版类型表") @TableName(value = "message_template_type",autoResultMap = true) public class MessageTemplateType implements Serializable { diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCar.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCar.java index c2e5e47..c40467d 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCar.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCar.java @@ -9,6 +9,13 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +/** + * 车辆管理表 + * @author sx + * @package com.muyu.common.domain + * @name SysCar + * @date 2024-09-29 14:39:33 + */ @Data @AllArgsConstructor @NoArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCarLog.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCarLog.java index 4d13240..5e008b3 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCarLog.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCarLog.java @@ -10,6 +10,13 @@ import lombok.NoArgsConstructor; import java.util.Date; +/** + * 车辆上下线记录表 + * @author sx + * @package com.muyu.common.domain + * @name SysCarLog + * @date 2024-09-29 14:34:15 + */ @Data @AllArgsConstructor @NoArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Template.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Template.java index 58f9c2d..c3fe8e4 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Template.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Template.java @@ -12,12 +12,14 @@ import lombok.experimental.SuperBuilder; import java.util.Date; /** - * @Author:liuxinyue + * 报文模版 + * @author liuxinyue * @Package:com.template.domain * @Project:cloud-server-c * @name:Template * @Date:2024/9/20 12:04 */ + @Data @AllArgsConstructor @NoArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/ElectronicFence.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/ElectronicFence.java index 1d1e476..1b6eebc 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/ElectronicFence.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/ElectronicFence.java @@ -16,7 +16,8 @@ import lombok.experimental.SuperBuilder; import java.util.function.Supplier; /** - * @Author:yuping + * 电子围栏表 + * @author yuping * @Package:com.muyu.fence.domain * @Project:cloud-server * @name:ElectronicFence diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/DataTypeMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/DataTypeMapper.java index 3cc55bf..53b3ac9 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/DataTypeMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/DataTypeMapper.java @@ -5,7 +5,8 @@ import com.muyu.common.domain.DataType; import org.apache.ibatis.annotations.Mapper; /** - * @Author:liuxinyue + * 数据类型表 Mapper 接口 + * @author liuxinyue * @Package:com.sheep.mapper * @Project:cloud-server-c * @name:DataTypeMapper diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/ElectronicFenceGroupMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/ElectronicFenceGroupMapper.java index b5604d1..2f49677 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/ElectronicFenceGroupMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/ElectronicFenceGroupMapper.java @@ -5,7 +5,8 @@ import com.muyu.common.domain.database.ElectronicFenceGroup; import org.apache.ibatis.annotations.Mapper; /** - * @Author:yuping + * 围栏组 Mapper 接口 + * @author yuping * @Package:com.muyu.fence.mapper * @Project:cloud-server * @name:FenceGroupMapper diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/ElectronicFenceMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/ElectronicFenceMapper.java index 0a230db..367b2e2 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/ElectronicFenceMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/ElectronicFenceMapper.java @@ -5,7 +5,8 @@ import com.muyu.common.domain.database.ElectronicFence; import org.apache.ibatis.annotations.Mapper; /** - * @Author:yuping + * 电子围栏 Mapper接口 + * @author yuping * @Package:com.muyu.fence.mapper * @Project:cloud-server * @name:ElectronicFenceMapper diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/EnterpriseDao.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/EnterpriseDao.java index 7e64554..3c389a0 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/EnterpriseDao.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/EnterpriseDao.java @@ -7,6 +7,13 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +/** + * 企业信息 Mapper接口 + * @author yupnig + * @package com.muyu.server.mapper + * @name EnterpriseDao + * @date 2024-09-29 14:31:06 + */ @Mapper public interface EnterpriseDao { // 查询分页信息 diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/FenceGroupMidMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/FenceGroupMidMapper.java index 7f57792..96a09d9 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/FenceGroupMidMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/FenceGroupMidMapper.java @@ -5,7 +5,8 @@ import com.muyu.common.domain.database.FenceGroupMid; import org.apache.ibatis.annotations.Mapper; /** - * @Author:yuping + * 围栏组连接表 Mapper接口 + * @author yuping * @Package:com.muyu.fence.mapper * @Project:cloud-server * @name:FenceGroupMidMapper diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/MessageTemplateTypeMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/MessageTemplateTypeMapper.java index 5fcd085..99eb49c 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/MessageTemplateTypeMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/MessageTemplateTypeMapper.java @@ -5,7 +5,8 @@ import com.muyu.common.domain.MessageTemplateType; import org.apache.ibatis.annotations.Mapper; /** - * @Author:liuxinyue + * 报文模版类型 Mapper 接口 + * @author liuxinyue * @Package:com.sheep.message.mapper * @Project:cloud-server-c * @name:MessageTemplateTypeMapper diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/SysCarLogMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/SysCarLogMapper.java index 69cf4b1..a7deb7d 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/SysCarLogMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/SysCarLogMapper.java @@ -4,6 +4,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.common.domain.SysCarLog; import org.apache.ibatis.annotations.Mapper; +/** + * 车辆上下线记录 Mapper接口 + * @author sx + * @package com.muyu.server.mapper + * @name SysCarLogMapper + * @date 2024-09-29 14:37:11 + */ @Mapper public interface SysCarLogMapper extends BaseMapper { } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/SysCarMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/SysCarMapper.java index df697b2..b476e0c 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/SysCarMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/SysCarMapper.java @@ -10,6 +10,13 @@ import org.apache.ibatis.annotations.Param; import java.util.List; +/** + * 车辆管理 Mapper 接口 + * @author sx + * @package com.muyu.server.mapper + * @name SysCarMapper + * @date 2024-09-29 14:38:40 + */ @Mapper public interface SysCarMapper extends BaseMapper { List selectSysCarVoList(SysCarReq sysCarReq); diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/TemplateMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/TemplateMapper.java index b732762..f780e9f 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/TemplateMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/TemplateMapper.java @@ -9,7 +9,8 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - * @Author:liuxinyue + *报文模版 + * @author liuxinyue * @Package:com.template.mapper * @Project:cloud-server-c * @name:TemplateMapper diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/TemplateNeedMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/TemplateNeedMapper.java index b75741f..a74491f 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/TemplateNeedMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/TemplateNeedMapper.java @@ -5,6 +5,14 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; + +/** + * 报文模版表 Mapper 接口 + * @author liuyinyue + * @package com.muyu.server.mapper + * @name TemplateNeedMapper + * @date 2024-09-29 14:44:57 + */ @Mapper public interface TemplateNeedMapper { List selectByTemplateId(@Param("templateId")Long templateId); From dea0f07c90e15baa48cbf7e3ea10d0e2a952ed34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Sun, 29 Sep 2024 16:03:17 +0800 Subject: [PATCH 03/61] =?UTF-8?q?refactor:=E4=BF=AE=E6=94=B9=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/gen/service/GenTableColumnServiceImpl.java | 2 +- .../java/com/muyu/gen/service/GenTableServiceImpl.java | 2 +- .../main/java/com/muyu/system/service/SysDeptService.java | 2 +- .../muyu/common/domain/database/ElectronicFenceGroup.java | 3 ++- .../main/java/com/muyu/server/service/CarTypeService.java | 8 ++++++++ .../java/com/muyu/server/service/DataTypeService.java | 3 ++- .../muyu/server/service/ElectronicFenceGroupService.java | 3 ++- .../com/muyu/server/service/ElectronicFenceService.java | 3 ++- .../java/com/muyu/server/service/EnterpriseService.java | 8 ++++++++ .../com/muyu/server/service/FenceGroupMidService.java | 3 ++- .../muyu/server/service/MessageTemplateTypeService.java | 3 ++- .../com/muyu/server/service/SysCarFaultLogService.java | 2 +- .../java/com/muyu/server/service/SysCarLogService.java | 7 +++++++ .../main/java/com/muyu/server/service/SysCarService.java | 7 +++++++ .../java/com/muyu/server/service/TemplateNeedService.java | 8 ++++++++ .../java/com/muyu/server/service/TemplateService.java | 3 ++- .../java/com/muyu/server/service/WarnLogsService.java | 4 ++-- .../java/com/muyu/server/service/WarnRuleService.java | 4 ++-- .../java/com/muyu/server/service/WarnStrategyService.java | 4 ++-- 19 files changed, 62 insertions(+), 17 deletions(-) diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java index 043c83b..b608eb5 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * 业务字段 服务层实现 + * 业务字段 业务逻辑层实现 * * @author ruoyi */ diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java index 8cdefc5..872897c 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java @@ -40,7 +40,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; /** - * 业务 服务层实现 + * 业务 业务逻辑层实现 * * @author ruoyi */ diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java index e3d0b28..b259732 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDeptService.java @@ -7,7 +7,7 @@ import com.muyu.system.domain.vo.TreeSelect; import java.util.List; /** - * 部门管理 服务层 + * 部门管理 业务逻辑层 * * @author muyu */ diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/ElectronicFenceGroup.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/ElectronicFenceGroup.java index 17b2f28..f23aafb 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/ElectronicFenceGroup.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/ElectronicFenceGroup.java @@ -16,7 +16,8 @@ import lombok.experimental.SuperBuilder; import java.util.function.Supplier; /** - * @Author:yuping + * 围栏组 + * @author yuping * @Package:com.muyu.fence.domain * @Project:cloud-server * @name:ElectronicFenceGroup diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/CarTypeService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/CarTypeService.java index 74d0577..f025a60 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/CarTypeService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/CarTypeService.java @@ -6,6 +6,14 @@ import com.muyu.common.domain.resp.CarTypeResp; import java.util.List; +/** + * 车辆类型 服务层 + * @author sx + * @package com.muyu.server.service + * @name CarTypeService + * @date 2024-09-29 15:16:17 + */ + public interface CarTypeService extends IService { List selectCarTypeList(); diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/DataTypeService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/DataTypeService.java index edc9089..4816e83 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/DataTypeService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/DataTypeService.java @@ -4,7 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.domain.DataType; /** - * @Author:liuxinyue + * 数据类型 服务层 + * @author liuxinyue * @Package:com.sheep.service * @Project:cloud-server-c * @name:DataTypeService diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/ElectronicFenceGroupService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/ElectronicFenceGroupService.java index 53ada6d..168089c 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/ElectronicFenceGroupService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/ElectronicFenceGroupService.java @@ -8,7 +8,8 @@ import com.muyu.common.domain.resp.ElectronicFenceGroupResp; import java.util.List; /** - * @Author:yuping + *围栏组 服务层 + * @author yuping * @Package:com.muyu.fence.service * @Project:cloud-server * @name:FenceGroupController diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/ElectronicFenceService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/ElectronicFenceService.java index 242500d..ec09625 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/ElectronicFenceService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/ElectronicFenceService.java @@ -11,7 +11,8 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * @Author:yuping + * 电子围栏 服务层 + * @author yuping * @Package:com.muyu.fence.service * @Project:cloud-server * @name:ElectronicFenceService diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/EnterpriseService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/EnterpriseService.java index 8e07345..a838c50 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/EnterpriseService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/EnterpriseService.java @@ -6,6 +6,14 @@ import com.muyu.common.util.PageUtils; import java.util.HashMap; import java.util.Map; +/** + * 企业管理 服务层 + * @author yuping + * @package com.muyu.server.service + * @name EnterpriseService + * @date 2024-09-29 15:26:06 + */ + public interface EnterpriseService { // 分页查询企业信息 public PageUtils selectEnterprise(Map param); diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/FenceGroupMidService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/FenceGroupMidService.java index a952d36..3b2f83b 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/FenceGroupMidService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/FenceGroupMidService.java @@ -7,7 +7,8 @@ import com.muyu.common.domain.resp.ElectronicFenceResp; import java.util.List; /** - * @Author:yuping + * 围栏组连接 服务层 + * @author yuping * @Package:com.muyu.fence.service * @Project:cloud-server * @name:FenceGroupMidService diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/MessageTemplateTypeService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/MessageTemplateTypeService.java index 03b32ab..db7942c 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/MessageTemplateTypeService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/MessageTemplateTypeService.java @@ -6,7 +6,8 @@ import com.muyu.common.domain.MessageTemplateType; import java.util.List; /** - * @Author:liuxinyue + * 报文模版类型 服务层 + * @author liuxinyue * @Package:com.sheep.message.service * @Project:cloud-server-c * @name:MessageTemplateTypeService diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarFaultLogService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarFaultLogService.java index 0770a9a..be93980 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarFaultLogService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarFaultLogService.java @@ -6,7 +6,7 @@ import com.muyu.common.domain.SysCarFaultLog; import java.util.List; /** - * 车辆故障记录 服务层 + * 车辆故障记录 业务逻辑层 * @author 袁子龙 * @package: com.muyu.breakdown.service * @name: SysCarFaultLogService diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarLogService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarLogService.java index baf0ece..af04925 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarLogService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarLogService.java @@ -4,6 +4,13 @@ package com.muyu.server.service; import com.muyu.common.domain.SysCarLog; import java.util.List; +/** + * 车辆上下线 服务层 + * @author sx + * @package com.muyu.server.service + * @name : SysCarLogService + * @date 2024-09-29 15:05:08 + */ public interface SysCarLogService { diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarService.java index 1e5fc57..5e13b80 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/SysCarService.java @@ -7,6 +7,13 @@ import com.muyu.common.domain.resp.SysCarVo; import java.util.List; +/** + * 车辆管理 服务层 + * @author sx + * @package com.muyu.server.service + * @name SysCarService + * @date 2024-09-29 15:02:55 + */ public interface SysCarService { List selectSysCarVoList(SysCarReq sysCarReq); diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateNeedService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateNeedService.java index d2422e5..35148fe 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateNeedService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateNeedService.java @@ -4,6 +4,14 @@ import com.muyu.common.domain.MessageTemplateType; import java.util.List; +/** + * 报文模版类型 服务层 + * @author liuxinyue + * @package com.muyu.server.service + * @name TemplateNeedService + * @date 2024-09-29 15:31:55 + */ + public interface TemplateNeedService { List selectByTemplateId(Long templateId); } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateService.java index d60550e..ea7189d 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateService.java @@ -9,7 +9,8 @@ import java.sql.SQLException; import java.util.concurrent.ExecutionException; /** - * @Author:liuxinyue + * 报文模版 服务层 + * @author liuxinyue * @Package:com.template.service * @Project:cloud-server-c * @name:TemplateService diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnLogsService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnLogsService.java index fa8f31f..5e28f80 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnLogsService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnLogsService.java @@ -7,9 +7,9 @@ import com.muyu.common.domain.resp.WarnLogsResp; import java.util.List; /** - * 预警日志Service接口 + * 预警日志业 服务层 * - * @author muyu + * @author sx * @date 2024-09-20 */ public interface WarnLogsService extends IService { diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnRuleService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnRuleService.java index a8673b9..a50a90e 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnRuleService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnRuleService.java @@ -7,9 +7,9 @@ import com.muyu.common.domain.resp.WarnRuleResp; import java.util.List; /** - * 预警规则Service接口 + * 预警规则 服务层 * - * @author muyu + * @author sx * @date 2024-09-20 */ public interface WarnRuleService extends IService { diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnStrategyService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnStrategyService.java index 0fba2f5..dbc5944 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnStrategyService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/WarnStrategyService.java @@ -9,9 +9,9 @@ import com.muyu.common.domain.resp.WarnStrategyResp; import java.util.List; /** - * 预警策略Service接口 + * 预警策略 服务层 * - * @author muyu + * @author sx * @date 2024-09-20 */ public interface WarnStrategyService extends IService { From 2488248967c3e85e7c7cff1222899577fc3fe3d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Sun, 29 Sep 2024 16:12:34 +0800 Subject: [PATCH 04/61] =?UTF-8?q?refactor:=E4=BF=AE=E6=94=B9=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/server/service/impl/CarTypeServiceImpl.java | 7 +++++++ .../com/muyu/server/service/impl/DataTypeServiceImpl.java | 3 ++- .../service/impl/ElectronicFenceGroupServiceImpl.java | 3 ++- .../server/service/impl/ElectronicFenceServiceImpl.java | 3 ++- .../muyu/server/service/impl/EnterpriseServiceImpl.java | 7 ++++--- .../server/service/impl/FenceGroupMidServiceImpl.java | 3 ++- .../service/impl/MessageTemplateTypeServiceImpl.java | 4 ++-- .../server/service/impl/SysCarFaultLogServiceImpl.java | 2 +- .../service/impl/SysCarFaultMessageServiceImpl.java | 2 +- .../muyu/server/service/impl/SysCarFaultServiceImpl.java | 2 +- .../muyu/server/service/impl/SysCarLogServiceImpl.java | 7 +++++++ .../com/muyu/server/service/impl/SysCarServiceImpl.java | 8 +++++++- .../muyu/server/service/impl/TemplateNeedServiceImpl.java | 7 +++++++ .../com/muyu/server/service/impl/TemplateServiceImpl.java | 4 ++-- 14 files changed, 47 insertions(+), 15 deletions(-) diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/CarTypeServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/CarTypeServiceImpl.java index 4af581a..6c4fa62 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/CarTypeServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/CarTypeServiceImpl.java @@ -11,6 +11,13 @@ import org.springframework.stereotype.Service; import java.util.List; +/** + * 车辆类型 服务层处理 + * @author sx + * @package com.muyu.server.service.impl + * @name CarTypeServiceImpl + * @date 2024-09-29 16:06:22 + */ @Service public class CarTypeServiceImpl extends ServiceImpl implements CarTypeService{ @Autowired diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/DataTypeServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/DataTypeServiceImpl.java index 39e912f..ecde4e4 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/DataTypeServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/DataTypeServiceImpl.java @@ -8,7 +8,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** - * @Author:liuxinyue + * 数据类型 服务层处理 + * @author liuxinyue * @Package:com.sheep.service.impl * @Project:cloud-server-c * @name:DataTypeServiceImpl diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/ElectronicFenceGroupServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/ElectronicFenceGroupServiceImpl.java index 2a7370e..efe1ed8 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/ElectronicFenceGroupServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/ElectronicFenceGroupServiceImpl.java @@ -19,7 +19,8 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * @Author:yuping + * 围栏组 服务层处理 + * @author yuping * @Package:com.muyu.fence.service.impl * @Project:cloud-server * @name:FenceGroupServiceImpl diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/ElectronicFenceServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/ElectronicFenceServiceImpl.java index e60857a..377156c 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/ElectronicFenceServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/ElectronicFenceServiceImpl.java @@ -18,7 +18,8 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * @Author:yuping + * 电子围栏 服务层处理 + * @author yuping * @Package:com.muyu.fence.service.impl * @Project:cloud-server * @name:ElectronicFenceServiceImpl diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/EnterpriseServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/EnterpriseServiceImpl.java index 47b5480..a7b19f7 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/EnterpriseServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/EnterpriseServiceImpl.java @@ -11,9 +11,10 @@ import org.springframework.stereotype.Service; import java.util.*; /** - * @Author YuPing - * @Description 企业运营实现层 - * @Version 1.0 + * 企业运营 服务层处理 + * @author yuping + * @package com.muyu.server.service.impl + * @name EnterpriseServiceImpl * @Data 2024-09-26 20:23:21 */ @Service diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/FenceGroupMidServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/FenceGroupMidServiceImpl.java index 09d60f1..ca4ee82 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/FenceGroupMidServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/FenceGroupMidServiceImpl.java @@ -12,7 +12,8 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * @Author:yuping + * 围栏组链接 服务层处理 + * @author yuping * @Package:com.muyu.fence.service.impl * @Project:cloud-server * @name:FenceGroupMidServiceImpl diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java index 1212ad0..212f187 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java @@ -11,9 +11,9 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * @Author:liuxinyue + * 报文模版类型 服务层处理 + * @author liuxinyue * @Package:com.sheep.message.service.impl - * @Project:cloud-server-c * @name:MessageTemplateTypeServiceImpl * @Date:2024/9/19 14:34 */ diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultLogServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultLogServiceImpl.java index a58bc5a..24c08ae 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultLogServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultLogServiceImpl.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * 车辆故障记录 业务层 + * 车辆故障记录 服务层处理 * @author 袁子龙 * @package: com.muyu.breakdown.service.impl * @name: sysCarFaultLogServiceImpl diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultMessageServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultMessageServiceImpl.java index 17551e0..4fd5346 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultMessageServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultMessageServiceImpl.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * 站内信 业务层 + * 站内信 服务层处理 * @author 袁子龙 * @package: com.muyu.breakdown.service.impl * @name: SysCarFaultMessageServiceImpl diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultServiceImpl.java index b931a71..ae341e5 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarFaultServiceImpl.java @@ -13,7 +13,7 @@ import org.springframework.util.Assert; import java.util.List; /** - * 车辆故障码 业务层 + * 车辆故障码 服务层处理 * @author 袁子龙 * @package: com.muyu.breakdown.service.impl * @name: SysCarFaultServiceImpl diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarLogServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarLogServiceImpl.java index 0968f5d..8d8949d 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarLogServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarLogServiceImpl.java @@ -10,6 +10,13 @@ import org.springframework.stereotype.Service; import java.util.List; +/** + * 车辆上下线记录 服务层处理 + * @author sx + * @package com.muyu.server.service.impl + * @name SysCarLogServiceImpl + * @date 2024/9/22 14:36 + */ @Service public class SysCarLogServiceImpl extends ServiceImpl implements SysCarLogService { @Autowired diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarServiceImpl.java index d95d684..fcb09d8 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/SysCarServiceImpl.java @@ -12,7 +12,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; - +/** + * 车辆管理 服务层处理 + * @author sx + * @package com.muyu.server.service.impl + * @name SysCarServiceImpl + * @date 2024/9/22 14:36 + */ @Service public class SysCarServiceImpl extends ServiceImpl implements SysCarService { @Autowired diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateNeedServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateNeedServiceImpl.java index 73adaaf..5b16537 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateNeedServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateNeedServiceImpl.java @@ -8,6 +8,13 @@ import org.springframework.stereotype.Service; import java.util.List; +/** + * 报文模版 服务层处理 + * @author liuxinyue + * @package com.muyu.server.service.impl + * @name TemplateNeedServiceImpl + * @date 2024/9/22 14:36 + */ @Service public class TemplateNeedServiceImpl implements TemplateNeedService { diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java index 31b3b5a..86fce7c 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java @@ -22,9 +22,9 @@ import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; /** - * @Author:liuxinyue + * 报文模版 服务层 + * @author liuxinyue * @Package:com.template.service.impl - * @Project:cloud-server-c * @name:TemplateServiceImp * @Date:2024/9/20 12:12 */ From 29cb1ffadb451b1dbdd4ae7f49251e79c4461059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Sun, 29 Sep 2024 22:03:51 +0800 Subject: [PATCH 05/61] =?UTF-8?q?refactor:=E4=BF=AE=E6=94=B9=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-common/cloud-common-core/pom.xml | 8 ++++---- cloud-common/cloud-common-swagger/pom.xml | 17 ++++++++++------- .../annotation/EnableCustomSwagger2.java | 10 ++++++++++ .../config/SwaggerBeanPostProcessor.java | 1 + .../swagger/config/SwaggerProperties.java | 1 + .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../java/com/muyu/common/domain/CarType.java | 7 +++++++ .../java/com/muyu/common/domain/DataType.java | 3 ++- .../java/com/muyu/common/domain/Enterprise.java | 5 ++++- .../com/muyu/common/domain/MessageTemplate.java | 5 ++++- .../java/com/muyu/common/domain/WarnLogs.java | 2 +- .../java/com/muyu/common/domain/WarnRule.java | 2 +- .../com/muyu/common/domain/WarnStrategy.java | 2 +- .../common/domain/database/FenceGroupMid.java | 3 ++- .../common/domain/req/ElectroicFenceAddReq.java | 3 ++- .../domain/req/ElectroicFenceListReq.java | 3 ++- .../common/domain/req/ElectroicFenceUpdReq.java | 3 ++- .../domain/req/ElectronicFenceGroupAddReq.java | 3 ++- .../domain/req/ElectronicFenceGroupListReq.java | 3 ++- .../domain/req/ElectronicFenceGroupUpdReq.java | 3 ++- .../domain/req/FenceAndGroupBoundReq.java | 3 ++- .../com/muyu/common/domain/req/FenceWayReq.java | 3 ++- .../com/muyu/common/domain/req/SysCarReq.java | 7 +++++++ .../muyu/common/domain/req/WarnStrategyReq.java | 2 +- .../muyu/common/domain/resp/CarTypeResp.java | 7 +++++++ .../domain/resp/ElectronicFenceGroupResp.java | 11 ++++++----- .../common/domain/resp/ElectronicFenceResp.java | 4 +++- .../common/domain/resp/GroupFenceListresp.java | 3 ++- .../common/domain/resp/SysCarFaultLogVo.java | 3 ++- .../com/muyu/common/domain/resp/SysCarVo.java | 7 +++++++ .../muyu/common/domain/resp/WarnLogsResp.java | 7 +++++++ .../muyu/common/domain/resp/WarnRuleResp.java | 7 +++++++ .../common/domain/resp/WarnStrategyResp.java | 7 +++++++ .../common/domain/utils/ElectricFenceModel.java | 4 ++++ .../domain/utils/ElectricFenceResultTmp.java | 4 ++++ .../domain/utils/ElectronicFenceResult.java | 4 ++++ .../domain/utils/ElectronicFenceSetting.java | 3 ++- .../java/com/muyu/common/util/PageUtils.java | 3 ++- .../java/com/muyu/server/SaasApplication.java | 3 ++- .../muyu/server/config/KafkaConsumerConfig.java | 2 +- .../muyu/server/config/KafkaProviderConfig.java | 2 +- .../com/muyu/server/config/MqttConfigure.java | 2 +- 45 files changed, 145 insertions(+), 45 deletions(-) diff --git a/cloud-common/cloud-common-core/pom.xml b/cloud-common/cloud-common-core/pom.xml index 7cd55ff..9d4b3c5 100644 --- a/cloud-common/cloud-common-core/pom.xml +++ b/cloud-common/cloud-common-core/pom.xml @@ -138,10 +138,10 @@ - - - - + + + + javax.annotation diff --git a/cloud-common/cloud-common-swagger/pom.xml b/cloud-common/cloud-common-swagger/pom.xml index 6aa037d..5dbca7f 100644 --- a/cloud-common/cloud-common-swagger/pom.xml +++ b/cloud-common/cloud-common-swagger/pom.xml @@ -1,23 +1,26 @@ - + 4.0.0 com.muyu cloud-common 3.6.3 - 4.0.0 - + com.bwie cloud-common-swagger - - cloud-common-swagger swagger2文档聚合 + cloud-common-swagger系统接口 + + 17 + 17 + UTF-8 + - org.springframework.boot diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java index 0d36ba9..056657c 100644 --- a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java @@ -1,10 +1,20 @@ package com.muyu.common.swagger.annotation; +import com.muyu.common.swagger.config.SwaggerAutoConfiguration; +import org.springframework.context.annotation.Import; + +import java.lang.annotation.*; + /** * @author 袁子龙 * @package:com.muyu.common.swagger.annotation * @name:EnableCustomSwagger2 * @date:2024/9/29 10:01 */ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Inherited +@Import({SwaggerAutoConfiguration.class}) public @interface EnableCustomSwagger2 { } diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerBeanPostProcessor.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerBeanPostProcessor.java index be3d265..04e4cf3 100644 --- a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerBeanPostProcessor.java +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerBeanPostProcessor.java @@ -12,6 +12,7 @@ import java.util.List; import java.util.stream.Collectors; /** + * 在 springboot 2.6.x 不兼容问题的处理 * @author 袁子龙 * @package:com.muyu.common.swagger.config * @name:SwaggerBeanPostProcessor diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java index 9be178f..9481634 100644 --- a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java @@ -2,6 +2,7 @@ package com.muyu.common.swagger.config; import org.springframework.boot.context.properties.ConfigurationProperties; + import java.util.ArrayList; import java.util.List; diff --git a/cloud-modules/cloud-event/src/main/resources/bootstrap.yml b/cloud-modules/cloud-event/src/main/resources/bootstrap.yml index f0ff80f..8acace6 100644 --- a/cloud-modules/cloud-event/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-event/src/main/resources/bootstrap.yml @@ -6,7 +6,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: yzl # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring amqp: diff --git a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml index cb7e8d5..3a1eb6a 100644 --- a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: yzl # Spring spring: diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml index 0b7bdc1..c5e8cb9 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: yzl # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-vehiclegateway/src/main/resources/bootstrap.yml index 9ab2537..c68c132 100644 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-vehiclegateway/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: yzl # Spring spring: diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/CarType.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/CarType.java index 52ea7a0..3407e9d 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/CarType.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/CarType.java @@ -6,6 +6,13 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +/** + * 车辆类型 + * @author sx + * @package com.muyu.common.domain + * @name CarType + * @date 2024/9/22 14:36 + */ @Data @AllArgsConstructor @NoArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/DataType.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/DataType.java index b70a583..88681e8 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/DataType.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/DataType.java @@ -10,7 +10,8 @@ import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; import java.io.Serializable; /** - * @Author:liuxinyue + * 数据类型表 + * @author liuxinyue * @Package:com.sheep.message.domain * @Project:cloud-server-c * @name:DataType diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Enterprise.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Enterprise.java index d02f6ab..ac1f9b4 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Enterprise.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Enterprise.java @@ -1,11 +1,13 @@ package com.muyu.common.domain; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** - * @Author YuPing + * 企业运营实体类 + * @author yuping * @Description 企业运营实体类 * @Version 1.0 * @Data 2024-09-26 20:22:04 @@ -13,6 +15,7 @@ import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor +@TableName("enterprise") public class Enterprise { /** * 企业编号 diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplate.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplate.java index b14c894..faa8ca0 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplate.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplate.java @@ -1,5 +1,6 @@ package com.muyu.common.domain; +import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import lombok.Data; @@ -9,7 +10,8 @@ import lombok.experimental.SuperBuilder; import java.sql.Date; /** - * @Author:liuxinyue + * 报文模版 + * @author liuxinyue * @Package:com.template.domain * @Project:cloud-server * @name:MessageTemplate @@ -20,6 +22,7 @@ import java.sql.Date; @NoArgsConstructor @SuperBuilder @Tag(name = "报文") +@TableName("message_template") public class MessageTemplate { /** diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnLogs.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnLogs.java index 6127a4c..f4f1c2c 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnLogs.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnLogs.java @@ -14,7 +14,7 @@ import java.util.Date; /** * 预警日志对象 warn_logs * - * @author muyu + * @author sx * @date 2024-09-20 */ diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnRule.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnRule.java index aa0005d..46bfb6c 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnRule.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnRule.java @@ -11,7 +11,7 @@ import lombok.NoArgsConstructor; /** * 预警规则对象 warn_rule * - * @author muyu + * @author sx * @date 2024-09-20 */ diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnStrategy.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnStrategy.java index fc29da5..0c84bba 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnStrategy.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/WarnStrategy.java @@ -11,7 +11,7 @@ import lombok.NoArgsConstructor; /** * 预警策略对象 warn_strategy * - * @author muyu + * @author sx * @date 2024-09-20 */ diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/FenceGroupMid.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/FenceGroupMid.java index e668aac..6fea0c2 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/FenceGroupMid.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/database/FenceGroupMid.java @@ -9,7 +9,8 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * @Author:yuping + * 围栏组连接表 + * @author yuping * @Package:com.muyu.fence.domain * @Project:cloud-server * @name:FenceGroupMid diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceAddReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceAddReq.java index a2fecad..33eaaa1 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceAddReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceAddReq.java @@ -10,7 +10,8 @@ import lombok.NoArgsConstructor; import java.util.Date; /** - * @Author:yuping + * 电动围栏添加请求参数 + * @author yuping * @Package:com.muyu.fence.domain.req * @Project:cloud-server * @name:ElectroicAdd diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceListReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceListReq.java index 5265c85..6963ad3 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceListReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceListReq.java @@ -8,7 +8,8 @@ import lombok.NoArgsConstructor; import java.util.Date; /** - * @Author:yuping + * 电子围栏列表请求参数 + * @author yuping * @Package:com.muyu.fence.domain.req * @Project:cloud-server * @name:ElectroicFenceReq diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceUpdReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceUpdReq.java index f0369c7..5be5b88 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceUpdReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectroicFenceUpdReq.java @@ -6,7 +6,8 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * @Author:yuping + * 电子围栏更新请求参数 + * @author yuping * @Package:com.muyu.fence.domain.req * @Project:cloud-server * @name:ElectroicFenceUpdReq diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupAddReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupAddReq.java index dc32d20..33e570a 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupAddReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupAddReq.java @@ -9,7 +9,8 @@ import lombok.NoArgsConstructor; import java.util.List; /** - * @Author:yuping + * 围栏组添加请求参数 + * @author yuping * @Package:com.muyu.fence.domain.req * @Project:cloud-server * @name:ElectronicFenceGroupAddReq diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupListReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupListReq.java index 833e64c..5513c6c 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupListReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupListReq.java @@ -8,7 +8,8 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * @Author:yuping + * 围栏组列表请求参数 + * @author yuping * @Package:com.muyu.fence.domain.req * @Project:cloud-server * @name:ElectronicFenceGroupListReq diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupUpdReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupUpdReq.java index 73fad79..c87dc42 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupUpdReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/ElectronicFenceGroupUpdReq.java @@ -11,7 +11,8 @@ import lombok.NoArgsConstructor; import java.util.List; /** - * @Author:yuping + * 围栏组修改请求参数 + * @author yuping * @Package:com.muyu.fence.domain.req * @Project:cloud-server * @name:ElectronicFenceGroupAddReq diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/FenceAndGroupBoundReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/FenceAndGroupBoundReq.java index 0d6c4e0..36e4331 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/FenceAndGroupBoundReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/FenceAndGroupBoundReq.java @@ -9,7 +9,8 @@ import lombok.NoArgsConstructor; import java.util.List; /** - * @Author:yuping + * 用于绑定围栏和围栏组的请求 + * @author yuping * @Package:com.muyu.fence.domain.req * @Project:cloud-server * @name:FenceAndGroupBoundReq diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/FenceWayReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/FenceWayReq.java index d420edc..58baef3 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/FenceWayReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/FenceWayReq.java @@ -5,7 +5,8 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * @Author:yuping + *围栏方式请求参数 + * @author yuping * @Package:com.muyu.fence.domain * @Project:cloud-server * @name:FenceWay diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/SysCarReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/SysCarReq.java index a773921..c1e9f8d 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/SysCarReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/SysCarReq.java @@ -5,6 +5,13 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +/** + * 汽车请求参数 + * @author sx + * @package com.muyu.common.domain.req + * @name SysCarReq + * @date 2024/9/22 14:36 + */ @Data @AllArgsConstructor @NoArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/WarnStrategyReq.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/WarnStrategyReq.java index 7ac776f..6f5eea2 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/WarnStrategyReq.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/req/WarnStrategyReq.java @@ -8,7 +8,7 @@ import lombok.NoArgsConstructor; /** * 预警策略对象 warn_strategy * - * @author muyu + * @author sx * @date 2024-09-20 */ diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/CarTypeResp.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/CarTypeResp.java index ac4a196..4bd3d64 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/CarTypeResp.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/CarTypeResp.java @@ -8,6 +8,13 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +/** + * 车辆类型返回对象 + * @author sx + * @package com.muyu.common.domain.resp + * @name CarTypeResp + * @date 2024/9/22 14:36 + */ @Data @AllArgsConstructor @NoArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/ElectronicFenceGroupResp.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/ElectronicFenceGroupResp.java index bfc8e7f..d1d0ca7 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/ElectronicFenceGroupResp.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/ElectronicFenceGroupResp.java @@ -10,12 +10,13 @@ import lombok.NoArgsConstructor; import java.util.List; + /** - * @Author:yuping - * @Package:com.muyu.fence.domain.resp - * @Project:cloud-server - * @name:ElectronicFenceGroupResp - * @Date:2024/9/22 10:22 + * 回显围栏组及绑定的电子围栏 + * @author yuping + * @package com.muyu.fence.domain.resp + * @name ElectronicFenceGroupResp + * @date 2024/9/22 14:36 */ @Data @AllArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/ElectronicFenceResp.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/ElectronicFenceResp.java index e20b965..1e27cfd 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/ElectronicFenceResp.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/ElectronicFenceResp.java @@ -7,12 +7,14 @@ import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; /** - * @Author:yuping + *电子围栏组 + * @author yuping * @Package:com.muyu.fence.domain * @Project:cloud-server * @name:ElectronicFence * @Date:2024/9/17 16:34 */ + @Data @AllArgsConstructor @NoArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/GroupFenceListresp.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/GroupFenceListresp.java index c6f947a..bbf2d6d 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/GroupFenceListresp.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/GroupFenceListresp.java @@ -9,7 +9,8 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * @Author:yuping + * 围栏组列表 + * @author yuping * @Package:com.muyu.fence.domain.req * @Project:cloud-server * @name:GroupFenceListresp diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/SysCarFaultLogVo.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/SysCarFaultLogVo.java index 59dcebb..30e3d5d 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/SysCarFaultLogVo.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/SysCarFaultLogVo.java @@ -6,7 +6,8 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * @Author:liuxinyue + * 故障记录 + * @author liuxinyue * @Package:com.muyu.domain.resp * @Project:cloud-server * @name:SysCarFaultLogVo diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/SysCarVo.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/SysCarVo.java index e7f12b8..c798859 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/SysCarVo.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/SysCarVo.java @@ -7,6 +7,13 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +/** + * 车辆管理返回值 + * @author sx + * @package com.muyu.common.domain.resp + * @name SysCarVo + * @date 2024/9/22 14:36 + */ @Data @AllArgsConstructor @NoArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnLogsResp.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnLogsResp.java index 7af5b86..e7ba4ae 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnLogsResp.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnLogsResp.java @@ -7,6 +7,13 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +/** + * 预警日志对象 + * @author sx + * @package com.muyu.common.domain.resp + * @name WarnLogsResp + * @date 2024/9/22 14:36 + */ @Data @NoArgsConstructor @AllArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnRuleResp.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnRuleResp.java index 6d3466c..d91ec09 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnRuleResp.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnRuleResp.java @@ -6,6 +6,13 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +/** + * 预警规则返回对象 + * @author sx + * @package com.muyu.common.domain.resp + * @name WarnRuleResp + * @date 2024/9/22 14:36 + */ @Data @NoArgsConstructor @AllArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnStrategyResp.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnStrategyResp.java index 2fc423a..1faf781 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnStrategyResp.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/resp/WarnStrategyResp.java @@ -7,6 +7,13 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +/** + * 预警策略返回对象 + * @author sx + * @package com.muyu.common.domain.resp + * @anme WarnStrategyResp + * @date 2024/9/22 14:36 + */ @Data @NoArgsConstructor @AllArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectricFenceModel.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectricFenceModel.java index 7d3bef3..67e50a6 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectricFenceModel.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectricFenceModel.java @@ -14,6 +14,10 @@ import lombok.NoArgsConstructor; /** * 电子围栏规则计算模型 + * @author yuping + * @package com.muyu.fence.domain + * @name ElectricFenceModel + * @date 2024/9/22 14:36 */ @Data @AllArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectricFenceResultTmp.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectricFenceResultTmp.java index efb592b..c047d8d 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectricFenceResultTmp.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectricFenceResultTmp.java @@ -15,6 +15,10 @@ import java.util.Date; */ /** * 电子围栏转换临时对象 + * @author yuping + * @package com.muyu.fence.domain.utils + * @name ElectricFenceResultTmp + * @date 2024/9/22 14:36 */ @Data @AllArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectronicFenceResult.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectronicFenceResult.java index bf7a50e..5f7bd4c 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectronicFenceResult.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectronicFenceResult.java @@ -18,6 +18,10 @@ import java.util.Date; /** * 电子围栏分析结果数据结构 + * @author yuping + * @package com.muyu.fence.domain + * @name ElectronicFenceResult + * @date 2024/9/22 14:36 */ @Data @AllArgsConstructor diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectronicFenceSetting.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectronicFenceSetting.java index 4238c01..2f6571b 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectronicFenceSetting.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/utils/ElectronicFenceSetting.java @@ -10,7 +10,8 @@ import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; /** - * @Author:yuping + *电子围栏设置 + * @author yuping * @Package:com.muyu.fence.domain * @Project:cloud-server * @name:ElectronicFenceSetting diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/PageUtils.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/PageUtils.java index 146d370..9c6539a 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/PageUtils.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/PageUtils.java @@ -5,7 +5,8 @@ import lombok.Data; import java.util.List; /** - * @Author mengyu + * 分页封装类 + * @author sx * @Description 分页封装类 * @Version 1.0 * @Data 2024-09-08 14:58:59 diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java index ce9a6ac..9a9813b 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java @@ -5,7 +5,8 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** - * @Author YuPing + * saas模块启动类 + * @author YuPing * @Description saas模块启动类 * @Version 1.0 * @Data 2024-09-28 17:34:31 diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaConsumerConfig.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaConsumerConfig.java index 7184006..4ee0d1a 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaConsumerConfig.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaConsumerConfig.java @@ -10,7 +10,7 @@ import java.util.HashMap; import java.util.Map; /** - * + *Kafka消费者配置 * @author liuxinyue * @Package:com.muyu.mqtt.configure * @Project:cloud-server diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaProviderConfig.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaProviderConfig.java index 15ac1ef..e377733 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaProviderConfig.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaProviderConfig.java @@ -10,7 +10,7 @@ import java.util.HashMap; import java.util.Map; /** - * + * Kafka生产者配置 * @author liuxinyue * @Package:com.muyu.mqtt.configure * @Project:cloud-server diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java index 1b2be06..8dba9ba 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; /** - * + *Mqtt配置 * @author liuxinyue * @Package:com.muyu.mqtt.configure * @Project:cloud-server From cc99d65102cf03e4d135a3142a897e9382f97e35 Mon Sep 17 00:00:00 2001 From: Liu Wu <2780205363@qq.com> Date: Mon, 30 Sep 2024 09:17:02 +0800 Subject: [PATCH 06/61] =?UTF-8?q?fix():=20=E4=BA=8B=E4=BB=B6=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E4=BF=AE=E6=94=B9,kafka=E6=B3=A8=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/constant/KafkaConstant.java | 49 +++++++ cloud-common/cloud-common-kafka/pom.xml | 40 ++++++ .../kafka/config/KafkaConsumerConfig.java | 96 +++++++++++++ .../kafka/config/KafkaProducerConfig.java | 68 +++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 2 + cloud-common/pom.xml | 1 + cloud-modules/cloud-event/pom.xml | 11 +- .../com/muyu/event/basic/EventCustom.java | 26 ++++ .../com/muyu/event/basic/EventListener.java | 17 +++ .../com/muyu/event/basic/EventPublisher.java | 33 +++++ .../com/muyu/event/basics/EventHandler.java | 25 ---- .../muyu/event/basics/EventProcessBasics.java | 25 ---- .../muyu/event/basics/EventQueueConfig.java | 35 ----- .../com/muyu/event/basics/StartEvent.java | 28 ---- .../com/muyu/event/config/EventConfig.java | 23 ++++ .../event/config/KafkaConsumerConfig.java | 129 ------------------ .../event/config/KafkaProviderConfig.java | 127 ----------------- .../event/config/KafkaSendResultHandler.java | 65 --------- .../config/MyKafkaListenerErrorHandler.java | 34 ----- .../muyu/event/constant/EventConstant.java | 15 -- .../muyu/event/consumer/KafkaConsumer.java | 31 ----- .../muyu/event/consumer/MessageConsumer.java | 59 ++++++++ .../muyu/event/controller/DataController.java | 19 +++ .../muyu/event/controller/TestController.java | 53 +++++++ .../com/muyu/event/domian/EventActuate.java | 28 ---- .../AutoStartupEventListener.java | 25 ---- .../muyu/event/eventDispose/StorageEvent.java | 37 ----- .../event/listener/AddDatabaseListener.java | 37 +++++ .../com/muyu/event/service/DataService.java | 19 +++ .../com/muyu/event/service/TestService.java | 10 ++ .../event/service/impl/DataServiceImpl.java | 26 ++++ .../event/service/impl/TestServiceImpl.java | 20 +++ cloud-modules/pom.xml | 1 + pom.xml | 1 + 34 files changed, 609 insertions(+), 606 deletions(-) create mode 100644 cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/KafkaConstant.java create mode 100644 cloud-common/cloud-common-kafka/pom.xml create mode 100644 cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaConsumerConfig.java create mode 100644 cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProducerConfig.java create mode 100644 cloud-common/cloud-common-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventCustom.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventListener.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventPublisher.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventHandler.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventProcessBasics.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventQueueConfig.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/StartEvent.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/config/EventConfig.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaConsumerConfig.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaProviderConfig.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaSendResultHandler.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/config/MyKafkaListenerErrorHandler.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/constant/EventConstant.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/KafkaConsumer.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/MessageConsumer.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/DataController.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/TestController.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/domian/EventActuate.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/eventDispose/AutoStartupEventListener.java delete mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/eventDispose/StorageEvent.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/listener/AddDatabaseListener.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/service/DataService.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/service/TestService.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/service/impl/DataServiceImpl.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/service/impl/TestServiceImpl.java diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/KafkaConstant.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/KafkaConstant.java new file mode 100644 index 0000000..53d4c2c --- /dev/null +++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/KafkaConstant.java @@ -0,0 +1,49 @@ +package com.muyu.common.core.constant; + +/** + * kafka常量信息 + * @program: cloud-server + * @author: cuiyongxing + * @create: 2024-09-28 12:18 + **/ +public class KafkaConstant { + + public static final String BOOTSTRAP_SERVERS = "bootstrap.servers"; + + public static final String RETRIES = "retries"; + + public static final String ACKS = "acks"; + + public static final String BATCH_SIZE = "batch.size"; + + public static final String BUFFER_MEMORY = "buffer-memory"; + + public static final String KEY_SERIALIZER = "key.serializer"; + + public static final String VALUE_SERIALIZER = "value.serializer"; + + public static final String ENABLE_AUTO_COMMIT = "enable.auto.commit"; + + public static final String AUTO_COMMIT_INTERVAL = "auto.commit.interval.ms"; + + public static final String AUTO_OFFSET_RESET = "auto.offset.reset"; + + public static final String FETCH_MAX_WAIT = "fetch.max.wait"; + + public static final String FETCH_MIN_SIZE = "fetch.min.size"; + + public static final String HEARTBEAT_INTERVAL = "heartbeat.interval"; + + public static final String MAX_POLL_RECORDS = "max.poll.records"; + + public static final String KEY_DESERIALIZER = "key.deserializer"; + + public static final String VALUE_DESERIALIZER = "value.deserializer"; + + public static final String TOPIC = "topic"; + + public static final String GROUP_ID = "group.id"; + + + +} diff --git a/cloud-common/cloud-common-kafka/pom.xml b/cloud-common/cloud-common-kafka/pom.xml new file mode 100644 index 0000000..7f5126e --- /dev/null +++ b/cloud-common/cloud-common-kafka/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + com.muyu + cloud-common + 3.6.3 + + + cloud-common-kafka + + cloud-common-kafka消息队列 + + + 17 + 17 + UTF-8 + + + + org.apache.kafka + kafka-clients + 3.0.0 + + + com.muyu + cloud-common-core + + + + org.apache.kafka + kafka-clients + 2.8.0 + + + + + diff --git a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaConsumerConfig.java b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaConsumerConfig.java new file mode 100644 index 0000000..3eba063 --- /dev/null +++ b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaConsumerConfig.java @@ -0,0 +1,96 @@ +package com.muyu.common.kafka.config; + + + +import com.muyu.common.core.constant.KafkaConstant; +import org.apache.kafka.clients.consumer.KafkaConsumer; +import org.apache.kafka.common.serialization.StringDeserializer; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.HashMap; +import java.util.Map; + +/** +* kafka消费者配置类 +* @program: cloud-server +* @author: cuiyongxing +* @create: 2024-09-28 14:28 +**/ +@Configuration +public class KafkaConsumerConfig { + + /** + * 服务端id+端口号 + */ + @Value("${spring.kafka.consumer.bootstrap-servers}") + private String bootstrapServers; + + /** + * 偏移量 + */ + @Value("${spring.kafka.consumer.enable-auto-commit}") + private Boolean enableAutoCommit; + + /** + * 自动提交时间间隔 + */ + @Value("${spring.kafka.consumer.auto-commit-interval}") + private Integer autoCommitInterval; + + /** + * 偏移量配置 + */ + @Value("${spring.kafka.consumer.auto-offset-reset}") + private String autoOffsetReset; + + /** + * 阻塞最大时间 + */ + @Value("${spring.kafka.consumer.fetch-max-wait}") + private Integer fetchMaxWait; + + /** + * 请求最小字节 + */ + @Value("${spring.kafka.consumer.fetch-min-size}") + private Integer fetchMinSize; + + /** + * 心跳间隔时间 + */ + @Value("${spring.kafka.consumer.heartbeat-interval}") + private Integer heartbeatInterval; + + /** + * 最大记录条数 + */ + @Value("${spring.kafka.consumer.max-poll-records}") + private Integer maxPollRecords; + + /** + * 消费组 + */ + @Value("${spring.kafka.consumer.group-id}") + private String groupId; + + + @Bean + public KafkaConsumer kafkaConsumer(){ + Map configs = new HashMap<>(); + configs.put(KafkaConstant.BOOTSTRAP_SERVERS, bootstrapServers); + configs.put(KafkaConstant.ENABLE_AUTO_COMMIT, enableAutoCommit); + configs.put(KafkaConstant.AUTO_COMMIT_INTERVAL, autoCommitInterval); + configs.put(KafkaConstant.AUTO_OFFSET_RESET, autoOffsetReset); + configs.put(KafkaConstant.FETCH_MAX_WAIT, fetchMaxWait); + configs.put(KafkaConstant.FETCH_MIN_SIZE, fetchMinSize); + configs.put(KafkaConstant.HEARTBEAT_INTERVAL, heartbeatInterval); + configs.put(KafkaConstant.MAX_POLL_RECORDS, maxPollRecords); + configs.put(KafkaConstant.GROUP_ID, groupId); + StringDeserializer keyDeserializer = new StringDeserializer(); + StringDeserializer valueDeserializer = new StringDeserializer(); + return new KafkaConsumer(configs, keyDeserializer, valueDeserializer); + } + +} diff --git a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProducerConfig.java b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProducerConfig.java new file mode 100644 index 0000000..becdcda --- /dev/null +++ b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProducerConfig.java @@ -0,0 +1,68 @@ +package com.muyu.common.kafka.config; + +import com.muyu.common.core.constant.KafkaConstant; +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.common.serialization.StringSerializer; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + + +import java.util.HashMap; +import java.util.Map; + +/** + * kafka生产者配置信息 + * @program: cloud-server + * @author: cuiyongxing + * @create: 2024-09-28 12:03 + **/ +@Configuration +public class KafkaProducerConfig { + + /** + * 服务端ip+端口号 + */ + @Value("${spring.kafka.producer.bootstrap-servers}") + private String bootstrapServers; + /** + * 重试次数 + */ + @Value("${spring.kafka.producer.retries}") + private Integer retries; + + /** + * 默认批量大小 + */ + @Value("${spring.kafka.producer.batch-size}") + private Integer batchSize; + /** + * 总内存字节数 + */ + @Value("${spring.kafka.producer.buffer-memory}") + private Integer bufferMemory; + + /** + * 偏移量 + */ + @Value("${spring.kafka.producer.acks}") + private String acks; + + + + + @Bean + public KafkaProducer kafkaProducer() { + Map configs = new HashMap<>(); + configs.put(KafkaConstant.BOOTSTRAP_SERVERS, bootstrapServers); + configs.put(KafkaConstant.RETRIES, retries); + configs.put(KafkaConstant.BATCH_SIZE, batchSize); + configs.put(KafkaConstant.BUFFER_MEMORY, bufferMemory); + configs.put(KafkaConstant.ACKS, acks); + StringSerializer keySerializer = new StringSerializer(); + StringSerializer valueSerializer = new StringSerializer(); + KafkaProducer kafkaProducer = new KafkaProducer<>(configs, keySerializer, valueSerializer); + return kafkaProducer; + } + +} diff --git a/cloud-common/cloud-common-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..e87908e --- /dev/null +++ b/cloud-common/cloud-common-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,2 @@ +com.muyu.common.kafka.config.KafkaConsumerConfig +com.muyu.common.kafka.config.KafkaProducerConfig diff --git a/cloud-common/pom.xml b/cloud-common/pom.xml index 1454b00..1843d4e 100644 --- a/cloud-common/pom.xml +++ b/cloud-common/pom.xml @@ -22,6 +22,7 @@ cloud-common-rabbit cloud-common-saas cloud-common-swagger + cloud-common-kafka cloud-common diff --git a/cloud-modules/cloud-event/pom.xml b/cloud-modules/cloud-event/pom.xml index eb13417..124e715 100644 --- a/cloud-modules/cloud-event/pom.xml +++ b/cloud-modules/cloud-event/pom.xml @@ -110,11 +110,18 @@ node-commons 1.3.2 + - org.springframework.kafka - spring-kafka + org.apache.kafka + kafka-clients + 2.8.0 + + com.muyu + cloud-common-kafka + 3.6.3 + diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventCustom.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventCustom.java new file mode 100644 index 0000000..609c8a4 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventCustom.java @@ -0,0 +1,26 @@ +package com.muyu.event.basic; + +import com.alibaba.fastjson2.JSONObject; +import org.springframework.context.ApplicationEvent; + +/** + * 事件类型 + * @author 刘武 + * @package:com.muyu.event.Basic + * @name:EventCustom + * @date:2024/9/29 21:17 + */ +public class EventCustom extends ApplicationEvent { + + private JSONObject data; + + public EventCustom(Object source,JSONObject data) { + super(source); + this.data=data; + } + + public JSONObject getData(){ + return data; + } + +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventListener.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventListener.java new file mode 100644 index 0000000..cceaeb9 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventListener.java @@ -0,0 +1,17 @@ +package com.muyu.event.basic; + + +import org.springframework.context.ApplicationListener; + +/** + * 事件监听接口 + * @author 刘武 + * @package:com.muyu.event.basic + * @name:EventListener + * @date:2024/9/29 21:21 + */ +public interface EventListener extends ApplicationListener { + + void onEvent(EventCustom event); + +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventPublisher.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventPublisher.java new file mode 100644 index 0000000..624f7fa --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basic/EventPublisher.java @@ -0,0 +1,33 @@ +package com.muyu.event.basic; + +import com.alibaba.fastjson2.JSONB; +import com.alibaba.fastjson2.JSONObject; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.stereotype.Component; + +/** + * 策略发送事件 + * @author 刘武 + * @package:com.muyu.event.basic + * @name:EventPublisher + * @date:2024/9/29 22:01 + */ +@Component +public class EventPublisher implements ApplicationEventPublisherAware { + + private ApplicationEventPublisher publisher; + + @Override + public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { + this.publisher=applicationEventPublisher; + } + + public void publishEvent(JSONObject jsonObject){ + EventCustom event = new EventCustom(this, jsonObject); + publisher.publishEvent(event); + } + + + +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventHandler.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventHandler.java deleted file mode 100644 index 85b3488..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventHandler.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.muyu.event.basics; - -/** - * @author 刘武 - * @package: - * @name:EventHandler - * @date:2024/9/29 - */ -public class EventHandler { - - private static final ThreadLocal EVENT_THREAD = new ThreadLocal<>(); - - public static void set(final EventQueueConfig handler) { - EVENT_THREAD.set(handler); - } - - public static EventQueueConfig get() { - return EVENT_THREAD.get(); - } - - public static void remove(){ - EVENT_THREAD.remove(); - } - -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventProcessBasics.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventProcessBasics.java deleted file mode 100644 index 98b7684..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventProcessBasics.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.muyu.event.basics; - - -public abstract class EventProcessBasics { - - /** - * 下一个事件对象 - */ - protected EventProcessBasics nextEvent; - - /** - * 下一个事件 - * @param nextHandler 下一个事件处理 - */ - public void setNextHandler(EventProcessBasics nextHandler) { - this.nextEvent = nextHandler; - } - - /** - * 事件处理抽象类 - * @param eventKey 事件唯一key - */ - public abstract void handleEvent(String eventKey); - -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventQueueConfig.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventQueueConfig.java deleted file mode 100644 index daf4bb2..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/EventQueueConfig.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.muyu.event.basics; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.concurrent.LinkedBlockingDeque; - -/** - * @author 刘武 - * @package: - * @name:EventQueueConfig - * @date:2024/9/29 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class EventQueueConfig { - - private LinkedBlockingDeque taskNodeQueue = new LinkedBlockingDeque<>(); - - public void addEvent(EventProcessBasics obj){ - this.taskNodeQueue.add(obj); - } - - public boolean hashEventNext(){ - return !taskNodeQueue.isEmpty(); - } - - private EventProcessBasics nextTaskNode(){ - return taskNodeQueue.poll(); - } -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/StartEvent.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/StartEvent.java deleted file mode 100644 index 74d882b..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/basics/StartEvent.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.muyu.event.basics; - - -import com.muyu.event.domian.EventActuate; -import org.springframework.context.ApplicationEvent; - -import java.util.List; - -/** - * @author 刘武 - * @package: - * @name:StartEvent - * @date:2024/9/29 - */ - -public class StartEvent extends ApplicationEvent { - - private EventActuate eventActuate; - - public StartEvent(EventActuate source) { - super(source); - this.eventActuate = source; - } - - public EventActuate getEventActuate() { - return eventActuate; - } -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/EventConfig.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/EventConfig.java new file mode 100644 index 0000000..747cb86 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/EventConfig.java @@ -0,0 +1,23 @@ +package com.muyu.event.config; + + +import com.muyu.event.listener.AddDatabaseListener; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @author 刘武 + * @package:com.muyu.event.config + * @name:EventConfig + * @date:2024/9/29 21:13 + */ +@Configuration +public class EventConfig { + + @Bean + public AddDatabaseListener addDatabaseListener() { + return new AddDatabaseListener(); + } + + +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaConsumerConfig.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaConsumerConfig.java deleted file mode 100644 index 36610d7..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaConsumerConfig.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.muyu.event.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 { - - /** - * 配置 Kafka的 主机地址 - */ - @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; - /** - * 消费者与Kafka的心跳续约的会话超时时间 - */ - @Value("${spring.kafka.properties.session.timeout.ms}") - private String sessionTimeout; - /** - * 两次poll之间的最大间隔,默认值为5分钟。如果超过这个间隔会触发reBalance - */ - @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); - } - } - - /** - * kafka监听容器工厂 负责 从 Kafka的主题中 取出消息进行消费 可以设置消费者的配置 - * @return - */ - @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/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaProviderConfig.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaProviderConfig.java deleted file mode 100644 index 1fdcf05..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaProviderConfig.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.muyu.event.config; - -import org.apache.kafka.clients.producer.ProducerConfig; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -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 java.util.HashMap; -import java.util.Map; - -/** - * 主题生产者的配置类 - */ -@Configuration -public class KafkaProviderConfig { - - /** - * kafka 的主机地址 - */ - @Value("${spring.kafka.producer.bootstrap-servers}") - private String bootstrapServers; - /** - * 配置 Kafka的事务 - */ - @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; - - /** - * 设置 健的序列化方式 - */ - @Value("${spring.kafka.producer.key-serializer}") - private String keySerializer; - - /** - * 设置 值的序列化方式 - */ - @Value("${spring.kafka.producer.value-serializer}") - private String valueSerializer; - - /** - * 构建 map 配置消息生产者对象的配置 - * @return - */ - @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, keySerializer); - props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, valueSerializer); - return props; - } - - /** - * 构建 主题生产者工厂 - * @return - */ - @Bean - public ProducerFactory producerFactory() { - DefaultKafkaProducerFactory factory = new DefaultKafkaProducerFactory<>(producerConfigs()); - //开启事务,会导致 LINGER_MS_CONFIG 配置失效 - factory.setTransactionIdPrefix(transactionIdPrefix); - return factory; - } - - /** - * 配置 Kafka的事务管理器 - * @param producerFactory - * @return - */ - @Bean - public KafkaTransactionManager kafkaTransactionManager(ProducerFactory producerFactory) { - return new KafkaTransactionManager<>(producerFactory); - } - - /** - * 构建 KafkaTemplate - * @return - */ - @Bean - public KafkaTemplate kafkaTemplate() { - return new KafkaTemplate<>(producerFactory()); - } - -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaSendResultHandler.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaSendResultHandler.java deleted file mode 100644 index c0fa863..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/KafkaSendResultHandler.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.muyu.event.config; - -import jakarta.annotation.Nullable; -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.stereotype.Component; - -import javax.annotation.PostConstruct; - -@Component -public class KafkaSendResultHandler implements ProducerListener { - - @Autowired - private KafkaTemplate kafkaTemplate; - - /** - * bean 初始化方法 - */ - @PostConstruct - public void init(){ - this.kafkaTemplate.setProducerListener(this); - } - - /** - * 消息发送到Kafka成功的回调 - * @param producerRecord - * @param recordMetadata - */ - @Override - public void onSuccess(ProducerRecord producerRecord, RecordMetadata recordMetadata){ - System.out.println("信息发送成功:"+ producerRecord.toString()); - } - - /** - * 息发送到 Kafka 失败的回调 - * @param producerRecord the failed record - * @param recordMetadata The metadata for the record that was sent (i.e. the partition - * and offset). If an error occurred, metadata will contain only valid topic and maybe - * the partition. If the partition is not provided in the ProducerRecord and an error - * occurs before partition is assigned, then the partition will be set to - * RecordMetadata.UNKNOWN_PARTITION. - * @param exception the exception thrown - */ - @Override - public void onError(ProducerRecord producerRecord, @Nullable RecordMetadata recordMetadata, - Exception exception){ - System.out.println("消息发送失败: "+ producerRecord.toString()); - } - - - - - - - - - - - - - -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/MyKafkaListenerErrorHandler.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/MyKafkaListenerErrorHandler.java deleted file mode 100644 index 7c72f48..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/config/MyKafkaListenerErrorHandler.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.muyu.event.config; - - -import lombok.NonNull; -import org.apache.kafka.clients.consumer.Consumer; -import org.springframework.kafka.listener.KafkaListenerErrorHandler; -import org.springframework.kafka.listener.ListenerExecutionFailedException; -import org.springframework.messaging.Message; -import org.springframework.stereotype.Component; - -@Component -public class MyKafkaListenerErrorHandler implements KafkaListenerErrorHandler { - - @Override - @NonNull - public Object handleError(@NonNull Message message, - 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/cloud-modules/cloud-event/src/main/java/com/muyu/event/constant/EventConstant.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/constant/EventConstant.java deleted file mode 100644 index fa152ac..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/constant/EventConstant.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.muyu.event.constant; - - -/** - * 事件常量 - * @author 刘武 - * @package:com.muyu.event.constant - * @name:EventConstant - * @date:2024/9/28 19:25 - */ - -public interface EventConstant { - - String STORAGE_EVENT = "storageEvent"; -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/KafkaConsumer.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/KafkaConsumer.java deleted file mode 100644 index 6fe4eb6..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/KafkaConsumer.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.muyu.event.consumer; - -import org.apache.kafka.clients.consumer.ConsumerRecord; -import org.springframework.kafka.annotation.KafkaListener; -import org.springframework.kafka.support.Acknowledgment; - -/** - * kafka监听 - * @author 刘武 - * @package:com.muyu.event.consumer - * @name:KafkaConsumer - * @date:2024/9/28 23:34 - */ - -public class KafkaConsumer { - - - @KafkaListener(topics = "data") - public void dataKafkaConsumer(ConsumerRecord consumerRecord, Acknowledgment acknowledgment){ - Object key = consumerRecord.key(); - Object value = consumerRecord.value(); - - //事件调用 - - - //消息确认消费 - acknowledgment.acknowledge(); - } - - -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/MessageConsumer.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/MessageConsumer.java new file mode 100644 index 0000000..4f78908 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/MessageConsumer.java @@ -0,0 +1,59 @@ +package com.muyu.event.consumer; + + + +import com.alibaba.fastjson2.JSONObject; +import com.muyu.event.basic.EventPublisher; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.apache.kafka.clients.consumer.KafkaConsumer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +import java.time.Duration; +import java.util.Collections; +import java.util.List; + +import static org.bouncycastle.asn1.x500.style.RFC4519Style.l; + +/** + * kafka监听 + * @author 刘武 + * @package:com.muyu.event.consumer + * @name:KafkaConsumer + * @date:2024/9/28 23:34 + */ +@Component +public class MessageConsumer implements ApplicationRunner { + + @Autowired + public KafkaConsumer consumer; + @Autowired + private EventPublisher eventPublisher; + + private final String topic="vehicle"; + + + @Override + public void run(ApplicationArguments args) throws Exception { + List list = Collections.singletonList(topic); + consumer.subscribe(list); + + while (true){ + ConsumerRecords consumerRecords = consumer.poll(Duration.ofMillis(100)); + consumerRecords.forEach(record -> { + String value = record.value(); + System.out.println(value); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("123","123"); + + //事件处理 + eventPublisher.publishEvent(jsonObject); + }); + + + } + } +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/DataController.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/DataController.java new file mode 100644 index 0000000..d1ff027 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/DataController.java @@ -0,0 +1,19 @@ +package com.muyu.event.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author 刘武 + * @package:com.muyu.event.controller + * @name:DataController + * @date:2024/9/29 20:16 + */ +@RestController +@RequestMapping("data") +public class DataController { + + + + +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/TestController.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/TestController.java new file mode 100644 index 0000000..84c9f93 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/TestController.java @@ -0,0 +1,53 @@ +package com.muyu.event.controller; + + +import com.alibaba.fastjson2.JSONObject; +import com.muyu.event.service.TestService; +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.springframework.beans.factory.annotation.Autowired; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @author 刘武 + * @package:com.muyu.event.controller + * @name:TestController + * @date:2024/9/29 20:58 + */ +@RestController("test") +public class TestController { + + @Resource + private KafkaProducer kafkaProducer; + + + private static final String topic="vehicle"; + + @GetMapping("send") + public String sendKafka(){ + + String message="发送一条信息"; + ProducerRecord producerRecord = new ProducerRecord(topic,message); + kafkaProducer.send(producerRecord); + + return "success"; + } + + + + + + + + + + + + + + +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/domian/EventActuate.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/domian/EventActuate.java deleted file mode 100644 index 9ccd57e..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/domian/EventActuate.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.muyu.event.domian; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.List; - -/** - * 事件驱动对象 - * @Author 刘武 - * @Data 2024/9/29 - */ -@Data -@SuperBuilder -@AllArgsConstructor -@NoArgsConstructor -public class EventActuate { - /** - * json数据 - */ - private String jsonData; - /** - * 事件驱动key集合 - */ - private List eventKeys; -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/eventDispose/AutoStartupEventListener.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/eventDispose/AutoStartupEventListener.java deleted file mode 100644 index 6eec2db..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/eventDispose/AutoStartupEventListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.muyu.event.eventDispose; - - -import com.muyu.event.basics.StartEvent; -import com.muyu.event.domian.EventActuate; -import org.springframework.context.ApplicationListener; -import org.springframework.stereotype.Component; - -/** - * @author 刘武 - * @package: - * @name:AutoStartupEventListener - * @date:2024/9/29 - */ -@Component -public class AutoStartupEventListener implements ApplicationListener { - - @Override - public void onApplicationEvent(StartEvent event) { - - EventActuate eventActuate = event.getEventActuate(); - - } - -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/eventDispose/StorageEvent.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/eventDispose/StorageEvent.java deleted file mode 100644 index 70d6e79..0000000 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/eventDispose/StorageEvent.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.muyu.event.eventDispose; - - -import com.muyu.event.basics.EventProcessBasics; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.extern.log4j.Log4j2; - -/** - * @author 刘武 - * @package: - * @name:StorageEvent - * @date:2024/9/29 - */ -@EqualsAndHashCode(callSuper = true) -@Log4j2 -@Data -@AllArgsConstructor -public class StorageEvent extends EventProcessBasics { - /** - * 事件名称 - */ - private String eventName; - - @Override - public void handleEvent(String eventKey) { - if (eventKey.equals(eventName)){ - log.info("开始执行 [{}] 事件", eventKey); - - }else if (nextEvent != null){ - nextEvent.handleEvent(eventKey); - }else { - log.info("处理结束,最后处理的事件为 [{}]", eventKey); - } - } -} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/listener/AddDatabaseListener.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/listener/AddDatabaseListener.java new file mode 100644 index 0000000..e3fc4a7 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/listener/AddDatabaseListener.java @@ -0,0 +1,37 @@ +package com.muyu.event.listener; + +import com.alibaba.fastjson2.JSONObject; +import com.muyu.event.basic.EventCustom; +import com.muyu.event.basic.EventListener; + + +import java.util.ArrayList; +import java.util.List; + +/** + * 添加数据库事件 + * @program: cloud-server + * @author: cuiyongxing + * @create: 2024-09-29 17:34 + **/ +public class AddDatabaseListener implements EventListener { + + + @Override + public void onEvent(EventCustom event) { + + JSONObject jsonObject = event.getData(); + List keys = new ArrayList<>(); + List values = new ArrayList<>(); + + jsonObject.forEach((key, value) -> { + keys.add(key); + values.add((String) value); + }); + } + + @Override + public void onApplicationEvent(EventCustom event) { + onEvent(event); + } +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/DataService.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/DataService.java new file mode 100644 index 0000000..a06f76c --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/DataService.java @@ -0,0 +1,19 @@ +package com.muyu.event.service; + +/** + * @author 刘武 + * @package:com.muyu.event.service.impl + * @name:DataService + * @date:2024/9/29 20:23 + */ +public interface DataService { + + void warnData(String data); + + + + + + + +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/TestService.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/TestService.java new file mode 100644 index 0000000..a7e2b7c --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/TestService.java @@ -0,0 +1,10 @@ +package com.muyu.event.service; + +/** + * @author 刘武 + * @package:com.muyu.event.service + * @name:TestService + * @date:2024/9/29 20:59 + */ +public interface TestService { +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/impl/DataServiceImpl.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/impl/DataServiceImpl.java new file mode 100644 index 0000000..649c0ce --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/impl/DataServiceImpl.java @@ -0,0 +1,26 @@ +package com.muyu.event.service.impl; + +import com.muyu.event.service.DataService; +import org.springframework.stereotype.Service; + +/** + * @author 刘武 + * @package:com.muyu.event.service.impl + * @name:DataServiceImpl + * @date:2024/9/29 20:24 + */ +@Service +public class DataServiceImpl implements DataService { + + + + @Override + public void warnData(String data) { + + + + + + + } +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/impl/TestServiceImpl.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/impl/TestServiceImpl.java new file mode 100644 index 0000000..79100a8 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/service/impl/TestServiceImpl.java @@ -0,0 +1,20 @@ +package com.muyu.event.service.impl; + +import com.muyu.event.service.TestService; +import org.springframework.stereotype.Service; + +/** + * @author 刘武 + * @package:com.muyu.event.service.impl + * @name:TestServiceImpl + * @date:2024/9/29 21:00 + */ +@Service +public class TestServiceImpl implements TestService { + + + + + + +} diff --git a/cloud-modules/pom.xml b/cloud-modules/pom.xml index f27c21f..b6f626b 100644 --- a/cloud-modules/pom.xml +++ b/cloud-modules/pom.xml @@ -26,6 +26,7 @@ cloud-event + cloud-modules pom diff --git a/pom.xml b/pom.xml index 45354ea..076442b 100644 --- a/pom.xml +++ b/pom.xml @@ -293,6 +293,7 @@ cloud-modules cloud-common + pom From a6521e46c9ab1cae23e767c29075f02995110ddb Mon Sep 17 00:00:00 2001 From: 86191 <2160251938@qq.com> Date: Mon, 30 Sep 2024 09:26:57 +0800 Subject: [PATCH 07/61] =?UTF-8?q?feat():=E5=9B=B4=E6=A0=8F=E5=92=8C?= =?UTF-8?q?=E6=95=85=E9=9A=9C=E7=9A=84=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-common/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/cloud-common/pom.xml b/cloud-common/pom.xml index 39e986c..489ea76 100644 --- a/cloud-common/pom.xml +++ b/cloud-common/pom.xml @@ -32,4 +32,5 @@ cloud-common通用模块 + From 1f072d4ca24a12d9166a78cb3223b98b0db56f7f Mon Sep 17 00:00:00 2001 From: Number7 <1845377266@qq.com> Date: Mon, 30 Sep 2024 10:29:58 +0800 Subject: [PATCH 08/61] =?UTF-8?q?fix():=E4=BF=AE=E6=94=B9=E6=8A=A5?= =?UTF-8?q?=E6=96=87=E6=8E=A5=E5=8F=A3=E5=AD=97=E6=AE=B5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/domain/MessageTemplateType.java | 6 +- .../common/util/KafkaCommonProperties.java | 239 ------------------ .../com/muyu/common/util/KafkaConstants.java | 16 ++ .../muyu/common/util/KafkaConsumerConfig.java | 43 ++++ .../muyu/common/util/KafkaProducerTest.java | 64 ----- .../muyu/common/util/KafkaProviderConfig.java | 38 +++ .../java/com/muyu/server/SaasApplication.java | 1 + .../com/muyu/server/config/MqttConfigure.java | 5 +- .../server/controller/TemplateController.java | 5 +- .../com/muyu/server/mapper/KafkaMapper.java | 13 + .../impl/MessageTemplateTypeServiceImpl.java | 14 +- .../service/impl/TemplateServiceImpl.java | 16 +- 12 files changed, 131 insertions(+), 329 deletions(-) delete mode 100644 cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaCommonProperties.java create mode 100644 cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaConstants.java create mode 100644 cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaConsumerConfig.java delete mode 100644 cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaProducerTest.java create mode 100644 cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaProviderConfig.java create mode 100644 cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/KafkaMapper.java diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java index 3cdd2a5..dad9090 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java @@ -1,5 +1,6 @@ package com.muyu.common.domain; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.tags.Tag; @@ -7,9 +8,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; - import java.io.Serializable; - /** * 模版对应的配置 * @Author:liuxinyue @@ -25,8 +24,6 @@ import java.io.Serializable; @Tag(name = "报文模版表") @TableName(value = "message_template_type",autoResultMap = true) public class MessageTemplateType implements Serializable { - - /** * 主键 */ @@ -59,6 +56,7 @@ public class MessageTemplateType implements Serializable { /** * 数据类型名称 */ + @TableField(exist = false) private String dataTypeName; /** *最小值 diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaCommonProperties.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaCommonProperties.java deleted file mode 100644 index a713ae1..0000000 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaCommonProperties.java +++ /dev/null @@ -1,239 +0,0 @@ -package com.muyu.common.util; - -import java.util.Collection; -import java.util.Collections; - -/** - * kafka通用配置 - * @author liuxinyue - * @Package:com.muyu.common.util - * @name:KafkaCommonProperties - * @Date:2024/9/29 12:26 - */ -public class KafkaCommonProperties{ - - /** - * Kafka主机 - */ - private String kafkaHost = "47.101.53.251:9092"; - - /** - * 生产者:要求leader请求结束前收到的确认次数,来控制发送数据的持久化 - * 消息确认: - * 0:生产者不等待服务器确认,此时retry参数不生效 - * 1:leader写入记录到log,不会等待follower的确认即向生产者发送通知 - * all:leader等待所有副本通知,然后向生产者发送通知,保证所有数据落盘到所有副本,功能同设置为-1 - */ - private String ack = "all"; - - /** - * 生产者重试次数 - */ - private Integer retryTimes = 1; - - /** - * 生产者:向同一分区发送打包发送的数据量,单位:bytes,默认16384bytes=16K - */ - private Integer batchSize = 16384; - - /** - * 生产者:批量发送消息的间隔时间(延迟时间),单位:毫秒 - */ - private Integer lingerMs = 1; - - /** - * 生产者:可以使用的最大缓存空间,单位:bytes,默认33554432bytes=32M. - */ - private Integer bufferMemory = 33554432; - - /** - * 生产者:键编码器 - */ - private String keyEncoder = "org.apache.kafka.common.serialization.StringSerializer"; - - /** - * 生产者:值编码器 - */ - private String valueEncoder = "org.apache.kafka.common.serialization.StringSerializer"; - - /** - * 消费者:消费topic的组ID - */ - private String groupId = "my-group-id"; - - /** - * 消费者:后台定期提交offset - */ - private String autoCommit = "true"; - - /** - * 消费者提交offset的时间间隔:单位:毫秒,当enable.auto.commit为true时生效 - */ - private String autoCommitIntervalMs = "1000"; - - /** - * 消费者:键解码器 - */ - private String keyDecoder = "org.apache.kafka.common.serialization.StringDeserializer"; - - /** - * 消费者:值解码器 - */ - private String valueDecoder = "org.apache.kafka.common.serialization.StringDeserializer"; - - /** - * 消费者:重启后配置offset - * earliest:消费者恢复到当前topic最早的offset - * latest:消费者从最新的offset开始消费 - * none:如果消费者组没找到之前的offset抛出异常 - * 其他任何值都会抛出异常 - */ - private String autoOffsetReset = "latest"; - - /** - * TOPIC - */ - private Collection topic = Collections.singleton("my-topic"); - - public KafkaCommonProperties() { - - } - - public KafkaCommonProperties(String kafkaHost, String ack, Integer retryTimes, Integer batchSize, Integer lingerMs, Integer bufferMemory, String keyEncoder, String valueEncoder, String groupId, String autoCommit, String autoCommitIntervalMs, String keyDecoder, String valueDecoder, String autoOffsetReset, Collection topic) { - this.kafkaHost = kafkaHost; - this.ack = ack; - this.retryTimes = retryTimes; - this.batchSize = batchSize; - this.lingerMs = lingerMs; - this.bufferMemory = bufferMemory; - this.keyEncoder = keyEncoder; - this.valueEncoder = valueEncoder; - this.groupId = groupId; - this.autoCommit = autoCommit; - this.autoCommitIntervalMs = autoCommitIntervalMs; - this.keyDecoder = keyDecoder; - this.valueDecoder = valueDecoder; - this.autoOffsetReset = autoOffsetReset; - this.topic = topic; - } - - public String getKafkaHost() { - return kafkaHost; - } - - public void setKafkaHost(String kafkaHost) { - this.kafkaHost = kafkaHost; - } - - public String getAck() { - return ack; - } - - public void setAck(String ack) { - this.ack = ack; - } - - public Integer getRetryTimes() { - return retryTimes; - } - - public void setRetryTimes(Integer retryTimes) { - this.retryTimes = retryTimes; - } - - public Integer getBatchSize() { - return batchSize; - } - - public void setBatchSize(Integer batchSize) { - this.batchSize = batchSize; - } - - public Integer getLingerMs() { - return lingerMs; - } - - public void setLingerMs(Integer lingerMs) { - this.lingerMs = lingerMs; - } - - public Integer getBufferMemory() { - return bufferMemory; - } - - public void setBufferMemory(Integer bufferMemory) { - this.bufferMemory = bufferMemory; - } - - public String getKeyEncoder() { - return keyEncoder; - } - - public void setKeyEncoder(String keyEncoder) { - this.keyEncoder = keyEncoder; - } - - public String getValueEncoder() { - return valueEncoder; - } - - public void setValueEncoder(String valueEncoder) { - this.valueEncoder = valueEncoder; - } - - public String getGroupId() { - return groupId; - } - - public void setGroupId(String groupId) { - this.groupId = groupId; - } - - public String getAutoCommit() { - return autoCommit; - } - - public void setAutoCommit(String autoCommit) { - this.autoCommit = autoCommit; - } - - public String getAutoCommitIntervalMs() { - return autoCommitIntervalMs; - } - - public void setAutoCommitIntervalMs(String autoCommitIntervalMs) { - this.autoCommitIntervalMs = autoCommitIntervalMs; - } - - public String getKeyDecoder() { - return keyDecoder; - } - - public void setKeyDecoder(String keyDecoder) { - this.keyDecoder = keyDecoder; - } - - public String getValueDecoder() { - return valueDecoder; - } - - public void setValueDecoder(String valueDecoder) { - this.valueDecoder = valueDecoder; - } - - public String getAutoOffsetReset() { - return autoOffsetReset; - } - - public void setAutoOffsetReset(String autoOffsetReset) { - this.autoOffsetReset = autoOffsetReset; - } - - public Collection getTopic() { - return topic; - } - - public void setTopic(Collection topic) { - this.topic = topic; - } -} diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaConstants.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaConstants.java new file mode 100644 index 0000000..064911a --- /dev/null +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaConstants.java @@ -0,0 +1,16 @@ +package com.muyu.common.util; + +/** + * @author liuxinyue + * @Package:com.muyu.common.util + * @name:KafkaConstants + * @Date:2024/9/29 20:22 + */ +public class KafkaConstants { + + + public final static String KafkaTopic="kafka_topic_test"; + + public final static String KafkaGrop="kafka_group_test"; + +} diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaConsumerConfig.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaConsumerConfig.java new file mode 100644 index 0000000..bdd2095 --- /dev/null +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaConsumerConfig.java @@ -0,0 +1,43 @@ +package com.muyu.common.util; + +import org.apache.kafka.clients.consumer.KafkaConsumer; +import org.apache.kafka.common.serialization.Deserializer; +import org.apache.kafka.common.serialization.StringDeserializer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.HashMap; + +/** + * @author liuxinyue + * @Package:com.muyu.common.util + * @name:KafkaConsumerConfig + * @Date:2024/9/29 20:19 + */ +@Configuration +public class KafkaConsumerConfig +{ + + @Bean + public KafkaConsumer kafkaConsumer(){ + HashMap map = new HashMap<>(); + map.put("bootstrap.servers", "47.101.53.251:9092"); + map.put("enable.auto.commit",true); + map.put("auto.commit.interval", 5000); + map.put("auto.offset.reset", "latest"); + map.put("fetch.max.wait", 500); + map.put("fetch.min.size", 1); + map.put("heartbeat-interval", 3000); + map.put("max.poll.records", 500); + map.put("group.id", KafkaConstants.KafkaGrop); + //指定key使用的反序列化类 + Deserializer keyDeserializer = new StringDeserializer(); + //指定value使用的反序列化类 + Deserializer valueDeserializer = new StringDeserializer(); + //创建Kafka消费者 + KafkaConsumer kafkaConsumer = new KafkaConsumer(map, keyDeserializer, valueDeserializer); + return kafkaConsumer; + } + + +} diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaProducerTest.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaProducerTest.java deleted file mode 100644 index 004dff9..0000000 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaProducerTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.muyu.common.util; - -import org.apache.kafka.clients.producer.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Objects; -import java.util.Properties; -/** - * kafka生产 - * @author liuxinyue - * @Package:com.muyu.common.util - * @name:KafkaProducerTest - * @Date:2024/9/29 12:27 - */ -public class KafkaProducerTest { - private static final Logger logger = LoggerFactory.getLogger(KafkaProducerTest.class); - - public static KafkaProducer getDefaultKafkaProducer(KafkaCommonProperties kafkaCommonProperties) { - Properties properties = new Properties(); - properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaCommonProperties.getKafkaHost()); - properties.put(ProducerConfig.ACKS_CONFIG, kafkaCommonProperties.getAck()); - properties.put(ProducerConfig.RETRIES_CONFIG, kafkaCommonProperties.getRetryTimes()); - properties.put(ProducerConfig.BATCH_SIZE_CONFIG, kafkaCommonProperties.getBatchSize()); - properties.put(ProducerConfig.LINGER_MS_CONFIG, kafkaCommonProperties.getLingerMs()); - properties.put(ProducerConfig.BUFFER_MEMORY_CONFIG, kafkaCommonProperties.getBufferMemory()); - properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, kafkaCommonProperties.getKeyEncoder()); - properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, kafkaCommonProperties.getValueEncoder()); - return new KafkaProducer<>(properties); - } - - static class MyProducerCallback implements Callback { - - @Override - public void onCompletion(RecordMetadata metadata, Exception exception) { - if (Objects.nonNull(exception)) { - logger.error(">>>>>>>>>>Producer生产消息异常:", exception); - } - if (Objects.nonNull(metadata)) { - logger.info(">>>>>>>>>>Producer生产消息:metadata:{},partition:{}, offset:{}", metadata, metadata.partition(), metadata.offset()); - } - } - } - - public static void main(String[] args) { - KafkaCommonProperties kafkaCommonProperties = new KafkaCommonProperties(); - KafkaProducer producer = getDefaultKafkaProducer(kafkaCommonProperties); - String message = "hello world "; - try { - for (int i = 0; i < 10; i++) { - // 异步写入数据 - String topic = kafkaCommonProperties.getTopic().toArray()[0].toString(); - ProducerRecord producerRecord = new ProducerRecord<>(topic, message + i); - producer.send(producerRecord, new MyProducerCallback()); - } - } catch (Exception ex) { - logger.error(">>>>>>>>生产数据异常:", ex); - throw new RuntimeException(ex); - } finally { - producer.close(); - } - } - -} diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaProviderConfig.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaProviderConfig.java new file mode 100644 index 0000000..9ca8d40 --- /dev/null +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/util/KafkaProviderConfig.java @@ -0,0 +1,38 @@ +package com.muyu.common.util; + +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.common.serialization.Serializer; +import org.apache.kafka.common.serialization.StringSerializer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.HashMap; + +/** + * @author liuxinyue + * @Package:com.muyu.common.util + * @name:KafkaProviderConfig + * @Date:2024/9/29 20:15 + */ +@Configuration +public class KafkaProviderConfig{ + + @Bean + public KafkaProducer KafkaProvider(){ + + HashMap map = new HashMap<>(); + map.put("bootstrap.servers", "47.101.53.251:9092"); + map.put("retries", "2"); + map.put("batch.size", 16384); + map.put("buffer-memory", 33554432); + map.put("acks", "-1"); + Serializer keySerializer = new StringSerializer(); + //指定value使用的序列化类 + Serializer valueSerializer = new StringSerializer(); + //创建Kafka生产者 + KafkaProducer kafkaProducer = new KafkaProducer(map, keySerializer, valueSerializer); + return kafkaProducer; + } + + +} diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java index ce9a6ac..2d3639a 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java @@ -10,6 +10,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @Version 1.0 * @Data 2024-09-28 17:34:31 */ + @SpringBootApplication @EnableMyFeignClients public class SaasApplication { diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java index 1b2be06..41de3c7 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java @@ -10,8 +10,7 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; /** - * - * @author liuxinyue + * @Author:liuxinyue * @Package:com.muyu.mqtt.configure * @Project:cloud-server * @name:MqttConfigure @@ -30,7 +29,7 @@ public class MqttConfigure { String topic = "vehicle"; int qos = 2; String broker = "tcp://47.101.53.251:1883"; - String clientId = "测试mqtt"; + String clientId = "hhhhhh"; try { MqttClient sampleClient = new MqttClient(broker, clientId); MqttConnectOptions connOpts = new MqttConnectOptions(); diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java index c087753..36f5980 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java @@ -6,7 +6,6 @@ import com.muyu.server.service.TemplateService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; -import lombok.extern.log4j.Log4j2; import org.apache.iotdb.rpc.IoTDBConnectionException; import org.apache.iotdb.rpc.StatementExecutionException; import org.springframework.beans.factory.annotation.Autowired; @@ -20,8 +19,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; /** - * 报文模版管理 - * @author liuxinyue + * @Author:liuxinyue * @Package:com.template.controller * @Project:cloud-server-c * @name:TemplateController @@ -31,7 +29,6 @@ import java.util.concurrent.ExecutionException; @RequestMapping("/template") @AllArgsConstructor @Tag(name = "报文模版管理",description = "报文模版管理") -@Log4j2 public class TemplateController { @Autowired diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/KafkaMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/KafkaMapper.java new file mode 100644 index 0000000..9b36ff6 --- /dev/null +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/KafkaMapper.java @@ -0,0 +1,13 @@ +package com.muyu.server.mapper; + +import org.apache.ibatis.annotations.Mapper; + +/** + * @author liuxinyue + * @Package:com.muyu.server.mapper + * @name:KafkaMapper + * @Date:2024/9/29 20:53 + */ +@Mapper +public interface KafkaMapper { +} diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java index 1212ad0..6f1883a 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java @@ -1,5 +1,4 @@ package com.muyu.server.service.impl; - import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.domain.MessageTemplateType; @@ -7,9 +6,7 @@ import com.muyu.server.mapper.MessageTemplateTypeMapper; import com.muyu.server.service.MessageTemplateTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.List; - /** * @Author:liuxinyue * @Package:com.sheep.message.service.impl @@ -33,7 +30,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findvehicleFoundationData(Integer templatedId, String code) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); - messageTemplateTypeQueryWrapper.eq("templated_id",templatedId); + messageTemplateTypeQueryWrapper.eq("template_id",templatedId); messageTemplateTypeQueryWrapper.eq("message_class",code); List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); return messageTemplateTypes; @@ -42,7 +39,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findvehicleData(Integer templatedId, String code) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); - messageTemplateTypeQueryWrapper.eq("templated_id",templatedId); + messageTemplateTypeQueryWrapper.eq("template_id",templatedId); messageTemplateTypeQueryWrapper.eq("message_class",code); List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); return messageTemplateTypes; @@ -51,7 +48,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl finddeviceStatusData(Integer templatedId, String code) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); - messageTemplateTypeQueryWrapper.eq("templated_id",templatedId); + messageTemplateTypeQueryWrapper.eq("template_id",templatedId); messageTemplateTypeQueryWrapper.eq("message_class",code); List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); return messageTemplateTypes; @@ -60,7 +57,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findMessageByTemplateName(Integer templatedId) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); - messageTemplateTypeQueryWrapper.eq("templated_id",templatedId); + messageTemplateTypeQueryWrapper.eq("template_id",templatedId); List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); return messageTemplateTypes; } @@ -69,6 +66,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findTemplateById(Integer templateId) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); messageTemplateTypeQueryWrapper.eq("template_id",templateId); - return List.of(); + List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); + return messageTemplateTypes; } } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java index 34b0814..b850308 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java @@ -69,38 +69,40 @@ public class TemplateServiceImpl extends ServiceImpl i log.info("车辆信息为:" + carByVin); //对应车辆所对应的报文模版 Integer templateId = carByVin.getTemplateId(); - List templateTypeList; - //key String redisKey = "messageTemplateType" + templateId; - + log.info("key为:" + redisKey); //key存在 if (redisTemplate.hasKey(redisKey)) { List list = redisTemplate.opsForList().range(redisKey, 0, -1); - templateTypeList = list.stream().map(o -> JSON.parseObject(o.toString(), MessageTemplateType.class)) .toList(); - } else { List templateTypeList1 = messageTemplateTypeService.findTemplateById(templateId); + log.info("redis存入成功"); templateTypeList = templateTypeList1; - templateTypeList.forEach( + templateTypeList1.forEach( templateType -> redisTemplate.opsForList().rightPush( redisKey, com.alibaba.fastjson.JSON.toJSONString(templateType) ) ); + + } + log.info("哈哈哈哈哈哈哈"+templateTypeList); //将模版里面有的配置进行循环 for (MessageTemplateType messageTemplateType : templateTypeList) { //开始位置 Integer startIndex = messageTemplateType.getStartIndex() - 1; //结束位置 Integer endIndex = messageTemplateType.getEndIndex(); + String substring = result.substring(startIndex, endIndex); + log.info("截取后的字符1:" + substring); //将每个解析后的字段都存入到JSON对象中 - jsonObject.put(messageTemplateType.getMessageField(), result.substring(startIndex, endIndex)); + jsonObject.put(messageTemplateType.getMessageField(),substring ); } System.out.println("哈哈哈红红火火恍恍惚惚"); From 1272d0e0b73cb8a0e320feb080b65cedf1ca886e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 10:59:09 +0800 Subject: [PATCH 09/61] =?UTF-8?q?refactor:=E4=BF=AE=E6=94=B9=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/muyu/auth/form/Enterprise.java | 24 +++++++++++++++++++ .../annotation/EnableCustomSwagger2.java | 1 + .../swagger/config/SwaggerProperties.java | 2 -- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 cloud-auth/src/main/java/com/muyu/auth/form/Enterprise.java diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/Enterprise.java b/cloud-auth/src/main/java/com/muyu/auth/form/Enterprise.java new file mode 100644 index 0000000..a4402cb --- /dev/null +++ b/cloud-auth/src/main/java/com/muyu/auth/form/Enterprise.java @@ -0,0 +1,24 @@ +package com.muyu.auth.form; + +import lombok.Data; + +/** + * 企业入驻对象 + * @author 袁子龙 + * @package com.muyu.auth.form + * @name Enterprise + * @date 2024/9/30 10:30 + */ +@Data +public class Enterprise { + + /** + * 企业名称 + */ + private String firmName; + /** + * 数据库名称 + */ + private String databaseName; + +} diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java index 056657c..c788b2e 100644 --- a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java @@ -17,4 +17,5 @@ import java.lang.annotation.*; @Inherited @Import({SwaggerAutoConfiguration.class}) public @interface EnableCustomSwagger2 { + } diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java index 9481634..c99b9a2 100644 --- a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java @@ -2,7 +2,6 @@ package com.muyu.common.swagger.config; import org.springframework.boot.context.properties.ConfigurationProperties; - import java.util.ArrayList; import java.util.List; @@ -301,4 +300,3 @@ public class SwaggerProperties { } } } - From 798f509decad369a5d2ba9eb9097686d32ca289d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 11:17:20 +0800 Subject: [PATCH 10/61] =?UTF-8?q?feat:=E4=BC=81=E4=B8=9A=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-auth/pom.xml | 4 ++++ .../muyu/auth/controller/TokenController.java | 10 +++++++++ .../auth/form/{Enterprise.java => Firm.java} | 6 +++++- .../java/com/muyu/auth/form/LoginBody.java | 21 +++++++------------ 4 files changed, 27 insertions(+), 14 deletions(-) rename cloud-auth/src/main/java/com/muyu/auth/form/{Enterprise.java => Firm.java} (81%) diff --git a/cloud-auth/pom.xml b/cloud-auth/pom.xml index 0a76aae..340bd56 100644 --- a/cloud-auth/pom.xml +++ b/cloud-auth/pom.xml @@ -57,6 +57,10 @@ com.muyu cloud-common-api-doc + + com.mysql + mysql-connector-j + diff --git a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java index d870762..fd71ee1 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java +++ b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java @@ -1,7 +1,9 @@ package com.muyu.auth.controller; +import com.muyu.auth.form.Firm; import com.muyu.auth.form.LoginBody; import com.muyu.auth.form.RegisterBody; +import com.muyu.auth.service.SysFirmService; import com.muyu.auth.service.SysLoginService; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.JwtUtils; @@ -31,8 +33,16 @@ public class TokenController { @Autowired private SysLoginService sysLoginService; + @Autowired + private SysFirmService sysFirmService; + @PostMapping("login") public Result login (@RequestBody LoginBody form) { + //查询企业是否存在 + Firm firm = sysFirmService.findFirmByName(form.getFirmName()); + if (firm.getDatabaseName() == null){ + return Result.error(null,"企业不存在"); + } // 用户登录 LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); // 获取登录token diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/Enterprise.java b/cloud-auth/src/main/java/com/muyu/auth/form/Firm.java similarity index 81% rename from cloud-auth/src/main/java/com/muyu/auth/form/Enterprise.java rename to cloud-auth/src/main/java/com/muyu/auth/form/Firm.java index a4402cb..bcd6327 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/form/Enterprise.java +++ b/cloud-auth/src/main/java/com/muyu/auth/form/Firm.java @@ -10,8 +10,12 @@ import lombok.Data; * @date 2024/9/30 10:30 */ @Data -public class Enterprise { +public class Firm { + /** + * 企业id + */ + private Integer id; /** * 企业名称 */ diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/LoginBody.java b/cloud-auth/src/main/java/com/muyu/auth/form/LoginBody.java index 354122e..7701310 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/form/LoginBody.java +++ b/cloud-auth/src/main/java/com/muyu/auth/form/LoginBody.java @@ -1,10 +1,14 @@ package com.muyu.auth.form; +import lombok.Data; + /** * 用户登录对象 * * @author muyu */ + +@Data public class LoginBody { /** * 用户名 @@ -16,20 +20,11 @@ public class LoginBody { */ private String password; + /** + * 企业名称 + */ + private String firmName; - public String getUsername () { - return username; - } - public void setUsername (String username) { - this.username = username; - } - public String getPassword () { - return password; - } - - public void setPassword (String password) { - this.password = password; - } } From 31df6d32db30842da6e9133f766c177ae07d1674 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 11:31:07 +0800 Subject: [PATCH 11/61] =?UTF-8?q?feat:=E4=BC=81=E4=B8=9A=E5=85=A5=E9=A9=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-auth/src/main/java/com/muyu/auth/form/Firm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/Firm.java b/cloud-auth/src/main/java/com/muyu/auth/form/Firm.java index bcd6327..0ddc387 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/form/Firm.java +++ b/cloud-auth/src/main/java/com/muyu/auth/form/Firm.java @@ -3,7 +3,7 @@ package com.muyu.auth.form; import lombok.Data; /** - * 企业入驻对象 + * 企业登录对象 * @author 袁子龙 * @package com.muyu.auth.form * @name Enterprise From 051fe490d6a31fd98fe1dc5f0d156805bf428904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 11:31:41 +0800 Subject: [PATCH 12/61] =?UTF-8?q?feat:=E4=BC=81=E4=B8=9A=E5=85=A5=E9=A9=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../saas/saas-server/src/main/resources/bootstrap.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml b/cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml index 547c6aa..faf0576 100644 --- a/cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml +++ b/cloud-modules/saas/saas-server/src/main/resources/bootstrap.yml @@ -11,6 +11,9 @@ nacos: # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: + mvc: + pathmatch: + matching-strategy: ant_path_matcher amqp: deserialization: trust: From a0ddc45e67b87f1f4f7d178ddf09c14efb8579ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 11:31:52 +0800 Subject: [PATCH 13/61] =?UTF-8?q?feat:=E4=BC=81=E4=B8=9A=E5=85=A5=E9=A9=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/auth/form/EnterpriseSettlement.java | 10 ++++ .../com/muyu/auth/service/SysFirmService.java | 57 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 cloud-auth/src/main/java/com/muyu/auth/form/EnterpriseSettlement.java create mode 100644 cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/EnterpriseSettlement.java b/cloud-auth/src/main/java/com/muyu/auth/form/EnterpriseSettlement.java new file mode 100644 index 0000000..a479bfc --- /dev/null +++ b/cloud-auth/src/main/java/com/muyu/auth/form/EnterpriseSettlement.java @@ -0,0 +1,10 @@ +package com.muyu.auth.form; + +/** + * @author 袁子龙 + * @package com.muyu.auth.form + * @name EnterpriseSettlement + * @date 2024/9/30 11:25 + */ +public class EnterpriseSettlement { +} diff --git a/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java b/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java new file mode 100644 index 0000000..f8c70a0 --- /dev/null +++ b/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java @@ -0,0 +1,57 @@ +package com.muyu.auth.service; + +import com.muyu.auth.form.Firm; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.data.redis.core.RedisTemplate; + + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Statement; + +/** + * @author 袁子龙 + * @package com.muyu.auth.service + * @name SysFirmService + * @date 2024/9/30 11:05 + */ +@Component +public class SysFirmService { + + //数据库账号 + static final String USER="root"; + //数据库密码 + static final String PASSWORD="Lw030106"; + + @Autowired + private RedisTemplate redisTemplate; + public Firm findFirmByName(String firmName){ + Firm firm = new Firm(); + try { + DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver()); + Connection connection= DriverManager.getConnection("jdbc:mysql://47.101.53.251:3306/datasource?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT&useSSL=false",USER,PASSWORD); + String sql="select * from `datasource` where firm_name = '"+firmName+"'"; + + Statement stmt = connection.createStatement(); + ResultSet rs = stmt.executeQuery(sql); + + + while (rs.next()){ + firm.setId(rs.getInt("id")); + firm.setFirmName(rs.getString("firm_name")); + firm.setDatabaseName(rs.getString("database_name")); + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + + //数据源不为空 + if (firm!=null){ + redisTemplate.opsForValue().set("datasource",firm.getDatabaseName()); + } + return firm; + }; +} From e6639bc7f974aa9fed4b97216002cf539b3ca982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 11:37:41 +0800 Subject: [PATCH 14/61] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E9=95=BF=E5=BA=A6?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/common/core/constant/UserConstants.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/UserConstants.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/UserConstants.java index 0df401c..9e0d6a9 100644 --- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/UserConstants.java +++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/UserConstants.java @@ -110,4 +110,16 @@ public class UserConstants { public static final int PASSWORD_MIN_LENGTH = 5; public static final int PASSWORD_MAX_LENGTH = 20; + + /** + * 企业名称长度限制 + */ + public static final int Firm_NAME_MIN_LENGTH = 2; + public static final int Firm_NAME_MAX_LENGTH = 20; + + /** + * 数据库名称长度限制 + */ + public static final int DATABASE_NAME_MIN_LENGTH = 2; + public static final int DATABASE_NAME_MAX_LENGTH = 20; } From 8bc54f46624626d194dd7d717920c1fe40ae5903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 12:12:52 +0800 Subject: [PATCH 15/61] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/system/domain/Enterprise.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/Enterprise.java diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/Enterprise.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/Enterprise.java new file mode 100644 index 0000000..2dcb360 --- /dev/null +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/Enterprise.java @@ -0,0 +1,42 @@ +package com.muyu.common.system.domain; + +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.annotation.Excel.ColumnType; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * 企业对象 + * @author 袁子龙 + * @package com.muyu.common.system.domain + * @name Enterprise + * @date 2024/9/30 12:05 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Enterprise extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 企业Id + */ + @Excel(name = "企业序号",cellType = ColumnType.NUMERIC, prompt = "企业编号") + private Integer id; + /** + * 企业名称 + */ + @Excel(name = "企业名称") + private String firmName; + /** + * 数据库名称 + */ + @Excel(name = "数据库名称") + private String databaseName; +} From d6ff8ad340a7ea67265873829487a1c8d6a50a90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 12:19:21 +0800 Subject: [PATCH 16/61] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=85=A5=E9=A9=BB=E6=9C=8D=E5=8A=A1=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/system/remote/RemoteUserService.java | 10 ++++++++++ .../remote/factory/RemoteUserFallbackFactory.java | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index 4bcc4ff..4377446 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -4,6 +4,7 @@ import com.muyu.common.core.constant.SecurityConstants; import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.common.system.domain.Enterprise; import com.muyu.common.system.domain.SysFirmUser; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory; @@ -44,4 +45,13 @@ public interface RemoteUserService { @GetMapping("/user/companyList") Result> companyList(); + + /** + * 入驻企业信息 + * @param enterprise + * @param source + * @return + */ + @PostMapping("/enterprise/settlement") + ResultsettlementEnterpriseInfo(@RequestBody Enterprise enterprise, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java index 071490a..720d62a 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java @@ -2,6 +2,7 @@ package com.muyu.common.system.remote.factory; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.common.system.domain.Enterprise; import com.muyu.common.system.domain.SysFirmUser; import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.domain.SysUser; @@ -41,6 +42,11 @@ public class RemoteUserFallbackFactory implements FallbackFactory settlementEnterpriseInfo(Enterprise enterprise, String source) { + return Result.error("入驻企业失败"); + } + }; } } From 78747b7d0314c2076ca6a517deb5e7f0c1f23a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 12:23:56 +0800 Subject: [PATCH 17/61] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=85=A5=E9=A9=BB=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/auth/controller/TokenController.java | 7 +++++ .../muyu/auth/form/EnterpriseSettlement.java | 13 ++++++++ .../muyu/auth/service/SysLoginService.java | 30 +++++++++++++++++++ 3 files changed, 50 insertions(+) diff --git a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java index fd71ee1..e08ad90 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java +++ b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java @@ -1,5 +1,6 @@ package com.muyu.auth.controller; +import com.muyu.auth.form.EnterpriseSettlement; import com.muyu.auth.form.Firm; import com.muyu.auth.form.LoginBody; import com.muyu.auth.form.RegisterBody; @@ -79,4 +80,10 @@ public class TokenController { sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); return Result.success(); } + + @PostMapping("enterprise") + public Result enterprise(@RequestBody EnterpriseSettlement enterpriseSettlement){ + sysLoginService.enterprise(enterpriseSettlement.getDatabaseName(),enterpriseSettlement.getFirmName()); + return Result.success(); + } } diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/EnterpriseSettlement.java b/cloud-auth/src/main/java/com/muyu/auth/form/EnterpriseSettlement.java index a479bfc..5696a6a 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/form/EnterpriseSettlement.java +++ b/cloud-auth/src/main/java/com/muyu/auth/form/EnterpriseSettlement.java @@ -1,10 +1,23 @@ package com.muyu.auth.form; +import lombok.Data; + /** + * 企业入驻 * @author 袁子龙 * @package com.muyu.auth.form * @name EnterpriseSettlement * @date 2024/9/30 11:25 */ +@Data public class EnterpriseSettlement { + /** + * 企业名称 + */ + private String firmName; + /** + * 数据库名称 + */ + private String databaseName; + } diff --git a/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java index ff0af1a..58a4ce7 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java +++ b/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java @@ -1,5 +1,6 @@ package com.muyu.auth.service; +import com.muyu.auth.form.EnterpriseSettlement; import com.muyu.common.core.constant.CacheConstants; import com.muyu.common.core.constant.Constants; import com.muyu.common.core.constant.SecurityConstants; @@ -12,6 +13,7 @@ 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.domain.Enterprise; import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.LoginUser; @@ -124,4 +126,32 @@ public class SysLoginService { } recordLogService.recordLogininfor(username, Constants.REGISTER, "注册成功"); } + + /** + * 企业入驻 + * @param databaseName + * @param fileName + */ + public void enterprise (String databaseName,String fileName){ + // 参数校验 数据库名或企业名称不能为空 + if (StringUtils.isAnyBlank(databaseName,fileName)){ + throw new ServiceException("数据库名或企业名称不能为空"); + } + + if (databaseName.length()UserConstants.PASSWORD_MAX_LENGTH){ + throw new ServiceException("数据库名长度必须在5到20个字符之间"); + } + if (fileName.length()UserConstants.Firm_NAME_MAX_LENGTH){ + throw new ServiceException("企业名称长度必须在2到20个字符之间"); + } + Enterprise settlement = new Enterprise(); + settlement.setDatabaseName(databaseName); + settlement.setFirmName(fileName); + + Result registerResult = remoteUserService.settlementEnterpriseInfo(settlement, SecurityConstants.INNER); + + if (Result.FAIL == registerResult.getCode()) { + throw new ServiceException(registerResult.getMsg()); + } + recordLogService.recordLogininfor(fileName, Constants.REGISTER, "注册成功"); } } From 6545fc79efb7435d89c3836ddb2bee6597456eb2 Mon Sep 17 00:00:00 2001 From: Number7 <1845377266@qq.com> Date: Mon, 30 Sep 2024 14:40:07 +0800 Subject: [PATCH 18/61] =?UTF-8?q?feat():=E5=A2=9E=E5=8A=A0=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=8A=A5=E6=96=87=E6=A8=A1=E7=89=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-modules/cloud-modules-template/pom.xml | 85 +++++++++++++++ .../template/CloudTemplateApplication.java | 27 +++++ .../template/service/TemplateService.java | 10 ++ .../service/impl/TemplateServiceImpl.java | 19 ++++ .../src/main/resources/banner.txt | 2 + .../src/main/resources/logback/dev.xml | 74 +++++++++++++ .../src/main/resources/logback/prod.xml | 81 ++++++++++++++ .../src/main/resources/logback/test.xml | 81 ++++++++++++++ .../main/resources/mapper/CarTypeMapper.xml | 9 ++ .../resources/mapper/EnterpriseMapper.xml | 67 ++++++++++++ .../main/resources/mapper/SysCarMapper.xml | 83 ++++++++++++++ .../resources/mapper/TemplateNeedMapper.xml | 10 ++ .../main/resources/mapper/WarnLogsMapper.xml | 31 ++++++ .../main/resources/mapper/WarnRuleMapper.xml | 23 ++++ .../resources/mapper/WarnStrategyMapper.xml | 35 ++++++ cloud-modules/pom.xml | 1 + .../java/com/muyu/common/domain/Template.java | 4 + .../com/muyu/server/config/MqttConfigure.java | 1 - .../server/controller/TemplateController.java | 19 +++- .../impl/MessageTemplateTypeServiceImpl.java | 3 +- .../service/impl/TemplateServiceImpl.java | 101 +++++++++--------- 21 files changed, 708 insertions(+), 58 deletions(-) create mode 100644 cloud-modules/cloud-modules-template/pom.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/CloudTemplateApplication.java create mode 100644 cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/TemplateService.java create mode 100644 cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/impl/TemplateServiceImpl.java create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/banner.txt create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/logback/dev.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/logback/prod.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/logback/test.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/mapper/CarTypeMapper.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/mapper/EnterpriseMapper.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/mapper/SysCarMapper.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/mapper/TemplateNeedMapper.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnLogsMapper.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnRuleMapper.xml create mode 100644 cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnStrategyMapper.xml diff --git a/cloud-modules/cloud-modules-template/pom.xml b/cloud-modules/cloud-modules-template/pom.xml new file mode 100644 index 0000000..fc32dc9 --- /dev/null +++ b/cloud-modules/cloud-modules-template/pom.xml @@ -0,0 +1,85 @@ + + + 4.0.0 + + com.muyu + cloud-modules + 3.6.3 + + + cloud-modules-template + + + + + + + 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 + + + + + com.mysql + mysql-connector-j + + + + + com.muyu + cloud-common-datasource + + + + + com.muyu + cloud-common-datascope + + + + + com.muyu + cloud-common-log + + + + + com.muyu + cloud-common-api-doc + + + + + com.muyu + cloud-common-xxl + + + + + + 17 + 17 + UTF-8 + + + diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/CloudTemplateApplication.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/CloudTemplateApplication.java new file mode 100644 index 0000000..823f919 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/CloudTemplateApplication.java @@ -0,0 +1,27 @@ +package com.muyu.template; + +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author liuxinyue + * @Package:com.muyu.template + * @name:CloudTemplateApplication + * @Date:2024/9/30 10:36 + */ + +@EnableCustomConfig +//@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication +public class CloudTemplateApplication { + + public static void main(String[] args) { + + SpringApplication.run(CloudTemplateApplication.class, args); + + } + +} diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/TemplateService.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/TemplateService.java new file mode 100644 index 0000000..f6bc10a --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/TemplateService.java @@ -0,0 +1,10 @@ +package com.muyu.template.service; + +/** + * @author liuxinyue + * @Package:com.muyu.template.service + * @name:TemplateService + * @Date:2024/9/30 10:57 + */ +public interface TemplateService { +} diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/impl/TemplateServiceImpl.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/impl/TemplateServiceImpl.java new file mode 100644 index 0000000..4e92057 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/impl/TemplateServiceImpl.java @@ -0,0 +1,19 @@ +package com.muyu.template.service.impl; + +import com.muyu.template.service.TemplateService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author liuxinyue + * @Package:com.muyu.template.service.impl + * @name:TemplateServiceImpl + * @Date:2024/9/30 10:57 + */ +@Service +public class TemplateServiceImpl implements TemplateService { + + + + +} diff --git a/cloud-modules/cloud-modules-template/src/main/resources/banner.txt b/cloud-modules/cloud-modules-template/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/cloud-modules/cloud-modules-template/src/main/resources/logback/dev.xml b/cloud-modules/cloud-modules-template/src/main/resources/logback/dev.xml new file mode 100644 index 0000000..0ea8333 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/logback/dev.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/cloud-modules/cloud-modules-template/src/main/resources/logback/prod.xml b/cloud-modules/cloud-modules-template/src/main/resources/logback/prod.xml new file mode 100644 index 0000000..a8f7c06 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/logback/prod.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-modules-template/src/main/resources/logback/test.xml b/cloud-modules/cloud-modules-template/src/main/resources/logback/test.xml new file mode 100644 index 0000000..a8f7c06 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/logback/test.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-modules-template/src/main/resources/mapper/CarTypeMapper.xml b/cloud-modules/cloud-modules-template/src/main/resources/mapper/CarTypeMapper.xml new file mode 100644 index 0000000..63274cf --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/mapper/CarTypeMapper.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/cloud-modules/cloud-modules-template/src/main/resources/mapper/EnterpriseMapper.xml b/cloud-modules/cloud-modules-template/src/main/resources/mapper/EnterpriseMapper.xml new file mode 100644 index 0000000..76e2c13 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/mapper/EnterpriseMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + insert into tb_enterprise + set enterprise_name = #{enterpriseName}, + enterprise_car_count = #{enterpriseCarCount}, + enterprise_fence_count = #{enterpriseFenceCount} + + + + + + + + + update tb_enterprise + set enterprise_name = #{enterpriseName}, + enterprise_car_count = #{enterpriseCarCount}, + enterprise_fence_count = #{enterpriseFenceCount} + where enterprise_id = #{enterpriseId} and enterprise_id != 0 + + + + + + + delete from tb_enterprise + where enterprise_id in + + #{one} + + + + + + diff --git a/cloud-modules/cloud-modules-template/src/main/resources/mapper/SysCarMapper.xml b/cloud-modules/cloud-modules-template/src/main/resources/mapper/SysCarMapper.xml new file mode 100644 index 0000000..792d531 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/mapper/SysCarMapper.xml @@ -0,0 +1,83 @@ + + + + + INSERT INTO `four`.`sys_car` + ( `car_vin`, `car_type_id`, `state`, `car_motor_manufacturer`, `car_motor_model`, + `car_battery_manufacturer`, `car_battery_model`, `strategy_id`,`group_id`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`,) + VALUES (#{carVin}, #{carTypeId}, '1', #{carMotorManufacturer}, #{carMotorModel}, + #{carBatteryManufacturer}, #{carBatteryModel}, #{strategyId},#{groupId},#{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{remark}) + + + UPDATE `four`.`sys_car` + SET `car_vin` = #{carVin}, + `car_type_id` = #{carTypeId}, + `state` = #{state}, + `car_motor_manufacturer` = #{carMotorManufacturer}, + `car_motor_model` = #{carMotorModel}, + `car_battery_manufacturer` = #{carBatteryManufacturer}, + `car_battery_model` = #{carBatteryModel}, + `strategy_id` = #{strategyId}, + `group_id`=#{groupId} + `create_by` = #{createBy}, + `create_time` = #{createTime}, + `update_by` = #{updateBy}, + `update_time` = #{updateTime}, + `remark` = #{remark} WHERE `id` = #{id} + + + + + + + + + diff --git a/cloud-modules/cloud-modules-template/src/main/resources/mapper/TemplateNeedMapper.xml b/cloud-modules/cloud-modules-template/src/main/resources/mapper/TemplateNeedMapper.xml new file mode 100644 index 0000000..5ea4090 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/mapper/TemplateNeedMapper.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnLogsMapper.xml b/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnLogsMapper.xml new file mode 100644 index 0000000..d837d31 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnLogsMapper.xml @@ -0,0 +1,31 @@ + + + + + INSERT INTO warn_logs VALUES + + (#{warnLogs.id}) + + + + + diff --git a/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnRuleMapper.xml b/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnRuleMapper.xml new file mode 100644 index 0000000..a18d318 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnRuleMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnStrategyMapper.xml b/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnStrategyMapper.xml new file mode 100644 index 0000000..ce15729 --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/resources/mapper/WarnStrategyMapper.xml @@ -0,0 +1,35 @@ + + + + + + + diff --git a/cloud-modules/pom.xml b/cloud-modules/pom.xml index a384525..0c01f75 100644 --- a/cloud-modules/pom.xml +++ b/cloud-modules/pom.xml @@ -24,6 +24,7 @@ saas cloud-modules-vehiclegateway cloud-event + cloud-modules-template cloud-modules diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Template.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Template.java index 70dbf2c..086116b 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Template.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Template.java @@ -3,11 +3,13 @@ package com.muyu.common.domain; 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 io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -47,5 +49,7 @@ public class Template { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java index 41de3c7..dc3d1c1 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java @@ -23,7 +23,6 @@ public class MqttConfigure { @Autowired private TemplateService templateService; - @PostConstruct public void MQTTMonitoring(){ String topic = "vehicle"; diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java index 36f5980..89dc512 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java @@ -6,13 +6,11 @@ import com.muyu.server.service.TemplateService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; import org.apache.iotdb.rpc.IoTDBConnectionException; import org.apache.iotdb.rpc.StatementExecutionException; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.sql.SQLException; import java.util.List; @@ -25,6 +23,7 @@ import java.util.concurrent.ExecutionException; * @name:TemplateController * @Date:2024/9/20 12:12 */ +@Log4j2 @RestController @RequestMapping("/template") @AllArgsConstructor @@ -58,6 +57,18 @@ public class TemplateController { return Result.success(); } + /** + * 报文模版添加 + * @param template + * @return + */ + @PostMapping("/addTemplate") + @Operation(summary = "报文模版添加",description = "报文模版添加") + public Result addTemplate(@RequestBody Template template) { + boolean save = templateService.save(template); + log.info("添加的结果为:"+save); + return Result.success(); + } } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java index 1212ad0..2af6a7d 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java @@ -69,6 +69,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findTemplateById(Integer templateId) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); messageTemplateTypeQueryWrapper.eq("template_id",templateId); - return List.of(); + List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); + return messageTemplateTypes; } } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java index 34b0814..bfc2008 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/TemplateServiceImpl.java @@ -3,6 +3,7 @@ package com.muyu.server.service.impl; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.domain.Result; import com.muyu.common.domain.MessageTemplateType; import com.muyu.common.domain.SysCar; import com.muyu.common.domain.Template; @@ -46,69 +47,65 @@ public class TemplateServiceImpl extends ServiceImpl i @Override - public void messageParsing(String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException, ExecutionException, InterruptedException { + public void messageParsing(String messageStr) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException, ExecutionException, InterruptedException { - //给一个JSON对象 - JSONObject jsonObject = new JSONObject(); - //先截取出VIN码 然后根据VIN码查询这个车属于什么类型 - if (templateMessage.length() < 18) { - throw new RuntimeException("The vehicle message is incorrect"); - } - //将报文进行切割 - String[] hexArray = templateMessage.split(" "); + //根据空格切割数据 + String[] hexArray = messageStr.split(" "); StringBuilder result = new StringBuilder(); + //遍历十六进制数据转换为字符 for (String hex : hexArray) { int decimal = Integer.parseInt(hex, 16); result.append((char) decimal); } - //取出VIN码 - String carVin = result.substring(0, 18 - 1); - log.info("carVin码为:" + carVin); + //取出车辆VIN码 + String vehicleVin = result.substring(1, 18); + log.info("车辆VIN码: " + vehicleVin); //根据VIN码获取车辆信息 - SysCar carByVin = sysCarService.findCarByVin(carVin); - log.info("车辆信息为:" + carByVin); - //对应车辆所对应的报文模版 + SysCar carByVin = sysCarService.findCarByVin(vehicleVin); Integer templateId = carByVin.getTemplateId(); - - List templateTypeList; - - //key - String redisKey = "messageTemplateType" + templateId; - - //key存在 - if (redisTemplate.hasKey(redisKey)) { - - List list = redisTemplate.opsForList().range(redisKey, 0, -1); - - templateTypeList = list.stream().map(o -> JSON.parseObject(o.toString(), MessageTemplateType.class)) - .toList(); - - } else { - List templateTypeList1 = messageTemplateTypeService.findTemplateById(templateId); - templateTypeList = templateTypeList1; - templateTypeList.forEach( - templateType -> - redisTemplate.opsForList().rightPush( - redisKey, com.alibaba.fastjson.JSON.toJSONString(templateType) - ) - ); + List templateList; + //从redis缓存中获取报文模板数据 + try { + String redisKey = "messageTemplate" + templateId; + if (redisTemplate.hasKey(redisKey)) { + List list = redisTemplate.opsForList().range(redisKey, 0, -1); + templateList = list.stream() + .map(obj -> JSON.parseObject(obj.toString(), MessageTemplateType.class)) + .toList(); + log.info("Redis缓存查询成功"); + } else { + List byTemplateId = messageTemplateTypeService.findTemplateById(templateId); + log.info(byTemplateId); + templateList = byTemplateId; + templateList.forEach( + listResp -> + redisTemplate.opsForList().rightPush( + redisKey, JSON.toJSONString(listResp) + ) + ); + log.info("数据库查询成功"); + } + } catch (Exception e) { + throw new RuntimeException("获取报文模板失败"); } - //将模版里面有的配置进行循环 - for (MessageTemplateType messageTemplateType : templateTypeList) { - //开始位置 - Integer startIndex = messageTemplateType.getStartIndex() - 1; - //结束位置 - Integer endIndex = messageTemplateType.getEndIndex(); - //将每个解析后的字段都存入到JSON对象中 - jsonObject.put(messageTemplateType.getMessageField(), result.substring(startIndex, endIndex)); + //判断报文模板列表不为空 + if (templateList.isEmpty()) { + throw new RuntimeException("报文模版为空"); } + //存储报文模版解析后的数据 + JSONObject jsonObject = new JSONObject(); + for (MessageTemplateType messageValue : templateList) { + //起始位下标 + Integer startIndex = messageValue.getStartIndex() - 1; + //结束位下标 + Integer endIndex = messageValue.getEndIndex(); + //根据报文模版截取数据 - System.out.println("哈哈哈红红火火恍恍惚惚"); - log.info("解析后的报文是:" + jsonObject); - - + String value = result.substring(startIndex, endIndex); + //存入数据 + jsonObject.put(messageValue.getMessageField(), value); + } + System.out.println(jsonObject); } - - } From 8e0e492555c7ed07082bb96a3504f448497cc582 Mon Sep 17 00:00:00 2001 From: Number7 <1845377266@qq.com> Date: Mon, 30 Sep 2024 15:27:28 +0800 Subject: [PATCH 19/61] =?UTF-8?q?fix():=E4=BF=AE=E6=94=B9=E6=8A=A5?= =?UTF-8?q?=E6=96=87=E5=9F=BA=E7=A1=80=E7=B1=BB=E5=9E=8B=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MessageTemplateTypeServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java index 2af6a7d..62817e1 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java @@ -33,7 +33,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findvehicleFoundationData(Integer templatedId, String code) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); - messageTemplateTypeQueryWrapper.eq("templated_id",templatedId); + messageTemplateTypeQueryWrapper.eq("template_id",templatedId); messageTemplateTypeQueryWrapper.eq("message_class",code); List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); return messageTemplateTypes; @@ -42,7 +42,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findvehicleData(Integer templatedId, String code) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); - messageTemplateTypeQueryWrapper.eq("templated_id",templatedId); + messageTemplateTypeQueryWrapper.eq("template_id",templatedId); messageTemplateTypeQueryWrapper.eq("message_class",code); List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); return messageTemplateTypes; @@ -51,7 +51,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl finddeviceStatusData(Integer templatedId, String code) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); - messageTemplateTypeQueryWrapper.eq("templated_id",templatedId); + messageTemplateTypeQueryWrapper.eq("template_id",templatedId); messageTemplateTypeQueryWrapper.eq("message_class",code); List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); return messageTemplateTypes; @@ -60,7 +60,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findMessageByTemplateName(Integer templatedId) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); - messageTemplateTypeQueryWrapper.eq("templated_id",templatedId); + messageTemplateTypeQueryWrapper.eq("template_id",templatedId); List messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper); return messageTemplateTypes; } From 82ec79ccaf727c033697fa68423a6d17df60f982 Mon Sep 17 00:00:00 2001 From: Number7 <1845377266@qq.com> Date: Mon, 30 Sep 2024 15:47:20 +0800 Subject: [PATCH 20/61] =?UTF-8?q?fix():=E4=BF=AE=E6=94=B9=E6=8A=A5?= =?UTF-8?q?=E6=96=87=E5=9F=BA=E7=A1=80=E7=B1=BB=E5=9E=8B=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/server/service/impl/MessageTemplateTypeServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java index 2c16be2..51fd803 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/impl/MessageTemplateTypeServiceImpl.java @@ -54,6 +54,7 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl findMessageByTemplateName(Integer templatedId) { QueryWrapper messageTemplateTypeQueryWrapper = new QueryWrapper<>(); From f46db057b5c30c68399f6d51b3a8c43d8e51e8ba Mon Sep 17 00:00:00 2001 From: Liu Wu <2780205363@qq.com> Date: Mon, 30 Sep 2024 16:34:37 +0800 Subject: [PATCH 21/61] =?UTF-8?q?fix():=20=E4=BA=8B=E4=BB=B6=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E4=BF=AE=E6=94=B9,kafka=E6=B3=A8=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-common/cloud-common-rabbit/pom.xml | 8 +- .../rabbit/RabbitListenerConfigurer.java | 41 ----- .../rabbit/config/DelayedQueueConfig.java | 83 +++++++++ .../rabbit/config/MyConfirmCallback.java | 47 +++++ .../rabbit/config/RabbitAdminConfig.java | 49 +++++ .../common/rabbit/config/RabbitmqConfig.java | 20 ++ .../rabbit/config/ReturnCallbackConfig.java | 37 ++++ .../common/rabbit/config/TopicConfig.java | 75 ++++++++ .../rabbit/constants/RabbitmqConstants.java | 35 ++++ .../rabbit/consumer/RabbitMQConsumerUtil.java | 140 ++++++++++++++ .../rabbit/producer/RabbitMQProducerUtil.java | 174 ++++++++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 8 +- cloud-modules/cloud-event/pom.xml | 16 +- .../muyu/event/consumer/MessageConsumer.java | 14 +- .../muyu/event/consumer/OnlineConsumer.java | 21 +++ .../muyu/event/controller/TestController.java | 14 +- .../java/com/muyu/event/util/CacheUtil.java | 37 ++++ .../src/main/resources/bootstrap.yml | 7 +- 18 files changed, 757 insertions(+), 69 deletions(-) delete mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/RabbitListenerConfigurer.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/DelayedQueueConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/MyConfirmCallback.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitAdminConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitmqConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/ReturnCallbackConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/TopicConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/OnlineConsumer.java create mode 100644 cloud-modules/cloud-event/src/main/java/com/muyu/event/util/CacheUtil.java diff --git a/cloud-common/cloud-common-rabbit/pom.xml b/cloud-common/cloud-common-rabbit/pom.xml index fa6d383..79f5225 100644 --- a/cloud-common/cloud-common-rabbit/pom.xml +++ b/cloud-common/cloud-common-rabbit/pom.xml @@ -17,6 +17,10 @@ UTF-8 + + cloud-common-rabbit 消息队列服务 + + @@ -28,8 +32,8 @@ com.muyu - cloud-common-core + cloud-common-redis - \ No newline at end of file + diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/RabbitListenerConfigurer.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/RabbitListenerConfigurer.java deleted file mode 100644 index 51cb359..0000000 --- a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/RabbitListenerConfigurer.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.muyu.common.rabbit; - -import org.springframework.amqp.rabbit.connection.ConnectionFactory; -import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.messaging.converter.MappingJackson2MessageConverter; -import org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory; - -@Configuration -public class RabbitListenerConfigurer implements org.springframework.amqp.rabbit.annotation.RabbitListenerConfigurer { - - static { - System.setProperty("spring.amqp.deserialization.trust.all", "true"); - } - - //以下配置RabbitMQ消息服务 - @Autowired - public ConnectionFactory connectionFactory; - - - /** - * 处理器方法工厂 - * @return - */ - @Bean - public DefaultMessageHandlerMethodFactory handlerMethodFactory() { - DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory(); - // 这里的转换器设置实现了 通过 @Payload 注解 自动反序列化message body - factory.setMessageConverter(new MappingJackson2MessageConverter()); - return factory; - } - - @Override - public void configureRabbitListeners(RabbitListenerEndpointRegistrar rabbitListenerEndpointRegistrar) { - rabbitListenerEndpointRegistrar.setMessageHandlerMethodFactory(handlerMethodFactory()); - } - -} - diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/DelayedQueueConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/DelayedQueueConfig.java new file mode 100644 index 0000000..0b67d49 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/DelayedQueueConfig.java @@ -0,0 +1,83 @@ +package com.muyu.common.rabbit.config; + + +import com.muyu.common.rabbit.constants.RabbitmqConstants; +import org.springframework.amqp.core.*; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.Resource; +import java.util.HashMap; + +/** + * @ClassName: DelayedQueueConfig + * @Description: 延迟队列配置类 + */ +@Configuration +public class DelayedQueueConfig { + + + @Resource + private RabbitAdmin rabbitAdmin; + + /** + * 声明队列 + * @return 返回队列 + */ + @Bean + public Queue delayedQueue() { + Queue queue = new Queue(RabbitmqConstants.DELAYED_QUEUE_NAME); + rabbitAdmin.declareQueue(queue); + return queue; + } + + /** + * 声明交换机 + * @return 返回交换机 + */ + @Bean + public Exchange delayedExchange() { + HashMap arguments = new HashMap<>(3); + + arguments.put("x-delayed-type", "direct"); + + /** + * 声明自定义交换机 + * 第一个参数:交换机的名称 + * 第二个参数:交换机的类型 + * 第三个参数:是否需要持久化 + * 第四个参数:是否自动删除 + * 第五个参数:其他参数 + */ + CustomExchange customExchange = new CustomExchange( + RabbitmqConstants.DELAYED_EXCHANGE_NAME, + "x-delayed-message", + true, + false, + arguments); + rabbitAdmin.declareExchange(customExchange); + return customExchange; + } + + /** + * 绑定交换机 + * @param delayedQueue 队列对象 + * @param delayedExchange 交换机对象 + */ + @Bean + public Binding delayedQueueBindingDelayedExchange( + @Qualifier("delayedQueue") Queue delayedQueue, + @Qualifier("delayedExchange") Exchange delayedExchange) { + + Binding noargs = BindingBuilder.bind(delayedQueue) + .to(delayedExchange) + .with(RabbitmqConstants.DELAYED_ROUTING_KEY) + .noargs(); + rabbitAdmin.declareBinding(noargs); + return noargs; + } + + +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/MyConfirmCallback.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/MyConfirmCallback.java new file mode 100644 index 0000000..2b40812 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/MyConfirmCallback.java @@ -0,0 +1,47 @@ +package com.muyu.common.rabbit.config; + +import lombok.AllArgsConstructor; +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * @ClassName: + * @Description: 消息发送到 交换机的确认 回调方法 + */ +@Component +@AllArgsConstructor +public class MyConfirmCallback implements RabbitTemplate.ConfirmCallback { + + + private RabbitTemplate rabbitTemplate; + +// public MyConfirmCallback(RabbitTemplate rabbitTemplate) { +// this.rabbitTemplate = rabbitTemplate; +// // 设置 消息发送到交换机成功 的回调 +// this.rabbitTemplate.setConfirmCallback(this); +// } + + @PostConstruct + public void init() { + this.rabbitTemplate.setConfirmCallback(this); + } + + /** + * 发送消息到交换机的回调方法 消息发送成功或者失败都会执行 + * + * @param correlationData correlation data for the callback. 消息的元数据 + * @param ack true for ack, false for nack + * @param cause An optional cause, for nack, when available, otherwise null. + */ + @Override + public void confirm(CorrelationData correlationData, boolean ack, String cause) { + if (ack) { + System.out.println("消息发送到交换机成功~"); + } else { + System.out.println("消息发送到交换机失败,失败的原因:" + cause); + } + } +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitAdminConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitAdminConfig.java new file mode 100644 index 0000000..27b24c5 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitAdminConfig.java @@ -0,0 +1,49 @@ +package com.muyu.common.rabbit.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; + +/** + * @ClassName: RabbitAdminConfig + * @Description: RabbitAdmin配置类 + */ +@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; + + @Bean + public ConnectionFactory connectionFactory() { + CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory(); + cachingConnectionFactory.setHost(host); + cachingConnectionFactory.setUsername(username); + cachingConnectionFactory.setPassword(password); + cachingConnectionFactory.setVirtualHost(virtualHost); + return cachingConnectionFactory; + + } + + @Bean + public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) { + RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); + rabbitAdmin.setAutoStartup(true); + return rabbitAdmin; + } + +} + + + + diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitmqConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitmqConfig.java new file mode 100644 index 0000000..9814d1b --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitmqConfig.java @@ -0,0 +1,20 @@ +package com.muyu.common.rabbit.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; + +/** + * JSON 消息转换器 自动将发送的消息转换成 json 字符串 并且 消费者接收到消息的时候自动反序列化 成需要的对象 + */ +@Configuration +public class RabbitmqConfig { + + + // 消息转换配置 + @Bean + public MessageConverter jsonMessageConverter() { + return new Jackson2JsonMessageConverter(); + } +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/ReturnCallbackConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/ReturnCallbackConfig.java new file mode 100644 index 0000000..212e2fd --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/ReturnCallbackConfig.java @@ -0,0 +1,37 @@ +package com.muyu.common.rabbit.config; + +import lombok.AllArgsConstructor; +import org.springframework.amqp.core.ReturnedMessage; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 消息发送到 队列的确认 + */ +@Component +@AllArgsConstructor +public class ReturnCallbackConfig implements RabbitTemplate.ReturnsCallback { + + + private final 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/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/TopicConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/TopicConfig.java new file mode 100644 index 0000000..58d717b --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/TopicConfig.java @@ -0,0 +1,75 @@ +package com.muyu.common.rabbit.config; + +import org.springframework.amqp.core.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @Author: WangXin + * @Time: 2024/4/22 11:55 + * @Description: 主题模式配置 + */ +@Configuration +public class TopicConfig { + + /** + * 主题模式交换机 + * @return exchange + */ + @Bean(name = "topicExchange") + public Exchange getTopicExchange(){ + return ExchangeBuilder + .topicExchange("exchange_topic") + .build(); + } + + /** + * 主题队列 01 + * @return queue + */ + @Bean(name = "topicQueue01") + public Queue getTopicQueue01(){ + return QueueBuilder + .durable("queue_topic_01") + .build(); + } + + /** + * 主题队列 02 + * @return queue + */ + @Bean(name = "topicQueue02") + public Queue getTopicQueue02(){ + return QueueBuilder + .durable("queue_topic_02") + .build(); + } + + /** + * 绑定队列 01 + * @return binding + */ + @Bean + public Binding getTopicBinding01(){ + return BindingBuilder + .bind(getTopicQueue01()) + .to(getTopicExchange()) + //路由键 队列1接收debug级别的消息 + .with("front.#") + .noargs(); + } + + /** + * 绑定队列 02 + * @return binding + */ + @Bean + public Binding getTopicBinding02(){ + return BindingBuilder + .bind(getTopicQueue02()) + .to(getTopicExchange()) + // 路由键 队列2接收info级别的消息 + .with("back.order.*") + .noargs(); + } +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java new file mode 100644 index 0000000..45495ab --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java @@ -0,0 +1,35 @@ +package com.muyu.common.rabbit.constants; + +/** + * + * @author: 刘武 + * @date: 2024/7/10 + * @Description: rabbitmq常量 + * @Version 1.0.0 + */ +public interface RabbitmqConstants { + + //普通队列 + String BASIC_QUEUE_NAME = "BASIC_QUEUE_NAME"; + + String lOG_QUEUE_NAME = "LOG_QUEUE_NAME"; + //延迟队列 + //队列名称 + String DELAYED_QUEUE_NAME = "delayed_queue"; + //交换机名称 + String DELAYED_EXCHANGE_NAME = "DELAYED_EXCHANGE"; + //交换机 + String DELAYED_ROUTING_KEY = "delayed"; + /** + * 上下线监听交换机 + */ + String TOP_BOTTOM_STITCHING = "top_bottom_stitching"; + /** + * 上线规则 + */ + String TOP_RULE = "car.top.data"; + /** + * 车辆下线规则 + */ + String BOTTOM_RULE = "car.bottom.data"; +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java new file mode 100644 index 0000000..2181562 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java @@ -0,0 +1,140 @@ +package com.muyu.common.rabbit.consumer; + +import com.alibaba.fastjson2.JSONObject; +import com.muyu.common.redis.service.RedisService; +import com.rabbitmq.client.Channel; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.Message; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.util.Date; + +/** + * @ClassName: RabbitMQConsumerUtil + * @Description: rabbitmq消费者 + */ +@Component +@Log4j2 +@AllArgsConstructor +public class RabbitMQConsumerUtil { + + private final RedisService redisService; + + + /** + * 普通消费者 + * @param data 数据类型 + * @param message + * @param channel + */ + public void rabbitMQBasicConsumer(Object data ,Message message , Channel channel) { + log.info("当前时间:{} :RabbitMQConsumerUtil : {}", new Date(), message); + try { + // 获取到消息 开始消费 + log.info("消息消费者接收到消息,消息内容:{}", JSONObject.toJSONString(data)); + + + Long add = redisService.redisTemplate.opsForSet().add(data, message.getMessageProperties().getMessageId()); + + if (add != 1) { + return; + } + + + /** + * -----------------------------------以下为异步业务操作---------------------------- + */ + + /** + * ------------------------------------------------------------------------------ + */ + // 消费消息成功之后需要确认 + // long deliveryTag 消息投递序号 自增的数字 在整个队列中唯一 拿到这个序号就相当于拿到这条消息 + // boolean multiple 是否批量确认 true 批量 确认小于等于当前投递序号的消息 false 单个确认 + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + log.info("xxx消费者接收到消息,消息内容:{},消费成功...", message); + + } catch (Exception e) { + log.error("xxx消费者接收到消息,消息内容:{},消费消息异常,异常信息:{}", message, e); + // 消息回退 拒绝消费消息 + // long deliveryTag 消息投递序号 自增的数字 在整个队列中唯一 拿到这个序号就相当于拿到这条消息 + // boolean requeue 是否回到原来的队列 + try { + channel.basicReject(message.getMessageProperties().getDeliveryTag(), true); +// channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true); + } catch (IOException ex) { + log.error("xxx消费者接收到消息,消息内容:{},回退消息异常,异常信息:{}", message, ex); + } + }finally { + try { + channel.close(); + } catch (Exception e) { + log.error("xxx消费者关闭Channel异常,消息内容:{},异常信息:{}", message, e); + } + } + } + + + /** + * 普通消费者 + * @param data 数据类型 + * @param message + * @param channel + */ + public void carUpConsumer(String data,Message message , Channel channel) { + log.info("当前时间:{} :RabbitMQConsumerUtil : {}", new Date(), message); + try { + // 获取到消息 开始消费 + log.info("消息消费者接收到消息,消息内容:{}", JSONObject.toJSONString(data)); + + + Long add = redisService.redisTemplate.opsForSet().add(data, message.getMessageProperties().getMessageId()); + + if (add != 1) { + return; + } + + + /** + * -----------------------------------以下为异步业务操作---------------------------- + */ + log.info("[ 根据vin拿到缓存 ] vin为 --》 {}",data); + log.info("[ 存入本地缓存 ] 数据为 --》 {}",data); + log.info("[ 存入本地缓存 ] 数据为 --》 {}",data); + /** + * ------------------------------------------------------------------------------ + */ + // 消费消息成功之后需要确认 + // long deliveryTag 消息投递序号 自增的数字 在整个队列中唯一 拿到这个序号就相当于拿到这条消息 + // boolean multiple 是否批量确认 true 批量 确认小于等于当前投递序号的消息 false 单个确认 + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + log.info("xxx消费者接收到消息,消息内容:{},消费成功...", message); + + } catch (Exception e) { + log.error("xxx消费者接收到消息,消息内容:{},消费消息异常,异常信息:{}", message, e); + // 消息回退 拒绝消费消息 + // long deliveryTag 消息投递序号 自增的数字 在整个队列中唯一 拿到这个序号就相当于拿到这条消息 + // boolean requeue 是否回到原来的队列 + try { + channel.basicReject(message.getMessageProperties().getDeliveryTag(), true); +// channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true); + } catch (IOException ex) { + log.error("xxx消费者接收到消息,消息内容:{},回退消息异常,异常信息:{}", message, ex); + } + }finally { + try { + channel.close(); + } catch (Exception e) { + log.error("xxx消费者关闭Channel异常,消息内容:{},异常信息:{}", message, e); + } + } + } + + + + + + +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java new file mode 100644 index 0000000..fc7c3b8 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java @@ -0,0 +1,174 @@ +package com.muyu.common.rabbit.producer; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.rabbit.constants.RabbitmqConstants; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.MessageProperties; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.stereotype.Component; + +import java.util.UUID; + +/** + * @ClassName: RabbitMQProducer + * @Description: rabbitmq生产者 + */ +@Component +@AllArgsConstructor +@Log4j2 +public class RabbitMQProducerUtil { + //redis工具类对象 + + //rabbit + private final RabbitTemplate rabbitTemplate; + + + /** + * 简单模型 + * + * @param param 传递的消息 (如果是对象需要序列化) + * @return 结果集 + * 一对一消费,只有一个消费者能接收到 + */ + public Result basicSendMessage(String queueName, Object param, String msg) { + + log.info("【简单模型mq】 : method: 【 basicSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", RabbitmqConstants.BASIC_QUEUE_NAME, param, msg); + // 发送简单模型消息 + // 第一个参数: 绑定规则 相当于 队列名称 + // 第二个参数:消息内容 + rabbitTemplate.convertAndSend(queueName, param, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【简单模型mq】 : method: 【 basicSendMessage 】- queue: 【 {} 】 ---> 【 消息发送成功 】", RabbitmqConstants.BASIC_QUEUE_NAME); + + return Result.success(msg!=null?msg:"消息发送成功"); + } + + /** + * Work queue 工作模型 + * + * @param obj 传递的消息 (如果是对象需要序列化) + * @return 结果集 + * 多个消费者,你一个我一个分配消费消息,有预取机制,默认公平消费,可配置 能者多劳模式(),谁完成的快,谁多做一点 + */ + public Result workSendMessage(String queueName, Object obj, String msg) { + + log.info("【工作模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", queueName, obj, msg); + // 发送简单模型消息 + // 第一个参数: 绑定规则 相当于 队列名称 + // 第二个参数:消息内容 + rabbitTemplate.convertAndSend(queueName, obj, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【工作模型mq】 : method: 【 workSendMessage 】- queue: 【 {} 】 ---> 【 消息发送成功 】", queueName); + + return Result.success("消息发送成功"); + } + + /** + * Publish/Subscribe 发布订阅者模型 + * 多个消费者,多个消费者可以同时接收到消息 有交换机 类型 fanout + * + * @param exchange 交换机名称 + * @param obj 发送的消息Object + * @param msg 响应的内容 + * @return 结果集 + */ + public Result publishSubscribeSendMessage(String exchange, Object obj, String msg) { + + log.info("【订阅模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", exchange, obj, msg); + // 发送简单模型消息 + // 第一个参数: exchange 交换机的名称 + // 第二个参数: 绑定规则 发布订阅者模型 不写 默认 "" 只要绑定就行 不需要规则 + // 第三个参数:消息内容 + rabbitTemplate.convertAndSend(exchange, "", obj, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【订阅模型mq】 : method: 【 workSendMessage 】- exchange: 【 {} 】 ---> 【 消息发送成功 】", exchange); + + return Result.success("消息发送成功"); + } + + /** + * Routing路由模型 + * 使用的是 Direct 类型的交换机,会将接收到的消息根据 规则 路由到指定的Queue(队列),因此称为路由模式 + * + * @param exchange 交换机名称 + * @param rule 绑定规则 一个字符串即可 + * @param obj 发送的消息Object + * @param msg 响应的内容 + * @return 结果集 + */ + public Result routingSendMessage(String exchange, String rule, Object obj, String msg) { + + log.info("【路由模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", exchange, obj, msg); + // 发送简单模型消息 + // 第一个参数: 绑定规则 相当于 队列名称 + // 第二个参数:消息内容 + rabbitTemplate.convertAndSend(exchange, rule, obj, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【路由模型mq】 : method: 【 workSendMessage 】- exchange: 【 {} 】 ---> 【 消息发送成功 】", exchange); + + return Result.success("消息发送成功"); + } + + + /** + * Topic主题模型模型 + * 使用的是 topic 类型的交换机 + * + * @param exchange 交换机名称 + * @param rule 绑定规则 可以绑定多个单词以 . 拼接 也可以使用 #(匹配 零个 一个 或 多个 单词) 或 *(匹配 一个 单词) 通配符(例如:name.msg, *.msg, age.# ) + * @param obj 发送的消息Object + * @param msg 响应的内容 + * @return 结果集 + */ + public Result topicSendMessage(String exchange, String rule, Object obj) { + + log.info("【主题模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {} 】 ---> 【 消息发送中。。。 】", exchange, obj); + // 发送简单模型消息 + // 第一个参数: 绑定规则 相当于 队列名称 + // 第二个参数:消息内容 + rabbitTemplate.convertAndSend(exchange, rule, obj, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【主题模型mq】 : method: 【 workSendMessage 】- exchange: 【 {} 】 ---> 【 消息发送成功 】", exchange); + + return Result.success(obj,"消息发送成功"); + } + + + /** + * 延迟队列模型 + * @param param 传输内容 + * @param delayTime 延迟时间 + * @return 结果集 + */ + public Result delayedSendMessage(Long delayTime, Object param) { + log.info("【延迟队列模型】 : method: 【 delayedSendMessage 】 消息内容:{}---> 【 消息发送中。。。 】",param); + + rabbitTemplate.convertAndSend(RabbitmqConstants.DELAYED_EXCHANGE_NAME, RabbitmqConstants.DELAYED_ROUTING_KEY,param, message -> { + MessageProperties messageProperties = message.getMessageProperties(); + messageProperties.setMessageId(UUID.randomUUID().toString()); + messageProperties.setDelayLong(delayTime); + return message; + }); + log.info("【延迟队列模型】 : method: 【 delayedSendMessage 】 消息内容:{}---> 【 消息发送成功 】",param); + + return Result.success(param,"消息发送成功"); + + } + +} diff --git a/cloud-common/cloud-common-rabbit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-rabbit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 189ea2c..6cd925a 100644 --- a/cloud-common/cloud-common-rabbit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cloud-common/cloud-common-rabbit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,7 @@ -com.muyu.common.rabbit.RabbitListenerConfigurer \ No newline at end of file +com.muyu.rabbitmq.producer.RabbitMQProducerUtil +com.muyu.rabbitmq.consumer.RabbitMQConsumerUtil +com.muyu.rabbitmq.config.RabbitmqConfig +com.muyu.rabbitmq.config.MyConfirmCallback +com.muyu.rabbitmq.config.DelayedQueueConfig +com.muyu.rabbitmq.config.RabbitAdminConfig +com.muyu.rabbitmq.config.ReturnCallbackConfig diff --git a/cloud-modules/cloud-event/pom.xml b/cloud-modules/cloud-event/pom.xml index 124e715..cae475e 100644 --- a/cloud-modules/cloud-event/pom.xml +++ b/cloud-modules/cloud-event/pom.xml @@ -54,13 +54,6 @@ spring-boot-starter-actuator - - - org.springframework.kafka - spring-kafka - - - com.mysql @@ -112,15 +105,14 @@ - org.apache.kafka - kafka-clients - 2.8.0 + com.muyu + cloud-common-kafka + 3.6.3 com.muyu - cloud-common-kafka - 3.6.3 + cloud-common-rabbit diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/MessageConsumer.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/MessageConsumer.java index 4f78908..3cb39c0 100644 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/MessageConsumer.java +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/MessageConsumer.java @@ -4,6 +4,7 @@ package com.muyu.event.consumer; import com.alibaba.fastjson2.JSONObject; import com.muyu.event.basic.EventPublisher; +import lombok.extern.log4j.Log4j2; import org.apache.kafka.clients.consumer.ConsumerRecords; import org.apache.kafka.clients.consumer.KafkaConsumer; import org.springframework.beans.factory.annotation.Autowired; @@ -25,6 +26,7 @@ import static org.bouncycastle.asn1.x500.style.RFC4519Style.l; * @date:2024/9/28 23:34 */ @Component +@Log4j2 public class MessageConsumer implements ApplicationRunner { @Autowired @@ -32,7 +34,7 @@ public class MessageConsumer implements ApplicationRunner { @Autowired private EventPublisher eventPublisher; - private final String topic="vehicle"; + private final String topic="four_car"; @Override @@ -44,13 +46,9 @@ public class MessageConsumer implements ApplicationRunner { ConsumerRecords consumerRecords = consumer.poll(Duration.ofMillis(100)); consumerRecords.forEach(record -> { String value = record.value(); - System.out.println(value); - - JSONObject jsonObject = new JSONObject(); - jsonObject.put("123","123"); - - //事件处理 - eventPublisher.publishEvent(jsonObject); + JSONObject jsonObject = JSONObject.parseObject(value); + log.info("value:{}",value); +// eventPublisher.publishEvent(jsonObject); }); diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/OnlineConsumer.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/OnlineConsumer.java new file mode 100644 index 0000000..d8871b7 --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/consumer/OnlineConsumer.java @@ -0,0 +1,21 @@ +package com.muyu.event.consumer; + +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Component; + +/** + * 车辆上线监听 + * @author 刘武 + * @package:com.muyu.event.consumer + * @name:OnlineConsumer + * @date:2024/9/30 11:40 + */ +@Component +@Log4j2 +public class OnlineConsumer { + + + + + +} diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/TestController.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/TestController.java index 84c9f93..fb46a2e 100644 --- a/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/TestController.java +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/controller/TestController.java @@ -5,12 +5,15 @@ import com.alibaba.fastjson2.JSONObject; import com.muyu.event.service.TestService; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerRecord; +import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.Date; /** * @author 刘武 @@ -25,13 +28,18 @@ public class TestController { private KafkaProducer kafkaProducer; - private static final String topic="vehicle"; + + private static final String topic="four_car"; @GetMapping("send") public String sendKafka(){ String message="发送一条信息"; - ProducerRecord producerRecord = new ProducerRecord(topic,message); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("cj","sb"); + + + ProducerRecord producerRecord = new ProducerRecord(topic,jsonObject.toJSONString()); kafkaProducer.send(producerRecord); return "success"; @@ -50,4 +58,6 @@ public class TestController { + + } diff --git a/cloud-modules/cloud-event/src/main/java/com/muyu/event/util/CacheUtil.java b/cloud-modules/cloud-event/src/main/java/com/muyu/event/util/CacheUtil.java new file mode 100644 index 0000000..c2de42f --- /dev/null +++ b/cloud-modules/cloud-event/src/main/java/com/muyu/event/util/CacheUtil.java @@ -0,0 +1,37 @@ +package com.muyu.event.util; + +import com.github.benmanes.caffeine.cache.Cache; +import com.github.benmanes.caffeine.cache.Caffeine; +import org.springframework.stereotype.Component; + +/** + * 缓存工具类 + * + * @program: cloud-server + * @author: 刘武 + * @create: 2024-09-30 10:08 + **/ +@Component +public class CacheUtil { + + private final Cache cache; + + public CacheUtil() { + this.cache = Caffeine.newBuilder() + .maximumSize(500L) + .build(); + } + + public T get(String key) { + return cache.getIfPresent(key); + } + + public void put(String key, T value) { + cache.put(key, value); + } + + public void remove(String key) { + cache.invalidate(key); + } + +} diff --git a/cloud-modules/cloud-event/src/main/resources/bootstrap.yml b/cloud-modules/cloud-event/src/main/resources/bootstrap.yml index f0ff80f..987a973 100644 --- a/cloud-modules/cloud-event/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-event/src/main/resources/bootstrap.yml @@ -1,6 +1,7 @@ # Tomcat server: port: 10009 + # nacos线上地址 nacos: addr: 47.101.53.251:8848 @@ -9,6 +10,7 @@ nacos: namespace: four # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring +spring: amqp: deserialization: trust: @@ -51,9 +53,8 @@ nacos: - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # xxl-job 配置文件 - application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - # rabbit 配置文件 - - application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + logging: level: - com.muyu.fence.mapper: DEBUG + com.muyu.system.mapper: DEBUG From b879a1768dba51ebbab6bb7d6e948320ad43160c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 16:36:35 +0800 Subject: [PATCH 22/61] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=85=A5=E9=A9=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/auth/controller/TokenController.java | 6 +++--- .../com/muyu/auth/service/SysLoginService.java | 15 ++++++--------- .../common/system/remote/RemoteUserService.java | 2 +- .../muyu/system/controller/SysUserController.java | 14 ++++++++++---- .../com/muyu/system/mapper/SysUserMapper.java | 5 +++++ .../com/muyu/system/service/SysUserService.java | 3 +++ .../system/service/impl/SysUserServiceImpl.java | 6 ++++++ .../resources/mapper/system/SysUserMapper.xml | 3 +++ 8 files changed, 37 insertions(+), 17 deletions(-) diff --git a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java index e08ad90..a03b64c 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java +++ b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java @@ -81,9 +81,9 @@ public class TokenController { return Result.success(); } - @PostMapping("enterprise") - public Result enterprise(@RequestBody EnterpriseSettlement enterpriseSettlement){ - sysLoginService.enterprise(enterpriseSettlement.getDatabaseName(),enterpriseSettlement.getFirmName()); + @PostMapping("/enterprise") + public Result enterprise( @RequestBody EnterpriseSettlement settlement){ + sysLoginService.enterprise(settlement.getDatabaseName(),settlement.getFirmName()); return Result.success(); } } diff --git a/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java index 58a4ce7..7305c98 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java +++ b/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java @@ -132,26 +132,23 @@ public class SysLoginService { * @param databaseName * @param fileName */ - public void enterprise (String databaseName,String fileName){ + public void enterprise (String databaseName,String fileName) { // 参数校验 数据库名或企业名称不能为空 - if (StringUtils.isAnyBlank(databaseName,fileName)){ + if (StringUtils.isAnyBlank(databaseName, fileName)) { throw new ServiceException("数据库名或企业名称不能为空"); } - if (databaseName.length()UserConstants.PASSWORD_MAX_LENGTH){ + if (databaseName.length() < UserConstants.PASSWORD_MIN_LENGTH || databaseName.length() > UserConstants.PASSWORD_MAX_LENGTH) { throw new ServiceException("数据库名长度必须在5到20个字符之间"); } - if (fileName.length()UserConstants.Firm_NAME_MAX_LENGTH){ + if (fileName.length() < UserConstants.Firm_NAME_MIN_LENGTH || fileName.length() > UserConstants.Firm_NAME_MAX_LENGTH) { throw new ServiceException("企业名称长度必须在2到20个字符之间"); } Enterprise settlement = new Enterprise(); settlement.setDatabaseName(databaseName); settlement.setFirmName(fileName); - Result registerResult = remoteUserService.settlementEnterpriseInfo(settlement, SecurityConstants.INNER); + remoteUserService.settlementEnterpriseInfo(settlement, SecurityConstants.INNER); - if (Result.FAIL == registerResult.getCode()) { - throw new ServiceException(registerResult.getMsg()); - } - recordLogService.recordLogininfor(fileName, Constants.REGISTER, "注册成功"); } + } } diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index 4377446..1e0a8aa 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -52,6 +52,6 @@ public interface RemoteUserService { * @param source * @return */ - @PostMapping("/enterprise/settlement") + @PostMapping("/user/settlement") ResultsettlementEnterpriseInfo(@RequestBody Enterprise enterprise, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java index d3aa7ca..17170ac 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -10,10 +10,7 @@ import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.InnerAuth; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.utils.SecurityUtils; -import com.muyu.common.system.domain.SysDept; -import com.muyu.common.system.domain.SysRole; -import com.muyu.common.system.domain.SysUser; -import com.muyu.common.system.domain.LoginUser; +import com.muyu.common.system.domain.*; import com.muyu.system.domain.resp.AuthRoleResp; import com.muyu.system.domain.resp.UserDetailInfoResp; import com.muyu.system.domain.resp.UserInfoResp; @@ -136,6 +133,15 @@ public class SysUserController extends BaseController { return Result.success(userService.registerUser(sysUser)); } + /** + * 入驻企业信息 + */ + @InnerAuth + @PostMapping("/enterprise") + public Result enterprise (@RequestBody Enterprise enterprise){ + + return Result.success(userService.enterprise(enterprise)); + } /** * 获取用户信息 * diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java index 90ae439..a4fcd51 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java @@ -1,6 +1,7 @@ package com.muyu.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.common.system.domain.Enterprise; import com.muyu.common.system.domain.SysUser; import org.apache.ibatis.annotations.Param; @@ -66,6 +67,8 @@ public interface SysUserMapper extends BaseMapper { */ int insertUser(SysUser user); + int enterprise(Enterprise enterprise); + /** * 修改用户信息 * @@ -142,4 +145,6 @@ public interface SysUserMapper extends BaseMapper { List selectCompanyList(); + + } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java index a36a4f0..84c9065 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java @@ -1,6 +1,7 @@ package com.muyu.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.common.system.domain.Enterprise; import com.muyu.common.system.domain.SysUser; import java.util.List; @@ -133,6 +134,7 @@ public interface SysUserService extends IService { */ boolean registerUser(SysUser user); + boolean enterprise(Enterprise enterprise); /** * 修改用户信息 * @@ -228,4 +230,5 @@ public interface SysUserService extends IService { List selectCompanyList(); + } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index 7bba2ee..9ab3ad4 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -8,6 +8,7 @@ import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.bean.BeanValidators; import com.muyu.common.datascope.annotation.DataScope; import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.system.domain.Enterprise; import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; import com.muyu.system.domain.SysPost; @@ -257,6 +258,11 @@ public class SysUserServiceImpl extends ServiceImpl impl return userMapper.insertUser(user) > 0; } + @Override + public boolean enterprise(Enterprise enterprise){ + return userMapper.enterprise(enterprise) > 0; + } + /** * 修改保存用户信息 * diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml index c23843a..364d8a3 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -221,6 +221,9 @@ sysdate() ) + + INSERT INTO `datasource`.`datasource` (`id`, `firm_name`, `database_name`) VALUES (NULL, #{firmName}, #{databaseName}); + update sys_user From 76440e1c983e2801ae9cbbba2aad8984bf3e0432 Mon Sep 17 00:00:00 2001 From: Number7 <1845377266@qq.com> Date: Mon, 30 Sep 2024 16:37:24 +0800 Subject: [PATCH 23/61] =?UTF-8?q?feat():=E5=A2=9E=E5=8A=A0=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E8=A7=A3=E6=9E=90=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-modules/cloud-modules-template/pom.xml | 4 ++++ .../src/main/java/com/muyu/server/SaasApplication.java | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cloud-modules/cloud-modules-template/pom.xml b/cloud-modules/cloud-modules-template/pom.xml index fc32dc9..8c03c73 100644 --- a/cloud-modules/cloud-modules-template/pom.xml +++ b/cloud-modules/cloud-modules-template/pom.xml @@ -11,6 +11,10 @@ cloud-modules-template + + cloud-modules-template 协议解析模块 + + diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java index 8fa9688..7186808 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/SaasApplication.java @@ -1,9 +1,9 @@ package com.muyu.server; + import com.muyu.common.security.annotation.EnableMyFeignClients; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; - /** * saas模块启动类 * @author YuPing @@ -11,7 +11,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @Version 1.0 * @Data 2024-09-28 17:34:31 */ - @SpringBootApplication @EnableMyFeignClients public class SaasApplication { From 50a655d888c5218af22251d998e14be8f817b602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 16:46:34 +0800 Subject: [PATCH 24/61] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=85=A5=E9=A9=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/muyu/auth/service/SysFirmService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java b/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java index f8c70a0..e8413b7 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java +++ b/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java @@ -12,6 +12,7 @@ import java.sql.ResultSet; import java.sql.Statement; /** + * 数据源 * @author 袁子龙 * @package com.muyu.auth.service * @name SysFirmService From d99edc16d12e13fb0ee0d48e9a6f232ceefd4497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?= <14096380+qwe963852@user.noreply.gitee.com> Date: Mon, 30 Sep 2024 16:47:31 +0800 Subject: [PATCH 25/61] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=85=A5=E9=A9=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/muyu/auth/service/SysFirmService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java b/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java index e8413b7..8ac333c 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java +++ b/cloud-auth/src/main/java/com/muyu/auth/service/SysFirmService.java @@ -20,7 +20,6 @@ import java.sql.Statement; */ @Component public class SysFirmService { - //数据库账号 static final String USER="root"; //数据库密码 From a13ba8199ab9815f6946ff026efc13e983c6dcde Mon Sep 17 00:00:00 2001 From: Number7 <1845377266@qq.com> Date: Mon, 30 Sep 2024 17:00:05 +0800 Subject: [PATCH 26/61] =?UTF-8?q?fix():=E4=BF=AE=E6=94=B9=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E8=A7=A3=E6=9E=90=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-common/pom.xml | 1 + cloud-modules/cloud-modules-template/pom.xml | 10 ++ .../template}/config/KafkaConsumerConfig.java | 2 +- .../template}/config/KafkaProviderConfig.java | 2 +- .../muyu/template/config/MqttConfigure.java | 156 ++++++++++++++++++ .../template/service/TemplateService.java | 6 + .../service/impl/TemplateServiceImpl.java | 84 ++++++++++ .../com/muyu/server/config/MqttConfigure.java | 75 --------- .../server/controller/TemplateController.java | 12 +- .../muyu/server/service/TemplateService.java | 2 +- .../service/impl/TemplateServiceImpl.java | 72 -------- 11 files changed, 261 insertions(+), 161 deletions(-) rename cloud-modules/{saas/saas-server/src/main/java/com/muyu/server => cloud-modules-template/src/main/java/com/muyu/template}/config/KafkaConsumerConfig.java (98%) rename cloud-modules/{saas/saas-server/src/main/java/com/muyu/server => cloud-modules-template/src/main/java/com/muyu/template}/config/KafkaProviderConfig.java (98%) create mode 100644 cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/MqttConfigure.java delete mode 100644 cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java diff --git a/cloud-common/pom.xml b/cloud-common/pom.xml index 39e986c..7155ab4 100644 --- a/cloud-common/pom.xml +++ b/cloud-common/pom.xml @@ -23,6 +23,7 @@ cloud-common-saas cloud-common-swagger cloud-common-cache + cloud-common-kafka cloud-common diff --git a/cloud-modules/cloud-modules-template/pom.xml b/cloud-modules/cloud-modules-template/pom.xml index 8c03c73..2e1c1be 100644 --- a/cloud-modules/cloud-modules-template/pom.xml +++ b/cloud-modules/cloud-modules-template/pom.xml @@ -17,6 +17,10 @@ + + com.muyu + cloud-common-saas + @@ -77,6 +81,12 @@ com.muyu cloud-common-xxl + + com.muyu.server + saas-server + 3.6.3 + compile + diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaConsumerConfig.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/KafkaConsumerConfig.java similarity index 98% rename from cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaConsumerConfig.java rename to cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/KafkaConsumerConfig.java index 4ee0d1a..921077f 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaConsumerConfig.java +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/KafkaConsumerConfig.java @@ -1,4 +1,4 @@ -package com.muyu.server.config; +package com.muyu.template.config; import org.apache.kafka.clients.consumer.KafkaConsumer; import org.apache.kafka.common.serialization.Deserializer; diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaProviderConfig.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/KafkaProviderConfig.java similarity index 98% rename from cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaProviderConfig.java rename to cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/KafkaProviderConfig.java index e377733..00f5617 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/KafkaProviderConfig.java +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/KafkaProviderConfig.java @@ -1,4 +1,4 @@ -package com.muyu.server.config; +package com.muyu.template.config; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.common.serialization.Serializer; diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/MqttConfigure.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/MqttConfigure.java new file mode 100644 index 0000000..a41157e --- /dev/null +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/config/MqttConfigure.java @@ -0,0 +1,156 @@ +package com.muyu.template.config; + +import cn.hutool.json.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.muyu.common.domain.MessageTemplateType; +import com.muyu.common.domain.SysCar; +import com.muyu.common.redis.service.RedisService; +import com.muyu.server.service.MessageTemplateTypeService; +import com.muyu.server.service.SysCarService; +import com.muyu.server.service.TemplateService; +import lombok.extern.log4j.Log4j2; +import org.eclipse.paho.client.mqttv3.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.List; + +/** + * + * @author liuxinyue + * @Package:com.muyu.mqtt.configure + * @Project:cloud-server + * @name:MqttConfigure + * @Date:2024/9/28 16:10 + */ +@Log4j2 +@Component +public class MqttConfigure { + @Autowired + private RedisService redisService; + + @Autowired + private SysCarService sysCarService; + + @Autowired + private MessageTemplateTypeService messageTemplateTypeService; + + @Autowired + private RedisTemplate redisTemplate; + + + @PostConstruct + public void MQTTMonitoring(){ + String topic = "vehicle"; + int qos = 2; + String broker = "tcp://47.101.53.251:1883"; + String clientId = "测试mqtt"; + try { + MqttClient sampleClient = new MqttClient(broker, clientId); + MqttConnectOptions connOpts = new MqttConnectOptions(); + //是否清空session + connOpts.setCleanSession(true); + log.info("Connecting to broker: " + broker); + //连接 + sampleClient.connect(connOpts); + sampleClient.subscribe(topic,qos); + sampleClient.setCallback(new MqttCallback() { + //连接丢失(报错) + @Override + public void connectionLost(Throwable throwable) { + log.error("error:"+throwable.getMessage()); + } + //消息已经接收到 + @Override + public void messageArrived(String s, MqttMessage mqttMessage) throws Exception { + // 将MQTT消息转换为字符串 + String messageContent = new String(mqttMessage.getPayload()); + // 解析JSON字符串 + JSONObject jsonObject = new JSONObject(messageContent); + // 从JSON对象中获取"msg"字段的值 + String msgValue = jsonObject.getStr("msg"); + messageParsing(msgValue); + log.info("接收到的值为:"+msgValue); + } + //交付完成 + @Override + public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { + + } + }); + } catch(MqttException me) { + System.out.println("reason "+me.getReasonCode()); + System.out.println("msg "+me.getMessage()); + System.out.println("loc "+me.getLocalizedMessage()); + System.out.println("cause "+me.getCause()); + System.out.println("excep "+me); + me.printStackTrace(); + } + } + + public JSONObject messageParsing(String templateMessage) { + //给一个JSON对象 + JSONObject jsonObject = new JSONObject(); + //先截取出VIN码 然后根据VIN码查询这个车属于什么类型 + if (templateMessage.length() < 18) { + throw new RuntimeException("The vehicle message is incorrect"); + } + //将报文进行切割 + String[] hexArray = templateMessage.split(" "); + StringBuilder result = new StringBuilder(); + for (String hex : hexArray) { + int decimal = Integer.parseInt(hex, 16); + result.append((char) decimal); + } + //取出VIN码 + String carVin = result.substring(0, 18 - 1); + log.info("carVin码为:" + carVin); + //根据VIN码获取车辆信息 + SysCar carByVin = sysCarService.findCarByVin(carVin); + log.info("车辆信息为:" + carByVin); + //对应车辆所对应的报文模版 + Integer templateId = carByVin.getTemplateId(); + + List templateTypeList; + + //key + String redisKey = "messageTemplateType" + templateId; + + //key存在 + if (redisTemplate.hasKey(redisKey)) { + + List list = redisTemplate.opsForList().range(redisKey, 0, -1); + + templateTypeList = list.stream().map(o -> JSON.parseObject(o.toString(), MessageTemplateType.class)) + .toList(); + + } else { + List templateTypeList1 = messageTemplateTypeService.findTemplateById(templateId); + templateTypeList = templateTypeList1; + templateTypeList.forEach( + templateType -> + redisTemplate.opsForList().rightPush( + redisKey, com.alibaba.fastjson.JSON.toJSONString(templateType) + ) + ); + } + //将模版里面有的配置进行循环 + for (MessageTemplateType messageTemplateType : templateTypeList) { + //开始位置 + Integer startIndex = messageTemplateType.getStartIndex() - 1; + //结束位置 + Integer endIndex = messageTemplateType.getEndIndex(); + //将每个解析后的字段都存入到JSON对象中 + jsonObject.put(messageTemplateType.getMessageField(), result.substring(startIndex, endIndex)); + } + + System.out.println("哈哈哈红红火火恍恍惚惚"); + log.info("解析后的报文是:" + jsonObject); + + return jsonObject; + + } + +} diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/TemplateService.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/TemplateService.java index f6bc10a..d4e4239 100644 --- a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/TemplateService.java +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/TemplateService.java @@ -1,5 +1,8 @@ package com.muyu.template.service; +import java.sql.SQLException; +import java.util.concurrent.ExecutionException; + /** * @author liuxinyue * @Package:com.muyu.template.service @@ -7,4 +10,7 @@ package com.muyu.template.service; * @Date:2024/9/30 10:57 */ public interface TemplateService { + + void messageParsing(String templateMessage) ; + } diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/impl/TemplateServiceImpl.java b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/impl/TemplateServiceImpl.java index 4e92057..9279118 100644 --- a/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/impl/TemplateServiceImpl.java +++ b/cloud-modules/cloud-modules-template/src/main/java/com/muyu/template/service/impl/TemplateServiceImpl.java @@ -1,19 +1,103 @@ package com.muyu.template.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.muyu.common.domain.MessageTemplateType; +import com.muyu.common.domain.SysCar; +import com.muyu.common.redis.service.RedisService; +import com.muyu.server.service.MessageTemplateTypeService; +import com.muyu.server.service.SysCarService; import com.muyu.template.service.TemplateService; +import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.util.List; +import java.util.concurrent.ExecutionException; + /** * @author liuxinyue * @Package:com.muyu.template.service.impl * @name:TemplateServiceImpl * @Date:2024/9/30 10:57 */ +@Log4j2 @Service public class TemplateServiceImpl implements TemplateService { + @Autowired + private RedisService redisService; + @Autowired + private SysCarService sysCarService; + @Autowired + private MessageTemplateTypeService messageTemplateTypeService; + @Autowired + private RedisTemplate redisTemplate; + + @Override + public void messageParsing(String templateMessage) { + //给一个JSON对象 + JSONObject jsonObject = new JSONObject(); + //先截取出VIN码 然后根据VIN码查询这个车属于什么类型 + if (templateMessage.length() < 18) { + throw new RuntimeException("The vehicle message is incorrect"); + } + //将报文进行切割 + String[] hexArray = templateMessage.split(" "); + StringBuilder result = new StringBuilder(); + for (String hex : hexArray) { + int decimal = Integer.parseInt(hex, 16); + result.append((char) decimal); + } + //取出VIN码 + String carVin = result.substring(0, 18 - 1); + log.info("carVin码为:" + carVin); + //根据VIN码获取车辆信息 + SysCar carByVin = sysCarService.findCarByVin(carVin); + log.info("车辆信息为:" + carByVin); + //对应车辆所对应的报文模版 + Integer templateId = carByVin.getTemplateId(); + + List templateTypeList; + + //key + String redisKey = "messageTemplateType" + templateId; + + //key存在 + if (redisTemplate.hasKey(redisKey)) { + + List list = redisTemplate.opsForList().range(redisKey, 0, -1); + + templateTypeList = list.stream().map(o -> JSON.parseObject(o.toString(), MessageTemplateType.class)) + .toList(); + + } else { + List templateTypeList1 = messageTemplateTypeService.findTemplateById(templateId); + templateTypeList = templateTypeList1; + templateTypeList.forEach( + templateType -> + redisTemplate.opsForList().rightPush( + redisKey, com.alibaba.fastjson.JSON.toJSONString(templateType) + ) + ); + } + //将模版里面有的配置进行循环 + for (MessageTemplateType messageTemplateType : templateTypeList) { + //开始位置 + Integer startIndex = messageTemplateType.getStartIndex() - 1; + //结束位置 + Integer endIndex = messageTemplateType.getEndIndex(); + //将每个解析后的字段都存入到JSON对象中 + jsonObject.put(messageTemplateType.getMessageField(), result.substring(startIndex, endIndex)); + } + + System.out.println("哈哈哈红红火火恍恍惚惚"); + log.info("解析后的报文是:" + jsonObject); + + } } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java deleted file mode 100644 index 10411a0..0000000 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/config/MqttConfigure.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.muyu.server.config; - -import cn.hutool.json.JSONObject; -import com.muyu.server.service.TemplateService; -import lombok.extern.log4j.Log4j2; -import org.eclipse.paho.client.mqttv3.*; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import javax.annotation.PostConstruct; - -/** - * - * @author liuxinyue - * @Package:com.muyu.mqtt.configure - * @Project:cloud-server - * @name:MqttConfigure - * @Date:2024/9/28 16:10 - */ -@Log4j2 -@Component -public class MqttConfigure { - - @Autowired - private TemplateService templateService; - - @PostConstruct - public void MQTTMonitoring(){ - String topic = "vehicle"; - int qos = 2; - String broker = "tcp://47.101.53.251:1883"; - String clientId = "测试mqtt"; - try { - MqttClient sampleClient = new MqttClient(broker, clientId); - MqttConnectOptions connOpts = new MqttConnectOptions(); - //是否清空session - connOpts.setCleanSession(true); - log.info("Connecting to broker: " + broker); - //连接 - sampleClient.connect(connOpts); - sampleClient.subscribe(topic,qos); - sampleClient.setCallback(new MqttCallback() { - //连接丢失(报错) - @Override - public void connectionLost(Throwable throwable) { - log.error("error:"+throwable.getMessage()); - } - //消息已经接收到 - @Override - public void messageArrived(String s, MqttMessage mqttMessage) throws Exception { - // 将MQTT消息转换为字符串 - String messageContent = new String(mqttMessage.getPayload()); - // 解析JSON字符串 - JSONObject jsonObject = new JSONObject(messageContent); - // 从JSON对象中获取"msg"字段的值 - String msgValue = jsonObject.getStr("msg"); - templateService.messageParsing(msgValue); - log.info("接收到的值为:"+msgValue); - } - //交付完成 - @Override - public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { - - } - }); - } catch(MqttException me) { - System.out.println("reason "+me.getReasonCode()); - System.out.println("msg "+me.getMessage()); - System.out.println("loc "+me.getLocalizedMessage()); - System.out.println("cause "+me.getCause()); - System.out.println("excep "+me); - me.printStackTrace(); - } - } -} diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java index 89dc512..ad8712c 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java @@ -45,17 +45,7 @@ public class TemplateController { } - /** - * 解析报文 - * @param templateMessage - * @return - */ - @PostMapping("/messageParsing") - @Operation(summary = "报文解析",description = "报文解析") - public Result messageParsing(@RequestParam("templateMessage") String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException, ExecutionException, InterruptedException { - templateService.messageParsing(templateMessage); - return Result.success(); - } + /** * 报文模版添加 diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateService.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateService.java index ea7189d..3751181 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateService.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/service/TemplateService.java @@ -19,7 +19,7 @@ import java.util.concurrent.ExecutionException; public interface TemplateService extends IService