|
|
@@ -9,6 +9,8 @@ import com.jzg.commons.core.page.HttpResult;
|
|
|
import com.jzg.commons.entity.orders.po.*;
|
|
|
import com.jzg.commons.entity.po.EsmInsCompany;
|
|
|
import com.jzg.commons.entity.po.QrBarcodeConfig;
|
|
|
+import com.jzg.commons.entity.quote.vo.aggregated.PaymentLinkVo;
|
|
|
+import com.jzg.commons.entity.quote.vo.base.OrderBase;
|
|
|
import com.jzg.commons.exception.SystemException;
|
|
|
import com.jzg.commons.util.AssertionUtils;
|
|
|
import com.jzg.commons.util.LocalDateTimeUtils;
|
|
|
@@ -51,6 +53,7 @@ public class QrCodeController extends BaseController {
|
|
|
private final InsOrdersCarInfoService insOrdersCarInfoService;
|
|
|
private final InsOrdersRiskService insOrdersRiskService;
|
|
|
private final PlatformClient platformClient;
|
|
|
+ private final UnifyOrderManager unifyOrderManager;
|
|
|
//二维码生成地址
|
|
|
@Value("${qrcode.genAddress}")
|
|
|
private String qrCodeGenAddress;
|
|
|
@@ -60,7 +63,7 @@ public class QrCodeController extends BaseController {
|
|
|
|
|
|
@GetMapping(value = "/getQrCode")
|
|
|
@Operation(summary = "获取二维码")
|
|
|
- public ModelAndView getQrCode(@NotBlank(message = "订单号号不能为空") @RequestParam("orderNo") String orderNo) {
|
|
|
+ public ModelAndView getQrCode(@NotBlank(message = "订单号号不能为空") @RequestParam("orderNo") String orderNo) throws Exception {
|
|
|
// 获取保存支付url
|
|
|
InsOrders orders = insOrdersService.getById(orderNo);
|
|
|
List<InsOrdersCarUserInfo> carUserInfoList = insOrdersCarUserInfoService.getByOrderId(orderNo);
|
|
|
@@ -96,6 +99,13 @@ public class QrCodeController extends BaseController {
|
|
|
|
|
|
InsOrdersQrcode ordersQrcode = insOrdersQrcodeService.getOneOrSave(orders);
|
|
|
if(ordersQrcode.getJumpUrl() == null || ordersQrcode.getJumpUrl().isEmpty()){
|
|
|
+ // 尝试获取支付连接
|
|
|
+ PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
|
|
|
+ OrderBase orderBase = new OrderBase();
|
|
|
+ orderBase.setOrdersNo(orderNo);
|
|
|
+ paymentLinkVo.setOrder(orderBase);
|
|
|
+ HttpResult httpResult = unifyOrderManager.getPaymentLink(paymentLinkVo);
|
|
|
+
|
|
|
throw new SystemException("订单不存在支付连接");
|
|
|
}
|
|
|
|
|
|
@@ -203,7 +213,12 @@ public class QrCodeController extends BaseController {
|
|
|
}
|
|
|
} else {
|
|
|
// 本身就是 base64
|
|
|
- finalQrUrl = "data:image/png;base64," + jumpUrl;
|
|
|
+ boolean isBase64Image = jumpUrl.startsWith("data:image/");
|
|
|
+ if(!isBase64Image) {
|
|
|
+ finalQrUrl = "data:image/png;base64," + jumpUrl;
|
|
|
+ }else{
|
|
|
+ finalQrUrl = jumpUrl;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
qrCodeVo.setQrCodeUrl(finalQrUrl);
|