dev.protocol.parsing
chentaisen 2024-09-29 20:33:09 +08:00
parent 07bafd5eb4
commit ba6ac5b76d
98 changed files with 2500 additions and 1217 deletions

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>cloud-breakdown</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-breakdown-client</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-breakdown-common</artifactId>
<version>3.6.3</version>
</dependency>
</dependencies>
</project>

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>cloud-breakdown</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-breakdown-common</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-core</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -1,93 +0,0 @@
//package com.muyu.breakdown.DTO;
//
//
//import com.muyu.breakdown.domain.Messages;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import java.sql.*;
//import java.util.*;
//
///**
// * @ ToolIntelliJ IDEA
// * @ AuthorCHX
// * @ Date2024-09-18-15:00
// * @ Version1.0
// * @ Description数据库连接层
// * @author Lenovo
// */
//@Component
//public class MessageDTO {
// private static final String DB_URL = "jdbc:mysql://106.54.193.225:3306/one";
// private static final String USER = "root";
// private static final String PASSWORD = "bawei2112A";
//
// // 2. 建立数据库连接
// Connection connection;
// // 构造函数,初始化数据库连接
// // 保存消息到数据库
// public void saveMessage(Messages message) {
// String sql = "INSERT INTO sys_messages (sender_id, receiver_id, content) VALUES (?, ?, ?)";
// try {
// Class.forName("com.mysql.cj.jdbc.Driver");
// } catch (ClassNotFoundException e) {
// throw new RuntimeException(e);
// }
// try {
// connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);
// } catch (SQLException e) {
// throw new RuntimeException(e);
// }
// try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
// preparedStatement.setInt(1, message.getSenderId());
// preparedStatement.setInt(2, message.getReceiverId());
// preparedStatement.setString(3, message.getContent());
// // 执行添加操作
// preparedStatement.executeUpdate();
// } catch (SQLException e) {
// throw new RuntimeException(e);
// }
// try {
// connection.close();
// } catch (SQLException e) {
// throw new RuntimeException(e);
// }
// }
//
// // 获取所有消息
// public List<Messages> getAllMessages(int receiverId){
// String sql = "SELECT * FROM sys_messages WHERE receiver_id = ?";
// try {
// Class.forName("com.mysql.cj.jdbc.Driver");
// } catch (ClassNotFoundException e) {
// throw new RuntimeException(e);
// }
// List<Messages> messages = new ArrayList<>();
// try {
// connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);
// } catch (SQLException e) {
// throw new RuntimeException(e);
// }
// try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
// preparedStatement.setInt(1, receiverId);
// // 执行查询操作
// ResultSet rs = preparedStatement.executeQuery();
// while (rs.next()) {
// Messages message = new Messages(rs.getInt("sender_id"), receiverId, rs.getString("content"));
//
// // 添加到消息列表
// messages.add(message);
// }
// } catch (SQLException e) {
// throw new RuntimeException(e);
// }
// try {
// connection.close();
// } catch (SQLException e) {
// throw new RuntimeException(e);
// }
// // 返回消息列表
// return messages;
// }
//
//}

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>cloud-breakdown</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-breakdown-remote</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-breakdown-common</artifactId>
<version>3.6.3</version>
</dependency>
</dependencies>
</project>

View File

@ -1,23 +0,0 @@
package com.muyu;
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;
/**
* @ ToolIntelliJ IDEA
* @ AuthorCHX
* @ Date2024-09-17-15:00
* @ Version1.0
* @ Description
* @author Lenovo
*/
@EnableCustomConfig
@EnableMyFeignClients
@SpringBootApplication
public class BreakDownApplication {
public static void main(String[] args) {
SpringApplication.run(BreakDownApplication.class, args);
}
}

View File

@ -1,37 +0,0 @@
package com.muyu.breakdown.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @ ToolIntelliJ IDEA
* @ AuthorCHX
* @ Date2024-09-17-15:41
* @ Version1.0
* @ Descriptionmybatisplus
* @author Lenovo
*/
//@Configuration
//public class MybatisPlusConfig {
// /**
// * 添加分页插件
// */
// @Bean
// public MybatisPlusInterceptor mybatisPlusInterceptor() {
// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// // 如果配置多个插件, 切记分页最后添加
// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
// // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
// return interceptor;
// }
// @Bean
// public MybatisConfiguration mybatisConfiguration(){
// MybatisConfiguration configuration = new MybatisConfiguration();
// return configuration;
// }
//
//}

View File

@ -1,56 +0,0 @@
package com.muyu.breakdown.config;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
*
* */
@Configuration
public class RabbitMQConfig {
// 1.生命注册fanout模式的交换机
@Bean
public FanoutExchange fanoutExchange(){
//1.fanout模式的路由名称 2.是否持久化 3. 是否自动删除
return new FanoutExchange("fanout",true,false);
}
// 2.生命队列 sms.fanout.queue email.fanout.queue,duanxin.fanout.queue
@Bean
public Queue duanxinQueue(){
return new Queue("duanxin",true);
}
@Bean
public Queue emailQueue(){
return new Queue("email",false);
}
@Bean
public Queue smsQueue(){
return new Queue("sms",false);
}
// 3.完成绑定关系(队列和交换机完成绑定关系
@Bean
public Binding duanxinExchange(){
return BindingBuilder.bind(duanxinQueue()).to(fanoutExchange());
}
@Bean
public Binding emailExchange(){
return BindingBuilder.bind(emailQueue()).to(fanoutExchange());
}
@Bean
public Binding smsExchange(){
return BindingBuilder.bind(smsQueue()).to(fanoutExchange());
}
// 4.生命注册fanout模式的交换机
}

View File

@ -1,62 +0,0 @@
package com.muyu.breakdown.config;
import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
/**
*
* */
@Configuration
public class RabbitMQDirectConfig {
/**
* fanout Direct Binding
* */
// 1.生命注册fanout模式的交换机
@Bean
public DirectExchange directExchange(){
//1.fanout模式的路由名称 2.是否持久化 3. 是否自动删除
return new DirectExchange("direct",true,false);
}
// 2.生命队列 sms.fanout.queue email.fanout.queue,duanxin.fanout.queue
@Bean
public Queue directduanxinQueue(){
HashMap<String, Object> map = new HashMap<>();
map.put("x-delayed-letter-exchange","direct");
map.put("x-delayed-routing-key","directduanxin");
map.put("x-message-ttl",10000);
return QueueBuilder.durable("directduanxin").withArguments(map).build();
}
@Bean
public Queue directemailQueue(){
return new Queue("directemail",false);
}
@Bean
public Queue directsmsQueue(){
return new Queue("directsms",false);
}
// 3.完成绑定关系(队列和交换机完成绑定关系
@Bean
public Binding directduanxinExchange(){
return BindingBuilder.bind(directduanxinQueue()).to(directExchange()).with("directduanxin");
}
@Bean
public Binding directemailExchange(){
return BindingBuilder.bind(directemailQueue()).to(directExchange()).with("directemail");
}
@Bean
public Binding directsmsExchange(){
return BindingBuilder.bind(directsmsQueue()).to(directExchange()).with("directsms");
}
// 4.生命注册fanout模式的交换机
}

View File

@ -1,59 +0,0 @@
package com.muyu.breakdown.config;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
*
* */
@Configuration
public class RabbitMQTopicConfig {
/**
* fanout Direct Binding
* */
// 1.生命注册fanout模式的交换机
@Bean
public TopicExchange topicExchange(){
//1.fanout模式的路由名称 2.是否持久化 3. 是否自动删除
return new TopicExchange("topic",true,false);
}
// 2.生命队列 sms.fanout.queue email.fanout.queue,duanxin.fanout.queue
@Bean
public Queue topicduanxinQueue(){
return new Queue("topicduanxin.test.one",true);
}
@Bean
public Queue topicemailQueue(){
return new Queue("topicemail.test.two",false);
}
@Bean
public Queue topicsmsQueue(){
return new Queue("topicsms.test.three",false);
}
// 3.完成绑定关系(队列和交换机完成绑定关系
@Bean
public Binding topicduanxinExchange(){
return BindingBuilder.bind(topicduanxinQueue()).to(topicExchange()).with("topic.#");
}
@Bean
public Binding topicemailExchange(){
return BindingBuilder.bind(topicemailQueue()).to(topicExchange()).with("topic.*");
}
@Bean
public Binding topicsmsExchange(){
return BindingBuilder.bind(topicsmsQueue()).to(topicExchange()).with("topic.test.#");
}
// 4.生命注册fanout模式的交换机
}

View File

@ -1,20 +0,0 @@
package com.muyu.breakdown.controller;
import com.muyu.breakdown.service.SysCarMessageService;
import com.muyu.common.core.web.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
/**
* @ ToolIntelliJ IDEA
* @ AuthorCHX
* @ Date2024-09-20-15:41
* @ Version1.0
* @ Description
* @author Lenovo
*/
@RestController
public class SysCarMessageController extends BaseController {
@Autowired
private SysCarMessageService sysCarMessageService;
}

View File

@ -1,17 +0,0 @@
package com.muyu.breakdown.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.muyu.breakdown.domain.SysCarMessage;
import org.apache.ibatis.annotations.Mapper;
/**
* @ ToolIntelliJ IDEA
* @ AuthorCHX
* @ Date2024-09-20-15:54
* @ Version1.0
* @ Description
* @author Lenovo
*/
@Mapper
public interface SysCarMessageMapper extends MPJBaseMapper<SysCarMessage> {
}

View File

@ -1,19 +0,0 @@
package com.muyu.breakdown.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.breakdown.domain.SysCarMessage;
import com.muyu.breakdown.mapper.SysCarMessageMapper;
import com.muyu.breakdown.service.SysCarMessageService;
import org.springframework.stereotype.Service;
/**
* @ ToolIntelliJ IDEA
* @ AuthorCHX
* @ Date2024-09-20-15:42
* @ Version1.0
* @ Description
* @author Lenovo
*/
@Service
public class SysCarMessageServiceImpl extends ServiceImpl<SysCarMessageMapper, SysCarMessage> implements SysCarMessageService {
}

View File

@ -1,60 +0,0 @@
# Tomcat
server:
port: 9702
# nacos线上地址
nacos:
addr: 47.116.173.119:8848
user-name: nacos
password: nacos
namespace: one-saas
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
amqp:
deserialization:
trust:
all: true
main:
allow-bean-definition-overriding: true
application:
# 应用名称
name: cloud-breakdown
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: ${nacos.addr}
# nacos用户名
username: ${nacos.user-name}
# nacos密码
password: ${nacos.password}
# 命名空间
namespace: ${nacos.namespace}
config:
# 服务注册地址
server-addr: ${nacos.addr}
# nacos用户名
username: ${nacos.user-name}
# nacos密码
password: ${nacos.password}
# 命名空间
namespace: ${nacos.namespace}
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
# 系统共享配置
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# 系统环境Config共享配置
- application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# xxl-job 配置文件
- application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# rabbit 配置文件
- application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
logging:
level:
com.muyu.breakdown.mapper: DEBUG

