| | |
| | | package com.sandu.ximon.admin.service; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.sandu.common.execption.BusinessException; |
| | | import com.sandu.common.service.impl.BaseServiceImpl; |
| | | import com.sandu.ximon.admin.config.VnnoxConstant; |
| | | import com.sandu.ximon.admin.param.PlayPlanParam; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.dao.domain.PlayPlanNv; |
| | | import com.sandu.ximon.dao.domain.PushToLed; |
| | | import com.sandu.ximon.admin.utils.VnnoxAPIUtil; |
| | | import com.sandu.ximon.admin.utils.VnnoxProgramAPIUtil; |
| | | import com.sandu.ximon.admin.utils.request.PlayerProgram; |
| | | import com.sandu.ximon.admin.utils.response.VnnoxResult; |
| | | import com.sandu.ximon.admin.utils.response.VnnoxResultResponse; |
| | | import com.sandu.ximon.dao.domain.*; |
| | | import com.sandu.ximon.dao.enums.AdministratorEnums; |
| | | import com.sandu.ximon.dao.mapper.PlayPlanNvMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 播放计划 |
| | |
| | | public class PlayPlanNvService extends BaseServiceImpl<PlayPlanNvMapper, PlayPlanNv> { |
| | | |
| | | private final PlayPlanNvMapper playPlanMapper; |
| | | private final VnnoxProgramAPIUtil vnnoxProgramAPIUtil; |
| | | private final LedPlayerEntityService ledPlayerEntityService; |
| | | private VnnoxAPIUtil vnnoxAPIUtil; |
| | | private final LEDProgramService ledProgramService; |
| | | |
| | | public boolean addPlan(PlayPlanParam playPlanParam) { |
| | | |
| | |
| | | playPlan.setUserId(SecurityUtils.getUserId()); |
| | | } |
| | | playPlan.setName(playPlanParam.getName()); |
| | | /* playPlan.setLedProgramName(playPlanParam.getLedProgramName()); |
| | | playPlan.setLedProgramName(playPlanParam.getLedProgramName()); |
| | | LEDProgram byId = ledProgramService.getById(playPlanParam.getLedProgramId()); |
| | | if(byId==null){ |
| | | throw new BusinessException("ledProgramId有误,未找到该节目"); |
| | | } |
| | | playPlan.setLedProgramId(playPlanParam.getLedProgramId()); |
| | | playPlan.setVolume(playPlanParam.getVolume()); |
| | | playPlan.setApplySeries(playPlanParam.getApplySeries()); |
| | | playPlan.setStartDate(playPlanParam.getStartDate()); |
| | | playPlan.setEndDate(playPlanParam.getEndDate()); |
| | | playPlan.setWeekDays(playPlanParam.getWeekDays()); |
| | | playPlan.setSchedule(playPlanParam.getSchedule()); |
| | | playPlan.setSchedule(JSON.toJSONString(playPlanParam.getSchedule())); |
| | | playPlan.setStartTime(playPlanParam.getStartTime()); |
| | | playPlan.setEndTime(playPlanParam.getEndTime());*/ |
| | | BeanUtils.copyProperties(playPlanParam, playPlan); |
| | | playPlan.setEndTime(playPlanParam.getEndTime()); |
| | | // BeanUtils.copyProperties(playPlanParam, playPlan); |
| | | |
| | | |
| | | return save(playPlan); |
| | | |
| | |
| | | playPlan.setStartDate(playPlanParam.getStartDate()); |
| | | playPlan.setEndDate(playPlanParam.getEndDate()); |
| | | playPlan.setWeekDays(playPlanParam.getWeekDays()); |
| | | playPlan.setSchedule(playPlanParam.getSchedule()); |
| | | playPlan.setSchedule(JSON.toJSONString(playPlanParam.getSchedule())); |
| | | playPlan.setStartTime(playPlanParam.getStartTime()); |
| | | playPlan.setEndTime(playPlanParam.getEndTime()); |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | public boolean deletePlan(Long id) { |
| | | PlayPlanNv byId = getById(id); |
| | | if (byId == null) { |
| | | throw new BusinessException("操作对象不存在"); |
| | | public boolean deletePlan(List<Long> ids) { |
| | | for(Long id:ids){ |
| | | PlayPlanNv byId = getById(id); |
| | | if (byId == null) { |
| | | throw new BusinessException("部分操作对象不存在"); |
| | | } |
| | | } |
| | | |
| | | return removeById(id); |
| | | |
| | | return removeByIds(ids); |
| | | } |
| | | |
| | | public Map<String, Object> pushToLed(Long planId){ |
| | | public Map<String, Object> pushToLed(Long planId,List<String> playerIds){ |
| | | // public PlayerProgram pushToLed(Long planId){ |
| | | PushToLed pushToLed = playPlanMapper.pushToLed(planId); |
| | | PlayPlanNv one =getOne(Wrappers.lambdaQuery(PlayPlanNv.class).eq(PlayPlanNv::getId, planId)); |
| | | if(pushToLed==null){ |
| | | throw new BusinessException("未找到该播放计划"); |
| | | } |
| | | List<String> playerIds=new ArrayList<>(); |
| | | playerIds.add("led的编号"); |
| | | List<Map<String,Object>> pages = JSON.parseObject(pushToLed.getPages(), List.class); |
| | | Map schedule = JSON.parseObject(pushToLed.getSchedule(), Map.class); |
| | | Map<String,Object> push=new HashMap<>(); |
| | | //List<String> playerIds=new ArrayList<>(); |
| | | // playerIds.add("872bb51ae0f06e70c21e913cf3dc9e4d"); |
| | | //List<Map<String,Object>> pages = JSON.parseObject(pushToLed.getPages(), List.class); |
| | | PlayerProgram program=new PlayerProgram(); |
| | | program.setPlayerIds(playerIds); |
| | | System.out.println(pushToLed.getPages()); |
| | | |
| | | System.out.println(JSON.parseArray(pushToLed.getPages(), Map.class)); |
| | | program.setPages(JSON.parseObject(pushToLed.getPages(), List.class)); |
| | | program.setSchedule(JSON.parseObject(pushToLed.getSchedule(), Map.class)); |
| | | program.setNoticeUrl(VnnoxConstant.NOTIFY_URL); |
| | | /* Map schedule = JSON.parseObject(pushToLed.getSchedule(), Map.class); |
| | | Map<String,Object> push=new HashMap<>(); |
| | | push.put("playerIds",playerIds); |
| | | push.put("pages",pages); |
| | | push.put("schedule",schedule); |
| | | push.put("noticeUrl","这里是回调地址"); |
| | | push.put("noticeUrl", VnnoxConstant.SCREEN_SHOT_NOTIFY_URL); |
| | | */ |
| | | VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(program); |
| | | VnnoxResult vnnoxResult = vnnoxAPIUtil.volChange(playerIds, Integer.valueOf(one.getVolume()).intValue()); |
| | | |
| | | return push; |
| | | // VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(push); |
| | | List<String> success=new ArrayList<>(); |
| | | List<String> fail= new ArrayList<>(); |
| | | // List<String> success=new ArrayList<>(); |
| | | // if(vnnoxResultResponse.getData().getSuccess()!=null&&vnnoxResultResponse.getData()!=null){ |
| | | // success = vnnoxResultResponse.getData().getSuccess(); |
| | | // } |
| | | // //success.addAll(vnnoxResult.getSuccess()); |
| | | |
| | | // if(vnnoxResultResponse.getData().getFail()!=null&vnnoxResultResponse.getData()!=null){ |
| | | // fail= vnnoxResultResponse.getData().getFail(); |
| | | // } |
| | | if(vnnoxResultResponse.getData()!=null){ |
| | | success = vnnoxResultResponse.getData().getSuccess(); |
| | | fail= vnnoxResultResponse.getData().getFail(); |
| | | } |
| | | |
| | | |
| | | // fail.addAll(vnnoxResult.getFail()); |
| | | Map<String,Object> result=new HashMap<>(); |
| | | List<LedPlayerEntity> successList= new ArrayList<>(); |
| | | List<LedPlayerEntity> faileList= new ArrayList<>(); |
| | | for (String playerId:success){ |
| | | successList.add(ledPlayerEntityService.getByPlayerId(playerId)); |
| | | } |
| | | for (String playerId:fail){ |
| | | faileList.add( ledPlayerEntityService.getByPlayerId(playerId)); |
| | | } |
| | | |
| | | |
| | | result.put("success",successList); |
| | | result.put("fail",faileList); |
| | | |
| | | return result; |
| | | // return program; |
| | | |
| | | } |
| | | } |