wl
2022-12-30 e6b7d6af8f9acf79f32fd386a9cead2d24ae2f9a
ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
@@ -1,15 +1,26 @@
package com.ycl.controller.cockpit.statisticsEvents;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.api.CommonResult;
import com.ycl.entity.cockpitManage.TeamConstruction;
import com.ycl.entity.cockpitManage.TeamIndex;
import com.ycl.service.cockpitManage.ITeamConstructionService;
import com.ycl.service.video.impl.IVideoPointService;
import com.ycl.util.CheckApiUtil;
import com.ycl.vo.cockpit.CockpitVO;
import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO;
import com.ycl.vo.equipment.VideoPointVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
@@ -24,10 +35,27 @@
@RestController
@RequestMapping("/api/data")
public class StatisticsEventsController {
    @Resource
    private CheckApiUtil checkApiUtil;
    private IVideoPointService videoPointService;
    private ITeamConstructionService teamConstructionService;
    @Autowired
    public void setTeamConstructionService(ITeamConstructionService teamConstructionService) {
        this.teamConstructionService = teamConstructionService;
    }
    @Autowired
    public void setVideoPointService(IVideoPointService videoPointService) {
        this.videoPointService = videoPointService;
    }
    @ApiOperation(value = "执法事件")
    @GetMapping("/law_enforcement_event")
    public CommonResult<List<StatisticsEventsVO.LawEnforcementEventVO>> detection(@Validated CockpitVO.Params2VO params) {
    public CommonResult<List<StatisticsEventsVO.LawEnforcementEventVO>> detection(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<StatisticsEventsVO.LawEnforcementEventVO> lawEnforcementEventVOS = new ArrayList<>();
        StatisticsEventsVO.LawEnforcementEventVO a = null;
        for (int i = 0; i < 4; i++) {
@@ -43,7 +71,8 @@
    @ApiOperation(value = "物联感知")
    @GetMapping("/lot")
    public CommonResult<List<StatisticsEventsVO.LotVO>> lot(@Validated CockpitVO.Params1VO params) {
    public CommonResult<List<StatisticsEventsVO.LotVO>> lot(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<StatisticsEventsVO.LotVO> lotVOS = new ArrayList<>();
        StatisticsEventsVO.LotVO a = null;
        for (int i = 0; i < 4; i++) {
@@ -51,6 +80,7 @@
            a.setName("团结屯");
            a.setType("摄像头");
            a.setCount(10);
            a.setRatio(new BigDecimal("-0.3").setScale(2, RoundingMode.HALF_UP));
            lotVOS.add(a);
        }
        return CommonResult.success(lotVOS);
@@ -58,7 +88,8 @@
    @ApiOperation(value = "执法队伍")
    @GetMapping("/team")
    public CommonResult<StatisticsEventsVO.TeamVO> team(@Validated CockpitVO.Params1VO params) {
    public CommonResult<StatisticsEventsVO.TeamVO> team(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        StatisticsEventsVO.TeamVO teamVO = new StatisticsEventsVO.TeamVO();
        teamVO.setAll(30);
        teamVO.setAssistant(10);
@@ -71,7 +102,8 @@
    @ApiOperation(value = "网格员")
    @GetMapping("/grid_member")
    public CommonResult<List<StatisticsEventsVO.GridMemberVO>> gridMember(@Validated CockpitVO.Params1VO params) {
    public CommonResult<List<StatisticsEventsVO.GridMemberVO>> gridMember(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<StatisticsEventsVO.GridMemberVO> gridMemberVOS = new ArrayList<>();
        StatisticsEventsVO.GridMemberVO a = null;
        for (int i = 0; i < 4; i++) {
@@ -86,7 +118,8 @@
    @ApiOperation(value = "指数体征")
    @GetMapping("/index_signs")
    public CommonResult<StatisticsEventsVO.IndexSignsVO> indexSigns(@Validated CockpitVO.Params1VO params) {
    public CommonResult<StatisticsEventsVO.IndexSignsVO> indexSigns(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        StatisticsEventsVO.IndexSignsVO indexSignsVO = new StatisticsEventsVO.IndexSignsVO();
        indexSignsVO.setEvent(1);
        indexSignsVO.setGridMember(20);
@@ -100,4 +133,82 @@
        indexSignsVO.setEvaluationData(10);
        return CommonResult.success(indexSignsVO);
    }
    @ApiOperation(value = "top10")
    @GetMapping("/top10")
    public CommonResult<List<StatisticsEventsVO.Top10VO>> top10(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<StatisticsEventsVO.Top10VO> ls = new ArrayList<>();
        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 100.0));
        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 90.0));
        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 80.0));
        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 70.0));
        return CommonResult.success(ls);
    }
    @ApiOperation(value = "AI算法")
    @GetMapping("/arithmetic_event")
    public CommonResult<List<StatisticsEventsVO.ArithmeticVO>> arithmeticEvent(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<StatisticsEventsVO.ArithmeticVO> ls = new ArrayList<>();
        ls.add(new StatisticsEventsVO.ArithmeticVO("xx中队", 10, 0.1));
        ls.add(new StatisticsEventsVO.ArithmeticVO("xx中队", 20, 0.2));
        ls.add(new StatisticsEventsVO.ArithmeticVO("xx中队", 30, 0.3));
        ls.add(new StatisticsEventsVO.ArithmeticVO("xx中队", 40, 0.4));
        return CommonResult.success(ls);
    }
    @ApiOperation(value = "城市体征看板")
    @GetMapping("/city_panel")
    public CommonResult<StatisticsEventsVO.CityPanelVo> cityPanel(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        StatisticsEventsVO.CityPanelVo vo = new StatisticsEventsVO.CityPanelVo(92, true, 22, false, 12, true,
                22, false, 34, true, 99, false, 9, true,
                34, false, 6, true);
        return CommonResult.success(vo);
    }
    @ApiOperation(value = "点位")
    @GetMapping("/video_point")
    public CommonResult<List<VideoPointVo>> videoPoint(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        IPage<VideoPointVo> page = videoPointService.getList(null, null, 1, 500);
        return CommonResult.success(page.getRecords());
    }
    @ApiOperation(value = "队伍建设")
    @GetMapping("/team_construction")
    public CommonResult<List<TeamConstruction>> teamConstruction(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0);
        List<TeamConstruction> list = teamConstructionService.list(queryWrapper);
        return CommonResult.success(list);
    }
    @ApiOperation(value = "中队指数体征")
    @GetMapping("/team_index")
    public CommonResult<List<TeamIndex>> teamIndex(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0);
        List<TeamConstruction> list = teamConstructionService.list(queryWrapper);
        List<TeamIndex> teamIndexList = BeanUtil.copyToList(list, TeamIndex.class);
        teamIndexList.forEach(o -> {
            o.setStepTimely(0.6);
            o.setStepDelayed(0.3);
            o.setStepOvertime(0.1);
            o.setHandleTimely(0.6);
            o.setHandleDelayed(0.2);
            o.setHandleOvertime(0.1);
            o.setNoHandle(0.1);
        });
        return CommonResult.success(teamIndexList);
    }
}