liusheng
2026-10-12 26d1f59f0266672398975ba0337bb3d8267c2d95
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
package com.ruoyi.common.core.service;
 
import java.util.Map;
 
/**
 * 满意度分类查询接口(供 ruoyi-system 等模块通过 Spring 容器调用满意度模块的实现)。
 * <p>
 * <b>为什么单独拆出这个接口</b>:满意度分类原本挂在 {@link IUserExtInfoService} 上,
 * 由 smartor 模块的 {@code UserExtInfoServiceImpl} 实现。满意度模块化后,
 * 该查询已整段搬入 ruoyi-satisfaction;为了不让调用方(登录链路)与满意度模块直接耦合,
 * 这里把"满意度分类"这一能力单独抽成接口放在 ruoyi-common:
 * <ul>
 *   <li>接口在 ruoyi-common —— 调用方只依赖接口,不依赖满意度模块;</li>
 *   <li>实现由满意度模块的常驻门面 {@code SatisfactionFacade} 提供,
 *       该 Bean <b>永远存在</b>,因此调用方不会因为满意度模块被关闭而启动失败;</li>
 *   <li>满意度模块关闭({@code satisfaction.enabled=false})或该模块整体不在依赖里时,
 *       调用方拿不到实现,应降级为空结果(见 {@code SysUserServiceImpl#loadSatisfactionCategories})。</li>
 * </ul>
 */
public interface ISatisfactionCategoryService {
 
    /**
     * 获取满意度问题分类(语音 + 问卷),带缓存。
     *
     * @param orgid 机构ID
     * @return 包含 {@code voiceCategories} 与 {@code questionnaireCategorys} 的 Map;
     * 满意度模块关闭或不可用时返回空 Map
     */
    Map<String, Object> getSatisfactionCategories(String orgid);
}