查询中间表,添加车辆中间表围栏组围栏表信息

master
Yueng 2024-09-24 11:08:07 +08:00
parent 41918d6303
commit 10981bc80d
23 changed files with 860 additions and 9 deletions

View File

@ -13,6 +13,7 @@ import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @Authoryang * @Authoryang
@ -82,6 +83,11 @@ public class CarFence {
* ID * ID
*/ */
private Integer middleId; private Integer middleId;
/**
*
*/
@TableField(exist = false)
private List<CarFenceGroup> carFenceGroups;
public static CarFence carFenceBuild(CarFence carFence) { public static CarFence carFenceBuild(CarFence carFence) {
return CarFence.builder() return CarFence.builder()

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.domain
* @Projectcloud-server-8
* @namecarFenceGroup
* @Date2024/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();
}
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.domain
* @Projectcloud-server-8
* @nameCarInformation
* @Date2024/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();
}
}

View File

@ -1,5 +1,7 @@
package com.muyu.domain; package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -18,20 +20,26 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Builder @Builder
@Tag(name = "车辆电子围栏中间表") @Tag(name = "车辆电子中间表")
@TableName(value = "car_middle",autoResultMap = true) @TableName(value = "car_middle",autoResultMap = true)
public class CarMiddle { public class CarMiddle {
/** /**
* ID * ID
*/ */
@TableId(value = "id",type = IdType.AUTO)
private Integer id; private Integer id;
/** /**
* ID * ID
*/ */
private Integer carFenceId; private Integer fenceGroupId;
/** /**
* ID * ID
*/ */
private Integer carInformationId; private Integer carInformationId;
public CarMiddle(Integer fenceGroupId, Integer carInformationId) {
this.fenceGroupId = fenceGroupId;
this.carInformationId = carInformationId;
}
} }

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.domain
* @Projectcloud-server-8
* @namecarMiddleGroup
* @Date2024/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();
}
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.domain.req
* @Projectcloud-server-8
* @nameCarGroupReq
* @Date2024/9/23 12:01
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Tag(name = "车辆电子围栏响应参数")
public class CarGroupReq {
/**
*
*/
private List<CarInformation> carInformations;
/**
*
*/
private List<CarFenceGroup> carFenceGroups;
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.domain.req
* @Projectcloud-server-8
* @nameFenceGroupReq
* @Date2024/9/24 1:09
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Tag(name = "围栏组围栏响应参数")
public class FenceGroupReq {
/**
*
*/
private List<CarFence> carFences;
/**
*
*/
private List<CarFenceGroup> carFenceGroups;
}

View File

@ -0,0 +1,100 @@
package com.muyu.domain.resq;
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 com.muyu.domain.CarFenceGroup;
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;
import java.util.List;
/**
* @Authoryang
* @Packagecom.muyu.domain.resq
* @Projectcloud-server-8
* @nameCarFenceGroupReq
* @Date2024/9/24 1:45
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Tag(name = "车辆电子围栏类")
public class CarFenceGroupReq {
/**
*
*/
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<CarFenceGroup> carFenceGroups;
/**
*
*/
private Integer priority;
/**
*
*/
private String status;
/**
*
*/
private String groupType;
}

View File

@ -1,9 +1,15 @@
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.CarInformation;
import com.muyu.domain.req.CarFenceReq; import com.muyu.domain.req.CarFenceReq;
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;
@ -16,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* @Authoryang * @Authoryang
* @Packagecom.muyu.server.controller * @Packagecom.muyu.server.controller
@ -54,11 +62,60 @@ public class CarFenceController {
public Result<String> addCarFence( public Result<String> addCarFence(
@Validated @RequestBody CarFence carFence @Validated @RequestBody CarFence carFence
){ ){
boolean connects = carFenceService.save(carFence); Boolean connects = carFenceService.addCarFence(carFence);
return connects?Result.success( return connects?Result.success(
null, "操作成功" null, "操作成功"
):Result.success( ):Result.success(
null, "操作失败" null, "操作失败"
); );
} }
/**
* add
*/
@PostMapping("/carAddList")
@Operation(summary = "查询数据",description = "查询数据")
public Result<String> 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<String> 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<List<CarFenceGroupReq>> selectCarFenceGroupList(
@Validated @RequestBody Integer id
){
List<CarFenceGroupReq> list = carFenceService.selectCarFenceGroupList(id);
return list.size()!=0?Result.success(
list, "操作成功"
):Result.success(
null, "未绑定围栏"
);
}
}

