diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/controller/BaseController.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/controller/BaseController.java index 26313b2..3d83a00 100644 --- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/controller/BaseController.java +++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/controller/BaseController.java @@ -1,6 +1,7 @@ package com.muyu.common.core.web.controller; import com.github.pagehelper.PageInfo; + import com.muyu.common.core.utils.DateUtils; import com.muyu.common.core.utils.PageUtils; import com.muyu.common.core.domain.Result; diff --git a/cloud-common/cloud-common-iotdb/pom.xml b/cloud-common/cloud-common-iotdb/pom.xml index 32ef405..2071b80 100644 --- a/cloud-common/cloud-common-iotdb/pom.xml +++ b/cloud-common/cloud-common-iotdb/pom.xml @@ -34,6 +34,11 @@ org.projectlombok lombok + + org.projectlombok + lombok + provided + diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml index 33d89e6..e105a58 100644 --- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml @@ -34,6 +34,11 @@ io.swagger.core.v3 swagger-annotations-jakarta + + org.projectlombok + lombok + provided + diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java new file mode 100644 index 0000000..ce3499d --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java @@ -0,0 +1,37 @@ +package com.muyu.data.basics; + + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.concurrent.LinkedBlockingDeque; + +/** + * @Author WangXin + * @Data 2024/9/29 + * @Description 事件队列配置 + * @Version 1.0.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class EventQueueConfig { + + private LinkedBlockingDeque taskNodeQueue = new LinkedBlockingDeque<>(); + + public void addEvent(EventProcessBasics obj){ + this.taskNodeQueue.add(obj); + } + + public boolean hashEventNext(){ + return !taskNodeQueue.isEmpty(); + } + + private EventProcessBasics nextTaskNode(){ + return taskNodeQueue.poll(); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarAndGroupMiddle.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarAndGroupMiddle.java new file mode 100644 index 0000000..6c5d5fc --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarAndGroupMiddle.java @@ -0,0 +1,45 @@ +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.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 车辆电子围栏中间表 + * * @Author:yan + * * @Package:com.muyu.car.domain + * * @Project:plues + * * @name:FenceAndGroupMiddle + * * @Date:2024/9/22 09:59 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "车辆和电子围栏组中间表") +@TableName(value = "car_group_middle",autoResultMap = true) +public class CarAndGroupMiddle { + /** + * id + */ + @TableId(value = "id",type = IdType.AUTO) + @Schema(name = "id") + private Long id; + /** + * 车id + */ + @Schema(name = "围栏id") + private Integer carId; + /** + * 围栏组id + */ + @Schema(name = "围栏组id") + private Long groupId; + +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/FenceGroup.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/FenceGroup.java index 132b031..41d75a0 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/FenceGroup.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/FenceGroup.java @@ -3,6 +3,7 @@ package com.muyu.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.domain.req.FenceGroupUpdateReq; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; @@ -30,7 +31,7 @@ public class FenceGroup { */ @TableId(value = "group_id",type = IdType.AUTO) @Schema(name = "围栏组id") - private Integer groupId; + private Long groupId; /** * 围栏组名称 */ @@ -42,5 +43,18 @@ public class FenceGroup { @Schema(name = "围栏组状态") private Integer groupStates; + public static FenceGroup carFenceUpdateById(Integer states, FenceGroupUpdateReq fenceGroupBuilder ){ + return FenceGroup.builder() + .groupId(fenceGroupBuilder.getGroupId()) + .groupStates(states) + .build(); + } + + public static FenceGroup closeCarFenceUpdateById(Integer states, Long groupId ){ + return FenceGroup.builder() + .groupId(groupId) + .groupStates(states) + .build(); + } } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/req/FenceGroupUpdateReq.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/req/FenceGroupUpdateReq.java new file mode 100644 index 0000000..6ffad3b --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/req/FenceGroupUpdateReq.java @@ -0,0 +1,31 @@ +package com.muyu.domain.req; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +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:yan + * @Package:com.muyu.domain.req + * @Project:plues + * @name:CarFenceUpdateReq + * @Date:2024/9/29 20:22 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "修改围栏的状态", description = "修改围栏的状态") +public class FenceGroupUpdateReq { + /** + * id + */ + @TableId(value = "group_id", type = IdType.AUTO) + @Schema(title = "围栏组Id") + private Long groupId; + +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/CarAndFenceGroupMiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/CarAndFenceGroupMiddleController.java new file mode 100644 index 0000000..7617b30 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/CarAndFenceGroupMiddleController.java @@ -0,0 +1,42 @@ +package com.muyu.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.domain.FenceGroup; +import com.muyu.service.CarAndFenceGroupMiddleService; +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.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 车辆和围栏组中间表 + * @Author:yan + * @Package:com.muyu.controller + * @Project:plues + * @name:CarAndFenceGroupMiddleController + * @Date:2024/9/29 20:09 + */ +@RequestMapping("/carandfencemiddle") +@RestController +@AllArgsConstructor +@Log4j2 +@Tag(name = "车辆和围栏组中间表") +public class CarAndFenceGroupMiddleController { + @Autowired + private CarAndFenceGroupMiddleService carAndFenceGroupMiddleService; + + /** + * 根据围栏组和车辆的id添加中间表 + */ + @PostMapping("/addFenceGroupAddCarMiddle") + @Operation(summary = "根据围栏组和车辆的id添加中间表",description = "根据围栏组和车辆的id添加中间表") + public Result addFenceGroupAddCarMiddle(@RequestParam("carId") Integer carId , @RequestBody List fenceGroups ){ + boolean b = carAndFenceGroupMiddleService.saveBatch(fenceGroups,carId); + return Result.success("成功"); + } + +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/CarFenceUpdateController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/CarFenceUpdateController.java new file mode 100644 index 0000000..7170fe7 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/CarFenceUpdateController.java @@ -0,0 +1,58 @@ +package com.muyu.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.domain.FenceGroup; +import com.muyu.domain.req.FenceGroupUpdateReq; +import com.muyu.service.CarFenceUpdateService; +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.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 围栏组的修改状态 + * @Author:yan + * @Package:com.muyu.controller + * @Project:plues + * @name:CarFenceUpdateController + * @Date:2024/9/30 09:10 + * + */ +@RestController +@RequestMapping("/fenceUpdate") +@AllArgsConstructor +@Log4j2 +@Tag(name = "修改围栏组的状态") +public class CarFenceUpdateController { + @Autowired + private CarFenceUpdateService carFenceUpdateService; + + /** + * 启动围栏组 + */ + @PutMapping("/activate") + @Operation(summary = "启动围栏状态",description = "启动围栏状态") + public Result activate(@RequestBody FenceGroupUpdateReq fenceGroupUpdateReq){ + Integer states = 0; + boolean b = carFenceUpdateService.updateById(FenceGroup.carFenceUpdateById(states, fenceGroupUpdateReq)); + return Result.success("成功"); + } + + /** + * 修改围栏状态为关闭 + * @param groupId + * @return + */ + @GetMapping("/updateFenceGroupById") + @Operation(summary = "修改围栏状态为关闭",description = "修改围栏状态为关闭") + public Result updateFenceGroupById(@RequestParam("groupId") Long groupId){ + Integer states = 1; + carFenceUpdateService.updateById(FenceGroup.closeCarFenceUpdateById(states,groupId)); + + return Result.success("成功"); + } + + +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java index 348561b..2eaa3cd 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java @@ -1,10 +1,11 @@ -package com.muyu.enterpise.controller; +package com.muyu.controller; import com.muyu.common.core.domain.Result; import com.muyu.domain.FenceGroup; import com.muyu.domain.req.CarFenceAdd; -import com.muyu.enterpise.service.CarFenceServiceMybaits; -import com.muyu.enterpise.service.MiddleService; +import com.muyu.domain.req.FenceGroupUpdateReq; +import com.muyu.service.CarFenceServiceMybaits; +import com.muyu.service.MiddleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; @@ -28,23 +29,17 @@ import java.util.List; @Tag(name = "中间表添加",description = "添加") @Log4j2 public class MiddleController { - @Autowired - private MiddleService middleService; @Autowired private CarFenceServiceMybaits carFenceServiceMybaits; - - /** * 添加围栏组 多对多 */ @PostMapping("/addCarFence") - @Operation(summary = "添加中间",description = "添加中间") + @Operation(summary = "添加中间围栏和围栏组",description = "添加中间") public Result addCarFence(@RequestParam("fenceGroupId") Integer fenceGroupId, @RequestBody List carFences){ - carFenceServiceMybaits.addFenceGroup(fenceGroupId,carFences); - System.out.println("围栏组Id"+fenceGroupId); - System.out.println("围栏Id"+carFences); - return Result.success("成功"); + boolean i = carFenceServiceMybaits.saveBatch(carFences,fenceGroupId); + return i?Result.success("添加成功"):Result.error("失败"); } /** @@ -55,18 +50,11 @@ public class MiddleController { @GetMapping("/updateFenceGroupById") @Operation(summary = "修改围栏状态",description = "修改围栏状态") public Result updateFenceGroupById(@RequestParam("groupId") Integer groupId){ + carFenceServiceMybaits.updateFenceGroupById(groupId); - return Result.success(carFenceServiceMybaits.updateFenceGroupById(groupId)); + return Result.success(); } - /** - * 启动围栏 - */ - @GetMapping("/activate") - @Operation(summary = "启动围栏状态",description = "启动围栏状态") - public Result activate(@RequestParam("groupId") Integer groupId){ - return Result.success(carFenceServiceMybaits.activate(groupId)); - } /** * 根据围栏组的id查询绑定的围栏的中间表 @@ -74,20 +62,12 @@ public class MiddleController { @GetMapping("/BoundFenceGroup") @Operation(summary = "根据围栏组的id查询绑定的围栏的中间表",description = "根据围栏组的id查询绑定的围栏的中间表") public Result BoundFenceGroup(@RequestParam("groupId") Integer groupId){ - - return Result.success(carFenceServiceMybaits.BoundFenceGroup(groupId)); - } - - /** - * 根据围栏组和车辆的id添加中间表 - */ - @PostMapping("/addFenceGroupAddCarMiddle") - @Operation(summary = "根据围栏组和车辆的id添加中间表",description = "根据围栏组和车辆的id添加中间表") - public Result addFenceGroupAddCarMiddle(@RequestParam("carId") Integer carId , @RequestBody List fenceGroups ){ - carFenceServiceMybaits.addFenceGroupAddCarMiddle(carId,fenceGroups); + carFenceServiceMybaits.BoundFenceGroup(groupId); return Result.success(); } + + /** * 获取绑定的围栏组 */ diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarAndFenceGroupMiddleMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarAndFenceGroupMiddleMapper.java new file mode 100644 index 0000000..ea8ace3 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarAndFenceGroupMiddleMapper.java @@ -0,0 +1,19 @@ +package com.muyu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.domain.CarAndGroupMiddle; +import org.apache.ibatis.annotations.Mapper; + +/** + * 车辆和围栏组中间表 + * @Author:yan + * @Package:com.muyu.mapper + * @Project:plues + * @name:CarAndFenceGroupMiddleMapper + * @Date:2024/9/29 20:12 + */ +@Mapper +public interface CarAndFenceGroupMiddleMapper extends BaseMapper { + +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java index 7503a27..4222e89 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java @@ -1,8 +1,9 @@ package com.muyu.enterpise.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.domain.CarFence; import com.muyu.domain.CarMiddle; -import com.muyu.domain.FenceAndGroupMiddle; +import com.muyu.domain.CarAndGroupMiddle; import com.muyu.domain.FenceGroup; import com.muyu.domain.req.CarFenceGroup; import org.apache.ibatis.annotations.Mapper; @@ -19,7 +20,7 @@ import java.util.List; * * @Date:2024/9/22 19:25 */ @Mapper -public interface CarFenceServiceMybaitsMapper { +public interface CarFenceServiceMybaitsMapper extends BaseMapper { void fenceAdd(CarFenceGroup carFence); @@ -32,17 +33,6 @@ public interface CarFenceServiceMybaitsMapper { */ Integer addFenceGroup(@Param("fenceGroupId") Integer fenceGroupId, @Param("id") Integer id); - /** - * 修改围栏组状态 - * @param groupId - * @return - */ - void updateFenceGroupById(@Param("groupId") Integer groupId); - - /** - * 启动围栏 - */ - void activate(@Param("groupId") Integer groupId); /** * 根据围栏组的id查询绑定的围栏的中间表 @@ -71,12 +61,12 @@ public interface CarFenceServiceMybaitsMapper { * @param carId * @return */ - List selectBoundGFenceGroup(@Param("carId") Integer carId); + List selectBoundGFenceGroup(@Param("carId") Integer carId); /** * 获取围栏组的数据 * @param carGroupId 参数 * @return */ - FenceGroup selectGroup(@Param("carGroupId") Integer carGroupId); + FenceGroup selectGroup(@Param("carGroupId") Long carGroupId); } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceUpdateMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceUpdateMapper.java new file mode 100644 index 0000000..207ec23 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceUpdateMapper.java @@ -0,0 +1,18 @@ +package com.muyu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.CarFence; +import com.muyu.domain.FenceGroup; +import org.apache.ibatis.annotations.Mapper; + +/** + * 围栏组的修改状态 + * @Author:yan + * @Package:com.muyu.mapper + * @Project:plues + * @name:CarFenceUpdateMapper + * @Date:2024/9/30 09:13 + */ +@Mapper +public interface CarFenceUpdateMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarAndFenceGroupMiddleService.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarAndFenceGroupMiddleService.java new file mode 100644 index 0000000..9a4cdca --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarAndFenceGroupMiddleService.java @@ -0,0 +1,22 @@ +package com.muyu.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarAndGroupMiddle; +import com.muyu.domain.FenceGroup; + +import java.util.List; + +/** + * 车辆和围栏组中间表 + * @Author:yan + * @Package:com.muyu.service + * @Project:plues + * @name:CarAndFenceGroupMiddleService + * @Date:2024/9/29 20:10 + */ +public interface CarAndFenceGroupMiddleService extends IService { + /** + * 根据围栏组和车辆的id添加中间表 + */ + boolean saveBatch(List fenceGroups, Integer carId); +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java index a2474ff..7076018 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java @@ -1,6 +1,8 @@ package com.muyu.enterpise.service; +import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.domain.CarFence; +import com.muyu.domain.CarMiddle; import com.muyu.domain.FenceGroup; import com.muyu.domain.req.CarFenceAdd; @@ -14,15 +16,18 @@ import java.util.List; * * @name:CarFenceServiceMybaits * * @Date:2024/9/22 19:24 */ -public interface CarFenceServiceMybaits { - void add(Integer fenceGroupId, List carFenceId); +public interface CarFenceServiceMybaits extends IService { + /** * 添加多对多围栏组 + * * @param fenceGroupId * @param carFences + * @return */ - void addFenceGroup(Integer fenceGroupId, List carFences); + boolean saveBatch(List carFences, Integer fenceGroupId); + /** * 修改围栏状态 @@ -31,19 +36,18 @@ public interface CarFenceServiceMybaits { */ Object updateFenceGroupById(Integer groupId); + /** * 启动围栏 */ Object activate(Integer groupId); + /** * 根据围栏组的id查询绑定的围栏的中间表 */ List BoundFenceGroup(Integer groupId); - /** - * 根据围栏组和车辆的id添加中间表 - */ - void addFenceGroupAddCarMiddle(Integer id, List fenceGroups); + /** * 获取绑定的围栏组 @@ -51,4 +55,6 @@ public interface CarFenceServiceMybaits { */ List selectBoundGFenceGroup(Integer carId); + + } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceUpdateService.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceUpdateService.java new file mode 100644 index 0000000..e1b6933 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceUpdateService.java @@ -0,0 +1,16 @@ +package com.muyu.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.CarFence; +import com.muyu.domain.FenceGroup; + +/** + * 围栏组的修改状态 + * @Author:yan + * @Package:com.muyu.service + * @Project:plues + * @name:CarFenceUpdateService + * @Date:2024/9/30 09:12 + */ +public interface CarFenceUpdateService extends IService { +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarAndFenceGroupMiddleServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarAndFenceGroupMiddleServiceImpl.java new file mode 100644 index 0000000..73e9793 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarAndFenceGroupMiddleServiceImpl.java @@ -0,0 +1,41 @@ +package com.muyu.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.CarAndGroupMiddle; +import com.muyu.domain.FenceGroup; +import com.muyu.mapper.CarAndFenceGroupMiddleMapper; +import com.muyu.service.CarAndFenceGroupMiddleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 车辆和围栏组中间表 + * @Author:yan + * @Package:com.muyu.service.impl + * @Project:plues + * @name:CarAndFenceGroupMiddleServiceImpl + * @Date:2024/9/29 20:11 + */ +@Service +public class CarAndFenceGroupMiddleServiceImpl extends ServiceImpl implements CarAndFenceGroupMiddleService { + @Autowired + private CarAndFenceGroupMiddleMapper carAndFenceGroupMiddleMapper; + + /** + * 根据围栏组和车辆的id添加中间表 + */ + @Override + public boolean saveBatch(List fenceGroups, Integer carId) { + List list = fenceGroups.stream().map(fenceGroup -> { + CarAndGroupMiddle carAndGroupMiddle = new CarAndGroupMiddle(); + //获取围栏组的id + carAndGroupMiddle.setGroupId(fenceGroup.getGroupId()); + carAndGroupMiddle.setCarId(carId); + return carAndGroupMiddle; + }).toList(); + boolean b = this.saveBatch(list); + return b; + } +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java index 40023da..533555f 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java @@ -1,12 +1,16 @@ -package com.muyu.enterpise.service.impl; +package com.muyu.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.StringUtils; import com.muyu.domain.CarFence; import com.muyu.domain.CarMiddle; -import com.muyu.domain.FenceAndGroupMiddle; +import com.muyu.domain.CarAndGroupMiddle; import com.muyu.domain.FenceGroup; import com.muyu.domain.req.CarFenceAdd; -import com.muyu.enterpise.mapper.CarFenceServiceMybaitsMapper; -import com.muyu.enterpise.service.CarFenceServiceMybaits; +import com.muyu.mapper.CarFenceServiceMybaitsMapper; +import com.muyu.service.CarFenceServiceMybaits; +import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,59 +26,36 @@ import java.util.List; * * @Date:2024/9/22 19:24 */ @Service -public class CarFenceServiceMybaitsImpl implements CarFenceServiceMybaits { +@Log4j2 +public class CarFenceServiceMybaitsImpl extends ServiceImpl implements CarFenceServiceMybaits { @Autowired private CarFenceServiceMybaitsMapper carFenceServiceMybaitsMapper; - /** - * 添加多对多围栏组 - * @param fenceGroupId - * @param carFenceId - */ - @Override - public void add(Integer fenceGroupId, List carFenceId) { - for (Integer integer : carFenceId) { - Integer addMiddle = carFenceServiceMybaitsMapper.addGroup(fenceGroupId,integer); - } - - - - } /** * 添加多对多围栏组 + * * @param fenceGroupId * @param carFences - */ - @Override - public void addFenceGroup(Integer fenceGroupId, List carFences) { - for (CarFenceAdd carFence : carFences) { - Integer id = carFence.getId(); - Integer addMiddle = carFenceServiceMybaitsMapper.addFenceGroup(fenceGroupId,id); - } - } - - /** - * 修改围栏组状态 - * @param groupId * @return */ @Override - public Object updateFenceGroupById(Integer groupId) { - carFenceServiceMybaitsMapper.updateFenceGroupById(groupId); - return null; + public boolean saveBatch(List carFences, Integer fenceGroupId) { + List list = carFences.stream().map(carFenceAdd -> { + CarMiddle carMiddle = new CarMiddle(); + carMiddle.setCarFenceId(carFenceAdd.getId()); + carMiddle.setCarGroupId(fenceGroupId); + return carMiddle; + }).toList(); + boolean b = this.saveBatch(list); + return b; } - /** - * 启动围栏 - */ - @Override - public Object activate(Integer groupId) { - carFenceServiceMybaitsMapper.activate(groupId); - return null; - } + + + /** * 根据围栏组的id查询绑定的围栏的中间表 @@ -93,20 +74,9 @@ public class CarFenceServiceMybaitsImpl implements CarFenceServiceMybaits { return carFences; } - /** - * 根据围栏组和车辆的id添加中间表 - */ - @Override - public void addFenceGroupAddCarMiddle(Integer id, List fenceGroups) { - //遍历集合 - for (FenceGroup fenceGroup : fenceGroups) { - //获取围栏组的id - Integer groupId = fenceGroup.getGroupId(); - carFenceServiceMybaitsMapper.addFenceGroupAddCarMiddle(id,groupId); - } - } + /** * 获取绑定的围栏组 @@ -115,18 +85,22 @@ public class CarFenceServiceMybaitsImpl implements CarFenceServiceMybaits { @Override public List selectBoundGFenceGroup(Integer carId) { /*根据id查询围栏组的id*/ - List list = carFenceServiceMybaitsMapper.selectBoundGFenceGroup(carId); + List list = carFenceServiceMybaitsMapper.selectBoundGFenceGroup(carId); ArrayList fenceGroups = new ArrayList<>(); /*循环*/ - for (FenceAndGroupMiddle fenceAndGroupMiddle : list) { + for (CarAndGroupMiddle fenceAndGroupMiddle : list) { /** * 获取围栏组的id */ - Integer carGroupId = fenceAndGroupMiddle.getGroupId(); + Long carGroupId = fenceAndGroupMiddle.getGroupId(); //获取围栏组的数据 并 存入list fenceGroups.add(carFenceServiceMybaitsMapper.selectGroup(carGroupId)); } return fenceGroups; } + + + + } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceUpdateServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceUpdateServiceImpl.java new file mode 100644 index 0000000..898b9e3 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceUpdateServiceImpl.java @@ -0,0 +1,26 @@ +package com.muyu.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.CarFence; +import com.muyu.domain.FenceGroup; +import com.muyu.mapper.CarFenceUpdateMapper; +import com.muyu.service.CarFenceUpdateService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 围栏组的修改状态 + * @Author:yan + * @Package:com.muyu.service.impl + * @Project:plues + * @name:CarFenceUpdateServiceImpl + * @Date:2024/9/30 09:12 + * 围栏组的修改状态 + */ + +@Service +public class CarFenceUpdateServiceImpl extends ServiceImpl implements CarFenceUpdateService { + @Autowired + private CarFenceUpdateMapper carFenceUpdateMapper; + +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/resources/mapper/CarFenceServiceMybaitsMapper.xml b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/resources/mapper/CarFenceServiceMybaitsMapper.xml index 2f41ac0..c4bbb07 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/resources/mapper/CarFenceServiceMybaitsMapper.xml +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/resources/mapper/CarFenceServiceMybaitsMapper.xml @@ -17,12 +17,7 @@ insert into car_group_middle values (0,#{id},#{groupId}) - - update fence_group set group_states = 1 where group_id = #{groupId} - - - update fence_group set group_states = 0 where group_id = #{groupId} - +