View File

@ -1,97 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>cloud-modules</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-modules-car</artifactId>
<description>
cloud-modules-car 电子围栏
</description>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- MuYu Common DataSource -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-datasource</artifactId>
</dependency>
<!-- MuYu Common DataScope -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-datascope</artifactId>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-core</artifactId>
</dependency>
<!-- 接口模块 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-api-doc</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,23 +0,0 @@
package com.muyu.carrail;
import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@EnableCustomConfig
@EnableMyFeignClients
@MapperScan("com.muyu.carrail.mapper")
@SpringBootApplication
public class CloudCarRailApplication {
public static void main(String[] args) {
// try {
//
// } catch (Exception e) {
// e.printStackTrace();
// }
SpringApplication.run(CloudCarRailApplication.class, args);
}
}

View File

@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.carrail.mapper.SysFenceMapper">
<resultMap type="com.muyu.carrail.domain.SysFence" id="SysFenceResult">
<result property="id" column="id" />
<result property="groupCode" column="group_code" />
<result property="groupName" column="group_name" />
<result property="groupType" column="group_type" />
<result property="state" column="state" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<!-- <result property="sysfindname" column="sysfindname" />-->
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectSysFenceVo">
select id, group_code, group_name, group_type, state, create_by, create_time, update_by, update_time, remark from sys_fence_group
</sql>
<select id="selectSysFenceList" parameterType="com.muyu.carrail.domain.SysFence" resultMap="SysFenceResult">
<include refid="selectSysFenceVo"/>
<where>
<if test="groupCode != null and groupCode != ''"> and group_code = #{groupCode}</if>
<if test="groupName != null and groupName != ''"> and group_name like concat('%', #{groupName}, '%')</if>
<if test="groupType != null and groupType != ''"> and group_type = #{groupType}</if>
<if test="state != null and state != ''"> and state = #{state}</if>
</where>
</select>
<select id="selectSysFenceById" parameterType="Long" resultMap="SysFenceResult">
<include refid="selectSysFenceVo"/>
where id = #{id}
</select>
<delete id="deleteSysFenceById" parameterType="Long">
delete from sys_fence_group where id = #{id}
</delete>
<delete id="deleteSysFenceByIds" parameterType="String">
delete from sys_fence_group where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.carrail.mapper.SysCorpuscleMapper">
<insert id="addCarRail">
insert into sys_corpuscle_fence(fence_code,fence_name,fence_type,fence_position,state)
values(#{fenceCode},#{fenceName},#{fenceType},#{fencePosition},#{state})
</insert>
<select id="selectCarRail" resultType="com.muyu.carrail.domain.SysCorpuscle">
select * from sys_corpuscle_fence
</select>
</mapper>

View File

@ -18,8 +18,6 @@ import com.baomidou.mybatisplus.annotation.IdType;
*/
@Data
@Setter
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor

View File

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>cloud-modules-enterprise</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-modules-enterprise-common</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- MuYu Common DataSource -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-datasource</artifactId>
</dependency>
<!-- MuYu Common DataScope -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-datascope</artifactId>
</dependency>
<!-- MuYu Common Log -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-log</artifactId>
</dependency>
<!-- 接口模块 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-api-doc</artifactId>
</dependency>
<!-- XllJob定时任务 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-xxl</artifactId>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-rabbit</artifactId>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-core</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.3</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.20</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.3.2</version>
</dependency>
<!-- DOM4J是 dom4j.org 出品的一个开源XML解析包-->
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.43</version>
</dependency>
</dependencies>
</project>

View File

@ -1,4 +1,4 @@
package com.muyu.breakdown.domain;
package com.muyu.enterprise.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,16 +1,15 @@
package com.muyu.breakdown.domain;
package com.muyu.enterprise.domain;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
/**
* fault_log

View File

@ -1,4 +1,4 @@
package com.muyu.breakdown.domain;
package com.muyu.enterprise.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -0,0 +1,38 @@
package com.muyu.enterprise.domain;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @ClassName SysCar
* @Description
* @Author Chen
* @Date 2024/9/29 16:31
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Tag(name = "sys_car")
public class SysCar {
private Long id;
private String carVin;
private String carPlate;
private String carBrand;
private String carModel;
private String carType;
private Date carLastJoinTime;
private String carLastOfflineTime;
private String state;
private String createBy;
private String createTime;
private String updateBy;
private String updateTime;
private String remark;
}

View File

@ -1,4 +1,4 @@
package com.muyu.breakdown.domain;
package com.muyu.enterprise.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
@ -40,4 +40,8 @@ public class SysCarMessage {
*
*/
private String messageEndIndex;
/**
*
*/
private String messageType;
}

View File

@ -1,14 +1,13 @@
package com.muyu.carrail.domain;
package com.muyu.enterprise.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
/**
* sys_corpuscle_fence

View File

@ -1,15 +1,13 @@
package com.muyu.carrail.domain;
package com.muyu.enterprise.domain;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;

View File

@ -0,0 +1,26 @@
package com.muyu.enterprise.domain;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @ClassName SysMessageType
* @Description
* @Author Chen
* @Date 2024/9/29 16:40
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Tag(name = "sys_message_type")
public class SysMessageType {
private String id;
private String messageCode;
private String messageName;
private String messageType;
private String messageClass;
}

View File

@ -0,0 +1,91 @@
package com.muyu.enterprise.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 com.muyu.common.core.annotation.Excel;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* warn_logs
*
* @author muyu
* @date 2024-09-20
*/
@Data
@Setter
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("warn_logs")
public class WarnLogs {
private static final long serialVersionUID = 1L;
/** 预警日志id */
@TableId( type = IdType.AUTO)
private Long id;
/** 车辆vin码 */
@Excel(name = "车辆vin码")
private String vin;
/** 规则id */
@Excel(name = "规则id")
private Long warnRuleId;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date startTime;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endTime;
/** 最大值 */
@Excel(name = "最大值")
private Long maxValue;
/** 最小值 */
@Excel(name = "最小值")
private Long minValue;
/** 平均值 */
@Excel(name = "平均值")
private Long avgValue;
/** 中位数 */
@Excel(name = "中位数")
private Long medianValue;
/** 是否发送预警 */
@Excel(name = "是否发送预警")
private Long status;
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("vin", getVin())
.append("warnRuleId", getWarnRuleId())
.append("startTime", getStartTime())
.append("endTime", getEndTime())
.append("maxValue", getMaxValue())
.append("minValue", getMinValue())
.append("avgValue", getAvgValue())
.append("medianValue", getMedianValue())
.append("status", getStatus())
.toString();
}
}

View File

@ -0,0 +1,76 @@
package com.muyu.enterprise.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* warn_rule
*
* @author muyu
* @date 2024-09-20
*/
@Data
@Setter
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("warn_rule")
public class WarnRule{
private static final long serialVersionUID = 1L;
/** 规则id */
@TableId( type = IdType.AUTO)
private Long id;
/** 规则名称 */
@Excel(name = "规则名称")
private String ruleName;
/** 策略id */
@Excel(name = "策略id")
private Long strategyId;
/** 报文数据类型id */
@Excel(name = "报文数据类型id")
private Long msgTypeId;
/** 滑窗时间 */
@Excel(name = "滑窗时间")
private Long slideTime;
/** 滑窗频率 */
@Excel(name = "滑窗频率")
private Long slideFrequency;
/** 最大值 */
@Excel(name = "最大值")
private Long maxValue;
/** 最小值 */
@Excel(name = "最小值")
private Long minValue;
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("ruleName", getRuleName())
.append("strategyId", getStrategyId())
.append("msgTypeId", getMsgTypeId())
.append("slideTime", getSlideTime())
.append("slideFrequency", getSlideFrequency())
.append("maxValue", getMaxValue())
.append("minValue", getMinValue())
.toString();
}
}

View File

@ -0,0 +1,56 @@
package com.muyu.enterprise.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* warn_strategy
*
* @author muyu
* @date 2024-09-20
*/
@Data
@Setter
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("warn_strategy")
public class WarnStrategy{
private static final long serialVersionUID = 1L;
/** 策略id */
@TableId( type = IdType.AUTO)
private Long id;
/** 车辆类型id */
@Excel(name = "车辆类型id")
private Long carTypeId;
/** 策略名称 */
@Excel(name = "策略名称")
private String strategyName;
/** 报文模版id */
@Excel(name = "报文模版id")
private Long msgId;
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("carTypeId", getCarTypeId())
.append("strategyName", getStrategyName())
.append("msgId", getMsgId())
.toString();
}
}

View File

@ -0,0 +1,22 @@
package com.muyu.enterprise.resp;
import lombok.*;
/**
* sys_message_type
*
* @author muyu
* @date 2024-09-18
*/
@Data
public class SysMessageResp {
private static final long serialVersionUID = 1L;
private Long id;
private String modelCode;
private String messageTypeCode;
private String messageStartIndex;
private String messageEndIndex;
private String messageType;
private String messageName;
}

View File

@ -0,0 +1,20 @@
package com.muyu.enterprise.wx;
import lombok.Data;
/**
* @author 24415
*/
@Data
public class AccessToken {
private String access_token;
private Long expires_in;
public void setExpiresTime(Long expiresIn) {
this.expires_in = System.currentTimeMillis() + expiresIn * 1000;
}
}

View File

@ -0,0 +1,27 @@
package com.muyu.enterprise.wx;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.Data;
/**
* @Author Chen
* @nameMessage
*/
@Data
@XStreamAlias("xml")
public class Message {
@XStreamAlias("ToUserName")
private String toUserName;
@XStreamAlias("FromUserName")
private String fromUserName;
@XStreamAlias("CreateTime")
private Long createTime;
@XStreamAlias("MsgType")
private String msgType;
@XStreamAlias("Content")
private String content;
}

View File

