MemberFeignClient.java 2.4 KB
Newer Older
H
haoxr 已提交
1
package com.youlai.mall.ums.api;
H
haoxr 已提交
2

3
import com.youlai.common.result.Result;
G
Gadfly 已提交
4
import com.youlai.mall.pms.pojo.vo.ProductHistoryVO;
5
import com.youlai.mall.ums.dto.MemberAddressDTO;
6
import com.youlai.mall.ums.dto.MemberAuthDTO;
7
import com.youlai.mall.ums.dto.MemberDTO;
郝先瑞 已提交
8
import com.youlai.mall.ums.dto.MemberInfoDTO;
H
haoxr 已提交
9
import org.springframework.cloud.openfeign.FeignClient;
H
haoxr 已提交
10
import org.springframework.web.bind.annotation.*;
H
haoxr 已提交
11

12 13
import java.util.List;

14 15 16 17 18 19
/**
 * 会员Feign客户端
 *
 * @author haoxr
 * @date 2022/11/29
 */
G
Gadfly 已提交
20
@FeignClient(name = "mall-ums", contextId = "member")
H
haoxr 已提交
21
public interface MemberFeignClient {
H
haoxr 已提交
22 23

    /**
24 25 26 27
     * 新增会员
     *
     * @param member
     * @return
H
haoxr 已提交
28
     */
29 30
    @PostMapping("/app-api/v1/members")
    Result<Long> addMember(@RequestBody MemberDTO member);
H
haoxr 已提交
31

G
Gadfly 已提交
32
    /**
33 34 35
     * 获取会员的 openid
     *
     * @return
G
Gadfly 已提交
36
     */
37 38
    @PostMapping("/app-api/v1/members/{memberId}/openid")
    Result<String> getMemberOpenId(@PathVariable Long memberId);
H
haoxr 已提交
39

huawei_code1994's avatar
huawei_code1994 已提交
40
    /**
H
haoxr 已提交
41
     * 扣减会员余额
huawei_code1994's avatar
huawei_code1994 已提交
42
     */
43 44
    @PutMapping("/app-api/v1/members/{memberId}/balances/_deduct")
    <T> Result<T> deductBalance(@PathVariable Long memberId, @RequestParam Long amount);
45

G
Gadfly 已提交
46 47 48 49 50
    /**
     * 添加浏览记录
     */
    @PostMapping("/app-api/v1/members/view/history")
    <T> Result<T> addProductViewHistory(@RequestBody ProductHistoryVO product);
51 52 53 54 55 56 57 58

    /**
     * 根据openId获取会员认证信息
     *
     * @param openid
     * @return
     */
    @GetMapping("/app-api/v1/members/openid/{openid}")
59
    Result<MemberAuthDTO> loadUserByOpenId(@PathVariable String openid);
60 61 62 63 64 65 66 67

    /**
     * 根据手机号获取会员认证信息
     *
     * @param mobile
     * @return
     */
    @GetMapping("/app-api/v1/members/mobile/{mobile}")
68
    Result<MemberAuthDTO> loadUserByMobile(@PathVariable String mobile);
69

70 71 72 73 74 75 76 77 78
    /**
     * 获取会员地址列表
     *
     * @param memberId
     * @return
     */
    @GetMapping("/app-api/v1/members/{memberId}/addresses")
    Result<List<MemberAddressDTO>> listMemberAddresses(@PathVariable Long memberId);

79
    /**
80
     * 「实验室」重置会员余额
81 82 83 84
     *
     * @param memberId
     * @return
     */
H
haoxr 已提交
85
    @PutMapping("/app-api/v1/members/{memberId}/balance/_reset")
86
    Result resetBalance(@PathVariable Long memberId);
87 88 89 90 91 92 93

    /**
     * 「实验室」获取会员信息
     *
     * @param memberId
     * @return
     */
郝先瑞 已提交
94 95
    @GetMapping("/api/v1/members/{memberId}/info")
    Result<MemberInfoDTO> getMemberInfo(@PathVariable Long memberId);
96

H
haoxr 已提交
97 98 99
}