package com.sandu.ximon.admin.service;
|
|
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.security.SecurityUtils;
|
import com.sandu.ximon.admin.utils.VnnoxAPIUtil;
|
import com.sandu.ximon.admin.vo.EquipmentInfomation;
|
import com.sandu.ximon.dao.domain.LedPlayerEntity;
|
import com.sandu.ximon.dao.mapper.LedPlayerEntityMapper;
|
import lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @Author liuhaonan
|
* @Date 2021/12/22 15:27
|
* @Version 1.0
|
* 诺瓦设备
|
*/
|
@Service
|
@AllArgsConstructor
|
public class LedPlayerEntityService extends BaseServiceImpl<LedPlayerEntityMapper, LedPlayerEntity> {
|
private final LedPlayerEntityMapper ledPlayerEntityMapper;
|
private VnnoxAPIUtil vnnoxAPIUtil;
|
|
public LedPlayerEntity getBySn(String sn) {
|
return getOne(Wrappers.lambdaQuery(LedPlayerEntity.class).eq(LedPlayerEntity::getSn, sn));
|
}
|
|
public LedPlayerEntity getByPlayerId(String playerId) {
|
return getOne(Wrappers.lambdaQuery(LedPlayerEntity.class).eq(LedPlayerEntity::getPlayerId, playerId));
|
}
|
|
public boolean saveLed(LedPlayerEntity ledPlayerEntity) {
|
return ledPlayerEntityMapper.saveLed(ledPlayerEntity);
|
}
|
|
|
/**
|
* 诺瓦硬件设备
|
*/
|
public LedPlayerEntity getBySnAndPlayerSn(String sn) {
|
LedPlayerEntity one = getOne(Wrappers.lambdaQuery(LedPlayerEntity.class).eq(LedPlayerEntity::getSn, sn));
|
if (one == null) {
|
throw new BusinessException("诺瓦设备不存在");
|
}
|
List list = new ArrayList();
|
list.add(one);
|
List<LedPlayerEntity> led = vnnoxAPIUtil.syncCurrentInfo(list);
|
Map<String, String> screenShotUrl = SpringContextHolder.getBean(VnnoxService.class).getScreenShotUrl(one.getId().intValue());
|
if (screenShotUrl.get("code").equals("200")) {
|
one.setScreenShotUrl(screenShotUrl.get("url"));
|
} else {
|
one.setScreenShotUrl("缩略图获取失败");
|
}
|
return one;
|
}
|
|
/**
|
* 首页灯杆绑定信息
|
*/
|
//TODO
|
public EquipmentInfomation getBySnAndPlayerSnInfo(String sn) {
|
EquipmentInfomation equipmentInfo = new EquipmentInfomation();
|
equipmentInfo.setEquipmentType("诺瓦LED");
|
if (sn == null || sn.trim().length() == 0) {
|
return equipmentInfo;
|
}
|
|
LedPlayerEntity one = getOne(Wrappers.lambdaQuery(LedPlayerEntity.class).eq(LedPlayerEntity::getSn, sn));
|
if (one != null) {
|
equipmentInfo.setEquipmentMac(one.getSn());
|
equipmentInfo.setEquipmentName(one.getName());
|
}
|
|
return equipmentInfo;
|
}
|
|
|
public List<LedPlayerEntity> ledPlayerEntityList(BaseConditionVO baseConditionVO, String keyword) {
|
if (baseConditionVO != null) {
|
PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
|
}
|
List<LedPlayerEntity> list;
|
//超管
|
if (SecurityUtils.getClientId() == null) {
|
list = ledPlayerEntityMapper.ledPlayerEntityList(keyword, null);
|
} else {
|
list = ledPlayerEntityMapper.ledPlayerEntityList(keyword, SecurityUtils.getUserId());
|
}
|
return SpringContextHolder.getBean(VnnoxService.class).setCacheInfo(vnnoxAPIUtil.syncCurrentInfo(list));
|
}
|
|
// public List<LedPlayerEntity> ledPlayerEntityList() {
|
// List<LedPlayerEntity> list;
|
// //超管
|
// if (SecurityUtils.getClientId() == null) {
|
// list = ledPlayerEntityMapper.ledPlayerEntityList(null, null);
|
// } else {
|
// list = ledPlayerEntityMapper.ledPlayerEntityList(null, SecurityUtils.getUserId());
|
// }
|
// return SpringContextHolder.getBean(VnnoxService.class).setCacheInfo(vnnoxAPIUtil.syncCurrentInfo(list));
|
// }
|
}
|