@ -5,11 +5,11 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>cloud-breakdown</artifactId>
<artifactId>cloud-modules-enterprise</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-breakdown-server</artifactId>
<artifactId>cloud-modules-enterprise-server</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
@ -17,7 +17,6 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
@ -82,11 +81,27 @@
<artifactId>cloud-common-rabbit</artifactId>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.70</version>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-breakdown-common</artifactId>
<artifactId>cloud-modules-enterprise-common</artifactId>
<version>3.6.3</version>
</dependency>
</dependencies>
<!-- DOM4J是 dom4j.org 出品的一个开源XML解析包-->
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.43</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,18 @@
package com.muyu.enterprise;
import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @ClassName EnterpriseApplication
* @Description
* @Author Chen
* @Date 2024/9/29 16:08
*/
@EnableCustomConfig
//@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication
public class EnterpriseApplication {
}

View File

@ -1,14 +1,14 @@
package com.muyu.breakdown.controller;
package com.muyu.enterprise.controller;
import com.muyu.breakdown.domain.BreakDown;
import com.muyu.breakdown.domain.MessageMap;
import com.muyu.breakdown.service.BreakDownService;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.enterprise.domain.BreakDown;
import com.muyu.enterprise.domain.MessageMap;
import com.muyu.enterprise.service.BreakDownService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;

View File

@ -1,27 +1,20 @@
package com.muyu.breakdown.controller;
package com.muyu.enterprise.controller;
import java.util.Arrays;
import java.util.List;
import com.muyu.breakdown.domain.FaultLog;
import com.muyu.breakdown.service.IFaultLogService;
import jakarta.servlet.http.HttpServletResponse;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.security.utils.SecurityUtils;
import org.springframework.validation.annotation.Validated;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.enterprise.domain.FaultLog;
import com.muyu.enterprise.service.IFaultLogService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* Controller

View File

@ -1,13 +1,15 @@
package com.muyu.breakdown.controller;
package com.muyu.enterprise.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.muyu.breakdown.domain.Messages;
import com.muyu.breakdown.service.BreakDownService;
import com.muyu.breakdown.service.StationMessageService;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.enterprise.domain.Messages;
import com.muyu.enterprise.service.StationMessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

View File

