孟令鑫 1 år sedan
förälder
incheckning
31eb2f3e1f
27 ändrade filer med 111 tillägg och 57 borttagningar
  1. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/AlgorithmExpandController.java
  2. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/ExcelController.java
  3. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/KafkaController.java
  4. 33 6
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/MinioController.java
  5. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/RedisController.java
  6. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/app/algorithm/AlgorithmExpandApplication.java
  7. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/domain/service/algorithm/AlgorithmExpandDomainService.java
  8. 3 3
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/acl/algorithm/AlgorithmExpandAcl.java
  9. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/acl/entity/AlgorithmExpandAclEntity.java
  10. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/advice/AllExceptionHandlerAdvice.java
  11. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/alg_platform/ClientDetail.java
  12. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/kafka/producer/ApacheKafkaPartitioner.java
  13. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/minio/MinioConfiguration.java
  14. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/minio/SubMinioClient.java
  15. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/oauth/MyTokenServices.java
  16. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/oauth/OAuth2ResourceServerConfiguration.java
  17. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/oauth/OauthParameter.java
  18. 1 1
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/redis/RedisTemplateConfiguration.java
  19. 14 0
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/mysql/entity/AlgorithmEntity.java
  20. 10 0
      simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/mysql/mapper/AlgorithmMapper.java
  21. 11 0
      simulation-resource-common/src/main/resources/mysql/mapper/AlgorithmMapper.xml
  22. 1 0
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/service/ProjectDomainService.java
  23. 1 0
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/service/TaskDomainService.java
  24. 4 19
      simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/impl/SimulationProjectServiceImpl.java
  25. 2 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/server/infra/db/mysql/mapper/SimulationManualProjectMapper.java
  26. 13 10
      simulation-resource-server/src/main/resources/mysql/mapper/HomePageMapper.xml
  27. 3 2
      simulation-resource-server/src/main/resources/mysql/mapper/SimulationManualProjectMapper.xml

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/api/controller/AlgorithmExpandController.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/AlgorithmExpandController.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.api.controller;
+package com.css.simulation.resource.common.adapter.controller;
 
 import api.common.pojo.common.ResponseBodyVO;
 import com.css.simulation.resource.common.app.algorithm.AlgorithmExpandApplication;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/api/controller/ExcelController.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/ExcelController.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.api.controller;
+package com.css.simulation.resource.common.adapter.controller;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.util.ExcelUtil;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/api/controller/KafkaController.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/KafkaController.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.api.controller;
+package com.css.simulation.resource.common.adapter.controller;
 
 import api.common.pojo.param.KafkaParameter;
 import lombok.extern.slf4j.Slf4j;

+ 33 - 6
simulation-resource-common/src/main/java/com/css/simulation/resource/common/api/controller/MinioController.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/MinioController.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.api.controller;
+package com.css.simulation.resource.common.adapter.controller;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
@@ -6,8 +6,9 @@ import api.common.pojo.param.MinioParameter;
 import api.common.util.FileUtil;
 import api.common.util.ObjectUtil;
 import api.common.util.TimeUtil;
-import com.css.simulation.resource.common.infra.configuration.minio.MinioConfiguration;
-import com.css.simulation.resource.common.infra.configuration.minio.SubMinioClient;
+import com.css.simulation.resource.common.infra.config.minio.MinioConfiguration;
+import com.css.simulation.resource.common.infra.config.minio.SubMinioClient;
+import com.css.simulation.resource.common.infra.mysql.mapper.AlgorithmMapper;
 import com.css.simulation.resource.common.infra.util.MinioUtil;
 import io.minio.CreateMultipartUploadResponse;
 import io.minio.ListPartsResponse;
