package cn.hanghui.outapi.platform.xinghuo.service;

import cn.hanghui.outapi.platform.xinghuo.entity.dto.SpecialCodeApplyReq;
import cn.hanghui.outapi.platform.xinghuo.entity.dto.SpecialCodeApplyResp;
import cn.hanghui.outapi.platform.xinghuo.entity.dto.SpecialCodeEncryptReq;
import cn.hanghui.outapi.platform.xinghuo.entity.dto.SpecialCodeEncryptResp;
import cn.hanghui.outapi.platform.xinghuo.entity.dto.SpecialCodeUserInfoReq;
import cn.hanghui.outapi.platform.xinghuo.entity.dto.SpecialCodeUserInfoResp;

/**
 * @author shisl
 * @package cn.hanghui.outapi.platform.xinghuo.service
 * @class ProofOpenApiService
 * @date 2024/7/30 下午2:59
 * @description
 */
public interface ProofOpenApiService {

    /**
     * 根据三要素获取二维码（加密版）
     *
     * @param req
     * @return
     */
    SpecialCodeEncryptResp applySpecialCodeEncrypt(SpecialCodeEncryptReq req);

    /**
     * 根据三要素获取二维码（非加密版）
     *
     * @param req
     * @return
     */
    SpecialCodeApplyResp applySpecialCode(SpecialCodeApplyReq req);

    /**
     * 根据二维码换取三要素（支付宝小程序调用）
     *
     * @param req 二维码码值
     * @return
     */
    SpecialCodeUserInfoResp queryUserInfoByMiniSpecialCode(SpecialCodeUserInfoReq req);

    /**
     * 根据二维码换取三要素（设备端调用）
     *
     * @param req 二维码全链接
     * @return
     */
    SpecialCodeUserInfoResp queryUserInfoBySpecialCode(SpecialCodeUserInfoReq req);

    /**
     * 根据二维码换取三要素（加密版）
     *
     * @param req
     * @return
     */
    SpecialCodeEncryptResp queryUserInfoBySpecialCodeEncrypt(SpecialCodeEncryptReq req);

}
