package com.sandu.ximon.admin.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.domain.ResponseVO; import com.sandu.common.util.ResponseUtil; import com.sandu.common.util.SpringContextHolder; import com.sandu.ximon.admin.param.BroadcastTerminalV2Param; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.service.*; import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo; import com.sandu.ximon.dao.bo.MonitorBo; import com.sandu.ximon.dao.domain.Client; import com.sandu.ximon.dao.domain.IpVolumeFile; import com.sandu.ximon.dao.domain.LEDProgram; import com.sandu.ximon.dao.domain.PoleLightemitEntity; import com.sandu.ximon.dao.mapper.MonitorMapper; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; /** * 绑定设备时获取硬件列表的controller * * @author ZZQ * @date 2022/5/27 9:41 */ @RestController @AllArgsConstructor @RequestMapping("/v1/getListOnBinding") public class GetListOnBindingController { /** * 客户列表 */ @GetMapping("/getClientList") public ResponseVO getClientList() { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(Client.class); //非超管只能看到自己下属的客户信息 if (SecurityUtils.getClientId() != null) { wrapper.eq(Client::getSuperiorId, SecurityUtils.getUserId()); } List list = SpringContextHolder.getBean(ClientService.class).list(wrapper); List mapList = new ArrayList<>(); Map map; for (Client bean : list) { map = new LinkedHashMap(); map.put("id", bean.getId()); map.put("clientName", bean.getClientName()); mapList.add(map); } return ResponseUtil.success(mapList); } /** * 摄像头列表 * * @return */ private final MonitorMapper monitorMapper; @GetMapping("/getMonitorList") public ResponseVO getMonitorList() { List monitorBos; //超管 if (SecurityUtils.getClientId() == null) { monitorBos = monitorMapper.listMonitorDeviceSerial1(null, null, 2); } else { monitorBos = monitorMapper.listMonitorDeviceSerial1(SecurityUtils.getUserId(), null, 2); } List mapList = new ArrayList<>(); Map map; for (MonitorBo bean : monitorBos) { map = new LinkedHashMap(); map.put("id", bean.getId()); map.put("deviceSerial", bean.getDeviceSerial()); map.put("poleId", bean.getPoleId()); map.put("poleName", bean.getPoleName()); map.put("note", bean.getNote()); mapList.add(map); } return ResponseUtil.success(mapList); } private final IpVolumeFileService ipVolumeFileService; /** * 音柱广播素材列表 * * @return */ @GetMapping("/getIpFileList") public ResponseVO getIpFileList() { List ipVolumeFiles = ipVolumeFileService.listFiles(); List mapList = new ArrayList<>(); Map map; for (IpVolumeFile bean : ipVolumeFiles) { map = new LinkedHashMap(); map.put("id", bean.getId()); map.put("fileName", bean.getFileName()); mapList.add(map); } return ResponseUtil.success(mapList); } private final IpVolumeService ipVolumeService; /** * 音柱列表 * * @return */ @GetMapping("/getIpVolumeList") public ResponseVO getIpVolumeList() { BroadcastTerminalV2Param param = new BroadcastTerminalV2Param(); param.setBindingState(2); param.setKeyword(null); param.setWorkState(2); List broadcastTerminalList = ipVolumeService.getBroadcastTerminalList(null, param); List mapList = new ArrayList<>(); Map map; for (BroadcastTerminalV2EntityBo bean : broadcastTerminalList) { map = new LinkedHashMap(); map.put("id", bean.getId()); map.put("terminalName", bean.getTerminalName()); map.put("status", bean.getStatus()); map.put("poleId", bean.getPoleId()); map.put("PoleName", bean.getPoleName()); mapList.add(map); } return ResponseUtil.success(mapList); } private final PoleLightemitService sLedService; /** * SLED列表 * * @return */ @GetMapping("/getSledList") public ResponseVO getSledList() { List poleLightemitEntities = sLedService.listLed(null, false); List mapList = new ArrayList<>(); Map map; for (PoleLightemitEntity bean : poleLightemitEntities) { map = new LinkedHashMap(); map.put("lightemitName", bean.getLightemitName()); map.put("lightemitControlCode", bean.getLightemitControlCode()); map.put("isOnLine", bean.isOnLine()); map.put("streetlightId", bean.getPoleId()); map.put("streetlightName", bean.getPoleName()); mapList.add(map); } return ResponseUtil.success(mapList); } private final LEDProgramService ledProgramService; /** * NLED节目列表 * * @return */ @GetMapping("/getNledProgeamList") public ResponseVO getNledProgeamList() { List ledPrograms = ledProgramService.listProgram(null, null); List mapList = new ArrayList<>(); Map map; for (LEDProgram bean : ledPrograms) { map = new LinkedHashMap(); map.put("id", bean.getId()); map.put("name", bean.getName()); mapList.add(map); } return ResponseUtil.success(mapList); } }