package com.tax.sign.service.api;

import com.tax.sign.model.*;
import com.yxcheng.token.common.model.JsonResult;

import javax.servlet.http.HttpServletRequest;

public interface SignService {
    /**
     * 获取登录签名串
     * @param params
     * @param request
     * @return
     */
    public JsonResult<SignModel> getLoginSign(SignReq params, HttpServletRequest request);

    /**
     * 获取单票查询签名串
     * @param params
     * @param request
     * @return
     */
    public JsonResult<SignModel> getOneInvSign(OneInvSignReq params, HttpServletRequest request);


    /**
     * 发票勾选签名串
     * @param params
     * @param request
     * @return
     */
    public JsonResult<SignModel> getSelectSign(SignReq params, HttpServletRequest request);

    /**
     * 抵扣文件下载签名串
     * @param params
     * @param request
     * @return
     */
    public JsonResult<SignModel> getDkDownloadSign(DkDownloadReq params, HttpServletRequest request);


    /**
     * 新签名接口，与新的登录检测#SignUtil.checkSign匹配
     * @param params
     * @param request
     * @return
     */
    JsonResult<SignModel> getSuperSign(SignReq params, HttpServletRequest request);

    JsonResult<SignModel> getSuperPubSign(PubSignReq signReq, HttpServletRequest request);

    JsonResult<DeduSignModel> getDeduSign(DeduSignReq signReq, HttpServletRequest request);

    JsonResult<DeduSignModel> getDeduSignNew(DeduSignReq signReq, HttpServletRequest request);

    JsonResult<SignCookieRes> getSignCookie(SignCookieReq signReq, HttpServletRequest request,boolean isInterior);


}
