hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/controller/HelmetController.java
@@ -1,5 +1,6 @@ package com.thhy.materials.modules.biz.helmet.controller; import com.alibaba.fastjson.JSONObject; import com.thhy.general.common.BasicResult; import com.thhy.materials.modules.biz.helmet.service.HelmetService; import org.apache.ibatis.annotations.Mapper; @@ -44,7 +45,7 @@ //接数据 //接数据 环境监测 数据 @PostMapping("/dataValueInsert") public BasicResult dataValueInsert(@RequestBody Map<String,Object> values){ return helmetService.dataValueInsert(values); @@ -82,6 +83,16 @@ public BasicResult dataValuesList(@RequestBody Map<String,Object> values){ return helmetService.dataValuesList(values); } //AI边缘盒子 数据接收 @PostMapping("/dataBox") public BasicResult dataBox(@RequestBody String message){ /** 将String转换为JSON **/ JSONObject result= JSONObject.parseObject(message); System.out.println("--------接收的参数为 :---------------"+result); Integer type = Integer.valueOf(result.get("type").toString()); return helmetService.dataBox(result); } } hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/entity/TDataAi.java
对比新文件 @@ -0,0 +1,422 @@ package com.thhy.materials.modules.biz.helmet.entity; import lombok.Data; import lombok.Getter; import lombok.Setter; import lombok.ToString; import java.io.Serializable; @Data @Getter @Setter @ToString public class TDataAi implements Serializable { /** * */ private Integer aiId; /** * RTSP流 */ private String rtspUrl; /** * 盒子的id */ private Integer boxId; /** * 预警消息类型(参数 类型见参数类型书 名) */ private Integer type; /** * 预警消息名称 */ private String typeName; /** * 盒子的名称 */ private String boxName; /** * 摄像头名称 */ private String deviceName; /** * 设备编号 */ private String deviceId; /** * 摄像头编码 */ private String channelNo; /** * 企业编码 */ private String enterCode; /** * 企业名称 */ private String enterName; /** * 抓拍时间 */ private String signTime; /** * x坐标 */ private Integer x; /** * y坐标 */ private Integer y; /** * w坐标 */ private Integer w; /** * h坐标 */ private Integer h; /** * */ private String messagerType; /** * (仅电 动车检 测才返 回)是否是电动车,1是,2 否 */ private Integer eBike; /** * (仅烟 火检测 才会返 回)是否有烟,1是,2否 */ private Integer smoke; /** * (仅烟 火检测 才会返 回)是否有火,1是,2否 */ private Integer fire; /** * (仅离 岗检测 才会返 回)是否离岗,1是,2否 */ private Integer isExist; /** * (仅检 测灭火 器才会 返回)是否是灭火器1是,2否 */ private Integer ext; /** * (仅油 罐车检 测才会 返回)是否是油罐车1是,2否 */ private Integer tanker; /** * (仅检 测杂物 堆积才 会)是否杂物堆积1是,2否 */ private Integer sudire; /** * (仅检 测消防 通道占 用才 会)是否消防通道占用1是, 2否 */ private Integer fireControl; /** * (仅检 测摄像 头遮挡 才会)是否摄像头遮挡1是,2 否 */ private Integer cover; /** * (仅车 辆检测 才会返 回)车牌号码 */ private String licensePlateNumber; /** * (仅车 辆检测 才会返 回)是否违停 */ private Integer illegalParking; /** * (仅人 脸检测 才会返 回)年龄 */ private Integer age; /** * (仅人 脸检测 才会返 回)性别,0男,1女 */ private Integer gender; /** * (仅人 脸检测 才会返 回)是否佩戴眼镜,1否,2 是 */ private Integer glasses; /** * (仅人 脸检测 才会返 回)是否佩戴口罩,1否,2 是 */ private Integer mask; /** * (仅人 脸检测 才会返 回)人脸认证照片base64 */ private String certifiedAvatarUrl; /** * (仅人 脸检测 才会返 回)人脸唯一ID */ private Integer faceId; /** * (仅人 脸检测 才会返 回)人脸库类型,1黑名单, 2白名单 */ private Integer personType; /** * */ private String passStatus; /** * (仅人 脸检测 才会返 回)人脸最大分数 */ private String faceMaxSorce; /** * (仅人 体,人 脸检测 才会返 回)人员姓名 */ private String personName; /** * (仅人 体,人 脸检测 才会返 回)跟踪id */ private Integer trackId; /** * (仅人 体,人 脸检测 才会返 回)分数 */ private String score; /** * (仅人 体检测 才会返 回)人体数量 */ private Integer count; /** * (仅人 体检测 才会返 回)是否抽烟,1是,2否 */ private Integer smoking; /** * (仅人 体检测 才会返 回)是否入侵,1是,2否 */ private Integer isInQuadrangle; /** * (仅人 体检测 才会返 回)是否翻越围栏,1是,2 否 */ private Integer climbFence; /** * (仅人 体检测 才会返 回)是否佩戴安全帽,1是, 2否 */ private Integer safetyHat; /** * (仅人 体检测 才会返 回)是否穿反光衣,1是,2 否 */ private Integer reflective; /** * (仅人 体检测 才会返 回)是否打电话,1是,2否 */ private Integer calling; /** * (仅人 体检测 才会返 回)是否聚集,1是,2否 */ private Integer assemble; /** * (仅人 体检测 才会返 回)是否穿工装,1是,2否 */ private Integer isTooling; /** * (仅人 体检测 才会返 回)是否跌倒,1是,2否 */ private Integer tumble; /** * (仅人 体检测 才会返 回)是否睡岗,1是,2否 */ private Integer sleeping; /** * 规定时间内区域人数统 计 */ private Integer humanCountSum; /** * 业务时长 */ private String businessDurationTime; /** * 今日进入总人数 */ private Integer pinCountSum; /** * 今日出去总人数 */ private Integer poutCountSum; /** * 当前进入人数 */ private Integer pinSingle; /** * 当前出去人数 */ private Integer poutSingle; /** * This field was generated by MyBatis Generator. * This field corresponds to the database table t_data_ai * * @mbg.generated Wed Nov 01 09:22:27 CST 2023 */ private static final long serialVersionUID = 1L; } hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/mapper/HelmetMapper.java
@@ -53,4 +53,6 @@ List<TDataSmock> dataSmockList(Map<String, Object> values); List<TDataValue> dataValuesList(Map<String, Object> values); void dataBox(TDataAi tDataAi); } hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/service/HelmetService.java
@@ -1,5 +1,6 @@ package com.thhy.materials.modules.biz.helmet.service; import com.alibaba.fastjson.JSONObject; import com.thhy.general.common.BasicResult; import com.thhy.materials.modules.biz.helmet.entity.*; @@ -47,4 +48,6 @@ BasicResult dataSmockList(Map<String, Object> values); BasicResult dataValuesList(Map<String, Object> values); BasicResult dataBox(JSONObject result); } hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/service/impl/HelmetServiceImpl.java
@@ -1,5 +1,6 @@ package com.thhy.materials.modules.biz.helmet.service.impl; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.thhy.general.common.BasicResult; @@ -159,4 +160,79 @@ PageInfo<TDataValue> tDataValuePageInfo = new PageInfo<>(dataSmocks); return BasicResult.success(tDataValuePageInfo); } @Override public BasicResult dataBox(JSONObject result) { Integer type = Integer.valueOf(result.get("type").toString()); TDataAi tDataAi = new TDataAi(); //公共参数 tDataAi.setType(type); tDataAi.setTypeName(result.get("typeName").toString()); tDataAi.setRtspUrl(result.getString("rtspUrl")); tDataAi.setBoxId(Integer.valueOf(result.get("boxId").toString())); tDataAi.setBoxName(result.get("boxName").toString()); tDataAi.setDeviceName(result.get("deviceName").toString()); tDataAi.setDeviceId(result.get("deviceId").toString()); tDataAi.setEnterName(result.get("enterName").toString()); tDataAi.setEnterCode(result.get("enterCode").toString()); //图片上传 //上边缺少图片处理 tDataAi.setSignTime(result.get("signTime").toString()); tDataAi.setChannelNo(result.get("channelNo").toString()); tDataAi.setX(result.getIntValue("x")); tDataAi.setY(result.getIntValue("y")); tDataAi.setW(result.getIntValue("w")); tDataAi.setH(result.getIntValue("h")); if(type==1){//人脸 tDataAi.setAge(result.getIntValue("age")); tDataAi.setGender(result.getIntValue("gender")); tDataAi.setGlasses(result.getIntValue("glasses")); tDataAi.setMask(result.getIntValue("mask")); //人脸照片 base64 (需要解密) tDataAi.setCertifiedAvatarUrl(result.getString("certifiedAvatarURL")); tDataAi.setFaceId(result.getIntValue("faceId")); tDataAi.setPersonType(result.getIntValue("personType")); tDataAi.setFaceMaxSorce(result.getString("faceMaxSorce")); tDataAi.setPersonName(result.getString("personName")); }else if(type==2){//人体 }else if(type==3){//车辆 tDataAi.setLicensePlateNumber(result.getString("licensePlateNumber")); tDataAi.setIllegalParking(result.getIntValue("illegalParking")); }else if(type==4){//电动车 tDataAi.setEBike(result.getIntValue("eBike")); }else if(type==5){//烟火 tDataAi.setSmoke(result.getIntValue("smoke")); tDataAi.setFire(result.getIntValue("fire")); }else if(type==6){//离岗 tDataAi.setIsExist(result.getIntValue("isExist")); }else if(type==8){//灭火器 tDataAi.setExt(result.getIntValue("ext")); }else if(type==10){//油罐车 tDataAi.setTanker(result.getIntValue("tanker")); }else if(type==16){//睡岗 // } else if(type==23){//杂物堆积 tDataAi.setSudire(result.getIntValue("sudire")); }else if(type==24){//摄像头遮挡 tDataAi.setCover(result.getIntValue("cover")); }else if(type==26){//消防通道占用 tDataAi.setFireControl(result.getIntValue("fireControl")); } helmetMapper.dataBox(tDataAi); return BasicResult.success(); } } hd/pipe/materialsManage/src/main/resources/mapping/THelmetDeviceMapper.xml
@@ -696,31 +696,33 @@ <select id="dataSmockList" resultType="com.thhy.materials.modules.biz.helmet.entity.TDataSmock"> select smoke_id as smokeId, gateway_cyc as gatewayCyc, FanS as fans, V1Run as v1run, UV1Run as uv1run, FanRun as fanrun, UV2Run as uv2run, SSVRun as ssvrun, DP as dp, T as t, OC as oc, gatew as gatew, NXRun as nxrun, Alarm as alarm, times as times, RTC_VOLT as rtcVolt, V2Run as v2run, DXQVRun as dxqvrun, Press as press, Dc as dc `time` as `time`, I00 as i00, I01 as i01, I02 as i02, I03 as i03, I04 as i04, I05 as i05, I06 as i06, I07 as i07, I10 as i10, I11 as i11, Q00 as q00, Q01 as q01, Q02 as q02, Q03 as q03, Q04 as q04, Q05 as q05, VB0 as vb0, VB10 as vb10, VB11 as vb11, VB12 as vb12 from t_data_smock where 1=1 <if test="strTime!=null and endTime!=null and strTime!='' and endTime!='' "> and times between #{strTime} and #{endTime} and `time` between #{strTime} and #{endTime} </if> order by times desc order by `time` desc </select> <select id="dataValuesList" resultType="com.thhy.materials.modules.biz.helmet.entity.TDataValue"> select @@ -750,5 +752,383 @@ </if> order by upload_time desc </select> <insert id="dataBox" > insert into t_data_ai <trim prefix="(" suffix=")" suffixOverrides=","> <if test="aiId != null"> ai_id, </if> <if test="rtspUrl != null"> rtsp_url, </if> <if test="boxId != null"> box_id, </if> <if test="type != null"> type, </if> <if test="typeName != null"> type_name, </if> <if test="boxName != null"> box_name, </if> <if test="deviceName != null"> device_name, </if> <if test="deviceId != null"> device_id, </if> <if test="channelNo != null"> channel_no, </if> <if test="enterCode != null"> enter_code, </if> <if test="enterName != null"> enter_name, </if> <if test="signTime != null"> sign_time, </if> <if test="x != null"> x, </if> <if test="y != null"> y, </if> <if test="w != null"> w, </if> <if test="h != null"> h, </if> <if test="messagerType != null"> messager_type, </if> <if test="eBike != null"> e_bike, </if> <if test="smoke != null"> smoke, </if> <if test="fire != null"> fire, </if> <if test="isExist != null"> is_exist, </if> <if test="ext != null"> ext, </if> <if test="tanker != null"> tanker, </if> <if test="sudire != null"> sudire, </if> <if test="fireControl != null"> fire_control, </if> <if test="cover != null"> cover, </if> <if test="licensePlateNumber != null"> license_plate_number, </if> <if test="illegalParking != null"> illegal_parking, </if> <if test="age != null"> age, </if> <if test="gender != null"> gender, </if> <if test="glasses != null"> glasses, </if> <if test="mask != null"> mask, </if> <if test="certifiedAvatarUrl != null"> certified_avatar_url, </if> <if test="faceId != null"> face_id, </if> <if test="personType != null"> person_type, </if> <if test="passStatus != null"> pass_status, </if> <if test="faceMaxSorce != null"> face_max_sorce, </if> <if test="personName != null"> person_name, </if> <if test="trackId != null"> track_id, </if> <if test="score != null"> score, </if> <if test="count != null"> count, </if> <if test="smoking != null"> smoking, </if> <if test="isInQuadrangle != null"> is_in_quadrangle, </if> <if test="climbFence != null"> climb_fence, </if> <if test="safetyHat != null"> safety_hat, </if> <if test="reflective != null"> reflective, </if> <if test="calling != null"> calling, </if> <if test="assemble != null"> assemble, </if> <if test="isTooling != null"> is_tooling, </if> <if test="tumble != null"> tumble, </if> <if test="sleeping != null"> sleeping, </if> <if test="humanCountSum != null"> human_count_sum, </if> <if test="businessDurationTime != null"> business_duration_time, </if> <if test="pinCountSum != null"> pin_count_sum, </if> <if test="poutCountSum != null"> pout_count_sum, </if> <if test="pinSingle != null"> pin_single, </if> <if test="poutSingle != null"> pout_single, </if> <if test="signBigAvatar != null"> sign_big_avatar, </if> <if test="signAvatar != null"> sign_avatar, </if> <if test="videoBase64 != null"> video_base64, </if> <if test="humanCoor != null"> human_coor, </if> <if test="faceAttrSum != null"> face_attr_sum, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="aiId != null"> #{aiId,jdbcType=INTEGER}, </if> <if test="rtspUrl != null"> #{rtspUrl,jdbcType=VARCHAR}, </if> <if test="boxId != null"> #{boxId,jdbcType=INTEGER}, </if> <if test="type != null"> #{type,jdbcType=INTEGER}, </if> <if test="typeName != null"> #{typeName,jdbcType=VARCHAR}, </if> <if test="boxName != null"> #{boxName,jdbcType=VARCHAR}, </if> <if test="deviceName != null"> #{deviceName,jdbcType=VARCHAR}, </if> <if test="deviceId != null"> #{deviceId,jdbcType=VARCHAR}, </if> <if test="channelNo != null"> #{channelNo,jdbcType=VARCHAR}, </if> <if test="enterCode != null"> #{enterCode,jdbcType=VARCHAR}, </if> <if test="enterName != null"> #{enterName,jdbcType=VARCHAR}, </if> <if test="signTime != null"> #{signTime,jdbcType=VARCHAR}, </if> <if test="x != null"> #{x,jdbcType=INTEGER}, </if> <if test="y != null"> #{y,jdbcType=INTEGER}, </if> <if test="w != null"> #{w,jdbcType=INTEGER}, </if> <if test="h != null"> #{h,jdbcType=INTEGER}, </if> <if test="messagerType != null"> #{messagerType,jdbcType=VARCHAR}, </if> <if test="eBike != null"> #{eBike,jdbcType=INTEGER}, </if> <if test="smoke != null"> #{smoke,jdbcType=INTEGER}, </if> <if test="fire != null"> #{fire,jdbcType=INTEGER}, </if> <if test="isExist != null"> #{isExist,jdbcType=INTEGER}, </if> <if test="ext != null"> #{ext,jdbcType=INTEGER}, </if> <if test="tanker != null"> #{tanker,jdbcType=INTEGER}, </if> <if test="sudire != null"> #{sudire,jdbcType=INTEGER}, </if> <if test="fireControl != null"> #{fireControl,jdbcType=INTEGER}, </if> <if test="cover != null"> #{cover,jdbcType=INTEGER}, </if> <if test="licensePlateNumber != null"> #{licensePlateNumber,jdbcType=VARCHAR}, </if> <if test="illegalParking != null"> #{illegalParking,jdbcType=INTEGER}, </if> <if test="age != null"> #{age,jdbcType=INTEGER}, </if> <if test="gender != null"> #{gender,jdbcType=INTEGER}, </if> <if test="glasses != null"> #{glasses,jdbcType=INTEGER}, </if> <if test="mask != null"> #{mask,jdbcType=INTEGER}, </if> <if test="certifiedAvatarUrl != null"> #{certifiedAvatarUrl,jdbcType=VARCHAR}, </if> <if test="faceId != null"> #{faceId,jdbcType=INTEGER}, </if> <if test="personType != null"> #{personType,jdbcType=INTEGER}, </if> <if test="passStatus != null"> #{passStatus,jdbcType=VARCHAR}, </if> <if test="faceMaxSorce != null"> #{faceMaxSorce,jdbcType=VARCHAR}, </if> <if test="personName != null"> #{personName,jdbcType=VARCHAR}, </if> <if test="trackId != null"> #{trackId,jdbcType=INTEGER}, </if> <if test="score != null"> #{score,jdbcType=VARCHAR}, </if> <if test="count != null"> #{count,jdbcType=INTEGER}, </if> <if test="smoking != null"> #{smoking,jdbcType=INTEGER}, </if> <if test="isInQuadrangle != null"> #{isInQuadrangle,jdbcType=INTEGER}, </if> <if test="climbFence != null"> #{climbFence,jdbcType=INTEGER}, </if> <if test="safetyHat != null"> #{safetyHat,jdbcType=INTEGER}, </if> <if test="reflective != null"> #{reflective,jdbcType=INTEGER}, </if> <if test="calling != null"> #{calling,jdbcType=INTEGER}, </if> <if test="assemble != null"> #{assemble,jdbcType=INTEGER}, </if> <if test="isTooling != null"> #{isTooling,jdbcType=INTEGER}, </if> <if test="tumble != null"> #{tumble,jdbcType=INTEGER}, </if> <if test="sleeping != null"> #{sleeping,jdbcType=INTEGER}, </if> <if test="humanCountSum != null"> #{humanCountSum,jdbcType=INTEGER}, </if> <if test="businessDurationTime != null"> #{businessDurationTime,jdbcType=VARCHAR}, </if> <if test="pinCountSum != null"> #{pinCountSum,jdbcType=INTEGER}, </if> <if test="poutCountSum != null"> #{poutCountSum,jdbcType=INTEGER}, </if> <if test="pinSingle != null"> #{pinSingle,jdbcType=INTEGER}, </if> <if test="poutSingle != null"> #{poutSingle,jdbcType=INTEGER}, </if> <if test="signBigAvatar != null"> #{signBigAvatar,jdbcType=LONGVARCHAR}, </if> <if test="signAvatar != null"> #{signAvatar,jdbcType=LONGVARCHAR}, </if> <if test="videoBase64 != null"> #{videoBase64,jdbcType=LONGVARCHAR}, </if> <if test="humanCoor != null"> #{humanCoor,jdbcType=LONGVARCHAR}, </if> <if test="faceAttrSum != null"> #{faceAttrSum,jdbcType=LONGVARCHAR}, </if> </trim> </insert> </mapper>