Mr.qian il y a 6 jours
Parent
commit
5f3bc9e587

+ 37 - 1
cif-service/src/main/java/com/txz/cif/web/RechargeRecordApiController.java

@@ -30,6 +30,7 @@ import com.txz.cif.web.para.RecordParam;
 import com.txz.cif.web.ro.TFPayNotifyDTO;
 import com.txz.cif.web.vo.CreatePayVO;
 import com.txz.cif.web.vo.PaymentPriceVO;
+import com.txz.cif.web.vo.UnpaidOrderVO;
 import com.txz.core.ServiceException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -110,7 +111,7 @@ public class RechargeRecordApiController {
      * 充值未完成订单
      */
     @GetMapping("unpaidOrder")
-    public Result unpaidOrder(HttpServletRequest request) {
+    public Result<UnpaidOrderVO> unpaidOrder(HttpServletRequest request) {
         Condition condition = new Condition(RechargeRecord.class);
         Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("status", 1);
@@ -122,6 +123,41 @@ public class RechargeRecordApiController {
         }
         RechargeRecord rechargeRecord = list.get(0);
         
+        Condition conditionBiz = new Condition(BizLog.class);
+        Criteria criteriaBiz = conditionBiz.createCriteria();
+        criteriaBiz.andEqualTo("bizType", 1);
+        criteriaBiz.andEqualTo("bizNo", rechargeRecord.getOrderNo());
+        criteriaBiz.andIsNotNull("receiveMessage");
+        List<BizLog> bizCondition = bizLogService.findByCondition(conditionBiz);
+        if (CollectionUtil.isEmpty(bizCondition)) {
+            return Result.success();
+        }
+        JSONObject receiveJson = JSONUtil.parseObj(bizCondition.get(0).getReceiveMessage());
+        
+        JSONObject sendJson = JSONUtil.parseObj(bizCondition.get(0).getSendMessage());
+        return Result.success(UnpaidOrderVO.builder()
+                .amount(sendJson.getStr("pay_amount"))
+                .payUrl(receiveJson.getStr("data"))
+                .build());
+    }
+    
+    /**
+     * 充值订单二次三方支付
+     */
+    @GetMapping("thirdPayAgree/{recordId:^\\d+$}")
+    public Result thirdPayAgree(@PathVariable("paymentId") Long paymentId, HttpServletRequest request) {
+        Condition condition = new Condition(RechargeRecord.class);
+        Criteria criteria = condition.createCriteria();
+        criteria.andEqualTo("status", 1);
+        criteria.andEqualTo("userId", authService.getTokenUserId(request));
+        criteria.andEqualTo("id", paymentId);
+        condition.setOrderByClause("create_time desc");
+        List<RechargeRecord> list = rechargeRecordService.findByCondition(condition);
+        if (CollectionUtil.isEmpty(list)) {
+            return Result.success();
+        }
+        RechargeRecord rechargeRecord = list.get(0);
+        
         Condition conditionBiz = new Condition(BizLog.class);
         Criteria criteriaBiz = conditionBiz.createCriteria();
         criteriaBiz.andEqualTo("bizType", 1);

+ 24 - 0
cif-service/src/main/java/com/txz/cif/web/vo/UnpaidOrderVO.java

@@ -0,0 +1,24 @@
+package com.txz.cif.web.vo;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * @author: MTD®️
+ * @date: 2025/9/2
+ */
+@Data
+@Builder
+public class UnpaidOrderVO {
+    
+    /**
+     * 充值金额
+     */
+    private String amount;
+    
+    /**
+     * 支付连接
+     */
+    private String payUrl;
+    
+}