Quellcode durchsuchen

添加优先级接口

魏志亮 vor 3 Monaten
Ursprung
Commit
ab0fd0d0c1

+ 1 - 1
pom.xml

@@ -25,7 +25,7 @@
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
-            <version>8.0.21</version>
+            <version>8.0.28</version>
         </dependency>
 
         <dependency>

+ 21 - 2
src/main/java/com/dskj/znzn/transData/web/dataTransfer/controller/DataTransferController.java

@@ -3,8 +3,14 @@ package com.dskj.znzn.transData.web.dataTransfer.controller;
 import com.dskj.znzn.transData.common.base.PageR;
 import com.dskj.znzn.transData.common.base.R;
 import com.dskj.znzn.transData.web.dataTransfer.entity.DataTransfer;
-import com.dskj.znzn.transData.web.dataTransfer.inData.*;
-import com.dskj.znzn.transData.web.dataTransfer.outData.*;
+import com.dskj.znzn.transData.web.dataTransfer.inData.AddDataTransferTaskInData;
+import com.dskj.znzn.transData.web.dataTransfer.inData.EditDataTransferTaskInData;
+import com.dskj.znzn.transData.web.dataTransfer.inData.GetDataTransferInData;
+import com.dskj.znzn.transData.web.dataTransfer.inData.GetTimeRangeInData;
+import com.dskj.znzn.transData.web.dataTransfer.outData.ClassificationImportDataDetailsOutData;
+import com.dskj.znzn.transData.web.dataTransfer.outData.GetStatisticalOutData;
+import com.dskj.znzn.transData.web.dataTransfer.outData.GetTimeRangeOutData;
+import com.dskj.znzn.transData.web.dataTransfer.outData.PltIndexMoreOutData;
 import com.dskj.znzn.transData.web.dataTransfer.service.IDataTransferService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -109,4 +115,17 @@ public class DataTransferController {
         return R.ok(dataTransferService.pltIndexMore());
     }
 
+
+    @ApiOperation("优先级-提高或放弃优先级")
+    @GetMapping("/increaseOrGiveUpPriority/{id}")
+    public R increaseOrGiveUpPriority(@Valid @NotNull @PathVariable Integer id) {
+        dataTransferService.increaseOrGiveUpPriority(id);
+        return R.ok();
+    }
+
+    @ApiOperation("优先级-现在高优先级任务数量")
+    @GetMapping("/highPriorityCount")
+    public R<Long> highPriorityCount() {
+        return R.ok(dataTransferService.highPriorityCount());
+    }
 }

+ 7 - 5
src/main/java/com/dskj/znzn/transData/web/dataTransfer/entity/DataTransfer.java

@@ -4,17 +4,16 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  * 数据操作
@@ -99,6 +98,9 @@ public class DataTransfer implements Serializable {
     @ApiModelProperty("创建人")
     private Integer createBy;
 
+    @ApiModelProperty("是否是高优先级, 0:否 1:是")
+    private Integer isHighPriority;
+
     @ApiModelProperty("创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;

+ 5 - 0
src/main/java/com/dskj/znzn/transData/web/dataTransfer/service/IDataTransferService.java

@@ -42,4 +42,9 @@ public interface IDataTransferService extends IService<DataTransfer> {
     List<DataTransfer> recentlyImportedSuccessful5Data();
 
     List<PltIndexMoreOutData> pltIndexMore();
+
+    void increaseOrGiveUpPriority(Integer id);
+
+    Long highPriorityCount();
+
 }

+ 22 - 2
src/main/java/com/dskj/znzn/transData/web/dataTransfer/service/impl/DataTransferServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dskj.znzn.transData.common.base.PageR;
 import com.dskj.znzn.transData.common.exception.BusinessException;
 import com.dskj.znzn.transData.web.common.entity.SysConf;
@@ -16,7 +17,6 @@ import com.dskj.znzn.transData.web.dataTransfer.inData.GetTimeRangeInData;
 import com.dskj.znzn.transData.web.dataTransfer.mapper.DataTransferMapper;
 import com.dskj.znzn.transData.web.dataTransfer.outData.*;
 import com.dskj.znzn.transData.web.dataTransfer.service.IDataTransferService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -322,8 +322,28 @@ public class DataTransferServiceImpl extends ServiceImpl<DataTransferMapper, Dat
         return pltIndexMoreOutDataList;
     }
 
+    @Override
+    public void increaseOrGiveUpPriority(Integer id) {
+        DataTransfer dataTransfer = getById(id);
+        if (dataTransfer == null || dataTransfer.getStatus() == 0) {
+            throw new RuntimeException("数据不存在");
+        }
+        Integer isHighPriority = dataTransfer.getIsHighPriority();
+        dataTransfer = new DataTransfer();
+        dataTransfer.setId(id);
+        dataTransfer.setIsHighPriority(isHighPriority == 0 ? 1 : 0);
+        updateById(dataTransfer);
+    }
+
+    @Override
+    public Long highPriorityCount() {
+        LambdaQueryWrapper<DataTransfer> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(DataTransfer::getIsHighPriority, 1);
+        return count(wrapper);
+    }
+
     private List<String> converAreaStrToList(boolean contains, ClassificationImportDataDetailsQuery query) {
-        if(null == query){
+        if (null == query) {
             return Collections.emptyList();
         }
         String timeAreaStr = query.getTimeArea();

+ 15 - 13
src/main/resources/mapper/DataTransferMapper.xml

@@ -5,23 +5,25 @@
     <select id="classificationImportDataDetails"
             resultType="com.dskj.znzn.transData.web.dataTransfer.outData.ClassificationImportDataDetailsQuery">
 
-        SELECT t.wind_farm_code                                                        as windFarmCode,
-               t.transfer_type                                                         as transferType,
-               max(a.param_value)                                                      as transferName,
-               max(t.wind_farm_name)                                                   as windFarmName,
-               count(t.id)                                                             AS count,
+        SELECT *
+        from (SELECT t.wind_farm_code      as windFarmCode,
+                     t.transfer_type       as transferType,
+                     max(a.param_value)    as transferName,
+                     max(t.wind_farm_name) as windFarmName,
+                     count(t.id) AS count,
                group_concat(distinct concat(DATE_FORMAT(t.data_min_time, '%Y-%m-%d'), ' ~ ',
                                             DATE_FORMAT(t.data_max_time, '%Y-%m-%d'))) as timeArea,
                max(t.transfer_finish_time)                                             AS latestStorageTime
-        FROM data_transfer t
-                 LEFT JOIN sys_conf a
-                           on t.transfer_type = a.param_key
-        WHERE a.type = 'trans_type'
+              FROM data_transfer t
+                  LEFT JOIN sys_conf a
+              on t.transfer_type = a.param_key
+              WHERE a.type = 'trans_type'
 
-          and t.`status` = 1
-          AND t.transfer_status = 1
-        GROUP BY t.wind_farm_code,
-                 t.transfer_type
+                and t.`status` = 1
+                AND t.transfer_status = 1
+              GROUP BY t.wind_farm_code,
+                  t.transfer_type) b
 
+        ORDER BY b.latestStorageTime desc
     </select>
 </mapper>