package com.hxzk.gps.service.impl.Fence; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hxzk.gps.controller.Fence.dto.TableSearchResult.TableSearchResult; import com.hxzk.gps.controller.System.SystemLogUtil; import com.hxzk.gps.entity.Fence.TbFence; import com.hxzk.gps.entity.FzRadar.TbFzanchor; import com.hxzk.gps.mapper.Fence.TbFenceMapper; import com.hxzk.gps.result.ListDataResult; import com.hxzk.gps.result.ResultTable; import com.hxzk.gps.result.table; import com.hxzk.gps.service.Fence.TbFenceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hxzk.gps.util.GetUser.UserInfoUtil; import com.hxzk.gps.util.MessageUtils.MessageUtils; import com.hxzk.gps.util.Result.ReturnMessage; import com.hxzk.gps.util.UDP.UDP_Fence; import com.hxzk.gps.util.UDP.UDP_FzAnchor; import org.springframework.stereotype.Service; import java.util.Optional; /** *

* 服务实现类 *

* * @author YuZhiTong * @since 2025-05-22 */ @Service public class TbFenceServiceImpl extends ServiceImpl implements TbFenceService { @Override public ResultTable FindFenceInfo(TableSearchResult TableSearchResult) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("company", UserInfoUtil.getUserCompany()); Optional.ofNullable(TableSearchResult.getFence().getName()).ifPresent(name -> queryWrapper.like("name", name)); PageHelper.startPage(TableSearchResult.getTableList().getPageNum(),TableSearchResult.getTableList().getPageSize()); PageInfo info = new PageInfo<>(baseMapper.selectList(queryWrapper)); table achortable = new table<>(info.getList(),TableSearchResult.getTableList().getPageNum(),TableSearchResult.getTableList().getPageSize(),info.getTotal()); return ListDataResult.resultTableSuccess(achortable, MessageUtils.getMessage("Success")); } @Override public ReturnMessage add(TbFence fence) { /* 声明操作状态 * */ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name",fence.getName()); if (baseMapper.selectCount(queryWrapper) > 0){ return ReturnMessage.ReturnMessageError("FenceNameRepeat"); } boolean isSuccess = false; try { /* 发送指令到CS * */ UDP_Fence.AddFence(fence); isSuccess = true; //单独修改围栏颜色 Thread.sleep(1000); TbFence fenceColor = new TbFence(); fenceColor.setBaoliu14(fence.getBaoliu14()); baseMapper.update(fenceColor,queryWrapper); }catch (Exception e){ } return SystemLogUtil.handleAddResult(isSuccess,"FenceAdd",fence.getName()); } @Override public ReturnMessage delete(TbFence fence) { /* 声明操作状态 * */ boolean isSuccess = false; try { /* 发送指令到CS * */ UDP_Fence.DeFence(fence); isSuccess = true; }catch (Exception e){ } return SystemLogUtil.handleDeleteResult(isSuccess,"FenceDelete",fence.getName()); } }