package com.ruoyi.mall.service; import java.math.BigDecimal; import java.util.List; import java.util.Map; import com.github.pagehelper.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.mall.domain.Bo.CountScoreBO; import com.ruoyi.mall.domain.MallAcceptRateSetting; import com.ruoyi.mall.domain.MallCountMethod; import com.ruoyi.mall.domain.Vo.SchoolVO; /** * 计算公式数据Service接口 * * @author ruoyi * @date 2023-10-25 */ public interface IMallCountMethodService { /** * 查询计算公式数据 * * @param countMethodId 计算公式数据主键 * @return 计算公式数据 */ public MallCountMethod selectMallCountMethodByCountMethodId(Long countMethodId); /** * 查询计算公式数据列表 * * @param mallCountMethod 计算公式数据 * @return 计算公式数据集合 */ public List selectMallCountMethodList(MallCountMethod mallCountMethod); /** * 新增计算公式数据 * * @param mallCountMethod 计算公式数据 * @return 结果 */ public int insertMallCountMethod(MallCountMethod mallCountMethod); /** * 修改计算公式数据 * * @param mallCountMethod 计算公式数据 * @return 结果 */ public int updateMallCountMethod(MallCountMethod mallCountMethod); /** * 批量删除计算公式数据 * * @param countMethodIds 需要删除的计算公式数据主键集合 * @return 结果 */ public int deleteMallCountMethodByCountMethodIds(Long[] countMethodIds); /** * 删除计算公式数据信息 * * @param countMethodId 计算公式数据主键 * @return 结果 */ public int deleteMallCountMethodByCountMethodId(Long countMethodId); /** * 计算所需文化分 * @param majorScore 用户联考分(专业分) * @param acceptScore 录取分 * @param acceptRuleId 计算公式id * @return 结果 */ public BigDecimal getNeedCultureScore(Integer majorScore, BigDecimal acceptScore, Long acceptRuleId); /** * 计算综合分 * @param cultureScore 文化分 * @param majorScore 专业分 * @param acceptRuleId 计算公式id * @return 结果 */ public BigDecimal getTotalScore(Integer cultureScore, Integer majorScore, Long acceptRuleId); /** * 获取计算方式字符串 * @param acceptRuleId 计算方法id * @return 结果 */ public String getCountMethodStr(Long acceptRuleId); /** * 计算录取概率 * @param cultureScore 文化分 * @param majorScore 专业分 * @return 结果 */ public Map getAcceptRate(BigDecimal reference, Long acceptRuleId, Integer cultureScore, Integer majorScore); public Map zhuankegetAcceptRate(BigDecimal reference, Long acceptRuleId, Integer cultureScore, Integer majorScore); /** * 计算批次学校专业录取概率 * @param cultureScore 文化分 * @param majorScore 专业分 * @return 结果 * 用于志愿填报 */ public Map getAcceptRateForReport(BigDecimal reference, Long acceptRuleId, Integer cultureScore, Integer majorScore); public Map getAcceptRateForReport2(BigDecimal reference, BigDecimal totalScore, Integer cultureScore, Integer majorScore); /** * 专科 * @param reference * @param acceptRuleId * @param cultureScore * @param majorScore * @return */ public Map zhuankegetAcceptRateForReport(BigDecimal reference, Long acceptRuleId, Integer cultureScore, Integer majorScore); public Map zhuankegetAcceptRateForReport2(BigDecimal reference, BigDecimal totalScore, Integer cultureScore, Integer majorScore); /** * 计算方法-计算综合分 * @param countScoreBO 用户分数信息 * @return 结果 */ public AjaxResult countScore(CountScoreBO countScoreBO); /** * 专科批计算方法 * @return 结果 */ public AjaxResult getTrainingSchoolMethod(Integer cultureScore, Integer majorScore); /** * 满分达成率 * @return 结果 */ public String fullScoreRate(BigDecimal userScore, BigDecimal fullScore); /** * 计算方法匹配院校列表 * @param acceptRuleId 计算方法id * @param batchId 批次id * @param positionId 定位id * @param suggestId 推荐度id * @return 结果 */ public PageInfo ruleMatchSchoolList(Long id, Long acceptRuleId, Long batchId, Long positionId, Long suggestId, Integer pageNum, Integer pageSize); }