From b3d1411517baca17d92dcfe3a0933cdc342b3145 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 16 五月 2026 11:52:41 +0800
Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserController.java |   94 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 89 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..7e7b0b2 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
@@ -1,11 +1,23 @@
 package com.xiaopeng.account.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.xiaopeng.account.mapper.XpPayFrontMapper;
 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.model.account.XpPayFront;
+import com.xiaopeng.api.vo.payFront.CreditPaySignQueryVo;
+import com.xiaopeng.api.vo.payFront.CreditPaySignVo;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.utils.OrderCodeUtil;
+import com.xiaopeng.common.core.web.domain.BaseModel;
 import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -34,6 +46,13 @@
 
     @Resource
     private IXpAppUserService xpAppUserService;
+
+    @Resource
+    private XpPayFrontClient xpPayFrontClient;
+
+
+    @Resource
+    private XpPayFrontMapper xpPayFrontMapper;
 
     /**
      * 获取用户统计数据(内部接口)
@@ -84,9 +103,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 +130,61 @@
     @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();
+                XpPayFront xpPayFront = new XpPayFront();
+                xpPayFront.setUserId(Long.valueOf(uid));
+                xpPayFront.setBusinessOrderId(OrderCodeUtil.getOrderCode("MMZF"));
+                xpPayFrontMapper.insert(xpPayFront);
+                return R.ok(data);
+            }
+
+        }else {
+            UnsignCreditPayDto unsignCreditPayDto = new UnsignCreditPayDto();
+            unsignCreditPayDto.setUid(Long.valueOf(uid));
+            unsignCreditPayDto.setBusinessId("xp-robotaxi");
+            unsignCreditPayDto.setCategory("009001");
+
+
+            String businessOrderId= null;
+            // 查询用户开通的id
+            List<XpPayFront> xpPayFronts = xpPayFrontMapper.selectList(new LambdaQueryWrapper<XpPayFront>().eq(XpPayFront::getUserId, Long.valueOf(uid)).orderByDesc(BaseModel::getCreateTime));
+            if(xpPayFronts.size()>0){
+                businessOrderId = xpPayFronts.get(0).getBusinessOrderId();
+            }
+            if(businessOrderId==null){
+                return R.ok();
+            }
+            unsignCreditPayDto.setBusinessOrderId(businessOrderId);
+            unsignCreditPayDto.setPayType("13");
+            R<?> unsignCreditPayVoR = xpPayFrontClient.unsign(unsignCreditPayDto);
+            if(unsignCreditPayVoR.getCode()==200){
+                // 移除信息
+                xpPayFrontMapper.delete(new LambdaQueryWrapper<XpPayFront>().eq(XpPayFront::getUserId, Long.valueOf(uid)));
+                return R.ok();
+            }
+        }
+
         return R.ok();
     }
+
+
+
+
+
+
 //-----------------------------------------------app接口------------------------------------------
 
 }

--
Gitblit v1.7.1