diff --git a/cloud-common/cloud-electronic-common/pom.xml b/cloud-common/cloud-electronic-common/pom.xml new file mode 100644 index 0000000..01caf71 --- /dev/null +++ b/cloud-common/cloud-electronic-common/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + com.muyu + cloud-common + 3.6.3 + + + cloud-electronic-common + + 17 + 17 + UTF-8 + + + + + com.muyu + cloud-common-core + + + + io.swagger.core.v3 + swagger-annotations-jakarta + 2.2.8 + compile + + + diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFence.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFence.java new file mode 100644 index 0000000..48e46e1 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFence.java @@ -0,0 +1,104 @@ +package com.muyu.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +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 lombok.*; +import lombok.experimental.SuperBuilder; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.domain + * @Project:cloud-electronic + * @name:CarFence + * @Date:2024/9/17 16:08 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "车辆电子围栏类") +@TableName(value = "car_fence",autoResultMap = true) +public class CarFence { + + /** + * 围栏主键 + */ + @TableId(value = "id",type = IdType.AUTO) + private Integer id; + /** + * 围栏名称 + */ + private String name; + /** + * 业务类型ID + */ + private Integer clazzId; + /** + * 业务类型名称 + */ + @TableField(exist = false) + private String clazzName; + /** + * 围栏类型ID + */ + private Integer typeId; + /** + * 围栏类型名称 + */ + @TableField(exist = false) + private String typeName; + /** + * 围栏经纬度 + */ + private String fenceText; + /** + * 围栏开始时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy-MM-dd hh:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date fenceStart; + /** + * 围栏结束时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy-MM-dd hh:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date fenceEnd; + /** + * 创建时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy/MM/dd hh:mm:ss") + @JsonFormat(pattern = "yyyy/MM/dd hh:mm:ss") + private Date fenceCreate; + /** + * 中间表ID + */ + private Integer middleId; + /** + * 围栏组 + */ + @TableField(exist = false) + private List carFenceGroups; + + public static CarFence carFenceBuild(CarFence carFence) { + return CarFence.builder() + .id(carFence.getId()) + .name(carFence.getName()) + .clazzId(carFence.getClazzId()) + .typeId(carFence.getTypeId()) + .fenceText(carFence.getFenceText()) + .fenceStart(carFence.getFenceStart()) + .fenceCreate(carFence.getFenceCreate()) + .middleId(carFence.getMiddleId()) + .build(); + } +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceClazz.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceClazz.java new file mode 100644 index 0000000..8532b11 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceClazz.java @@ -0,0 +1,39 @@ +package com.muyu.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yang + * @Package:com.muyu.domain + * @Project:cloud-electronic + * @name:CarFenceClazz + * @Date:2024/9/17 16:41 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "车辆电子业务类型") +@TableName(value = "car_fence_clazz",autoResultMap = true) +public class CarFenceClazz { + /** + * 业务类型ID + */ + private Integer clazzId; + /** + * 业务类型名称 + */ + private String clazzName; + + public static CarFenceClazz carFenceClazzBuild(CarFenceClazz carFenceClazz) { + return CarFenceClazz.builder() + .clazzId(carFenceClazz.getClazzId()) + .clazzName(carFenceClazz.getClazzName()) + .build(); + } +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceGroup.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceGroup.java new file mode 100644 index 0000000..770e3a0 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceGroup.java @@ -0,0 +1,54 @@ +package com.muyu.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yang + * @Package:com.muyu.domain + * @Project:cloud-server-8 + * @name:carFenceGroup + * @Date:2024/9/22 10:20 + */ +//weilabzu +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "车辆电子业务类型") +@TableName(value = "car_fence_group",autoResultMap = true) +public class CarFenceGroup { + + /** + * 围栏组ID + */ + @TableId(value = "id",type = IdType.AUTO) + private Integer id; + /** + * 优先级 + */ + private Integer priority; + /** + * 启动状态 + */ + private String status; + /** + * 围栏组类型 + */ + private String groupType; + + public static CarFenceGroup carFenceBuild(CarFenceGroup carFenceGroup) { + return CarFenceGroup.builder() + .id(carFenceGroup.getId()) + .priority(carFenceGroup.getPriority()) + .status(carFenceGroup.getStatus()) + .groupType(carFenceGroup.getGroupType()) + .build(); + } +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceType.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceType.java new file mode 100644 index 0000000..1cbf546 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarFenceType.java @@ -0,0 +1,39 @@ +package com.muyu.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yang + * @Package:com.muyu.domain + * @Project:cloud-electronic + * @name:Type + * @Date:2024/9/17 16:40 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "车辆电子围栏类型") +@TableName(value = "car_fence_type",autoResultMap = true) +public class CarFenceType { + /** + * 围栏类型ID + */ + private Integer typeId; + /** + * 围栏类型名称 + */ + private String typeName; + + public static CarFenceType carFenceTypeBuild(CarFenceType carFenceType) { + return CarFenceType.builder() + .typeId(carFenceType.getTypeId()) + .typeName(carFenceType.getTypeName()) + .build(); + } +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarInformation.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarInformation.java new file mode 100644 index 0000000..174f2b4 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarInformation.java @@ -0,0 +1,83 @@ +package com.muyu.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +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 io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @Author:yang + * @Package:com.muyu.domain + * @Project:cloud-server-8 + * @name:CarInformation + * @Date:2024/9/22 22:18 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "车辆表") +@TableName(value = "car_information",autoResultMap = true) +public class CarInformation { + + /** + * 车辆ID + */ + @TableId(value = "car_information_id",type = IdType.AUTO) + private Integer carInformationId; + /** + * 车辆唯一VIN + */ +// @TableName(value = "car_information_VIN") + private String carInformationVin; + /** + * 车牌号 + */ + private String carInformationLicensePlate; + /** + * 车辆颜色 + */ + private String carInformationColor; + /** + * 车辆驾驶员 + */ + private String carInformationDriver; + /** + * 车辆电子围栏外键ID + */ + private String carInformationFence; + /** + * 车检到期日期 + */ + @DateTimeFormat(fallbackPatterns = "yyyy/MM/dd hh:mm:ss") + @JsonFormat(pattern = "yyyy/MM/dd hh:mm:ss") + private Date carInformationExamineEnddata; + /** + * 车辆类型外键ID + */ + private Integer carInformationType; + /** + * 车辆品牌外键ID + */ + private Integer carInformationBrand; + /** + * 是否重点车辆 (0否默认 1是 ) + */ + private Integer carInformationFocus; + + public static CarInformation carInformationBuilder(CarInformation carInformation) { + return CarInformation.builder() + .carInformationId(carInformation.getCarInformationId()) + .carInformationLicensePlate(carInformation.getCarInformationLicensePlate()) + .build(); + } +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarMiddle.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarMiddle.java new file mode 100644 index 0000000..5e3f390 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarMiddle.java @@ -0,0 +1,53 @@ +package com.muyu.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yang + * @Package:com.muyu.domain + * @Project:cloud-electronic + * @name:carMiddle + * @Date:2024/9/20 16:30 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "车辆电子组中间表") +@TableName(value = "car_middle",autoResultMap = true) +public class CarMiddle { + + /** + * 中间表ID + */ + @TableId(value = "id",type = IdType.AUTO) + private Integer id; + /** + * 电子围栏ID + */ + private Integer fenceGroupId; + /** + * 车辆ID + */ + private Integer carInformationId; + + public CarMiddle(Integer fenceGroupId, Integer carInformationId) { + this.fenceGroupId = fenceGroupId; + this.carInformationId = carInformationId; + } + + public static CarMiddle carMiddleBuilder(CarMiddle carMiddle) { + return CarMiddle.builder() + .id(carMiddle.getId()) + .fenceGroupId(carMiddle.getFenceGroupId()) + .carInformationId(carMiddle.getCarInformationId()) + .build(); + } +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarMiddleGroup.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarMiddleGroup.java new file mode 100644 index 0000000..093d839 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/CarMiddleGroup.java @@ -0,0 +1,53 @@ +package com.muyu.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yang + * @Package:com.muyu.domain + * @Project:cloud-server-8 + * @name:carMiddleGroup + * @Date:2024/9/22 10:35 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "围栏组中间表围栏") +@TableName(value = "car_middle_group",autoResultMap = true) +public class CarMiddleGroup { + + /** + * 中间ID + */ + @TableId(value = "id",type = IdType.AUTO) + private Integer id; + /** + * 围栏ID + */ + private Integer carFenceId; + /** + * 围栏组 + */ + private Integer fenceGroupId; + + public CarMiddleGroup(Integer carFenceId, Integer fenceGroupId) { + this.carFenceId = carFenceId; + this.fenceGroupId = fenceGroupId; + } + + public static CarMiddleGroup carMiddleGroupBuilder(CarMiddleGroup carMiddleGroup) { + return CarMiddleGroup.builder() + .id(carMiddleGroup.getId()) + .carFenceId(carMiddleGroup.getCarFenceId()) + .fenceGroupId(carMiddleGroup.getFenceGroupId()) + .build(); + } +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarFenceGroupReq.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarFenceGroupReq.java new file mode 100644 index 0000000..a6dc5f8 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarFenceGroupReq.java @@ -0,0 +1,28 @@ +package com.muyu.domain.req; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yang + * @Package:com.muyu.domain.req + * @Project:cloud-server-8 + * @name:CarFenceGroupReq + * @Date:2024/9/24 14:36 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "车辆电子围栏组响应参数") +public class CarFenceGroupReq { + /** + * 车辆ID + */ + private Integer carId; + /** + * 围栏组ID + */ + private Integer id; +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarFenceReq.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarFenceReq.java new file mode 100644 index 0000000..41e5aac --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarFenceReq.java @@ -0,0 +1,45 @@ +package com.muyu.domain.req; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yang + * @Package:com.muyu.domain.req + * @Project:cloud-electronic + * @name:CarFenceReq + * @Date:2024/9/17 16:26 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "电子围栏响应参数") +public class CarFenceReq { + + /** + * 围栏名称 + */ + private String name; + /** + * 业务类型ID + */ + private String clazzId; + /** + * 围栏类型ID + */ + private String typeName; + /** + * 当前页 + */ + @Schema(title = "当前页数", type = "Integer", defaultValue = "1", description = "当前页数") + private Integer pageNum=1; + /** + * 条数 + */ + @Schema(title = "分页条数", type = "Integer", defaultValue = "10", description = "每页有多少条") + private Integer pageSize=10; +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarGroupIdReq.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarGroupIdReq.java new file mode 100644 index 0000000..1af3913 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarGroupIdReq.java @@ -0,0 +1,28 @@ +package com.muyu.domain.req; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yang + * @Package:com.muyu.domain.req + * @Project:cloud-server-8 + * @name:CarFenceGroupDel + * @Date:2024/9/24 11:49 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "围栏组电子围栏响应参数") +public class CarGroupIdReq { + /** + * 围栏组Id + */ + private Integer ids; + /** + * 围栏ID + */ + private Integer id; +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarGroupReq.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarGroupReq.java new file mode 100644 index 0000000..c3aeb37 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/CarGroupReq.java @@ -0,0 +1,34 @@ +package com.muyu.domain.req; + +import com.muyu.domain.CarFenceGroup; +import com.muyu.domain.CarInformation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.domain.req + * @Project:cloud-server-8 + * @name:CarGroupReq + * @Date:2024/9/23 12:01 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "车辆电子围栏响应参数") +public class CarGroupReq { + /** + * 车辆 + */ + + private List carInformations; + /** + * 围栏组 + */ + private List carFenceGroups; + +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/FenceGroupReq.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/FenceGroupReq.java new file mode 100644 index 0000000..f721463 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/req/FenceGroupReq.java @@ -0,0 +1,35 @@ +package com.muyu.domain.req; + +import com.muyu.domain.CarFence; +import com.muyu.domain.CarFenceGroup; +import com.muyu.domain.CarInformation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.domain.req + * @Project:cloud-server-8 + * @name:FenceGroupReq + * @Date:2024/9/24 1:09 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "围栏组围栏响应参数") +public class FenceGroupReq { + + /** + * 车辆 + */ + + private List carFences; + /** + * 围栏组 + */ + private List carFenceGroups; +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceGroupResq.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceGroupResq.java new file mode 100644 index 0000000..81c5f48 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceGroupResq.java @@ -0,0 +1,96 @@ +package com.muyu.domain.resq; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.domain.CarFenceGroup; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.domain.resq + * @Project:cloud-server-8 + * @name:CarFenceGroupReq + * @Date:2024/9/24 1:45 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "车辆电子围栏类") +public class CarFenceGroupResq { + /** + * 围栏主键 + */ + private Integer id; + /** + * 围栏名称 + */ + private String name; + /** + * 业务类型ID + */ + private Integer clazzId; + /** + * 业务类型名称 + */ + @TableField(exist = false) + private String clazzName; + /** + * 围栏类型ID + */ + private Integer typeId; + /** + * 围栏类型名称 + */ + @TableField(exist = false) + private String typeName; + /** + * 围栏经纬度 + */ + private String fenceText; + /** + * 围栏开始时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy-MM-dd hh:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date fenceStart; + /** + * 围栏结束时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy-MM-dd hh:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date fenceEnd; + /** + * 创建时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy/MM/dd hh:mm:ss") + @JsonFormat(pattern = "yyyy/MM/dd hh:mm:ss") + private Date fenceCreate; + /** + * 中间表ID + */ + private Integer middleId; + /** + * 围栏组 + */ + @TableField(exist = false) + private List carFenceGroups; + /** + * 优先级 + */ + private Integer priority; + /** + * 启动状态 + */ + private String status; + /** + * 围栏组类型 + */ + private String groupType; +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceGroupsResq.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceGroupsResq.java new file mode 100644 index 0000000..211b2f7 --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceGroupsResq.java @@ -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; + +/** + * @Author:yang + * @Package:com.muyu.domain.resq + * @Project:cloud-server-8 + * @name:CarFenceGroupsResq + * @Date:2024/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; +} diff --git a/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceResq.java b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceResq.java new file mode 100644 index 0000000..1b2045d --- /dev/null +++ b/cloud-common/cloud-electronic-common/src/main/java/com/muyu/domain/resq/CarFenceResq.java @@ -0,0 +1,77 @@ +package com.muyu.domain.resq; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.domain.CarFence; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @Author:yang + * @Package:com.muyu.domain.resq + * @Project:cloud-electronic + * @name:CarFenceResq + * @Date:2024/9/17 16:35 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "车辆电子围栏类") +@TableName(value = "car_fence",autoResultMap = true) +public class CarFenceResq { + + /** + * 围栏主键 + */ + private Integer id; + /** + * 围栏名称 + */ + private String name; + /** + * 业务类型名 + */ + private String clazzName; + /** + * 围栏类型名 + */ + private String typeName; + /** + * 围栏开始时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy-MM-dd hh:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date fenceStart; + /** + * 围栏结束时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy-MM-dd hh:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date fenceEnd; + /** + * 创建时间 + */ + @DateTimeFormat(fallbackPatterns = "yyyy/MM/dd hh:mm:ss") + @JsonFormat(pattern = "yyyy/MM/dd hh:mm:ss") + private Date fenceCreate; + + public static CarFenceResq carFenceResqListBuilder(CarFence etlDataScore) { + return CarFenceResq.builder() + .id(etlDataScore.getId()) + .name(etlDataScore.getName()) + .clazzName(etlDataScore.getClazzName()) + .typeName(etlDataScore.getTypeName()) + .fenceStart(etlDataScore.getFenceStart()) + .fenceEnd(etlDataScore.getFenceEnd()) + .fenceCreate(etlDataScore.getFenceCreate()) + .build(); + } +} diff --git a/cloud-modules/cloud-Vehicle-Simulation/pom.xml b/cloud-modules/cloud-Vehicle-Simulation/pom.xml new file mode 100644 index 0000000..eff5a9b --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/pom.xml @@ -0,0 +1,106 @@ + + + 4.0.0 + + com.muyu + cloud-server + 3.6.3 + ../../pom.xml + + com.muyu.server + cloud-Vehicle-Simulation + + + 21 + 21 + UTF-8 + + + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + org.springframework.boot + spring-boot-starter-actuator + + + + com.mysql + mysql-connector-j + + + + com.muyu + cloud-common-datasource + + + + com.muyu + cloud-common-datascope + + + + com.muyu + cloud-common-log + + + + com.muyu + cloud-common-api-doc + + + com.muyu + cloud-electronic-common + 3.6.3 + + + com.github.pagehelper + pagehelper + 6.0.0 + + + + cloud-electronic + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-Vehicle-Simulation/src/main/java/com/muyu/vehicle/VehicleSimulationApplication.java b/cloud-modules/cloud-Vehicle-Simulation/src/main/java/com/muyu/vehicle/VehicleSimulationApplication.java new file mode 100644 index 0000000..4c91838 --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/src/main/java/com/muyu/vehicle/VehicleSimulationApplication.java @@ -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:杨闪闪 + * @Package:com.muyu.server.integration + * @Project:cloud-integration + * @name:Integration + * @Date:2024/9/17 下午9:56 + */ +@EnableMyFeignClients +@SpringBootApplication +public class VehicleSimulationApplication { + public static void main(String[] args) { + SpringApplication.run(VehicleSimulationApplication.class, args); + } +} diff --git a/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ + diff --git a/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/banner.txt b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/bootstrap.yml b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..574393e --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/bootstrap.yml @@ -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} diff --git a/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/dev.xml b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/dev.xml new file mode 100644 index 0000000..187e473 --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/dev.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/prod.xml b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/prod.xml new file mode 100644 index 0000000..9f04f11 --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/prod.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/test.xml b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/test.xml new file mode 100644 index 0000000..9f04f11 --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/logback/test.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/mapper/CarMiddleGroupMapper.xml b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/mapper/CarMiddleGroupMapper.xml new file mode 100644 index 0000000..e95c1a4 --- /dev/null +++ b/cloud-modules/cloud-Vehicle-Simulation/src/main/resources/mapper/CarMiddleGroupMapper.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/cloud-modules/cloud-electronic/pom.xml b/cloud-modules/cloud-electronic/pom.xml new file mode 100644 index 0000000..75429f7 --- /dev/null +++ b/cloud-modules/cloud-electronic/pom.xml @@ -0,0 +1,108 @@ + + + 4.0.0 + + com.muyu + cloud-server + 3.6.3 + ../../pom.xml + + + com.muyu.server + cloud-electronic + + + 21 + 21 + UTF-8 + + + + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + org.springframework.boot + spring-boot-starter-actuator + + + + com.mysql + mysql-connector-j + + + + com.muyu + cloud-common-datasource + + + + com.muyu + cloud-common-datascope + + + + com.muyu + cloud-common-log + + + + com.muyu + cloud-common-api-doc + + + com.muyu + cloud-electronic-common + 3.6.3 + + + com.github.pagehelper + pagehelper + 6.0.0 + + + + cloud-electronic + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/IntegrationApplication.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/IntegrationApplication.java new file mode 100644 index 0000000..3cb378a --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/IntegrationApplication.java @@ -0,0 +1,20 @@ +package com.muyu.server; + +import com.muyu.common.security.annotation.EnableMyFeignClients; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @Author:杨闪闪 + * @Package:com.muyu.server.integration + * @Project:cloud-integration + * @name:Integration + * @Date:2024/9/17 下午9:56 + */ +@EnableMyFeignClients +@SpringBootApplication +public class IntegrationApplication { + public static void main(String[] args) { + SpringApplication.run(IntegrationApplication.class, args); + } +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceClazzController.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceClazzController.java new file mode 100644 index 0000000..0b5a09c --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceClazzController.java @@ -0,0 +1,43 @@ +package com.muyu.server.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.domain.CarFenceClazz; +import com.muyu.server.service.CarFenceClazzService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.controller + * @Project:cloud-electronic + * @name:CarFenceClazzController + * @Date:2024/9/20 14:31 + */ +@RequestMapping("/carFenceClazz") +@RestController +@AllArgsConstructor +@Tag(name = "查询数据",description = "从围栏信息表中查询数据") +@Log4j2 +public class CarFenceClazzController { + + private final CarFenceClazzService carFenceClazzService; + + /** + * 查询围栏类型信息 + */ + @PostMapping("/selectClazz") + @Operation(summary = "查询数据",description = "查询数据") + public Result> selectConnect(){ + List connects = carFenceClazzService.list(); + return Result.success( + connects, "操作成功" + ); + } +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceController.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceController.java new file mode 100644 index 0000000..a15dcf2 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceController.java @@ -0,0 +1,141 @@ +package com.muyu.server.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.muyu.common.core.domain.Result; +import com.muyu.domain.CarFence; +import com.muyu.domain.req.*; +import com.muyu.domain.resq.CarFenceGroupResq; +import com.muyu.domain.resq.CarFenceGroupsResq; +import com.muyu.domain.resq.CarFenceResq; +import com.muyu.server.service.CarFenceService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.controller + * @Project:cloud-electronic + * @name:CarFenceController + * @Date:2024/9/17 16:46 + */ +@RequestMapping("/carFence") +@RestController +@AllArgsConstructor +@Tag(name = "查询数据",description = "从围栏信息表中查询数据") +@Log4j2 +public class CarFenceController { + + private final CarFenceService carFenceService; + + /** + * 查询围栏信息 + */ + @PostMapping("/selectConnect") + @Operation(summary = "查询数据",description = "查询数据") + public Result> selectConnect( + @Validated @RequestBody CarFenceReq req + ){ + Page connects = carFenceService.selectCarFence(req); + return Result.success( + connects, "操作成功" + ); + } + + /** + * add + */ + @PostMapping("/addCarFence") + @Operation(summary = "查询数据",description = "查询数据") + public Result addCarFence( + @Validated @RequestBody CarFence carFence + ){ + Boolean connects = carFenceService.addCarFence(carFence); + return connects?Result.success( + null, "操作成功" + ):Result.success( + null, "操作失败" + ); + } + + /** + * add + */ + @PostMapping("/carAddList") + @Operation(summary = "查询数据",description = "查询数据") + public Result addCarFence( + @Validated @RequestBody CarGroupReq req + ){ + Boolean connects = carFenceService.addCarGroup(req); + return connects?Result.success( + null, "操作成功" + ):Result.success( + null, "操作失败" + ); + } + + /** + * add + */ + @PostMapping("/selectFenceMiddleGroup") + @Operation(summary = "查询数据",description = "查询数据") + public Result selectFenceMiddleGroup( + @Validated @RequestBody FenceGroupReq req + ){ + Boolean connects = carFenceService.addFenceGroup(req); + return connects?Result.success( + null, "操作成功" + ):Result.success( + null, "操作失败" + ); + } + + /** + * 查询中间围栏 + */ + @PostMapping("/selectCarFenceGroupList") + @Operation(summary = "查询数据",description = "查询数据") + public Result> selectCarFenceGroupList( + @Validated @RequestBody Integer id + ){ + List list = carFenceService.selectCarFenceGroupList(id); + return list.size()!=0?Result.success( + list, "操作成功" + ):Result.success( + null, "未绑定围栏" + ); + } + /** + * 查询中间围栏 + */ + @DeleteMapping("/carFenceGroupDel") + @Operation(summary = "解除绑定围栏",description = "查询围栏数据") + public Result carFenceGroupDel( + @Validated @RequestBody CarGroupIdReq carGroupIdReq + ){ + Boolean list = carFenceService.carFenceGroupDel(carGroupIdReq); + return list?Result.success( + null, "操作成功" + ):Result.success( + null, "未绑定围栏" + ); + } + + /** + * 查询车辆围栏组信息 + */ + @PostMapping("/carGroupList") + @Operation(summary = "查询车辆围栏组数据",description = "查询车辆围栏组信息") + public Result> carGroupList(@RequestBody CarFenceGroupReq req){ + List connects = carFenceService.carGroupList(req); + return Result.success( + connects, "操作成功" + ); + } +} + diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceGroupController.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceGroupController.java new file mode 100644 index 0000000..faed306 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceGroupController.java @@ -0,0 +1,48 @@ +package com.muyu.server.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.muyu.common.core.domain.Result; +import com.muyu.domain.CarFenceGroup; +import com.muyu.domain.req.CarFenceGroupReq; +import com.muyu.domain.req.CarFenceReq; +import com.muyu.domain.resq.CarFenceResq; +import com.muyu.server.service.CarFenceGroupService; +import com.muyu.server.service.CarMiddleGroupService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.controller + * @Project:cloud-server-8 + * @name:CarFenceGroupController + * @Date:2024/9/23 1:12 + */ +@RequestMapping("/CarFenceGroup") +@RestController +@AllArgsConstructor +@Tag(name = "查询数据",description = "从中间表中查询数据") +@Log4j2 +public class CarFenceGroupController { + + private final CarMiddleGroupService carMiddleGroupService; + + /** + * 查询围栏信息 + */ + @PostMapping("/selectCarMiddleGroup") + @Operation(summary = "查询数据",description = "查询数据") + public Result> selectConnect(){ + List connects = carMiddleGroupService.selectCarFence(); + return Result.success( + connects, "操作成功" + ); + } + +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceTypeController.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceTypeController.java new file mode 100644 index 0000000..16e5fe5 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarFenceTypeController.java @@ -0,0 +1,43 @@ +package com.muyu.server.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.domain.CarFenceType; +import com.muyu.server.service.CarFenceTypeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.controller + * @Project:cloud-electronic + * @name:CarFenceClazzController + * @Date:2024/9/20 14:31 + */ +@RequestMapping("/carFenceType") +@RestController +@AllArgsConstructor +@Tag(name = "查询数据",description = "从围栏信息表中查询数据") +@Log4j2 +public class CarFenceTypeController { + + private final CarFenceTypeService carFenceTypeService; + + /** + * 查询围栏业务信息 + */ + @PostMapping("/selectType") + @Operation(summary = "查询数据",description = "查询数据") + public Result> selectConnect(){ + List connects = carFenceTypeService.list(); + return Result.success( + connects, "操作成功" + ); + } +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarInformationController.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarInformationController.java new file mode 100644 index 0000000..8c5c7dc --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarInformationController.java @@ -0,0 +1,47 @@ +package com.muyu.server.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.domain.CarFenceType; +import com.muyu.domain.CarInformation; +import com.muyu.server.service.CarInformationService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.controller + * @Project:cloud-server-8 + * @name:CarInformationController + * @Date:2024/9/22 22:20 + */ +@RequestMapping("/carInformation") +@RestController +@AllArgsConstructor +@Tag(name = "查询数据",description = "从围栏信息表中查询数据") +@Log4j2 +public class CarInformationController { + + private final CarInformationService carInformationService; + + /** + * 查询围栏业务信息 + */ + @PostMapping("/selectCarInformation") + @Operation(summary = "查询数据",description = "查询数据") + public Result> selectConnect(){ + List connects = carInformationService.list() + .stream() + .map(CarInformation::carInformationBuilder) + .toList(); + return Result.success( + connects, "操作成功" + ); + } +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarMiddleController.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarMiddleController.java new file mode 100644 index 0000000..6a27f3a --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/controller/CarMiddleController.java @@ -0,0 +1,54 @@ +package com.muyu.server.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.domain.CarFenceGroup; +import com.muyu.domain.CarMiddle; +import com.muyu.domain.req.CarFenceGroupReq; +import com.muyu.domain.resq.CarFenceGroupsResq; +import com.muyu.server.service.CarMiddleSerivce; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.controller + * @Project:cloud-electronic + * @name:CarMiddleController + * @Date:2024/9/20 16:33 + */ +@RequestMapping("/carMiddle") +@RestController +@AllArgsConstructor +@Tag(name = "添加数据",description = "从中间表添加数据") +@Log4j2 +public class CarMiddleController { + + private CarMiddleSerivce carMiddleSerivce; + + /** + * add中间表 + */ + @PostMapping("/carAddList") + @Operation(summary = "查询数据",description = "查询数据") + public Result addCarFence( + @Validated @RequestBody CarMiddle carMiddle + ){ + boolean connects = carMiddleSerivce.save(carMiddle); + return connects?Result.success( + null, "操作成功" + ):Result.success( + null, "操作失败" + ); + } + + +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceClazzMapper.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceClazzMapper.java new file mode 100644 index 0000000..26c51d3 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceClazzMapper.java @@ -0,0 +1,16 @@ +package com.muyu.server.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.CarFenceClazz; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yang + * @Package:com.muyu.server.mapper + * @Project:cloud-electronic + * @name:CarFenceClazzMapper + * @Date:2024/9/17 17:34 + */ +@Mapper +public interface CarFenceClazzMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceGroupMapper.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceGroupMapper.java new file mode 100644 index 0000000..cf46fb8 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceGroupMapper.java @@ -0,0 +1,17 @@ +package com.muyu.server.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.CarFenceClazz; +import com.muyu.domain.CarFenceGroup; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yang + * @Package:com.muyu.server.mapper + * @Project:cloud-server-8 + * @name:CarFenceGroupMapper + * @Date:2024/9/22 20:54 + */ +@Mapper +public interface CarFenceGroupMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceMapper.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceMapper.java new file mode 100644 index 0000000..59af5ec --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceMapper.java @@ -0,0 +1,16 @@ +package com.muyu.server.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.CarFence; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yang + * @Package:com.muyu.server.mysql + * @Project:cloud-electronic + * @name:CarFenceServiceMapper + * @Date:2024/9/17 17:13 + */ +@Mapper +public interface CarFenceMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceTypeMapper.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceTypeMapper.java new file mode 100644 index 0000000..d0ab490 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarFenceTypeMapper.java @@ -0,0 +1,16 @@ +package com.muyu.server.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.CarFenceType; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yang + * @Package:com.muyu.server.mapper + * @Project:cloud-electronic + * @name:CarFenceTypeMapper + * @Date:2024/9/17 17:32 + */ +@Mapper +public interface CarFenceTypeMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarInformationMapper.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarInformationMapper.java new file mode 100644 index 0000000..f4ee33b --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarInformationMapper.java @@ -0,0 +1,16 @@ +package com.muyu.server.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.CarInformation; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yang + * @Package:com.muyu.server.mapper + * @Project:cloud-server-8 + * @name:CarInformationMapper + * @Date:2024/9/22 22:24 + */ +@Mapper +public interface CarInformationMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarMiddleGroupMapper.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarMiddleGroupMapper.java new file mode 100644 index 0000000..91aa15e --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarMiddleGroupMapper.java @@ -0,0 +1,22 @@ +package com.muyu.server.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.CarMiddle; +import com.muyu.domain.CarMiddleGroup; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.mapper + * @Project:cloud-server-8 + * @name:CarMiddleGroupMapper + * @Date:2024/9/22 20:43 + */ +@Mapper +public interface CarMiddleGroupMapper extends BaseMapper { + List selectByIdList(@Param("carFenceId") Integer carFenceId); + +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarMiddleMapper.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarMiddleMapper.java new file mode 100644 index 0000000..e31a04f --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/mapper/CarMiddleMapper.java @@ -0,0 +1,16 @@ +package com.muyu.server.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.CarMiddle; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yang + * @Package:com.muyu.server.mapper + * @Project:cloud-electronic + * @name:CarMiddleMapper + * @Date:2024/9/20 16:35 + */ +@Mapper +public interface CarMiddleMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceClazzService.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceClazzService.java new file mode 100644 index 0000000..fdc2bb2 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceClazzService.java @@ -0,0 +1,14 @@ +package com.muyu.server.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarFenceClazz; + +/** + * @Author:yang + * @Package:com.muyu.server.service + * @Project:cloud-electronic + * @name:CarFenceClazzService + * @Date:2024/9/17 17:33 + */ +public interface CarFenceClazzService extends IService{ +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceGroupService.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceGroupService.java new file mode 100644 index 0000000..83cbc7a --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceGroupService.java @@ -0,0 +1,15 @@ +package com.muyu.server.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarFenceClazz; +import com.muyu.domain.CarFenceGroup; + +/** + * @Author:yang + * @Package:com.muyu.server.service + * @Project:cloud-server-8 + * @name:CarFenceGroupService + * @Date:2024/9/22 20:53 + */ +public interface CarFenceGroupService extends IService { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceService.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceService.java new file mode 100644 index 0000000..2a3b5e6 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceService.java @@ -0,0 +1,37 @@ +package com.muyu.server.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarFence; +import com.muyu.domain.req.*; +import com.muyu.domain.resq.CarFenceGroupResq; +import com.muyu.domain.resq.CarFenceGroupsResq; +import com.muyu.domain.resq.CarFenceResq; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.service + * @Project:cloud-electronic + * @name:CarFenceService + * @Date:2024/9/17 16:54 + */ +public interface CarFenceService extends IService { + /** + * 查询围栏信息 + */ + public Page selectCarFence(CarFenceReq req); + + Boolean addCarFence(CarFence carFence); + + Boolean addCarGroup(CarGroupReq req); + + Boolean addFenceGroup(FenceGroupReq req); + + List selectCarFenceGroupList(Integer id); + + Boolean carFenceGroupDel(CarGroupIdReq carGroupIdReq); + + List carGroupList(CarFenceGroupReq req); +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceTypeService.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceTypeService.java new file mode 100644 index 0000000..428416e --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarFenceTypeService.java @@ -0,0 +1,14 @@ +package com.muyu.server.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarFenceType; + +/** + * @Author:yang + * @Package:com.muyu.server.service + * @Project:cloud-electronic + * @name:CarFenceTypeService + * @Date:2024/9/17 17:29 + */ +public interface CarFenceTypeService extends IService{ +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarInformationService.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarInformationService.java new file mode 100644 index 0000000..ea50c7f --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarInformationService.java @@ -0,0 +1,14 @@ +package com.muyu.server.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarInformation; + +/** + * @Author:yang + * @Package:com.muyu.server.service + * @Project:cloud-server-8 + * @name:CarInformationService + * @Date:2024/9/22 22:22 + */ +public interface CarInformationService extends IService { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarMiddleGroupService.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarMiddleGroupService.java new file mode 100644 index 0000000..9810217 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarMiddleGroupService.java @@ -0,0 +1,23 @@ +package com.muyu.server.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarFenceGroup; +import com.muyu.domain.CarMiddleGroup; +import com.muyu.domain.req.CarFenceGroupReq; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.service + * @Project:cloud-server-8 + * @name:CarMiddleGroupController + * @Date:2024/9/22 20:40 + */ +public interface CarMiddleGroupService extends IService { + /* + 查询中间 + */ + List selectCarFence(); + +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarMiddleSerivce.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarMiddleSerivce.java new file mode 100644 index 0000000..7365dbd --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/CarMiddleSerivce.java @@ -0,0 +1,20 @@ +package com.muyu.server.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarFenceGroup; +import com.muyu.domain.CarMiddle; +import com.muyu.domain.req.CarFenceGroupReq; +import com.muyu.domain.resq.CarFenceGroupsResq; + +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.service + * @Project:cloud-electronic + * @name:CarMiddleSerivce + * @Date:2024/9/20 16:34 + */ +public interface CarMiddleSerivce extends IService { + +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceClazzServiceImpl.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceClazzServiceImpl.java new file mode 100644 index 0000000..d53e355 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceClazzServiceImpl.java @@ -0,0 +1,20 @@ +package com.muyu.server.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.CarFenceClazz; +import com.muyu.server.mapper.CarFenceClazzMapper; +import com.muyu.server.service.CarFenceClazzService; +import org.springframework.stereotype.Service; + +/** + * @Author:yang + * @Package:com.muyu.server.service.impl + * @Project:cloud-electronic + * @name:CarFenceClazzServiceImpl + * @Date:2024/9/17 17:33 + */ +@Service +public class CarFenceClazzServiceImpl + extends ServiceImpl + implements CarFenceClazzService { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceGroupServiceImpl.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceGroupServiceImpl.java new file mode 100644 index 0000000..af040a9 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceGroupServiceImpl.java @@ -0,0 +1,22 @@ +package com.muyu.server.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.CarFenceClazz; +import com.muyu.domain.CarFenceGroup; +import com.muyu.server.mapper.CarFenceClazzMapper; +import com.muyu.server.mapper.CarFenceGroupMapper; +import com.muyu.server.service.CarFenceGroupService; +import org.springframework.stereotype.Service; + +/** + * @Author:yang + * @Package:com.muyu.server.service.impl + * @Project:cloud-server-8 + * @name:CarFenceGroupServiceImpl + * @Date:2024/9/22 20:53 + */ +@Service +public class CarFenceGroupServiceImpl + extends ServiceImpl +implements CarFenceGroupService { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceServiceImpl.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceServiceImpl.java new file mode 100644 index 0000000..3b10fea --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceServiceImpl.java @@ -0,0 +1,301 @@ +package com.muyu.server.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.StringUtils; +import com.muyu.domain.*; +import com.muyu.domain.req.*; +import com.muyu.domain.resq.CarFenceGroupResq; +import com.muyu.domain.resq.CarFenceGroupsResq; +import com.muyu.domain.resq.CarFenceResq; +import com.muyu.server.mapper.CarFenceMapper; +import com.muyu.server.service.*; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.service.impl + * @Project:cloud-electronic + * @name:CarFenceServiceImpl + * @Date:2024/9/17 16:57 + */ +@Service +@Log4j2 +public class CarFenceServiceImpl + extends ServiceImpl + implements CarFenceService { + + @Autowired + private CarFenceClazzService carFenceClazzService; + @Autowired + private CarFenceTypeService carFenceTypeService; + @Autowired + private CarMiddleGroupService carMiddleGroupService; + @Autowired + private CarFenceGroupService carFenceGroupService; + @Autowired + private CarMiddleSerivce carMiddleSerivce; + @Autowired + private CarInformationService carInformationService; + /** + * 查询围栏信息 + */ + @Override + public Page selectCarFence(CarFenceReq req) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + //数据来源类型 + queryWrapper.eq( + StringUtils.isNoneEmpty(req.getName()), + CarFence::getName, req.getName() + ); + queryWrapper.eq( + StringUtils.isNoneEmpty(req.getName()), + CarFence::getName, req.getName() + ); + queryWrapper.eq( + StringUtils.isNoneEmpty(req.getName()), + CarFence::getName, req.getName() + ); + + //使用MyBatis-Plus的分页功能进行查询 + Page carFencePage = this.page( + //创建分页参数,包括页码和每页显示的记录数 + new Page<>(req.getPageNum(), + req.getPageSize()), + //传递查询条件 + queryWrapper + ); + List carFenceClazzList = carFenceClazzService.list() + .stream() + .map(CarFenceClazz::carFenceClazzBuild) + .toList(); + List carFenceTypeList = carFenceTypeService.list() + .stream() + .map(CarFenceType::carFenceTypeBuild) + .toList(); + List carFenceList = carFencePage.getRecords(); + this.optimizeEntity(carFenceList,carFenceClazzList,carFenceTypeList); + //构建一个新的分页响应对象 + return new Page<>() {{ + //从查询结果中获取记录,并使用流式处理将每条记录转换为EtlDataScoreResp对象 + List etlDataScoreRespList = carFencePage.getRecords().stream() + //使用map操作将EtlDataScore对象转换为EtlDataScoreResp对象 + .map(CarFenceResq::carFenceResqListBuilder) + //收集流中的元素到列表中 + .toList(); + //设置分页响应中的记录列表 + setRecords(etlDataScoreRespList); + //设置分页响应中的总记录数 + setTotal(carFencePage.getTotal()); + //设置分页响应中的当前页码 + setCurrent(carFencePage.getCurrent()); + //设置分页响应中的每页记录数 + setSize(carFencePage.getSize()); + }}; + } + + @Override + public Boolean addCarFence(CarFence carFence) { + boolean connects = this.save(carFence); + System.out.println(carFence.getId()); + List carFenceGroups = carFence.getCarFenceGroups(); + carFenceGroupService.saveBatch(carFenceGroups); + carFenceGroups.forEach(carFenceGroup -> { + Integer id = carFenceGroup.getId(); + CarMiddleGroup carMiddleGroup = new CarMiddleGroup(); + carMiddleGroup.setCarFenceId(carFence.getId()); + carMiddleGroup.setFenceGroupId(carFenceGroup.getId()); + carMiddleGroupService.save(carMiddleGroup); + }); + return connects; + } + + @Override + public Boolean addCarGroup(CarGroupReq req) { + List carInformations = req.getCarInformations(); + List carFenceGroups = req.getCarFenceGroups(); + List carMiddles = new ArrayList<>(); + carFenceGroups.forEach(carFenceGroup -> { + + carInformations.forEach(carInformation -> { + Integer carFenceGroupId = carFenceGroup.getId(); + Integer carInformationId = carInformation.getCarInformationId(); + carMiddles.add(new CarMiddle(carFenceGroupId,carInformationId)); + }); + }); + return carMiddleSerivce.saveBatch(carMiddles); + } + + @Override + public Boolean addFenceGroup(FenceGroupReq req) { + List carInformations = req.getCarFences(); + List carFenceGroups = req.getCarFenceGroups(); + List carMiddles = new ArrayList<>(); + carFenceGroups.forEach(carFenceGroup -> { + + carInformations.forEach(carFence -> { + Integer carFenceGroupId = carFenceGroup.getId(); + Integer id = carFence.getId(); + carMiddles.add(new CarMiddleGroup(carFenceGroupId,id)); + }); + }); + return carMiddleGroupService.saveBatch(carMiddles); + } + + @Override + public List selectCarFenceGroupList(Integer id) { + List list = carMiddleGroupService.list( + new LambdaQueryWrapper() + .eq(CarMiddleGroup::getFenceGroupId,id)) + .stream() + .map(CarMiddleGroup::carMiddleGroupBuilder) + .toList(); + List carFenceGroupResqs = new ArrayList<>(); + list.forEach(carMiddleGroup -> { + this.carMiddleList(carMiddleGroup, carFenceGroupResqs); + }); + return carFenceGroupResqs; + } + + @Override + public Boolean carFenceGroupDel(CarGroupIdReq carGroupIdReq) { + + List list = carMiddleGroupService.list( + new LambdaQueryWrapper() + .eq(CarMiddleGroup::getCarFenceId, carGroupIdReq.getId()) + .eq(CarMiddleGroup::getFenceGroupId, carGroupIdReq.getIds())) + .stream() + .map(CarMiddleGroup::carMiddleGroupBuilder) + .toList(); + return carMiddleGroupService.removeBatchByIds(list); + } + + private void carMiddleList(CarMiddleGroup carMiddleGroup, List carFenceGroupResqs) { + Integer carFenceId = carMiddleGroup.getCarFenceId(); + Integer fenceGroupId = carMiddleGroup.getFenceGroupId(); + List carFenceList = this.list( + new LambdaQueryWrapper() + .eq(CarFence::getId,carFenceId)) + .stream() + .map(CarFence::carFenceBuild) + .toList(); + List carFenceGroupsList = carFenceGroupService.list( + new LambdaQueryWrapper() + .eq(CarFenceGroup::getId,fenceGroupId)) + .stream() + .map(CarFenceGroup::carFenceBuild) + .toList(); + carFenceList.forEach(carFence -> { + CarFenceGroupResq carFenceGroupResq = new CarFenceGroupResq(); + carFenceGroupResq.setId(carFence.getId()); + carFenceGroupResq.setName(carFence.getName()); + carFenceGroupResq.setClazzId(carFence.getClazzId()); + carFenceGroupResq.setTypeId(carFence.getTypeId()); + carFenceGroupResq.setFenceText(carFence.getFenceText()); + carFenceGroupResq.setFenceStart(carFence.getFenceStart()); + carFenceGroupResq.setFenceEnd(carFence.getFenceEnd()); + carFenceGroupResq.setFenceCreate(carFence.getFenceCreate()); + + carFenceGroupResqs.add(carFenceGroupResq); + }); + carFenceGroupsList.forEach(carFenceGroup -> { + carFenceGroupResqs.forEach(carFenceGroupResq -> { + carFenceGroupResq.setPriority(carFenceGroup.getPriority()); + carFenceGroupResq.setStatus(carFenceGroup.getStatus()); + carFenceGroupResq.setGroupType(carFenceGroup.getGroupType()); + }); + }); + } + + + /** + * 优化查询返回值 + * @param carFenceList 电子围栏数据 + * @param carFenceClazzList 业务数据 + * @param carFenceTypeList 类型数据 + */ + private void optimizeEntity( + List carFenceList, + List carFenceClazzList, + List carFenceTypeList) { + carFenceList.forEach(carFence -> { + carFenceClazzList.forEach(carFenceClazz -> { + if (carFenceClazz.getClazzId().equals(carFence.getClazzId())) { + carFence.setClazzName(carFenceClazz.getClazzName()); + }else { + return; + } + }); + carFenceTypeList.forEach(carFenceType -> { + if (carFenceType.getTypeId().equals(carFence.getTypeId())) { + carFence.setTypeName(carFenceType.getTypeName()); + }else{ + return; + } + }); + }); + } + @Override + public List carGroupList(CarFenceGroupReq req) { + + List fenceGroupList = new ArrayList<>(); + CarFenceGroupsResq carFenceGroupsResq = new CarFenceGroupsResq(); + + List list = carMiddleGroupService.list( + new LambdaQueryWrapper() + .eq(CarMiddleGroup::getCarFenceId, req.getId())) + .stream() + .map(CarMiddleGroup::carMiddleGroupBuilder) + .toList(); + List carFenceList = this.list() + .stream() + .map(CarFence::carFenceBuild) + .toList(); + list.forEach(carMiddleGroup -> { + List carMiddleGroupList = carMiddleSerivce.list( + new LambdaQueryWrapper() + .eq(CarMiddle::getFenceGroupId, carMiddleGroup.getFenceGroupId())) + .stream() + .map(CarMiddle::carMiddleBuilder) + .toList(); + carMiddleGroupList.forEach(carMiddle -> { + List carFenceGroupList = carFenceGroupService.list( + new LambdaQueryWrapper() + .eq(CarFenceGroup::getId, carMiddle.getFenceGroupId())) + .stream() + .map(CarFenceGroup::carFenceBuild) + .toList(); + List carInformationList = carInformationService.list( + new LambdaQueryWrapper() + .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; + } +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceTypeServiceImpl.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceTypeServiceImpl.java new file mode 100644 index 0000000..dbfc220 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarFenceTypeServiceImpl.java @@ -0,0 +1,20 @@ +package com.muyu.server.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.CarFenceType; +import com.muyu.server.mapper.CarFenceTypeMapper; +import com.muyu.server.service.CarFenceTypeService; +import org.springframework.stereotype.Service; + +/** + * @Author:yang + * @Package:com.muyu.server.service.impl + * @Project:cloud-electronic + * @name:CarFenceTypeServiceImpl + * @Date:2024/9/17 17:30 + */ +@Service +public class CarFenceTypeServiceImpl + extends ServiceImpl + implements CarFenceTypeService { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarInformationServiceImpl.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarInformationServiceImpl.java new file mode 100644 index 0000000..f6a95a9 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarInformationServiceImpl.java @@ -0,0 +1,22 @@ +package com.muyu.server.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.CarFenceType; +import com.muyu.domain.CarInformation; +import com.muyu.server.mapper.CarFenceTypeMapper; +import com.muyu.server.mapper.CarInformationMapper; +import com.muyu.server.service.CarInformationService; +import org.springframework.stereotype.Service; + +/** + * @Author:yang + * @Package:com.muyu.server.service.impl + * @Project:cloud-server-8 + * @name:CarInformationServiceImpl + * @Date:2024/9/22 22:22 + */ +@Service +public class CarInformationServiceImpl + extends ServiceImpl + implements CarInformationService { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarMiddleGroupServiceImpl.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarMiddleGroupServiceImpl.java new file mode 100644 index 0000000..ceaa905 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarMiddleGroupServiceImpl.java @@ -0,0 +1,45 @@ +package com.muyu.server.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.CarFenceGroup; +import com.muyu.domain.CarFenceType; +import com.muyu.domain.CarMiddleGroup; +import com.muyu.domain.req.CarFenceGroupReq; +import com.muyu.server.mapper.CarFenceTypeMapper; +import com.muyu.server.mapper.CarMiddleGroupMapper; +import com.muyu.server.service.CarFenceGroupService; +import com.muyu.server.service.CarFenceTypeService; +import com.muyu.server.service.CarMiddleGroupService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.service.impl + * @Project:cloud-server-8 + * @name:CarMiddleGroupServiceImpl + * @Date:2024/9/22 20:43 + */ +@Service +public class CarMiddleGroupServiceImpl + extends ServiceImpl + implements CarMiddleGroupService { + + @Autowired + private CarMiddleGroupMapper carMiddleGroupMapper; + @Autowired + private CarFenceGroupService carFenceGroupService; + + /** + * 查询中间操作 + * @return + */ + @Override + public List selectCarFence() { + return carFenceGroupService.list(); + } +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarMiddleSerivceImpl.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarMiddleSerivceImpl.java new file mode 100644 index 0000000..976532c --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/service/impl/CarMiddleSerivceImpl.java @@ -0,0 +1,28 @@ +package com.muyu.server.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.*; +import com.muyu.domain.req.CarFenceGroupReq; +import com.muyu.domain.resq.CarFenceGroupsResq; +import com.muyu.server.mapper.CarMiddleMapper; +import com.muyu.server.service.*; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author:yang + * @Package:com.muyu.server.service.impl + * @Project:cloud-electronic + * @name:CarMiddleSerivceImpl + * @Date:2024/9/20 16:34 + */ +@Service +@AllArgsConstructor +public class CarMiddleSerivceImpl + extends ServiceImpl + implements CarMiddleSerivce { +} diff --git a/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/util/JdbcHelper.java b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/util/JdbcHelper.java new file mode 100644 index 0000000..f6a2384 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/java/com/muyu/server/util/JdbcHelper.java @@ -0,0 +1,118 @@ +package com.muyu.server.util;//package com.muyu.server.util; +// +//import com.alibaba.druid.pool.DruidDataSource; +//import com.muyu.common.domain.Connect; +//import com.muyu.common.domain.req.ConnectReq; +//import lombok.extern.log4j.Log4j2; +//import org.springframework.stereotype.Component; +// +//import java.sql.Connection; +//import java.sql.PreparedStatement; +//import java.sql.ResultSet; +//import java.sql.SQLException; +// +///** +// * @Author:张腾 +// * @Package:com.muyu.server.util +// * @Project:cloud-integration +// * @name:BaseDao +// * @Date:2024/8/20 21:45 +// */ +//@Component +//@Log4j2 +//public class JdbcHelper { +// +// /** +// * 连接池 +// * @param connect 连接池对象参数 查询结构 +// * @return 返回结果 +// */ +// public static DruidDataSource getConn( Connect connect) { +// while (0 { + // 你的线程任务 + }); + } + + @Override + public void contextDestroyed(ServletContextEvent sce) { + // 停止线程 + executorService.shutdownNow(); + } + } +} diff --git a/cloud-modules/cloud-electronic/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-electronic/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ + diff --git a/cloud-modules/cloud-electronic/src/main/resources/banner.txt b/cloud-modules/cloud-electronic/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/cloud-modules/cloud-electronic/src/main/resources/bootstrap.yml b/cloud-modules/cloud-electronic/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..574393e --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/resources/bootstrap.yml @@ -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} diff --git a/cloud-modules/cloud-electronic/src/main/resources/logback/dev.xml b/cloud-modules/cloud-electronic/src/main/resources/logback/dev.xml new file mode 100644 index 0000000..187e473 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/resources/logback/dev.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-electronic/src/main/resources/logback/prod.xml b/cloud-modules/cloud-electronic/src/main/resources/logback/prod.xml new file mode 100644 index 0000000..9f04f11 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/resources/logback/prod.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-electronic/src/main/resources/logback/test.xml b/cloud-modules/cloud-electronic/src/main/resources/logback/test.xml new file mode 100644 index 0000000..9f04f11 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/resources/logback/test.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-electronic/src/main/resources/mapper/CarMiddleGroupMapper.xml b/cloud-modules/cloud-electronic/src/main/resources/mapper/CarMiddleGroupMapper.xml new file mode 100644 index 0000000..e95c1a4 --- /dev/null +++ b/cloud-modules/cloud-electronic/src/main/resources/mapper/CarMiddleGroupMapper.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/cloud-modules/pom.xml b/cloud-modules/pom.xml index 516b222..bceb6e9 100644 --- a/cloud-modules/pom.xml +++ b/cloud-modules/pom.xml @@ -9,6 +9,7 @@ 4.0.0 + cloud-electronic cloud-modules-system cloud-modules-gen cloud-modules-file diff --git a/pom.xml b/pom.xml index b30f0df..7594852 100644 --- a/pom.xml +++ b/pom.xml @@ -246,6 +246,13 @@ ${muyu.version} + + + com.muyu + cloud-common-system + ${muyu.version} + + com.xuxueli @@ -275,6 +282,8 @@ cloud-visual cloud-modules cloud-common + cloud-modules/cloud-electronic + cloud-modules/cloud-Vehicle-Simulation pom