package com.ssj.service.sys.picturepredeal.service;

import com.ssj.bean.sys.picturepredeal.domain.ProblemSimilarPredeal;
import com.ssj.bean.sys.problem.domain.ProblemPicture;
import com.ssj.framework.core.common.service.BaseService;
import com.ssj.framework.core.util.ResponseEntity;
import com.ssj.service.ai.model.ProblemPicturePreDeal;
import com.ssj.service.kmt.request.SubmitQueryViaOssResultRequest;

/**
 * @Author: chchen
 * @Description
 * @Date Create in 11:30 2019/10/24
 * @Modified By
 */
public interface ProblemSimilarPreDealService extends BaseService<ProblemSimilarPredeal, String> {

    /**
     * 异步发送相似题识别接口到ai, 使用消息队列
     * @param homeworkPicture
     */
    void asyncPostRequest2AI(ProblemPicture homeworkPicture);

    /**
     * 查询难题图片对应的识别结果
     * @param problemPictureId
     * @return
     */
    ProblemSimilarPredeal findPreDealByProblemPictureId(String problemPictureId);

    /**
     * 请求ai接口并返回处理
     * @param problemPicturePreDeal
     */
    void postRequest2AI(ProblemPicturePreDeal problemPicturePreDeal);

    /**
     * 记录科目
     * @param problemPicture
     * @param predeal
     */
    void recordCourseName (ProblemPicture problemPicture, ProblemSimilarPredeal predeal);

    /**
     * 难题反馈推送app或pad
     * @param problemPicture
     * @param predeal
     */
    void problemPictureFeedback2Pad (ProblemPicture problemPicture, ProblemSimilarPredeal predeal);

    /**
     * 推荐题识别V1
     * @param problemPicturePreDeal
     */
    void postRequest2AIV1 (ProblemPicturePreDeal problemPicturePreDeal);

    /**
     * 推荐题回调
     * @param request
     * @return
     */
    ResponseEntity submitQuerySimilarQuestionResult(SubmitQueryViaOssResultRequest request);
}
