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-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-common/cloud-common-cache/pom.xml b/cloud-common/cloud-common-cache/pom.xml new file mode 100644 index 0000000..e303122 --- /dev/null +++ b/cloud-common/cloud-common-cache/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + + com.muyu + cloud-common + 3.6.3 + + + com.muyu.cache + cloud-common-cache + + + 17 + 17 + UTF-8 + + + + + com.muyu + cloud-common-redis + + + + diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/CacheAbsBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/CacheAbsBasic.java new file mode 100644 index 0000000..bc3a38c --- /dev/null +++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/CacheAbsBasic.java @@ -0,0 +1,38 @@ +package com.muyu.cache;/** + * @author yuping + * @package com.muyu.cache + * @name CacheAbsBasic + * @date 2024/9/29 20:10 抽象缓存层 + */ + +import com.muyu.common.redis.service.RedisService; +import org.springframework.beans.factory.annotation.Autowired; + +import static cn.hutool.core.lang.ansi.AnsiEncoder.encode; + +/** + * @Author YuPing + * @Description + * @Version 1.0 + * @Data 2024-09-29 20:10:09 + */ +public abstract class CacheAbsBasic implements CacheBasic{ + + @Autowired + private RedisService redisService; // spring redis 工具类 + + @Override + public void put(K key, V value) { + redisService.setCacheObject(encodeKey(key), value); // 编码 --> 缓存基础的对象 Integer String 实体类等 + } + + @Override + public V get(K key) { + return redisService.getCacheObject(encode(key)); // 获取缓存的基本对象 编码 + } + + @Override + public void remove(K key) { + redisService.deleteObject(encode(key)); + } +} diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/CacheBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/CacheBasic.java new file mode 100644 index 0000000..11ed9d5 --- /dev/null +++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/CacheBasic.java @@ -0,0 +1,16 @@ +package com.muyu.cache; + +/** + * @author yuping + * @package com.muyu.cache + * @name CacheBasic + * @date 2024/9/29 20:08 缓存基础 + */ +public interface CacheBasic extends PrimaryKeyBasic{ + + void put(K key, V value); + + V get(K key); + + void remove(K key); +} diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/PrimaryKeyBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/PrimaryKeyBasic.java new file mode 100644 index 0000000..c6a64cc --- /dev/null +++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/cache/PrimaryKeyBasic.java @@ -0,0 +1,34 @@ +package com.muyu.cache; + +/** + * @author yuping + * @package com.muyu.cache + * @name PrimaryKeyBasic + * @date 2024/9/29 20:03 主键基础 + */ +public interface PrimaryKeyBasic { + + /** + * key 前缀 + * @return key前缀 + */ + public String keyPre(); + + + /** + * key 编码 + * @param key 缓存键 + * @return 封装键 + */ + public default String encodeKey(K key) { + return keyPre() + key.toString(); //key 前缀 + } + + /** + * 解码 key + * @param key 编码key + * @return 解码后的key + */ + public K decode(String key); + +} 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..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 @@ -1,10 +1,21 @@ 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..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 @@ -300,4 +300,3 @@ public class SwaggerProperties { } } } - diff --git a/cloud-common/pom.xml b/cloud-common/pom.xml index 1843d4e..39e986c 100644 --- a/cloud-common/pom.xml +++ b/cloud-common/pom.xml @@ -22,7 +22,7 @@ cloud-common-rabbit cloud-common-saas cloud-common-swagger - cloud-common-kafka + cloud-common-cache cloud-common 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-event/src/main/resources/bootstrap.yml b/cloud-modules/cloud-event/src/main/resources/bootstrap.yml index 987a973..1bc0fa4 100644 --- a/cloud-modules/cloud-event/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-event/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-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/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-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-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/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/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/cloud-modules-vehiclegateway/pom.xml b/cloud-modules/cloud-modules-vehiclegateway/pom.xml index eac551f..34448dd 100644 --- a/cloud-modules/cloud-modules-vehiclegateway/pom.xml +++ b/cloud-modules/cloud-modules-vehiclegateway/pom.xml @@ -102,6 +102,36 @@ org.eclipse.paho.client.mqttv3 1.2.5 + + + + + com.aliyun + ecs20140526 + 5.1.8 + + + com.aliyun + tea-openapi + 0.3.2 + + + com.aliyun + tea-console + 0.0.1 + + + com.aliyun + tea-util + 0.2.21 + + + com.aliyun + aliyun-java-sdk-ecs + 4.2.0 + + + diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/ManageInstance.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/ManageInstance.java new file mode 100644 index 0000000..272ab93 --- /dev/null +++ b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/ManageInstance.java @@ -0,0 +1,173 @@ +package com.muyu.vehicle; + + +import com.aliyun.ecs20140526.Client; +import com.aliyun.ecs20140526.models.*; +import com.aliyun.tea.TeaException; +import com.aliyun.teaopenapi.models.Config; +import com.aliyun.teautil.Common; +import com.aliyun.teautil.models.RuntimeOptions; +import com.muyu.vehicle.domain.InstanceInfo; +import com.muyu.vehicle.service.OpenInstance; +import com.muyu.vehicle.service.SelectInstance; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +@Component +@Log4j2 +public class ManageInstance implements ApplicationRunner { + + /** + * ACCESS_KEY_ID + */ + public static final String ALIBABA_CLOUD_ACCESS_KEY_ID="LTAI5tGabdxedjfCh2uXHNrw"; + + /** + *ACCESS_KEY_SECRET + */ + public static final String ACCESS_KEY_SECRET="NHb7wHVpesLW6Axc0bFBs6ThhuNR10"; + + + /** + * 镜像ID + */ + public static final String IMAGE_ID="m-uf6agr9i6g27gj23om34"; + + /** + * 实例类型 + */ + public static final String INSTANCE_TYPE="ecs.e-c1m1.large"; + + /** + * 安全组ID + */ + public static final String SECURITY_GROUP_ID="sg-uf6glo8c4k17szhxu7sk"; + + /** + *交换机ID + */ + public static final String V_SWITCH_ID="vsw-uf6xy4rbt9ggcz93t6oib"; + + + /** + * 实例付费类型 + */ + public static final String INSTANCE_CHARGE_TY="PostPaid"; + + + + /** + * 使用AK&SK初始化账号Client + * @return Client + * @throws Exception + */ + + public static Client createClient() throws Exception { + // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。 + Config config = new Config() + // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。 + .setAccessKeyId(ALIBABA_CLOUD_ACCESS_KEY_ID) + // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。 + .setAccessKeySecret(ACCESS_KEY_SECRET); + // Endpoint 请参考 https://api.aliyun.com/product/Ecs + config.endpoint = "ecs-cn-hangzhou.aliyuncs.com"; + return new com.aliyun.ecs20140526.Client(config); + } + + + public static void generateInstance() throws Exception { + // 创建阿里云ECS客户端 + Client client = ManageInstance.createClient(); + // 配置系统盘参数 + RunInstancesRequest.RunInstancesRequestSystemDisk systemDisk= + new RunInstancesRequest.RunInstancesRequestSystemDisk() + .setSize("40") + .setCategory("cloud_essd"); + + // 创建创建实例请求对象并设置参数 + + RunInstancesRequest runInstancesRequest = new RunInstancesRequest() + .setRegionId("cn-shanghai") // 设置地域ID + .setImageId(IMAGE_ID) // 设置镜像ID + .setInstanceType(INSTANCE_TYPE) // 设置实例类型 + .setSecurityGroupId(SECURITY_GROUP_ID) // 设置安全组ID + .setVSwitchId(V_SWITCH_ID) // 设置虚拟交换机ID + .setInstanceName("cloud-MQTT") // 设置实例名称 + .setInstanceChargeType(INSTANCE_CHARGE_TY) // 设置实例付费类型为后付费按量付费 + .setSystemDisk(systemDisk) // 设置系统盘配置 + .setHostName("root") // 设置主机名 + .setPassword("2112A-four") // 设置实例密码 + .setAmount(2) // 设置创建实例的数量 + .setInternetChargeType("PayByTraffic") + .setInternetMaxBandwidthOut(1); + + + //创建运行时选择对象 + RuntimeOptions runTime= + new RuntimeOptions(); + // 尝试执行创建实例请求 + try { + ArrayList list = new ArrayList<>(); + // 复制代码运行请自行打印 API 的返回值 + RunInstancesResponse runInstancesResponse = client.runInstancesWithOptions(runInstancesRequest, runTime); + RunInstancesResponseBody body = runInstancesResponse.getBody(); + for (String instance : body.getInstanceIdSets().getInstanceIdSet()) { + list.add(instance); + } + log.info("ESC创建成功,实例ID为:" + list); + } catch (TeaException error) { + // 错误 message + log.info(error.getMessage()); + // 诊断地址 + log.info(error.getData().get("Recommend")); + Common.assertAsString(error.message); + } catch (Exception _error) { + TeaException error = new TeaException(_error.getMessage(), _error); + // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 + // 错误 message + log.info("实例创建失败:"+error.getMessage()); + } + } + + private static List selectInstance() throws Exception { + Client client = ManageInstance.createClient(); + ArrayList instanceInfos = new ArrayList<>();// 实例基础信息 + DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest() + .setRegionId("cn-shanghai") + .setInternetChargeType("PayByTraffic") + .setInstanceChargeType("PostPaid") + .setInstanceName("cloud-MQTT") // 设置实例名称 + ; + // 创建运行时选项对象 + RuntimeOptions runtime = new RuntimeOptions(); + //实例ID Instances.Instance.InstanceId + //实例IP Instances.Instance.PublicIpAddress.IpAddress + //状态 Instances.Instance.Status + DescribeInstancesResponse resp =client.describeInstancesWithOptions(describeInstancesRequest, runtime); + DescribeInstancesResponseBody body = resp.getBody(); + + for (DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance instance : body.getInstances().getInstance()){ + InstanceInfo instanceInfo = new InstanceInfo(); + instanceInfo.setInstanceId(instance.getInstanceId()); + instanceInfo.setIpAddress(String.valueOf(instance.getPublicIpAddress().getIpAddress())); + instanceInfo.setStatus(instance.getStatus()); + instanceInfos.add(instanceInfo); + + } + log.info("实例信息为:"+Common.toJSONString(instanceInfos)); + return instanceInfos; + } + + @Override + public void run(ApplicationArguments args) throws Exception { + generateInstance(); + selectInstance(); + } +} + diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/VehicleInstance.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/VehicleInstance.java deleted file mode 100644 index c55960e..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/VehicleInstance.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.muyu.vehicle; - -import com.alibaba.fastjson.JSONObject; -import com.muyu.web.common.ScheduledThreadPool; -import com.muyu.web.domain.MqttProperties; -import com.muyu.web.domain.VehicleInfo; -import com.muyu.web.domain.model.PositionModel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.extern.log4j.Log4j2; -import org.eclipse.paho.client.mqttv3.MqttClient; -import org.eclipse.paho.client.mqttv3.MqttConnectOptions; -import org.eclipse.paho.client.mqttv3.MqttException; -import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; - -import java.util.Objects; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ScheduledFuture; - -@Data -@Builder -@Log4j2 -@NoArgsConstructor -@AllArgsConstructor -public class VehicleInstance { - /** - * 路线轨迹编码 - */ - private String positionCode; - - /** - * 路径队列 - */ - private LinkedBlockingQueue positionQueue=new LinkedBlockingQueue<>(); - - /** - * 车辆 - */ - private VehicleInfo vehicleInfo; - - /** - * 车辆工作线程 - */ - private VehicleThread vehicleThread; - - /** - * MQTT配置 - */ - private MqttProperties mqttProperties; - - /** - * 线程提交回调 - */ - private ScheduledFuturescheduledFuture; - - /** - * 连接上报 - */ - private MqttClient client; - - - /** - * 获取当前车辆VIN - */ - public String getVin(){ - return this.vehicleInfo.getVin(); - } - /** - * 获取车辆租户信息 - */ - public String getTenantId(){ - return this.vehicleInfo.getTenantId(); - } - - /** - * 发送消息 - */ - public void sengMsg(String msg){ - - } - - - /** - * 初始化客户端 - */ - public void initClient(){ - try { - client = new MqttClient(mqttProperties.getBroker(), mqttProperties.getClientId(), new MemoryPersistence()); - MqttConnectOptions options = new MqttConnectOptions(); - //设置用户名和密码 - if (Objects.nonNull(mqttProperties.getUserName())&&Objects.nonNull(mqttProperties.getPassword())){ - options.setUserName(mqttProperties.getUserName()); - options.setPassword(mqttProperties.getPassword().toCharArray()); - } - options.setConnectionTimeout(1); - options.setKeepAliveInterval(20); - //连接 - client.connect(options); - log.debug("车辆:[{}]客户端初始化成功连接配置:{}",getVin(), - JSONObject.toJSONString(this.mqttProperties) - ); - VehicleThread vehicleThread = new VehicleThread(); - vehicleThread.setVehicleInstance(this); - this.setVehicleThread(vehicleThread); - ScheduledFuture submit = ScheduledThreadPool.submit(vehicleThread); - this.setScheduledFuture(submit); - log.info("初始化车辆上报模拟线程开始:[{}]", this.getVin()); - } catch (MqttException e) { - log.error("车辆:[{}] 客户端初始化异常", getVin(), e); - throw new RuntimeException(e); - } - } - - /** - * 是否连接在线 - */ - public boolean isOnline(){ - if (this.client==null){ - return false; - } - return this.client.isConnected(); - } - - /** - * 是否建立车辆模拟线程 - */ - public boolean isSend(){ - return this.vehicleThread!=null; - } -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/VehicleThread.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/VehicleThread.java deleted file mode 100644 index 79433ba..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/VehicleThread.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.muyu.vehicle; - -import lombok.Data; -import lombok.extern.log4j.Log4j2; - -@Data -@Log4j2 -public class VehicleThread implements Runnable{ - /** - * 是否停止线程 - */ - private volatile boolean isStop; - - /** - * 车辆实例对象 - */ - private VehicleInstance vehicleInstance; - @Override - public void run() { - if (!isStop){ - log.info("{}-上报数据",this.vehicleInstance.getVin()); - } - } -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/api/ClientAdmin.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/api/ClientAdmin.java deleted file mode 100644 index fd2f51b..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/api/ClientAdmin.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.muyu.vehicle.api; - -/** - * 客户端管理 - */ -public interface ClientAdmin { - /** - * 获取车辆负载地址 - */ - - -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/core/LocalContainer.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/core/LocalContainer.java deleted file mode 100644 index 5db7cf5..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/core/LocalContainer.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.muyu.vehicle.core; - -import com.muyu.vehicle.VehicleInstance; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -public class LocalContainer { - private static final Map> tenantVehicleDataMap - =new ConcurrentHashMap<>(); - - /** - * 获取租户ID下车辆 - */ - public static MapgetVehicleDataMap(String tenantId){ - return tenantVehicleDataMap.computeIfAbsent(tenantId,k->new ConcurrentHashMap<>()); - } - - /** - * - */ - - -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/core/VehicleConfiguration.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/core/VehicleConfiguration.java deleted file mode 100644 index 0d3b1ff..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/core/VehicleConfiguration.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.muyu.vehicle.core; - -import lombok.AllArgsConstructor; -import lombok.extern.log4j.Log4j2; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.context.annotation.Configuration; - -@Log4j2 -@Configuration -@AllArgsConstructor -public class VehicleConfiguration { -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/domain/InstanceInfo.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/domain/InstanceInfo.java new file mode 100644 index 0000000..2b4a528 --- /dev/null +++ b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/domain/InstanceInfo.java @@ -0,0 +1,18 @@ +package com.muyu.vehicle.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class InstanceInfo { + + //实例ID + private String InstanceId; + + private String IpAddress; + + private String status; +} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/CloseInstance.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/CloseInstance.java new file mode 100644 index 0000000..8843c7c --- /dev/null +++ b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/CloseInstance.java @@ -0,0 +1,110 @@ +package com.muyu.vehicle.service; + + +import com.aliyun.ecs20140526.Client; +import com.aliyun.ecs20140526.models.DeleteInstancesRequest; +import com.aliyun.ecs20140526.models.DescribeInstancesRequest; +import com.aliyun.ecs20140526.models.DescribeInstancesResponse; +import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody; +import com.aliyun.tea.TeaException; +import com.aliyun.teaopenapi.models.Config; +import com.aliyun.teautil.Common; +import com.aliyun.teautil.models.RuntimeOptions; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.DisposableBean; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; + + +@Component +@Log4j2 +public class CloseInstance implements DisposableBean { + /** + * ACCESS_KEY_ID + */ + public static final String ALIBABA_CLOUD_ACCESS_KEY_ID="LTAI5tGabdxedjfCh2uXHNrw"; + + /** + *ACCESS_KEY_SECRET + */ + public static final String ACCESS_KEY_SECRET="NHb7wHVpesLW6Axc0bFBs6ThhuNR10"; + public static Client createClient() throws Exception { + // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。 + // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html。 + Config config = new Config() + // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。 + .setAccessKeyId(ALIBABA_CLOUD_ACCESS_KEY_ID) + // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。 + .setAccessKeySecret(ACCESS_KEY_SECRET); + // Endpoint 请参考 https://api.aliyun.com/product/Ecs + config.endpoint = "ecs.cn-shanghai.aliyuncs.com"; + return new Client(config); + } + + public static void delInstance() throws Exception { + + // 创建ECS客户端对象,用于后续调用ECS相关API + Client client = CloseInstance.createClient(); + + DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest() + .setRegionId("cn-shanghai"); + + //创建运行时选择对象,用于配置运行时的选项参数 + RuntimeOptions runtimeOptions = new RuntimeOptions(); + + //获取实例列表 + DescribeInstancesResponse describeInstancesResponse = client.describeInstancesWithOptions(describeInstancesRequest, runtimeOptions); + + //提取实例ID集合 + ArrayList list = new ArrayList<>(); + DescribeInstancesResponseBody body = describeInstancesResponse.getBody(); + + for (DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance instance : body.getInstances().getInstance()) { + if (!instance.getInstanceId().equals("i-uf68jwsbbqq4b4xc893s")){ + list.add(instance.getInstanceId()); + } + } + log.info("搜索到实例Instance IDs: " + list); + // 创建删除实例请求对象,并设置请求参数 + DeleteInstancesRequest deleteInstancesRequest = new DeleteInstancesRequest() + // 设置地域ID,指定删除实例的地域 + .setRegionId("cn-shanghai") + // 设置DryRun为true,用于验证请求是否可以成功,但不实际执行删除操作 + .setDryRun(false) + // 设置Force为true,表示即使实例有正在运行的任务,也强制删除实例 + .setForce(true) + // 设置TerminateSubscription为true,表示删除按订阅付费的实例时终止订阅 + .setTerminateSubscription(true) + .setInstanceId(list); + + // 创建运行时选项对象,用于配置运行时的选项参数 + RuntimeOptions runtime = new RuntimeOptions(); + try { + // 复制代码运行请自行打印 API 的返回值 + client.deleteInstancesWithOptions(deleteInstancesRequest, runtime); + } catch (TeaException error) { + // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 + // 错误 message + log.info(error.getMessage()); + // 诊断地址 + log.info(error.getData().get("Recommend")); + Common.assertAsString(error.message); + } catch (Exception _error) { + TeaException error = new TeaException(_error.getMessage(), _error); + // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 + // 错误 message + System.out.println(error.getMessage()); + // 诊断地址 + log.info(error.getData().get("Recommend")); + Common.assertAsString(error.message); + } + } + + + @Override + public void destroy() throws Exception { + log.info("开始删除实例"); + delInstance(); + } +} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/OpenInstance.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/OpenInstance.java new file mode 100644 index 0000000..2a6cb6e --- /dev/null +++ b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/OpenInstance.java @@ -0,0 +1,129 @@ +package com.muyu.vehicle.service; + +import com.aliyun.ecs20140526.Client; +import com.aliyun.ecs20140526.models.RunInstancesRequest; +import com.aliyun.ecs20140526.models.RunInstancesResponse; +import com.aliyun.ecs20140526.models.RunInstancesResponseBody; +import com.aliyun.tea.TeaException; +import com.aliyun.teaopenapi.models.Config; +import com.aliyun.teautil.Common; +import com.aliyun.teautil.models.RuntimeOptions; +import com.muyu.vehicle.ManageInstance; +import lombok.extern.log4j.Log4j2; + +import java.util.ArrayList; + +@Log4j2 +public class OpenInstance { + /** + * ACCESS_KEY_ID + */ + public static final String ALIBABA_CLOUD_ACCESS_KEY_ID="LTAI5tGabdxedjfCh2uXHNrw"; + + /** + *ACCESS_KEY_SECRET + */ + public static final String ACCESS_KEY_SECRET="NHb7wHVpesLW6Axc0bFBs6ThhuNR10"; + + + /** + * 镜像ID + */ + public static final String IMAGE_ID="m-uf6agr9i6g27gj23om34"; + + /** + * 实例类型 + */ + public static final String INSTANCE_TYPE="ecs.e-c1m1.large"; + + /** + * 安全组ID + */ + public static final String SECURITY_GROUP_ID="sg-uf6glo8c4k17szhxu7sk"; + + /** + *交换机ID + */ + public static final String V_SWITCH_ID="vsw-uf6xy4rbt9ggcz93t6oib"; + + + /** + * 实例付费类型 + */ + public static final String INSTANCE_CHARGE_TY="PostPaid"; + + + + /** + * 使用AK&SK初始化账号Client + * @return Client + * @throws Exception + */ + + public static Client createClient() throws Exception { + // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。 + Config config = new Config() + // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。 + .setAccessKeyId(ALIBABA_CLOUD_ACCESS_KEY_ID) + // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。 + .setAccessKeySecret(ACCESS_KEY_SECRET); + // Endpoint 请参考 https://api.aliyun.com/product/Ecs + config.endpoint = "ecs-cn-hangzhou.aliyuncs.com"; + return new com.aliyun.ecs20140526.Client(config); + } + + + public static void generateInstance() throws Exception { + // 创建阿里云ECS客户端 + Client client = OpenInstance.createClient(); + // 配置系统盘参数 + RunInstancesRequest.RunInstancesRequestSystemDisk systemDisk= + new RunInstancesRequest.RunInstancesRequestSystemDisk() + .setSize("40") + .setCategory("cloud_essd"); + + // 创建创建实例请求对象并设置参数 + + RunInstancesRequest runInstancesRequest = new RunInstancesRequest() + .setRegionId("cn-shanghai") // 设置地域ID + .setImageId(IMAGE_ID) // 设置镜像ID + .setInstanceType(INSTANCE_TYPE) // 设置实例类型 + .setSecurityGroupId(SECURITY_GROUP_ID) // 设置安全组ID + .setVSwitchId(V_SWITCH_ID) // 设置虚拟交换机ID + .setInstanceName("cloud-MQTT") // 设置实例名称 + .setInstanceChargeType(INSTANCE_CHARGE_TY) // 设置实例付费类型为后付费按量付费 + .setSystemDisk(systemDisk) // 设置系统盘配置 + .setHostName("root") // 设置主机名 + .setPassword("2112A-four") // 设置实例密码 + .setAmount(2) // 设置创建实例的数量 + .setInternetChargeType("PayByTraffic") + .setInternetMaxBandwidthOut(1); + + + //创建运行时选择对象 + RuntimeOptions runTime= + new RuntimeOptions(); + // 尝试执行创建实例请求 + try { + ArrayList list = new ArrayList<>(); + // 复制代码运行请自行打印 API 的返回值 + RunInstancesResponse runInstancesResponse = client.runInstancesWithOptions(runInstancesRequest, runTime); + RunInstancesResponseBody body = runInstancesResponse.getBody(); + for (String instance : body.getInstanceIdSets().getInstanceIdSet()) { + list.add(instance); + log.info("ESC创建成功,实例ID为:" + list); + } + } catch (TeaException error) { + // 错误 message + log.info(error.getMessage()); + // 诊断地址 + log.info(error.getData().get("Recommend")); + Common.assertAsString(error.message); + } catch (Exception _error) { + TeaException error = new TeaException(_error.getMessage(), _error); + // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 + // 错误 message + log.info("实例创建失败:"+error.getMessage()); + } + } +} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/SelectInstance.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/SelectInstance.java new file mode 100644 index 0000000..6340b52 --- /dev/null +++ b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/vehicle/service/SelectInstance.java @@ -0,0 +1,66 @@ +package com.muyu.vehicle.service; + +import com.aliyun.ecs20140526.Client; +import com.aliyun.ecs20140526.models.DescribeInstancesRequest; +import com.aliyun.ecs20140526.models.DescribeInstancesResponse; +import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody; +import com.aliyun.teaopenapi.models.Config; +import com.aliyun.teautil.Common; +import com.aliyun.teautil.models.RuntimeOptions; +import com.muyu.vehicle.domain.InstanceInfo; +import lombok.extern.log4j.Log4j2; + +import java.util.ArrayList; + +@Log4j2 +public class SelectInstance { + /** + * ACCESS_KEY_ID + */ + public static final String ALIBABA_CLOUD_ACCESS_KEY_ID="LTAI5tGabdxedjfCh2uXHNrw"; + + /** + *ACCESS_KEY_SECRET + */ + public static final String ACCESS_KEY_SECRET="NHb7wHVpesLW6Axc0bFBs6ThhuNR10"; + + public static Client createClient(String accessKeyId, String accessKeySecret) throws Exception { + Config config = new com.aliyun.teaopenapi.models.Config() + // 必填,您的 AccessKey ID + .setAccessKeyId(ALIBABA_CLOUD_ACCESS_KEY_ID) + // 必填,您的 AccessKey Secret + .setAccessKeySecret(ACCESS_KEY_SECRET); + // 访问的域名 + config.endpoint = "ecs-cn-hangzhou.aliyuncs.com"; + return new Client(config); + } + + public static void main(String[] args_) throws Exception { + java.util.List args = java.util.Arrays.asList(args_); + // 请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET。 + // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式 + Client client = SelectInstance.createClient(ALIBABA_CLOUD_ACCESS_KEY_ID, ACCESS_KEY_SECRET); + DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest() + .setRegionId("cn-shanghai") + .setInternetChargeType("PayByTraffic") + .setInstanceChargeType("PostPaid") + .setInstanceName("cloud-MQTT") // 设置实例名称 + ; + //实例ID Instances.Instance.InstanceId + //实例IP Instances.Instance.PublicIpAddress.IpAddress + //状态 Instances.Instance.Status + RuntimeOptions runtime = new RuntimeOptions(); + DescribeInstancesResponse resp = client.describeInstancesWithOptions(describeInstancesRequest, runtime); + DescribeInstancesResponseBody body = resp.getBody(); + ArrayList instanceInfos = new ArrayList<>();// 实例基础信息 + for (DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance instance : body.getInstances().getInstance()){ + + InstanceInfo instanceInfo = new InstanceInfo(); + instanceInfo.setInstanceId(instance.getInstanceId()); + instanceInfo.setIpAddress(String.valueOf(instance.getPublicIpAddress().getIpAddress())); + instanceInfo.setStatus(instance.getStatus()); + instanceInfos.add(instanceInfo); + } + log.info(Common.toJSONString(instanceInfos)); + } +} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/common/ScheduledThreadPool.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/common/ScheduledThreadPool.java deleted file mode 100644 index ab4c0a7..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/common/ScheduledThreadPool.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.muyu.web.common; - -import net.sf.jsqlparser.statement.select.KSQLWindow; - -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; - -public class ScheduledThreadPool { - /** - * 周期线程数 CPU*2+1 - */ - private static final ScheduledExecutorService scheduledThreadPool= Executors.newScheduledThreadPool( - Runtime.getRuntime().availableProcessors()*2+1 - ); - - public static ScheduledFuturesubmit(Runnable thread){ - // 参数分别是: 任务, 多久后开始执行, 每隔多久执行一次(周期),时间单位 - return submit(thread, 1); - } - - public static ScheduledFuturesubmit(Runnable thread,long period){ - return scheduledThreadPool.scheduleAtFixedRate(thread,0,period, TimeUnit.SECONDS); - } - - /** - * 关闭线程池 - */ - public static void shutdown(){ - scheduledThreadPool.shutdown(); - } -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/controller/testController.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/controller/testController.java deleted file mode 100644 index 6c5bd44..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/controller/testController.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.muyu.web.controller; - -import com.muyu.common.core.utils.uuid.UUID; -import org.eclipse.paho.client.mqttv3.*; - -public class testController { - public static void main(String[] args) { - String broker = "tcp://47.101.53.251:1883"; - String clientId = "SX-"+ UUID.randomUUID().toString(); - MqttClient client; - - try { - client = new MqttClient(broker, clientId); - MqttConnectOptions connectOptions = new MqttConnectOptions(); - connectOptions.setCleanSession(true); - System.out.println("Connect to broker:"+broker); - client.connect(connectOptions); - System.out.println("Connected"); - client.setCallback(new MqttCallback() { - @Override - public void connectionLost(Throwable throwable) { - System.out.println("连接丢失"); - } - - @Override - public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception { - System.out.println("消息到达:"+new String(mqttMessage.getPayload())+topic); - } - - @Override - public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { - - } - }); - } catch (MqttException e) { - throw new RuntimeException(e); - } - } - -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/MqttProperties.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/MqttProperties.java deleted file mode 100644 index 03e468c..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/MqttProperties.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.muyu.web.domain; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * mqtt配置类 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class MqttProperties { - /** - * 节点 - */ - private String broker; - - /** - * 主题 - */ - private String topic; - /** - * 用户名 - */ - private String userName; - - /** - * 密码 - */ - private String password; - - /** - * 节点ID - */ - private String clientId; - /** - * 上报级别 - */ - private int qos=0; - -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/ServerConfig.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/ServerConfig.java deleted file mode 100644 index f480f5d..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/ServerConfig.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.muyu.web.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.muyu.web.domain.model.ServerConfigModel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.function.Supplier; - -/** - * 服务器配置类 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName(value = "server_config") -public class ServerConfig { - - /** - * 主键 - */ - @TableId(value = "id",type = IdType.AUTO) - private Long id; - - - /** - * 主机地址 - */ - private String host; - - /** - * 端口号 - */ - private String port; - - /** - * 负载地址 - */ - private String url; - - /** - * 默认MOTT地址 - */ - private String defaultMqttAddr; - - /** - * 默认MQTT主题 - */ - private String defaultMqttTopic; - - /** - * 默认MOTT交付级别 - */ - private Integer defaultMqttQos; - - - public static ServerConfig modeBuild(ServerConfigModel serverConfigModel, Supplier idKey){ - return builder() - .id(idKey.get()) - .host(serverConfigModel.getHost()) - .port(serverConfigModel.getPort()) - .url(serverConfigModel.getUrl()) - .defaultMqttAddr(serverConfigModel.getDefaultMqttAddr()) - .defaultMqttTopic(serverConfigModel.getDefaultMqttTopic()) - .defaultMqttQos(serverConfigModel.getDefaultMqttQos()) - .build(); - - - - } -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/VehicleInfo.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/VehicleInfo.java deleted file mode 100644 index b717527..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/VehicleInfo.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.muyu.web.domain; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.function.Supplier; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@TableName("vehicle_info") -public class VehicleInfo { - - /** - * 主键 - */ - @TableId( - value = "id", - type = IdType.AUTO - ) - private Long id; - /** - * VIN - */ - private String vin; - /** - * VIN - */ - @TableField(value = "tenant_id", fill = FieldFill.INSERT) - private String tenantId; - - /** - * 报文模板 - */ - @TableField("message_template_id") - private Long messageTemplateId; - - /** - * 电池剩余电量 - */ - @TableField("remaining_battery") - private BigDecimal remainingBattery; - - /** - * 电池电量 - */ - @TableField("battery_level") - private BigDecimal batteryLevel; - - /** - * 上一次经度 - */ - @TableField("last_longitude") - private String lastLongitude; - - /** - * 上一次维度 - */ - @TableField("last_latitude") - private String lastLatitude; - - /** - * 总里程 - */ - @TableField("total_mileage") - private BigDecimal totalMileage; - - /** - * 创建时间 - */ - @TableField(value = "create_time", fill = FieldFill.INSERT) - private Date createTime; - - - public static VehicleInfo create(String vin, SuppliermessageTemplateId){ - return VehicleInfo.builder() - .vin(vin) - .messageTemplateId(messageTemplateId.get()) - .createTime(new Date()) - .totalMileage(BigDecimal.ZERO) - .build(); - } - - - -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/MqttServerModel.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/MqttServerModel.java deleted file mode 100644 index 8e56869..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/MqttServerModel.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.muyu.web.domain.model; - - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - Mqtt服务器模型 - */ - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class MqttServerModel { - private static final Logger log=LoggerFactory.getLogger(MqttServerModel.class); - - /** - * MQTT服务节点 - */ - private String broker; - - /** - * MQTT订阅主题 - */ - private String topic; - - public String getBroker(){ - log.info("broker:{}",broker); - return broker.contains("tcp://")?broker:"tcp://"+broker+":1883"; - } - - -} - diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/PositionModel.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/PositionModel.java deleted file mode 100644 index 7a9e920..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/PositionModel.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.muyu.web.domain.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: 位置模型 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionModel { - /** - * 经度 - */ - private String longitude; - - /** - * 维度 - */ - private String latitude; - - public static PositionModel strBuild (String positionStr) { - String[] split = positionStr.split(","); - return PositionModel.builder() - .longitude(split[0]) - .latitude(split[1]) - .build(); - } -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/ServerConfigModel.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/ServerConfigModel.java deleted file mode 100644 index 3418155..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/model/ServerConfigModel.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.muyu.web.domain.model; - -import com.muyu.web.domain.ServerConfig; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ServerConfigModel { - /** - * 主机地址 - */ - private String host; - - /** - * 端口号 - */ - private String port; - /** - * 负载地址 - */ - private String url; - - /** - * 默认MOTT地址 - */ - private String defaultMqttAddr; - - /** - * 默认MQTT主题 - */ - private String defaultMqttTopic; - - /** - * 默认MOTT交付级别 - */ - private Integer defaultMqttQos; - - public static ServerConfigModel serverConfigModelBuild(ServerConfig serverConfig){ - return builder() - .host(serverConfig.getHost().trim()) - .port(serverConfig.getPort()) - .url(serverConfig.getUrl().trim()) - .defaultMqttAddr(serverConfig.getDefaultMqttAddr().trim()) - .defaultMqttTopic(serverConfig.getDefaultMqttTopic().trim()) - .defaultMqttQos(serverConfig.getDefaultMqttQos()) - .build(); - } -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/req/VehicleConnectionReq.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/req/VehicleConnectionReq.java deleted file mode 100644 index 9368d2d..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/domain/req/VehicleConnectionReq.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.muyu.web.domain.req; - -import com.alibaba.fastjson.annotation.JSONField; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class VehicleConnectionReq { - - @JSONField(name = "vin") - private String vin; - - /** - * 时间戳 - */ - private String timestamp; - - - /** - * 用户名 - */ - @JSONField(name = "username") - private String userName; - - /** - * 随机字符串 - */ - private String nonce; -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/service/VehicleInstanceService.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/service/VehicleInstanceService.java deleted file mode 100644 index 0e4d702..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/service/VehicleInstanceService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.muyu.web.service; - -public interface VehicleInstanceService { - - - /** - * 车辆客户端初始化 - */ - void vehicleClientStart(String vin); - - -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java deleted file mode 100644 index 13a408c..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.muyu.web.service.impl; - -import com.muyu.common.core.utils.uuid.UUID; -import com.muyu.web.domain.req.VehicleConnectionReq; -import com.muyu.web.service.VehicleInstanceService; -import com.muyu.web.utils.MD5Util; -import lombok.extern.log4j.Log4j2; -import org.springframework.stereotype.Service; - -@Log4j2 -@Service -public class VehicleInstanceServiceImpl implements VehicleInstanceService { - @Override - public void vehicleClientStart(String vin) { - log.info("车辆{},开始上线",vin); - String timestamp = String.valueOf(System.currentTimeMillis()); - VehicleConnectionReq.builder() - .vin(vin) - .timestamp(timestamp) - .userName(MD5Util.encrypted(vin+timestamp)) - .nonce(MD5Util.encrypted(UUID.randomUUID().toString().replace("-",""))) - .build(); - // - } -} diff --git a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/utils/MD5Util.java b/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/utils/MD5Util.java deleted file mode 100644 index 7668abb..0000000 --- a/cloud-modules/cloud-modules-vehiclegateway/src/main/java/com/muyu/web/utils/MD5Util.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.muyu.web.utils; - -import lombok.extern.log4j.Log4j2; - -import java.nio.charset.StandardCharsets; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; - -@Log4j2 -public class MD5Util { - private static final Integer SALT_LENGTH = 12; - - /** - * 指定数组转化为16进制字符串 - */ - public static String byteToHexString(byte[]b){ - StringBuilder stringBuilder = new StringBuilder(); - for (byte value : b) { - String hex = Integer.toHexString(value & 0xFF); - if (hex.length()==1){ - hex='0'+hex; - } - stringBuilder.append(hex.toUpperCase()); - } - return stringBuilder.toString(); - } - - /** - * 获得加密后的口令 - */ - public static String encrypted(String str){ - try { - byte[]pwd=null; - SecureRandom random = new SecureRandom(); - byte[] salt = new byte[SALT_LENGTH]; - random.nextBytes(salt); - MessageDigest md=null; - md = MessageDigest.getInstance("MD5"); - md.update(salt); - md.update(str.getBytes(StandardCharsets.UTF_8)); - byte[] digest = md.digest(); - pwd=new byte[digest.length+SALT_LENGTH]; - System.arraycopy(salt,0,pwd,0,SALT_LENGTH); - System.arraycopy(digest,0,pwd,SALT_LENGTH,digest.length); - return byteToHexString(pwd); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException(e); - } - } - -} 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..b027b47 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: @@ -54,3 +54,5 @@ logging: level: com.muyu.system.mapper: DEBUG + + diff --git a/cloud-modules/pom.xml b/cloud-modules/pom.xml index b6f626b..64fc723 100644 --- a/cloud-modules/pom.xml +++ b/cloud-modules/pom.xml @@ -24,6 +24,7 @@ saas cloud-modules-vehiclegateway cloud-event + cloud-modules-template diff --git a/cloud-modules/saas/pom.xml b/cloud-modules/saas/pom.xml index 1085279..da04f8a 100644 --- a/cloud-modules/saas/pom.xml +++ b/cloud-modules/saas/pom.xml @@ -14,6 +14,7 @@ saas-common saas-server + saas-cache diff --git a/cloud-modules/saas/saas-cache/pom.xml b/cloud-modules/saas/saas-cache/pom.xml new file mode 100644 index 0000000..3359924 --- /dev/null +++ b/cloud-modules/saas/saas-cache/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + com.muyu + saas + 3.6.3 + + + saas-cache + + + 17 + 17 + UTF-8 + + + + saas-cache缓存模块 + + + + + + com.muyu.common + saas-common + 3.6.3 + + + + com.muyu.cache + cloud-common-cache + 3.6.3 + + + + + diff --git a/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/ElectronicFenceCacheService.java b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/ElectronicFenceCacheService.java new file mode 100644 index 0000000..85634fa --- /dev/null +++ b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/ElectronicFenceCacheService.java @@ -0,0 +1,32 @@ +package com.muyu.cache; + +import com.muyu.common.domain.database.ElectronicFence; +import org.springframework.stereotype.Component; + +/** + * @Author YuPing + * @Description 电子围栏缓存 + * @Version 1.0 + * @Data 2024-09-29 20:53:46 + */ +@Component +public class ElectronicFenceCacheService extends CacheAbsBasic{ + /** + * key前缀 + * @return + */ + @Override + public String keyPre() { + return "electronicFence"; + } + + /** + * 解码 + * @param key 编码key + * @return + */ + @Override + public String decode(String key) { + return key.replace(keyPre(), ""); + } +} diff --git a/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/ElectronicFenceGroupCacheService.java b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/ElectronicFenceGroupCacheService.java new file mode 100644 index 0000000..dcde553 --- /dev/null +++ b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/ElectronicFenceGroupCacheService.java @@ -0,0 +1,32 @@ +package com.muyu.cache; + +import com.muyu.common.domain.database.ElectronicFenceGroup; +import org.springframework.stereotype.Component; + +/** + * @Author YuPing + * @Description 围栏组缓存 + * @Version 1.0 + * @Data 2024-09-29 20:57:46 + */ +@Component +public class ElectronicFenceGroupCacheService extends CacheAbsBasic{ + /** + * key前缀 + * @return + */ + @Override + public String keyPre() { + return "electronicFenceGroup"; + } + + /** + * 解码 + * @param key 编码key + * @return + */ + @Override + public String decode(String key) { + return key.replace(keyPre(), ""); + } +} diff --git a/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/EnterpriseCacheService.java b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/EnterpriseCacheService.java new file mode 100644 index 0000000..b2b97a2 --- /dev/null +++ b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/EnterpriseCacheService.java @@ -0,0 +1,32 @@ +package com.muyu.cache; + +import com.muyu.common.domain.Enterprise; +import org.springframework.stereotype.Component; + +/** + * @author yuping + * @package com.muyu.cache + * @name EnterpriseCacheService + * @date 2024/9/29 20:21 企业缓存 + */ +@Component +public class EnterpriseCacheService extends CacheAbsBasic{ + /** + * 缓存前缀 + * @return + */ + @Override + public String keyPre() { + return "enterprise:info:"; + } + + /** + * 解码 + * @param key 编码key + * @return + */ + @Override + public String decode(String key) { + return key.replace(keyPre(), ""); + } +} diff --git a/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/SysCarFaultCacheService.java b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/SysCarFaultCacheService.java new file mode 100644 index 0000000..4ab25cc --- /dev/null +++ b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/SysCarFaultCacheService.java @@ -0,0 +1,32 @@ +package com.muyu.cache; + +import com.muyu.common.domain.SysCarFault; +import org.springframework.stereotype.Component; + +/** + * @Author YuPing + * @Description 故障缓存 + * @Version 1.0 + * @Data 2024-09-29 21:10:31 + */ +@Component +public class SysCarFaultCacheService extends CacheAbsBasic{ + /** + * 缓存前缀 + * @return + */ + @Override + public String keyPre() { + return "sysCarFault"; + } + + /** + * 解码 + * @param key 编码key + * @return + */ + @Override + public String decode(String key) { + return key.replace(keyPre(), ""); + } +} diff --git a/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/SysCarFaultMessageCacheService.java b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/SysCarFaultMessageCacheService.java new file mode 100644 index 0000000..d436372 --- /dev/null +++ b/cloud-modules/saas/saas-cache/src/main/java/com/muyu/cache/SysCarFaultMessageCacheService.java @@ -0,0 +1,23 @@ +package com.muyu.cache; + +import com.muyu.common.domain.SysCarFaultMessage; +import org.springframework.stereotype.Component; + +/** + * @Author YuPing + * @Description 站内信缓存 + * @Version 1.0 + * @Data 2024-09-29 21:13:19 + */ +@Component +public class SysCarFaultMessageCacheService extends CacheAbsBasic{ + @Override + public String keyPre() { + return "sysCarFaultMessage"; + } + + @Override + public String decode(String key) { + return key.replace(keyPre(), ""); + } +} diff --git a/cloud-modules/saas/saas-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/saas/saas-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..d94228b --- /dev/null +++ b/cloud-modules/saas/saas-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,5 @@ +com.muyu.cache.ElectronicFenceCacheService +com.muyu.cache.ElectronicFenceGroupCacheService +com.muyu.cache.EnterpriseCacheService +com.muyu.cache.SysCarFaultCacheService +com.muyu.cache.SysCarFaultMessageCacheService 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/SysCar.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCar.java index fd544eb..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,13 +9,19 @@ 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 @EqualsAndHashCode(callSuper = true) @TableName(value = "sys_car",autoResultMap = true) public class SysCar extends BaseEntity { - @TableId(value = "id",type = IdType.AUTO) private Long id; private String carVin; 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..7d0bff3 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,21 +3,25 @@ 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; /** - * @Author:liuxinyue + * 报文模版 + * @author liuxinyue * @Package:com.template.domain * @Project:cloud-server-c * @name:Template * @Date:2024/9/20 12:04 */ + @Data @AllArgsConstructor @NoArgsConstructor @@ -46,5 +50,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-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/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-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-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/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/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-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/pom.xml b/cloud-modules/saas/saas-server/pom.xml index 43fa0e2..5d7bfd0 100644 --- a/cloud-modules/saas/saas-server/pom.xml +++ b/cloud-modules/saas/saas-server/pom.xml @@ -24,6 +24,12 @@ + + com.muyu + saas-cache + 3.6.3 + + com.muyu.common saas-common 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..8fa9688 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,11 +5,13 @@ 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 */ + @SpringBootApplication @EnableMyFeignClients public class SaasApplication { 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..10411a0 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 @@ -24,7 +24,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 c087753..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 @@ -10,28 +10,24 @@ 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; import java.util.concurrent.ExecutionException; /** - * 报文模版管理 - * @author liuxinyue + * @Author:liuxinyue * @Package:com.template.controller * @Project:cloud-server-c * @name:TemplateController * @Date:2024/9/20 12:12 */ +@Log4j2 @RestController @RequestMapping("/template") @AllArgsConstructor @Tag(name = "报文模版管理",description = "报文模版管理") -@Log4j2 public class TemplateController { @Autowired @@ -61,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/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/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/mapper/MessageTemplateTypeMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/MessageTemplateTypeMapper.java index 5fcd085..d2f6ebc 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 @@ -14,6 +15,4 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface MessageTemplateTypeMapper extends BaseMapper { - - } 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 d57d045..be0dcbd 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); 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 f9c0228..cb4fd05 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 { 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..99c1000 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 @@ -2,6 +2,7 @@ package com.muyu.server.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.cache.ElectronicFenceGroupCacheService; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.domain.database.ElectronicFenceGroup; import com.muyu.common.domain.database.FenceGroupMid; @@ -19,7 +20,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 @@ -38,6 +40,9 @@ public class ElectronicFenceGroupServiceImpl extends ServiceImpl selectGroupList(ElectronicFenceGroupListReq req) { @@ -55,6 +60,10 @@ public class ElectronicFenceGroupServiceImpl extends ServiceImpl list = this.list(queryWrapper); + list.forEach(electronicFenceGroup -> { + electronicFenceGroupCacheService.put(electronicFenceGroup.getId().toString(),electronicFenceGroup); + }); + return list; } @@ -77,6 +86,8 @@ public class ElectronicFenceGroupServiceImpl extends ServiceImpl fenceselectList(ElectroicFenceListReq electroicFenceListReq) { @@ -38,40 +43,44 @@ public class ElectronicFenceServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like( - StringUtils.isNotNull(electroicFenceListReq.getName()),ElectronicFence::getName, electroicFenceListReq.getName() + StringUtils.isNotEmpty(electroicFenceListReq.getName()),ElectronicFence::getName, electroicFenceListReq.getName() + ); + queryWrapper.eq( + StringUtils.isNotEmpty(electroicFenceListReq.getFenceType()),ElectronicFence::getFenceType, electroicFenceListReq.getFenceType() ); - queryWrapper.eq( - StringUtils.isNotEmpty(electroicFenceListReq.getFenceType()),ElectronicFence::getFenceType, electroicFenceListReq.getFenceType() - ); queryWrapper.eq( StringUtils.isNotEmpty(electroicFenceListReq.getStatus()),ElectronicFence::getStatus, electroicFenceListReq.getStatus() ); List list = this.list(queryWrapper); + list.forEach(electronicFence -> { + electronicFenceCacheService.put(electronicFence.getId().toString(),electronicFence); + }); + return list.stream().map(ElectronicFence::bullerResp).toList(); } @Override public void AddFence(ElectroicFenceAddReq electroicFenceAddReq) { - - electronicFenceMapper.insert(ElectronicFence.buildElectroicAdd(electroicFenceAddReq)); - - - - } @Override public ElectronicFence findElectronicByid(Long id) { ElectronicFence electronicFence = electronicFenceMapper.selectById(id); + + electronicFenceCacheService.put(id.toString(),electronicFence); + return electronicFence; } @Override public void delElectronById(Long id) { + + electronicFenceCacheService.remove(id.toString()); + electronicFenceMapper.deleteById(id); } @@ -118,6 +127,10 @@ public class ElectronicFenceServiceImpl extends ServiceImpl list = this.list(wrapper); + list.forEach(electronicFence -> { + electronicFenceCacheService.put(electronicFence.getId().toString(),electronicFence); + }); + return list.stream().map(ElectronicFence::bullerResp).toList(); } @@ -129,6 +142,8 @@ public class ElectronicFenceServiceImpl extends ServiceImpl fenceList = this.list(queryWrapper); + electronicFenceCacheService.remove(name); + if (fenceList.size()>0){ throw new RuntimeException("电子围栏名不能重复"); } @@ -141,6 +156,9 @@ public class ElectronicFenceServiceImpl extends ServiceImpl electronicFenceList = this.list(Wrappers.lambdaQuery().in(ElectronicFence::getId, ids)); + electronicFenceList.forEach(electronicFence -> { + electronicFenceCacheService.put(electronicFence.getId().toString(),electronicFence); + }); return electronicFenceList.stream().map(ElectronicFence::bullerResp).toList(); } 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..2749609 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 @@ -1,6 +1,7 @@ package com.muyu.server.service.impl; import cn.hutool.core.map.MapUtil; +import com.muyu.cache.EnterpriseCacheService; import com.muyu.common.domain.Enterprise; import com.muyu.common.util.PageUtils; import com.muyu.server.mapper.EnterpriseDao; @@ -11,9 +12,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 @@ -22,6 +24,9 @@ public class EnterpriseServiceImpl implements EnterpriseService { @Autowired private EnterpriseDao enterpriseDao; + @Autowired + private EnterpriseCacheService enterpriseCacheService; + /** * 分页查询企业运营信息 * @param param @@ -49,6 +54,9 @@ public class EnterpriseServiceImpl implements EnterpriseService { @Override public int insert(Enterprise enterprise) { int rows = enterpriseDao.insert(enterprise); + if (rows > 0){ + enterpriseCacheService.put(String.valueOf(enterprise.getEnterpriseId()), enterprise); + } return rows; } @@ -61,6 +69,12 @@ public class EnterpriseServiceImpl implements EnterpriseService { @Override public HashMap searchById(int enterpriseId) { HashMap map = enterpriseDao.searchById(enterpriseId); + if (map != null){ + Enterprise enterprise = enterpriseCacheService.get(String.valueOf(enterpriseId)); + if (enterprise != null){ + map.put("enterprise", enterprise); + } + } return map; } @@ -73,6 +87,9 @@ public class EnterpriseServiceImpl implements EnterpriseService { @Override public int updateEnterprise(Enterprise enterprise) { int rows = enterpriseDao.updateEnterprise(enterprise); + if (rows > 0){ + enterpriseCacheService.put(String.valueOf(enterprise.getEnterpriseId()), enterprise); + } return rows; } @@ -90,6 +107,7 @@ public class EnterpriseServiceImpl implements EnterpriseService { Integer[] idList = Arrays.asList(ids).toArray(new Integer[0]); int rows = enterpriseDao.deleteByIds(idList); + enterpriseCacheService.remove(String.valueOf(idList)); return rows; } 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..2c16be2 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,13 +6,11 @@ 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 + * 报文模版类型 服务层处理 + * @author liuxinyue * @Package:com.sheep.message.service.impl - * @Project:cloud-server-c * @name:MessageTemplateTypeServiceImpl * @Date:2024/9/19 14:34 */ @@ -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/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..6f96b2d 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 @@ -3,15 +3,17 @@ package com.muyu.server.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.cache.SysCarFaultMessageCacheService; import com.muyu.common.domain.SysCarFaultMessage; import com.muyu.server.mapper.SysCarFaultMessageMapper; import com.muyu.server.service.SysCarFaultMessageService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** - * 站内信 业务层 + * 站内信 服务层处理 * @author 袁子龙 * @package: com.muyu.breakdown.service.impl * @name: SysCarFaultMessageServiceImpl @@ -20,6 +22,11 @@ import java.util.List; @Service public class SysCarFaultMessageServiceImpl extends ServiceImpl implements SysCarFaultMessageService { + + @Autowired + private SysCarFaultMessageCacheService sysCarFaultMessageCacheService; + + /** * 查询故障消息列表 * @param sysCarFaultMessage @@ -28,7 +35,14 @@ public class SysCarFaultMessageServiceImpl extends ServiceImpl selectSysCarFaultMessageList(SysCarFaultMessage sysCarFaultMessage) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - return baseMapper.selectList(wrapper); + + List list = baseMapper.selectList(wrapper); + + list.forEach(item->{ + sysCarFaultMessageCacheService.put(item.getContent(),item); + }); + + return list; } /** @@ -37,7 +51,14 @@ public class SysCarFaultMessageServiceImpl extends ServiceImpl listStatusOnt( ) { - return baseMapper.listStatusOnt(); + + List list = baseMapper.listStatusOnt(); + + list.forEach(item->{ + sysCarFaultMessageCacheService.put(item.getContent(),item); + }); + + return list; } /** @@ -46,6 +67,13 @@ public class SysCarFaultMessageServiceImpl extends ServiceImpl listStatusTwo( ) { - return baseMapper.listStatusTwo(); + + List list = baseMapper.listStatusTwo(); + + list.forEach(item->{ + sysCarFaultMessageCacheService.put(item.getContent(),item); + }); + + return list; } } 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..f7eb1af 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 @@ -2,6 +2,7 @@ package com.muyu.server.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.cache.SysCarFaultCacheService; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.domain.SysCarFault; import com.muyu.server.mapper.SysCarFaultMapper; @@ -13,7 +14,7 @@ import org.springframework.util.Assert; import java.util.List; /** - * 车辆故障码 业务层 + * 车辆故障码 服务层处理 * @author 袁子龙 * @package: com.muyu.breakdown.service.impl * @name: SysCarFaultServiceImpl @@ -27,6 +28,9 @@ public class SysCarFaultServiceImpl @Autowired private SysCarFaultMapper mapper; + @Autowired + private SysCarFaultCacheService sysCarFaultCacheService; + /** * 精确查询车辆故障管理 * @@ -39,6 +43,9 @@ public class SysCarFaultServiceImpl LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); Assert.notNull(id, "id不可为空"); queryWrapper.eq(SysCarFault::getId, id); + + sysCarFaultCacheService.put(id.toString(),this.getOne(queryWrapper)); + return this.getOne(queryWrapper); } @@ -70,7 +77,14 @@ public class SysCarFaultServiceImpl if (sysCarFault.getCarTypeId()!=null){ queryWrapper.eq(SysCarFault::getCarTypeId,sysCarFault.getTypeId()); } - return this.list(queryWrapper); + + List list = this.list(queryWrapper); + + list.forEach(sysCarFault1 -> { + sysCarFaultCacheService.put(sysCarFault1.getId().toString(),sysCarFault1); + }); + + return list; } @@ -83,6 +97,9 @@ public class SysCarFaultServiceImpl @Override public SysCarFault selectFaultByFaultCode(String faultCode) { + + sysCarFaultCacheService.put(faultCode,mapper.selectFaultByFaultCode(faultCode)); + return mapper.selectFaultByFaultCode(faultCode); } 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 206099b..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 @@ -1,6 +1,5 @@ package com.muyu.server.service.impl; -import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.domain.SysCar; @@ -13,8 +12,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; - -@DS("lizzDB") +/** + * 车辆管理 服务层处理 + * @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 @@ -53,8 +57,7 @@ public class SysCarServiceImpl extends ServiceImpl impleme public SysCar findCarByVin(String carVin) { QueryWrapper sysCarQueryWrapper = new QueryWrapper<>(); sysCarQueryWrapper.eq("car_vin", carVin); - List sysCars = sysCarMapper.selectList(sysCarQueryWrapper); - return sysCars.isEmpty() ? null : sysCars.get(0); + SysCar sysCar = sysCarMapper.selectOne(sysCarQueryWrapper); + return sysCar; } - } 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/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: