lyhzzz пре 6 месеци
родитељ
комит
6fcd67a9b5
21 измењених фајлова са 379 додато и 31 уклоњено
  1. 5 8
      README.md
  2. 3 0
      src/main/java/com/fdkankan/manage/common/ExcelErrorUtil.java
  3. 1 2
      src/main/java/com/fdkankan/manage/controller/SceneController.java
  4. 102 0
      src/main/java/com/fdkankan/manage/entity/BuildLog.java
  5. 80 0
      src/main/java/com/fdkankan/manage/entity/SceneBuildProcessLog.java
  6. 1 1
      src/main/java/com/fdkankan/manage/generate/AutoGenerate.java
  7. 18 0
      src/main/java/com/fdkankan/manage/mapper/IBuildLogMapper.java
  8. 18 0
      src/main/java/com/fdkankan/manage/mapper/ISceneBuildProcessLogMapper.java
  9. 1 4
      src/main/java/com/fdkankan/manage/mapper/IScenePlusMapper.java
  10. 19 0
      src/main/java/com/fdkankan/manage/service/IBuildLogService.java
  11. 1 0
      src/main/java/com/fdkankan/manage/service/IExcelService.java
  12. 19 0
      src/main/java/com/fdkankan/manage/service/ISceneBuildProcessLogService.java
  13. 1 1
      src/main/java/com/fdkankan/manage/service/IScenePlusService.java
  14. 29 0
      src/main/java/com/fdkankan/manage/service/impl/BuildLogServiceImpl.java
  15. 19 0
      src/main/java/com/fdkankan/manage/service/impl/ExcelServiceImpl.java
  16. 32 0
      src/main/java/com/fdkankan/manage/service/impl/SceneBuildProcessLogServiceImpl.java
  17. 19 7
      src/main/java/com/fdkankan/manage/service/impl/ScenePlusServiceImpl.java
  18. 1 1
      src/main/java/com/fdkankan/manage/util/ShellUtil.java
  19. 5 0
      src/main/resources/mapper/manage/BuildLogMapper.xml
  20. 5 0
      src/main/resources/mapper/manage/SceneBuildProcessLogMapper.xml
  21. 0 7
      src/main/resources/mapper/manage/ScenePlusMapper.xml

+ 5 - 8
README.md

@@ -25,11 +25,8 @@ __
 2.
 ~~~~
 
-server:
-    servlet:
-        multipart:
-            max-file-size: -1
-            max-request-size: -1
-
-laser:
-    web-site-pre: /mega/index.html?m=
+###**v1.7.0**
+~~~~
+1.导出场景计算日志
+    http://120.25.146.52:3090/project/329/interface/api/10608
+~~~~

+ 3 - 0
src/main/java/com/fdkankan/manage/common/ExcelErrorUtil.java

@@ -1,5 +1,8 @@
 package com.fdkankan.manage.common;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
 import com.fdkankan.manage.exception.BusinessException;
 
 import java.util.List;

+ 1 - 2
src/main/java/com/fdkankan/manage/controller/SceneController.java

@@ -203,8 +203,7 @@ public class SceneController {
 
     @GetMapping("/getSceneBuildLog/{num}")
     public ResultData getSceneBuildLog(@PathVariable String num){
-        scenePlusService.getSceneBuildLog(num);
-        return ResultData.ok();
+        return ResultData.ok(scenePlusService.getSceneBuildLog(num));
     }
 }
 

+ 102 - 0
src/main/java/com/fdkankan/manage/entity/BuildLog.java

