package com.cool.store.service;

import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dto.AmountDTO;
import com.cool.store.entity.LinePayDO;
import com.cool.store.request.LinePaySubmitRequest;
import com.cool.store.request.xgj.ReceiptCallBackRequest;
import com.cool.store.response.FranchiseFeePayInfoResponse;
import com.cool.store.response.bigdata.ApiResponse;
import com.cool.store.vo.LinePayVO;
import com.cool.store.vo.PartnerUserInfoVO;

import java.util.List;

/**
 * @Author wxp
 * @Date 2024/3/25 13:45
 * @Version 1.0
 */
public interface LinePayService {

    LinePayVO getLinePayInfo(Long lineId,Integer businessType,Long shopId);

    Boolean setAmount(Long lineId, String amount);
    String getAmount(Long lineId);
    /**
     * 跳过缴纳意向金
     * @param lineId
     * @return
     */
    Boolean skipPay(Long lineId, LoginUserInfo user );

    Long submitPayInfo(LinePaySubmitRequest followLog, PartnerUserInfoVO partnerUser);

     Long submitFranchiseFeePayInfo(LinePaySubmitRequest request, String userId);

     String getPaymentReceiptCode();

     List<FranchiseFeePayInfoResponse> getFranchiseFeePayInfoList(Long shopId);

     Boolean  deleteFranchiseFeePayInfo(Long id,String userId);

    FranchiseFeePayInfoResponse getById(Long id);

    /**
     * 推送数据到新管家
     * @param shopId
     * @param linePayDO
     * @return
     */
     Boolean pushPayInfo(Long shopId, LinePayDO linePayDO);

    ApiResponse<Boolean> ReceiptCallBack(ReceiptCallBackRequest request);


}