@@ -38,6 +39,9 @@ public class MinioController {
     @Resource
     private MinioConfiguration minioConfiguration;
 
+    @Resource
+    private AlgorithmMapper algorithmMapper;
+
 
     @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
     public ResponseBodyVO<String> upload(
@@ -224,11 +228,34 @@ public class MinioController {
     }
 
     @PostMapping("/remove")
-    public void download(
-            @RequestBody @Validated MinioParameter minioParameter
-    ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
+    public void download(@RequestBody @Validated MinioParameter minioParameter) {
 
         MinioUtil.removeObject(minioClientPrivate, minioConfiguration.getBucketName(), minioParameter.getObjectName());
     }
 
+    // ------- 清理 minio 无用文件 -------
+    @PostMapping("clean")
+    @SneakyThrows
+    public ResponseBodyVO<String> clean() {
+        //1 清理算法文件
+        {
+            List<String> objects = MinioUtil.listObjects(minioClientPrivate, minioConfiguration.getBucketName(), "algorithm");
+
+            List<String> strings = algorithmMapper.selectMinioPaths();
+            for (String object : objects) {
+                if (!strings.contains(object)) {
+                    MinioUtil.removeObject(minioClientPrivate, minioConfiguration.getBucketName(), object);
+                }
+            }
+        }
+
+        //2 清理项目文件
+        {
+
+        }
+
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, "清理垃圾文件完成!");
+
+    }
+
 }

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/api/controller/RedisController.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/adapter/controller/RedisController.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.api.controller;
+package com.css.simulation.resource.common.adapter.controller;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/app/algorithm/AlgorithmExpandApplication.java

@@ -1,7 +1,7 @@
 package com.css.simulation.resource.common.app.algorithm;
 
 import api.common.pojo.common.ResponseBodyVO;
-import com.css.simulation.resource.common.acl.algorithm.AlgorithmExpandAcl;
+import com.css.simulation.resource.common.infra.acl.algorithm.AlgorithmExpandAcl;
 import com.css.simulation.resource.common.domain.service.algorithm.AlgorithmExpandDomainService;
 import lombok.SneakyThrows;
 import org.springframework.stereotype.Service;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/domain/service/algorithm/AlgorithmExpandDomainService.java

@@ -4,7 +4,7 @@ import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
 import api.common.util.CollectionUtil;
 import api.common.util.JsonUtil;
-import com.css.simulation.resource.common.acl.entity.AlgorithmExpandAclEntity;
+import com.css.simulation.resource.common.infra.acl.entity.AlgorithmExpandAclEntity;
 import com.css.simulation.resource.common.infra.mysql.entity.AlgorithmExpandEntity;
 import com.css.simulation.resource.common.infra.mysql.mapper.AlgorithmExpandMapper;
 import com.css.simulation.resource.common.infra.mysql.param.AlgorithmExpandInfrastructureParam;

+ 3 - 3
simulation-resource-common/src/main/java/com/css/simulation/resource/common/acl/algorithm/AlgorithmExpandAcl.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/acl/algorithm/AlgorithmExpandAcl.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.acl.algorithm;
+package com.css.simulation.resource.common.infra.acl.algorithm;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
@@ -6,8 +6,8 @@ import api.common.pojo.param.RedisParameter;
 import api.common.util.HttpUtil;
 import api.common.util.JsonUtil;
 import api.common.util.ObjectUtil;
-import com.css.simulation.resource.common.api.controller.RedisController;
-import com.css.simulation.resource.common.infra.configuration.alg_platform.ClientDetail;
+import com.css.simulation.resource.common.adapter.controller.RedisController;
+import com.css.simulation.resource.common.infra.config.alg_platform.ClientDetail;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.SneakyThrows;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/acl/entity/AlgorithmExpandAclEntity.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/acl/entity/AlgorithmExpandAclEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.acl.entity;
+package com.css.simulation.resource.common.infra.acl.entity;
 
 import com.fasterxml.jackson.annotation.JsonAlias;
 import lombok.AllArgsConstructor;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/api/advice/AllExceptionHandlerAdvice.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/advice/AllExceptionHandlerAdvice.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.api.advice;
+package com.css.simulation.resource.common.infra.config.advice;
 
 import api.common.pojo.common.ResponseBodyVO;
 import lombok.extern.slf4j.Slf4j;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/configuration/alg_platform/ClientDetail.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/alg_platform/ClientDetail.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.infra.configuration.alg_platform;
+package com.css.simulation.resource.common.infra.config.alg_platform;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/configuration/kafka/producer/ApacheKafkaPartitioner.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/kafka/producer/ApacheKafkaPartitioner.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.infra.configuration.kafka.producer;
+package com.css.simulation.resource.common.infra.config.kafka.producer;
 
 import org.apache.kafka.clients.producer.Partitioner;
 import org.apache.kafka.common.Cluster;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/configuration/minio/MinioConfiguration.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/minio/MinioConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.infra.configuration.minio;
+package com.css.simulation.resource.common.infra.config.minio;
 
 import io.minio.MinioClient;
 import lombok.Data;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/configuration/minio/SubMinioClient.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/minio/SubMinioClient.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.infra.configuration.minio;
+package com.css.simulation.resource.common.infra.config.minio;
 
 import com.google.common.collect.Multimap;
 import io.minio.CreateMultipartUploadResponse;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/configuration/oauth/MyTokenServices.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/oauth/MyTokenServices.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.infra.configuration.oauth;
+package com.css.simulation.resource.common.infra.config.oauth;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/configuration/oauth/OAuth2ResourceServerConfiguration.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/oauth/OAuth2ResourceServerConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.infra.configuration.oauth;
+package com.css.simulation.resource.common.infra.config.oauth;
 
 import org.springframework.context.annotation.Configuration;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/configuration/oauth/OauthParameter.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/oauth/OauthParameter.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.infra.configuration.oauth;
+package com.css.simulation.resource.common.infra.config.oauth;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;

+ 1 - 1
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/configuration/redis/RedisTemplateConfiguration.java → simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/config/redis/RedisTemplateConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.common.infra.configuration.redis;
+package com.css.simulation.resource.common.infra.config.redis;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;

+ 14 - 0
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/mysql/entity/AlgorithmEntity.java

@@ -0,0 +1,14 @@
+package com.css.simulation.resource.common.infra.mysql.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class AlgorithmEntity {
+    private String minioPath = "";
+}

+ 10 - 0
simulation-resource-common/src/main/java/com/css/simulation/resource/common/infra/mysql/mapper/AlgorithmMapper.java

@@ -0,0 +1,10 @@
+package com.css.simulation.resource.common.infra.mysql.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface AlgorithmMapper {
+    List<String> selectMinioPaths();
+}

+ 11 - 0
simulation-resource-common/src/main/resources/mysql/mapper/AlgorithmMapper.xml

@@ -0,0 +1,11 @@
+<?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.css.simulation.resource.common.infra.mysql.mapper.AlgorithmMapper">
+
+
+    <select id="selectMinioPaths" resultType="java.lang.String">
+        select minio_path
+        from simulation.algorithm
+        where is_deleted = '0' and upload_mode = '1'
+    </select>
+</mapper>

+ 1 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/service/ProjectDomainService.java

@@ -990,6 +990,7 @@ public class ProjectDomainService {
         }
         if (DictConstants.ALGORITHM_UPLOAD_MODE_PLATFORM.equals(algorithmType)) {
             algorithmExpandMapper.updateStatusByAlgorithmId(AlgorithmExpandEntity.builder().algorithmId(algorithmId).status(algorithmStatus).build());
+            log.info("------- 修改算法平台算法" + algorithmId + "的状态为测试完成");
         }
     }
 

