Pu Zhibing
2025-03-18 f615ec5c9239327740948501627545f8e78e2a9e
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package com.ruoyi.account.api.factory;
 
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.api.model.AppUserShop;
import com.ruoyi.common.core.domain.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
 
import java.util.Collections;
import java.util.List;
 
/**
 * @author zhibing.pu
 * @Date 2024/11/21 9:52
 */
@Slf4j
public class AppUserClientFallbackFactory implements FallbackFactory<AppUserClient> {
    
    
    
    @Override
    public AppUserClient create(Throwable cause) {
        
        return new AppUserClient() {
            @Override
            public AppUser getAppUserById(Long id) {
                log.error("根据id获取用户失败:{}", cause.getMessage());
                throw new RuntimeException("根据id获取用户失败");
            }
 
            @Override
            public R<Void> editAppUserById(AppUser appUser) {
                log.error("编辑用户信息失败:{}", cause.getMessage());
                return R.fail("编辑用户信息失败");
            }
 
            @Override
            public R<Long> getCouponCount(Long userId, Integer couponId) {
                log.error("获取优惠券数量失败:{}", cause.getMessage());
                throw new RuntimeException("获取优惠券数量失败");
            }
 
            @Override
            public R<List<AppUserShop>> getAppUserShop(Long userId) {
                log.error("获取用户门店信息失败:{}", cause.getMessage());
                throw new RuntimeException("获取用户门店信息失败");
            }
 
            @Override
            public R<List<AppUser>> getUserAncestorList(Long id) {
                log.error("获取用户祖籍列表失败:{}", cause.getMessage());
                throw new RuntimeException("获取用户祖籍列表失败");
            }
 
            @Override
            public R<AppUser> getSuperiorLeader(Long id) {
                return R.fail("获取直帮上级用户失败");
            }
 
            @Override
            public R<List<AppUser>> getTopUsers() {
                log.error("获取用户列表失败:{}", cause.getMessage());
                throw new RuntimeException("获取用户列表失败");
            }
 
            @Override
            public R<Long> getVipCount(Long userId, Integer vipId) {
                log.error("获取直推会员数失败:{}", cause.getMessage());
                throw new RuntimeException("获取直推会员数失败");
            }
            
            @Override
            public R<List<AppUser>> getAppUserByName(String name) {
                return R.fail("根据用户名称模糊搜索用户列表失败:" + cause.getMessage());
            }
 
            @Override
            public R<List<AppUser>> getAppUserByNameNoFilter(String name) {
                return R.fail("根据用户名称模糊搜索用户列表失败:" + cause.getMessage());
            }
 
            @Override
            public R<List<AppUser>> getAppUserByPhone(String phone) {
                return R.fail("根据用户电话模糊搜索用户列表失败:" + cause.getMessage());
            }
 
            @Override
            public R<List<AppUser>> getAppUserByPhoneNoFilter(String phone) {
                return R.fail("根据用户电话模糊搜索用户列表失败:" + cause.getMessage());
            }
 
            @Override
            public R<Void> addAppUserShop(AppUserShop appUserShop) {
                return R.fail("添加失败");
            }
 
            @Override
            public R<AppUser> getAppUserByPhone1(String phone) {
                return R.fail("通过手机号查询用户失败");
            }
 
            @Override
            public R<List<AppUser>> setLowerUserShop(Long userId, Integer shopId) {
                return R.fail();
            }
 
            @Override
            public List<AppUser> listByIds(List<Long> list) {
                log.error("获取用户失败: "+cause.getMessage());
                return Collections.emptyList();
            }
            
            @Override
            public void vipUpgrade(Long appUserId) {
                R.fail("检查会员等级变更失败:" + cause.getMessage());
            }
 
            @Override
            public void vipConsumption(Long appUserId) {
                R.fail("检查会员等级变更失败:" + cause.getMessage());
            }
 
            @Override
            public void vipDemotion(Long appUserId) {
                R.fail("检查会员等级降级失败:" + cause.getMessage());
            }
            
            @Override
            public void demotionDetection() {
                R.fail("用户降级检测失败:" + cause.getMessage());
            }
 
            @Override
            public R clearBindShop(Integer shopId) {
                return R.fail("清空绑定门店的用户门店数据失败:" + cause.getMessage());
            }
 
        };
    }
}