zhanghua
2023-04-04 90599c1af35eb139710e1472d9c2acbab5a8eb07
bug修改
3个文件已修改
38 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
@@ -63,7 +63,7 @@
        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)));
        videoAndAreaVOS.stream().forEach(item -> item.setRatio(new BigDecimal(item.getCount() * 1.0 / count).setScale(4, BigDecimal.ROUND_HALF_UP)));
        typeAndSourceVO.setRecords(videoAndAreaVOS);
        return CommonResult.success(typeAndSourceVO);
    }
ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
@@ -118,7 +118,7 @@
        StatisticsEventsVO.GridMemberVO a = null;
        for (int i = 0; i < 4; i++) {
            a = new StatisticsEventsVO.GridMemberVO();
            a.setRatio(new BigDecimal("0.20").setScale(2, RoundingMode.HALF_UP));
            a.setRatio(new BigDecimal("0.20").setScale(4, RoundingMode.HALF_UP));
            a.setName("团结屯");
            a.setCount(10);
            gridMemberVOS.add(a);
@@ -133,9 +133,9 @@
        StatisticsEventsVO.IndexSignsVO indexSignsVO = new StatisticsEventsVO.IndexSignsVO();
        indexSignsVO.setEvent(1);
        indexSignsVO.setGridMember(20);
        indexSignsVO.setCompletePercentage(new BigDecimal("0.60").setScale(2, RoundingMode.HALF_UP));
        indexSignsVO.setCompletePercentage(new BigDecimal("0.60").setScale(4, RoundingMode.HALF_UP));
        indexSignsVO.setEquipment(30);
        indexSignsVO.setAccuracy(new BigDecimal("0.80").setScale(2, RoundingMode.HALF_UP));
        indexSignsVO.setAccuracy(new BigDecimal("0.80").setScale(4, RoundingMode.HALF_UP));
        indexSignsVO.setTrigger(10);
        indexSignsVO.setLot(30);
        indexSignsVO.setLotOnline(10);
ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java
@@ -14,6 +14,7 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -21,6 +22,8 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
import java.util.Dictionary;
import java.util.Hashtable;
/**
 * @author admin
@@ -31,7 +34,7 @@
public class AlarmController {
    private IVideoAlarmReportService videoAlarmReportService;
    private static Integer index = 0;
    private static Dictionary<String, Integer> sessionDic = new Hashtable<>();
    @Autowired
    private VideoUtil videoUtil;
@@ -68,17 +71,19 @@
    @GetMapping(value = "/img", produces = {MediaType.IMAGE_JPEG_VALUE, MediaType.IMAGE_PNG_VALUE})
//    @GetMapping(value = "/img")
    @ResponseBody
    public byte[] getImages(HttpServletResponse response, @RequestParam String fileUrl, @RequestParam String OSSAccessKeyId, @RequestParam String Signature) {
        index = 0;
        return getBytes(fileUrl, OSSAccessKeyId, Signature);
    public byte[] getImages(HttpServletRequest request, HttpServletResponse response,
                            @RequestParam String fileUrl, @RequestParam String OSSAccessKeyId, @RequestParam String Signature) {
        String sessionId = request.getSession().getId();
        sessionDic.put(sessionId, 0);
        return getBytes(fileUrl, OSSAccessKeyId, Signature, sessionId);
    }
    private byte[] getBytes(String fileUrl, String OSSAccessKeyId, String Signature) {
    private byte[] getBytes(String fileUrl, String OSSAccessKeyId, String Signature, String sessionId) {
        int index = sessionDic.get(sessionId);
        try {
            if (index < 10) {
                index++;
            if (sessionDic.get(sessionId) < 10) {
                sessionDic.remove(sessionId);
                System.out.println("getImages获取图片地址:" + fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature);
                URL url = new URL(fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
@@ -94,9 +99,12 @@
                return data;
            }
        } catch (Exception e) {
            System.out.println(index + "getImages获取图片失败:" + e.getMessage());
            getBytes(fileUrl, OSSAccessKeyId, Signature);
            // e.printStackTrace();
            index++;
            sessionDic.put(sessionId, index);
            System.out.println(index + "-getImages获取图片失败:" + e.getMessage());
            e.printStackTrace();
            getBytes(fileUrl, OSSAccessKeyId, Signature, sessionId);
        }
        return null;
    }