zhitong.yu
7 天以前 7fc9c42987a13c1d8d2159591a5803e70518827f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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;
 
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author YuZhiTong
 * @since 2025-05-22
 */
@Service
public class TbFenceServiceImpl extends ServiceImpl<TbFenceMapper, TbFence> 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<TbFence> info = new PageInfo<>(baseMapper.selectList(queryWrapper));
        table<TbFence> 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());
    }
}