package com.ruoyi.satisfaction.service; import com.ruoyi.satisfaction.domain.PatSatisfaction; import com.ruoyi.satisfaction.domain.vo.PatSatisfactionReqVO; import com.ruoyi.satisfaction.domain.vo.PatSatisfactionResVO; import java.util.List; import java.util.Map; /** * 患者满意度 Service 接口。 *

* 迁移说明:原为 {@code com.smartor.service.IPatSatisfactionService},整体搬入满意度模块。 * 方法签名与语义一字未改,Controller 的 URL 与出入参也因此保持不变。 *

* ⚠️ 本接口只应在满意度模块内部使用;其它模块需要满意度数据请使用 * {@code com.ruoyi.satisfaction.api} 下的门面接口。 * * @author lihu * @date 2025-06-30 */ public interface IPatSatisfactionService { // ================================================================ pat_satisfaction 表 CRUD /** * 查询患者满意度 * * @param id 患者满意度主键 * @return 患者满意度 */ PatSatisfaction selectPatSatisfactionById(Long id); /** * 查询患者满意度列表 * * @param patSatisfaction 患者满意度 * @return 患者满意度集合 */ List selectPatSatisfactionList(PatSatisfaction patSatisfaction); /** * 新增患者满意度 */ int insertPatSatisfaction(PatSatisfaction patSatisfaction); /** * 批量新增患者满意度 */ int batchInsert(List patSatisfactions); /** * 修改患者满意度 */ int updatePatSatisfaction(PatSatisfaction patSatisfaction); /** * 批量删除患者满意度 */ int deletePatSatisfactionByIds(Long[] ids); /** * 删除患者满意度信息 */ int deletePatSatisfactionById(Long id); // ================================================================ 统计 /** * 患者满意度统计(明细口径:逐问题返回答题人数、平均分、最高/最低分、答题率、选项占比) * * @param patSatisfactionReqVO 统计条件 * @return 统计结果 */ PatSatisfactionResVO statistics(PatSatisfactionReqVO patSatisfactionReqVO); /** * 患者满意度统计(维度口径,与 {@link #statistics} 的差异仅在「问题来源」: * 前者按满意度分类取,本方法按入参 dimensionList 取) */ PatSatisfactionResVO statisticsByDimension(PatSatisfactionReqVO patSatisfactionReqVO); /** * 患者满意度柱状图信息(分类口径:按分类汇总发送量、回收人数、回收率、平均分) */ Map satisfactionGraph(PatSatisfactionReqVO patSatisfactionReqVO); /** * 患者满意度柱状图信息(维度口径) */ Map satisfactionGraphDimension(PatSatisfactionReqVO patSatisfactionReqVO); }