package com.ld.igds.inout.controller; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.data.PageResponse; import com.ld.igds.data.SnapImgDto; import com.ld.igds.inout.dto.ApiInoutData; import com.ld.igds.inout.dto.InoutCameraDto; import com.ld.igds.inout.manager.InoutEventControlManager; import com.ld.igds.models.InoutConf; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; /** * 出入库作业页面,设备相关操作控制层,包括车牌识别,远程读卡器,摄像头,称重主控器远程控制等 * * @author: andy.jia * @description: * @version: */ @RestController @RequestMapping("inout/api") public class InoutApiController { @Resource private InoutEventControlManager inoutEventControl; /** * 获取车牌识别信息 * * @param param 车牌识别数据信息 * @return */ @ResponseBody @RequestMapping("/get-plateNum") public PageResponse getPlateNum(@RequestBody ApiInoutData param) { if (null == param.getIp()) { return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "出入库配置中没有配置如入登记的车牌识别"); } if (StringUtils.isEmpty(param.getProtocol())) { return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "当前车牌识别未配置通讯协议,无法执行"); } param = inoutEventControl.getPlateNum(param); if (StringUtils.isEmpty(param.getErrorMsg())) { return new PageResponse<>(RespCodeEnum.CODE_0000, param); } return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), param.getErrorMsg()); } /** * 获取智慧卡信息 * * @param param 获取智慧卡信息 * @return */ @ResponseBody @RequestMapping("/get-icCard") public PageResponse getIcCard(@RequestBody ApiInoutData param) { if (StringUtils.isEmpty(param.getProtocol())) { return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "当前智慧卡未配置通讯协议,无法执行"); } if (null == param.getIp()) { return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "出入库配置中没有配置智慧卡信息"); } param = inoutEventControl.getIcCardNum(param); if (StringUtils.isEmpty(param.getErrorMsg())) { return new PageResponse<>(RespCodeEnum.CODE_0000, param); } return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), param.getErrorMsg()); } /** * 出入库视频 * * @return */ @RequestMapping("/inout-video-play") public @ResponseBody PageResponse inoutVideoPlay(@RequestBody InoutCameraDto param) { param.setErrorMsg(null); param = inoutEventControl.inoutVideoPlay(param); if (StringUtils.isEmpty(param.getErrorMsg())) { return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "成功", param); } return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), param.getErrorMsg()); } /** * 视频保活 * * @param param * @return */ @RequestMapping("/video-keep-Live") public @ResponseBody PageResponse keepLive(@RequestBody InoutCameraDto param) { String msg = inoutEventControl.videoKeepLive(param); return new PageResponse<>(RespCodeEnum.CODE_0000, msg); } /** * 出入库抓拍 * * @param param * @return */ @RequestMapping("/snap-img") public @ResponseBody PageResponse cutImg(@RequestBody SnapImgDto param) { param = inoutEventControl.snapImg(param); return new PageResponse<>(RespCodeEnum.CODE_0000, param); } /** * 海康Web4.0播放 * * @param id * @param length * @param width * @return */ @RequestMapping("/iframe-hik") public ModelAndView inRegister(@RequestParam(value = "id", required = true) String id, @RequestParam(value = "length", required = true) String length, @RequestParam(value = "width", required = true) String width) { ModelAndView view = new ModelAndView(); // 当前流程节点 view.addObject("id", id); view.addObject("length", length); view.addObject("width", width); InoutConf inoutConf = inoutEventControl.getInoutConf(id); view.addObject("data", inoutConf); view.setViewName("admin/inout/video-hik"); return view; } /** * 调用通知,称重完成 * * @param param * @return */ // @RequestMapping("/notice-weight-done") // public @ResponseBody // PageResponse noticeWeightDone(@RequestBody ApiInoutData param) { // // String msg = inoutEventControl.noticeWeightDone(param); // // return new PageResponse<>(RespCodeEnum.CODE_0000, msg); // } }