package com.ssj.service.conch.opentest;

import com.ssj.framework.core.util.ResponseEntity;
import com.ssj.service.conch.opentest.dto.ConditionDto;
import com.ssj.service.conch.opentest.request.*;

import java.util.List;


public interface OpenTestService {
	/**
	 * 完善资料页
	 * @param req
	 * @param userId
	 * @return
	 */
	ResponseEntity saveInfo(SaveInfoReq req, String userId);
	/**
	 * 获取我的信息
	 * @param userId
	 * @return
	 */
	ResponseEntity getMyInfo(String userId);
	/**
	 * 筛选试卷
	 * @param req
	 * @return
	 */
	ResponseEntity getQuestion(GetQuestionReq req, String userId);
	/**
	 * 筛选试卷
	 * @param req
	 * @return
	 */
	ResponseEntity getQuestionV1(GetQuestionV1Req req, String userId);
	/**
	 * 查看测评列表
	 * @param userId
	 * @return
	 */
	ResponseEntity getTestList(String userId);

	/**
	 * 查看测评列表
	 *
	 * @param userId
	 * @param type
	 * @return
	 */
	ResponseEntity getTestListV1(String userId, int type);
	/**
	 * 查看答题结果
	 * @param req
	 * @return
	 */
	ResponseEntity getResult(GetResultReq req);
	/**
	 * 查看答题结果
	 * @param req
	 * @return
	 */
	ResponseEntity getResultV1(GetResultReq req);
	/**
	 * 提交答题结果
	 * @param req
	 * @param userId
	 * @return
	 */
	ResponseEntity saveResult(SaveResultReq req, String userId);
	/**
	 * 提交答题结果V1
	 * @param req
	 * @param userId
	 * @return
	 */
	ResponseEntity saveResultV1(SaveResultV1Req req, String userId);
	/**
	 * 查看诊断报告
	 * @param req
	 * @return
	 */
	ResponseEntity getReport(GetResultReq req);

	/**
	 * 获取排行榜
	 * @param req
	 * @return
	 */
	ResponseEntity getRankingList(GetResultReq req, String userId);

	/**
	 * 获取筛选条件
	 *
	 * @return
	 */
	ResponseEntity getConditionInfo();
	ResponseEntity getConditionInfoV1();

	/**
	 * 设置筛选条件
	 *
	 * @return
	 */
	ResponseEntity setConditionInfo(String value);

	/**
	 * 清除结果
	 *
	 * @return
	 */
	ResponseEntity deleteResult(String resultId);


}