# Conflicts:
#	cloud-auth/src/main/resources/bootstrap.yml
#	cloud-common/pom.xml
#	cloud-gateway/src/main/resources/bootstrap.yml
#	cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml
#	cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml
#	cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml
#	cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml
master
Yueng 2024-09-26 14:57:48 +08:00
parent 178d4966b5
commit 29c84f90ef
19 changed files with 603 additions and 61 deletions

View File

@ -42,4 +42,12 @@ public class CarMiddle {
this.fenceGroupId = fenceGroupId; this.fenceGroupId = fenceGroupId;
this.carInformationId = carInformationId; this.carInformationId = carInformationId;
} }
public static CarMiddle carMiddleBuilder(CarMiddle carMiddle) {
return CarMiddle.builder()
.id(carMiddle.getId())
.fenceGroupId(carMiddle.getFenceGroupId())
.carInformationId(carMiddle.getCarInformationId())
.build();
}
} }

View File

@ -1,14 +1,10 @@
package com.muyu.domain.resq; package com.muyu.domain.resq;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.domain.CarFenceGroup; import com.muyu.domain.CarFenceGroup;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -27,7 +23,7 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Tag(name = "车辆电子围栏类") @Tag(name = "车辆电子围栏类")
public class CarFenceGroupReq { public class CarFenceGroupResq {
/** /**
* *
*/ */

View File

@ -0,0 +1,49 @@
package com.muyu.domain.resq;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Authoryang
* @Packagecom.muyu.domain.resq
* @Projectcloud-server-8
* @nameCarFenceGroupsResq
* @Date2024/9/25 21:08
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Tag(name = "车辆电子围栏类")
public class CarFenceGroupsResq {
/**
* ID
*/
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
/**
*
*/
private Integer priority;
/**
*
*/
private String status;
/**
*
*/
private String groupType;
/**
* VIN
*/
// @TableName(value = "car_information_VIN")
private String carInformationLicensePlate;
/**
*
*/
private String fenceText;
}

View File

@ -0,0 +1,106 @@
<?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-server</artifactId>
<version>3.6.3</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<groupId>com.muyu.server</groupId>
<artifactId>cloud-Vehicle-Simulation</artifactId>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- <dependency> -->
<!-- <groupId>com.muyu</groupId> -->
<!-- <artifactId>cloud-common-rabbit</artifactId> -->
<!-- </dependency> -->
<!-- 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>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-electronic-common</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>6.0.0</version>
</dependency>
</dependencies>
<build>
<finalName>cloud-electronic</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- &lt;!&ndash; 加入maven deploy插件当在deploy时忽略些model&ndash;&gt; -->
<!-- <plugin> -->
<!-- <groupId>org.apache.maven.plugins</groupId> -->
<!-- <artifactId>maven-deploy-plugin</artifactId> -->
<!-- <version>3.1.1</version> -->
<!-- <configuration> -->
<!-- <skip>true</skip> -->
<!-- </configuration> -->
<!-- </plugin> -->
</plugins>
</build>
</project>

View File

@ -0,0 +1,20 @@
package com.muyu.vehicle;
import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @Author
* @Packagecom.muyu.server.integration
* @Projectcloud-integration
* @nameIntegration
* @Date2024/9/17 9:56
*/
@EnableMyFeignClients
@SpringBootApplication
public class VehicleSimulationApplication {
public static void main(String[] args) {
SpringApplication.run(VehicleSimulationApplication.class, args);
}
}

View File

@ -0,0 +1,2 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}

View File

@ -0,0 +1,47 @@
# Tomcat
server:
port: 9111
# nacos线上地址
nacos:
addr: 127.0.0.1:8848
user-name: nacos
password: nacos
namespace: eight
# Spring
spring:
application:
# 应用名称
name: cloud-electronic
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}

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-electronic"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.muyu" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="console"/>
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>

View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-electronic"/>
<!-- 日志输出格式 -->
<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"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.sky.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 使用gRpc将日志发送到skywalking服务端 -->
<appender name="GRPC_LOG" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<Pattern>${log.sky.pattern}</Pattern>
</layout>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.muyu" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="GRPC_LOG"/>
<appender-ref ref="console"/>
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>

