wl
2022-12-19 050598b558ecd8d91a736453a9a2d97dbf33bfb6
fix: 包移动和执法事件统计接口
16个文件已修改
1个文件已添加
12 文件已重命名
274 ■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/constant/ChannelCode.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/constant/StepName.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/CommonUtils.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/Md5.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/ParamsMap.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java 107 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EnforcementEventsVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/StatisticsVO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/constant/BaseCaseStatus.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.constant;
package com.ycl.common.constant;
/**
 * <p>
ycl-platform/src/main/java/com/ycl/common/constant/ChannelCode.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/constant/ChannelCode.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.constant;
package com.ycl.common.constant;
/**
 * <p>
ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/constant/CheckResult.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.constant;
package com.ycl.common.constant;
/**
 * <p>
ycl-platform/src/main/java/com/ycl/common/constant/StepName.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/constant/StepName.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.constant;
package com.ycl.common.constant;
public enum StepName {
ycl-platform/src/main/java/com/ycl/common/util/CommonUtils.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/CommonUtils.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtil.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtils.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
ycl-platform/src/main/java/com/ycl/common/util/Md5.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/Md5.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.security.MessageDigest;
ycl-platform/src/main/java/com/ycl/common/util/ParamsMap.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/ParamsMap.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import lombok.extern.slf4j.Slf4j;
ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomNumberGenerator.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.text.SimpleDateFormat;
import java.util.Date;
ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomStringUtil.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.util.Random;
ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/UtilNumber.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import com.ycl.mapper.common.GeneratedCodeMapper;
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -7,8 +7,8 @@
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.caseHandler.QueryForViolationParam;
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.VideoInspectParam;
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
@@ -2,16 +2,13 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ycl.api.CommonResult;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
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;
@@ -25,12 +22,9 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
@@ -56,16 +50,6 @@
    @GetMapping("/statistics")
    public CommonResult<Map<String, Object>> statistics(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        Map<String, Object> map = new HashMap<>();
//        EnforcementEventsVO.StatisticsEventVO eventVO = new EnforcementEventsVO.StatisticsEventVO();
//        eventVO.setCount(10);
//        eventVO.setRatio(new BigDecimal("0.69").setScale(2, RoundingMode.HALF_UP));
//        eventVO.setUp(true);
//        iBaseCaseService.count();
//        map.put("reported", eventVO);
//        map.put("disposition", eventVO);
//        map.put("dispositionInTime", eventVO);
//        map.put("register", eventVO);
        return CommonResult.success(iBaseCaseService.statistics());
    }
@@ -77,7 +61,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(2, BigDecimal.ROUND_HALF_UP)));
        typeAndSourceVO.setRecords(videoAndAreaVOS);
        return CommonResult.success(typeAndSourceVO);
    }
ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java
@@ -4,7 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.api.CommonResult;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.message.MessageColumnParam;
import com.ycl.entity.message.MessageColumn;
import com.ycl.service.message.IMessageColumnService;
ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java
@@ -5,7 +5,7 @@
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonPage;
import com.ycl.api.CommonResult;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.store.UmsStoreInfoParam;
import com.ycl.entity.store.StoreInfo;
import com.ycl.entity.store.StoreScore;
ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java
@@ -3,7 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.api.CommonResult;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.util.UtilNumber;
import com.ycl.entity.task.Task;
import com.ycl.service.task.ITaskService;
import io.swagger.annotations.Api;
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
@@ -58,4 +58,14 @@
    List<DelayDO> selectDelayVOList();
    List<VideoAndAreaVO> selectType();
    Long selectLastMonthCount(List<Integer> states);
    Long selectRecentlyMonthCount(List<Integer> states);
    Long selectOnTimeCaseCount();
    Long selectOnTimeCaseLastMonthCount();
    Long selectOnTimeCaseRecentlyMonthCount();
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -8,10 +8,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.constant.StepName;
import com.ycl.controller.video.common.util.DateUtil;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.StepName;
import com.ycl.common.util.DateUtil;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.caseHandler.DispatchInfoParam;
import com.ycl.dto.caseHandler.QueryForViolationParam;
import com.ycl.dto.casePool.IllegalBuildingParam;
@@ -35,6 +35,7 @@
import com.ycl.vo.casePool.*;
import com.ycl.vo.cockpit.enforcementEvents.DelayVO;
import com.ycl.vo.cockpit.enforcementEvents.EventVO;
import com.ycl.vo.cockpit.enforcementEvents.StatisticsVO;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -42,7 +43,6 @@
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -492,17 +492,17 @@
    public List<DelayVO> selectDelayList() {
        List<DelayDO> delayDOS = baseCaseMapper.selectDelayVOList();
        ArrayList<DelayVO> delayVOS = new ArrayList<>();
        delayDOS.stream().forEach(item->{
        delayDOS.stream().forEach(item -> {
            DelayVO delayVO = new DelayVO();
            delayVO.setDescription(item.getDescription());
            delayVO.setCode(item.getCode());
            Duration between;
            if (item.getEndTime()!=null){
            if (item.getEndTime() != null) {
                between = Duration.between(item.getEndTime(), item.getLimitTime());
            }else {
            } else {
                between = Duration.between(LocalDateTime.now(), item.getLimitTime());
            }
            if (between.isNegative()){
            if (between.isNegative()) {
                delayVO.setDuration(between.toMinutes());
                delayVOS.add(delayVO);
            }
@@ -512,8 +512,91 @@
    @Override
    public Map<String, Object> statistics() {
        baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getState, BaseCaseStatus.REPORT));
        return null;
    }
        Map<String, Object> map = new HashMap<>();
        Long reportCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getState, BaseCaseStatus.REPORT));
        StatisticsVO report = new StatisticsVO();
        report.setCount(reportCount);
        ArrayList<Integer> reportState = new ArrayList<>();
        reportState.add(BaseCaseStatus.REPORT);
        Long reportLastMonthCount = baseCaseMapper.selectLastMonthCount(reportState);
        Long reportRecentlyMonthCount = baseCaseMapper.selectRecentlyMonthCount(reportState);
        Double v = (reportRecentlyMonthCount - reportLastMonthCount) * 1.0 / reportLastMonthCount;
        if (reportLastMonthCount == 0) {
            report.setRatio(null);
        } else {
            report.setRatio(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
        }
        if (v < 0) {
            report.setUp(false);
        } else {
            report.setUp(true);
        }
        Long disposeCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().in(BaseCase::getState, BaseCaseStatus.DISPATCH, BaseCaseStatus.DISPOSE, BaseCaseStatus.CHECK, BaseCaseStatus.CLOSING_REGISTER));
        StatisticsVO dispose = new StatisticsVO();
        dispose.setCount(disposeCount);
        ArrayList<Integer> disposeState = new ArrayList<>();
        disposeState.add(BaseCaseStatus.DISPATCH);
        disposeState.add(BaseCaseStatus.DISPOSE);
        disposeState.add(BaseCaseStatus.CHECK);
        disposeState.add(BaseCaseStatus.CLOSING_REGISTER);
        Long disposeLastMonthCount = baseCaseMapper.selectLastMonthCount(disposeState);
        Long disposeRecentlyMonthCount = baseCaseMapper.selectRecentlyMonthCount(disposeState);
        Double v1 = (disposeRecentlyMonthCount - disposeLastMonthCount) * 1.0 / disposeLastMonthCount;
        if (disposeLastMonthCount == 0) {
            dispose.setRatio(null);
        } else {
            dispose.setRatio(new BigDecimal(v1).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
        }
        if (v1 < 0) {
            dispose.setUp(false);
        } else {
            dispose.setUp(true);
        }
        StatisticsVO onTimeDispose = new StatisticsVO();
        onTimeDispose.setCount(baseCaseMapper.selectOnTimeCaseCount());
        Long onTimeCaseLastMonthCount = baseCaseMapper.selectOnTimeCaseLastMonthCount();
        Long timeCaseRecentlyMonthCount = baseCaseMapper.selectOnTimeCaseRecentlyMonthCount();
        Double v2 = (timeCaseRecentlyMonthCount - onTimeCaseLastMonthCount) * 1.0 / onTimeCaseLastMonthCount;
        if (onTimeCaseLastMonthCount == 0) {
            onTimeDispose.setRatio(null);
        } else {
            onTimeDispose.setRatio(new BigDecimal(v2).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
        }
        if (v2 < 0) {
            onTimeDispose.setUp(false);
        } else {
            onTimeDispose.setUp(true);
        }
        Long registerCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().in(BaseCase::getState, BaseCaseStatus.DISPATCH, BaseCaseStatus.DISPOSE, BaseCaseStatus.CHECK, BaseCaseStatus.CLOSING_REGISTER, BaseCaseStatus.REPORT));
        StatisticsVO register = new StatisticsVO();
        register.setCount(registerCount);
        ArrayList<Integer> registerState = new ArrayList<>();
        registerState.add(BaseCaseStatus.DISPATCH);
        registerState.add(BaseCaseStatus.DISPOSE);
        registerState.add(BaseCaseStatus.CHECK);
        registerState.add(BaseCaseStatus.CLOSING_REGISTER);
        registerState.add(BaseCaseStatus.REPORT);
        Long registerLastMonthCount = baseCaseMapper.selectLastMonthCount(registerState);
        Long registerRecentlyMonthCount = baseCaseMapper.selectRecentlyMonthCount(registerState);
        System.out.println(disposeRecentlyMonthCount);
        Double v3 = (registerRecentlyMonthCount - registerLastMonthCount) * 1.0 / registerLastMonthCount;
        if (disposeLastMonthCount == 0) {
            register.setRatio(null);
        } else {
            register.setRatio(new BigDecimal(v3).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
        }
        if (v3 < 0) {
            register.setUp(false);
        } else {
            register.setUp(true);
        }
        map.put("reported", report);
        map.put("disposition", dispose);
        map.put("dispositionInTime", onTimeDispose);
        map.put("register", register);
        return map;
    }
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
@@ -3,9 +3,9 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.constant.CheckResult;
import com.ycl.controller.video.common.constant.StepName;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.CheckResult;
import com.ycl.common.constant.StepName;
import com.ycl.dto.caseHandler.ChechParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.DisposeRecord;
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -7,8 +7,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.constant.StepName;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.StepName;
import com.ycl.dto.dispatch.UploadDisposingResultParam;
import com.ycl.entity.caseHandler.*;
import com.ycl.entity.resources.ImageResources;
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
@@ -3,8 +3,8 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.constant.StepName;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.StepName;
import com.ycl.dto.caseHandler.DispatchInfoParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.DispatchInfo;
ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
@@ -4,8 +4,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ycl.controller.video.common.constant.ChannelCode;
import com.ycl.controller.video.common.util.CommonUtils;
import com.ycl.common.constant.ChannelCode;
import com.ycl.common.util.CommonUtils;
import com.ycl.dto.message.MessageParam;
import com.ycl.entity.message.Message;
import com.ycl.entity.message.SendReq;
ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java
@@ -4,7 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.controller.video.common.util.CommonUtils;
import com.ycl.common.util.CommonUtils;
import com.ycl.dto.message.MessageSmsParam;
import com.ycl.entity.message.Message;
import com.ycl.entity.message.SmsAudit;
ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java
@@ -4,7 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.controller.video.common.util.CommonUtils;
import com.ycl.common.util.CommonUtils;
import com.ycl.entity.message.SmsTemplate;
import com.ycl.mapper.message.SmsTemplateMapper;
import com.ycl.service.message.ISmsTemplateService;
ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EnforcementEventsVO.java
@@ -16,18 +16,7 @@
 */