@ -0,0 +1,123 @@
package com.muyu.enterprise.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.enterprise.domain.SysCar;
import com.muyu.enterprise.service.ISysCarService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* Controller
*
* @author muyu
* @date 2024-09-17
*/
@RestController
@RequestMapping("/car")
public class SysCarController extends BaseController
{
@Autowired
private ISysCarService sysCarService;
/**
*
*/
@RequiresPermissions("car:car:list")
@GetMapping("/list")
public Result<TableDataInfo<SysCar>> list(SysCar sysCar)
{
startPage();
List<SysCar> list = sysCarService.selectSysCarList(sysCar);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("car:car:export")
@PostMapping("/export")
public void export(HttpServletResponse response, SysCar sysCar)
{
List<SysCar> list = sysCarService.selectSysCarList(sysCar);
ExcelUtil<SysCar> util = new ExcelUtil<SysCar>(SysCar.class);
util.exportExcel(response, list, "车辆基础信息数据");
}
/**
*
*/
@RequiresPermissions("car:car:query")
@GetMapping(value = "/{id}")
public Result<List<SysCar>> getInfo(@PathVariable("id") Long id)
{
return success(sysCarService.selectSysCarById(id));
}
/**
*
*/
@RequiresPermissions("car:car:add")
@PostMapping
public Result<Integer> add(
@Validated @RequestBody SysCar sysCar)
{
// 获取当前时间(没有时区)
LocalDateTime now = LocalDateTime.now();
// 假设我们使用系统默认时区
ZoneId zoneId = ZoneId.systemDefault();
// 将LocalDateTime转换为ZonedDateTime添加了时区信息
ZonedDateTime zdt = now.atZone(zoneId);
// 将ZonedDateTime转换为InstantUTC时间线上的点
Instant instant = zdt.toInstant();
// 将Instant转换为Date
Date date = Date.from(instant);
sysCar.setCarLastJoinTime(date);
if (sysCarService.checkIdUnique(sysCar)) {
return error("新增 车辆基础信息 '" + sysCar + "'失败,车辆基础信息已存在");
}
return toAjax(sysCarService.save(sysCar));
}
/**
*
*/
@RequiresPermissions("car:car:edit")
@PutMapping
public Result<Integer> edit(
@Validated @RequestBody SysCar sysCar)
{
if (!sysCarService.checkIdUnique(sysCar)) {
return error("修改 车辆基础信息 '" + sysCar + "'失败,车辆基础信息不存在");
}
return toAjax(sysCarService.updateById(sysCar));
}
/**
*
*/
@RequiresPermissions("car:car:remove")
@DeleteMapping("/{ids}")
public Result<Integer> remove(@PathVariable("ids") Long[] ids)
{
sysCarService.removeBatchByIds(Arrays.asList(ids));
return success();
}
}

View File

@ -0,0 +1,148 @@
package com.muyu.enterprise.controller;
import com.alibaba.fastjson2.JSONObject;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.enterprise.domain.SysCarMessage;
import com.muyu.enterprise.resp.SysMessageResp;
import com.muyu.enterprise.service.ISysCarMessageService;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
/**
* Controller
*
* @author muyu
* @date 2024-09-18
*/
@Slf4j
@RestController
@RequestMapping("/messageInfo")
public class SysCarMessageController extends BaseController {
@Resource
private ISysCarMessageService sysCarMessageService;
@Autowired
private HttpSession session;
static String TEST = "56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56";
/**
*
*/
// @RequiresPermissions("message:message:list")
@Transactional
@GetMapping("/list")
public Result<List<SysCarMessage>> list(SysCarMessage sysCarMessage) throws ExecutionException, InterruptedException {
List<SysCarMessage> list = sysCarMessageService.selectSysCarMessageList(sysCarMessage);
if (list == null || list.isEmpty()) {
return Result.error(); //为空返回错误信息
}
String[] test = TEST.split(" ");
String[] results = new String[list.size()];
List<CompletableFuture<String>> futures = new ArrayList<>();
for (SysCarMessage carMessage : list) {
futures.add(CompletableFuture.supplyAsync(() -> {
int start = Integer.parseInt(carMessage.getMessageStartIndex()) - 1;
int end = Integer.parseInt(carMessage.getMessageEndIndex());
StringBuilder hexBuilder = new StringBuilder();
for (int i = start; i < end; i++) {
hexBuilder.append(test[i]);
}
String hex = hexBuilder.toString();
char[] result = new char[hex.length() / 2];
for (int x = 0; x < hex.length(); x += 2) {
int high = Character.digit(hex.charAt(x), 16);
int low = Character.digit(hex.charAt(x + 1), 16);
result[x / 2] = (char) ((high << 4) + low);
}
return new String(result);
}));
}
for (int i = 0; i < futures.size(); i++) {
results[i] = futures.get(i).get();
}
String jsonString = JSONObject.toJSONString(results);
log.info("消息发送成功:{}", jsonString);
return Result.success(list);
}
@RequiresPermissions("message:message:dobList")
@GetMapping("/dobList")
public Result<List<SysMessageResp>> dobList(SysMessageResp sysMessageResp) {
List<SysMessageResp> list = sysCarMessageService.dobList(sysMessageResp);
return Result.success(list);
}
/**
*
*/
@RequiresPermissions("message:message:export")
@PostMapping("/export")
public void export(HttpServletResponse response, SysCarMessage sysCarMessage) {
List<SysCarMessage> list = sysCarMessageService.selectSysCarMessageList(sysCarMessage);
ExcelUtil<SysCarMessage> util = new ExcelUtil<SysCarMessage>(SysCarMessage.class);
util.exportExcel(response, list, "车辆报文记录数据");
}
/**
*
*/
@RequiresPermissions("message:message:query")
@GetMapping(value = "/{id}")
public Result<List<SysCarMessage>> getInfo(@PathVariable("id") Long id) {
return success(sysCarMessageService.selectSysCarMessageById(id));
}
/**
*
*/
@RequiresPermissions("message:message:add")
@PostMapping
public Result<Integer> add(
@Validated @RequestBody SysCarMessage sysCarMessage) {
if (sysCarMessageService.checkIdUnique(sysCarMessage)) {
return error("新增 车辆报文记录 '" + sysCarMessage + "'失败,车辆报文记录已存在");
}
return toAjax(sysCarMessageService.save(sysCarMessage));
}
/**
*
*/
@RequiresPermissions("message:message:edit")
@PutMapping
public Result<Integer> edit(
@Validated @RequestBody SysCarMessage sysCarMessage) {
if (!sysCarMessageService.checkIdUnique(sysCarMessage)) {
return error("修改 车辆报文记录 '" + sysCarMessage + "'失败,车辆报文记录不存在");
}
return toAjax(sysCarMessageService.updateById(sysCarMessage));
}
/**
*
*/
@RequiresPermissions("message:message:remove")
@DeleteMapping("/{ids}")
public Result<Integer> remove(@PathVariable("ids") Long[] ids) {
sysCarMessageService.removeBatchByIds(Arrays.asList(ids));
return success();
}
}

View File

@ -1,22 +1,18 @@
package com.muyu.carrail.controller;
package com.muyu.enterprise.controller;
import java.util.Arrays;
import java.util.List;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils;
import jakarta.annotation.Resource;
import com.muyu.enterprise.domain.SysCorpuscle;
import com.muyu.enterprise.service.ISysCorpuscleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.muyu.carrail.domain.SysCorpuscle;
import com.muyu.carrail.service.ISysCorpuscleService;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import java.util.Arrays;
import java.util.List;
/**
* Controller

View File

@ -1,26 +1,19 @@
package com.muyu.carrail.controller;
package com.muyu.enterprise.controller;
import java.util.Arrays;
import java.util.List;
import com.muyu.carrail.domain.SysFence;
import com.muyu.carrail.service.ISysFenceService;
import jakarta.servlet.http.HttpServletResponse;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import org.springframework.validation.annotation.Validated;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.enterprise.domain.SysFence;
import com.muyu.enterprise.service.ISysFenceService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* Controller

View File

@ -0,0 +1,108 @@
package com.muyu.enterprise.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.enterprise.domain.SysMessageType;
import com.muyu.enterprise.service.ISysMessageTypeService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* Controller
*
* @author muyu
* @date 2024-09-18
*/
@RestController
@RequestMapping("/messageType")
public class SysMessageTypeController extends BaseController {
@Resource
private ISysMessageTypeService sysMessageTypeService;
/**
*
*/
@RequiresPermissions("message:messageType:list")
@GetMapping("/list")
public Result<List<SysMessageType>> list(SysMessageType sysMessageType)
{
List<SysMessageType> list = sysMessageTypeService.selectSysMessageTypeList(sysMessageType);
return Result.success(list);
}
/**
*
*/
@RequiresPermissions("message:messageType:export")
@PostMapping("/export")
public void export(HttpServletResponse response, SysMessageType sysMessageType)
{
List<SysMessageType> list = sysMessageTypeService.selectSysMessageTypeList(sysMessageType);
ExcelUtil<SysMessageType> util = new ExcelUtil<SysMessageType>(SysMessageType.class);
util.exportExcel(response, list, "车辆报文类型数据");
}
/**
*
*/
@RequiresPermissions("message:messageType:query")
@GetMapping(value = "/{messageCode}")
public Result<List<SysMessageType>> getInfo(@PathVariable("messageCode") String[] messageCodes)
{
SysMessageType[] list = new SysMessageType[messageCodes.length]; // 确保数组大小
for (int i = 0; i < messageCodes.length; i++) {
list[i] = sysMessageTypeService.selectSysMessageTypeByMessageCode(messageCodes[i]);
}
return success(list);
}
/**
*
*/
@RequiresPermissions("message:messageType:add")
@PostMapping
public Result<Integer> add(
@Validated @RequestBody SysMessageType sysMessageType)
{
if (sysMessageTypeService.checkIdUnique(sysMessageType)) {
return error("新增 车辆报文类型 '" + sysMessageType + "'失败,车辆报文类型已存在");
}
return toAjax(sysMessageTypeService.save(sysMessageType));
}
/**
*
*/
@RequiresPermissions("message:messageType:edit")
@PutMapping
public Result<Integer> edit(
@Validated @RequestBody SysMessageType sysMessageType)
{
if (!sysMessageTypeService.checkIdUnique(sysMessageType)) {
return error("修改 车辆报文类型 '" + sysMessageType + "'失败,车辆报文类型不存在");
}
return toAjax(sysMessageTypeService.updateById(sysMessageType));
}
/**
*
*/
@RequiresPermissions("message:messageType:remove")
@DeleteMapping("/{ids}")
public Result<Integer> remove(@PathVariable("ids") Long[] ids)
{
sysMessageTypeService.removeBatchByIds(Arrays.asList(ids));
return success();
}
}

View File

@ -0,0 +1,104 @@
package com.muyu.enterprise.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.enterprise.domain.WarnLogs;
import com.muyu.enterprise.service.IWarnLogsService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* Controller
*
* @author muyu
* @date 2024-09-20
*/
@RestController
@RequestMapping("/logs")
public class WarnLogsController extends BaseController
{
@Resource
private IWarnLogsService warnLogsService;
/**
*
*/
@RequiresPermissions("warning:logs:list")
@GetMapping("/list")
public Result<TableDataInfo<WarnLogs>> list(WarnLogs warnLogs)
{
startPage();
List<WarnLogs> list = warnLogsService.selectWarnLogsList(warnLogs);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("warning:logs:export")
@PostMapping("/export")
public void export(HttpServletResponse response, WarnLogs warnLogs)
{
List<WarnLogs> list = warnLogsService.selectWarnLogsList(warnLogs);
ExcelUtil<WarnLogs> util = new ExcelUtil<WarnLogs>(WarnLogs.class);
util.exportExcel(response, list, "预警日志数据");
}
/**
*
*/
@RequiresPermissions("warning:logs:query")
@GetMapping(value = "/{id}")
public Result<List<WarnLogs>> getInfo(@PathVariable("id") Long id)
{
return success(warnLogsService.selectWarnLogsById(id));
}
/**
*
*/
@RequiresPermissions("warning:logs:add")
@PostMapping
public Result<Integer> add(
@Validated @RequestBody WarnLogs warnLogs)
{
if (warnLogsService.checkIdUnique(warnLogs)) {
return error("新增 预警日志 '" + warnLogs + "'失败,预警日志已存在");
}
return toAjax(warnLogsService.save(warnLogs));
}
/**
*
*/
@RequiresPermissions("warning:logs:edit")
@PutMapping
public Result<Integer> edit(
@Validated @RequestBody WarnLogs warnLogs)
{
if (!warnLogsService.checkIdUnique(warnLogs)) {
return error("修改 预警日志 '" + warnLogs + "'失败,预警日志不存在");
}
return toAjax(warnLogsService.updateById(warnLogs));
}
/**
*
*/
@RequiresPermissions("warning:logs:remove")
@DeleteMapping("/{ids}")
public Result<Integer> remove(@PathVariable("ids") Long[] ids)
{
warnLogsService.removeBatchByIds(Arrays.asList(ids));
return success();
}
}

View File

@ -0,0 +1,98 @@
package com.muyu.enterprise.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.enterprise.domain.WarnRule;
import com.muyu.enterprise.service.IWarnRuleService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* Controller
*
* @author muyu
* @date 2024-09-20
*/
@RestController
@RequestMapping("/rule")
public class WarnRuleController extends BaseController {
@Resource
private IWarnRuleService warnRuleService;
/**
*
*/
@RequiresPermissions("warning:list")
@GetMapping("/list")
public Result<TableDataInfo<WarnRule>> list(WarnRule warnRule) {
startPage();
List<WarnRule> list = warnRuleService.selectWarnRuleList(warnRule);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("warning:export")
@PostMapping("/export")
public void export(HttpServletResponse response, WarnRule warnRule) {
List<WarnRule> list = warnRuleService.selectWarnRuleList(warnRule);
ExcelUtil<WarnRule> util = new ExcelUtil<WarnRule>(WarnRule.class);
util.exportExcel(response, list, "预警规则数据");
}
/**
*
*/
@RequiresPermissions("warning:query")
@GetMapping(value = "/{id}")
public Result<List<WarnRule>> getInfo(@PathVariable("id") Long id) {
return success(warnRuleService.selectWarnRuleById(id));
}
/**
*
*/
@RequiresPermissions("warning:add")
@PostMapping
public Result<Integer> add(
@Validated @RequestBody WarnRule warnRule) {
if (warnRuleService.checkIdUnique(warnRule)) {
return error("新增 预警规则 '" + warnRule + "'失败,预警规则已存在");
}
return toAjax(warnRuleService.save(warnRule));
}
/**
*
*/
@RequiresPermissions("warning:edit")
@PutMapping
public Result<Integer> edit(
@Validated @RequestBody WarnRule warnRule) {
if (!warnRuleService.checkIdUnique(warnRule)) {
return error("修改 预警规则 '" + warnRule + "'失败,预警规则不存在");
}
return toAjax(warnRuleService.updateById(warnRule));
}
/**
*
*/
@RequiresPermissions("warning:remove")
@DeleteMapping("/{ids}")
public Result<Integer> remove(@PathVariable("ids") Long[] ids) {
warnRuleService.removeBatchByIds(Arrays.asList(ids));
return success();
}
}

View File

@ -0,0 +1,104 @@
package com.muyu.enterprise.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.enterprise.domain.WarnStrategy;
import com.muyu.enterprise.service.IWarnStrategyService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* Controller
*
* @author muyu
* @date 2024-09-20
*/
@RestController
@RequestMapping("/strategy")
public class WarnStrategyController extends BaseController
{
@Resource
private IWarnStrategyService warnStrategyService;
/**
*
*/
@RequiresPermissions("warning:strategy:list")
@GetMapping("/list")
public Result<TableDataInfo<WarnStrategy>> list(WarnStrategy warnStrategy)
{
startPage();
List<WarnStrategy> list = warnStrategyService.selectWarnStrategyList(warnStrategy);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("warning:strategy:export")
@PostMapping("/export")
public void export(HttpServletResponse response, WarnStrategy warnStrategy)
{
List<WarnStrategy> list = warnStrategyService.selectWarnStrategyList(warnStrategy);
ExcelUtil<WarnStrategy> util = new ExcelUtil<WarnStrategy>(WarnStrategy.class);
util.exportExcel(response, list, "预警策略数据");
}
/**
*
*/
@RequiresPermissions("warning:strategy:query")
@GetMapping(value = "/{id}")
public Result<List<WarnStrategy>> getInfo(@PathVariable("id") Long id)
{
return success(warnStrategyService.selectWarnStrategyById(id));
}
/**
*
*/
@RequiresPermissions("warning:strategy:add")
@PostMapping
public Result<Integer> add(
@Validated @RequestBody WarnStrategy warnStrategy)
{
if (warnStrategyService.checkIdUnique(warnStrategy)) {
return error("新增 预警策略 '" + warnStrategy + "'失败,预警策略已存在");
}
return toAjax(warnStrategyService.save(warnStrategy));
}
/**
*
*/
@RequiresPermissions("warning:strategy:edit")
@PutMapping
public Result<Integer> edit(
@Validated @RequestBody WarnStrategy warnStrategy)
{
if (!warnStrategyService.checkIdUnique(warnStrategy)) {
return error("修改 预警策略 '" + warnStrategy + "'失败,预警策略不存在");
}
return toAjax(warnStrategyService.updateById(warnStrategy));
}
/**
*
*/
@RequiresPermissions("warning:strategy:remove")
@DeleteMapping("/{ids}")
public Result<Integer> remove(@PathVariable("ids") Long[] ids)
{
warnStrategyService.removeBatchByIds(Arrays.asList(ids));
return success();
}
}

View File

@ -0,0 +1,155 @@
package com.muyu.enterprise.controller;
import com.muyu.enterprise.message.Article;
import com.muyu.enterprise.message.NewMessage;
import com.muyu.enterprise.util.TokenUtil;
import com.muyu.enterprise.wx.Message;
import com.thoughtworks.xstream.XStream;
import io.micrometer.common.util.StringUtils;
import jakarta.servlet.ServletInputStream;
import jakarta.servlet.http.HttpServletRequest;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.*;
/**
*
* @Author Chen
* @nameGetWxController
*/
@RestController
public class WxTestController {
@PostMapping("/")
public String receiveMessage(HttpServletRequest request) {
ServletInputStream inputStream = null;
HashMap<String, String> map = new HashMap<>();
try {
inputStream = request.getInputStream();
SAXReader saxReader = new SAXReader();
//读取request输入流获得Document对象
Document document = saxReader.read(inputStream);
//获得root结点
Element rootElement = document.getRootElement();
//获取所有的子节点
List<Element> elements = rootElement.elements();
for (Element element : elements) {
map.put(element.getName(), element.getStringValue());
}
} catch (IOException e) {
throw new RuntimeException(e);
} catch (DocumentException e) {
throw new RuntimeException(e);
}
System.out.println(map);
//回复消息
String message = "";
if ("图文".equals(map.get("Content"))) {
message = getReplyNewsMessage(map);
} else {
message = getReplyMessage(map);
}
return message;
}
/**
*
*
* @param map
* @return
*/
private String getReplyMessage(HashMap<String, String> map) {
Message message = new Message();
message.setToUserName(map.get("FromUserName"));
message.setFromUserName(map.get("ToUserName"));
// message.setMsgType(map.get("MsgType"));
message.setMsgType("text");
message.setCreateTime(System.currentTimeMillis() / 1000);
message.setContent("自动回复:您好");
//XStream将java对象转换为xml字符串
XStream xStream = new XStream();
xStream.processAnnotations(Message.class);
String xml = xStream.toXML(message);
return xml;
}
@GetMapping("/")
public String check(@RequestParam("signature") String signature, @RequestParam("timestamp") String timestamp,
@RequestParam("nonce") String nonce, @RequestParam("echostr") String echostr) {
//1.将token、timestamp、nonce三个参数进行字典排序
String token = "asdasd";
List<String> list = Arrays.asList(token, timestamp, nonce);
//排序
Collections.sort(list);
//2.将三个参数字符串拼接成一个字符串进行sha1加密
StringBuilder stringBuilder = new StringBuilder();
for (String s : list) {
stringBuilder.append(s);
}
//加密
try {
MessageDigest instance = MessageDigest.getInstance("sha1");
//使用sha1进行加密,获得byte数组
byte[] digest = instance.digest(stringBuilder.toString().getBytes());
StringBuilder sum = new StringBuilder();
for (byte b : digest) {
sum.append(Integer.toHexString((b >> 4) & 15));
sum.append(Integer.toHexString(b & 15));
}
//3.开发者获得加密后的字符串可与signature对比标识该请求来源于微信
if (!StringUtils.isEmpty(signature) && signature.equals(sum.toString())) {
return echostr;
}
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
return null;
}
@PostMapping("/test")
public void test() {
String accessToken = TokenUtil.getAccessToken();
System.out.println(accessToken);
}
private String getReplyNewsMessage(Map<String, String> map) {
NewMessage newsMessage = new NewMessage();
newsMessage.setToUserName(map.get("FromUserName"));
newsMessage.setFromUserName(map.get("ToUserName"));
newsMessage.setMsgType("news");
newsMessage.setCreateTime(System.currentTimeMillis() / 1000);
newsMessage.setArticleCount(1);
List<Article> articles = new ArrayList<>();
Article article = new Article();
article.setTitle("oneone哦恩恩");
article.setDescription("详细描述--------------信息");
article.setUrl("https://www.baidu.com");
article.setPicUrl("http://mmbiz.qpic.cn/mmbiz_jpg/RiaWwmABEMmkFKQMeQZLLYaxknlzE9CxSozVSH42iaXiaQcia5hPPUicuNYbS8dG99zsMZ1ic266ialM42Mbn8SkN54kA/0");
articles.add(article);
newsMessage.setArticles(articles);
//XStream将java对象转换为xml字符串
XStream xStream = new XStream();
xStream.processAnnotations(NewMessage.class);
String xml = xStream.toXML(newsMessage);
return xml;
}
}

View File

@ -1,7 +1,8 @@
package com.muyu.breakdown.mapper;
package com.muyu.enterprise.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.muyu.breakdown.domain.BreakDown;
import com.muyu.enterprise.domain.BreakDown;
import org.apache.ibatis.annotations.Mapper;
/**

View File

@ -1,8 +1,7 @@
package com.muyu.breakdown.mapper;
package com.muyu.enterprise.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.breakdown.domain.FaultLog;
import com.muyu.enterprise.domain.FaultLog;
import org.apache.ibatis.annotations.Mapper;
/**

View File

@ -1,8 +1,8 @@
package com.muyu.breakdown.mapper;
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.muyu.breakdown.domain.Messages;
import com.muyu.enterprise.domain.Messages;
import org.apache.ibatis.annotations.Mapper;
/**

View File

@ -0,0 +1,15 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.enterprise.domain.SysCar;
/**
* Mapper
*
* @author muyu
* @date 2024-09-17
*/
public interface SysCarMapper extends BaseMapper<SysCar>{
}

View File

@ -0,0 +1,20 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.enterprise.domain.SysCarMessage;
import com.muyu.enterprise.resp.SysMessageResp;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* Mapper
*
* @author muyu
* @date 2024-09-18
*/
@Mapper
public interface SysCarMessageMapper extends BaseMapper<SysCarMessage>{
List<SysMessageResp>dobList(SysMessageResp sysMessageResp);
}

View File

@ -1,9 +1,10 @@
package com.muyu.carrail.mapper;
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.enterprise.domain.SysCorpuscle;
import java.util.List;
import com.muyu.carrail.domain.SysCorpuscle;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper

View File

@ -1,9 +1,9 @@
package com.muyu.carrail.mapper;
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.carrail.domain.SysFence;
import org.apache.ibatis.annotations.Mapper;
import com.muyu.enterprise.domain.SysFence;
/**
* Mapper

View File

@ -0,0 +1,16 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.enterprise.domain.SysMessageType;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author muyu
* @date 2024-09-18
*/
@Mapper
public interface SysMessageTypeMapper extends BaseMapper<SysMessageType> {
}

View File

@ -0,0 +1,16 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.enterprise.domain.WarnLogs;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author muyu
* @date 2024-09-20
*/
@Mapper
public interface WarnLogsMapper extends BaseMapper<WarnLogs>{
}

View File

@ -0,0 +1,17 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.enterprise.domain.WarnRule;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author muyu
* @date 2024-09-20
*/
@Mapper
public interface WarnRuleMapper extends BaseMapper<WarnRule> {
}

View File

@ -0,0 +1,16 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.enterprise.domain.WarnStrategy;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author muyu
* @date 2024-09-20
*/
@Mapper
public interface WarnStrategyMapper extends BaseMapper<WarnStrategy>{
}

View File

@ -0,0 +1,28 @@
package com.muyu.enterprise.message;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @ClassName Article
* @Description
* @Author Chen
* @Date 2024/9/18 19:13
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@XStreamAlias("item")
public class Article {
@XStreamAlias("Title")
private String title;
@XStreamAlias("Description")
private String description;
@XStreamAlias("PicUrl")
private String picUrl;
@XStreamAlias("Url")
private String url;
}

View File

@ -0,0 +1,34 @@
package com.muyu.enterprise.message;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @ClassName NewMessage
* @Description
* @Author Chen
* @Date 2024/9/18 19:08
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@XStreamAlias("xml")
public class NewMessage {
@XStreamAlias("ToUserName")
private String toUserName;
@XStreamAlias("FromUserName")
private String fromUserName;
@XStreamAlias("CreateTime")
private long createTime;
@XStreamAlias("MsgType")
private String msgType;
@XStreamAlias("ArticleCount")
private int articleCount;
@XStreamAlias("Articles")
private List<Article> articles;
}

View File

@ -1,8 +1,9 @@
package com.muyu.breakdown.service;
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.breakdown.domain.BreakDown;
import com.muyu.breakdown.domain.MessageMap;
import com.muyu.enterprise.domain.BreakDown;
import com.muyu.enterprise.domain.MessageMap;
import java.util.List;
import java.util.Map;

View File

@ -1,8 +1,10 @@
package com.muyu.breakdown.service;
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.enterprise.domain.FaultLog;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.breakdown.domain.FaultLog;
/**
* Service

View File

@ -0,0 +1,44 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.enterprise.domain.SysCarMessage;
import com.muyu.enterprise.resp.SysMessageResp;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-18
*/
public interface ISysCarMessageService extends IService<SysCarMessage> {
List<SysMessageResp>dobList(SysMessageResp sysMessageResp);
/**
*
*
* @param id
* @return
*/
public SysCarMessage selectSysCarMessageById(Long id);
/**
*
*
* @param sysCarMessage
* @return
*/
public List<SysCarMessage> selectSysCarMessageList(SysCarMessage sysCarMessage);
/**
* id
* @param sysCarMessage
* @return
*/
Boolean checkIdUnique(SysCarMessage sysCarMessage);
// Boolean checkById(SysCarMessage sysCarMessage);
}

View File

@ -0,0 +1,38 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.enterprise.domain.SysCar;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-17
*/
public interface ISysCarService extends IService<SysCar> {
/**
*
*
* @param id
* @return
*/
public SysCar selectSysCarById(Long id);
/**
*
*
* @param sysCar
* @return
*/
public List<SysCar> selectSysCarList(SysCar sysCar);
/**
* id
* @param sysCar
* @return
*/
Boolean checkIdUnique(SysCar sysCar);
}

View File

@ -1,8 +1,9 @@
package com.muyu.carrail.service;
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.enterprise.domain.SysCorpuscle;
import java.util.List;
import com.muyu.carrail.domain.SysCorpuscle;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* Service

View File

@ -1,9 +1,10 @@
package com.muyu.carrail.service;
import java.util.List;
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.carrail.domain.SysFence;
import com.muyu.enterprise.domain.SysFence;
import java.util.List;
/**
* Service

View File

@ -0,0 +1,41 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.enterprise.domain.SysMessageType;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-18
*/
public interface ISysMessageTypeService extends IService<SysMessageType> {
/**
*
*
* @param messageCode
* @return
*/
public SysMessageType selectSysMessageTypeByMessageCode(String messageCode);
/**
*
*
* @param sysMessageType
* @return
*/
public List<SysMessageType> selectSysMessageTypeList(SysMessageType sysMessageType);
/**
* id
* @param sysMessageType
* @return
*/
Boolean checkIdUnique(SysMessageType sysMessageType);
}

View File

@ -0,0 +1,39 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.enterprise.domain.WarnLogs;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-20
*/
public interface IWarnLogsService extends IService<WarnLogs> {
/**
*
*
* @param id
* @return
*/
public WarnLogs selectWarnLogsById(Long id);
/**
*
*
* @param warnLogs
* @return
*/
public List<WarnLogs> selectWarnLogsList(WarnLogs warnLogs);
/**
* id
* @param warnLogs
* @return
*/
Boolean checkIdUnique(WarnLogs warnLogs);
}

View File

@ -0,0 +1,39 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.enterprise.domain.WarnRule;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-20
*/
public interface IWarnRuleService extends IService<WarnRule> {
/**
*
*
* @param id
* @return
*/
public WarnRule selectWarnRuleById(Long id);
/**
*
*
* @param warnRule
* @return
*/
public List<WarnRule> selectWarnRuleList(WarnRule warnRule);
/**
* id
* @param warnRule
* @return
*/
Boolean checkIdUnique(WarnRule warnRule);
}

View File

@ -0,0 +1,39 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.enterprise.domain.WarnStrategy;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-20
*/
public interface IWarnStrategyService extends IService<WarnStrategy> {
/**
*
*
* @param id
* @return
*/
public WarnStrategy selectWarnStrategyById(Long id);
/**
*
*
* @param warnStrategy
* @return
*/
public List<WarnStrategy> selectWarnStrategyList(WarnStrategy warnStrategy);
/**
* id
* @param warnStrategy
* @return
*/
Boolean checkIdUnique(WarnStrategy warnStrategy);
}

View File

@ -1,7 +1,7 @@
package com.muyu.breakdown.service;
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.breakdown.domain.Messages;
import com.muyu.enterprise.domain.Messages;
import java.util.List;

View File

@ -1,15 +1,15 @@
package com.muyu.breakdown.service;
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.breakdown.domain.SysCarMessage;
import com.muyu.enterprise.domain.SysCarMessage;
/**
* @author Lenovo
* @ ToolIntelliJ IDEA
* @ AuthorCHX
* @ Date2024-09-20-15:42
* @ Version1.0
* @ Description
* @author Lenovo
*/
public interface SysCarMessageService extends IService<SysCarMessage> {
}

View File

@ -1,22 +1,19 @@
package com.muyu.breakdown.service.impl;
package com.muyu.enterprise.service.impl;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.muyu.breakdown.domain.BreakDown;
import com.muyu.breakdown.domain.MessageMap;
import com.muyu.breakdown.domain.SysCarMessage;
import com.muyu.breakdown.mapper.BreakDownMapper;
import com.muyu.breakdown.service.BreakDownService;
import com.muyu.breakdown.service.SysCarMessageService;
import com.muyu.common.core.utils.StringUtils;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import com.muyu.enterprise.domain.BreakDown;
import com.muyu.enterprise.domain.MessageMap;
import com.muyu.enterprise.mapper.BreakDownMapper;
import com.muyu.enterprise.service.BreakDownService;
import com.muyu.enterprise.service.SysCarMessageService;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

View File

@ -1,11 +1,11 @@
package com.muyu.breakdown.service.impl;
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.breakdown.domain.FaultLog;
import com.muyu.breakdown.mapper.FaultLogMapper;
import com.muyu.breakdown.service.IFaultLogService;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.enterprise.domain.FaultLog;
import com.muyu.enterprise.mapper.FaultLogMapper;
import com.muyu.enterprise.service.IFaultLogService;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;

View File

@ -1,10 +1,9 @@
package com.muyu.breakdown.service.impl;
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.breakdown.domain.Messages;
import com.muyu.breakdown.mapper.StationMessageMapper;
import com.muyu.breakdown.service.StationMessageService;
import com.muyu.enterprise.domain.Messages;
import com.muyu.enterprise.mapper.StationMessageMapper;
import com.muyu.enterprise.service.StationMessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@ -0,0 +1,89 @@
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.enterprise.domain.SysCarMessage;
import com.muyu.enterprise.mapper.SysCarMessageMapper;
import com.muyu.enterprise.resp.SysMessageResp;
import com.muyu.enterprise.service.ISysCarMessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-18
*/
@Service
public class SysCarMessageServiceImpl
extends ServiceImpl<SysCarMessageMapper, SysCarMessage>
implements ISysCarMessageService {
@Autowired
private SysCarMessageMapper mapper;
@Override
public List<SysMessageResp> dobList(SysMessageResp sysMessageResp) {
return mapper.dobList(sysMessageResp);
}
/**
*
*
* @param id
* @return
*/
@Override
public SysCarMessage selectSysCarMessageById(Long id) {
LambdaQueryWrapper<SysCarMessage> queryWrapper = new LambdaQueryWrapper<>();
Assert.notNull(id, "id不可为空");
queryWrapper.eq(SysCarMessage::getId, id);
return this.getOne(queryWrapper);
}
/**
*
*
* @param sysCarMessage
* @return
*/
@Override
public List<SysCarMessage> selectSysCarMessageList(SysCarMessage sysCarMessage) {
LambdaQueryWrapper<SysCarMessage> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(sysCarMessage.getModelCode())) {
queryWrapper.eq(SysCarMessage::getModelCode, sysCarMessage.getModelCode());
}
if (StringUtils.isNotEmpty(sysCarMessage.getMessageType())) {
queryWrapper.eq(SysCarMessage::getMessageType, sysCarMessage.getMessageType());
}
return this.list(queryWrapper);
}
/**
*
*
* @param sysCarMessage
* @return
*/
@Override
public Boolean checkIdUnique(SysCarMessage sysCarMessage) {
LambdaQueryWrapper<SysCarMessage> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysCarMessage::getId, sysCarMessage.getId());
return this.count(queryWrapper) > 0;
}
//
// @Override
// public Boolean checkById(SysMessageType sysMessageType) {
// LambdaQueryWrapper<SysCarMessage> sysCarMessageLambdaQueryWrapper = new LambdaQueryWrapper<>();
// sysCarMessageLambdaQueryWrapper.eq(SysCarMessage::getMessageType, sysMessageType);
//// sysCarMessageLambdaQueryWrapper.eq(SysCarMessage::getMessageType, sysMessageType);
// sysCarMessageLambdaQueryWrapper.eq(SysCarMessage::get, sysMessageType);
//// return this.count(sysCarMessageLambdaQueryWrapper) > 0;
// }
}

View File

@ -0,0 +1,91 @@
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.enterprise.domain.SysCar;
import com.muyu.enterprise.mapper.SysCarMapper;
import com.muyu.enterprise.service.ISysCarService;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-17
*/
@Service
public class SysCarServiceImpl
extends ServiceImpl<SysCarMapper, SysCar>
implements ISysCarService {
/**
*
*
* @param id
* @return
*/
@Override
public SysCar selectSysCarById(Long id)
{
LambdaQueryWrapper<SysCar> queryWrapper = new LambdaQueryWrapper<>();
Assert.notNull(id, "id不可为空");
queryWrapper.eq(SysCar::getId, id);
return this.getOne(queryWrapper);
}
/**
*
*
* @param sysCar
* @return
*/
@Override
public List<SysCar> selectSysCarList(SysCar sysCar)
{
LambdaQueryWrapper<SysCar> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(sysCar.getCarVin())){
queryWrapper.eq(SysCar::getCarVin, sysCar.getCarVin());
}
if (StringUtils.isNotEmpty(sysCar.getCarPlate())){
queryWrapper.eq(SysCar::getCarPlate, sysCar.getCarPlate());
}
if (StringUtils.isNotEmpty(sysCar.getCarBrand())){
queryWrapper.eq(SysCar::getCarBrand, sysCar.getCarBrand());
}
if (StringUtils.isNotEmpty(sysCar.getCarModel())){
queryWrapper.eq(SysCar::getCarModel, sysCar.getCarModel());
}
if (StringUtils.isNotEmpty(sysCar.getCarType())){
queryWrapper.eq(SysCar::getCarType, sysCar.getCarType());
}
if (sysCar.getCarLastJoinTime()!= null){
queryWrapper.eq(SysCar::getCarLastJoinTime, sysCar.getCarLastJoinTime());
}
if (sysCar.getCarLastOfflineTime()!= null){
queryWrapper.eq(SysCar::getCarLastOfflineTime, sysCar.getCarLastOfflineTime());
}
if (StringUtils.isNotEmpty(sysCar.getState())){
queryWrapper.eq(SysCar::getState, sysCar.getState());
}
return this.list(queryWrapper);
}
/**
*
* @param sysCar
* @return
*/
@Override
public Boolean checkIdUnique(SysCar sysCar) {
LambdaQueryWrapper<SysCar> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysCar::getId, sysCar.getId());
return this.count(queryWrapper) > 0;
}
}

View File

@ -1,15 +1,14 @@
package com.muyu.carrail.service.impl;
package com.muyu.enterprise.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.enterprise.domain.SysCorpuscle;
import com.muyu.enterprise.mapper.SysCorpuscleMapper;
import com.muyu.enterprise.service.ISysCorpuscleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.muyu.carrail.mapper.SysCorpuscleMapper;
import com.muyu.carrail.domain.SysCorpuscle;
import com.muyu.carrail.service.ISysCorpuscleService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.util.Assert;
import java.util.List;
/**
* Service

View File

@ -1,18 +1,16 @@
package com.muyu.carrail.service.impl;
import java.util.List;
package com.muyu.enterprise.service.impl;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.muyu.carrail.domain.SysCorpuscle;
import com.muyu.carrail.domain.SysFence;
import com.muyu.carrail.mapper.SysFenceMapper;
import com.muyu.carrail.service.ISysFenceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.enterprise.domain.SysFence;
import com.muyu.enterprise.mapper.SysFenceMapper;
import com.muyu.enterprise.service.ISysFenceService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;

View File

@ -0,0 +1,73 @@
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.enterprise.domain.SysMessageType;
import com.muyu.enterprise.mapper.SysMessageTypeMapper;
import com.muyu.enterprise.service.ISysMessageTypeService;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-18
*/
@Service
public class SysMessageTypeServiceImpl
extends ServiceImpl<SysMessageTypeMapper, SysMessageType>
implements ISysMessageTypeService {
/**
*
*
* @param
* @return
*/
@Override
public SysMessageType selectSysMessageTypeByMessageCode(String messageCode)
{
LambdaQueryWrapper<SysMessageType> queryWrapper = new LambdaQueryWrapper<>();
Assert.notNull(messageCode, "messageCode不可为空");
queryWrapper.eq(SysMessageType::getMessageCode, messageCode);
return this.getOne(queryWrapper);
}
/**
*
*
* @param sysMessageType
* @return
*/
@Override
public List<SysMessageType> selectSysMessageTypeList(SysMessageType sysMessageType)
{
LambdaQueryWrapper<SysMessageType> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(sysMessageType.getMessageName())){
queryWrapper.like(SysMessageType::getMessageName, sysMessageType.getMessageName());
}
if (StringUtils.isNotEmpty(sysMessageType.getMessageType())){
queryWrapper.eq(SysMessageType::getMessageType, sysMessageType.getMessageType());
}
return this.list(queryWrapper);
}
/**
*
* @param sysMessageType
* @return
*/
@Override
public Boolean checkIdUnique(SysMessageType sysMessageType) {
LambdaQueryWrapper<SysMessageType> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysMessageType::getId, sysMessageType.getId());
return this.count(queryWrapper) > 0;
}
}

