2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-11 7545924f23beb4db5f68a76f5f432d3bf2de523c
ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java
@@ -2,14 +2,18 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.param.BroadcastTerminalV2Param;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.TerminalAPIUtils;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.admin.vo.TerminalVO;
import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
import com.sandu.ximon.dao.enums.PoleBindingEnums;
import com.sandu.ximon.dao.mapper.IPBroadcastMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -33,7 +37,14 @@
     * 同步终端
     */
    public void synchTerminal() {
        List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll("");
        List<BroadcastTerminalV2Entity> server;
        //为空是超管
        if (SecurityUtils.getClientId() == null) {
            server = broadcastTerminalV2EntityMapper.listAll(null);
        } else {
            server = broadcastTerminalV2EntityMapper.listAll(SecurityUtils.getUserId());
        }
        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
        System.out.println(list);
        list.stream().forEach(item -> {
@@ -55,7 +66,6 @@
                b.setStreetlightId(0L);
                b.setExist(1);
                save(b);
//                broadcastTerminalV2EntityMapper.insert(b);
            }
        });
    }
@@ -64,10 +74,9 @@
        if (broadcastTerminalV2Param == null) {
            broadcastTerminalV2Param = new BroadcastTerminalV2Param();
        }
        Long clientId = SecurityUtils.getClientId();
        //在线状态全部的话需要分页
        if (2 == broadcastTerminalV2Param.getWorkState()) {
        if (baseConditionVO != null && 2 == broadcastTerminalV2Param.getWorkState()) {
            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        }
@@ -77,9 +86,17 @@
        if (broadcastTerminalV2Param.getBindingState() == null || 2 == broadcastTerminalV2Param.getBindingState()) {
            //全部
            int bindingState = 2;
            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
            if (SecurityUtils.getClientId() == null) {
                broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), null, bindingState);
            } else {
                broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), SecurityUtils.getUserId(), bindingState);
            }
        } else {
            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState());
            if (SecurityUtils.getClientId() == null) {
                broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), null, broadcastTerminalV2Param.getBindingState());
            } else {
                broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), SecurityUtils.getUserId(), broadcastTerminalV2Param.getBindingState());
            }
        }
        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
@@ -174,49 +191,65 @@
        return TerminalAPIUtils.changeVol(params.getId(), params.getDefaultVolumn());
    }
    /*public List<BroadcastTerminalV2Entity> getAll(Long userId) {
        Long roleId = sysUserRoleService.queryRoleId(userId);
        Long companyId = sysUserCompanyService.queryCompanyId(userId);
        List<BroadcastTerminalV2Entity> list = null;
        if(roleId == Constant.SUPER_ADMIN) {
            list = broadcastTerminalV2Dao.getAll();
        }else if(roleId == Constant.ADMIN) {
            list = broadcastTerminalV2Dao.getAllByCompanyId(companyId);
        }else {
            list = broadcastTerminalV2Dao.getAllByUserId(userId);
    /**
     * 终端详情
     */
    public EquipmentInfomation getIpTerminalDetail(String id) {
        EquipmentInfomation equipmentInfo = new EquipmentInfomation();
        equipmentInfo.setEquipmentType("IP音柱");
        if (id == null || id.trim().length() == 0) {
            return equipmentInfo;
        }
        return list;
    }
        BroadcastTerminalV2Entity one = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, id));
        if (one != null) {
            equipmentInfo.setEquipmentMac(id);
            equipmentInfo.setEquipmentName(one.getTerminalName());
        }
        TerminalVO terminalInfo = TerminalAPIUtils.getTerminalInfo(Integer.valueOf(id));
        if (terminalInfo != null) {
            //空闲 1、   工作中 2 或者 4、     断线 0,    报 错 8
            switch (terminalInfo.getStatus()) {
                case 1:
                    equipmentInfo.setEquipmentState("空闲");
                    break;
                case 2:
                case 4:
                    equipmentInfo.setEquipmentState("工作中");
                    break;
                case 0:
                    equipmentInfo.setEquipmentState("断线");
                    break;
                case 8:
                    equipmentInfo.setEquipmentState("报错");
                    break;
                default:
                    equipmentInfo.setEquipmentState("未知");
    public BroadcastTerminalV2Entity getById(Integer i) {
        return broadcastTerminalV2Dao.getById(i);
    }
    public Object getAllWithStatus(Long userId) {
        List<BroadcastTerminalV2Entity> all = getAll(userId);
        for(BroadcastTerminalV2Entity b : all){
            try {
                TerminalVO terminalInfo = TerminalAPIUtils.getTerminalInfo(b.getId());
                if(null == terminalInfo) {
                    b.setExist(0);
                }else {
                    b.setExist(1);
                }
                b.setStatus(terminalInfo.getStatus());
                b.setIp(terminalInfo.getIp());
                b.setVolumn(terminalInfo.getVolumn());
                b.setDefaultVolumn(terminalInfo.getDefaultVolumn());
                b.setPower(terminalInfo.getPower());
                b.setDefaultPower(terminalInfo.getDefaultPower());
                b.setLast(terminalInfo.getLast());
                b.setTaskType(terminalInfo.getTaskType());
                b.setTaskID(terminalInfo.getTaskID());
            }catch (Exception e) {
                b.setExist(2);
            }
        } else {
            equipmentInfo.setEquipmentState("未知");
        }
        return all;
    }*/
        return equipmentInfo;
    }
    /**
     * 根据终端id获取终端信息
     *
     * @param name
     * @param id
     * @return
     */
    public boolean updateBroadcastTerminalName(String name, Integer id) {
        BroadcastTerminalV2Entity byId = getById(id);
        if (byId == null) {
            throw new BusinessException("终端不存在");
        }
        boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(String.valueOf(byId.getId()), PoleBindingEnums.IPVOLUME);
        if (!belong) {
            throw new BusinessException("该设备不属于您,不能修改设备信息");
        }
        byId.setTerminalName(name);
        return updateById(byId);
    }
}