package com.yanzhu.jh.publics; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.annotation.RateLimiter; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.enums.LimitType; import com.yanzhu.jh.video.domain.DevAiProjectDataVO; import com.yanzhu.jh.video.domain.DevBwAiProjectDataVo; import com.yanzhu.jh.video.service.IDevAiProjectDataService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; /** * AIBoxController * 智能盒子 * @author JiangYuQi * @date 2023-07-29 */ @RestController @RequestMapping("/publics/aiBox") public class AIBoxController extends BaseController { @Autowired private IDevAiProjectDataService devAiProjectDataService; private static final Logger logger = LoggerFactory.getLogger("AIBoxController"); /** * aibox推送预警数据【博观】 */ @PostMapping("/v1/push") @RateLimiter(count = 10, limitType = LimitType.IP) public void boGuanPush(@RequestBody Map dataMap) { try{ List> list = (List>)dataMap.get("BehaviorResults"); DevAiProjectDataVO devAiProjectDataVO = JSON.parseObject(JSONObject.toJSONString(list.get(0)), DevAiProjectDataVO.class); devAiProjectDataService.insertHttpDevAiProjectData(devAiProjectDataVO); }catch (Exception e){ logger.info("AiBox解析参数失败!!!"); e.printStackTrace(); } } /** * aibox推送预警数据【博瓦】 */ @PostMapping("/v2/push") public void boWaPush(@RequestBody DevBwAiProjectDataVo data) { try{ logger.info("BOWAN...{}"); devAiProjectDataService.insertHttpBwDevAiProjectData(data); }catch (Exception e){ logger.info("BW...AiBox解析参数失败!!!"); e.printStackTrace(); } } }