package com.ld.igds.lamp.controller; import com.bstek.bdf2.core.business.IUser; import com.ld.igds.constant.BizType; import com.ld.igds.constant.Constant; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.data.PageResponse; import com.ld.igds.io.response.DeviceControlResponse; import com.ld.igds.lamp.LampManager; import com.ld.igds.lamp.dto.LampParam; import com.ld.igds.models.Device; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.FilesUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import java.util.List; /** * @Desc: 照明管理 * @author: Andy * @update-time: 2022/11/27 */ @RestController @RequestMapping("basic/lamp") public class LampController { @Autowired private LampManager lampManager; /** * 默认版本页面,使用鸟瞰图模式 * * @return */ @RequestMapping("/default") public ModelAndView defaultView() { ModelAndView view = new ModelAndView(); IUser user = ContextUtil.getLoginUser(); view.addObject(Constant.MODEL_KEY_LOGIN_USER, user); view.addObject(Constant.MODEL_KEY_BIZ_TYPE, BizType.SECURITY.getCode()); String deptId = ContextUtil.subDeptId(user); view.addObject("deptId", deptId); LampParam param = new LampParam(); param.setCompanyId(user.getCompanyId()); param.setDeptId(deptId); List listDevice = lampManager.listDeviceGroup(param); view.addObject("listDevice", listDevice); // 设置鸟瞰背景图 String aerialImg = FilesUtil.getAerialByDeptId(deptId); view.addObject("backgroundImg", "../../static/img/" + aerialImg); view.setViewName("admin/lamp/lamp-default"); return view; } /** * 获取所有的照明设备 * * @param param * @return */ @RequestMapping("/list-device-group") public @ResponseBody PageResponse> listDeviceGroup(@RequestBody LampParam param) { List list = lampManager.listDeviceGroup(param); if (null == list || list.isEmpty()) { return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "当前库区没有获取到相关设备信息"); } return new PageResponse<>(RespCodeEnum.CODE_0000, list); } /** * 门禁设备设备操作 * * @param param * @return */ @RequestMapping("/control-device") public @ResponseBody DeviceControlResponse deviceCtrl(@RequestBody LampParam param) { return lampManager.deviceCtrl(param); } /*** * 查询门禁备状态查询 * * @param param * @return */ @RequestMapping("/query-status") public DeviceControlResponse queryStatus(@RequestBody LampParam param) { return lampManager.queryDeviceStatus(param); } }