From fddf3d913d47f391f84f9e460cb76d427ef02c44 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 14 十月 2026 18:06:05 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Hugray

---
 hugray-server/ruoyi-modules/ruoyi-user/src/main/java/com/ruoyi/user/controller/AccountMemberInnerController.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/hugray-server/ruoyi-modules/ruoyi-user/src/main/java/com/ruoyi/user/controller/AccountMemberInnerController.java b/hugray-server/ruoyi-modules/ruoyi-user/src/main/java/com/ruoyi/user/controller/AccountMemberInnerController.java
index 080e3be..8744062 100644
--- a/hugray-server/ruoyi-modules/ruoyi-user/src/main/java/com/ruoyi/user/controller/AccountMemberInnerController.java
+++ b/hugray-server/ruoyi-modules/ruoyi-user/src/main/java/com/ruoyi/user/controller/AccountMemberInnerController.java
@@ -13,6 +13,7 @@
 import com.ruoyi.common.security.annotation.InnerAuth;
 import com.ruoyi.system.api.domain.AccountMember;
 import com.ruoyi.system.api.model.AccountRegisterRequest;
+import com.ruoyi.system.api.model.AccountResetPasswordRequest;
 import com.ruoyi.user.domain.AccountUser;
 import com.ruoyi.user.service.IAccountUserService;
 
@@ -50,6 +51,26 @@
     }
 
     /**
+     * 按用户名查询会员(服务商端账号密码登录使用)
+     *
+     * 返回结果含 password 密文与 providerFlag,供认证服务校验密码与服务商身份。
+     *
+     * @param userName 用户名
+     * @return 会员信息(不存在时 data 为空)
+     */
+    @InnerAuth
+    @GetMapping("/info/username/{userName}")
+    public R<AccountMember> infoByUsername(@PathVariable("userName") String userName)
+    {
+        AccountUser accountUser = accountUserService.selectAccountUserByUsername(userName);
+        if (StringUtils.isNull(accountUser))
+        {
+            return R.ok();
+        }
+        return R.ok(toAccountMember(accountUser));
+    }
+
+    /**
      * 注册C端会员
      *
      * @param request 注册请求(手机号、推荐码)
@@ -64,7 +85,27 @@
     }
 
     /**
+     * 重置C端会员密码(忘记密码)
+     *
+     * 认证服务完成手机号、账号状态与验证码校验后调用;此处 BCrypt 加密新密码并只更新 password 一列。
+     *
+     * @param request 重置请求(手机号、新密码)
+     * @return 处理结果
+     */
+    @InnerAuth
+    @PostMapping("/password/reset")
+    public R<Boolean> resetPassword(@Validated @RequestBody AccountResetPasswordRequest request)
+    {
+        accountUserService.resetPasswordByPhone(request.getPhone(), request.getPassword());
+        return R.ok(Boolean.TRUE);
+    }
+
+    /**
      * 会员实体转换为跨服务契约对象
+     *
+     * 一并回传 password 密文与 providerFlag:前者供认证服务核对密码(沿用 RuoYi
+     * 登录时下发密文、由 auth 侧 matchesPassword 的范式),后者供其判定服务商身份。
+     * 该对象仅经 @InnerAuth 内部接口流转,不对 C 端下发。
      */
     private AccountMember toAccountMember(AccountUser accountUser)
     {
@@ -77,6 +118,8 @@
         member.setMyReferralCode(accountUser.getMyReferralCode());
         member.setReferrerId(accountUser.getReferrerId());
         member.setStatus(accountUser.getStatus());
+        member.setProviderFlag(accountUser.getProviderFlag());
+        member.setPassword(accountUser.getPassword());
         return member;
     }
 }

--
Gitblit v1.7.1