View File

@ -0,0 +1,46 @@
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.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;
/**
* @Authoryang
* @Packagecom.muyu.server.controller
* @Projectcloud-server-8
* @nameCarFenceGroupController
* @Date2024/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<List<CarFenceGroup>> selectConnect(){
List<CarFenceGroup> connects = carMiddleGroupService.selectCarFence();
return Result.success(
connects, "操作成功"
);
}
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.server.controller
* @Projectcloud-server-8
* @nameCarInformationController
* @Date2024/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<List<CarInformation>> selectConnect(){
List<CarInformation> connects = carInformationService.list()
.stream()
.map(CarInformation::carInformationBuilder)
.toList();
return Result.success(
connects, "操作成功"
);
}
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.server.mapper
* @Projectcloud-server-8
* @nameCarFenceGroupMapper
* @Date2024/9/22 20:54
*/
@Mapper
public interface CarFenceGroupMapper extends BaseMapper<CarFenceGroup> {
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.server.mapper
* @Projectcloud-server-8
* @nameCarInformationMapper
* @Date2024/9/22 22:24
*/
@Mapper
public interface CarInformationMapper extends BaseMapper<CarInformation> {
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.server.mapper
* @Projectcloud-server-8
* @nameCarMiddleGroupMapper
* @Date2024/9/22 20:43
*/
@Mapper
public interface CarMiddleGroupMapper extends BaseMapper<CarMiddleGroup> {
List<CarMiddleGroup> selectByIdList(@Param("carFenceId") Integer carFenceId);
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.server.service
* @Projectcloud-server-8
* @nameCarFenceGroupService
* @Date2024/9/22 20:53
*/
public interface CarFenceGroupService extends IService<CarFenceGroup> {
}

View File

@ -3,9 +3,16 @@ 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.CarInformation;
import com.muyu.domain.req.CarFenceReq; import com.muyu.domain.req.CarFenceReq;
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;
/** /**
* @Authoryang * @Authoryang
* @Packagecom.muyu.server.service * @Packagecom.muyu.server.service
@ -19,4 +26,11 @@ public interface CarFenceService extends IService<CarFence> {
*/ */
public Page<CarFenceResq> selectCarFence(CarFenceReq req); public Page<CarFenceResq> selectCarFence(CarFenceReq req);
Boolean addCarFence(CarFence carFence);
Boolean addCarGroup(CarGroupReq req);
Boolean addFenceGroup(FenceGroupReq req);
List<CarFenceGroupReq> selectCarFenceGroupList(Integer id);
} }

View File

@ -0,0 +1,14 @@
package com.muyu.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.CarInformation;
/**
* @Authoryang
* @Packagecom.muyu.server.service
* @Projectcloud-server-8
* @nameCarInformationService
* @Date2024/9/22 22:22
*/
public interface CarInformationService extends IService<CarInformation> {
}

View File

@ -0,0 +1,21 @@
package com.muyu.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.CarFenceGroup;
import com.muyu.domain.CarMiddleGroup;
import java.util.List;
/**
* @Authoryang
* @Packagecom.muyu.server.service
* @Projectcloud-server-8
* @nameCarMiddleGroupController
* @Date2024/9/22 20:40
*/
public interface CarMiddleGroupService extends IService<CarMiddleGroup> {
/*
*/
List<CarFenceGroup> selectCarFence();
}

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.server.service.impl
* @Projectcloud-server-8
* @nameCarFenceGroupServiceImpl
* @Date2024/9/22 20:53
*/
@Service
public class CarFenceGroupServiceImpl
extends ServiceImpl<CarFenceGroupMapper, CarFenceGroup>
implements CarFenceGroupService {
}

View File

@ -4,19 +4,19 @@ 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.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.CarFence; import com.muyu.domain.*;
import com.muyu.domain.CarFenceClazz;
import com.muyu.domain.CarFenceType;
import com.muyu.domain.req.CarFenceReq; import com.muyu.domain.req.CarFenceReq;
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.mapper.CarFenceMapper; import com.muyu.server.mapper.CarFenceMapper;
import com.muyu.server.service.CarFenceClazzService; import com.muyu.server.service.*;
import com.muyu.server.service.CarFenceService;
import com.muyu.server.service.CarFenceTypeService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -36,6 +36,12 @@ public class CarFenceServiceImpl
private CarFenceClazzService carFenceClazzService; private CarFenceClazzService carFenceClazzService;
@Autowired @Autowired
private CarFenceTypeService carFenceTypeService; private CarFenceTypeService carFenceTypeService;
@Autowired
private CarMiddleGroupService carMiddleGroupService;
@Autowired
private CarFenceGroupService carFenceGroupService;
@Autowired
private CarMiddleSerivce carMiddleSerivce;
/** /**
* *
*/ */
@ -94,6 +100,106 @@ public class CarFenceServiceImpl
}}; }};
} }
@Override
public Boolean addCarFence(CarFence carFence) {
boolean connects = this.save(carFence);
System.out.println(carFence.getId());
List<CarFenceGroup> 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<CarInformation> carInformations = req.getCarInformations();
List<CarFenceGroup> carFenceGroups = req.getCarFenceGroups();
List<CarMiddle> 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<CarFence> carInformations = req.getCarFences();
List<CarFenceGroup> carFenceGroups = req.getCarFenceGroups();
List<CarMiddleGroup> 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<CarFenceGroupReq> selectCarFenceGroupList(Integer id) {
List<CarMiddleGroup> list = carMiddleGroupService.list(
new LambdaQueryWrapper<CarMiddleGroup>()
.eq(CarMiddleGroup::getFenceGroupId,id))
.stream()
.map(CarMiddleGroup::carMiddleGroupBuilder)
.toList();
List<CarFenceGroupReq> carFenceGroupReqs = new ArrayList<>();
list.forEach(carMiddleGroup -> {
this.carMiddleList(carMiddleGroup,carFenceGroupReqs);
});
return carFenceGroupReqs;
}
private void carMiddleList(CarMiddleGroup carMiddleGroup, List<CarFenceGroupReq> carFenceGroupReqs) {
Integer carFenceId = carMiddleGroup.getCarFenceId();
Integer fenceGroupId = carMiddleGroup.getFenceGroupId();
List<CarFence> carFenceList = this.list(
new LambdaQueryWrapper<CarFence>()
.eq(CarFence::getId,carFenceId))
.stream()
.map(CarFence::carFenceBuild)
.toList();
List<CarFenceGroup> carFenceGroupsList = carFenceGroupService.list(
new LambdaQueryWrapper<CarFenceGroup>()
.eq(CarFenceGroup::getId,fenceGroupId))
.stream()
.map(CarFenceGroup::carFenceBuild)
.toList();
carFenceList.forEach(carFence -> {
CarFenceGroupReq carFenceGroupReq = new CarFenceGroupReq();
carFenceGroupReq.setId(carFence.getId());
carFenceGroupReq.setName(carFence.getName());
carFenceGroupReq.setClazzId(carFence.getClazzId());
carFenceGroupReq.setTypeId(carFence.getTypeId());
carFenceGroupReq.setFenceText(carFence.getFenceText());
carFenceGroupReq.setFenceStart(carFence.getFenceStart());
carFenceGroupReq.setFenceEnd(carFence.getFenceEnd());
carFenceGroupReq.setFenceCreate(carFence.getFenceCreate());
carFenceGroupReqs.add(carFenceGroupReq);
});
carFenceGroupsList.forEach(carFenceGroup -> {
carFenceGroupReqs.forEach(carFenceGroupReq -> {
carFenceGroupReq.setPriority(carFenceGroup.getPriority());
carFenceGroupReq.setStatus(carFenceGroup.getStatus());
carFenceGroupReq.setGroupType(carFenceGroup.getGroupType());
});
});
}
/** /**
* *

View File

@ -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;
/**
* @Authoryang
* @Packagecom.muyu.server.service.impl
* @Projectcloud-server-8
* @nameCarInformationServiceImpl
* @Date2024/9/22 22:22
*/
@Service
public class CarInformationServiceImpl
extends ServiceImpl<CarInformationMapper, CarInformation>
implements CarInformationService {
}

View File

@ -0,0 +1,44 @@
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.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;
/**
* @Authoryang
* @Packagecom.muyu.server.service.impl
* @Projectcloud-server-8
* @nameCarMiddleGroupServiceImpl
* @Date2024/9/22 20:43
*/
@Service
public class CarMiddleGroupServiceImpl
extends ServiceImpl<CarMiddleGroupMapper, CarMiddleGroup>
implements CarMiddleGroupService {
@Autowired
private CarMiddleGroupMapper carMiddleGroupMapper;
@Autowired
private CarFenceGroupService carFenceGroupService;
/**
*
* @return
*/
@Override
public List<CarFenceGroup> selectCarFence() {
return carFenceGroupService.list();
}
}

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>