package cn.pluss.platform.jft;

import cn.pluss.platform.api.Result;
import cn.pluss.platform.entity.JftReceiptInfo;
import cn.pluss.platform.entity.UserApp;
import cn.pluss.platform.vo.JftReceiptInfoVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 * 收银呗缴费通收款单 服务类
 * </p>
 *
 * @author crystal
 * @since 2022-06-16
 */
public interface JftReceiptInfoService extends IService<JftReceiptInfo> {
    /**
     * 创建收款单
     * @param userApp
     * @param info
     */
    String createReceipt(UserApp userApp,JftReceiptInfo info);

    /**
     * 分页查询
     * @param page
     * @param condition
     * @return
     */
    Page<JftReceiptInfoVO> pageInfo(Page<JftReceiptInfoVO> page, JftReceiptInfo condition);

    /**
     * 关闭收款单
     * @param info
     * @param info
     */
    void closeReceipt(JftReceiptInfo info);

    /**
     * 查看缴费通详情
     * @param info
     * @return
     */
    JftReceiptInfoVO receiptDetail(JftReceiptInfo info);

    /**
     * 获取收款单对应付款信息配置项接口
     * @param info
     * @return
     */
    JftReceiptInfoVO getReceipt(JftReceiptInfo info);

    /**
     * 校验tk参数
     * @param tk
     * @param request
     */
    JftReceiptInfo wapCheckTk(String tk, HttpServletRequest request);

    /**
     * 获取支付宝支付参数信息
     * @param request
     * @param response
     * @param tk
     * @param auth_code
     * @param userId
     */
    void getPayInfo(HttpServletRequest request, HttpServletResponse response, String tk, String auth_code, String userId);

}