View File

@ -0,0 +1,94 @@
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.enterprise.domain.WarnLogs;
import com.muyu.enterprise.mapper.WarnLogsMapper;
import com.muyu.enterprise.service.IWarnLogsService;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-20
*/
@Service
public class WarnLogsServiceImpl
extends ServiceImpl<WarnLogsMapper, WarnLogs>
implements IWarnLogsService {
/**
*
*
* @param id
* @return
*/
@Override
public WarnLogs selectWarnLogsById(Long id)
{
LambdaQueryWrapper<WarnLogs> queryWrapper = new LambdaQueryWrapper<>();
Assert.notNull(id, "id不可为空");
queryWrapper.eq(WarnLogs::getId, id);
return this.getOne(queryWrapper);
}
/**
*
*
* @param warnLogs
* @return
*/
@Override
public List<WarnLogs> selectWarnLogsList(WarnLogs warnLogs)
{
LambdaQueryWrapper<WarnLogs> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(warnLogs.getVin())){
queryWrapper.eq(WarnLogs::getVin, warnLogs.getVin());
}
if (StringUtils.isNotNull(warnLogs.getWarnRuleId())){
queryWrapper.eq(WarnLogs::getWarnRuleId, warnLogs.getWarnRuleId());
}
if (StringUtils.isNotNull(warnLogs.getStartTime())){
queryWrapper.eq(WarnLogs::getStartTime, warnLogs.getStartTime());
}
if (StringUtils.isNotNull(warnLogs.getEndTime())){
queryWrapper.eq(WarnLogs::getEndTime, warnLogs.getEndTime());
}
if (StringUtils.isNotNull(warnLogs.getMaxValue())){
queryWrapper.eq(WarnLogs::getMaxValue, warnLogs.getMaxValue());
}
if (StringUtils.isNotNull(warnLogs.getMinValue())){
queryWrapper.eq(WarnLogs::getMinValue, warnLogs.getMinValue());
}
if (StringUtils.isNotNull(warnLogs.getAvgValue())){
queryWrapper.eq(WarnLogs::getAvgValue, warnLogs.getAvgValue());
}
if (StringUtils.isNotNull(warnLogs.getMedianValue())){
queryWrapper.eq(WarnLogs::getMedianValue, warnLogs.getMedianValue());
}
if (StringUtils.isNotNull(warnLogs.getStatus())){
queryWrapper.eq(WarnLogs::getStatus, warnLogs.getStatus());
}
return this.list(queryWrapper);
}
/**
*
* @param warnLogs
* @return
*/
@Override
public Boolean checkIdUnique(WarnLogs warnLogs) {
LambdaQueryWrapper<WarnLogs> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(WarnLogs::getId, warnLogs.getId());
return this.count(queryWrapper) > 0;
}
}

