Ver Fonte

optimize list

supeng há 15 horas atrás
pai
commit
2ee76d21e0

+ 9 - 0
supply-demand-engine-core/src/main/java/com/tzld/piaoquan/supply/demand/engine/common/enums/TaskStatusEnum.java

@@ -24,4 +24,13 @@ public enum TaskStatusEnum {
         this.value = value;
         this.desc = desc;
     }
+
+    public static TaskStatusEnum getInstance(Integer value) {
+        for (TaskStatusEnum taskStatusEnum : TaskStatusEnum.values()) {
+            if (taskStatusEnum.getValue().equals(value)) {
+                return taskStatusEnum;
+            }
+        }
+        return null;
+    }
 }

+ 2 - 2
supply-demand-engine-core/src/main/java/com/tzld/piaoquan/supply/demand/engine/model/vo/SdTaskVO.java

@@ -1,10 +1,10 @@
 package com.tzld.piaoquan.supply.demand.engine.model.vo;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
 
 import java.util.Date;
 
+@Data
 public class SdTaskVO {
 
     /**

+ 2 - 1
supply-demand-engine-core/src/main/java/com/tzld/piaoquan/supply/demand/engine/service/TaskService.java

@@ -6,6 +6,7 @@ import com.tzld.piaoquan.supply.demand.engine.model.param.TaskCreateParam;
 import com.tzld.piaoquan.supply.demand.engine.model.param.TaskGetParam;
 import com.tzld.piaoquan.supply.demand.engine.model.param.TaskListParam;
 import com.tzld.piaoquan.supply.demand.engine.model.po.SdTask;
+import com.tzld.piaoquan.supply.demand.engine.model.vo.SdTaskVO;
 
 /**
  *
@@ -22,7 +23,7 @@ public interface TaskService {
      * 任务列表
      * @param request
      */
-    Page<SdTask> list(CommonRequest<TaskListParam> request);
+    Page<SdTaskVO> list(CommonRequest<TaskListParam> request);
 
     /**
      * 获取任务信息

+ 33 - 2
supply-demand-engine-core/src/main/java/com/tzld/piaoquan/supply/demand/engine/service/impl/TaskServiceImpl.java

@@ -17,15 +17,21 @@ import com.tzld.piaoquan.supply.demand.engine.model.param.TaskGetParam;
 import com.tzld.piaoquan.supply.demand.engine.model.param.TaskListParam;
 import com.tzld.piaoquan.supply.demand.engine.model.po.SdStrategy;
 import com.tzld.piaoquan.supply.demand.engine.model.po.SdTask;
+import com.tzld.piaoquan.supply.demand.engine.model.vo.SdTaskVO;
 import com.tzld.piaoquan.supply.demand.engine.service.TaskService;
 import com.tzld.piaoquan.supply.demand.engine.util.DateUtil;
 import com.tzld.piaoquan.supply.demand.engine.util.IdGeneratorUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.kafka.common.protocol.types.Field;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * @author supeng
@@ -76,7 +82,7 @@ public class TaskServiceImpl implements TaskService {
     }
 
     @Override
-    public Page<SdTask> list(CommonRequest<TaskListParam> request) {
+    public Page<SdTaskVO> list(CommonRequest<TaskListParam> request) {
         TaskListParam params = request.getParams();
         int pageNo = params.getPageNo();
         int pageSize = params.getPageSize();
@@ -95,7 +101,32 @@ public class TaskServiceImpl implements TaskService {
                 .select(SdTask::getId, SdTask::getTaskNo, SdTask::getTaskName, SdTask::getTaskType);
 
         Page<SdTask> page = new Page<>(pageNo, pageSize);
-        return sdTaskMapper.selectPage(page, wrapper);
+        Page<SdTask> pageList = sdTaskMapper.selectPage(page, wrapper);
+        Page<SdTaskVO> pageVO = new Page<>();
+        if (Objects.isNull(pageList) || pageList.getTotal() == 0) {
+            return pageVO;
+        }
+        List<Long> strategyIds = pageList.getRecords().stream().map(SdTask::getStrategyId).collect(Collectors.toList());
+        List<SdStrategy> strategyList = sdStrategyMapper.selectList(Wrappers.<SdStrategy>lambdaQuery().in(SdStrategy::getId, strategyIds));
+        Map<Long, String> strategyMap = strategyList.stream().collect(Collectors.toMap(SdStrategy::getId, SdStrategy::getStrategyName));
+        for (SdTask sdTask : pageList.getRecords()) {
+            SdTaskVO sdTaskVO = new SdTaskVO();
+            BeanUtils.copyProperties(sdTask, sdTaskVO);
+            TaskTypeEnum taskTypeEnum = TaskTypeEnum.getInstance(sdTaskVO.getTaskType());
+            if (Objects.nonNull(taskTypeEnum)) {
+                sdTaskVO.setTaskTypeLabel(taskTypeEnum.getDesc());
+            }
+            TaskStatusEnum taskStatusEnum = TaskStatusEnum.getInstance(sdTaskVO.getTaskStatus());
+            if (Objects.nonNull(taskStatusEnum)) {
+                sdTaskVO.setTaskStatusLabel(taskStatusEnum.getDesc());
+            }
+            String strategyName = strategyMap.get(sdTaskVO.getStrategyId());
+            if (Objects.nonNull(strategyName)) {
+                sdTaskVO.setStrategyName(strategyName);
+            }
+            pageVO.getRecords().add(sdTaskVO);
+        }
+        return pageVO;
     }
 
     @Override

+ 2 - 1
supply-demand-engine-service/src/main/java/com/tzld/piaoquan/supply/demand/engine/controller/TaskController.java

@@ -10,6 +10,7 @@ import com.tzld.piaoquan.supply.demand.engine.model.param.TaskCreateParam;
 import com.tzld.piaoquan.supply.demand.engine.model.param.TaskGetParam;
 import com.tzld.piaoquan.supply.demand.engine.model.param.TaskListParam;
 import com.tzld.piaoquan.supply.demand.engine.model.po.SdTask;
+import com.tzld.piaoquan.supply.demand.engine.model.vo.SdTaskVO;
 import com.tzld.piaoquan.supply.demand.engine.service.TaskService;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -42,7 +43,7 @@ public class TaskController {
 
     @ApiOperation(value = "获取任务信息", notes = "获取任务信息")
     @PostMapping("/list")
-    public CommonResponse<Page<SdTask>> list(@RequestBody CommonRequest<TaskListParam> request) {
+    public CommonResponse<Page<SdTaskVO>> list(@RequestBody CommonRequest<TaskListParam> request) {
         return CommonResponse.create(taskService.list(request));
     }