package com.rf.psychological.scale.service; import com.rf.psychological.scale.dao.model.SubjectEntity; import org.springframework.data.domain.Page; import java.util.List; import java.util.Optional; /** * @author zzf * @description: * @date 2021/5/17 9:44 */ public interface SubjectService { /** * 获取量表和认知任务列表 * * @return */ List findAll(int pageNum, int pageSize); /** * 检索,根据中文名或录入人 * * @param pageNum * @param pageSize * @param searchName * @return */ List findByNameOrUploader(int pageNum, int pageSize, String searchName); /** * 根据名称模糊查询或上传人精确查询总条数 * * @param searchName * @return */ int allNumByNameOrUploader(String searchName); Optional findById(String id); /** * 保存 * * @param subjectEntity */ void save(SubjectEntity subjectEntity); void saveBatch(List subjectEntityList); /** * 查询 * * @param type 0:量表 1:认知任务 * @return */ List findAll(String type); /** * 热门量表 * * @return */ List findHotScale(); /** * 最新测试 * * @return */ List findNewScale(); /** * 总条数 * * @return */ int allNum(); /** * 根据名称模糊查询列表 * * @return */ List getSubjectListByName(int pageNum, int pageSize, String searchStr); /** * 根据名称模糊查询总条数 * * @return */ int allNumByName(String searchStr); /** * 根据flag查询 * * @return */ List getSubjectByFlag(String flag); SubjectEntity findByFlag(String flag); /** * 根据flag记录测试数 * * @return */ void addTestNum(String flag); /** * 根据量表中文名查询 * * @return */ SubjectEntity getSubjectByname(String name); /** * * @param name * @param like true:使用like判断 false使用等值判断 * @return */ List getSubjectListByname(String name, Boolean like); /** * 修改量表测试结果效验状态 * * @param flag * @return */ void updateScaleStatus(String flag, String status); /** * 根据id修改量表 * * @param * @return */ void updateById(String id, String scoringPrinciple); /** * 某类别下模糊查询总条数 * * @return */ int allNumByNameCategory(String scaleName, String categoryEname); /** * 某类别下根据名称模糊查询列表 * * @return */ List getSubjectListByNameCategory(int pageNum, int pageSize, String scaleName, String categoryEname); /** * 某类别下总条数 * * @return */ int allNumCategory(String categoryEname); /** * 某类别下所有信息列表 * * @return */ List findAllCategory(int pageNum, int pageSize, String categoryEname); /** * 加上权限校验下的列表详情 * * @param pageNum * @param pageSize * @param scaleName * @param institutionNo * @return */ List getSubjectListByAuth(int pageNum, int pageSize, String scaleName, String institutionNo); List getSubjectListByAuthAndCategory(int pageNum, int pageSize, String scaleName, String categoryEname, String institutionNo); int allNumByAuth(String scaleName, String categoryEname, String institutionNo); /** * 查询用户的量表权限,含有类别 * * @param uId * @param scaleName * @param cateEName * @return */ Page findUserAuthAndCateEName(String uId, String scaleName, String cateEName, int pageNum, int pageSize); Page findInstitutionNoSubAuthList(String institutionNo, String searchKey, int pageNum, int pageSize); void update(SubjectEntity subjectEntity); SubjectEntity getSubjectEntityByFlag(String flag); //查询机构自定义量表列表 List institutionByTC(int pageNum, int pageSize, String institutionNo); int institutionByTCNum(String institutionNo); void deleteSubjectByFlag(String flag); List findByFlags(List flags); List getSubjectListByAuthSeted(int pageNum, int pageSize, String scaleName, String institutionNo, String scaleType); int getSubjectListByAuthSeted(String scaleName, String institutionNo, String scaleType); List getRelevantEvaluation(String flag); List getTrendingSearches(int numberFifteen); Page getsubjectListMultiCondition(String name, String scaleCate, String people, String currentLimit, int pageNum, int pageSize); }