2021与蓝度共同重构项目,服务端
liuhaonan
2022-09-26 648b3ae660a9a306d74cda6c7c05a6ef5f4c4250
ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java
@@ -6,12 +6,15 @@
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.dto.TerminalDto;
import com.sandu.ximon.admin.param.BroadcastTerminalV2Param;
import com.sandu.ximon.admin.redis.DeviceRedisKey;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.TerminalAPIUtils;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.admin.dto.TerminalDto;
import com.sandu.ximon.admin.vo.RedisDeviceStatus;
import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
import com.sandu.ximon.dao.enums.AdministratorEnums;
@@ -29,6 +32,8 @@
    @Autowired
    private IPBroadcastMapper broadcastTerminalV2EntityMapper;
    @Autowired
    private RedisUtils redisUtils;
    /**
     * 同步终端
@@ -68,6 +73,15 @@
         */
    }
    /**
     * IP音柱列表
     *
     * @param baseConditionVO
     * @param order
     * @param seq
     * @param broadcastTerminalV2Param
     * @return
     */
    public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(BaseConditionVO baseConditionVO, Integer order, Integer seq, BroadcastTerminalV2Param broadcastTerminalV2Param) {
        if (broadcastTerminalV2Param == null) {
            broadcastTerminalV2Param = new BroadcastTerminalV2Param();
@@ -158,6 +172,23 @@
        }
    }
    /**
     * IP音柱列表(用于首页数据统计)
     *
     * @return
     */
    public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalListOnHome() {
        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos;
        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos_final = new ArrayList<>();
        if (SecurityUtils.getClientId() == null) {
            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(null, null, 2);
        } else {
            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(null, SecurityUtils.getUserId(), 2);
        }
        return broadcastTerminalV2EntityBos;
    }
    public List<BroadcastTerminalV2EntityBo> newIpTerminalList(String keyword) {
@@ -170,7 +201,7 @@
                if (bean.getId().equals(terminalDto.getId())) {
                    bean.setStatus(terminalDto.getStatus());
                    bean.setIp(terminalDto.getIp());
                    bean.setVolumn(terminalDto.getVolumn());
                    bean.setVolumn(terminalDto.getVolume());
                    bean.setDefaultVolumn(terminalDto.getDefaultVolumn());
                    bean.setPower(terminalDto.getPower());
                    bean.setDefaultPower(terminalDto.getDefaultPower());
@@ -306,4 +337,44 @@
         */
        return flag;
    }
    public static Object getInfo() {
        return TerminalAPIUtils.getTerminalInfo(25);
    }
    /**
     * 向Redis中存入设备状态
     */
    public void setCacheData() {
        //服务器所有音柱信息
        List<TerminalDto> list = TerminalAPIUtils.getTerminalList();
        list.forEach(
                device -> {
                    RedisDeviceStatus deviceStatus = new RedisDeviceStatus();
                    deviceStatus.setDeviceId(device.getId().toString());
                    if (device != null) {
                        //空闲 1、   工作中 2 或者 4、     断线 0,    报 错 8
                        switch (device.getStatus()) {
                            case 1:
                            case 2:
                            case 4:
                                deviceStatus.setStatus(0);
                                break;
                            case 0:
                                deviceStatus.setStatus(1);
                                break;
                            case 8:
                                deviceStatus.setStatus(0);
                                break;
                            default:
                                deviceStatus.setStatus(1);
                        }
                    }
                    redisUtils.set(DeviceRedisKey.IP_BROADCAST + device.getId(), deviceStatus);
                }
        );
    }
}