zhongrj
2024-04-24 e1886ba4b5f6ed4b4e14117985ba95802c36d2e1
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkEventController.java
@@ -1,24 +1,26 @@
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.*;
@@ -34,7 +36,71 @@
@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);
   }
   /**
    * 海康视频事件订阅
@@ -83,15 +149,13 @@
    */
   @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");