puzhibing
2026-02-24 8d7a120f118bce0325b7a2b375475345b9d8ccb4
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
package com.xiaopeng.api.factory.account;
 
import com.xiaopeng.api.feignClient.account.SysGroupMenuClient;
import com.xiaopeng.common.core.domain.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
 
import java.util.Collections;
import java.util.List;
 
/**
 * 权限组菜单关联服务降级工厂
 */
@Slf4j
@Component
public class SysGroupMenuClientFallbackFactory implements FallbackFactory<SysGroupMenuClient> {
 
    @Override
    public SysGroupMenuClient create(Throwable cause) {
        return new SysGroupMenuClient() {
            @Override
            public R<List<Long>> selectMenuIdsByGroupId(Long groupId) {
                log.error("调用权限组菜单服务失败, groupId={}, 异常: {}",
                    groupId, cause.getMessage(), cause);
                // 降级策略: 返回空列表
                return R.ok(Collections.emptyList());
            }
        };
    }
}