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);
|
}
|