|
@@ -69,7 +69,8 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
private String notifyUrl;
|
|
|
@Value("${caimei.redirectLink}")
|
|
|
private String redirectLink;
|
|
|
-
|
|
|
+ @Value("${caimei.linkPage}")
|
|
|
+ private String linkPage;
|
|
|
|
|
|
/**
|
|
|
* 订单支付前效验付款规则
|
|
@@ -229,7 +230,7 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
// 机构信息
|
|
|
String userName = baseMapper.getUserNameByUserId(order.getUserId());
|
|
|
// 支付记录
|
|
|
- List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId());
|
|
|
+ List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId(), order.getShopOrderIds());
|
|
|
if (!discernReceiptList.isEmpty()) {
|
|
|
AtomicDouble receiptAmount = new AtomicDouble(0d);
|
|
|
AtomicReference<Boolean> offlineFlag = new AtomicReference<>(false);
|
|
@@ -317,6 +318,60 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
return ResponseJson.success(link);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 支付链接重定向到页面
|
|
|
+ *
|
|
|
+ * @param linkLogo 链接标识
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public String jumpPayPage(String linkLogo) {
|
|
|
+ return "redirect:" + linkPage + "?linkLogo=" + linkLogo;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 重定向页面的支付数据
|
|
|
+ *
|
|
|
+ * @param linkLogo 链接标识
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<Map<String, Object>> linkPayData(String linkLogo) {
|
|
|
+ OrderPayLinkVo orderPayLink = payOrderMapper.getPayLinkByLinkLogo(linkLogo);
|
|
|
+ if (null == orderPayLink) {
|
|
|
+ // 已重新生成链接
|
|
|
+ return ResponseJson.error("链接已更新,请重新获取", null);
|
|
|
+ }
|
|
|
+ //链接状态,0成功
|
|
|
+ int code = 0;
|
|
|
+ // 订单信息
|
|
|
+ OrderVo order = payOrderMapper.getOrderByOrderId(orderPayLink.getOrderId());
|
|
|
+ // 支付记录
|
|
|
+ List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId(), order.getShopOrderIds());
|
|
|
+ if (orderPayLink.getEffectiveTime().compareTo(new Date()) < 0) {
|
|
|
+ //链接失效
|
|
|
+ code = -3;
|
|
|
+ }
|
|
|
+ if (null != discernReceiptList && discernReceiptList.size() > 0) {
|
|
|
+ for (DiscernReceiptVo discernReceipt : discernReceiptList) {
|
|
|
+ if (2 == discernReceipt.getPayWay()) {
|
|
|
+ // 已线下支付
|
|
|
+ code = -2;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (1 == orderPayLink.getPayStatus()) {
|
|
|
+ //链接已支付
|
|
|
+ code = 5;
|
|
|
+ }
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String time = dateFormat.format(orderPayLink.getEffectiveTime());
|
|
|
+ Map<String, Object> map = new HashMap<>(3);
|
|
|
+ map.put("orderPayLink", orderPayLink);
|
|
|
+ map.put("code", code);
|
|
|
+ map.put("time", time);
|
|
|
+ return ResponseJson.success(map);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 微信线上支付
|
|
|
*
|
|
@@ -430,7 +485,7 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
return ResponseJson.error("订单状态错误", null);
|
|
|
}
|
|
|
// 支付记录
|
|
|
- List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId());
|
|
|
+ List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId(), order.getShopOrderIds());
|
|
|
if (!discernReceiptList.isEmpty()) {
|
|
|
AtomicReference<Boolean> offlineFlag = new AtomicReference<>(false);
|
|
|
discernReceiptList.forEach(discernReceipt -> {
|
|
@@ -549,7 +604,7 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
return "订单不存在";
|
|
|
}
|
|
|
// 支付记录
|
|
|
- List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId());
|
|
|
+ List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId(), order.getShopOrderIds());
|
|
|
if (!discernReceiptList.isEmpty()) {
|
|
|
AtomicDouble receiptAmount = new AtomicDouble(0d);
|
|
|
discernReceiptList.forEach(discernReceipt -> {
|