baizonghao
2023-03-14 3f342a9ce225ab809d7f22e2f0e80bb63792e266
AI算法效能优化
2个文件已修改
5个文件已添加
93 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java
@@ -2,7 +2,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ycl.api.CommonResult;
import com.ycl.dto.allot.EfficiencyDto;
import com.ycl.entity.video.VideoPoint;
import com.ycl.service.allot.IEfficiencyService;
import com.ycl.service.carManage.ICarSlagcarService;
import com.ycl.service.equipment.IHandheldTerminalService;
import com.ycl.service.equipment.ILoudspeakerService;
@@ -26,6 +28,8 @@
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.function.ToIntFunction;
import java.util.stream.Collectors;
/**
@@ -51,6 +55,8 @@
    ILoudspeakerService loudspeakerService;
    @Autowired
    ICarSlagcarService iCarSlagcarService;
    @Autowired
    IEfficiencyService iEfficiencyService;
    @ApiOperation(value = "监测数据")
    @GetMapping("/detection")
@@ -95,14 +101,15 @@
    @GetMapping("/efficiency")
    public CommonResult efficiency(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<EfficiencyVO> efficiencyVOS = new ArrayList<>();
        for (int i = 0; i < 4; i++) {
        List<EfficiencyDto> list = iEfficiencyService.list();
        int sum = list.stream().mapToInt(EfficiencyDto::getNumber).sum();
        List<EfficiencyVO> efficiencyVOS = list.stream().map((Function<EfficiencyDto, EfficiencyVO>) efficiencyDto -> {
            EfficiencyVO a = new EfficiencyVO();
            a.setType("道路破损");
            a.setCount(12);
            a.setRatio(new BigDecimal("0.63").setScale(2, RoundingMode.HALF_UP));
            efficiencyVOS.add(a);
        }
            a.setType(efficiencyDto.getName());
            a.setCount(efficiencyDto.getNumber());
            a.setRatio(new BigDecimal((double)efficiencyDto.getNumber() / (double) sum).setScale(2, RoundingMode.HALF_UP));
            return a;
        }).collect(Collectors.toList());
        return CommonResult.success(efficiencyVOS);
    }
ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java
New file
@@ -0,0 +1,9 @@
package com.ycl.dto.allot;
import lombok.Data;
@Data
public class EfficiencyDto {
    private String name;
    private Integer number;
}
ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java
New file
@@ -0,0 +1,10 @@
package com.ycl.mapper.allot;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.dto.allot.EfficiencyDto;
import java.util.List;
public interface EfficiencyMapper extends BaseMapper {
    List<EfficiencyDto> list();
}
ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java
New file
@@ -0,0 +1,10 @@
package com.ycl.service.allot;
import com.ycl.dto.allot.EfficiencyDto;
import java.util.List;
public interface IEfficiencyService {
    List<EfficiencyDto> list();
}
ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.ycl.service.allot.impl;
import com.ycl.dto.allot.EfficiencyDto;
import com.ycl.mapper.allot.EfficiencyMapper;
import com.ycl.service.allot.IEfficiencyService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class EfficiencyServiceImpl implements IEfficiencyService {
    @Resource
    EfficiencyMapper efficiencyMapper;
    @Override
    public List<EfficiencyDto> list() {
        return efficiencyMapper.list();
    }
}
ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java
@@ -2,10 +2,12 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.math.BigDecimal;
@Data
@ToString
public class EfficiencyVO {
    @ApiModelProperty(value = "物联网设备类型")
    private String type;
ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml
New file
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ycl.mapper.allot.EfficiencyMapper">
    <select id="list" resultType="com.ycl.dto.allot.EfficiencyDto">
        SELECT
            t4.NAME NAME,
            COUNT(1) NUMBER
        FROM
            `ums_base_case` AS ubc
                JOIN ums_violations AS uv ON ubc.id = uv.id
                LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
                LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
                LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
        WHERE
            ubc.category = 1
          AND t4.`name` IS NOT NULL
        GROUP BY
            t4.id
    </select>
</mapper>