package com.sandu.ximon.admin.service; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.common.util.SpringContextHolder; import com.sandu.ximon.admin.utils.VnnoxAPIUtil; 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 { 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 RuntimeException("诺瓦设备不存在"); } List list=new ArrayList(); list.add(one); List led = vnnoxAPIUtil.syncCurrentInfo(list); Map 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; } }