From 193f08a3a815ed0cf4567bdbc38ba317dd9ec57c Mon Sep 17 00:00:00 2001
From: shinnosuke <tantao@1hoper.com>
Date: 星期一, 13 七月 2026 17:14:05 +0800
Subject: [PATCH] feat(charging): 实现扫码充电V2.0预约功能和VIN校验
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 55 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 45 insertions(+), 10 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index 0809eaa..6274d4b 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -17,6 +17,8 @@
import com.ruoyi.account.util.*;
import com.ruoyi.account.util.carBrand.CarBrandUtil;
import com.ruoyi.account.wx.model.WeixinProperties;
+import com.ruoyi.chargingPile.api.feignClient.PartnerClient;
+import com.ruoyi.chargingPile.api.model.Partner;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.MsgConstants;
import com.ruoyi.common.core.domain.R;
@@ -153,6 +155,8 @@
private GiveVipUtil giveVipUtil;
@Resource
private TAppUserWhitelistService appUserWhitelistService;
+ @Resource
+ private PartnerClient partnerClient;
@Autowired
private RedissonClient redissonClient;
@@ -921,16 +925,35 @@
appUserInfoDto.setFirstAdd(byId.getFirstAdd()!=null?byId.getFirstAdd():0);
appUserInfoDto.setPoints(byId.getPoints()==null?0:byId.getPoints());
appUserInfoDto.setBalance(byId.getBalance()==null?BigDecimal.ZERO:byId.getBalance());
- TAppUserWhitelist partnerWhitelist = appUserWhitelistService.lambdaQuery()
- .eq(TAppUserWhitelist::getAppUserId, userId)
- .eq(TAppUserWhitelist::getScopeType, 3)
- .eq(TAppUserWhitelist::getStatus, 1)
- .eq(TAppUserWhitelist::getDelFlag, false)
- .isNotNull(TAppUserWhitelist::getPartnerId)
- .last("limit 1")
- .one();
- appUserInfoDto.setIsPartnerUser(partnerWhitelist == null ? 0 : 1);
- appUserInfoDto.setPartnerId(partnerWhitelist == null ? null : partnerWhitelist.getPartnerId());
+ Partner boundPartner = null;
+ try {
+ R<Partner> partnerResult = partnerClient.getPartnerByAppUserId(userId);
+ boundPartner = partnerResult == null ? null : partnerResult.getData();
+ } catch (Exception e) {
+ log.warn("查询小程序用户绑定合作商失败,继续兼容旧白名单关系: {}", e.getMessage());
+ }
+
+ Integer partnerId = boundPartner == null ? null : boundPartner.getId();
+ String partnerName = boundPartner == null ? null : boundPartner.getName();
+ if (partnerId == null) {
+ TAppUserWhitelist partnerWhitelist = appUserWhitelistService.lambdaQuery()
+ .eq(TAppUserWhitelist::getAppUserId, userId)
+ .eq(TAppUserWhitelist::getScopeType, 3)
+ .eq(TAppUserWhitelist::getStatus, 1)
+ .eq(TAppUserWhitelist::getDelFlag, false)
+ .isNotNull(TAppUserWhitelist::getPartnerId)
+ .last("limit 1")
+ .one();
+ if (partnerWhitelist != null) {
+ partnerId = partnerWhitelist.getPartnerId();
+ R<Partner> legacyPartnerResult = partnerClient.getPartnerById(partnerId);
+ Partner legacyPartner = legacyPartnerResult == null ? null : legacyPartnerResult.getData();
+ partnerName = legacyPartner == null ? null : legacyPartner.getName();
+ }
+ }
+ appUserInfoDto.setIsPartnerUser(partnerId == null ? 0 : 1);
+ appUserInfoDto.setPartnerId(partnerId);
+ appUserInfoDto.setPartnerName(partnerName);
return R.ok(appUserInfoDto);
}
@@ -1220,6 +1243,18 @@
return R.ok(appUserService.list(Wrappers.lambdaQuery(TAppUser.class)
.eq(TAppUser::getPhone,phone)));
}
+
+ @GetMapping("/user/searchPartnerBindUsers")
+ public R<Page<TAppUser>> searchPartnerBindUsers(@RequestParam(value = "phone", required = false) String phone,
+ @RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize) {
+ Page<TAppUser> page = appUserService.lambdaQuery()
+ .like(StringUtils.isNotEmpty(phone), TAppUser::getPhone, phone)
+ .orderByDesc(BasePojo::getCreateTime)
+ .page(Page.of(pageNum, pageSize));
+ page.getRecords().forEach(user -> user.setUid(user.getId().toString()));
+ return R.ok(page);
+ }
@Log(title = "【我的】签到", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE)
@ApiOperation(value = "签到", tags = {"小程序-个人中心-签到"})
--
Gitblit v1.7.1