package com.sandu.ximon.admin.service;
|
|
import cn.hutool.core.collection.CollUtil;
|
import com.github.pagehelper.PageHelper;
|
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.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.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 extends BaseServiceImpl<BroadcastV2TaskTerminalMapper, BroadcastV2TaskTerminal> {
|
// private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao;
|
// @Autowired
|
// private SysUserRoleService sysUserRoleService;
|
// @Autowired
|
// private SysUserCompanyService sysUserCompanyService;
|
@Autowired
|
private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper;
|
|
/**
|
* 同步终端
|
*/
|
public void synchTerminal() {
|
List<BroadcastTerminalV2Entity> server = broadcastV2TaskTerminalMapper.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);
|
broadcastV2TaskTerminalMapper.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 = broadcastV2TaskTerminalMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
|
} else {
|
broadcastTerminalV2EntityBos = broadcastV2TaskTerminalMapper.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 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
|
* @return
|
*/
|
public boolean changeVol(BroadcastTerminalV2Param params) {
|
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);
|
}
|
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;
|
}*/
|
}
|