+ 1 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/service/TaskDomainService.java

@@ -371,6 +371,7 @@ public class TaskDomainService {
         // 查询并保存项目报告
         projectDomainService.selectProjectReportById(projectType, projectId);
         // 如果使用算法平台算法则修改状态为测试完成
+
         projectDomainService.checkAlgorithmIsExpand(projectType, projectId, DictConstants.ALGORITHM_EXPAND_STATUS_TESTED);
     }
 

+ 4 - 19
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/impl/SimulationProjectServiceImpl.java

@@ -49,7 +49,6 @@ import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.tomcat.util.buf.StringUtils;
 import org.springframework.beans.BeanUtils;
-import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.kafka.core.KafkaTemplate;
 import org.springframework.scheduling.support.CronExpression;
 import org.springframework.stereotype.Service;
@@ -75,8 +74,8 @@ import java.util.zip.ZipOutputStream;
 @Slf4j
 public class SimulationProjectServiceImpl implements SimulationProjectService {
 
-    @Resource
-    private StringRedisTemplate stringRedisTemplate;
+    //    @Resource
+//    private StringRedisTemplate stringRedisTemplate;
     @Resource
     private SimulationManualProjectMapper simulationManualProjectMapper;
     @Resource
@@ -1789,26 +1788,12 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
 
     }
 
-    @Synchronized
-    private void createProjectId(SimulationManualProjectPO po) {
-
-        String nowDateString = TimeUtil.dateToString(new Date(), "yyyyMMdd");
-        po.setProjectDate(Integer.valueOf(nowDateString));
-        SimulationManualProjectPO po1 = simulationManualProjectMapper.selectLastProjectId(Integer.valueOf(nowDateString));
-        if (po1 == null) {
-            // 生成新id
-            po.setProjectNum(1);
-        } else {
-            po.setProjectNum(po1.getProjectNum() + 1);
-        }
-        po.setProjectId(po.getProjectDate() + "-" + po.getProjectNum());
-        simulationManualProjectMapper.add(po);
-    }
-
     @Synchronized
     private void createProjectIdAndAdd(SimulationManualProjectPO po) {
         String nowDateString = TimeUtil.dateToString(new Date(), "yyyyMMdd");
         po.setProjectDate(Integer.valueOf(nowDateString));
+
+//        SimulationManualProjectPO po1 = simulationManualProjectMapper.selectLastProjectId(Integer.valueOf(nowDateString), AuthUtil.getCreateUserId());
         SimulationManualProjectPO po1 = simulationManualProjectMapper.selectLastProjectId(Integer.valueOf(nowDateString));
         if (po1 == null) {
             // 生成新id

+ 2 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/server/infra/db/mysql/mapper/SimulationManualProjectMapper.java

@@ -26,7 +26,8 @@ public interface SimulationManualProjectMapper {
 
     int update(SimulationManualProjectPO po);
 
-    SimulationManualProjectPO selectLastProjectId(Integer nowRq);
+//    SimulationManualProjectPO selectLastProjectId(@Param("nowRq") Integer nowRq,@Param("createUserId") String createUserId);
+    SimulationManualProjectPO selectLastProjectId(@Param("nowRq") Integer nowRq);
 
     List<SimulationManualProjectPO> selectProject(SimulationManualProjectParam param);
 

+ 13 - 10
simulation-resource-server/src/main/resources/mysql/mapper/HomePageMapper.xml

@@ -14,16 +14,19 @@
     </select>
 
     <select id="selectRunProjectChart" parameterType="java.util.Map" resultType="api.common.pojo.vo.home.LineChartVO">
-        SELECT
-          COUNT(1) as num,
-          DATE(t.start_time) as toDate
-        FROM(
-          SELECT start_time FROM simulation_manual_project
-          WHERE start_time >= #{dateBegin,jdbcType=VARCHAR} and create_user_id = #{createUserId,jdbcType=VARCHAR}
-          UNION ALL
-          SELECT start_time FROM simulation_automatic_subproject
-          WHERE start_time >= #{dateBegin,jdbcType=VARCHAR} and create_user_id = #{createUserId,jdbcType=VARCHAR}) as t
-        GROUP BY DATE(t.start_time)
+        SELECT COUNT(1)           as num,
+               DATE(t.finish_time) as toDate
+        FROM (SELECT finish_time
+              FROM simulation_manual_project
+              WHERE finish_time >= #{dateBegin,jdbcType=VARCHAR}
+                and create_user_id = #{createUserId,jdbcType=VARCHAR} and is_deleted = '0'
+              UNION ALL
+              SELECT finish_time
+              FROM simulation_automatic_subproject
+              WHERE finish_time >= #{dateBegin,jdbcType=VARCHAR}
+                and create_user_id = #{createUserId,jdbcType=VARCHAR} and is_deleted = '0')
+                 as t
+        GROUP BY DATE(t.finish_time)
         ORDER BY toDate ASC
     </select>
 

+ 3 - 2
simulation-resource-server/src/main/resources/mysql/mapper/SimulationManualProjectMapper.xml

@@ -94,9 +94,10 @@
     <select id="selectLastProjectId" resultType="api.common.pojo.po.project.SimulationManualProjectPO">
         select project_date, project_num, project_id
         from simulation_manual_project
-        where project_date = #{nowRq,jdbcType=INTEGER}
+        where project_date = #{nowRq}
           and is_deleted = '0'
-        order by project_date desc, project_num desc limit 1
+        order by project_date desc, project_num desc
+        limit 1
     </select>
 
     <!--查询项目列表-->