liusheng
2024-06-19 e52b0e34fc06372aab64c30b526ec289b99c9af7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/QRCodeController.java
@@ -5,6 +5,9 @@
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.mchange.v2.uid.UidUtils;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.framework.config.ServerConfig;
import com.smartor.domain.Question;
import com.smartor.domain.SvyLibTemplate;
import freemarker.template.Configuration;
@@ -12,6 +15,9 @@
import freemarker.template.TemplateException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
@@ -19,11 +25,9 @@
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Slf4j
@Api(description = "问卷二维码")
@RestController
@RequestMapping("/qrcode")
@@ -34,6 +38,12 @@
    public QRCodeController(Configuration configuration) {
        this.configuration = configuration;
    }
    @Value("${ruoyi.profile}")
    private String profile;
    @Autowired
    private ServerConfig serverConfig;
    /**
     * 问卷题目
@@ -105,18 +115,22 @@
    }
    /**
     * @param reqid  问卷ID
     * @param userid 用户ID
     * @param url 问卷ID
     * @param url 用户ID
     */
    @ApiOperation("获取问卷二维码")
    @GetMapping(value = "/getQRcode/{reqid}/{userid}")
    public void getQRcode(@PathVariable("reqid") String reqid, @PathVariable("userid") String userid) {
        String url = "http://192.168.2.10:8080/smartor/svytitle/generateStaticHtml";
        String filePath = "D:\\daima\\qrcode.png"; // 保存二维码图像的文件路径
    @PostMapping(value = "/getQRcode")
    public AjaxResult getQRcode(@RequestParam("url") String url) {
        log.info("获取问卷二维码的入参:{}", url);
        String uuid = UUID.randomUUID().toString().replace("-", "");
        String filePath = profile + "\\qrpath" + "\\" + uuid + ".png"; // 保存二维码图像的文件路径
        //判断文件夹是否存在
        File file = new File(profile + "\\qrpath");
        if (!file.exists()) {
            file.mkdirs();
        }
        generateQRCode(url, filePath);
        System.out.println("QR Code generated successfully!");
        return AjaxResult.success(serverConfig.getUrl() + "/profile/qrpath/" + uuid + ".png");
    }
    private void generateQRCode(String url, String filePath) {