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; /** * 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 getMemberByPhone(@PathVariable("phone") String phone, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 注册C端会员 * * @param request 注册请求(手机号、推荐码) * @param source 请求来源 * @return 注册成功后的会员信息 */ @PostMapping("/member/register") public R registerMember(@RequestBody AccountRegisterRequest request, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); }