wl
2022-12-13 3cf5e9483f60c94d29df1a79bc0c1ca910ca46ef
fix: 执法事件对外接口
10个文件已修改
94 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/ViolationsMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/TrendVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
@@ -2,9 +2,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ycl.api.CommonResult;
import com.ycl.dto.trend.TrendAnalysisParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.Violations;
import com.ycl.mapper.trend.TrendAnalysisMapper;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.trend.TrendAnalysisService;
import com.ycl.util.CheckApiUtil;
import com.ycl.vo.TrendVo;
import com.ycl.vo.cockpit.CockpitVO;
import com.ycl.vo.cockpit.enforcementEvents.EnforcementEventsVO;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
@@ -23,6 +29,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @author Lyq
@@ -38,6 +45,10 @@
    @Autowired
    IBaseCaseService iBaseCaseService;
    @Autowired
    IViolationsService iViolationsService;
    @Autowired
    TrendAnalysisMapper trendAnalysisMapper;
    @ApiOperation(value = "执法事件统计")
    @GetMapping("/statistics")
@@ -60,24 +71,11 @@
    public CommonResult type(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        EnforcementEventsVO.TypeAndSourceVO typeAndSourceVO = new EnforcementEventsVO.TypeAndSourceVO();
        Long allCount = iBaseCaseService.count();
        Long violationCount = iBaseCaseService.count(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getCategory, "1"));
        Long illegalBuildingCount = iBaseCaseService.count(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getCategory, "2"));
        ArrayList<VideoAndAreaVO> typeAndSourceVO1s = new ArrayList<>();
        VideoAndAreaVO violationVO1 = new VideoAndAreaVO();
        violationVO1.setName("违规");
        violationVO1.setCount(violationCount);
        violationVO1.setRatio(new BigDecimal(violationCount * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP));
        VideoAndAreaVO illegalBuildingVO1 = new VideoAndAreaVO();
        illegalBuildingVO1.setName("违建");
        illegalBuildingVO1.setCount(illegalBuildingCount);
        illegalBuildingVO1.setRatio(new BigDecimal(illegalBuildingCount * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP));
        typeAndSourceVO1s.add(violationVO1);
        typeAndSourceVO1s.add(illegalBuildingVO1);
        typeAndSourceVO.setRecords(typeAndSourceVO1s);
        typeAndSourceVO.setAll(allCount);
        System.out.println(illegalBuildingCount / allCount);
        Long count = iViolationsService.count();
        typeAndSourceVO.setAll(iViolationsService.count());
        List<VideoAndAreaVO> videoAndAreaVOS = iViolationsService.selectType();
        videoAndAreaVOS.stream().forEach(item->item.setRatio(new BigDecimal(item.getCount()*1.0/count).setScale(2,BigDecimal.ROUND_HALF_UP)));
        typeAndSourceVO.setRecords(videoAndAreaVOS);
        return CommonResult.success(typeAndSourceVO);
    }
