From 630078423702803511b7177bd6c1ddcbe13c0f08 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 24 二月 2026 18:18:03 +0800
Subject: [PATCH] 新增白名单判断

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPricingController.java |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPricingController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPricingController.java
index 2402341..2b7e120 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPricingController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPricingController.java
@@ -1,10 +1,14 @@
 package com.xiaopeng.operation.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xiaopeng.api.dto.account.UserResourcesDto;
 import com.xiaopeng.api.dto.map.RouteAndFareDto;
 import com.xiaopeng.api.dto.operation.LonLatDto;
+import com.xiaopeng.api.feignClient.account.UserResourcesClient;
 import com.xiaopeng.api.model.operation.XpPricing;
+import com.xiaopeng.api.model.operation.XpWhitelist;
 import com.xiaopeng.api.vo.operation.RouteAndFareVo;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.exception.ServiceException;
@@ -17,6 +21,7 @@
 import com.xiaopeng.operation.dto.XpOrderDto;
 import com.xiaopeng.operation.query.PricingPageListQuery;
 import com.xiaopeng.operation.service.IXpGeoQueryEntityService;
+import com.xiaopeng.operation.service.IXpWhitelistService;
 import com.xiaopeng.operation.service.XpPricingService;
 import com.xiaopeng.operation.vo.PricingPageListVO;
 import com.xiaopeng.operation.vo.SaveOrderVo;
@@ -47,11 +52,15 @@
 
     private final XpPricingService xpPricingService;
     private final IXpGeoQueryEntityService xpGeoQueryEntityService;
+    private final UserResourcesClient userResourcesClient;
+    private final IXpWhitelistService xpWhitelistService;
 
 
-    public XpPricingController(XpPricingService xpPricingService, IXpGeoQueryEntityService xpGeoQueryEntityService) {
+    public XpPricingController(XpPricingService xpPricingService, IXpGeoQueryEntityService xpGeoQueryEntityService, UserResourcesClient userResourcesClient, IXpWhitelistService xpWhitelistService) {
         this.xpPricingService = xpPricingService;
         this.xpGeoQueryEntityService = xpGeoQueryEntityService;
+        this.userResourcesClient = userResourcesClient;
+        this.xpWhitelistService = xpWhitelistService;
     }
 
 
@@ -102,6 +111,31 @@
 
 
     /**
+     * 获取用户是否在白名单中
+     */
+    @PostMapping("/base/v1/mini-program/pricing/isInWhiteList")
+    @ApiOperation(value = "获取用户是否在白名单中", tags = {"小程序-获取用户是否在白名单中"}, response = Boolean.class)
+    @XpClientCheck(checkToken = false, checkOtpToken = true)
+    public R<Boolean> isInWhiteList(HttpServletRequest request) {
+        String uid = request.getHeader("XP-Uid");
+        UserResourcesDto baseUserByUid = userResourcesClient.getBaseUserByUid(uid);
+        if (baseUserByUid!=null) {
+            try {
+                Object data = baseUserByUid.getData();
+                String phone = JSONObject.parseObject(data.toString()).getString("mobile");
+                long count = xpWhitelistService.count(new LambdaQueryWrapper<XpWhitelist>().eq(XpWhitelist::getAccount, phone).eq(XpWhitelist::getStatus, 1));
+                return R.ok(count>0);
+            }catch (Exception e){
+                log.error("获取用户信息失败: {}", e.getMessage());
+                return R.ok(false);
+            }
+
+        }
+        return R.ok(false);
+    }
+
+
+    /**
      * 保存信息
      * @param
      * @return

--
Gitblit v1.7.1