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.security.SecurityUtils; import com.sandu.ximon.admin.service.ClientService; import com.sandu.ximon.dao.bo.MonitorBo; import com.sandu.ximon.dao.domain.Client; 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); } }