zhanghua
2023-03-16 a683718557e1e706ffcd12ecf326397714ac9475
驾驶舱接口
16个文件已修改
1个文件已添加
144 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/equipment/OrgGridMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/equipment/IOrgGridService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/equipment/impl/OrgGridServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/VideoVO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/GridMapVO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/equipment/OrgGridMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java
@@ -59,6 +59,7 @@
    @Autowired
    IEfficiencyService iEfficiencyService;
    @ApiOperation(value = "监测数据")
    @GetMapping("/detection")
    public CommonResult<AIIotVO.DetectionVO> detection(@Validated CockpitVO params) {
@@ -66,7 +67,7 @@
        AIIotVO.DetectionVO detectionVO = new AIIotVO.DetectionVO();
        detectionVO.setVideo(iVideoPointService.count());
        detectionVO.setIndividual(iHandheldTerminalService.count());
        detectionVO.setLampblack(154L);
        detectionVO.setLampblack(iEfficiencyService.getSmokeCustomer());
        /// TODO: 2022/12/13 缺少油烟机监控表
        detectionVO.setLoudspeaker(loudspeakerService.count());
        detectionVO.setSlagCar(iCarSlagcarService.count());
@@ -91,6 +92,7 @@
            videoVO.setLatitude(item.getLatitude() != null ? item.getLatitude().toString() : "");
            videoVO.setLongitude(item.getLongitude() != null ? item.getLongitude().toString() : "");
            videoVO.setResourceId(item.getPlatResourceId());
            videoVO.setCode(item.getCode());
            return videoVO;
        }).collect(Collectors.toList());
@@ -117,9 +119,11 @@
    @GetMapping("/slag_car")
    public CommonResult<AIIotVO.SlagCarVO> slagCar(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        AIIotVO.SlagCarVO slagCarVO = new AIIotVO.SlagCarVO();
        slagCarVO.setCar(236);
        slagCarVO.setTeam(20);
        slagCarVO.setCar(iCarSlagcarService.count());
        slagCarVO.setTeam(0L);
        return CommonResult.success(slagCarVO);
    }
ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
@@ -7,9 +7,11 @@
import com.ycl.entity.cockpitManage.TeamConstruction;
import com.ycl.entity.cockpitManage.TeamIndex;
import com.ycl.service.cockpitManage.ITeamConstructionService;
import com.ycl.service.equipment.IOrgGridService;
import com.ycl.service.video.impl.IVideoPointService;
import com.ycl.util.CheckApiUtil;
import com.ycl.vo.cockpit.CockpitVO;
import com.ycl.vo.cockpit.statisticsEvents.GridMapVO;
import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO;
import com.ycl.vo.equipment.VideoPointVo;
import io.swagger.annotations.Api;
@@ -42,6 +44,8 @@
    private ITeamConstructionService teamConstructionService;
    private IOrgGridService orgGridService;
    @Autowired
    public void setTeamConstructionService(ITeamConstructionService teamConstructionService) {
        this.teamConstructionService = teamConstructionService;
@@ -50,6 +54,11 @@
    @Autowired
    public void setVideoPointService(IVideoPointService videoPointService) {
        this.videoPointService = videoPointService;
    }
    @Autowired
    public void setOrgGridService(IOrgGridService orgGridService) {
        this.orgGridService = orgGridService;
    }
    @ApiOperation(value = "执法事件")
@@ -182,6 +191,14 @@
        return CommonResult.success(page.getRecords());
    }
    @ApiOperation(value = "网格地图")
    @GetMapping("/grid_map")
    public CommonResult<List<GridMapVO>> gridMap(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<GridMapVO> list = orgGridService.statisticsGridMap(params.getBeginTime(), params.getEndTime());
        return CommonResult.success(list);
    }
    @ApiOperation(value = "队伍建设")
    @GetMapping("/team_construction")
ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java
@@ -191,6 +191,10 @@
    @ApiModelProperty(value = "结束时间")
    private LocalDateTime closeTime;
    @TableField(value = "grid_id")
    @ApiModelProperty(value = "网格id")
    private Long gridId;
    /**
     * 违规事件
     */
@@ -213,4 +217,5 @@
    private DispatchInfo dispatchInfo;
}
ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java
@@ -10,6 +10,7 @@
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@@ -108,4 +109,9 @@
    @TableField("code")
    private String code;
    @TableField(value = "grid_id")
    @ApiModelProperty(value = "网格id")
    private Long gridId;
}
ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java
@@ -11,4 +11,6 @@
    List<EfficiencyDto> list();
    List<AIIotStatisticsVO> aiMonthList();
    Long getSmokeCustomer();
}
ycl-platform/src/main/java/com/ycl/mapper/equipment/OrgGridMapper.java
@@ -2,7 +2,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.entity.equipment.OrgGrid;
import com.ycl.vo.cockpit.statisticsEvents.GridMapVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -15,4 +19,5 @@
@Mapper
public interface OrgGridMapper extends BaseMapper<OrgGrid> {
    List<GridMapVO> statisticsGridMap(@Param("beginTime") String beginTime, @Param("endTime") String endTime);
}
ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java
@@ -2,6 +2,7 @@
import com.ycl.dto.allot.EfficiencyDto;
import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO;
import com.ycl.vo.cockpit.aiIot.AIIotVO;
import java.util.List;
@@ -10,4 +11,6 @@
    List<EfficiencyDto> list();
    List<AIIotStatisticsVO> aiMonthList();
    Long getSmokeCustomer();
}
ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java
@@ -4,6 +4,7 @@
import com.ycl.mapper.allot.EfficiencyMapper;
import com.ycl.service.allot.IEfficiencyService;
import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO;
import com.ycl.vo.cockpit.aiIot.AIIotVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -23,4 +24,10 @@
    public List<AIIotStatisticsVO> aiMonthList() {
        return efficiencyMapper.aiMonthList();
    }
    @Override
    public Long getSmokeCustomer() {
        return efficiencyMapper.getSmokeCustomer();
    }
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -66,6 +66,7 @@
                baseCase.setStreetId(videoPoint.getStreetId());
                baseCase.setCommunityId(videoPoint.getCommunityId());
                baseCase.setSite(videoPoint.getAddress());
                baseCase.setGridId(videoPoint.getGridId());
                baseCaseService.save(baseCase);
                violations.setId(baseCase.getId());
