package com.qxueyou.scc.school.service; import java.util.Date; import java.util.List; import java.util.Map; import com.qxueyou.scc.base.model.Pager; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.school.model.ExportSchSignItem; import com.qxueyou.scc.school.model.SchClassSchedule; import com.qxueyou.scc.school.model.SchScheduleAddress; import com.qxueyou.scc.school.model.SchSign; import com.qxueyou.scc.school.model.SchSignItem; import com.qxueyou.scc.school.model.SchSignStatistics; import com.qxueyou.scc.school.model.SignStatisResult; import com.qxueyou.scc.user.model.User; public interface ISignService { /** * 新增签名 * @param sign * @return */ Result insertSign(SchSign sign); /** * 删除签名 * @param signIds 签名id * @return */ Result deleteSigns(String[] signIds); /** * 新增签到历史 * @param sign * @return */ Result insertSignItem(SchSign sign, String signAddress, Date signTime,String userId,String userName); /** * 新增签到次序 * @param sign * @return */ int insertSignOrder(SchSign signVO, Date signTime); /** * 得到满足要求的签到明细 * @param signId * @return */ List getSignItems(String signId); /** * 新增签到统计 * @param sign * @return */ SignStatisResult insertSignStatistics(SchSign sign, String signAddress, Date signTime, Short terminalType,String userId,String userName,String mobilePhone,String location); /** * 查询是否班级成员(通过账号登录记录) */ boolean queryRegistrationFlag(String userId,String classId); /** * 得到满足要求的签到明细(优化版本) * @param signId * @return */ List getSimpleSignItems(String signId, String signDate); /** * 导出(优化版本) * @param signId * @param objSchSign * @return */ List exportSimpleItems(String signId, String signDate); /** * 查询签到历史new * @param hql * @param args * @return */ List querySignItemListStat(String hql, List args); /** * 签到历史 * @return */ List> querySignHistory(final String hql, final Pager page, final List args); /** * 查询签到历史new * @param hql * @param args * @return */ List querySignItemListCom(String hql, List args); /** * 查询签到历史new * @param hql * @param args * @return */ List querySignItemListCom( String hql,List args,Pager page,Integer signType,String signId ); /** * 微信签到高级设置 * @param sign * @return */ Result updateSign(SchSign sign); /** * 签到 发送消息 * @param signType * @param signIndex * @param signId * @return */ Result updateSignMessage(Integer signType,Integer signIndex, String signId, User user); /** * 初始化签到信息 * @param signId * @param userId * @param initType * @return */ Result doInitSignDatas(String signId, String userId,int initType); /** * 根据课程信息获取签到信息 * * @param strClassSubjectId * @return */ List querySign(String strClassSubjectId); /** * 根据课程信息获取签到人员记录 * * @param strClassSubjectId * @return */ List queryUserSign(String strClassSubjectId); /** * 获取当天是否已经签到 * * @param signId * @return */ SchSignStatistics getSchSignStatistics(String signId, String userId); /** * 查询签到历史 * @param hql * @param args * @param page * @return */ List queryPageLstSignStatistics(SchSignStatistics objSignStatistics, Pager page,Integer signType,String signId); /** * 签到,根据signId得到schSign * @param signId * @return */ SchSign getSignFromCacheOrDB(String signId); /** * 根据sign得到相对应的机构图像 * @param signId * @return */ String getOrgLogoFromCacheOrDB(SchSign sign); /** * 签到异步处理部分代码 * @param userId * @param userName * @param mobilePhone * @param appId * @param openId * @return */ Result sendSignQueueMsg(String args); /** * 签到异步处理部分代码 * * @param args * @return */ Result doHandleSignQueueMsg(String args); /** * 查询是否安装(通过账号登录记录) */ boolean queryInstallFlag(String userId); /** * 查询是否班级激活 */ boolean queryActiveflag(String userId,String classId); /** * 查询签到当天的课次 * * @param signId * @return */ SchClassSchedule getSchClassSchedule(String signId); /** * 查询 * * @param signId * @param signDate * @return */ List getNotSignUser(String signId, String signDate); /** * 未签到统计页面 * * @param signId * @param signDate * @return */ Result updateFlag(String signStatisticsIds); /** * 获取当天签到地址 * * @param signId * @return */ SchScheduleAddress getSchScheduleAddress(String signId); /** * 通过openId得到user * @param openId * @return */ User getUserFromOpenId(String openId); /** * 插入签到 * * @param signVO * @param signAddress * @param userId * @param userName * @param mobilePhone * @return */ SignStatisResult insertSignStatistics(SchSign signVO, String signAddress, String userId, String userName, String mobilePhone, short type); /** * 班级听课证签到 * * @param signVO * @param userId * @param type * @return */ SignStatisResult doSignByClassCard(SchSign signVO, String userId); }