From 3c2c0ff780c35b7046b89457b1de742d410f8c7f Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 14 五月 2026 09:35:09 +0800
Subject: [PATCH] 对接免密

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserController.java |   70 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserController.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserController.java
index 2c1deb8..13bf29c 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserController.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserController.java
@@ -2,10 +2,18 @@
 
 import com.xiaopeng.account.model.dto.CollectAddrDTO;
 import com.xiaopeng.account.service.IXpAppUserService;
+import com.xiaopeng.api.dto.payFront.CreditPaySignDto;
+import com.xiaopeng.api.dto.payFront.CreditPaySignQueryDto;
+import com.xiaopeng.api.dto.payFront.UnsignCreditPayDto;
 import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
 import com.xiaopeng.api.dto.statistics.UserStatisticsDTO;
+import com.xiaopeng.api.feignClient.payFront.XpPayFrontClient;
 import com.xiaopeng.api.model.account.XpAppUser;
+import com.xiaopeng.api.vo.payFront.CreditPaySignQueryVo;
+import com.xiaopeng.api.vo.payFront.CreditPaySignVo;
+import com.xiaopeng.api.vo.payFront.UnsignCreditPayVo;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.utils.OrderCodeUtil;
 import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -34,6 +42,9 @@
 
     @Resource
     private IXpAppUserService xpAppUserService;
+
+    @Resource
+    private XpPayFrontClient xpPayFrontClient;
 
     /**
      * 获取用户统计数据(内部接口)
@@ -84,9 +95,25 @@
     public R<Boolean> appUserGetPayPwd(HttpServletRequest request) {
         // uid已通过拦截器otp校验,可以直接使用
         String uid = request.getHeader("XP-Uid");
-        //调用其他接口获取 免密结果 todo yyy
-        Boolean is = true;
-        return R.ok(is);
+        //调用其他接口获取 免密结果
+        Boolean signed = false;
+
+        CreditPaySignQueryDto creditPaySignQueryDto = new CreditPaySignQueryDto();
+        creditPaySignQueryDto.setUid(Long.valueOf(uid));
+        creditPaySignQueryDto.setBusinessId("xp-robotaxi");
+        creditPaySignQueryDto.setCategory("009001");
+        creditPaySignQueryDto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF"));
+        R<CreditPaySignQueryVo> creditPaySignQueryVoR = xpPayFrontClient.queryCreditPaySign(creditPaySignQueryDto);
+        if (creditPaySignQueryVoR.getCode()==200) {
+            CreditPaySignQueryVo data = creditPaySignQueryVoR.getData();
+            // 查看是否有签约的
+            long count = data.getSignList().stream().filter(e -> e.getStatus().equals("VALID")).count();
+            if (count > 0){
+                signed = true;
+            }
+        }
+
+        return R.ok(signed);
     }
 
     /**
@@ -95,12 +122,45 @@
     @PostMapping("/api/v1/mini-program/appUser/setPayPwd")
     @ApiOperation(value = "个人中心-设置免密结果", tags = {"小程序-设置免密结果"})
     @XpClientCheck(checkToken = false, checkOtpToken = true)
-    public R<?> appUserSetPayPwd(HttpServletRequest request) {
+    public R<?> appUserSetPayPwd(@RequestParam Integer status,HttpServletRequest request) {
         // uid已通过拦截器otp校验,可以直接使用
         String uid = request.getHeader("XP-Uid");
-        //调用其他接口设置免密结果 todo yyy
+        //调用其他接口设置免密结果
+        if(status==1){
+            CreditPaySignDto creditPaySignDto = new CreditPaySignDto();
+            creditPaySignDto.setUid(Long.valueOf(uid));
+            creditPaySignDto.setBusinessId("xp-robotaxi");
+            creditPaySignDto.setCategory("009001");
+            creditPaySignDto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF"));
+            creditPaySignDto.setPayType("13");
+            R<CreditPaySignVo> creditPaySignVoR = xpPayFrontClient.creditPaySign(creditPaySignDto);
+            if(creditPaySignVoR.getCode()==200){
+                CreditPaySignVo data = creditPaySignVoR.getData();
+                return R.ok(data);
+            }
+
+        }else {
+            UnsignCreditPayDto unsignCreditPayDto = new UnsignCreditPayDto();
+            unsignCreditPayDto.setUid(Long.valueOf(uid));
+            unsignCreditPayDto.setBusinessId("xp-robotaxi");
+            unsignCreditPayDto.setCategory("009001");
+            unsignCreditPayDto.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF"));
+            unsignCreditPayDto.setPayType("13");
+            R<UnsignCreditPayVo> unsignCreditPayVoR = xpPayFrontClient.unsign(unsignCreditPayDto);
+            if(unsignCreditPayVoR.getCode()==200){
+                UnsignCreditPayVo data = unsignCreditPayVoR.getData();
+                return R.ok(data);
+            }
+        }
+
         return R.ok();
     }
+
+
+
+
+
+
 //-----------------------------------------------app接口------------------------------------------
 
 }

--
Gitblit v1.7.1