diff --git a/cloud-modules/cloud-modules-car/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-car/src/main/resources/bootstrap.yml index 8ac80be..ab80c71 100644 --- a/cloud-modules/cloud-modules-car/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-car/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: lgy # Spring spring: diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/CloudElectronicFenceApplication.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/CloudElectronicFenceApplication.java new file mode 100644 index 0000000..081eeea --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/CloudElectronicFenceApplication.java @@ -0,0 +1,21 @@ +package com.muyu.fence; + +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 系统模块 + * + * @author muyu + */ +@EnableCustomConfig +//@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication +public class CloudElectronicFenceApplication { + public static void main (String[] args) { + SpringApplication.run(CloudElectronicFenceApplication.class, args); + } +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/FenceApplication.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/FenceApplication.java deleted file mode 100644 index c2bba72..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/FenceApplication.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.muyu.fence; - -import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure; -import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; -import com.muyu.common.security.annotation.EnableMyFeignClients; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; - -/** - * @Author YuPing - * @Description 电子围栏启动类 - * @Version 1.0 - * @Data 2024-09-18 11:27:38 - */ -@SpringBootApplication(exclude = { - DataSourceAutoConfiguration.class, - DruidDataSourceAutoConfigure.class, - DynamicDataSourceAutoConfiguration.class -}) -@EnableMyFeignClients -public class FenceApplication { - public static void main(String[] args) { - SpringApplication.run(FenceApplication.class, args); - } -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/ElectronicFenceController.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/ElectronicFenceController.java new file mode 100644 index 0000000..f485a69 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/ElectronicFenceController.java @@ -0,0 +1,139 @@ +package com.muyu.fence.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.fence.domain.database.ElectronicFence; +import com.muyu.fence.domain.database.ElectronicFenceGroup; +import com.muyu.fence.domain.req.FenceWayReq; +import com.muyu.fence.domain.req.ElectroicFenceAddReq; +import com.muyu.fence.domain.req.ElectroicFenceListReq; +import com.muyu.fence.domain.req.ElectroicFenceUpdReq; +import com.muyu.fence.domain.resp.ElectronicFenceResp; +import com.muyu.fence.service.ElectronicFenceService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.controller + * @Project:cloud-server + * @name:FenceEtlController + * @Date:2024/9/17 16:28 + */ +@Log4j2 +@Tag(name = "电子围栏") +@RestController +@RequestMapping("/fence") +@RequiredArgsConstructor +public class ElectronicFenceController { + + @Autowired + private ElectronicFenceService electronicFenceService; + + + @PostMapping("/fenceArray") + @Operation(description = "查询所有可用的围栏") + public Result> fenceArray() { + System.out.println("=====>" + "hgfvhgjy"); + return Result.success(electronicFenceService.fenceArray()); + } + + @PostMapping("/fenceselectList") + @Operation(description = "列表") + public Result> fenceselectList(@RequestBody ElectroicFenceListReq electroicFenceListReq) { + System.out.println("=====>" + "hgfvhgjy"); + return Result.success(electronicFenceService.fenceselectList(electroicFenceListReq)); + } + + @PostMapping("/add") + @Operation(description = "添加") + public Result AddFence(@RequestBody ElectroicFenceAddReq electroicFenceAddReq) { + + electronicFenceService.unquireFence(electroicFenceAddReq.getName()); + electronicFenceService.AddFence(electroicFenceAddReq); + + return Result.success(); + } + + @PostMapping("/upd/{id}") + @Operation(description = "修改") + public Result UpdFence(@PathVariable("id") Long id, @RequestBody ElectroicFenceUpdReq electroicFenceUpdReq) { + + electronicFenceService.updateById(ElectronicFence.buildByElectronicUpd(electroicFenceUpdReq, () -> id)); + + return Result.success(); + } + + @PostMapping("/findElectronicByid/{id}") + @Operation(description = "通过id回显围栏信息") + public Result findElectronicByid(@PathVariable("id") Long id) { + + ElectronicFence electronicFence= electronicFenceService.findElectronicByid(id); + return Result.success(electronicFence); + + } + +// @PostMapping("/delElectronById/{id}") +// @Operation(description = "通过id删除围栏") +// public Result delElectronById(@PathVariable("id") Long id) { +// +// electronicFenceService.delElectronById(id); +// +// return Result.success(); +// } + + /** + * 电子围栏表信息表删除 + * @param electronicFenceId 请求对象 + * @return 返回结果 + */ + @DeleteMapping("/{electronicFenceId}") + @Operation(summary = "电子围栏表信息表删除", + description = "通过ID删除电子围栏表信息") + public Result remove(@PathVariable("electronicFenceId") Long electronicFenceId) + { + boolean b = electronicFenceService.removeById(electronicFenceId); + return Result.success(null, "操作成功"); + } + + @PostMapping("/open/{id}") + @Operation(description = "开启围栏") + public Result openFence(@PathVariable("id") Long id) { + + electronicFenceService.openFence(id); + + return Result.success(); + } + + @PostMapping("/close/{id}") + @Operation(description = "关闭围栏") + public Result closeFence(@PathVariable("id") Long id) { + + electronicFenceService.closeFence(id); + + return Result.success(); + } + + @PostMapping("/setFenceWay") + @Operation(description = "设置电子围栏的位置") + public Result setFenceWay(@RequestBody FenceWayReq fenceWayReq) { + + Long id = fenceWayReq.getId(); + + String longitudeLatitude = fenceWayReq.getLongitudeLatitude(); + + log.info("接收到的数据,:{}" + id + "====" + longitudeLatitude); + + electronicFenceService.setFenceWay(id, longitudeLatitude); + + return Result.success(); + + } + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/ElectronicFenceGroupController.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/ElectronicFenceGroupController.java new file mode 100644 index 0000000..3dc1bdf --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/ElectronicFenceGroupController.java @@ -0,0 +1,95 @@ +package com.muyu.fence.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.fence.domain.database.ElectronicFence; +import com.muyu.fence.domain.database.ElectronicFenceGroup; +import com.muyu.fence.domain.req.*; +import com.muyu.fence.domain.resp.ElectronicFenceGroupResp; +import com.muyu.fence.domain.resp.GroupFenceListresp; +import com.muyu.fence.service.ElectronicFenceGroupService; +import com.muyu.fence.service.FenceGroupMidService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.Collection; +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.controller + * @Project:cloud-server + * @name:FenceGroupController + * @Date:2024/9/18 15:15 + */ + +@Log4j2 +@RestController +@RequestMapping("/group") +@Tag(name = "围栏组") +public class ElectronicFenceGroupController { + + @Autowired + private ElectronicFenceGroupService electronicFenceGroupService; + + @Autowired + private FenceGroupMidService fenceGroupMidService; + + + @PostMapping("/selectGroupList") + public Result> selectGroupList(@RequestBody ElectronicFenceGroupListReq req) { +//查询所有的围栏组 + List fenceListList = electronicFenceGroupService.selectGroupList(req); + + List list = fenceListList.stream().map(ElectronicFenceGroup::buildGroupFence).toList(); + + return Result.success(list); + } + + @Transactional + @PostMapping("/addGroup") + public Result addGroup(@RequestBody ElectronicFenceGroupAddReq addReq) { + + ElectronicFenceGroup electronicFenceGroup = ElectronicFenceGroup.buildByAdd(addReq); + //添加围栏组返回添加后的主键自增id + electronicFenceGroupService.save(electronicFenceGroup); + Long id = electronicFenceGroup.getId(); +//添加中间表 + fenceGroupMidService.addGroupAndFenceMid(id, addReq.getElectronicFenceRespList()); + + + return Result.success(); + } + + @PostMapping("/findGroupByid/{id}") + @Operation(description = "通过id回显围栏组信息") + public Result findGroupByid(@PathVariable("id") Long id) { + + ElectronicFenceGroupResp fenceGroupResp = electronicFenceGroupService.findGroupByid(id); + return Result.success(fenceGroupResp); + + } + + + @Transactional + @PostMapping("/updGroup/{id}") + @Operation(description = "修改") + public Result UpdFence(@PathVariable("id") Long id, @RequestBody ElectronicFenceGroupUpdReq req) { + + electronicFenceGroupService.updateById(ElectronicFenceGroup.buildByUpd(req, () -> id)); + + if (!CollectionUtils.isEmpty(req.getElectronicFenceRespList())) { +//删除中间表 + fenceGroupMidService.deliteMid(id); + //增加中间表 + fenceGroupMidService.addGroupAndFenceMid(id, req.getElectronicFenceRespList()); + } + return Result.success(); + } + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/TbFenceController.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/TbFenceController.java deleted file mode 100644 index 866e962..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/TbFenceController.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.muyu.fence.controller; - -import java.util.Arrays; -import java.util.List; -import jakarta.servlet.http.HttpServletResponse; -import javax.annotation.Resource; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.muyu.common.security.annotation.RequiresPermissions; -import com.muyu.fence.domain.TbFence; -import com.muyu.fence.service.ITbFenceService; -import com.muyu.common.core.web.controller.BaseController; -import com.muyu.common.core.domain.Result; -import com.muyu.common.core.utils.poi.ExcelUtil; -import com.muyu.common.security.utils.SecurityUtils; -import org.springframework.validation.annotation.Validated; -import com.muyu.common.core.web.page.TableDataInfo; - -/** - * 电子围栏Controller - * - * @author muyu - * @date 2024-09-18 - */ -@RestController -@RequestMapping("/fence") -public class TbFenceController extends BaseController -{ - @Resource - private ITbFenceService tbFenceService; - - /** - * 查询电子围栏列表 - */ - @RequiresPermissions("fence:fence:list") - @GetMapping("/list") - public Result> list(TbFence tbFence) - { - startPage(); - List list = tbFenceService.selectTbFenceList(tbFence); - return getDataTable(list); - } - - /** - * 导出电子围栏列表 - */ - @RequiresPermissions("fence:fence:export") - @PostMapping("/export") - public void export(HttpServletResponse response, TbFence tbFence) - { - List list = tbFenceService.selectTbFenceList(tbFence); - ExcelUtil util = new ExcelUtil(TbFence.class); - util.exportExcel(response, list, "电子围栏数据"); - } - - /** - * 获取电子围栏详细信息 - */ - @RequiresPermissions("fence:fence:query") - @GetMapping(value = "/{fenceId}") - public Result> getInfo(@PathVariable("fenceId") Long fenceId) - { - return success(tbFenceService.selectTbFenceByFenceId(fenceId)); - } - - /** - * 新增电子围栏 - */ - @RequiresPermissions("fence:fence:add") - @PostMapping - public Result add( - @Validated @RequestBody TbFence tbFence) - { - if (tbFenceService.checkIdUnique(tbFence)) { - return error("新增 电子围栏 '" + tbFence + "'失败,电子围栏已存在"); - } - tbFence.setCreateBy(SecurityUtils.getUsername()); - return toAjax(tbFenceService.save(tbFence)); - } - - /** - * 修改电子围栏 - */ - @RequiresPermissions("fence:fence:edit") - @PutMapping - public Result edit( - @Validated @RequestBody TbFence tbFence) - { - if (!tbFenceService.checkIdUnique(tbFence)) { - return error("修改 电子围栏 '" + tbFence + "'失败,电子围栏不存在"); - } - tbFence.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(tbFenceService.updateById(tbFence)); - } - - /** - * 删除电子围栏 - */ - @RequiresPermissions("fence:fence:remove") - @DeleteMapping("/{fenceIds}") - public Result remove(@PathVariable("fenceIds") Long[] fenceIds) - { - tbFenceService.removeBatchByIds(Arrays.asList(fenceIds)); - return success(); - } -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/TbGroupController.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/TbGroupController.java deleted file mode 100644 index 14c3a9f..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/controller/TbGroupController.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.muyu.fence.controller; - -import com.muyu.common.core.domain.Result; -import com.muyu.fence.domain.TbGroup; -import com.muyu.fence.service.TbGroupService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * @Author YuPing - * @Description 围栏控制器 - * @Version 1.0 - * @Data 2024-09-22 17:00:08 - */ - -@RestController -@RequestMapping("/tbGroup") -public class TbGroupController { - - @Autowired - private TbGroupService tbGroupService; - - /** - * 查询围栏列表 - * @return - */ - @GetMapping("/selectTbGroupList") - public Result> selectTbGroupList() { - return Result.success(tbGroupService.selectTbGroupList()); - } - -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/TbFence.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/TbFence.java deleted file mode 100644 index 2e1ee83..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/TbFence.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.muyu.fence.domain; - -import com.muyu.common.core.annotation.Excel; -import com.muyu.common.core.web.domain.BaseEntity; -import lombok.*; -import lombok.experimental.SuperBuilder; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.IdType; - -/** - * 电子围栏对象 tb_fence - * - * @author muyu - * @date 2024-09-18 - */ - -@Data -@Setter -@Getter -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@TableName("tb_fence") -public class TbFence extends BaseEntity{ - private static final long serialVersionUID = 1L; - - /** 围栏编号 */ - @TableId( type = IdType.AUTO) - private Long fenceId; - - /** 围栏名称 */ - @Excel(name = "围栏名称") - private String fenceName; - - /** 围栏类型1.驶入2驶出 */ - @Excel(name = "围栏类型1.驶入2驶出") - private Long fenceType; - - /** 围栏状态1.正常2.停用 */ - @Excel(name = "围栏状态1.正常2.停用") - private Long fenceFlag; - - /** 经纬度信息 */ - @Excel(name = "经纬度信息") - private String longitudeAndLatitudeInformation; - - /** 优先级 */ - @Excel(name = "优先级") - private String fencePriority; - - - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("fenceId", getFenceId()) - .append("fenceName", getFenceName()) - .append("fenceType", getFenceType()) - .append("fenceFlag", getFenceFlag()) - .append("longitudeAndLatitudeInformation", getLongitudeAndLatitudeInformation()) - .append("fencePriority", getFencePriority()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/TbGroup.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/TbGroup.java deleted file mode 100644 index f0711b6..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/TbGroup.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.muyu.fence.domain; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @Author YuPing - * @Description 围栏组 - * @Version 1.0 - * @Data 2024-09-22 16:55:16 - */ - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class TbGroup { - /** - * 围栏组编号 - */ - private Integer groupId; - /** - * 围栏组名称 - */ - private String groupName; -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/ElectronicFence.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/ElectronicFence.java new file mode 100644 index 0000000..f4dcf1d --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/ElectronicFence.java @@ -0,0 +1,123 @@ +package com.muyu.fence.domain.database; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.web.domain.BaseEntity; +import com.muyu.fence.domain.req.ElectroicFenceAddReq; +import com.muyu.fence.domain.req.ElectroicFenceUpdReq; +import com.muyu.fence.domain.resp.ElectronicFenceResp; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.function.Supplier; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:ElectronicFence + * @Date:2024/9/17 16:34 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@SuperBuilder +@TableName(value = "electronic_fence",autoResultMap = true) +public class ElectronicFence extends BaseEntity { + + /** + * 主键id + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + /** + * 围栏名称 + */ + + private String name; + + /** + * 围栏类型 + */ + + private String fenceType; + + /** + *经纬度信息 + */ + + private String longitudeLatitude; + + /** + * 电子围栏状态(正常,停用) + */ + + private String status; + +// /** +// * 电子围栏的开始时间 +// */ +// +// private Date startTime; +// /** +// * 电子围栏的结束时间 +// */ +// private Date endTime; + + /** + * 描述信息 + */ + + private String fenceDesc; + +public static ElectronicFenceResp bullerResp(ElectronicFence electronicFence){ + + return ElectronicFenceResp.builder() + .id(electronicFence.getId()) + .name(electronicFence.getName()) + .status(electronicFence.getStatus()) + .fenceType(electronicFence.getFenceType()) + .longitudeLatitude(electronicFence.getLongitudeLatitude()) + .desc(electronicFence.getFenceDesc()) + .build(); +} + + +public static ElectronicFence buildElectroicAdd(ElectroicFenceAddReq electroicFenceAddReq){ + + return ElectronicFence.builder() + .name(electroicFenceAddReq.getName()) + .fenceDesc(electroicFenceAddReq.getFenceDesc()) + .status(electroicFenceAddReq.getStatus()) + .longitudeLatitude(electroicFenceAddReq.getLongitudeLatitude()) + .fenceType(electroicFenceAddReq.getFenceType()) + .build(); + + +} + +public static ElectronicFence buildByElectronicUpd(ElectroicFenceUpdReq electroicFenceUpdReq, Supplier longSupplier){ + + return ElectronicFence.builder() + .id(longSupplier.get()) + .name(electroicFenceUpdReq.getName()) + .status(electroicFenceUpdReq.getStatus()) + .fenceDesc(electroicFenceUpdReq.getFenceDesc()) + .longitudeLatitude(electroicFenceUpdReq.getLongitudeLatitude()) + .build(); + +} + + + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/ElectronicFenceGroup.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/ElectronicFenceGroup.java new file mode 100644 index 0000000..172298a --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/ElectronicFenceGroup.java @@ -0,0 +1,114 @@ +package com.muyu.fence.domain.database; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.web.domain.BaseEntity; +import com.muyu.fence.domain.req.ElectronicFenceGroupAddReq; +import com.muyu.fence.domain.req.ElectronicFenceGroupUpdReq; +import com.muyu.fence.domain.resp.ElectronicFenceGroupResp; +import com.muyu.fence.domain.resp.GroupFenceListresp; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.function.Supplier; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:ElectronicFenceGroup + * @Date:2024/9/18 11:14 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@TableName(value = "electronic_fence_group",autoResultMap = true) +public class ElectronicFenceGroup extends BaseEntity { + + /** + * 主键 + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + /** + * 围栏组优先级 + */ + private Integer priority; + /** + * 围栏组名称 + */ + private String groupName; + /** + * 围栏组类型 + */ + private String groupType; + + /** + * 启用状态 + */ + private String status; + + + public static GroupFenceListresp buildGroupFence(ElectronicFenceGroup electronicFenceGroup){ + + return GroupFenceListresp.builder() + .id(electronicFenceGroup.getId()) + .groupName(electronicFenceGroup.groupName) + .priority(electronicFenceGroup.getPriority()) + .status(electronicFenceGroup.getStatus()) + .groupType(electronicFenceGroup.groupType) + .build(); + + } + + + + + public static ElectronicFenceGroupResp buildElectronicFenceGroupResp (ElectronicFenceGroup electronicFenceGroup){ + + return ElectronicFenceGroupResp.builder() + .id(electronicFenceGroup.getId()) + .groupName(electronicFenceGroup.groupName) + .priority(electronicFenceGroup.getPriority()) + .status(electronicFenceGroup.getStatus()) + .groupType(electronicFenceGroup.groupType) + .build(); + + } + + public static ElectronicFenceGroup buildByAdd(ElectronicFenceGroupAddReq addReq){ + + + return ElectronicFenceGroup.builder() + .groupName(addReq.getGroupName()) + .groupType(addReq.getGroupType()) + .status(addReq.getStatus()) + .priority(addReq.getPriority()) + .build(); + + } + + public static ElectronicFenceGroup buildByUpd(ElectronicFenceGroupUpdReq updReq, Supplier ids){ + + + return ElectronicFenceGroup.builder() + .id(ids.get()) + .groupName(updReq.getGroupName()) + .groupType(updReq.getGroupType()) + .status(updReq.getStatus()) + .priority(updReq.getPriority()) + .build(); + + } + + + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/FenceGroupMid.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/FenceGroupMid.java new file mode 100644 index 0000000..1514242 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/database/FenceGroupMid.java @@ -0,0 +1,32 @@ +package com.muyu.fence.domain.database; + +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.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:FenceGroupMid + * @Date:2024/9/19 21:01 + */ +@Tag(name = "围栏组连接表") +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "fence_group_mid",autoResultMap = true) +public class FenceGroupMid { + + /** + * 中间表的自增 + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + private Long groupId; + private Long fenceId; +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceAddReq.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceAddReq.java new file mode 100644 index 0000000..44890c4 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceAddReq.java @@ -0,0 +1,74 @@ +package com.muyu.fence.domain.req; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.req + * @Project:cloud-server + * @name:ElectroicAdd + * @Date:2024/9/17 20:53 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ElectroicFenceAddReq { + + /** + * 主键id + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + /** + * 围栏名称 + */ + + private String name; + + /** + * 围栏类型(驶入,驶出) + */ + + private String fenceType; + + /** + *经纬度信息 + */ + + private String longitudeLatitude; + + /** + * 电子围栏状态(正常,停用) + */ + + private String status; + + /** + * 描述信息 + */ + + private String fenceDesc; + + /** + * 电子围栏的开始时间 + */ + + private Date startTime; + /** + * 电子围栏的结束时间 + */ + private Date endTime; + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceListReq.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceListReq.java new file mode 100644 index 0000000..cbfbf85 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceListReq.java @@ -0,0 +1,65 @@ +package com.muyu.fence.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.req + * @Project:cloud-server + * @name:ElectroicFenceReq + * @Date:2024/9/17 20:04 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ElectroicFenceListReq { + + /** + * 围栏名称 + */ + + private String name; + + /** + * 围栏类型(驶入,驶出) + */ + + private String fenceType; + + /** + *经纬度信息 + */ + + private String longitudeLatitude; + + /** + * 电子围栏状态(正常,停用) + */ + + private String status; + + + + /** + * 电子围栏的开始时间 + */ + + private Date startTime; + /** + * 电子围栏的结束时间 + */ + private Date endTime; + + + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceUpdReq.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceUpdReq.java new file mode 100644 index 0000000..92d45de --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectroicFenceUpdReq.java @@ -0,0 +1,72 @@ +package com.muyu.fence.domain.req; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.req + * @Project:cloud-server + * @name:ElectroicFenceUpdReq + * @Date:2024/9/17 21:03 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ElectroicFenceUpdReq { + + + /** + * 主键id + */ + + private Long id; + + /** + * 围栏名称 + */ + + private String name; + + /** + * 围栏类型(驶入,驶出) + */ + + private String fenceType; + + /** + *经纬度信息 + */ + + private String longitudeLatitude; + + /** + * 电子围栏状态(正常,停用) + */ + + private String status; + + /** + * 描述信息 + */ + + private String fenceDesc; + + + + + + + + + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupAddReq.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupAddReq.java new file mode 100644 index 0000000..c6d8ce5 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupAddReq.java @@ -0,0 +1,62 @@ +package com.muyu.fence.domain.req; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.fence.domain.resp.ElectronicFenceResp; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.req + * @Project:cloud-server + * @name:ElectronicFenceGroupAddReq + * @Date:2024/9/20 19:14 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ElectronicFenceGroupAddReq { + + + + /** + * 围栏组优先级 + */ + private Integer priority; + /** + * 围栏组名称 + */ + private String groupName; + /** + * 围栏组类型 + */ + private String groupType; + + /** + * 启用状态 + */ + private String status; + + /** + * 选中围栏 + */ + + List electronicFenceRespList; + + + + + + + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupListReq.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupListReq.java new file mode 100644 index 0000000..49d3e11 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupListReq.java @@ -0,0 +1,56 @@ +package com.muyu.fence.domain.req; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.req + * @Project:cloud-server + * @name:ElectronicFenceGroupListReq + * @Date:2024/9/20 16:06 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ElectronicFenceGroupListReq { + + + /** + * 主键 + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + /** + * 围栏组优先级 + */ + private Integer priority; + /** + * 围栏组名称 + */ + private String groupName; + /** + * 围栏组类型 + */ + private String groupType; + + /** + * 启用状态 + */ + private String status; + + + + + + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupUpdReq.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupUpdReq.java new file mode 100644 index 0000000..2d08619 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/ElectronicFenceGroupUpdReq.java @@ -0,0 +1,66 @@ +package com.muyu.fence.domain.req; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.fence.domain.resp.ElectronicFenceResp; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.req + * @Project:cloud-server + * @name:ElectronicFenceGroupAddReq + * @Date:2024/9/20 19:14 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ElectronicFenceGroupUpdReq { + + + /** + * 主键 + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + /** + * 围栏组优先级 + */ + private Integer priority; + /** + * 围栏组名称 + */ + private String groupName; + /** + * 围栏组类型 + */ + private String groupType; + + /** + * 启用状态 + */ + private String status; + + + /** + * 选中围栏 + */ + List electronicFenceRespList; + + + + + + + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/FenceAndGroupBoundReq.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/FenceAndGroupBoundReq.java new file mode 100644 index 0000000..4334b9f --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/FenceAndGroupBoundReq.java @@ -0,0 +1,35 @@ +package com.muyu.fence.domain.req; + +import com.muyu.fence.domain.resp.ElectronicFenceResp; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.req + * @Project:cloud-server + * @name:FenceAndGroupBoundReq + * @Date:2024/9/21 9:05 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "用于绑定围栏和围栏组的请求") +public class FenceAndGroupBoundReq { + /** + * 围栏组的主键 + */ + private Long id; + + /** + * 选中的围栏 + */ + + private List electronicFenceRespList; + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/FenceWayReq.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/FenceWayReq.java new file mode 100644 index 0000000..ec635aa --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/req/FenceWayReq.java @@ -0,0 +1,20 @@ +package com.muyu.fence.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:FenceWay + * @Date:2024/9/20 9:27 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class FenceWayReq { + private Long id; + private String longitudeLatitude; +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/ElectronicFenceGroupResp.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/ElectronicFenceGroupResp.java new file mode 100644 index 0000000..21109c4 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/ElectronicFenceGroupResp.java @@ -0,0 +1,60 @@ +package com.muyu.fence.domain.resp; + +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.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.resp + * @Project:cloud-server + * @name:ElectronicFenceGroupResp + * @Date:2024/9/22 10:22 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "回显围栏组及绑定的电子围栏") +public class ElectronicFenceGroupResp { + + /** + * 主键 + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + /** + * 围栏组优先级 + */ + private Integer priority; + /** + * 围栏组名称 + */ + private String groupName; + /** + * 围栏组类型 + */ + private String groupType; + + /** + * 启用状态 + */ + private String status; + + + /** + * 绑定的电子围栏 + */ + List electronicFenceRespList; + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/ElectronicFenceResp.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/ElectronicFenceResp.java new file mode 100644 index 0000000..f48df2d --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/ElectronicFenceResp.java @@ -0,0 +1,72 @@ +package com.muyu.fence.domain.resp; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:ElectronicFence + * @Date:2024/9/17 16:34 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ElectronicFenceResp { + + /** + * 主键id + */ + private Long id; + + /** + * 围栏名称 + */ + + private String name; + + /** + * 围栏类型(驶入,驶出) + */ + + private String fenceType; + + /** + *经纬度信息 + */ + +private String longitudeLatitude; + + /** + * 电子围栏状态(正常,停用) + */ + +private String status; + + /** + * 描述信息 + */ + +private String desc; + +//private String groupType; +// +//private int priority; + + + + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/GroupFenceListresp.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/GroupFenceListresp.java new file mode 100644 index 0000000..4b5745e --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/resp/GroupFenceListresp.java @@ -0,0 +1,52 @@ +package com.muyu.fence.domain.resp; + +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.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain.req + * @Project:cloud-server + * @name:GroupFenceListresp + * @Date:2024/9/20 9:04 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Tag(name = "围栏组列表") +public class GroupFenceListresp { + + /** + * 主键 + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + /** + * 围栏组优先级 + */ + private Integer priority; + /** + * 围栏组名称 + */ + private String groupName; + /** + * 围栏组类型 + */ + private String groupType; + + /** + * 启用状态 + */ + private String status; + + + + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectricFenceModel.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectricFenceModel.java new file mode 100644 index 0000000..c6d6a60 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectricFenceModel.java @@ -0,0 +1,75 @@ +package com.muyu.fence.domain.utils; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:ElectricFenceModel + * @Date:2024/9/17 17:27 + */ + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 电子围栏规则计算模型 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ElectricFenceModel implements Comparable { + //车架号 + private String vin = ""; + //电子围栏结果表UUID + private Long uuid = -999999L; + //上次状态 0 里面 1 外面 + private int lastStatus = -999999; + //当前状态 0 里面 1 外面 + private int nowStatus = -999999; + //位置时间 yyyy-MM-dd HH:mm:ss + private String gpsTime = ""; + //位置纬度-- + private Double lat = -999999D; + //位置经度-- + private Double lng = -999999D; + //电子围栏ID + private int eleId = -999999; + //电子围栏名称 + private String eleName = ""; + //中心点地址 + private String address = ""; + //中心点纬度 + private Double latitude; + //中心点经度 + private Double longitude = -999999D; + //电子围栏半径 + private Float radius = -999999F; + //出围栏时间 + private String outEleTime = null; + //进围栏时间 + private String inEleTime = null; + //是否在mysql结果表中 + private Boolean inMysql = false; + //状态报警 0:出围栏 1:进围栏 + private int statusAlarm = -999999; + //报警信息 + private String statusAlarmMsg = ""; + //终端时间 + private String terminalTime = ""; + // 扩展字段 终端时间 + private Long terminalTimestamp = -999999L; + + @Override + public int compareTo(ElectricFenceModel o) { + if(this.getTerminalTimestamp() > o.getTerminalTimestamp()){ + return 1; + } + else if(this.getTerminalTimestamp() < o.getTerminalTimestamp()){ + return -1; + }else{ + return 0; + } + } +} + diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectricFenceResultTmp.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectricFenceResultTmp.java new file mode 100644 index 0000000..a42ec5b --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectricFenceResultTmp.java @@ -0,0 +1,53 @@ +package com.muyu.fence.domain.utils; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:ElectricFenceResultTmp + * @Date:2024/9/17 17:57 + */ +/** + * 电子围栏转换临时对象 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ElectricFenceResultTmp { + //电子围栏id + private int id; + //电子围栏名称 + private String name; + //电子围栏中心地址 + private String address; + //电子围栏半径 + private float radius; + //电子围栏中心点的经度 + private double longitude; + //电子围栏中心点的维度 + private double latitude; + //电子围栏的开始时间 + private Date startTime; + //电子围栏的结束时间 + private Date endTime; + + @Override + public String toString() { + return "ElectricFenceResultTmp{" + + "id=" + id + + ", name='" + name + '\'' + + ", address='" + address + '\'' + + ", radius=" + radius + + ", longitude=" + longitude + + ", latitude=" + latitude + + ", startTime=" + startTime + + ", endTime=" + endTime + + '}'; + } +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectronicFenceResult.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectronicFenceResult.java new file mode 100644 index 0000000..86174ea --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectronicFenceResult.java @@ -0,0 +1,55 @@ +package com.muyu.fence.domain.utils; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.sql.Timestamp; +import java.util.Date; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:ElectronicFenceResult + * @Date:2024/9/17 17:43 + */ + +/** + * 电子围栏分析结果数据结构 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ElectronicFenceResult { + /** + * 主键 + */ + private Long id; + /** + * 车辆唯一标识 + */ + private String vin; + /** + * + */ + private String inTime; + private String outTime; + /** + * gps定位时间 + */ + private Date gpsTime; + + private Double lat; + private Double lng; + private Integer eleId; + private String eleName; + private String address; + private Double latitude; + private Double longitude; + private Double radius; + private String terminalTime; + private Date processTime; +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectronicFenceSetting.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectronicFenceSetting.java new file mode 100644 index 0000000..fa03f1f --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/domain/utils/ElectronicFenceSetting.java @@ -0,0 +1,63 @@ +package com.muyu.fence.domain.utils; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @Author:yuping + * @Package:com.muyu.fence.domain + * @Project:cloud-server + * @name:ElectronicFenceSetting + * @Date:2024/9/17 16:47 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "electronic_fence_setting",autoResultMap = true) +public class ElectronicFenceSetting { + /** + * 主键id + */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + /** + * 电子围栏名称 + */ + private String name; + /** + * 电子围栏中心地址 + */ + private String address; + /** + * 电子围栏半径 + */ + private String radius; + /** + * 电子围栏中心点经度 + */ + private String longitude; + /** + * 电子围栏围栏中心点维度 + */ + private String latitude; + /** + * 电子围栏的开始时间 + */ + private String startTime; + /** + * 电子围栏的结束时间 + */ + private String endTime; + /** + * 电子围栏的状态(开启,关闭) + */ + private String status; + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/ElectronicFenceGroupMapper.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/ElectronicFenceGroupMapper.java new file mode 100644 index 0000000..d25b310 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/ElectronicFenceGroupMapper.java @@ -0,0 +1,16 @@ +package com.muyu.fence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.fence.domain.database.ElectronicFenceGroup; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yuping + * @Package:com.muyu.fence.mapper + * @Project:cloud-server + * @name:FenceGroupMapper + * @Date:2024/9/18 15:19 + */ +@Mapper +public interface ElectronicFenceGroupMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/ElectronicFenceMapper.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/ElectronicFenceMapper.java new file mode 100644 index 0000000..6445244 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/ElectronicFenceMapper.java @@ -0,0 +1,16 @@ +package com.muyu.fence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.fence.domain.database.ElectronicFence; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yuping + * @Package:com.muyu.fence.mapper + * @Project:cloud-server + * @name:ElectronicFenceMapper + * @Date:2024/9/17 19:29 + */ +@Mapper +public interface ElectronicFenceMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/FenceGroupMidMapper.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/FenceGroupMidMapper.java new file mode 100644 index 0000000..e910631 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/FenceGroupMidMapper.java @@ -0,0 +1,16 @@ +package com.muyu.fence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.fence.domain.database.FenceGroupMid; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:yuping + * @Package:com.muyu.fence.mapper + * @Project:cloud-server + * @name:FenceGroupMidMapper + * @Date:2024/9/20 11:35 + */ +@Mapper +public interface FenceGroupMidMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/TbFenceMapper.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/TbFenceMapper.java deleted file mode 100644 index 09ed802..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/TbFenceMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.muyu.fence.mapper; - -import java.util.List; -import com.muyu.fence.domain.TbFence; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 电子围栏Mapper接口 - * - * @author muyu - * @date 2024-09-18 - */ -@Mapper -public interface TbFenceMapper extends BaseMapper{ - -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/TbGroupDao.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/TbGroupDao.java deleted file mode 100644 index 5ac5594..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/mapper/TbGroupDao.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.muyu.fence.mapper; - -import com.muyu.fence.domain.TbGroup; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -@Mapper -public interface TbGroupDao { - //查询围栏组列表 - public List selectTbGroupList(); -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ElectronicFenceGroupService.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ElectronicFenceGroupService.java new file mode 100644 index 0000000..ca8f74b --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ElectronicFenceGroupService.java @@ -0,0 +1,27 @@ +package com.muyu.fence.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.fence.domain.database.ElectronicFence; +import com.muyu.fence.domain.database.ElectronicFenceGroup; +import com.muyu.fence.domain.req.ElectronicFenceGroupAddReq; +import com.muyu.fence.domain.req.ElectronicFenceGroupListReq; +import com.muyu.fence.domain.resp.ElectronicFenceGroupResp; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.service + * @Project:cloud-server + * @name:FenceGroupController + * @Date:2024/9/18 15:16 + */ + +public interface ElectronicFenceGroupService extends IService { + + + List selectGroupList(ElectronicFenceGroupListReq req); + + + ElectronicFenceGroupResp findGroupByid(Long id); +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ElectronicFenceService.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ElectronicFenceService.java new file mode 100644 index 0000000..112ca67 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ElectronicFenceService.java @@ -0,0 +1,77 @@ +package com.muyu.fence.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.fence.domain.database.ElectronicFence; +import com.muyu.fence.domain.req.ElectroicFenceAddReq; +import com.muyu.fence.domain.req.ElectroicFenceListReq; +import com.muyu.fence.domain.resp.ElectronicFenceResp; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.service + * @Project:cloud-server + * @name:ElectronicFenceService + * @Date:2024/9/17 19:29 + */ + +public interface ElectronicFenceService extends IService { + /** + * 围栏列表 + * @param electroicFenceListReq + * @return + */ + List fenceselectList(ElectroicFenceListReq electroicFenceListReq); + + /** + * 添加围栏 + * @param electroicFenceAddReq + */ + void AddFence(ElectroicFenceAddReq electroicFenceAddReq); + + /** + * 根据id回显围栏 + * + * @param id + * @return + */ + ElectronicFence findElectronicByid(Long id); + + /** + * 根据id删除围栏围栏 + * @param id + */ + void delElectronById(Long id); + + /** + * 开启围栏 + * @param id + */ + void openFence(Long id); + + /** + * 关闭围栏 + * @param id + */ + void closeFence(Long id); + + /** + * 根据id设置围栏的经纬度 + * @param id + * @param longitudeLatitude + */ + void setFenceWay(Long id, String longitudeLatitude); + + /** + * 获取所有可用围栏 + * @return + */ + + + List fenceArray(); + + void unquireFence(String name); + + List selectListByIds(List ids); +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/FenceGroupMidService.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/FenceGroupMidService.java new file mode 100644 index 0000000..c628cd4 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/FenceGroupMidService.java @@ -0,0 +1,26 @@ +package com.muyu.fence.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.fence.domain.database.FenceGroupMid; +import com.muyu.fence.domain.req.ElectronicFenceGroupUpdReq; +import com.muyu.fence.domain.resp.ElectronicFenceResp; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.service + * @Project:cloud-server + * @name:FenceGroupMidService + * @Date:2024/9/20 11:33 + */ +public interface FenceGroupMidService extends IService { + + + void addGroupAndFenceMid(Long id, List electronicFenceRespList); + + List selectFenceGroupMidListById(Long id); + + + void deliteMid(Long id); +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ITbFenceService.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ITbFenceService.java deleted file mode 100644 index 31ad8ff..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/ITbFenceService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.muyu.fence.service; - -import java.util.List; -import com.muyu.fence.domain.TbFence; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * 电子围栏Service接口 - * - * @author muyu - * @date 2024-09-18 - */ -public interface ITbFenceService extends IService { - /** - * 精确查询电子围栏 - * - * @param fenceId 电子围栏主键 - * @return 电子围栏 - */ - public TbFence selectTbFenceByFenceId(Long fenceId); - - /** - * 查询电子围栏列表 - * - * @param tbFence 电子围栏 - * @return 电子围栏集合 - */ - public List selectTbFenceList(TbFence tbFence); - - /** - * 判断 电子围栏 id是否唯一 - * @param tbFence 电子围栏 - * @return 结果 - */ - Boolean checkIdUnique(TbFence tbFence); - -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/TbGroupService.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/TbGroupService.java deleted file mode 100644 index def85cc..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/TbGroupService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.muyu.fence.service; - -import com.muyu.fence.domain.TbGroup; - -import java.util.List; - -public interface TbGroupService { - //查询围栏组列表 - public List selectTbGroupList(); -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/ElectronicFenceGroupServiceImpl.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/ElectronicFenceGroupServiceImpl.java new file mode 100644 index 0000000..61484ea --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/ElectronicFenceGroupServiceImpl.java @@ -0,0 +1,88 @@ +package com.muyu.fence.service.impl; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +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.fence.domain.database.ElectronicFenceGroup; +import com.muyu.fence.domain.database.FenceGroupMid; +import com.muyu.fence.domain.req.ElectronicFenceGroupListReq; +import com.muyu.fence.domain.resp.ElectronicFenceGroupResp; +import com.muyu.fence.domain.resp.ElectronicFenceResp; +import com.muyu.fence.mapper.ElectronicFenceGroupMapper; +import com.muyu.fence.service.ElectronicFenceGroupService; +import com.muyu.fence.service.ElectronicFenceService; +import com.muyu.fence.service.FenceGroupMidService; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * @Author:yuping + * @Package:com.muyu.fence.service.impl + * @Project:cloud-server + * @name:FenceGroupServiceImpl + * @Date:2024/9/18 15:17 + */ +@Log4j2 +@Service +public class ElectronicFenceGroupServiceImpl extends ServiceImpl implements ElectronicFenceGroupService { + + @Autowired + private ElectronicFenceGroupMapper electronicFenceGroupMapper; + + @Autowired + private ElectronicFenceService electronicFenceService; + + @Autowired + private FenceGroupMidService fenceGroupMidService; + + @Override + public List selectGroupList(ElectronicFenceGroupListReq req) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + queryWrapper.like( + StringUtils.isNotNull(req.getGroupName()),ElectronicFenceGroup::getGroupName,req.getGroupName() + ); + + queryWrapper.eq( + StringUtils.isNotEmpty(req.getGroupType()),ElectronicFenceGroup::getGroupType,req.getGroupType() + ); + queryWrapper.eq( + StringUtils.isNotEmpty(req.getStatus()),ElectronicFenceGroup::getStatus, req.getStatus() + ); + List list = this.list(queryWrapper); + + return list; + + } + + @Override + public ElectronicFenceGroupResp findGroupByid(Long id) { + + ElectronicFenceGroup electronicFenceGroup = this.getById(id); + + ElectronicFenceGroupResp electronicFenceGroupResp = ElectronicFenceGroup.buildElectronicFenceGroupResp(electronicFenceGroup); + + + List fenceGroupMidList = fenceGroupMidService.selectFenceGroupMidListById(id); + + if (0 ids = fenceGroupMidList.stream().map(FenceGroupMid::getFenceId).toList(); + + List electronicFenceRespList= electronicFenceService.selectListByIds(ids); + + electronicFenceGroupResp.setElectronicFenceRespList(electronicFenceRespList); + } + + + return electronicFenceGroupResp; + } + + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/ElectronicFenceServiceImpl.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/ElectronicFenceServiceImpl.java new file mode 100644 index 0000000..aca2f8d --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/ElectronicFenceServiceImpl.java @@ -0,0 +1,149 @@ +package com.muyu.fence.service.impl; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.StringUtils; +import com.muyu.fence.domain.database.ElectronicFence; +import com.muyu.fence.domain.req.ElectroicFenceAddReq; +import com.muyu.fence.domain.req.ElectroicFenceListReq; +import com.muyu.fence.domain.resp.ElectronicFenceResp; +import com.muyu.fence.mapper.ElectronicFenceMapper; +import com.muyu.fence.service.ElectronicFenceService; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Set; + +/** + * @Author:yuping + * @Package:com.muyu.fence.service.impl + * @Project:cloud-server + * @name:ElectronicFenceServiceImpl + * @Date:2024/9/17 19:31 + */ +@Log4j2 +@Service +public class ElectronicFenceServiceImpl extends ServiceImpl implements ElectronicFenceService { + + @Autowired + private ElectronicFenceMapper electronicFenceMapper; + + + @Override + public List fenceselectList(ElectroicFenceListReq electroicFenceListReq) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + queryWrapper.like( + StringUtils.isNotNull(electroicFenceListReq.getName()),ElectronicFence::getName, electroicFenceListReq.getName() + ); + queryWrapper.eq( + StringUtils.isNotEmpty(electroicFenceListReq.getFenceType()),ElectronicFence::getFenceType, electroicFenceListReq.getFenceType() + ); + queryWrapper.eq( + StringUtils.isNotEmpty(electroicFenceListReq.getStatus()),ElectronicFence::getStatus, electroicFenceListReq.getStatus() + ); + List list = this.list(queryWrapper); + + return list.stream().map(ElectronicFence::bullerResp).toList(); + } + + @Override + public void AddFence(ElectroicFenceAddReq electroicFenceAddReq) { + + + + electronicFenceMapper.insert(ElectronicFence.buildElectroicAdd(electroicFenceAddReq)); + + + + + } + + @Override + public ElectronicFence findElectronicByid(Long id) { + + ElectronicFence electronicFence = electronicFenceMapper.selectById(id); + return electronicFence; + } + + @Override + public void delElectronById(Long id) { + electronicFenceMapper.deleteById(id); + } + + + @Override + public void openFence(Long id) { + + updateStatus(id,0); + + } + + @Override + public void closeFence(Long id) { + updateStatus(id,1); + } + + public void updateStatus (Long id,int status){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + + updateWrapper.eq("id",id).set("status",status); + + this.update(updateWrapper); + + + } + + + @Override + public void setFenceWay(Long id, String longitudeLatitude) { + + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + + updateWrapper.eq("id",id).set("longitude_latitude",longitudeLatitude); + + this.update(updateWrapper); + } + + @Override + public List fenceArray() { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + LambdaQueryWrapper wrapper = queryWrapper.eq(ElectronicFence::getStatus, 0); + + List list = this.list(wrapper); + + return list.stream().map(ElectronicFence::bullerResp).toList(); + } + + @Override + public void unquireFence(String name) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + queryWrapper.eq(ElectronicFence::getName,name); + + List fenceList = this.list(queryWrapper); + + if (fenceList.size()>0){ + throw new RuntimeException("电子围栏名不能重复"); + } + + + } + + @Override + public List selectListByIds(List ids) { + + List electronicFenceList = this.list(Wrappers.lambdaQuery().in(ElectronicFence::getId, ids)); + + + return electronicFenceList.stream().map(ElectronicFence::bullerResp).toList(); + } +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/FenceGroupMidServiceImpl.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/FenceGroupMidServiceImpl.java new file mode 100644 index 0000000..79e0c83 --- /dev/null +++ b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/FenceGroupMidServiceImpl.java @@ -0,0 +1,58 @@ +package com.muyu.fence.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.fence.domain.database.ElectronicFenceGroup; +import com.muyu.fence.domain.database.FenceGroupMid; +import com.muyu.fence.domain.req.ElectronicFenceGroupUpdReq; +import com.muyu.fence.domain.resp.ElectronicFenceResp; +import com.muyu.fence.mapper.FenceGroupMidMapper; +import com.muyu.fence.service.FenceGroupMidService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author:yuping + * @Package:com.muyu.fence.service.impl + * @Project:cloud-server + * @name:FenceGroupMidServiceImpl + * @Date:2024/9/20 11:34 + */ +@Service +public class FenceGroupMidServiceImpl extends ServiceImpl implements FenceGroupMidService { + + @Autowired + private FenceGroupMidMapper fenceGroupMidMapper; + + @Override + public void addGroupAndFenceMid(Long id, List electronicFenceRespList) { + for (ElectronicFenceResp electronicFenceResp : electronicFenceRespList) { + fenceGroupMidMapper.insert(new FenceGroupMid(null,id,electronicFenceResp.getId())); + } + } + + @Override + public List selectFenceGroupMidListById(Long groupId) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + queryWrapper.eq(FenceGroupMid::getGroupId,groupId); + + this.list(queryWrapper); + + + return this.list(queryWrapper); + } + + @Override + public void deliteMid(Long id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + wrapper.eq(FenceGroupMid::getGroupId,id); + + this.remove(wrapper); + } + +} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/TbFenceServiceImpl.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/TbFenceServiceImpl.java deleted file mode 100644 index db2042b..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/TbFenceServiceImpl.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.muyu.fence.service.impl; - -import java.util.List; -import org.springframework.stereotype.Service; -import com.muyu.fence.mapper.TbFenceMapper; -import com.muyu.fence.domain.TbFence; -import com.muyu.fence.service.ITbFenceService; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.common.core.utils.StringUtils; -import org.springframework.util.Assert; - -/** - * 电子围栏Service业务层处理 - * - * @author muyu - * @date 2024-09-18 - */ -@Service -public class TbFenceServiceImpl - extends ServiceImpl - implements ITbFenceService { - - /** - * 精确查询电子围栏 - * - * @param fenceId 电子围栏主键 - * @return 电子围栏 - */ - @Override - public TbFence selectTbFenceByFenceId(Long fenceId) - { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - Assert.notNull(fenceId, "fenceId不可为空"); - queryWrapper.eq(TbFence::getFenceId, fenceId); - return this.getOne(queryWrapper); - } - - - /** - * 查询电子围栏列表 - * - * @param tbFence 电子围栏 - * @return 电子围栏 - */ - @Override - public List selectTbFenceList(TbFence tbFence) - { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotEmpty(tbFence.getFenceName())){ - queryWrapper.like(TbFence::getFenceName, tbFence.getFenceName()); - } - if (tbFence.getFenceType()!=null){ - queryWrapper.eq(TbFence::getFenceType, tbFence.getFenceType()); - } - if (tbFence.getFenceFlag()!=null){ - queryWrapper.eq(TbFence::getFenceFlag, tbFence.getFenceFlag()); - } - if (StringUtils.isNotEmpty(tbFence.getLongitudeAndLatitudeInformation())){ - queryWrapper.eq(TbFence::getLongitudeAndLatitudeInformation, tbFence.getLongitudeAndLatitudeInformation()); - } - if (tbFence.getFencePriority()!=null){ - queryWrapper.eq(TbFence::getFencePriority, tbFence.getFencePriority()); - } - return this.list(queryWrapper); - } - - /** - * 唯一 判断 - * @param tbFence 电子围栏 - * @return 电子围栏 - */ - @Override - public Boolean checkIdUnique(TbFence tbFence) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(TbFence::getFenceId, tbFence.getFenceId()); - return this.count(queryWrapper) > 0; - } - -} diff --git a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/TbGroupServiceImpl.java b/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/TbGroupServiceImpl.java deleted file mode 100644 index 1813167..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/java/com/muyu/fence/service/impl/TbGroupServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.muyu.fence.service.impl; - -import com.muyu.fence.domain.TbGroup; -import com.muyu.fence.mapper.TbGroupDao; -import com.muyu.fence.service.TbGroupService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @Author YuPing - * @Description 围栏组业务实现 - * @Version 1.0 - * @Data 2024-09-22 16:59:33 - */ - -@Service -public class TbGroupServiceImpl implements TbGroupService { - - @Autowired - private TbGroupDao tbGroupDao; - - /** - * 查询围栏组列表 - * @return - */ - @Override - public List selectTbGroupList() { - return tbGroupDao.selectTbGroupList(); - } -} diff --git a/cloud-modules/cloud-modules-fence/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-fence/src/main/resources/bootstrap.yml index 11ecb0e..5ce2dc8 100644 --- a/cloud-modules/cloud-modules-fence/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-fence/src/main/resources/bootstrap.yml @@ -6,7 +6,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: lgy # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: diff --git a/cloud-modules/cloud-modules-fence/src/main/resources/mapper/TbGroupMapper.xml b/cloud-modules/cloud-modules-fence/src/main/resources/mapper/TbGroupMapper.xml deleted file mode 100644 index 96844ea..0000000 --- a/cloud-modules/cloud-modules-fence/src/main/resources/mapper/TbGroupMapper.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/cloud-modules/cloud-modules-template/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-template/src/main/resources/bootstrap.yml index 296d376..1e3f535 100644 --- a/cloud-modules/cloud-modules-template/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-template/src/main/resources/bootstrap.yml @@ -6,7 +6,7 @@ nacos: addr: 47.101.53.251:8848 user-name: nacos password: nacos - namespace: four + namespace: lgy # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: