WXF преди 3 години
родител
ревизия
c670e313c8
променени са 14 файла, в които са добавени 126 реда и са изтрити 95 реда
  1. 5 1
      api-common/src/main/java/api/common/pojo/constants/DictConstants.java
  2. 0 34
      api-common/src/main/java/api/common/pojo/param/scene/SceneImportTaskParam.java
  3. 21 0
      api-common/src/main/java/api/common/pojo/param/system/SceneImportPageParam.java
  4. 34 7
      simulation-resource-scene/src/main/java/com/css/simulation/resource/scene/SceneImportCtrl.java
  5. 5 7
      simulation-resource-scene/src/main/java/com/css/simulation/resource/scene/SceneImportService.java
  6. 1 0
      simulation-resource-scene/src/main/resources/mapper/SceneImportMapper.xml
  7. 4 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/feign/SceneService.java
  8. 0 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java
  9. 0 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  10. 0 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java
  11. 9 9
      simulation-resource-server/src/main/java/com/css/simulation/resource/system/ctrl/SceneImportCtrl.java
  12. 5 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/system/mapper/SceneImportMapper.java
  13. 17 7
      simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/SceneImportService.java
  14. 25 20
      simulation-resource-server/src/main/resources/mapper/system/SceneImportMapper.xml

+ 5 - 1
api-common/src/main/java/api/common/pojo/constants/DictConstants.java

@@ -28,6 +28,10 @@ public class DictConstants {
     public static final String VALIDATION_STATUS = "validationStatus";//项目运行状态
     public static final String ROLE_CODE = "roleCode";//用户类型(角色编码)
     public static final String USE_TYPE = "useType";//占用类型
+    public static final String SCENE_TYPE = "sceneType";//场景类型
+    public static final String SCENE_IMPORT_STATUS = "sceneImportStatus";//场景上传状态
+
+
 
     public static final String ALGORITHM_FILE = "algorithmFile";//算法文件上传type
 
@@ -104,7 +108,7 @@ public class DictConstants {
     public static final String USE_TYPE_PUBLIC = "2";//公共使用
 
     //场景上传任务状态
-    public static final String SCENE_IMPORT_STATUS_0 = "0"; //未执行
+    public static final String SCENE_IMPORT_STATUS_0 = "0"; //未上传
     public static final String SCENE_IMPORT_STATUS_1 = "1"; //上传中
     public static final String SCENE_IMPORT_STATUS_2 = "2"; //上传完成
     public static final String SCENE_IMPORT_STATUS_3 = "3"; //解析中

+ 0 - 34
api-common/src/main/java/api/common/pojo/param/scene/SceneImportTaskParam.java

@@ -1,34 +0,0 @@
-package api.common.pojo.param.scene;
-
-import api.common.pojo.common.PageVO;
-import lombok.*;
-
-import java.io.Serializable;
-
-/**
- * 打分规则
- */
-@EqualsAndHashCode()
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class SceneImportTaskParam extends PageVO implements Serializable {
-
-    private String name;  //任务名称
-    private String yearMax;//结束时间
-    private String yearMin;//开始时间
-
-
-
-
-
-
-
-
-
-
-
-
-
-}

+ 21 - 0
api-common/src/main/java/api/common/pojo/param/system/SceneImportPageParam.java

@@ -0,0 +1,21 @@
+package api.common.pojo.param.system;
+
+import api.common.pojo.common.PageVO;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.sql.Timestamp;
+
+@Data
+public class SceneImportPageParam extends PageVO {
+
+    //任务名称
+    private String name;
+    //开始时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Timestamp timeBegin;
+    //结束时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Timestamp timeEnd;
+
+}

+ 34 - 7
simulation-resource-scene/src/main/java/com/css/simulation/resource/scene/SceneImportCtrl.java

@@ -1,6 +1,7 @@
 package com.css.simulation.resource.scene;
 
 import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.constants.DictConstants;
 import api.common.pojo.param.scene.SceneImportParam;
 import api.common.pojo.po.system.SceneImportPO;
 import com.css.simulation.resource.scene.feign.SceneService;
@@ -9,6 +10,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.request.RequestContextHolder;
 
 import javax.annotation.Resource;
 
@@ -28,12 +30,37 @@ public class SceneImportCtrl {
     @RequestMapping("/startImport")
     @ResponseBody
     public ResponseBodyVO startImport(@RequestBody SceneImportPO po) {
-        ResponseBodyVO<Boolean> response = new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
-        response.setInfo(sceneImportService.startImport(po));
-        SceneImportParam param = new SceneImportParam();
-        param.setId(po.getId());
-        param.setMinioDirectory(po.getDataDirectory());
-        sceneService.saveSceneAccidentBatch(param);
-        return response;
+        try {
+            //开始上传
+            po.setStatus(DictConstants.SCENE_IMPORT_STATUS_1);
+            sceneImportService.updateStatus(po);
+            //上传
+            sceneImportService.startImport(po);
+            //上传成功
+            po.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
+            sceneImportService.updateStatus(po);
+            SceneImportParam param = new SceneImportParam();
+            param.setId(po.getId());
+            param.setMinioDirectory(po.getDataDirectory());
+            //异步-启动解析
+            RequestContextHolder.setRequestAttributes(RequestContextHolder.getRequestAttributes(),true);
+            switch (po.getSceneType()){
+                case DictConstants.SCENE_NATURAL://自然驾驶
+                    sceneService.saveSceneAccidentBatch(param);
+                    break;
+                case DictConstants.SCENE_STANDARD:// 标准法规
+                    sceneService.saveSceneAccidentBatch(param);
+                    break;
+                case DictConstants.SCENE_ACCIDENT:// 交通事故
+                    sceneService.saveSceneAccidentBatch(param);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            po.setStatus(DictConstants.SCENE_IMPORT_STATUS_0);
+            po.setErrorMessage("上传失败");
+            sceneImportService.updateStatus(po);
+            return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE);
+        }
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 }

+ 5 - 7
simulation-resource-scene/src/main/java/com/css/simulation/resource/scene/SceneImportService.java

@@ -1,6 +1,5 @@
 package com.css.simulation.resource.scene;
 
-import api.common.pojo.constants.DictConstants;
 import api.common.pojo.po.system.SceneImportPO;
 import com.css.simulation.resource.scene.common.utils.PoUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,15 +12,14 @@ public class SceneImportService {
     SceneImportMapper sceneImportMapper;
 
     public Boolean startImport(SceneImportPO po) {
-        po.setStatus(DictConstants.SCENE_IMPORT_STATUS_1);
-        PoUtil.initUpdatePo(po);
-        sceneImportMapper.updateStatus(po);
-
         //TODO
+        System.out.println(123);
+        return true;
+    }
 
-        po.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
+    public void updateStatus(SceneImportPO po) {
+        PoUtil.initUpdatePo(po);
         sceneImportMapper.updateStatus(po);
-        return true;
     }
 
 }

+ 1 - 0
simulation-resource-scene/src/main/resources/mapper/SceneImportMapper.xml

@@ -4,6 +4,7 @@
 
     <update id="updateStatus" parameterType="api.common.pojo.po.system.SceneImportPO">
         update scene_import_task set
+          error_message = #{errorMessage,jdbcType=VARCHAR},
           status = #{status,jdbcType=VARCHAR},
           modify_time = #{modifyTime,jdbcType=TIMESTAMP},
           modify_user_id = #{modifyUserId,jdbcType=VARCHAR}

+ 4 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/SceneService.java

@@ -5,8 +5,11 @@ import api.common.pojo.po.system.SceneImportPO;
 import com.css.simulation.resource.common.config.FeignConfiguration;
 import com.css.simulation.resource.feign.fallback.SceneServiceFallback;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.web.bind.annotation.PostMapping;
 
+
+
 @FeignClient(value = "simulation-resource-scene",
         contextId = "scene",
         path = "/simulation/resource/scene",
@@ -14,6 +17,7 @@ import org.springframework.web.bind.annotation.PostMapping;
         configuration = FeignConfiguration.class)
 public interface SceneService {
 
+    @Async
     @PostMapping("/sceneImport/startImport")
     ResponseBodyVO startImport(SceneImportPO po);
 

+ 0 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java

@@ -42,8 +42,6 @@ public class SceneAccidentService {
     private FileDownService fileDownService;
     @Resource
     private SystemUserSceneService systemUserSceneService;
-    @Resource
-    private SceneImportTaskService sceneImportTaskService;
 
     /**
      * 获取交通事故场景数据:

+ 0 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java

@@ -34,9 +34,6 @@ public class SceneNaturalService {
     @Resource
     private SystemUserSceneService systemUserSceneService;
 
-    @Resource
-    private SceneImportTaskService sceneImportTaskService;
-
 
     @Resource
     private FileDownService fileDownService;

+ 0 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java

@@ -33,8 +33,6 @@ public class StandardsRegulationsService {
     private FileDownService fileDownService;
     @Resource
     private SystemUserSceneService systemUserSceneService;
-    @Resource
-    private SceneImportTaskService sceneImportTaskService;
     /**
      * 获取标准法规场景数据:
      */

+ 9 - 9
simulation-resource-server/src/main/java/com/css/simulation/resource/system/ctrl/SceneImportCtrl.java

@@ -2,10 +2,9 @@ package com.css.simulation.resource.system.ctrl;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
-import api.common.pojo.param.scene.SceneImportTaskParam;
+import api.common.pojo.param.system.SceneImportPageParam;
 import api.common.pojo.po.system.SceneImportPO;
 import api.common.util.ObjectUtil;
-import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.feign.SceneService;
 import com.css.simulation.resource.system.service.SceneImportService;
 import com.github.pagehelper.PageInfo;
@@ -14,9 +13,9 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.request.RequestContextHolder;
 
 import javax.annotation.Resource;
-import java.util.List;
 
 @Controller
 @RequestMapping("/sceneImport")
@@ -47,18 +46,19 @@ public class SceneImportCtrl {
         }
         ResponseBodyVO<SceneImportPO> response = new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
         response.setInfo(po);
-        //启动上传
+        //异步-启动上传
+        RequestContextHolder.setRequestAttributes(RequestContextHolder.getRequestAttributes(),true);
         sceneService.startImport(po);
         return response;
     }
 
     //查询列表
-    @RequestMapping("/querySceneImportList")
+    @RequestMapping("/getSceneImporPagetList")
     @ResponseBody
-    public ResponseBodyVO<List<SceneImportPO>> querySceneImportList(@RequestBody SceneImportTaskParam parms) {
-        PageUtil.setPageInfo(parms);
-        List<SceneImportPO> list = sceneImportService.querySceneImportList(parms);
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, new PageInfo<>(list));
+    public ResponseBodyVO<PageInfo<SceneImportPO>> getSceneImporPagetList(@RequestBody SceneImportPageParam param) {
+        ResponseBodyVO<PageInfo<SceneImportPO>> response = new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(sceneImportService.getSceneImporPagetList(param));
+        return response;
     }
 
 }

+ 5 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/system/mapper/SceneImportMapper.java

@@ -1,6 +1,6 @@
 package com.css.simulation.resource.system.mapper;
 
-import api.common.pojo.param.scene.SceneImportTaskParam;
+import api.common.pojo.param.system.SceneImportPageParam;
 import api.common.pojo.po.system.SceneImportPO;
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
@@ -11,13 +11,15 @@ import java.util.List;
 @Repository
 public interface SceneImportMapper {
 
+    List<SceneImportPO> getSceneImporPagetList(SceneImportPageParam po);
+
     List<SceneImportPO> checkName(SceneImportPO po);
-    List<SceneImportPO> querySceneImportList(SceneImportTaskParam po);
 
     void insert(SceneImportPO po);
 
     void update(SceneImportPO po);
 
     void updateStatus(SceneImportPO po);
-    void updateSceneImportTask(SceneImportPO po);
+
+    void updateInfo(SceneImportPO po);
 }

+ 17 - 7
simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/SceneImportService.java

@@ -1,23 +1,27 @@
 package com.css.simulation.resource.system.service;
 
 import api.common.pojo.constants.DictConstants;
-import api.common.pojo.param.scene.SceneImportTaskParam;
+import api.common.pojo.param.system.SceneImportPageParam;
 import api.common.pojo.po.system.SceneImportPO;
 import api.common.util.ObjectUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
+import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.common.utils.PoUtil;
 import com.css.simulation.resource.system.mapper.SceneImportMapper;
+import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class SceneImportService {
 
-
+    @Autowired
+    DictService dictService;
 
     @Autowired
     SceneImportMapper sceneImportMapper;
@@ -51,13 +55,19 @@ public class SceneImportService {
     public void updateInfo(SceneImportPO params) {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
-        sceneImportMapper.updateSceneImportTask(params);
+        sceneImportMapper.updateInfo(params);
     }
 
-    public List<SceneImportPO> querySceneImportList(SceneImportTaskParam params) {
-
-        List<SceneImportPO> list = sceneImportMapper.querySceneImportList(params);
-        return list;
+    public PageInfo<SceneImportPO> getSceneImporPagetList(SceneImportPageParam param) {
+        PageUtil.setPageInfo(param);
+        List<SceneImportPO> list = sceneImportMapper.getSceneImporPagetList(param);
+        //字典翻译
+        Map<String, Map<String, String>> dictMaps = dictService.getDictMapsByTypes(DictConstants.SCENE_TYPE + "," + DictConstants.SCENE_IMPORT_STATUS);
+        list.forEach(po ->{
+            po.setSceneType(dictMaps.get(DictConstants.SCENE_TYPE).get(po.getSceneType()));
+            po.setStatus(dictMaps.get(DictConstants.SCENE_IMPORT_STATUS).get(po.getStatus()));
+        });
+        return new PageInfo<>(list);
     }
 
 }

+ 25 - 20
simulation-resource-server/src/main/resources/mapper/system/SceneImportMapper.xml

@@ -42,7 +42,7 @@
           name = #{name,jdbcType=VARCHAR},
           data_directory = #{dataDirectory,jdbcType=VARCHAR},
           scene_type = #{sceneType,jdbcType=VARCHAR},
-
+          create_time = #{createTime,jdbcType=TIMESTAMP},
           modify_time = #{modifyTime,jdbcType=TIMESTAMP},
           modify_user_id = #{modifyUserId,jdbcType=VARCHAR}
         where id = #{id,jdbcType=VARCHAR}
@@ -51,13 +51,13 @@
     <update id="updateStatus" parameterType="api.common.pojo.po.system.SceneImportPO">
         update scene_import_task set
           status = #{status,jdbcType=VARCHAR},
-          modify_time = #{modifyTime,jdbcType=TIMESTAMP},
           error_message = #{errorMessage},
+          modify_time = #{modifyTime,jdbcType=TIMESTAMP},
           modify_user_id = #{modifyUserId,jdbcType=VARCHAR}
         where id = #{id,jdbcType=VARCHAR}
     </update>
 
-    <update id="updateSceneImportTask" parameterType="api.common.pojo.po.system.SceneImportPO">
+    <update id="updateInfo" parameterType="api.common.pojo.po.system.SceneImportPO">
         update simulation.scene_import_task set
                 status = #{status,jdbcType=VARCHAR},
                 false_num = #{falseNum},
@@ -70,25 +70,30 @@
     </update>
 
 
-    <select id="querySceneImportList" parameterType="api.common.pojo.param.scene.SceneImportTaskParam"
-            resultType="api.common.pojo.po.system.SceneImportPO">
+    <select id="getSceneImporPagetList" parameterType="api.common.pojo.param.system.SceneImportPageParam" resultType="api.common.pojo.po.system.SceneImportPO">
         select
-        id,name,scene_type,status,success_num,false_num,error_message,total_time,
-        create_user_id,create_time,modify_user_id,modify_time,
+        id,
+        name,
+        scene_type,
+        status,
+        success_num,
+        false_num,
+        error_message,
+        total_time,
+        create_time,
         is_deleted
         from simulation.scene_import_task
-        <where>
-            is_deleted = '0'
-            <if test="name != null and name != ''">
-                and name = #{name,jdbcType=VARCHAR}
-            </if>
-            <if test="yearMax != null and yearMax != ''">
-                and #{yearMax,jdbcType=VARCHAR} &gt; create_time and #{yearMin,jdbcType=VARCHAR} &lt; create_time
-            </if>
-            <if test="createUserId != null and createUserId != ''">
-                and create_user_id=#{createUserId,jdbcType=VARCHAR}
-            </if>
-            order by create_time desc
-        </where>
+        where
+        is_deleted = '0'
+        <if test="name != null and name != ''">
+            and name like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
+        </if>
+        <if test="timeBegin != null">
+            and create_time &gt;= #{timeBegin,jdbcType=TIMESTAMP}
+        </if>
+        <if test="timeEnd != null">
+            and create_time &lt;= #{timeEnd,jdbcType=TIMESTAMP}
+        </if>
+        order by create_time desc
     </select>
 </mapper>