package com.ruoyi.dz.service; import java.util.List; import java.util.Map; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.enums.ExamType; import com.ruoyi.dz.domain.DzCards; import com.ruoyi.dz.domain.DzCardsOpen; import com.ruoyi.enums.CardAction; import com.ruoyi.enums.CardType; /** * 学习卡Service接口 * * @author ruoyi * @date 2025-09-12 */ public interface IDzCardsService { /** * 查询学习卡 * * @param cardId 学习卡主键 * @return 学习卡 */ public DzCards selectDzCardsByCardId(Long cardId); public DzCards selectDzCardsByCardNo(String cardNo); /** * 查询学习卡列表 * * @param dzCards 学习卡 * @return 学习卡集合 */ public List selectDzCardsList(DzCards dzCards); public List selectDzCardsList2(DzCards dzCards); /** * 新增学习卡 * * @param dzCards 学习卡 * @return 结果 */ public int insertDzCards(DzCards dzCards); /** * 修改学习卡 * * @param dzCards 学习卡 * @return 结果 */ public int updateDzCards(DzCards dzCards); /** * 批量删除学习卡 * * @param cardIds 需要删除的学习卡主键集合 * @return 结果 */ public int deleteDzCardsByCardIds(Long[] cardIds); /** * 删除学习卡信息 * * @param cardId 学习卡主键 * @return 结果 */ public int deleteDzCardsByCardId(Long cardId); /** * 制卡 * @param deptId * @param type * @param count */ public void issueCard(Long deptId, CardType type, Integer count); /** * 分配卡 * @param agentId * @param leafAgentId * @param cardType * @param beginNo * @param endNo */ public void assignCard(Long agentId, Long leafAgentId, CardType cardType, String beginNo, String endNo, String location, ExamType examType, Long schoolId, Integer days); /** * 开卡 * @param agentId * @param location * @param schoolId * @param beginNo * @param endNo * @return */ public Boolean openCard(Long agentId, String location, Long schoolId, String beginNo, String endNo, Integer days); /** * 申请开卡 * @param dzCardsOpen */ public Boolean requestOpenCard(DzCardsOpen dzCardsOpen); /** * 审核开卡 * @param dzCardsOpen * @param sysUser */ public Boolean confirmOpenCard(DzCardsOpen dzCardsOpen, SysUser sysUser); /** * 修改卡 * @param action * @param cardIds */ public void changeCard(CardAction action, Long[] cardIds); /** * 分配校区 * @param campusId * @param campusClassId * @param beginNo * @param endNo * @return */ public Boolean changeCampus(Long campusId, Long campusClassId, String beginNo, String endNo); public List selectCardsByCardIds(List cardIds); /** * 统计学习卡数据 * * @param params 查询参数(deptId, agentId, openTimeBegin, openTimeEnd) * @return 统计结果列表 */ public List statisticCards(Map params); }