View File

@ -0,0 +1,88 @@
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.enterprise.domain.WarnRule;
import com.muyu.enterprise.mapper.WarnRuleMapper;
import com.muyu.enterprise.service.IWarnRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-20
*/
@Service
public class WarnRuleServiceImpl
extends ServiceImpl<WarnRuleMapper, WarnRule>
implements IWarnRuleService {
@Autowired
private WarnRuleMapper warnRuleMapper;
/**
*
*
* @param id
* @return
*/
@Override
public WarnRule selectWarnRuleById(Long id) {
LambdaQueryWrapper<WarnRule> queryWrapper = new LambdaQueryWrapper<>();
Assert.notNull(id, "id不可为空");
queryWrapper.eq(WarnRule::getId, id);
return this.getOne(queryWrapper);
}
/**
*
*
* @param warnRule
* @return
*/
@Override
public List<WarnRule> selectWarnRuleList(WarnRule warnRule) {
LambdaQueryWrapper<WarnRule> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(warnRule.getRuleName())) {
queryWrapper.like(WarnRule::getRuleName, warnRule.getRuleName());
}
if (StringUtils.isNotNull(warnRule.getMsgTypeId())) {
queryWrapper.eq(WarnRule::getMsgTypeId, warnRule.getMsgTypeId());
}
if (StringUtils.isNotNull(warnRule.getSlideTime())) {
queryWrapper.eq(WarnRule::getSlideTime, warnRule.getSlideTime());
}
if (StringUtils.isNotNull(warnRule.getSlideFrequency())) {
queryWrapper.eq(WarnRule::getSlideFrequency, warnRule.getSlideFrequency());
}
if (StringUtils.isNotNull(warnRule.getMaxValue())) {
queryWrapper.eq(WarnRule::getMaxValue, warnRule.getMaxValue());
}
if (StringUtils.isNotNull(warnRule.getMinValue())) {
queryWrapper.eq(WarnRule::getMinValue, warnRule.getMinValue());
}
return this.list(queryWrapper);
}
/**
*
*
* @param warnRule
* @return
*/
@Override
public Boolean checkIdUnique(WarnRule warnRule) {
LambdaQueryWrapper<WarnRule> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(WarnRule::getId, warnRule.getId());
return this.count(queryWrapper) > 0;
}
}

