zjk
5 小时以前 22e936e491b49fddbc664dd0709df55545d2d1fd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package com.ruoyi.system.api;
 
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.AccountMember;
import com.ruoyi.system.api.factory.RemoteAccountUserFallbackFactory;
import com.ruoyi.system.api.model.AccountRegisterRequest;
import com.ruoyi.system.api.model.AccountResetPasswordRequest;
 
/**
 * C端会员服务(ruoyi-user)
 *
 * @author hugray
 */
@FeignClient(contextId = "remoteAccountUserService", value = ServiceNameConstants.USER_SERVICE, fallbackFactory = RemoteAccountUserFallbackFactory.class)
public interface RemoteAccountUserService
{
    /**
     * 通过手机号查询C端会员信息
     *
     * @param phone 手机号
     * @param source 请求来源
     * @return 会员信息(不存在时 data 为空)
     */
    @GetMapping("/member/info/{phone}")
    public R<AccountMember> getMemberByPhone(@PathVariable("phone") String phone, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
    /**
     * 通过用户名查询C端会员信息(服务商端账号密码登录使用)
     *
     * 返回结果含 password 密文与 providerFlag,供认证服务校验密码与服务商身份。
     *
     * @param userName 用户名
     * @param source 请求来源
     * @return 会员信息(不存在时 data 为空)
     */
    @GetMapping("/member/info/username/{userName}")
    public R<AccountMember> getMemberByUsername(@PathVariable("userName") String userName, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
    /**
     * 注册C端会员
     *
     * @param request 注册请求(手机号、推荐码)
     * @param source 请求来源
     * @return 注册成功后的会员信息
     */
    @PostMapping("/member/register")
    public R<AccountMember> registerMember(@RequestBody AccountRegisterRequest request, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
    /**
     * 重置C端会员密码(忘记密码)
     *
     * 认证服务侧已完成手机号、账号状态与验证码校验,此处仅按手机号落库新密码
     * (用户服务内 BCrypt 加密,只更新 password 一列)。
     *
     * @param request 重置请求(手机号、新密码)
     * @param source 请求来源
     * @return 处理结果
     */
    @PostMapping("/member/password/reset")
    public R<Boolean> resetPassword(@RequestBody AccountResetPasswordRequest request, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}