diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/Aliyun/instance/DeleteSample.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/Aliyun/instance/DeleteSample.java index eb1f35b..2f00c00 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/Aliyun/instance/DeleteSample.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/Aliyun/instance/DeleteSample.java @@ -7,20 +7,21 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-10-07-21:51 * @ Version:1.0 * @ Description:删除实例方法 - * @author Lenovo */ @Log4j2 @Component public class DeleteSample implements DisposableBean { @Autowired private AliYunEcsService aliYunEcsService; + @Override - public void destroy() { + public void destroy() { try { log.info("===开始执行删除实例方法"); Thread.sleep(10000); diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/Aliyun/instance/Sample.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/Aliyun/instance/Sample.java index 9e796ac..fcb2222 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/Aliyun/instance/Sample.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/Aliyun/instance/Sample.java @@ -21,7 +21,7 @@ import java.util.List; */ @Log4j2 @Component -public class Sample implements ApplicationRunner{ +public class Sample implements ApplicationRunner { @Autowired private AliYunEcsService aliYunEcsService; @@ -46,7 +46,7 @@ public class Sample implements ApplicationRunner{ throw new RuntimeException(e); } List aliInstances = aliYunEcsService.selectInstance(list); - log.info("================查询实例信息成功:{}",aliInstances); + log.info("================查询实例信息成功:{}", aliInstances); } // @Override diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/CarGatewayApplication.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/CarGatewayApplication.java index f360231..a7a7431 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/CarGatewayApplication.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/CarGatewayApplication.java @@ -7,12 +7,12 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-17-15:00 * @ Version:1.0 * @ Description:故障启动类 - * @author Lenovo */ @Log4j2 @EnableCustomConfig diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/config/RabbitmqConfig.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/config/RabbitmqConfig.java index 25435f9..b05e847 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/config/RabbitmqConfig.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/config/RabbitmqConfig.java @@ -19,29 +19,49 @@ import org.springframework.context.annotation.Configuration; @Log4j2 @Configuration public class RabbitmqConfig { - // 日志 + /** + * 日志 + */ private static final Logger logger = LoggerFactory.getLogger(RabbitmqConfig.class); - /** - * 队列 - */ - public static final String QUEUE_INFORM_EMAIL = "queue_inform_email"; - /** - * 队列 - */ - public static final String QUEUE_INFORM_SMS = "queue_inform_sms"; /** * 交换机 */ public static final String EXCHANGE_TOPICS_INFORM = "exchange_topics_inform"; + /** - * 路由key + * 队列 车辆上线给事件系统发送vin + */ + public static final String QUEUE_INFORM_EMAIL = "queue_inform_email"; + /** + * 队列 协议解析 + */ + public static final String QUEUE_INFORM_SMS = "queue_inform_sms"; + /** + * 队列 车辆下线给事件系统发送vin + */ + public static final String QUEUE_INFORM_SEND = "queue_inform_send"; + /** + * 队列 saas系统 + */ + public static final String QUEUE_INFORM_SAAS = "queue_inform_saas"; + /** + * 路由key 车辆上线给事件系统 */ public static final String ROUTINGKEY_EMAIL = "inform.#.email.#"; /** - * 路由key + * 路由key 协议解析 */ public static final String ROUTINGKEY_SMS = "inform.#.sms.#"; + /** + * 路由key 车辆下线给事件系统 + */ + public static final String ROUTINGKEY_SEND = "inform.#.send.#"; + /** + * 路由key saas系统 + */ + public static final String ROUTINGKEY_SAAS = "inform.#.saas.#"; + /** * 声明交换机,做持久化 @@ -58,7 +78,9 @@ public class RabbitmqConfig { } } - // 声明QUEUE_INFORM_EMAIL队列 + /** + * 声明QUEUE_INFORM_EMAIL 队列 + */ @Bean(QUEUE_INFORM_EMAIL) public Queue queueInformEmail() { try { @@ -71,7 +93,9 @@ public class RabbitmqConfig { } } - // 声明QUEUE_INFORM_SMS队列 + /** + * 声明QUEUE_INFORM_SMS 队列 + */ @Bean(QUEUE_INFORM_SMS) public Queue queueInformSms() { try { @@ -84,17 +108,82 @@ public class RabbitmqConfig { } } - //ROUTINGKEY_EMAIL队列绑定交换机,指定routingKey + /** + * QUEUE_INFORM_SEND 队列 + */ + @Bean(QUEUE_INFORM_SEND) + public Queue queueInformSend() { + try { + Queue queue = new Queue(QUEUE_INFORM_SEND); + log.info("创建的队列为: {}", QUEUE_INFORM_SEND); + return queue; + } catch (Exception e) { + log.error("创建该: {} 队列失败", QUEUE_INFORM_SEND, e); + throw e; + } + } + + /** + * QUEUE_INFORM_SAAS 队列 + */ + @Bean(QUEUE_INFORM_SAAS) + public Queue queueInformSaas() { + try { + Queue queue = new Queue(QUEUE_INFORM_SAAS); + log.info("创建的队列为: {}", QUEUE_INFORM_SAAS); + return queue; + } catch (Exception e) { + log.error("创建该: {} 队列失败", QUEUE_INFORM_SAAS, e); + throw e; + } + } + + + /** + * QUEUE_INFORM_EMAIL队列绑定交换机,指定routingKey ROUTINGKEY_EMAIL + * + * @param queue QUEUE_INFORM_EMAIL + * @param exchange EXCHANGE_TOPICS_INFORM + */ @Bean public Binding bindingQueueInformEmail(@Qualifier(QUEUE_INFORM_EMAIL) Queue queue, @Qualifier(EXCHANGE_TOPICS_INFORM) Exchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(ROUTINGKEY_EMAIL).noargs(); } - //ROUTINGKEY_SMS队列绑定交换机,指定routingKey + /** + * QUEUE_INFORM_SMS 队列绑定交换机,指定routingKey ROUTINGKEY_SMS + * + * @param queue QUEUE_INFORM_SMS + * @param exchange EXCHANGE_TOPICS_INFORM + */ @Bean public Binding bindingRoutingKeySms(@Qualifier(QUEUE_INFORM_SMS) Queue queue, @Qualifier(EXCHANGE_TOPICS_INFORM) Exchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(ROUTINGKEY_SMS).noargs(); } + + /** + * QUEUE_INFORM_SEND队列绑定交换机,指定routingKey ROUTINGKEY_SEND + * + * @param queue QUEUE_INFORM_SEND + * @param exchange EXCHANGE_TOPICS_INFORM + */ + @Bean + public Binding bindingRoutingKeySend(@Qualifier(QUEUE_INFORM_SEND) Queue queue, + @Qualifier(EXCHANGE_TOPICS_INFORM) Exchange exchange) { + return BindingBuilder.bind(queue).to(exchange).with(ROUTINGKEY_SEND).noargs(); + } + + /** + * QUEUE_INFORM_SAAS队列绑定交换机,指定routingKey ROUTINGKEY_SAAS + * + * @param queue QUEUE_INFORM_SAAS + * @param exchange EXCHANGE_TOPICS_INFORM + */ + @Bean + public Binding bindingRoutingKeySaas(@Qualifier(QUEUE_INFORM_SAAS) Queue queue, + @Qualifier(EXCHANGE_TOPICS_INFORM) Exchange exchange) { + return BindingBuilder.bind(queue).to(exchange).with(ROUTINGKEY_SAAS).noargs(); + } } diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/controller/CarOneClickOperationController.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/controller/CarOneClickOperationController.java index 822008f..b954970 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/controller/CarOneClickOperationController.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/controller/CarOneClickOperationController.java @@ -13,29 +13,30 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-26-20:14 * @ Version:1.0 * @ Description:车辆 - * @author Lenovo */ @Log4j2 @RestController @RequestMapping("/vehicleGateway") @Tag(name = "连接车辆控制层") public class CarOneClickOperationController { - @Autowired + @Autowired private CarOneClickOperationService carOneClickOperationService; /** * 获取http连接的参数 + * * @param vehicleConnectionReq * @return */ @PostMapping("/receiveMsg/connect") - public Result receiveMsg(@RequestBody VehicleConnectionReq vehicleConnectionReq){ - log.info(">"+vehicleConnectionReq); + public Result receiveMsg(@RequestBody VehicleConnectionReq vehicleConnectionReq) { + log.info("======================" + vehicleConnectionReq); return carOneClickOperationService.getConnect(vehicleConnectionReq); } diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/AliInstance.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/AliInstance.java index 4c61dcc..e63f28f 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/AliInstance.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/AliInstance.java @@ -6,12 +6,12 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-30-9:33 * @ Version:1.0 * @ Description: - * @author Lenovo */ @Data @Builder @@ -19,7 +19,7 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class AliInstance { /** - *实例ID + * 实例ID */ private String instanceId; /** diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/AliServerConfig.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/AliServerConfig.java index a34b3eb..2ab8ae6 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/AliServerConfig.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/AliServerConfig.java @@ -5,12 +5,12 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-28-16:37 * @ Version:1.0 * @ Description:创建实例的配置 - * @author Lenovo */ @Data @AllArgsConstructor diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/ConnectWeight.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/ConnectWeight.java index c8a7389..0268317 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/ConnectWeight.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/ConnectWeight.java @@ -5,12 +5,12 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-10-04-15:16 * @ Version:1.0 * @ Description:车辆服务器 - * @author Lenovo */ @Data @AllArgsConstructor diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/HttpStatus.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/HttpStatus.java deleted file mode 100644 index ef5db8d..0000000 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/HttpStatus.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.muyu.car.gateway.domain; - -/** - * 返回状态码 - * - * @author ruoyi - */ -public class HttpStatus { - /** - * 操作成功 - */ - public static final int SUCCESS = 200; - - /** - * 对象创建成功 - */ - public static final int CREATED = 201; - - /** - * 请求已经被接受 - */ - public static final int ACCEPTED = 202; - - /** - * 操作已经执行成功,但是没有返回数据 - */ - public static final int NO_CONTENT = 204; - - /** - * 资源已被移除 - */ - public static final int MOVED_PERM = 301; - - /** - * 重定向 - */ - public static final int SEE_OTHER = 303; - - /** - * 资源没有被修改 - */ - public static final int NOT_MODIFIED = 304; - - /** - * 参数列表错误(缺少,格式不匹配) - */ - public static final int BAD_REQUEST = 400; - - /** - * 未授权 - */ - public static final int UNAUTHORIZED = 401; - - /** - * 访问受限,授权过期 - */ - public static final int FORBIDDEN = 403; - - /** - * 资源,服务未找到 - */ - public static final int NOT_FOUND = 404; - - /** - * 不允许的http方法 - */ - public static final int BAD_METHOD = 405; - - /** - * 资源冲突,或者资源被锁 - */ - public static final int CONFLICT = 409; - - /** - * 不支持的数据,媒体类型 - */ - public static final int UNSUPPORTED_TYPE = 415; - - /** - * 系统内部错误 - */ - public static final int ERROR = 500; - - /** - * 接口未实现 - */ - public static final int NOT_IMPLEMENTED = 501; - - /** - * 系统警告消息 - */ - public static final int WARN = 601; -} diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/ServerConfig.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/ServerConfig.java index 38b34de..0825df7 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/ServerConfig.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/ServerConfig.java @@ -9,23 +9,23 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-27-20:56 * @ Version:1.0 * @ Description:服务器配置 - * @author Lenovo */ @Data @Builder @NoArgsConstructor @AllArgsConstructor -@TableName(value="server_config") +@TableName(value = "server_config") public class ServerConfig { /** * 主键 */ - @TableId(value = "id",type = IdType.AUTO) + @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 租户id diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/VehicleConnection.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/VehicleConnection.java index 6030dd8..7a88961 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/VehicleConnection.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/VehicleConnection.java @@ -5,12 +5,12 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-10-06-11:05 * @ Version:1.0 * @ Description:车辆鉴权的参数 - * @author Lenovo */ @Data @AllArgsConstructor diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/VinIp.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/VinIp.java index e2ad14d..d8b9751 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/VinIp.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/VinIp.java @@ -5,12 +5,12 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-10-03-10:10 * @ Version:1.0 * @ Description:车辆vin - * @author Lenovo */ @Data @AllArgsConstructor diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/model/MqttServerModel.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/model/MqttServerModel.java index c76292d..39a74d5 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/model/MqttServerModel.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/model/MqttServerModel.java @@ -6,12 +6,12 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-10-03-10:12 * @ Version:1.0 * @ Description:Mqtt服务模型 - * @author Lenovo */ @Data @Builder diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/req/VehicleConnectionReq.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/req/VehicleConnectionReq.java index 842fa2d..31b2bf7 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/req/VehicleConnectionReq.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/req/VehicleConnectionReq.java @@ -6,12 +6,12 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-10-03-10:04 * @ Version:1.0 * @ Description:车辆获取连接地址 - * @author Lenovo */ @Data @Builder diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/resp/AliServerConfig.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/resp/AliServerConfig.java index 51a70fb..8c856af 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/resp/AliServerConfig.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/domain/resp/AliServerConfig.java @@ -6,12 +6,12 @@ import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-26-15:53 * @ Version:1.0 * @ Description:调用Ali服务器配置实体类 - * @author Lenovo */ @Data @SuperBuilder @@ -21,7 +21,7 @@ public class AliServerConfig { /** * 主键 */ - private Long id; + private Long id; /** * 地域id (实例所属的地域ID) */ @@ -29,7 +29,7 @@ public class AliServerConfig { /** * 镜像id */ - private String imageId; + private String imageId; /** * 实例规格 (实例的资源规格) */ diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/mapper/CarOneClickOperationMapper.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/mapper/CarOneClickOperationMapper.java index 66e0ca3..b005964 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/mapper/CarOneClickOperationMapper.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/mapper/CarOneClickOperationMapper.java @@ -6,12 +6,12 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-26-20:15 * @ Version:1.0 * @ Description:车辆一键操作持久层 - * @author Lenovo */ @Mapper public interface CarOneClickOperationMapper { diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/service/CarOneClickOperationService.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/service/CarOneClickOperationService.java index 3f20de1..140b8fa 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/service/CarOneClickOperationService.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/service/CarOneClickOperationService.java @@ -5,17 +5,18 @@ import com.muyu.car.gateway.domain.req.VehicleConnectionReq; import com.muyu.common.core.domain.Result; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-26-20:15 * @ Version:1.0 * @ Description:车辆一键操作业务层 - * @author Lenovo */ public interface CarOneClickOperationService { /** * 获取连接 + * * @param vehicleConnectionReq 车辆连接请求参数 * @return */ diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/service/Impl/CarOneClickOperationServiceImpl.java b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/service/Impl/CarOneClickOperationServiceImpl.java index 704cb9f..8c279e5 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/service/Impl/CarOneClickOperationServiceImpl.java +++ b/cloud-modules/cloud-modules-car-gateway/src/main/java/com/muyu/car/gateway/service/Impl/CarOneClickOperationServiceImpl.java @@ -12,7 +12,6 @@ import com.muyu.common.redis.service.RedisService; import lombok.extern.log4j.Log4j2; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; @@ -22,12 +21,12 @@ import static com.muyu.car.gateway.config.RabbitmqConfig.EXCHANGE_TOPICS_INFORM; import static com.muyu.car.gateway.config.RabbitmqConfig.ROUTINGKEY_SMS; /** + * @author Lenovo * @ Tool:IntelliJ IDEA * @ Author:CHX * @ Date:2024-09-26-20:16 * @ Version:1.0 * @ Description:车辆一键操作业务实现层 - * @author Lenovo */ @Log4j2 @Service @@ -44,16 +43,13 @@ public class CarOneClickOperationServiceImpl implements CarOneClickOperationServ /** * 获取连接信息 + * * @param vehicleConnectionReq 车辆连接请求参数 * @return */ @Override public Result getConnect(VehicleConnectionReq vehicleConnectionReq) { - log.info("车辆连接请求:{}",vehicleConnectionReq.toString()); - -// // 使用交换机发送消息 给事件系统发 -// rabbitTemplate.convertAndSend("exchange_topics_inform","inform.#.email.#",vehicleConnectionReq.getVehicleVin()); -// log.info("发送消息成功:{}",vehicleConnectionReq.getVehicleVin()); + log.info("车辆连接请求:{}", vehicleConnectionReq.toString()); VehicleConnection vehicleConnection = new VehicleConnection(); //车辆vin @@ -61,23 +57,22 @@ public class CarOneClickOperationServiceImpl implements CarOneClickOperationServ //用户名 vehicleConnection.setUsername(vehicleConnectionReq.getUsername()); //密码(vin+时间戳+随机数) - vehicleConnection.setPassword(vehicleConnectionReq.getVehicleVin()+vehicleConnectionReq.getTimestamp()+vehicleConnectionReq.getNonce()); + vehicleConnection.setPassword(vehicleConnectionReq.getVehicleVin() + vehicleConnectionReq.getTimestamp() + vehicleConnectionReq.getNonce()); //查询有没有这辆车的vin码 List selectVehicle = carOneClickOperationMapper.selectByVehicleVin(vehicleConnectionReq.getVehicleVin()); - if(selectVehicle.isEmpty()){ + if (selectVehicle.isEmpty()) { //添加连接信息 carOneClickOperationMapper.addConnect(vehicleConnection); log.info("车辆上线成功"); - }else { + } else { throw new RuntimeException("车辆无法重复上线"); } //先判断vin码 - HashOperations hashOps = redisTemplate.opsForHash(); - String vinIp = hashOps.get("oneVinIp", vehicleConnectionReq.getVehicleVin()); - if(vinIp!=null){ - throw new RuntimeException("车辆绑定ip失败,已经存在"); + if (redisService.hasKey(vehicleConnectionReq.getVehicleVin())) { + log.error("=============车辆:{}已经绑定过了", vehicleConnectionReq.getVehicleVin()); + throw new RuntimeException("=============车辆已经绑定过了"); } MqttProperties mqttProperties = new MqttProperties(); List vehicleVin = selectByVehicleVin(vehicleConnectionReq.getVehicleVin()); @@ -89,43 +84,44 @@ public class CarOneClickOperationServiceImpl implements CarOneClickOperationServ mqttProperties.setTopic("vehicle"); mqttProperties.setQos(0); //判断redis有没有count键 - if(redisTemplate.hasKey("oneCount")){ + if (redisTemplate.hasKey("oneCount")) { //取出count Integer count = Integer.valueOf(redisTemplate.opsForValue().get("oneCount")); - if(count == 1){ - redisTemplate.opsForValue().set("oneCount",String.valueOf(0)); - }else { - redisTemplate.opsForValue().set("oneCount",String.valueOf(count+1)); + if (count == 1) { + redisTemplate.opsForValue().set("oneCount", String.valueOf(0)); + } else { + redisTemplate.opsForValue().set("oneCount", String.valueOf(count + 1)); } //根据游标count获取服务IP // String ip = redisTemplate.opsForList().index("ipList", count); Object ipList = redisService.redisTemplate.opsForList().index("oneIpList", count); - log.info("=========================oneIpList:"+ipList); + log.info("=========================oneIpList:" + ipList); //关联车辆和服务 - this.addIpAddress(new VinIp(vehicleConnectionReq.getVehicleVin(),ipList.toString())); + this.addIpAddress(new VinIp(vehicleConnectionReq.getVehicleVin(), ipList.toString())); //响应信息 - log.info("车辆:{}",vehicleConnectionReq.getVehicleVin()+"绑定成功:{}",ipList); - mqttProperties.setBroker("tcp://"+ipList+":1883"); + log.info("车辆:{}", vehicleConnectionReq.getVehicleVin() + "绑定成功:{}", ipList); + mqttProperties.setBroker("tcp://" + ipList + ":1883"); // 使用交换机发送消息 - rabbitTemplate.convertAndSend(EXCHANGE_TOPICS_INFORM,ROUTINGKEY_SMS,mqttProperties); - log.info("============================发送消息成功:{}",mqttProperties); - return Result.success(new MqttServerModel("tcp://"+ipList+":1883","vehicle")); - }else { - redisTemplate.opsForValue().set("oneCount",String.valueOf(0)); + rabbitTemplate.convertAndSend(EXCHANGE_TOPICS_INFORM, ROUTINGKEY_SMS, mqttProperties); + log.info("============================发送消息成功:{}", mqttProperties); + return Result.success(new MqttServerModel("tcp://" + ipList + ":1883", "vehicle")); + } else { + redisTemplate.opsForValue().set("oneCount", String.valueOf(0)); //根据游标count获取服务器Ip Object ipList = redisService.redisTemplate.opsForList().index("oneIpList", 0); //关联车辆和服务 - this.addIpAddress(new VinIp(vehicleConnectionReq.getVehicleVin(),ipList.toString())); + this.addIpAddress(new VinIp(vehicleConnectionReq.getVehicleVin(), ipList.toString())); //响应信息 - log.info("车辆:{}",vehicleConnectionReq.getVehicleVin(),"与:{}绑定成功",ipList); - mqttProperties.setBroker("tcp://"+ipList+":1883"); + log.info("车辆:{}", vehicleConnectionReq.getVehicleVin(), "与:{}绑定成功", ipList); + mqttProperties.setBroker("tcp://" + ipList + ":1883"); // 使用交换机发送消息 - rabbitTemplate.convertAndSend(EXCHANGE_TOPICS_INFORM,ROUTINGKEY_SMS,mqttProperties); - log.info("============================发送消息成功:{}",mqttProperties); - return Result.success(new MqttServerModel("tcp://"+ipList+":1883","vehicle")); + rabbitTemplate.convertAndSend(EXCHANGE_TOPICS_INFORM, ROUTINGKEY_SMS, mqttProperties); + log.info("============================发送消息成功:{}", mqttProperties); + return Result.success(new MqttServerModel("tcp://" + ipList + ":1883", "vehicle")); } } + /** * 添加车辆绑定IP地址存入redis中 */ @@ -133,15 +129,16 @@ public class CarOneClickOperationServiceImpl implements CarOneClickOperationServ if (vinIp == null || vinIp.getVin() == null || vinIp.getVin().isEmpty() || vinIp.getIp() == null || vinIp.getIp().isEmpty()) { throw new IllegalArgumentException("vin 或 ip 不能为空或无效"); } - redisTemplate.opsForHash().put("oneVinIp", vinIp.getVin(), vinIp.getIp()); + redisService.setCacheObject(vinIp.getVin(), vinIp.getIp()); } /** * 查询车辆绑定的服务器信息 + * * @param vehicleVin 车辆vin码集合 * @return */ - public List selectByVehicleVin(String vehicleVin) { + public List selectByVehicleVin(String vehicleVin) { return carOneClickOperationMapper.getMqttServerModel(vehicleVin); } } diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-car-gateway/src/main/resources/bootstrap.yml index c11a18d..5acfde6 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-car-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 12900 + port: 10099 # nacos线上地址 nacos: @@ -27,10 +27,10 @@ spring: publisher-returns: true #确认消息已发送到队列(Queue) amqp: deserialization: - trust: - all: true + trust: + all: true main: - allow-bean-definition-overriding: true + allow-bean-definition-overriding: true application: # 应用名称 diff --git a/cloud-modules/cloud-modules-car-gateway/src/main/resources/mapper/CarOneClickOperationMapper.xml b/cloud-modules/cloud-modules-car-gateway/src/main/resources/mapper/CarOneClickOperationMapper.xml index b40427b..782862d 100644 --- a/cloud-modules/cloud-modules-car-gateway/src/main/resources/mapper/CarOneClickOperationMapper.xml +++ b/cloud-modules/cloud-modules-car-gateway/src/main/resources/mapper/CarOneClickOperationMapper.xml @@ -1,26 +1,26 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> insert into car_one_click_operation - (vehicle_vin,user_name,password) - values - (#{vehicleVin},#{username},#{password}) + (vin, user_name, password) + values (#{vehicleVin}, #{username}, #{password}) diff --git a/cloud-modules/cloud-modules-warn/cloud-warn-common/src/main/java/com/muyu/warning/domain/WarnLogs.java b/cloud-modules/cloud-modules-warn/cloud-warn-common/src/main/java/com/muyu/warning/domain/WarnLogs.java index 43250f3..7e43c17 100644 --- a/cloud-modules/cloud-modules-warn/cloud-warn-common/src/main/java/com/muyu/warning/domain/WarnLogs.java +++ b/cloud-modules/cloud-modules-warn/cloud-warn-common/src/main/java/com/muyu/warning/domain/WarnLogs.java @@ -76,7 +76,7 @@ public class WarnLogs { public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) - .append("vin", getVin()) + .append("vin", getVehicleVin()) .append("warnRuleId", getWarnRuleId()) .append("startTime", getStartTime()) .append("endTime", getEndTime())