View File

@ -0,0 +1,75 @@
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.enterprise.domain.WarnStrategy;
import com.muyu.enterprise.mapper.WarnStrategyMapper;
import com.muyu.enterprise.service.IWarnStrategyService;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.List;
/**
* Service
*
* @author muyu
* @date 2024-09-20
*/
@Service
public class WarnStrategyServiceImpl
extends ServiceImpl<WarnStrategyMapper, WarnStrategy>
implements IWarnStrategyService {
/**
*
*
* @param id
* @return
*/
@Override
public WarnStrategy selectWarnStrategyById(Long id)
{
LambdaQueryWrapper<WarnStrategy> queryWrapper = new LambdaQueryWrapper<>();
Assert.notNull(id, "id不可为空");
queryWrapper.eq(WarnStrategy::getId, id);
return this.getOne(queryWrapper);
}
/**
*
*
* @param warnStrategy
* @return
*/
@Override
public List<WarnStrategy> selectWarnStrategyList(WarnStrategy warnStrategy)
{
LambdaQueryWrapper<WarnStrategy> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(warnStrategy.getCarTypeId())){
queryWrapper.eq(WarnStrategy::getCarTypeId, warnStrategy.getCarTypeId());
}
if (StringUtils.isNotNull(warnStrategy.getStrategyName())){
queryWrapper.like(WarnStrategy::getStrategyName, warnStrategy.getStrategyName());
}
if (StringUtils.isNotNull(warnStrategy.getMsgId())){
queryWrapper.eq(WarnStrategy::getMsgId, warnStrategy.getMsgId());
}
return this.list(queryWrapper);
}
/**
*
* @param warnStrategy
* @return
*/
@Override
public Boolean checkIdUnique(WarnStrategy warnStrategy) {
LambdaQueryWrapper<WarnStrategy> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(WarnStrategy::getId, warnStrategy.getId());
return this.count(queryWrapper) > 0;
}
}

View File

@ -0,0 +1,36 @@
package com.muyu.enterprise.util;
import okhttp3.*;
import java.io.IOException;
public class OkHttpUtils {
private static final OkHttpClient client = new OkHttpClient();
public static String sendGetRequest(String urlString) {
Request request = new Request.Builder()
.url(urlString)
.build();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public static String sendPostRequest(String urlString, String params) {
RequestBody requestBody = RequestBody.create(params, MediaType.parse("application/json; charset=utf-8"));
Request request = new Request.Builder()
.url(urlString)
.post(requestBody)
.build();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}

View File

@ -0,0 +1,36 @@
package com.muyu.enterprise.util;
import com.alibaba.fastjson2.JSON;
import com.muyu.enterprise.wx.AccessToken;
import org.springframework.stereotype.Component;
/**
* @Author Chen //redisService.setCacheObject("WECHAT_TOKEN",wechatToken.getAccessToken(),wechatToken.getExpiresIn(), TimeUnit.SECONDS);
* @nameTokenUtil
*/
@Component
public class TokenUtil {
private final static String APP_ID = "wx591e88abd208c297";
private final static String APP_SECRET = "64d92a751ef24acc8d37b2e6d7672491";
private static AccessToken accessToken = new AccessToken();
public static void getToken() {
String url = String.format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s", APP_ID, APP_SECRET);
String request = OkHttpUtils.sendGetRequest(url);
AccessToken wechatToken = JSON.parseObject(request, AccessToken.class);
if (wechatToken != null) {
accessToken.setExpiresTime(wechatToken.getExpires_in());
accessToken.setAccess_token(wechatToken.getAccess_token());
}
}
public static String getAccessToken() {
getToken();
return accessToken.getAccess_token();
}
}

View File

@ -1,6 +1,6 @@
# Tomcat
server:
port: 10011
port: 10003
# nacos线上地址
nacos:
@ -8,18 +8,14 @@ nacos:
user-name: nacos
password: nacos
namespace: one-saas
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
amqp:
deserialization:
trust:
all: true
main:
allow-bean-definition-overriding: true
application:
# 应用名称
name: cloud-car
name: cloud-warn
profiles:
# 环境配置
active: dev
@ -28,19 +24,11 @@ spring:
discovery:
# 服务注册地址
server-addr: ${nacos.addr}
# nacos用户名
username: ${nacos.user-name}
# nacos密码
password: ${nacos.password}
# 命名空间
namespace: ${nacos.namespace}
config:
# 服务注册地址
server-addr: ${nacos.addr}
# nacos用户名
username: ${nacos.user-name}
# nacos密码
password: ${nacos.password}
# 命名空间
namespace: ${nacos.namespace}
# 配置文件格式
@ -51,8 +39,10 @@ spring:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# 系统环境Config共享配置
- application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# xxl-job 配置文件
- application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# engine配置
- engine-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
logging:
level:
com.muyu.carrail.mapper: DEBUG
com.muyu.system.mapper: DEBUG

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-breakdown"/>
<property name="log.path" value="logs/cloud-warn"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-breakdown"/>
<property name="log.path" value="logs/cloud-warn"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<property name="log.sky.pattern" value="%d{HH:mm:ss.SSS} %yellow([%tid]) [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-breakdown"/>
<property name="log.path" value="logs/cloud-warn"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<property name="log.sky.pattern" value="%d{HH:mm:ss.SSS} %yellow([%tid]) [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>

View File

@ -9,20 +9,15 @@
<version>3.6.3</version>
</parent>
<artifactId>cloud-breakdown</artifactId>
<description>
cloud-breakdown 故障
</description>
<artifactId>cloud-modules-enterprise</artifactId>
<packaging>pom</packaging>
<description>
cloud-modules-enterprise 企业
</description>
<modules>
<module>cloud-breakdown-common</module>
<module>cloud-breakdown-server</module>
<module>cloud-breakdown-remote</module>
<module>cloud-breakdown-client</module>
<module>cloud-modules-enterprise-common</module>
<module>cloud-modules-enterprise-server</module>
</modules>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>

View File

@ -1,61 +0,0 @@
package com.muyu.parsing.mqtt;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
/**
* MQTT
*
* @ClassName demo
* @Description
* @Author YiBo.Liu
* @Date 2024/9/27 22:27
*/
public class Demo {
public static void main(String[] args) {
String topic = "vehicle";
String content = "Message from MqttPublishSample";
int qos = 2;
String broker = "tcp://106.54.193.225:1883";
String clientId = "JavaSample";
try {
// 第三个参数为空,默认持久化策略
MqttClient sampleClient = new MqttClient(broker, clientId);
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setCleanSession(true);
System.out.println("Connecting to broker: " + broker);
sampleClient.connect(connOpts);
sampleClient.subscribe(topic, 0);
sampleClient.setCallback(new MqttCallback() {
// 连接丢失
@Override
public void connectionLost(Throwable throwable) {
}
// 连接成功
@Override
public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
System.out.println(new String(mqttMessage.getPayload()));
}
// 接收信息
@Override
public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
}
});
} catch (MqttException me) {
System.out.println("reason " + me.getReasonCode());
System.out.println("msg " + me.getMessage());
System.out.println("loc " + me.getLocalizedMessage());
System.out.println("cause " + me.getCause());
System.out.println("excep " + me);
me.printStackTrace();
}
}
}

