2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-03-04 f233ba26bbf8703fcc4e86a5dbb9d6026f91e7d6
ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
@@ -1,106 +1,147 @@
package com.sandu.ximon.admin.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
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.utils.request.BroadcastParams;
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.domain.BroadcastV2TaskTerminal;
import com.sandu.ximon.dao.domain.Monitor;
import com.sandu.ximon.dao.mapper.BroadcastTerminalV2EntityMapper;
import com.sandu.ximon.dao.mapper.BroadcastV2TaskTerminalMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class BroadcastTerminalV2Service {
/*
    private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao;
public class BroadcastTerminalV2Service extends BaseServiceImpl<BroadcastTerminalV2EntityMapper, BroadcastTerminalV2Entity> {
    //    private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao;
//    @Autowired
//    private SysUserRoleService sysUserRoleService;
//    @Autowired
//    private SysUserCompanyService sysUserCompanyService;
//    @Autowired
//    private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper;
    @Autowired
    private BroadcastTerminalV2EntityMapper broadcastTerminalV2EntityMapper;
    *//**
     * 获取列表
     * @param params
     * @param userId
     * @return
     *//*
    public PageInfo<BroadcastTerminalV2Entity> list(BroadcastParams params, Long userId) {
        Long roleId = sysUserRoleService.queryRoleId(userId);
        Long companyId = sysUserCompanyService.queryCompanyId(userId);
        Integer limit = params.getLimit();
        Integer page = params.getPage();
        List<BroadcastTerminalV2Entity> list = null;
        if(roleId == Constant.SUPER_ADMIN) {
            PageHelper.startPage(page,limit);
            list = broadcastTerminalV2Dao.listAll(params.getName());
        }else if(roleId == Constant.ADMIN) {
            PageHelper.startPage(page,limit);
            list = broadcastTerminalV2Dao.listByCompanyId(companyId, params.getName());
        }else {
            PageHelper.startPage(page,limit);
            list = broadcastTerminalV2Dao.listByUserId(userId,params.getName());
        }
        PageInfo<BroadcastTerminalV2Entity> pageInfo = new PageInfo(list);
        for(BroadcastTerminalV2Entity b :pageInfo.getList()){
            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);
            }
        }
        return pageInfo;
    }
    *//**
    /**
     * 同步终端
     *//*
     */
    public void synchTerminal() {
        List<BroadcastTerminalV2Entity> server = broadcastTerminalV2Dao.listAll("");
        List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll("");
        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
        list.stream().forEach(item->{
        System.out.println(list);
        list.stream().forEach(item -> {
            //  音柱服务器终端ID
            Integer id = item.getId();
            boolean add = true;
            //  遍历数据库终端
            for(BroadcastTerminalV2Entity b: server) {
            for (BroadcastTerminalV2Entity b : server) {
                Integer id1 = b.getId();
                if(id.equals(id1)){
                if (id.equals(id1)) {
                    add = false;
                    break;
                }
            }
            if(add){
            if (add) {
                BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity();
                b.setId(id);
                b.setTerminalName(item.getName());
                b.setStreetlightId(0l);
                b.setStreetlightId(0L);
                b.setExist(1);
                broadcastTerminalV2Dao.insert(b);
//                save(b);
                broadcastTerminalV2EntityMapper.insert(b);
            }
        });
    }
    *//**
    public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(BaseConditionVO baseConditionVO, BroadcastTerminalV2Param broadcastTerminalV2Param) {
        if (broadcastTerminalV2Param == null) {
            broadcastTerminalV2Param = new BroadcastTerminalV2Param();
        }
        Long clientId = SecurityUtils.getClientId();
        //在线状态全部的话需要分页
        if (2 == broadcastTerminalV2Param.getWorkState()) {
            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        }
        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos;
        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos_final = new ArrayList<>();
        //绑定状态:已绑定/未绑定/全部
        if (broadcastTerminalV2Param.getBindingState() == null || 2 == broadcastTerminalV2Param.getBindingState()) {
            //全部
            int bindingState = 2;
            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
        } else {
            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState());
        }
        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
        for (BroadcastTerminalV2EntityBo bean : broadcastTerminalV2EntityBos) {
            for (TerminalVO terminalVO : list) {
                if (bean.getId().equals(terminalVO.getId())) {
                    bean.setStatus(terminalVO.getStatus());
                    bean.setIp(terminalVO.getIp());
                    bean.setVolumn(terminalVO.getVolumn());
                    bean.setDefaultVolumn(terminalVO.getDefaultVolumn());
                    bean.setPower(terminalVO.getPower());
                    bean.setDefaultPower(terminalVO.getDefaultPower());
                    bean.setLast(terminalVO.getLast());
                    bean.setTaskType(terminalVO.getTaskType());
                    bean.setTaskID(terminalVO.getTaskID());
                    if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalVO.getStatus()) {
                        broadcastTerminalV2EntityBos_final.add(bean);
                    } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalVO.getStatus()) {
                        broadcastTerminalV2EntityBos_final.add(bean);
                    }
                    break;
                }
            }
        }
        if (2 == broadcastTerminalV2Param.getWorkState()) {
            return broadcastTerminalV2EntityBos;
        } else {
            return broadcastTerminalV2EntityBos_final;
        }
    }
    /**
     * 修改设备绑定状态
     *
     * @param flag true为绑定  false 为解绑
     */
    public void updateBingdingState(boolean flag, int deviceCode) {
        if (flag) {//绑定
            BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode));
            if (broadcastTerminalV2Entity == null) {
                return;
            }
            broadcastTerminalV2Entity.setBindStates(1);
            updateById(broadcastTerminalV2Entity);
        } else {//解绑
            BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode));
            if (broadcastTerminalV2Entity == null) {
                return;
            }
            broadcastTerminalV2Entity.setBindStates(0);
            updateById(broadcastTerminalV2Entity);
        }
    }
    /**
     * 修改终端
      * @param params
     * @param params
     * @return 0:成功 1:名称不能为空
     *//*
    public Integer updateTerminal(BroadcastParams params, Long userId) {
@@ -125,21 +166,19 @@
        return 0;
    }
    *//**
    */
    /**
     * 音量修改
     *
     * @param params
     * @param userId
     * @return
     *//*
    public Integer changeVol(BroadcastParams params, Long userId) {
        boolean b = TerminalAPIUtils.changeVol(params.getTerminalId(), params.getDefaultVolumn(), userId);
        if(b){
            return 0;
        }
        return 1;
     */
    public boolean changeVol(BroadcastTerminalV2Param params) {
        return TerminalAPIUtils.changeVol(params.getId(), params.getDefaultVolumn());
    }
    public List<BroadcastTerminalV2Entity> getAll(Long userId) {
    /*public List<BroadcastTerminalV2Entity> getAll(Long userId) {
        Long roleId = sysUserRoleService.queryRoleId(userId);
        Long companyId = sysUserCompanyService.queryCompanyId(userId);