| | |
| | | package cn.gistack.sm.hk.controller; |
| | | |
| | | |
| | | import cn.gistack.sm.hk.constant.HkConstant; |
| | | import cn.gistack.sm.hk.constant.ProtocolConstant; |
| | | import cn.gistack.sm.hk.service.HkService; |
| | | import cn.gistack.sm.hk.entity.HkEvent; |
| | | import cn.gistack.sm.hk.service.AsyncHkEventService; |
| | | import cn.gistack.sm.hk.service.HkEventService; |
| | | import cn.gistack.sm.hk.vo.EventVO; |
| | | import cn.gistack.sm.hk.vo.HkVO; |
| | | import cn.gistack.sm.hk.vo.HkEventVO; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson.serializer.SerializerFeature; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.Map; |
| | | |
| | | import static cn.gistack.sm.hk.util.GetCameraUtils.*; |
| | | |
| | |
| | | @AllArgsConstructor |
| | | public class HkEventController { |
| | | |
| | | private final HkService hkService; |
| | | private final HkEventService hkEventService; |
| | | private final AsyncHkEventService asyncHkEventService; |
| | | |
| | | /** |
| | | * 分页列表查询 |
| | | * |
| | | * @param hkEvent |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="告警记录-分页列表查询", notes="告警记录-分页列表查询") |
| | | @GetMapping(value = "/list") |
| | | public R queryPageList(HkEvent hkEvent, Query query) { |
| | | IPage<HkEvent> pageList = hkEventService.page(Condition.getPage(query), Condition.getQueryWrapper(hkEvent)); |
| | | return R.data(pageList); |
| | | } |
| | | |
| | | /** |
| | | * 自定义分页列表查询 |
| | | * @param query |
| | | * @param hkEvent |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="告警记录-自定义分页列表查询", notes="告警记录-自定义分页列表查询") |
| | | @GetMapping(value = "/page") |
| | | public R selectAlarmPage(HkEventVO hkEvent, Query query) { |
| | | return R.data(hkEventService.selectHkEventPage(Condition.getPage(query),hkEvent)); |
| | | } |
| | | |
| | | /** |
| | | * 添加 |
| | | * |
| | | * @param hkEvent |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="告警记录-添加", notes="告警记录-添加") |
| | | @PostMapping(value = "/add") |
| | | public R add(@RequestBody HkEvent hkEvent) { |
| | | return R.data(hkEventService.save(hkEvent)); |
| | | } |
| | | |
| | | /** |
| | | * 编辑 |
| | | * |
| | | * @param hkEvent |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="告警记录-编辑", notes="告警记录-编辑") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public R edit(@RequestBody HkEvent hkEvent) { |
| | | return R.data(hkEventService.updateById(hkEvent)); |
| | | } |
| | | |
| | | /** |
| | | * 通过id查询 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="告警记录-通过id查询", notes="告警记录-通过id查询") |
| | | @GetMapping(value = "/queryById") |
| | | public R queryById(@RequestParam(name="id",required=true) String id) { |
| | | HkEvent hkEvent = hkEventService.getById(id); |
| | | return R.data(hkEvent); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 海康视频事件订阅 |
| | |
| | | */ |
| | | @PostMapping(value = "/eventRcv") |
| | | public String eventRcv(@RequestBody String data) { |
| | | Date date = new Date(); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | //格式化输出json |
| | | JSONObject jsonObject = JSON.parseObject(data); |
| | | String prettyData = JSON.toJSONString(jsonObject, SerializerFeature.PrettyFormat, |
| | | SerializerFeature.WriteMapNullValue); |
| | | System.out.println(simpleDateFormat.format(date) + "收到数据:" + System.lineSeparator() + prettyData); |
| | | log.info(simpleDateFormat.format(date) + "收到数据:" + System.lineSeparator() + prettyData); |
| | | |
| | | // 异步保存数据 |
| | | asyncHkEventService.saveHkEventInfo(prettyData); |
| | | // 立即返回 |
| | | JSONObject jsonBody = new JSONObject(); |
| | | jsonBody.put("code", "200"); |
| | | jsonBody.put("msg", "ok"); |