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