View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-electronic"/>
<!-- 日志输出格式 -->
<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"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.sky.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 使用gRpc将日志发送到skywalking服务端 -->
<appender name="GRPC_LOG" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<Pattern>${log.sky.pattern}</Pattern>
</layout>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.muyu" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="GRPC_LOG"/>
<appender-ref ref="console"/>
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>

View File

@ -0,0 +1,15 @@
<?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.server.mapper.CarMiddleGroupMapper">
<select id="selectByIdList" resultType="com.muyu.domain.CarMiddleGroup">
select
*
from
car_middle_group
where
car_fence_id = #{carFenceId};
</select>
</mapper>

View File

@ -1,16 +1,11 @@
package com.muyu.server.controller; package com.muyu.server.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.domain.CarFence; import com.muyu.domain.CarFence;
import com.muyu.domain.CarFenceGroup; import com.muyu.domain.req.*;
import com.muyu.domain.CarInformation; import com.muyu.domain.resq.CarFenceGroupResq;
import com.muyu.domain.req.CarFenceReq; import com.muyu.domain.resq.CarFenceGroupsResq;
import com.muyu.domain.req.CarGroupIdReq;
import com.muyu.domain.req.CarGroupReq;
import com.muyu.domain.req.FenceGroupReq;
import com.muyu.domain.resq.CarFenceGroupReq;
import com.muyu.domain.resq.CarFenceResq; import com.muyu.domain.resq.CarFenceResq;
import com.muyu.server.service.CarFenceService; import com.muyu.server.service.CarFenceService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -105,10 +100,10 @@ public class CarFenceController {
*/ */
@PostMapping("/selectCarFenceGroupList") @PostMapping("/selectCarFenceGroupList")
@Operation(summary = "查询数据",description = "查询数据") @Operation(summary = "查询数据",description = "查询数据")
public Result<List<CarFenceGroupReq>> selectCarFenceGroupList( public Result<List<CarFenceGroupResq>> selectCarFenceGroupList(
@Validated @RequestBody Integer id @Validated @RequestBody Integer id
){ ){
List<CarFenceGroupReq> list = carFenceService.selectCarFenceGroupList(id); List<CarFenceGroupResq> list = carFenceService.selectCarFenceGroupList(id);
return list.size()!=0?Result.success( return list.size()!=0?Result.success(
list, "操作成功" list, "操作成功"
):Result.success( ):Result.success(
@ -130,5 +125,17 @@ public class CarFenceController {
null, "未绑定围栏" null, "未绑定围栏"
); );
} }
/**
*
*/
@PostMapping("/carGroupList")
@Operation(summary = "查询车辆围栏组数据",description = "查询车辆围栏组信息")
public Result<List<CarFenceGroupsResq>> carGroupList(@RequestBody CarFenceGroupReq req){
List<CarFenceGroupsResq> connects = carFenceService.carGroupList(req);
return Result.success(
connects, "操作成功"
);
}
} }

View File

@ -4,6 +4,7 @@ import com.muyu.common.core.domain.Result;
import com.muyu.domain.CarFenceGroup; import com.muyu.domain.CarFenceGroup;
import com.muyu.domain.CarMiddle; import com.muyu.domain.CarMiddle;
import com.muyu.domain.req.CarFenceGroupReq; import com.muyu.domain.req.CarFenceGroupReq;
import com.muyu.domain.resq.CarFenceGroupsResq;
import com.muyu.server.service.CarMiddleSerivce; import com.muyu.server.service.CarMiddleSerivce;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@ -49,15 +50,5 @@ public class CarMiddleController {
); );
} }
/**
*
*/
@PostMapping("/carGroupList")
@Operation(summary = "查询车辆围栏组数据",description = "查询车辆围栏组信息")
public Result<List<CarFenceGroup>> carGroupList(@RequestBody CarFenceGroupReq req){
List<CarFenceGroup> connects = carMiddleSerivce.carGroupList(req);
return Result.success(
connects, "操作成功"
);
}
} }