@ApiModel(description = "驾驶舱数据-执法事件VO层")
public class EnforcementEventsVO {
    @ApiModel(description = "执法事件统计")
    @Data
    public static class StatisticsEventVO {
        @ApiModelProperty(value = "数量")
        private Integer count;
        @ApiModelProperty(value = "比例")
        private BigDecimal ratio;
        @ApiModelProperty(value = "上升下降")
        private Boolean up;
    }
    @Data
    @ApiModel(description = "事件类型/事件来源")
ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/StatisticsVO.java
New file
@@ -0,0 +1,19 @@
package com.ycl.vo.cockpit.enforcementEvents;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class StatisticsVO {
        @ApiModelProperty(value = "数量")
        private Long count;
        @ApiModelProperty(value = "比例")
        private BigDecimal ratio;
        @ApiModelProperty(value = "上升下降")
        private Boolean up;
}
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -254,14 +254,14 @@
    <select id="selectRegisterCount" resultType="java.lang.Long">
        select count(1)
        from ums_base_case
        where state in (2, 6)
        where state in (2, 6,7,8,9)
          and to_days(create_time) = TO_DAYS(now());
    </select>
    <select id="selectStudyCount" resultType="java.lang.Long">
        select count(1)
        from ums_base_case
        where state =3
        where state = 3
          and to_days(create_time) = TO_DAYS(now());
    </select>
@@ -337,13 +337,51 @@
    </select>
    <select id="selectType" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
        SELECT
            IFNULL( t2.`name`, "其他" ) as name,
            COUNT( 1 )  as count
        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
            LEFT JOIN ums_data_dictionary t2
        ON t1.category_id = t2.id
        GROUP BY
            t1.category_id
    </select>
    <select id="selectLastMonthCount" resultType="java.lang.Long">
        SELECT
        count(1)
        FROM
        ums_base_case
        WHERE
        state in
        <foreach collection="list" open="(" separator="," close=")" item="state">
            #{state}
        </foreach>
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =1
    </select>
    <select id="selectRecentlyMonthCount" resultType="java.lang.Long">
        SELECT
        count(1)
        FROM
        ums_base_case
        WHERE
        state in
        <foreach collection="list" open="(" separator="," close=")" item="state">
            #{state}
        </foreach>
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =0
    </select>
    <select id="selectOnTimeCaseCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time
    </select>
    <select id="selectOnTimeCaseLastMonthCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time  AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =1
    </select>
    <select id="selectOnTimeCaseRecentlyMonthCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time  AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =0
    </select>
</mapper>
ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java
@@ -1,10 +1,9 @@
package com.ycl.sccgplatform;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.util.UtilNumber;
import com.ycl.enums.common.DictTypeEnum;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.utils.MD5Util;
import org.apache.commons.codec.digest.Md5Crypt;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;