@@ -85,16 +83,15 @@
    @GetMapping("/video")
    public CommonResult video(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<VideoAndAreaVO> videoVOS = new ArrayList<>();
        VideoAndAreaVO videoVO = null;
        for (int i = 0; i < 4; i++) {
            videoVO = new VideoAndAreaVO();
            videoVO.setName("团结屯");
            videoVO.setCount(10L);
            videoVO.setRatio(new BigDecimal("0.65").setScale(2, RoundingMode.HALF_UP));
            videoVOS.add(videoVO);
        }
        return CommonResult.success(videoVOS);
        Long count = iViolationsService.count(new LambdaQueryWrapper<Violations>().isNotNull(Violations::getVideoPointId));
        List<VideoAndAreaVO> collect = trendAnalysisMapper.selectTrendInfo(new TrendAnalysisParam()).stream().map(item -> {
            VideoAndAreaVO videoAndAreaVO = new VideoAndAreaVO();
            videoAndAreaVO.setName(item.getName());
            videoAndAreaVO.setCount(item.getCount());
            videoAndAreaVO.setRatio(new BigDecimal(item.getCount() * 1.0 / count).setScale(2, BigDecimal.ROUND_HALF_UP));
            return videoAndAreaVO;
        }).collect(Collectors.toList());
        return CommonResult.success(collect);
    }
    @ApiOperation(value = "事件来源")
ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java
@@ -28,8 +28,8 @@
    @ApiOperation("点位数据查询")
    @GetMapping("/pointInfo")
    public CommonResult<List<TrendVo>> queryPointInfo(@RequestParam String longitude,
                                                      @RequestParam String latitude) {
    public CommonResult<List<TrendVo>> queryPointInfo(@RequestParam(required = false) String longitude,
                                                      @RequestParam(required = false) String latitude) {
        return CommonResult.success(trendAnalysisService.queryPointInfo(longitude,latitude));
    }
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
@@ -58,4 +58,6 @@
    List<VideoAndAreaVO> areaCount();
    List<DelayDO> selectDelayVOList();
    List<VideoAndAreaVO> selectType();
}
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/ViolationsMapper.java
@@ -17,5 +17,4 @@
public interface ViolationsMapper extends BaseMapper<Violations> {
    ViolationsVO selectCondMap(Map map);
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
@@ -86,4 +86,4 @@
    List<VideoAndAreaVO> areaCount();
    List<DelayVO> selectDelayList();
}
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java
@@ -3,6 +3,7 @@
import com.ycl.entity.caseHandler.Violations;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
import java.util.List;
@@ -25,4 +26,6 @@
     * @date 2022-09-26 17:25
     */
    void saveFromVideo(List<VideoAlarmReport> videoAlarmReports);
    List<VideoAndAreaVO> selectType();
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -508,4 +508,5 @@
        });
        return delayVOS;
    }
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -8,13 +8,16 @@
import com.ycl.entity.caseHandler.Violations;
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.entity.video.VideoPoint;
import com.ycl.mapper.caseHandler.BaseCaseMapper;
import com.ycl.mapper.caseHandler.ViolationsMapper;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.video.impl.IVideoPointService;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@@ -31,6 +34,9 @@
    private IVideoPointService videoPointService;
    private IBaseCaseService baseCaseService;
    @Resource
    BaseCaseMapper baseCaseMapper;
    @Autowired
    public void setVideoPointService(IVideoPointService videoPointService) {
@@ -58,7 +64,7 @@
                baseCase.setLongitude(videoPoint.getLongitude());
                baseCase.setStreetId(videoPoint.getStreetId());
                baseCase.setCommunityId(videoPoint.getCommunityId());
                baseCase.setSite(videoPoint.getAddress());
            }
            baseCaseService.save(baseCase);
            violations.setId(baseCase.getId());
@@ -67,4 +73,9 @@
            baseMapper.insert(violations);
        }
    }
}
    @Override
    public List<VideoAndAreaVO> selectType() {
        return  baseCaseMapper.selectType();
    }
}
ycl-platform/src/main/java/com/ycl/vo/TrendVo.java
@@ -18,7 +18,7 @@
    private String name;
    @ApiModelProperty(value = "报警数量")
    private String count;
    private Long count;
    @ApiModelProperty(value = "报警日期")
    private String dateTime;
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -329,4 +329,15 @@
                 LEFT JOIN ums_violations t3 on t1.id = t3.id
        WHERE t2.workflow_config_step_id IN (1, 2)
    </select>
    <select id="selectType" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
        SELECT
            IFNULL( t2.`name`, "其他" ) as name,
            COUNT( 1 )  as count
        FROM
            ums_violations t1
                LEFT JOIN ums_data_dictionary t2 ON t1.category_id = t2.id
        GROUP BY
            t1.category_id
    </select>
</mapper>