View File

@ -1,96 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.warning.mapper.WarnLogsMapper">
<resultMap type="WarnLogs" id="WarnLogsResult">
<result property="id" column="id" />
<result property="vin" column="vin" />
<result property="warnRuleId" column="warn_rule_id" />
<result property="startTime" column="start_time" />
<result property="endTime" column="end_time" />
<result property="maxValue" column="max_value" />
<result property="minValue" column="min_value" />
<result property="avgValue" column="avg_value" />
<result property="medianValue" column="median_value" />
<result property="status" column="status" />
</resultMap>
<sql id="selectWarnLogsVo">
select id, vin, warn_rule_id, start_time, end_time, max_value, min_value, avg_value, median_value, status from warn_logs
</sql>
<select id="selectWarnLogsList" parameterType="WarnLogs" resultMap="WarnLogsResult">
<include refid="selectWarnLogsVo"/>
<where>
<if test="vin != null and vin != ''"> and vin = #{vin}</if>
<if test="warnRuleId != null "> and warn_rule_id = #{warnRuleId}</if>
<if test="startTime != null "> and start_time = #{startTime}</if>
<if test="endTime != null "> and end_time = #{endTime}</if>
<if test="maxValue != null "> and max_value = #{maxValue}</if>
<if test="minValue != null "> and min_value = #{minValue}</if>
<if test="avgValue != null "> and avg_value = #{avgValue}</if>
<if test="medianValue != null "> and median_value = #{medianValue}</if>
<if test="status != null "> and status = #{status}</if>
</where>
</select>
<select id="selectWarnLogsById" parameterType="Long" resultMap="WarnLogsResult">
<include refid="selectWarnLogsVo"/>
where id = #{id}
</select>
<insert id="insertWarnLogs" parameterType="WarnLogs" useGeneratedKeys="true" keyProperty="id">
insert into warn_logs
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="vin != null">vin,</if>
<if test="warnRuleId != null">warn_rule_id,</if>
<if test="startTime != null">start_time,</if>
<if test="endTime != null">end_time,</if>
<if test="maxValue != null">max_value,</if>
<if test="minValue != null">min_value,</if>
<if test="avgValue != null">avg_value,</if>
<if test="medianValue != null">median_value,</if>
<if test="status != null">status,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="vin != null">#{vin},</if>
<if test="warnRuleId != null">#{warnRuleId},</if>
<if test="startTime != null">#{startTime},</if>
<if test="endTime != null">#{endTime},</if>
<if test="maxValue != null">#{maxValue},</if>
<if test="minValue != null">#{minValue},</if>
<if test="avgValue != null">#{avgValue},</if>
<if test="medianValue != null">#{medianValue},</if>
<if test="status != null">#{status},</if>
</trim>
</insert>
<update id="updateWarnLogs" parameterType="WarnLogs">
update warn_logs
<trim prefix="SET" suffixOverrides=",">
<if test="vin != null">vin = #{vin},</if>
<if test="warnRuleId != null">warn_rule_id = #{warnRuleId},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="endTime != null">end_time = #{endTime},</if>
<if test="maxValue != null">max_value = #{maxValue},</if>
<if test="minValue != null">min_value = #{minValue},</if>
<if test="avgValue != null">avg_value = #{avgValue},</if>
<if test="medianValue != null">median_value = #{medianValue},</if>
<if test="status != null">status = #{status},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWarnLogsById" parameterType="Long">
delete from warn_logs where id = #{id}
</delete>
<delete id="deleteWarnLogsByIds" parameterType="String">
delete from warn_logs where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -1,86 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.warning.mapper.WarnRuleMapper">
<resultMap type="WarnRule" id="WarnRuleResult">
<result property="id" column="id" />
<result property="ruleName" column="rule_name" />
<result property="strategyId" column="strategy_id" />
<result property="msgTypeId" column="msg_type_id" />
<result property="slideTime" column="slide_time" />
<result property="slideFrequency" column="slide_frequency" />
<result property="maxValue" column="max_value" />
<result property="minValue" column="min_value" />
</resultMap>
<sql id="selectWarnRuleVo">
select id, rule_name, strategy_id, msg_type_id, slide_time, slide_frequency, max_value, min_value from warn_rule
</sql>
<select id="selectWarnRuleList" parameterType="WarnRule" resultMap="WarnRuleResult">
<include refid="selectWarnRuleVo"/>
<where>
<if test="ruleName != null and ruleName != ''"> and rule_name like concat('%', #{ruleName}, '%')</if>
<if test="strategyId != null "> and strategy_id = #{strategyId}</if>
<if test="msgTypeId != null "> and msg_type_id = #{msgTypeId}</if>
<if test="slideTime != null "> and slide_time = #{slideTime}</if>
<if test="slideFrequency != null "> and slide_frequency = #{slideFrequency}</if>
<if test="maxValue != null "> and max_value = #{maxValue}</if>
<if test="minValue != null "> and min_value = #{minValue}</if>
</where>
</select>
<select id="selectWarnRuleById" parameterType="Long" resultMap="WarnRuleResult">
<include refid="selectWarnRuleVo"/>
where id = #{id}
</select>
<insert id="insertWarnRule" parameterType="WarnRule" useGeneratedKeys="true" keyProperty="id">
insert into warn_rule
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="ruleName != null">rule_name,</if>
<if test="strategyId != null">strategy_id,</if>
<if test="msgTypeId != null">msg_type_id,</if>
<if test="slideTime != null">slide_time,</if>
<if test="slideFrequency != null">slide_frequency,</if>
<if test="maxValue != null">max_value,</if>
<if test="minValue != null">min_value,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="ruleName != null">#{ruleName},</if>
<if test="strategyId != null">#{strategyId},</if>
<if test="msgTypeId != null">#{msgTypeId},</if>
<if test="slideTime != null">#{slideTime},</if>
<if test="slideFrequency != null">#{slideFrequency},</if>
<if test="maxValue != null">#{maxValue},</if>
<if test="minValue != null">#{minValue},</if>
</trim>
</insert>
<update id="updateWarnRule" parameterType="WarnRule">
update warn_rule
<trim prefix="SET" suffixOverrides=",">
<if test="ruleName != null">rule_name = #{ruleName},</if>
<if test="strategyId != null">strategy_id = #{strategyId},</if>
<if test="msgTypeId != null">msg_type_id = #{msgTypeId},</if>
<if test="slideTime != null">slide_time = #{slideTime},</if>
<if test="slideFrequency != null">slide_frequency = #{slideFrequency},</if>
<if test="maxValue != null">max_value = #{maxValue},</if>
<if test="minValue != null">min_value = #{minValue},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWarnRuleById" parameterType="Long">
delete from warn_rule where id = #{id}
</delete>
<delete id="deleteWarnRuleByIds" parameterType="String">
delete from warn_rule where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.warning.mapper.WarnStrategyMapper">
<resultMap type="WarnStrategy" id="WarnStrategyResult">
<result property="id" column="id" />
<result property="carTypeId" column="car_type_id" />
<result property="strategyName" column="strategy_name" />
<result property="msgId" column="msg_id" />
</resultMap>
<sql id="selectWarnStrategyVo">
select id, car_type_id, strategy_name, msg_id from warn_strategy
</sql>
<select id="selectWarnStrategyList" parameterType="WarnStrategy" resultMap="WarnStrategyResult">
<include refid="selectWarnStrategyVo"/>
<where>
<if test="carTypeId != null "> and car_type_id = #{carTypeId}</if>
<if test="strategyName != null and strategyName != ''"> and strategy_name like concat('%', #{strategyName}, '%')</if>
<if test="msgId != null "> and msg_id = #{msgId}</if>
</where>
</select>
<select id="selectWarnStrategyById" parameterType="Long" resultMap="WarnStrategyResult">
<include refid="selectWarnStrategyVo"/>
where id = #{id}
</select>
<insert id="insertWarnStrategy" parameterType="WarnStrategy" useGeneratedKeys="true" keyProperty="id">
insert into warn_strategy
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="carTypeId != null">car_type_id,</if>
<if test="strategyName != null">strategy_name,</if>
<if test="msgId != null">msg_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="carTypeId != null">#{carTypeId},</if>
<if test="strategyName != null">#{strategyName},</if>
<if test="msgId != null">#{msgId},</if>
</trim>
</insert>
<update id="updateWarnStrategy" parameterType="WarnStrategy">
update warn_strategy
<trim prefix="SET" suffixOverrides=",">
<if test="carTypeId != null">car_type_id = #{carTypeId},</if>
<if test="strategyName != null">strategy_name = #{strategyName},</if>
<if test="msgId != null">msg_id = #{msgId},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWarnStrategyById" parameterType="Long">
delete from warn_strategy where id = #{id}
</delete>
<delete id="deleteWarnStrategyByIds" parameterType="String">
delete from warn_strategy where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -13,11 +13,10 @@
<module>cloud-modules-gen</module>
<module>cloud-modules-file</module>
<module>cloud-modules-system-saas</module>
<module>cloud-breakdown</module>
<module>cloud-modules-car</module>
<module>cloud-modules-warn</module>
<module>cloud-modules-carmanage</module>
<module>cloud-modules-parsing</module>
<module>cloud-modules-enterprise</module>
</modules>
<artifactId>cloud-modules</artifactId>