View File

@ -3,13 +3,9 @@ package com.muyu.server.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.CarFence; import com.muyu.domain.CarFence;
import com.muyu.domain.CarFenceGroup; import com.muyu.domain.req.*;
import com.muyu.domain.CarInformation; import com.muyu.domain.resq.CarFenceGroupResq;
import com.muyu.domain.req.CarFenceReq; import com.muyu.domain.resq.CarFenceGroupsResq;
import com.muyu.domain.req.CarGroupIdReq;
import com.muyu.domain.req.CarGroupReq;
import com.muyu.domain.req.FenceGroupReq;
import com.muyu.domain.resq.CarFenceGroupReq;
import com.muyu.domain.resq.CarFenceResq; import com.muyu.domain.resq.CarFenceResq;
import java.util.List; import java.util.List;
@ -33,7 +29,9 @@ public interface CarFenceService extends IService<CarFence> {
Boolean addFenceGroup(FenceGroupReq req); Boolean addFenceGroup(FenceGroupReq req);
List<CarFenceGroupReq> selectCarFenceGroupList(Integer id); List<CarFenceGroupResq> selectCarFenceGroupList(Integer id);
Boolean carFenceGroupDel(CarGroupIdReq carGroupIdReq); Boolean carFenceGroupDel(CarGroupIdReq carGroupIdReq);
List<CarFenceGroupsResq> carGroupList(CarFenceGroupReq req);
} }

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.CarFenceGroup; import com.muyu.domain.CarFenceGroup;
import com.muyu.domain.CarMiddle; import com.muyu.domain.CarMiddle;
import com.muyu.domain.req.CarFenceGroupReq; import com.muyu.domain.req.CarFenceGroupReq;
import com.muyu.domain.resq.CarFenceGroupsResq;
import java.util.List; import java.util.List;
@ -15,5 +16,5 @@ import java.util.List;
* @Date2024/9/20 16:34 * @Date2024/9/20 16:34
*/ */
public interface CarMiddleSerivce extends IService<CarMiddle> { public interface CarMiddleSerivce extends IService<CarMiddle> {
List<CarFenceGroup> carGroupList(CarFenceGroupReq req);
} }

View File

