From 3a4ddc8f2ed9bc9610aee71fd61f897b1b688287 Mon Sep 17 00:00:00 2001 From: liuyunhu <3286117488@qq.com> Date: Fri, 29 Mar 2024 22:32:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=99=8E=EF=BC=8C=E8=BD=A6=E8=BE=86=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E4=BC=98=E5=8C=96=E3=80=81mq=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=8C=E6=97=A0=E6=B3=95=E4=BC=A0=E8=BE=93?= =?UTF-8?q?=E5=8F=82=E6=95=B0=EF=BC=8C=E6=95=B0=E6=8D=AE=E5=88=B0=E8=BE=BE?= =?UTF-8?q?=E4=BA=A4=E6=8D=A2=E6=9C=BA=E5=B0=B1=E5=81=9C=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/web/domain/BaseEntity.java | 1 + .../couplet/common/system/domain/SysDept.java | 3 + .../pom.xml | 9 +- .../com/couplet/mq/CoupletMqApplatcaion.java} | 10 +- .../com/couplet/mq/config/RabbitMQConfig.java | 149 ++++++++++++++++++ .../couplet/mq/controller/MqController.java | 36 +++++ .../main/java/com/couplet/mq/domain/Test.java | 14 ++ .../java/com/couplet/mq/service/Consumer.java | 72 +++++++++ .../com/couplet/mq/service}/MqttListen.java | 2 +- .../src/main/resources/banner.txt | 0 .../src/main/resources/bootstrap.yml | 8 +- .../src/main/resources/logback.xml | 0 .../com/couplet/mqtt/mapper/MqttMapper.java | 15 -- .../com/couplet/mqtt/service/MqttService.java | 12 -- .../mqtt/service/impl/MqttServiceImpl.java | 16 -- .../main/resources/mapper/mqtt/MqttMapper.xml | 8 - .../vehicle/domain/req/VehicleEditParams.java | 5 + .../vehicle/exception/VehicleException.java | 26 +++ .../service/impl/VehicleServiceImpl.java | 7 +- couplet-modules/pom.xml | 2 +- pom.xml | 14 ++ 21 files changed, 345 insertions(+), 64 deletions(-) rename couplet-modules/{couplet-modules-mqtt => couplet-modules-mq}/pom.xml (93%) rename couplet-modules/{couplet-modules-mqtt/src/main/java/com/couplet/mqtt/CoupletMqttxApplatcaion.java => couplet-modules-mq/src/main/java/com/couplet/mq/CoupletMqApplatcaion.java} (70%) create mode 100644 couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/config/RabbitMQConfig.java create mode 100644 couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/controller/MqController.java create mode 100644 couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/domain/Test.java create mode 100644 couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/service/Consumer.java rename couplet-modules/{couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/impl => couplet-modules-mq/src/main/java/com/couplet/mq/service}/MqttListen.java (98%) rename couplet-modules/{couplet-modules-mqtt => couplet-modules-mq}/src/main/resources/banner.txt (100%) rename couplet-modules/{couplet-modules-mqtt => couplet-modules-mq}/src/main/resources/bootstrap.yml (88%) rename couplet-modules/{couplet-modules-mqtt => couplet-modules-mq}/src/main/resources/logback.xml (100%) delete mode 100644 couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/mapper/MqttMapper.java delete mode 100644 couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/MqttService.java delete mode 100644 couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/impl/MqttServiceImpl.java delete mode 100644 couplet-modules/couplet-modules-mqtt/src/main/resources/mapper/mqtt/MqttMapper.xml create mode 100644 couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/exception/VehicleException.java diff --git a/couplet-common/couplet-common-core/src/main/java/com/couplet/common/core/web/domain/BaseEntity.java b/couplet-common/couplet-common-core/src/main/java/com/couplet/common/core/web/domain/BaseEntity.java index 89f2da1..d3422d4 100644 --- a/couplet-common/couplet-common-core/src/main/java/com/couplet/common/core/web/domain/BaseEntity.java +++ b/couplet-common/couplet-common-core/src/main/java/com/couplet/common/core/web/domain/BaseEntity.java @@ -58,6 +58,7 @@ public class BaseEntity implements Serializable { /** * 备注 */ + @TableField(exist = false) private String remark; /** diff --git a/couplet-common/couplet-common-system/src/main/java/com/couplet/common/system/domain/SysDept.java b/couplet-common/couplet-common-system/src/main/java/com/couplet/common/system/domain/SysDept.java index 85f67b2..e1183fc 100644 --- a/couplet-common/couplet-common-system/src/main/java/com/couplet/common/system/domain/SysDept.java +++ b/couplet-common/couplet-common-system/src/main/java/com/couplet/common/system/domain/SysDept.java @@ -1,5 +1,6 @@ package com.couplet.common.system.domain; +import com.baomidou.mybatisplus.annotation.TableField; import com.couplet.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; @@ -82,11 +83,13 @@ public class SysDept extends BaseEntity { /** * 父部门名称 */ + @TableField(exist = false) private String parentName; /** * 子部门 */ + @TableField(exist = false) private List children = new ArrayList(); public Long getDeptId () { diff --git a/couplet-modules/couplet-modules-mqtt/pom.xml b/couplet-modules/couplet-modules-mq/pom.xml similarity index 93% rename from couplet-modules/couplet-modules-mqtt/pom.xml rename to couplet-modules/couplet-modules-mq/pom.xml index 66187c1..7b1e760 100644 --- a/couplet-modules/couplet-modules-mqtt/pom.xml +++ b/couplet-modules/couplet-modules-mq/pom.xml @@ -9,7 +9,7 @@ 3.6.3 - couplet-modules-mqtt + couplet-modules-mq @@ -18,7 +18,7 @@ - couplet-modules-mqttx获取报文模块 + couplet-modules-mq MQ模块 @@ -91,6 +91,11 @@ 1.2.5 + + + org.springframework.boot + spring-boot-starter-amqp + diff --git a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/CoupletMqttxApplatcaion.java b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/CoupletMqApplatcaion.java similarity index 70% rename from couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/CoupletMqttxApplatcaion.java rename to couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/CoupletMqApplatcaion.java index f121aea..d1c309f 100644 --- a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/CoupletMqttxApplatcaion.java +++ b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/CoupletMqApplatcaion.java @@ -1,4 +1,4 @@ -package com.couplet.mqtt; +package com.couplet.mq; import com.couplet.common.security.annotation.EnableCustomConfig; import com.couplet.common.security.annotation.EnableMyFeignClients; @@ -10,15 +10,15 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @ProjectName: Default (Template) Project * @Author: LiuYunHu * @CreateTime: 2024/3/28 - * @Description: 获取报文模块启动类 + * @Description: rabbitMq模块启动类 */ @EnableCustomConfig @EnableCustomSwagger2 @EnableMyFeignClients @SpringBootApplication -public class CoupletMqttxApplatcaion { +public class CoupletMqApplatcaion { public static void main(String[] args) { - SpringApplication.run(CoupletMqttxApplatcaion.class, args); - System.out.println("获取报文模块启动成功"); + SpringApplication.run(CoupletMqApplatcaion.class, args); + System.out.println("获取报文、RabbitMQ模块启动成功"); } } diff --git a/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/config/RabbitMQConfig.java b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/config/RabbitMQConfig.java new file mode 100644 index 0000000..32976d5 --- /dev/null +++ b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/config/RabbitMQConfig.java @@ -0,0 +1,149 @@ +package com.couplet.mq.config; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.*; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; +import org.springframework.amqp.support.converter.MessageConverter; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + + +/** + * @ProjectName: five-groups-couplet + * @Author: LiuYunHu + * @CreateTime: 2024/3/29 + * @Description: rabbitMQ配置类 + */ + +@Configuration +@Slf4j +public class RabbitMQConfig implements RabbitTemplate.ConfirmCallback, RabbitTemplate.ReturnsCallback { + // 通过注入的方式获取队列名、交换机名和路由键 + //队列名 + @Value("${mq.queueName}") + public String queueName; + + //交换机 + @Value("${mq.exchangeName}") + public String exchangeName; + + //路由键 + @Value(("${mq.routingKey}")) + public String routingKey; + + private RabbitTemplate rabbitTemplate; + + /* + * @Author: LiuYunHu + * @Date: 2024/3/29 21:25 + * @Description: 创建并返回一个消息转换器,用于转换消息体。 + * @Param: [] + * @Return: 返回一个Jackson2JsonMessageConverter实例,用于JSON格式的消息转换。 + **/ + @Bean + public MessageConverter messageConverter() { + return new Jackson2JsonMessageConverter(); + } + + /* + * @Author: LiuYunHu + * @Date: 2024/3/29 21:26 + * @Description: 创建并返回一个持久化的队列。 + * @Param: [] + * @Return: 返回一个配置好的Queue实例。 + **/ + @Bean + public Queue queue() { + return new Queue(queueName, true); + } + + /* + * @Author: LiuYunHu + * @Date: 2024/3/29 21:26 + * @Description: 创建并返回一个直连交换机。 + * @Param: [] + * @Return: 返回一个配置好的DirectExchange实例。 + **/ + @Bean("exchange") + public DirectExchange directExchange() { + return new DirectExchange(exchangeName); + } + + /* + * @Author: LiuYunHu + * @Date: 2024/3/29 21:27 + * @Description: 配置并返回RabbitTemplate实例,用于发送消息。 + * @Param: connectionFactory RabbitMQ连接工厂。 + * @Return: 配置好的RabbitTemplate实例。 + **/ + @Primary + @Bean + public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) { + RabbitTemplate rabbitTempalte = new RabbitTemplate(connectionFactory); + this.rabbitTemplate = rabbitTempalte; + rabbitTempalte.setMessageConverter(messageConverter()); + rabbitTempalte(); + + return rabbitTempalte; + } + + /* + * @Author: LiuYunHu + * @Date: 2024/3/29 21:27 + * @Description: 配置RabbitTemplate的回调函数。 + * @Param: [] + * @Return: void + **/ + public void rabbitTempalte() { + rabbitTemplate.setConfirmCallback(this); + rabbitTemplate.setReturnsCallback(this); + } + + /* + * @Author: LiuYunHu + * @Date: 2024/3/29 21:27 + * @Description: 创建并返回一个绑定,将队列与交换机绑定,并指定路由键 + * @Param: [] + * @Return: 返回一个配置好的Binding实例 + **/ + @Bean + public Binding binding() { + return BindingBuilder.bind(queue()).to(directExchange()).with(routingKey); + } + + /* + * @Author: LiuYunHu + * @Date: 2024/3/29 21:28 + * @Description: 消息确认回调函数。 + * 当消息被交换机成功处理后调用,或当消息未能被正确处理时调用。 + * @Param: correlationData 关联数据,用于追踪消息 + * @Param: ack 消息是否被成功处理 + * @Param: s 附加信息 + **/ + @Override + public void confirm(CorrelationData correlationData, boolean ack, String s) { + if (ack) { + log.info("{}消息到达交换机", correlationData.getId()); + } else { + log.error("{}消息丢失", correlationData.getId()); + } + } + + /* + * @Author: LiuYunHu + * @Date: 2024/3/29 21:29 + * @Description: 消息返回回调函数。 + * 当消息未能被正确路由到队列时调用 + * @Param: returnedMessage 被返回的消息 + * @Return: void + **/ + @Override + public void returnedMessage(ReturnedMessage returnedMessage) { + log.error("{}消息未到达队列", returnedMessage.getMessage().getMessageProperties().getMessageId()); + } +} diff --git a/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/controller/MqController.java b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/controller/MqController.java new file mode 100644 index 0000000..b5572aa --- /dev/null +++ b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/controller/MqController.java @@ -0,0 +1,36 @@ +package com.couplet.mq.controller; + +import com.alibaba.fastjson2.JSON; +import com.couplet.common.core.utils.uuid.IdUtils; +import com.couplet.mq.config.RabbitMQConfig; +import com.couplet.mq.domain.Test; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @ProjectName: five-groups-couplet + * @Author: LiuYunHu + * @CreateTime: 2024/3/29 + * @Description: MQController类 + */ +@RestController +@RequestMapping("/mq") +@Slf4j +public class MqController { + @Autowired + private RabbitTemplate rabbitTemplate; + + @PostMapping("/receive") + public void receive(@RequestBody Test data) { + //创建配置类对象,用于获取配置值 + RabbitMQConfig config = new RabbitMQConfig(); + + rabbitTemplate.convertAndSend(config.exchangeName, config.routingKey, JSON.toJSONString(data) , message -> { + message.getMessageProperties().setMessageId(IdUtils.randomUUID()); + return message; + }, new CorrelationData(IdUtils.randomUUID())); + } +} diff --git a/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/domain/Test.java b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/domain/Test.java new file mode 100644 index 0000000..618d7ec --- /dev/null +++ b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/domain/Test.java @@ -0,0 +1,14 @@ +package com.couplet.mq.domain; + +import java.io.Serializable; + +/** + * @ProjectName: five-groups-couplet + * @Author: LiuYunHu + * @CreateTime: 2024/3/29 + * @Description: 测试 参数类 + */ + +public class Test implements Serializable { + public String data; +} diff --git a/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/service/Consumer.java b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/service/Consumer.java new file mode 100644 index 0000000..f49c3ac --- /dev/null +++ b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/service/Consumer.java @@ -0,0 +1,72 @@ +package com.couplet.mq.service; + +import com.couplet.mq.config.RabbitMQConfig; +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.util.concurrent.TimeUnit; + +/** + * @ProjectName: five-groups-couplet + * @Author: LiuYunHu + * @CreateTime: 2024/3/28 + * @Description: MQ消费者类 + */ +@RabbitListener(queues = "${mq.queueName}") +@Component +@Slf4j +public class Consumer { + @Autowired + private StringRedisTemplate redisTemplate; + + @RabbitHandler + public void receive(String data, Channel channel, Message message) throws IOException { + log.info("消费者接受到数据:{}", data); + + //获取信息的标记 + long deliveryTag = message.getMessageProperties().getDeliveryTag(); + + //获取到消息的id + String messageId = message.getMessageProperties().getMessageId(); + + Long add = redisTemplate.opsForSet().add("set:" + messageId, "set:" + messageId); + + if (!redisTemplate.hasKey("value:" + messageId)) { + redisTemplate.opsForValue().set("value:" + messageId, String.valueOf(deliveryTag), 10, TimeUnit.MINUTES); + } + + try { + if (add == 1) { + log.info("---------------消费者开始消费---------------"); + + System.out.println(data); + + log.info("---------------消费者结束消费---------------"); + }else { + log.error("重复消费!"); + channel.basicReject(deliveryTag, false); + } + } catch (IOException e) { +// throw new RuntimeException(e); + String s = redisTemplate.opsForValue().get("value:" + messageId); + long oldTag = Long.parseLong(s); + + if ((oldTag + 2) != deliveryTag) { + log.info("重新入队!"); + channel.basicNack(deliveryTag, false, true); + }else { + log.error("三次无法消费,不再入队!"); + channel.basicNack(deliveryTag, false, false); + } + + } + } +} diff --git a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/impl/MqttListen.java b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/service/MqttListen.java similarity index 98% rename from couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/impl/MqttListen.java rename to couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/service/MqttListen.java index 4132805..8b914e9 100644 --- a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/impl/MqttListen.java +++ b/couplet-modules/couplet-modules-mq/src/main/java/com/couplet/mq/service/MqttListen.java @@ -1,4 +1,4 @@ -package com.couplet.mqtt.service.impl; +package com.couplet.mq.service; import lombok.extern.slf4j.Slf4j; import org.eclipse.paho.client.mqttv3.*; diff --git a/couplet-modules/couplet-modules-mqtt/src/main/resources/banner.txt b/couplet-modules/couplet-modules-mq/src/main/resources/banner.txt similarity index 100% rename from couplet-modules/couplet-modules-mqtt/src/main/resources/banner.txt rename to couplet-modules/couplet-modules-mq/src/main/resources/banner.txt diff --git a/couplet-modules/couplet-modules-mqtt/src/main/resources/bootstrap.yml b/couplet-modules/couplet-modules-mq/src/main/resources/bootstrap.yml similarity index 88% rename from couplet-modules/couplet-modules-mqtt/src/main/resources/bootstrap.yml rename to couplet-modules/couplet-modules-mq/src/main/resources/bootstrap.yml index ec760c4..61d454f 100644 --- a/couplet-modules/couplet-modules-mqtt/src/main/resources/bootstrap.yml +++ b/couplet-modules/couplet-modules-mq/src/main/resources/bootstrap.yml @@ -6,7 +6,7 @@ server: spring: application: # 应用名称 - name: couplet-mqtt + name: couplet-mq profiles: # 环境配置 active: dev @@ -40,3 +40,9 @@ mqtt: clientid: mqttx qos: 0 topic: test + +# RabbitMQ配置 +mq: + queueName: queue + exchangeName: exchange + routingKey: routingKey diff --git a/couplet-modules/couplet-modules-mqtt/src/main/resources/logback.xml b/couplet-modules/couplet-modules-mq/src/main/resources/logback.xml similarity index 100% rename from couplet-modules/couplet-modules-mqtt/src/main/resources/logback.xml rename to couplet-modules/couplet-modules-mq/src/main/resources/logback.xml diff --git a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/mapper/MqttMapper.java b/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/mapper/MqttMapper.java deleted file mode 100644 index c9c07e3..0000000 --- a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/mapper/MqttMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.couplet.mqtt.mapper; - -import org.apache.ibatis.annotations.Mapper; -import org.springframework.stereotype.Component; - -/** - * @ProjectName: five-groups-couplet - * @Author: LiuYunHu - * @CreateTime: 2024/3/28 - * @Description: - */ -@Component -@Mapper -public interface MqttMapper { -} diff --git a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/MqttService.java b/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/MqttService.java deleted file mode 100644 index 452379c..0000000 --- a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/MqttService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.couplet.mqtt.service; - -/** - * @ProjectName: five-groups-couplet - * @Author: LiuYunHu - * @CreateTime: 2024/3/28 - * @Description: MQTT服务接口 - */ - -public interface MqttService { - -} diff --git a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/impl/MqttServiceImpl.java b/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/impl/MqttServiceImpl.java deleted file mode 100644 index e546bab..0000000 --- a/couplet-modules/couplet-modules-mqtt/src/main/java/com/couplet/mqtt/service/impl/MqttServiceImpl.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.couplet.mqtt.service.impl; - -import com.couplet.mqtt.service.MqttService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * @ProjectName: five-groups-couplet - * @Author: LiuYunHu - * @CreateTime: 2024/3/28 - * @Description: MQTT服务实现类 - */ -@Service -@Slf4j -public class MqttServiceImpl implements MqttService { -} diff --git a/couplet-modules/couplet-modules-mqtt/src/main/resources/mapper/mqtt/MqttMapper.xml b/couplet-modules/couplet-modules-mqtt/src/main/resources/mapper/mqtt/MqttMapper.xml deleted file mode 100644 index 5a70a2c..0000000 --- a/couplet-modules/couplet-modules-mqtt/src/main/resources/mapper/mqtt/MqttMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/domain/req/VehicleEditParams.java b/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/domain/req/VehicleEditParams.java index 75f8c05..d2186d4 100644 --- a/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/domain/req/VehicleEditParams.java +++ b/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/domain/req/VehicleEditParams.java @@ -5,6 +5,9 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import javax.validation.constraints.NotNull; + + /** * @ProjectName: five-groups-couplet * @Author: LiuYunHu @@ -20,11 +23,13 @@ public class VehicleEditParams { /* *车辆id * */ + @NotNull(message = "车辆id不能为空") private Long vehicleId; /* *车辆类型 * */ + @NotNull(message="车辆类型不能为空") private Integer vehicleType; diff --git a/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/exception/VehicleException.java b/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/exception/VehicleException.java new file mode 100644 index 0000000..37b0f52 --- /dev/null +++ b/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/exception/VehicleException.java @@ -0,0 +1,26 @@ +package com.couplet.vehicle.exception; + +/** + * @ProjectName: five-groups-couplet + * @Author: LiuYunHu + * @CreateTime: 2024/3/29 + * @Description: 车辆异常响应 + */ + +public class VehicleException extends RuntimeException { + private int code; + private String message; + + public VehicleException(int code, String message) { + this.code = code; + this.message = message; + } + + public VehicleException(String message) { + super(message); + } + + public VehicleException() { + + } +} diff --git a/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/service/impl/VehicleServiceImpl.java b/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/service/impl/VehicleServiceImpl.java index 7f68a38..33287c7 100644 --- a/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/service/impl/VehicleServiceImpl.java +++ b/couplet-modules/couplet-modules-vehicle/src/main/java/com/couplet/vehicle/service/impl/VehicleServiceImpl.java @@ -8,6 +8,7 @@ import com.couplet.vehicle.domain.LyhVehicle; import com.couplet.vehicle.domain.req.VehicleEditParams; import com.couplet.vehicle.domain.req.VehicleInsertParams; import com.couplet.vehicle.domain.req.VehicleListParams; +import com.couplet.vehicle.exception.VehicleException; import com.couplet.vehicle.mapper.VehicleMapper; import com.couplet.vehicle.service.VehicleService; import com.couplet.vehicle.utils.SnowflakeIdGenerator; @@ -79,7 +80,7 @@ public class VehicleServiceImpl extends ServiceImpl i if (!update) { result = "删除失败"; - throw new RuntimeException(result); + throw new VehicleException(result); } result = "删除成功!"; @@ -124,7 +125,7 @@ public class VehicleServiceImpl extends ServiceImpl i if (!update) { result = "编辑失败"; - throw new RuntimeException(result); + throw new VehicleException(result); } result = "编辑成功!"; @@ -153,7 +154,7 @@ public class VehicleServiceImpl extends ServiceImpl i if (insert == 0) { result = "新增失败"; - throw new RuntimeException(result); + throw new VehicleException(result); } result = "新增成功!"; diff --git a/couplet-modules/pom.xml b/couplet-modules/pom.xml index 6594626..1e1a446 100644 --- a/couplet-modules/pom.xml +++ b/couplet-modules/pom.xml @@ -16,7 +16,7 @@ couplet-trouble couplet-electronic-fence couplet-modules-vehicle - couplet-modules-mqtt + couplet-modules-mq couplet-enterprisemanagement diff --git a/pom.xml b/pom.xml index fcd0e7c..3152da5 100644 --- a/pom.xml +++ b/pom.xml @@ -246,6 +246,20 @@ ${couplet.version} + + + com.couplet + couplet-modules-vehicle + 3.6.3 + + + + + com.couplet + couplet-modules-mq + 3.6.3 + +