ycl-platform/src/main/java/com/ycl/service/equipment/IOrgGridService.java
@@ -3,7 +3,10 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.equipment.OrgGrid;
import com.ycl.vo.cockpit.statisticsEvents.GridMapVO;
import com.ycl.vo.equipment.HandheldTerminalVo;
import java.util.List;
/**
 * <p>
@@ -16,4 +19,6 @@
public interface IOrgGridService extends IService<OrgGrid> {
    IPage<OrgGrid> search(Integer pageSize, Integer current, String name);
    List<GridMapVO> statisticsGridMap(String beginTime, String endTime);
}
ycl-platform/src/main/java/com/ycl/service/equipment/impl/OrgGridServiceImpl.java
@@ -11,8 +11,11 @@
import com.ycl.entity.equipment.OrgGrid;
import com.ycl.mapper.equipment.OrgGridMapper;
import com.ycl.service.equipment.IOrgGridService;
import com.ycl.vo.cockpit.statisticsEvents.GridMapVO;
import com.ycl.vo.equipment.HandheldTerminalVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -34,4 +37,9 @@
        return baseMapper.selectPage(page, queryWrapper);
    }
    @Override
    public List<GridMapVO> statisticsGridMap(String beginTime, String endTime) {
        return baseMapper.statisticsGridMap(beginTime, endTime);
    }
}
ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java
@@ -45,8 +45,8 @@
            sb.append(params.getStreetId());
        }
        result = MD5Util.md5Encrypt32Lower(sb.toString());
        // if (!params.getSign().equals(result)) {
        //     throw new ApiException(ResultCode.SIGN_ERROR);
        // }
         if (!params.getSign().equals(result)) {
             throw new ApiException(ResultCode.SIGN_ERROR);
         }
    }
}
ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java
@@ -48,10 +48,10 @@
    @Data
    public static class SlagCarVO {
        @ApiModelProperty(value = "车队数")
        private Integer team;
        private Long team;
        @ApiModelProperty(value = "车辆数")
        private Integer car;
        private Long car;
    }
ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/VideoVO.java
@@ -1,5 +1,6 @@
package com.ycl.vo.cockpit.aiIot;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -23,4 +24,11 @@
    private String ip;
    @ApiModelProperty(value = "URL地址")
    private String url;
    /**
     * 设备码
     */
    @ApiModelProperty(value = "设备码")
    private String code;
}
ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/GridMapVO.java
New file
@@ -0,0 +1,29 @@
package com.ycl.vo.cockpit.statisticsEvents;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(description = "网格地图")
@Data
public class GridMapVO {
    @ApiModelProperty(value = "网格名称")
    private String name;
    @ApiModelProperty(value = "网格内各类设备数量")
    private Integer videoCount;
    @ApiModelProperty(value = "网格内事件总数")
    private Integer eventCount;
    @ApiModelProperty(value = "ai事件数量")
    private Integer aiCount;
    @ApiModelProperty(value = "网格上报事件数量")
    private Integer handCount;
    public Integer getHandCount() {
        return this.eventCount - this.aiCount;
    }
}
ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml
@@ -44,4 +44,8 @@
        GROUP BY
            t4.id,DATE_FORMAT(alarm_time,'%Y-%m')
    </select>
    <select id="getSmokeCustomer" resultType="java.lang.Long">
        select count(1) total from ums_ods_customer
    </select>
</mapper>
ycl-platform/src/main/resources/mapper/equipment/OrgGridMapper.xml
@@ -15,5 +15,29 @@
    <sql id="Base_Column_List">
        id, worker, contact, area, region
    </sql>
    <select id="statisticsGridMap" resultType="com.ycl.vo.cockpit.statisticsEvents.GridMapVO">
        SELECT
            *
        FROM
            (
                SELECT
                    og.id,
                    og.`name`,
                    COUNT( DISTINCT v.id ) eventCount ,
                    sum(case WHEN v.video_point_id is not null then 1 else 0 END ) aiCount
                FROM
                    ums_org_grid og
                        LEFT JOIN ums_base_case bc ON og.id = bc.grid_id
                        LEFT JOIN ums_violations v ON v.id = bc.id
                    <if test="beginTime!=null">
                      and  bc.alarm_time BETWEEN #{beginTime} and #{endTime}
                    </if>
                GROUP BY
                    og.id,
                    og.`name`
            ) v_case
                LEFT JOIN ( SELECT grid_id, COUNT( id ) videoCount FROM ums_video_point GROUP BY grid_id ) AS v_video ON v_case.id = v_video.grid_id
    </select>
</mapper>