浏览代码

uploadBallScreenVideo

lyhzzz 3 年之前
父节点
当前提交
438fcc2829

+ 12 - 0
pom.xml

@@ -75,6 +75,18 @@
             <artifactId>aws-java-sdk</artifactId>
             <version>1.11.327</version>
         </dependency>
+
+        <!-- 二维码相关 -->
+        <dependency>
+            <groupId>com.google.zxing</groupId>
+            <artifactId>javase</artifactId>
+            <version>3.3.0</version>
+        </dependency>
+        <!-- 长链接转短链接 相关 -->
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
     </dependencies>
 
 

+ 4 - 1
src/main/java/com/cdf/aop/SysLogAspect.java

@@ -73,7 +73,10 @@ public class SysLogAspect {
             sysLog.setLogType(annotation.logType());
         }
         sysLog.setMethod(className + "." + methodName + "()");
-        sysLog.setParam(params.substring(0,255));
+        if(params.length() >1024){
+            params = params.substring( 0,1024);
+        }
+        sysLog.setParam(params);
         sysLog.setIp(IPUtils.getIpAddr(request));
 
         result = joinPoint.proceed();

+ 8 - 0
src/main/java/com/cdf/controller/service/FdkkSceneEditController.java

@@ -11,6 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 @RestController
@@ -68,4 +70,10 @@ public class FdkkSceneEditController {
         return ResultData.ok(fdkkResponse.getMsg(),fdkkResponse.getData());
     }
 
+    @GetMapping("/down/qrCode")
+    public void downQrcode (HttpServletRequest request, HttpServletResponse response,
+                            @RequestParam(required = false) String num){
+        fdkkSceneEditService.downQrCode(request,response,num);
+    }
+
 }

+ 20 - 3
src/main/java/com/cdf/service/impl/FdkkSceneEditService.java

@@ -16,9 +16,9 @@ import com.cdf.httpClient.response.FdkkResponse;
 import com.cdf.httpClient.response.cdf.*;
 import com.cdf.service.IFdkkUserService;
 import com.cdf.service.IHotRelationService;
-import com.cdf.util.FileUtils;
-import com.cdf.util.JwtUtil;
-import com.cdf.util.UploadToOssUtil;
+import com.cdf.util.*;
+import com.google.zxing.client.j2se.MatrixToImageWriter;
+import com.google.zxing.common.BitMatrix;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +28,8 @@ import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
 import java.util.*;
@@ -257,4 +259,19 @@ public class FdkkSceneEditService {
         }
         return tags;
     }
+
+    public void downQrCode(HttpServletRequest request, HttpServletResponse response, String num) {
+        String longUrl;
+        try {
+            longUrl = "http://vr.cdfmembers.com/index.html?m=" +num;
+            // 转换成短url
+            String shortUrl = ShortNetAddressUtil.generateShortUrl(longUrl);
+            // 生成二维码
+            BitMatrix qRcodeImg = QRCodeUtil.generateQRCodeStream(shortUrl, response);
+            // 将二维码输出到页面中
+            MatrixToImageWriter.writeToStream(qRcodeImg, "png", response.getOutputStream());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 39 - 0
src/main/java/com/cdf/util/QRCodeUtil.java

@@ -0,0 +1,39 @@
+package com.cdf.util;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.EncodeHintType;
+import com.google.zxing.MultiFormatWriter;
+import com.google.zxing.WriterException;
+import com.google.zxing.common.BitMatrix;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.Map;
+
+public class QRCodeUtil {
+    public static BitMatrix generateQRCodeStream(String content, HttpServletResponse response) {
+        //给相应添加头部信息,主要告诉浏览器返回的是图片流
+        response.setHeader("Cache-Control", "no-store");
+        // 不设置缓存
+        response.setHeader("Pragma", "no-cache");
+        response.setDateHeader("Expires", 0);
+        response.setContentType("image/png");
+        //设置图片的文字编码以及内边框
+        Map<EncodeHintType, Object> hints = new HashMap<>();
+        //编码
+        hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
+        //边框距
+        hints.put(EncodeHintType.MARGIN, 0);
+        BitMatrix bitMatrix;
+        try {
+            //参数分别为:编码内容、编码类型、图片宽度、图片高度,设置参数
+            bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 300, 300,hints);
+        }catch(WriterException e) {
+            e.printStackTrace();
+            return null;
+        }
+        return bitMatrix;
+
+    }
+
+}

文件差异内容过多而无法显示
+ 48 - 0
src/main/java/com/cdf/util/ShortNetAddressUtil.java