@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.StringUtils;
import com.muyu.domain.*; import com.muyu.domain.*;
import com.muyu.domain.req.CarFenceReq; import com.muyu.domain.req.*;
import com.muyu.domain.req.CarGroupIdReq; import com.muyu.domain.resq.CarFenceGroupResq;
import com.muyu.domain.req.CarGroupReq; import com.muyu.domain.resq.CarFenceGroupsResq;
import com.muyu.domain.req.FenceGroupReq;
import com.muyu.domain.resq.CarFenceGroupReq;
import com.muyu.domain.resq.CarFenceResq; import com.muyu.domain.resq.CarFenceResq;
import com.muyu.server.mapper.CarFenceMapper; import com.muyu.server.mapper.CarFenceMapper;
import com.muyu.server.service.*; import com.muyu.server.service.*;
@ -43,6 +41,8 @@ public class CarFenceServiceImpl
private CarFenceGroupService carFenceGroupService; private CarFenceGroupService carFenceGroupService;
@Autowired @Autowired
private CarMiddleSerivce carMiddleSerivce; private CarMiddleSerivce carMiddleSerivce;
@Autowired
private CarInformationService carInformationService;
/** /**
* *
*/ */
@ -150,18 +150,18 @@ public class CarFenceServiceImpl
} }
@Override @Override
public List<CarFenceGroupReq> selectCarFenceGroupList(Integer id) { public List<CarFenceGroupResq> selectCarFenceGroupList(Integer id) {
List<CarMiddleGroup> list = carMiddleGroupService.list( List<CarMiddleGroup> list = carMiddleGroupService.list(
new LambdaQueryWrapper<CarMiddleGroup>() new LambdaQueryWrapper<CarMiddleGroup>()
.eq(CarMiddleGroup::getFenceGroupId,id)) .eq(CarMiddleGroup::getFenceGroupId,id))
.stream() .stream()
.map(CarMiddleGroup::carMiddleGroupBuilder) .map(CarMiddleGroup::carMiddleGroupBuilder)
.toList(); .toList();
List<CarFenceGroupReq> carFenceGroupReqs = new ArrayList<>(); List<CarFenceGroupResq> carFenceGroupResqs = new ArrayList<>();
list.forEach(carMiddleGroup -> { list.forEach(carMiddleGroup -> {
this.carMiddleList(carMiddleGroup,carFenceGroupReqs); this.carMiddleList(carMiddleGroup, carFenceGroupResqs);
}); });
return carFenceGroupReqs; return carFenceGroupResqs;
} }
@Override @Override
@ -177,7 +177,7 @@ public class CarFenceServiceImpl
return carMiddleGroupService.removeBatchByIds(list); return carMiddleGroupService.removeBatchByIds(list);
} }
private void carMiddleList(CarMiddleGroup carMiddleGroup, List<CarFenceGroupReq> carFenceGroupReqs) { private void carMiddleList(CarMiddleGroup carMiddleGroup, List<CarFenceGroupResq> carFenceGroupResqs) {
Integer carFenceId = carMiddleGroup.getCarFenceId(); Integer carFenceId = carMiddleGroup.getCarFenceId();
Integer fenceGroupId = carMiddleGroup.getFenceGroupId(); Integer fenceGroupId = carMiddleGroup.getFenceGroupId();
List<CarFence> carFenceList = this.list( List<CarFence> carFenceList = this.list(
@ -193,23 +193,23 @@ public class CarFenceServiceImpl
.map(CarFenceGroup::carFenceBuild) .map(CarFenceGroup::carFenceBuild)
.toList(); .toList();
carFenceList.forEach(carFence -> { carFenceList.forEach(carFence -> {
CarFenceGroupReq carFenceGroupReq = new CarFenceGroupReq(); CarFenceGroupResq carFenceGroupResq = new CarFenceGroupResq();
carFenceGroupReq.setId(carFence.getId()); carFenceGroupResq.setId(carFence.getId());
carFenceGroupReq.setName(carFence.getName()); carFenceGroupResq.setName(carFence.getName());
carFenceGroupReq.setClazzId(carFence.getClazzId()); carFenceGroupResq.setClazzId(carFence.getClazzId());
carFenceGroupReq.setTypeId(carFence.getTypeId()); carFenceGroupResq.setTypeId(carFence.getTypeId());
carFenceGroupReq.setFenceText(carFence.getFenceText()); carFenceGroupResq.setFenceText(carFence.getFenceText());
carFenceGroupReq.setFenceStart(carFence.getFenceStart()); carFenceGroupResq.setFenceStart(carFence.getFenceStart());
carFenceGroupReq.setFenceEnd(carFence.getFenceEnd()); carFenceGroupResq.setFenceEnd(carFence.getFenceEnd());
carFenceGroupReq.setFenceCreate(carFence.getFenceCreate()); carFenceGroupResq.setFenceCreate(carFence.getFenceCreate());
carFenceGroupReqs.add(carFenceGroupReq); carFenceGroupResqs.add(carFenceGroupResq);
}); });
carFenceGroupsList.forEach(carFenceGroup -> { carFenceGroupsList.forEach(carFenceGroup -> {
carFenceGroupReqs.forEach(carFenceGroupReq -> { carFenceGroupResqs.forEach(carFenceGroupResq -> {
carFenceGroupReq.setPriority(carFenceGroup.getPriority()); carFenceGroupResq.setPriority(carFenceGroup.getPriority());
carFenceGroupReq.setStatus(carFenceGroup.getStatus()); carFenceGroupResq.setStatus(carFenceGroup.getStatus());
carFenceGroupReq.setGroupType(carFenceGroup.getGroupType()); carFenceGroupResq.setGroupType(carFenceGroup.getGroupType());
}); });
}); });
} }
@ -242,4 +242,60 @@ public class CarFenceServiceImpl
}); });
}); });
} }
@Override
public List<CarFenceGroupsResq> carGroupList(CarFenceGroupReq req) {
List<CarFenceGroupsResq> fenceGroupList = new ArrayList<>();
CarFenceGroupsResq carFenceGroupsResq = new CarFenceGroupsResq();
List<CarMiddleGroup> list = carMiddleGroupService.list(
new LambdaQueryWrapper<CarMiddleGroup>()
.eq(CarMiddleGroup::getCarFenceId, req.getId()))
.stream()
.map(CarMiddleGroup::carMiddleGroupBuilder)
.toList();
List<CarFence> carFenceList = this.list()
.stream()
.map(CarFence::carFenceBuild)
.toList();
list.forEach(carMiddleGroup -> {
List<CarMiddle> carMiddleGroupList = carMiddleSerivce.list(
new LambdaQueryWrapper<CarMiddle>()
.eq(CarMiddle::getFenceGroupId, carMiddleGroup.getFenceGroupId()))
.stream()
.map(CarMiddle::carMiddleBuilder)
.toList();
carMiddleGroupList.forEach(carMiddle -> {
List<CarFenceGroup> carFenceGroupList = carFenceGroupService.list(
new LambdaQueryWrapper<CarFenceGroup>()
.eq(CarFenceGroup::getId, carMiddle.getFenceGroupId()))
.stream()
.map(CarFenceGroup::carFenceBuild)
.toList();
List<CarInformation> carInformationList = carInformationService.list(
new LambdaQueryWrapper<CarInformation>()
.eq(CarInformation::getCarInformationId, carMiddle.getCarInformationId()))
.stream()
.map(CarInformation::carInformationBuilder)
.toList();
carFenceList.forEach(carFence -> {
carFenceGroupsResq.setFenceText(carFence.getFenceText());
});
carFenceGroupList.forEach(carFenceGroup -> {
carFenceGroupsResq.setId(carFenceGroup.getId());
carFenceGroupsResq.setStatus(carFenceGroup.getStatus());
carFenceGroupsResq.setPriority(carFenceGroup.getPriority());
carFenceGroupsResq.setGroupType(carFenceGroup.getGroupType());
});
carInformationList.forEach(carInformation -> {
carFenceGroupsResq.setCarInformationLicensePlate(carInformation.getCarInformationLicensePlate());
});
fenceGroupList.add(carFenceGroupsResq);
});
});
return fenceGroupList;
}
} }

