package com.sandu.ximon.admin.service;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
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.domain.BroadcastTerminalV2Entity;
|
import com.sandu.ximon.dao.mapper.BroadcastV2TaskTerminalMapper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
@Service
|
public class BroadcastTerminalV2Service {
|
/*
|
private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao;
|
|
*//**
|
* 获取列表
|
* @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<TerminalVO> list = TerminalAPIUtils.getTerminalList();
|
list.stream().forEach(item->{
|
// 音柱服务器终端ID
|
Integer id = item.getId();
|
boolean add = true;
|
// 遍历数据库终端
|
for(BroadcastTerminalV2Entity b: server) {
|
Integer id1 = b.getId();
|
if(id.equals(id1)){
|
add = false;
|
break;
|
}
|
}
|
if(add){
|
BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity();
|
b.setId(id);
|
b.setTerminalName(item.getName());
|
b.setStreetlightId(0l);
|
b.setExist(1);
|
broadcastTerminalV2Dao.insert(b);
|
}
|
});
|
|
|
}
|
|
*//**
|
* 修改终端
|
* @param params
|
* @return 0:成功 1:名称不能为空
|
*//*
|
public Integer updateTerminal(BroadcastParams params, Long userId) {
|
|
// 校验名称合法性
|
if(null == params.getTerminalName() || "".equals(params.getTerminalName())){
|
return 1;
|
}
|
if(null == params.getDefaultVolumn() || params.getDefaultVolumn() < 0) {
|
params.setDefaultVolumn(0);
|
}
|
|
BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity();
|
b.setId(params.getTerminalId());
|
b.setTerminalName(params.getTerminalName());
|
b.setStreetlightId(params.getStreetlightId());
|
b.setExist(1);
|
// API调用修改终端音量
|
TerminalAPIUtils.changeVol(params.getTerminalId(),params.getDefaultVolumn(),userId);
|
|
broadcastTerminalV2Dao.update(b);
|
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 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);
|
}
|
return list;
|
}
|
|
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);
|
}
|
}
|
return all;
|
}*/
|
}
|