| | |
| | | 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; |
| | |
| | | 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.*; |
| | | |
| | |
| | | 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") |
| | |
| | | public QRCodeController(Configuration configuration) { |
| | | this.configuration = configuration; |
| | | } |
| | | |
| | | @Value("${ruoyi.profile}") |
| | | private String profile; |
| | | |
| | | @Autowired |
| | | private ServerConfig serverConfig; |
| | | |
| | | /** |
| | | * 问卷题目 |
| | |
| | | } |
| | | |
| | | /** |
| | | * @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) { |