|
|
@@ -3,6 +3,7 @@ package com.jzg.quotation.summary.controller;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.jzg.commons.constants.Constants;
|
|
|
+import com.jzg.commons.constants.quote.enums.quote.RiskCode;
|
|
|
import com.jzg.commons.core.base.BaseController;
|
|
|
import com.jzg.commons.core.page.HttpResult;
|
|
|
import com.jzg.commons.entity.orders.po.*;
|
|
|
@@ -12,9 +13,9 @@ import com.jzg.commons.util.AssertionUtils;
|
|
|
import com.jzg.commons.util.LocalDateTimeUtils;
|
|
|
import com.jzg.commons.util.StringUtils;
|
|
|
import com.jzg.quotation.commons.client.PlatformClient;
|
|
|
-import com.jzg.commons.constants.quote.enums.quote.RiskCode;
|
|
|
import com.jzg.quotation.summary.entity.vo.QrCodeVo;
|
|
|
import com.jzg.quotation.summary.service.*;
|
|
|
+import com.jzg.quotation.summary.utils.QrCodeUtil;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
import jakarta.validation.constraints.NotBlank;
|
|
|
@@ -177,7 +178,24 @@ public class QrCodeController extends BaseController {
|
|
|
modelAndView.addObject("data", qrCodeVo);
|
|
|
if (Constants.CONFIG_TYPE_1.equals(config.getType())) {
|
|
|
modelAndView.setViewName("qrcode1");
|
|
|
- qrCodeVo.setQrCodeUrl("data:image/png;base64," + ordersQrcode.getJumpUrl());
|
|
|
+ String jumpUrl = ordersQrcode.getJumpUrl();
|
|
|
+ String finalQrUrl;
|
|
|
+
|
|
|
+ // 如果是 http 地址,下载图片并转 Base64
|
|
|
+ if (jumpUrl.startsWith("http://") || jumpUrl.startsWith("https://")) {
|
|
|
+ try {
|
|
|
+ String qrImageBase64 = QrCodeUtil.createQrBase64(jumpUrl);
|
|
|
+ finalQrUrl = "data:image/png;base64," + qrImageBase64;
|
|
|
+ } catch (Exception e) {
|
|
|
+ // 下载失败,直接用原地址
|
|
|
+ finalQrUrl = jumpUrl;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 本身就是 base64
|
|
|
+ finalQrUrl = "data:image/png;base64," + jumpUrl;
|
|
|
+ }
|
|
|
+
|
|
|
+ qrCodeVo.setQrCodeUrl(finalQrUrl);
|
|
|
} else {
|
|
|
modelAndView.setViewName("qrcode");
|
|
|
qrCodeVo.setQrCodeUrl(ordersQrcode.getJumpUrl());
|