View File

@ -1,11 +1,18 @@
package com.muyu.server.service.impl; package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.domain.CarMiddle; import com.muyu.domain.*;
import com.muyu.domain.req.CarFenceGroupReq;
import com.muyu.domain.resq.CarFenceGroupsResq;
import com.muyu.server.mapper.CarMiddleMapper; import com.muyu.server.mapper.CarMiddleMapper;
import com.muyu.server.service.CarMiddleSerivce; import com.muyu.server.service.*;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/** /**
* @Authoryang * @Authoryang
* @Packagecom.muyu.server.service.impl * @Packagecom.muyu.server.service.impl
@ -14,6 +21,7 @@ import org.springframework.stereotype.Service;
* @Date2024/9/20 16:34 * @Date2024/9/20 16:34
*/ */
@Service @Service
@AllArgsConstructor
public class CarMiddleSerivceImpl public class CarMiddleSerivceImpl
extends ServiceImpl<CarMiddleMapper, CarMiddle> extends ServiceImpl<CarMiddleMapper, CarMiddle>
implements CarMiddleSerivce { implements CarMiddleSerivce {

View File

@ -283,6 +283,7 @@
<module>cloud-modules</module> <module>cloud-modules</module>
<module>cloud-common</module> <module>cloud-common</module>
<module>cloud-modules/cloud-electronic</module> <module>cloud-modules/cloud-electronic</module>
<module>cloud-modules/cloud-Vehicle-Simulation</module>
</modules> </modules>
<packaging>pom</packaging> <packaging>pom</packaging>