@@ -0,0 +1,102 @@
+package com.fdkankan.manage.entity;
+
+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.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-11
+ */
+@Getter
+@Setter
+@TableName("t_build_log")
+public class BuildLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 场景码
+     */
+    @TableField("scene_num")
+    private String sceneNum;
+
+    /**
+     * 资源路径
+     */
+    @TableField("data_source")
+    private String dataSource;
+
+    /**
+     * 消息队列名称
+     */
+    @TableField("queue_name")
+    private String queueName;
+
+    /**
+     * -10:其他原因失败
+-3:重复计算
+-2:计算失败
+-1:计算超时
+0:计算中
+1:计算成功
+     */
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 服务器名称
+     */
+    @TableField("host_name")
+    private String hostName;
+
+    @TableField("build_type")
+    private Integer buildType;
+
+    @TableField("source")
+    private String source;
+
+    @TableField("log_detail_path")
+    private String logDetailPath;
+
+    @TableField("duration")
+    private String duration;
+
+    /**
+     * 开始计算时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 结束计算时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("message_id")
+    private String messageId;
+
+    @TableField("result_queue_name")
+    private String resultQueueName;
+
+    @TableField("content")
+    private String content;
+
+
+}

+ 80 - 0
src/main/java/com/fdkankan/manage/entity/SceneBuildProcessLog.java

@@ -0,0 +1,80 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 场景计算流程状态表
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-11
+ */
+@Getter
+@Setter
+@TableName("t_scene_build_process_log")
+public class SceneBuildProcessLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 场景码
+     */
+    @TableField("num")
+    private String num;
+
+    /**
+     * 计算流程(pre-前置处理,call-计算,post-后置处)	失败原因  PRE_ERROR("pre","场景计算资源准备错误"),CALL_ERROR("call","算法计算错误"),POST_ERROR("post","场景计算结果处理错误"),	  NOT_KNOW_ERROR("not_know","未知原因错误")	
+     */
+    @TableField("process")
+    private String process;
+
+    /**
+     * mq消息队列名称
+     */
+    @TableField("queue_name")
+    private String queueName;
+
+    /**
+     * 处理状态(0-处理中,1-成功,-1-失败)
+     */
+    @TableField("state")
+    private Integer state;
+
+    /**
+     * 失败原因
+     */
+    @TableField("reason")
+    private String reason;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * A-有效,I-无效
+     */
+    @TableField("rec_status")
+    private String recStatus;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/manage/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"manage", getTables(new String[]{
-                "jy_scene_upload"
+                "t_scene_build_process_log","t_build_log"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/IBuildLogMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.BuildLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-11
+ */
+@Mapper
+public interface IBuildLogMapper extends BaseMapper<BuildLog> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/ISceneBuildProcessLogMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.SceneBuildProcessLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 场景计算流程状态表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-11
+ */
+@Mapper
+public interface ISceneBuildProcessLogMapper extends BaseMapper<SceneBuildProcessLog> {
+
+}

+ 1 - 4
src/main/java/com/fdkankan/manage/mapper/IScenePlusMapper.java

@@ -1,7 +1,7 @@
 package com.fdkankan.manage.mapper;
 
-import cn.hutool.json.JSONObject;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage.entity.ScenePlus;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -35,7 +35,4 @@ public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
 
     Page<UserAuthSceneVo> sceneAuthVoPageList(Page<UserShareSceneVo> objectPage, UserShareParam param);
 
-    JSONArray selectBuildProcessLog(@Param("num")String num);
-
-    JSONArray selectBuildLog(@Param("num")String num);
 }

+ 19 - 0
src/main/java/com/fdkankan/manage/service/IBuildLogService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.BuildLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-11
+ */
+public interface IBuildLogService extends IService<BuildLog> {
+
+    List<BuildLog> getByNum(String num);
+}

+ 1 - 0
src/main/java/com/fdkankan/manage/service/IExcelService.java

@@ -21,6 +21,7 @@ public interface IExcelService {
     void commonExport(HttpServletRequest request, HttpServletResponse response, String name, List<?> result, ExcelWriter excelWriter) throws Exception ;
 
     void commonExport(HttpServletRequest request, HttpServletResponse response,String name,List<?> result,Class<?> clazz) throws Exception;
+    public  void commonExport(List<?> result,Class<?> clzz,String path) ;
 
     Integer uploadExcel(MultipartFile file, Integer type) throws IOException;
 

+ 19 - 0
src/main/java/com/fdkankan/manage/service/ISceneBuildProcessLogService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.SceneBuildProcessLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 场景计算流程状态表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-11
+ */
+public interface ISceneBuildProcessLogService extends IService<SceneBuildProcessLog> {
+
+    List<SceneBuildProcessLog> getByNum(String num);
+}

+ 1 - 1
src/main/java/com/fdkankan/manage/service/IScenePlusService.java

@@ -37,5 +37,5 @@ public interface IScenePlusService extends IService<ScenePlus> {
 
     List<ScenePlus> getByNumList(List<String> numList);
 
-    void getSceneBuildLog(String num);
+    String getSceneBuildLog(String num);
 }

+ 29 - 0
src/main/java/com/fdkankan/manage/service/impl/BuildLogServiceImpl.java

@@ -0,0 +1,29 @@
+package com.fdkankan.manage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.manage.entity.BuildLog;
+import com.fdkankan.manage.mapper.IBuildLogMapper;
+import com.fdkankan.manage.service.IBuildLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-11
+ */
+@Service
+public class BuildLogServiceImpl extends ServiceImpl<IBuildLogMapper, BuildLog> implements IBuildLogService {
+
+    @Override
+    public List<BuildLog> getByNum(String num) {
+        LambdaUpdateWrapper<BuildLog> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(BuildLog::getSceneNum,num);
+        return this.list(wrapper);
+    }
+}

+ 19 - 0
src/main/java/com/fdkankan/manage/service/impl/ExcelServiceImpl.java

@@ -6,12 +6,14 @@ import com.alibaba.excel.write.metadata.WriteSheet;
 import com.fdkankan.manage.common.ExcelErrorUtil;
 import com.fdkankan.manage.common.ResultCode;
 import com.fdkankan.manage.entity.AgentNew;
+import com.fdkankan.manage.entity.SceneBuildProcessLog;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.manage.constant.CameraOutTypeEnum;
 import com.fdkankan.manage.entity.Company;
 import com.fdkankan.manage.service.*;
 import com.fdkankan.manage.util.ExcelUtil;
 import com.fdkankan.manage.vo.request.CameraInOutParam;
+import com.fdkankan.manage.vo.response.AgentNewLogVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -58,6 +60,23 @@ public class ExcelServiceImpl implements IExcelService {
         excelWriter.write(result, writeSheet);
     }
 
+
+
+    public  void commonExport(List<?> result,Class<?> clzz,String path) {
+        ExcelWriter excelWriter = null;
+        try {
+            excelWriter = EasyExcel.write( path, clzz).build();
+            WriteSheet writeSheet = EasyExcel.writerSheet().build();
+            excelWriter.write(result, writeSheet);
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            if(excelWriter != null){
+                excelWriter.finish();
+            }
+        }
+
+    }
     public void commonExport(HttpServletRequest request, HttpServletResponse response,String name,List<?> result,Class<?> clazz) throws Exception {
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("utf-8");

+ 32 - 0
src/main/java/com/fdkankan/manage/service/impl/SceneBuildProcessLogServiceImpl.java

@@ -0,0 +1,32 @@
+package com.fdkankan.manage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.manage.entity.SceneBuildProcessLog;
+import com.fdkankan.manage.entity.ScenePlus;
+import com.fdkankan.manage.mapper.ISceneBuildProcessLogMapper;
+import com.fdkankan.manage.service.ISceneBuildProcessLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 场景计算流程状态表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-11
+ */
+@Service
+public class SceneBuildProcessLogServiceImpl extends ServiceImpl<ISceneBuildProcessLogMapper, SceneBuildProcessLog> implements ISceneBuildProcessLogService {
+
+    @Override
+    public List<SceneBuildProcessLog> getByNum(String num) {
+        LambdaUpdateWrapper<SceneBuildProcessLog> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(SceneBuildProcessLog::getNum,num);
+        return this.list(wrapper);
+    }
+
+
+}

+ 19 - 7
src/main/java/com/fdkankan/manage/service/impl/ScenePlusServiceImpl.java

@@ -1,8 +1,10 @@
 package com.fdkankan.manage.service.impl;
 
 import cn.hutool.core.io.FileUtil;
-import cn.hutool.json.JSONObject;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -14,6 +16,7 @@ import com.fdkankan.manage.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage.util.ShellUtil;
 import com.fdkankan.manage.vo.request.SceneParam;
+import com.fdkankan.manage.vo.response.AgentNewLogVo;
 import com.fdkankan.manage.vo.response.GroupByCount;
 import com.fdkankan.manage.vo.response.UserAuthSceneVo;
 import com.fdkankan.manage.vo.response.UserShareSceneVo;
@@ -111,19 +114,28 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
      * oss目录:
      * /oss/4dkankan/build_log/<num>(这个目录整个打包)
      */
+    @Autowired
+    ISceneBuildProcessLogService sceneBuildProcessLogService;
+    @Autowired
+    IBuildLogService buildLogService;
+    @Autowired
+    IExcelService excelService;
 
     @Override
-    public void getSceneBuildLog(String num) {
-        JSONArray listProcessLog =  this.getBaseMapper().selectBuildProcessLog(num);
-        JSONArray listBuildLog =  this.getBaseMapper().selectBuildLog(num);
+    public String getSceneBuildLog(String num) {
         String buildLogPath = "/oss/4dkankan/build_log/" + num;
+        String zipName = buildLogPath+"/"+num+".zip";
+
+        List<SceneBuildProcessLog> listProcessLog =  sceneBuildProcessLogService.getByNum(num);
+        List<BuildLog> listBuildLog =  buildLogService.getByNum(num);
 
         if(!listProcessLog.isEmpty()){
-            FileUtil.writeString(listProcessLog.toJSONString(),new File(buildLogPath +"/process.log"), StandardCharsets.UTF_8);
+            excelService.commonExport(listProcessLog,SceneBuildProcessLog.class,buildLogPath +"/process.xlsx");
         }
         if(!listBuildLog.isEmpty()){
-            FileUtil.writeString(listBuildLog.toJSONString(),new File(buildLogPath +"/build.log"), StandardCharsets.UTF_8);
+            excelService.commonExport(listBuildLog,BuildLog.class,buildLogPath +"/build.xlsx");
         }
-        ShellUtil.zip(buildLogPath,buildLogPath+"/"+num+".zip");
+        ShellUtil.zip(buildLogPath,zipName);
+        return zipName.replace("/4dkankan","");
     }
 }

+ 1 - 1
src/main/java/com/fdkankan/manage/util/ShellUtil.java

@@ -118,7 +118,7 @@ public class ShellUtil {
         if(!new File(zipPath).getParentFile().exists()){
             return;
         }
-        String command = "zip -r -m  " + zipPath + "  " + dataPath;
+        String command = "zip -r   " + zipPath + "  " + dataPath;
         execCmd(command);
         log.info("解压zip完毕:" + command);
     }

+ 5 - 0
src/main/resources/mapper/manage/BuildLogMapper.xml

@@ -0,0 +1,5 @@
+<?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.fdkankan.manage.mapper.IBuildLogMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/manage/SceneBuildProcessLogMapper.xml

@@ -0,0 +1,5 @@
+<?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.fdkankan.manage.mapper.ISceneBuildProcessLogMapper">
+
+</mapper>

+ 0 - 7
src/main/resources/mapper/manage/ScenePlusMapper.xml

@@ -81,11 +81,4 @@
 
     </select>
 
-    <select id="selectBuildProcessLog" resultType="com.alibaba.fastjson.JSONArray">
-        select * from t_scene_build_process_log where num =#{num}
-    </select>
-
-    <select id="selectBuildLog" resultType="com.alibaba.fastjson.JSONArray">
-        select * from t_build_log where scene_num =#{num}
-    </select>
 </mapper>