瀏覽代碼

诊断程序bug修改

bmmx 1 年之前
父節點
當前提交
312c3eff1c

+ 4 - 0
src/main/java/com/om/controller/admin/GuideController.java

@@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 前端控制器
@@ -35,6 +37,8 @@ public class GuideController {
   @ApiOperation("新增手册视频")
   @PostMapping("/save")
   public Result<Object> save(@RequestBody Guide guide) {
+      guide.setCreateTime(LocalDateTime.now());
+      guide.setUpdateTime(LocalDateTime.now());
     return Result.succ(guideService.save(guide));
   }
 

+ 6 - 1
src/main/java/com/om/service/impl/DiagnosisVersionInfoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.om.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.PageUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -361,11 +362,15 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
             List<DiagnosisVersionInfo> diagnosisVersionInfos = this.lambdaQuery()
                     .eq(DiagnosisVersionInfo::getBrandCode, vehicleDates.getBrandCode())
                     .eq(user.getUserType() == 0,DiagnosisVersionInfo::getStatus,1)
+
                     .eq(user.getUserType() == 1,DiagnosisVersionInfo::getStatus,0)
                     .apply("CONCAT(',', client_number, ',') LIKE {0}", "%,"+clientNum+",%")
-                    .gt(DiagnosisVersionInfo::getVersion, version)
+                    .gt(StringUtils.isNotBlank(version),DiagnosisVersionInfo::getVersion, version)
                     .orderByDesc(DiagnosisVersionInfo::getVersion)
                     .list();
+            if(CollectionUtil.isEmpty(diagnosisVersionInfos)){
+                return Result.fail("没有可用的诊断程序更新");
+            }
             DiagnosisVersionInfo diagnosisVersionInfo = diagnosisVersionInfos.get(0);
             //根据品牌id查询品牌
             Brand brand = brandService.lambdaQuery()

+ 2 - 6
src/main/java/com/om/service/impl/UserServiceImpl.java

@@ -531,13 +531,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 if (userVciList1.isEmpty()) {
                     userVci.setVciInfoId(vciInfo.getId());
                     userVci.setUserId(userId);
-                    if (i == 1) {
-                        userVci.setIsDefault(1);
-                    } else {
-                        userVci.setIsDefault(0);
-                    }
+                    userVci.setIsDefault(0);
                     userVciList.add(userVci);
-                    i++;
+
                 }
             }
             userVciService.saveOrUpdateBatch(userVciList);

+ 47 - 4
src/main/java/com/om/utils/HtmlGenerator.java

@@ -5,6 +5,8 @@ import com.om.OperationApplication;
 import com.om.entity.dto.ControlListMap;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.VelocityEngine;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
@@ -14,10 +16,7 @@ import java.io.StringWriter;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Component
 public class HtmlGenerator {
@@ -60,4 +59,48 @@ public class HtmlGenerator {
         return null;
     }
 
+
+
+
+    public static void main(String[] args) {
+        // 初始化Velocity引擎
+        Properties properties = new Properties();
+        properties.setProperty("resource.loader", "class");
+        properties.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
+        VelocityEngine velocityEngine = new VelocityEngine(properties);
+
+        // 创建Velocity上下文,并设置变量
+        VelocityContext context = new VelocityContext();
+        context.put("title", "PDFzzzz");
+        context.put("pdfUrl", "https://wl-resource.obs.cn-south-1.myhuaweicloud.com:443/ziliao/%E8%AF%8A%E6%96%AD%E4%BB%AA%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E%E4%B9%A6%20-%20%E6%97%A5%E6%96%87.pdf?AccessKeyId=FL8POSPAPQDTW42RL8SN&Expires=2094028867&Signature=HmE4BxnLD849gQKWqRBE7I8Nx%2Fg%3D");
+
+        // 加载Velocity模板
+        StringWriter writer = new StringWriter();
+        velocityEngine.mergeTemplate("template/static/ziliao.html", "UTF-8", context, writer);
+
+        // 输出渲染后的HTML到控制台
+        String htmlContent = writer.toString();
+        System.out.println(htmlContent);
+
+        // 生成HTML文件
+        try {
+            // 获取当前日期以创建文件夹
+            String yyyyMMdd = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+            String baseStatic = "path/to/output/directory/"; // 更新为实际的输出目录
+            String outputPath = baseStatic + yyyyMMdd + "outputH5.html";
+
+            // 创建文件并写入内容
+            File file = new File(outputPath);
+            FileWriter fileWriter = new FileWriter(file);
+            fileWriter.write(htmlContent);
+            fileWriter.close();
+
+            System.out.println("HTML文件已生成:" + outputPath);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+
 }

+ 63 - 0
src/main/resources/template/static/ziliao.html

@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>$title</title>
+    <style>
+        #pdf-container {
+            width: 100%;
+            height: 100vh;
+            overflow: auto;
+        }
+        canvas {
+            display: block;
+            margin: 0 auto;
+        }
+    </style>
+</head>
+<body>
+<div id="pdf-container"></div>
+
+<!-- 引入pdf.js库 -->
+<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.min.js"></script>
+<script>
+    // 使用pdf.js库中的全局对象
+    const pdfjsLib = window['pdfjsLib'];
+
+    // 指定pdf.worker.js的路径
+    pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.worker.min.js';
+
+    // PDF文件URL
+    const url = '$pdfUrl';
+
+    pdfjsLib.getDocument(url).promise.then(function(pdfDoc) {
+        const pdfContainer = document.getElementById('pdf-container');
+        const renderPage = function(pageNum) {
+            return pdfDoc.getPage(pageNum).then(function(page) {
+                const viewport = page.getViewport({ scale: 1.5 });
+                const canvas = document.createElement('canvas');
+                const context = canvas.getContext('2d');
+                canvas.height = viewport.height;
+                canvas.width = viewport.width;
+                pdfContainer.appendChild(canvas);
+
+                const renderContext = {
+                    canvasContext: context,
+                    viewport: viewport
+                };
+                return page.render(renderContext).promise;
+            });
+        };
+
+        const renderPagesSequentially = async function() {
+            for (let pageNum = 1; pageNum <= pdfDoc.numPages; pageNum++) {
+                await renderPage(pageNum);
+            }
+        };
+
+        renderPagesSequentially();
+    });
+</script>
+</body>
+</html>