package com.cool.store.service;

import com.cool.store.context.LoginUserInfo;
import com.cool.store.request.AuditFranchiseFeeRequest;
import com.cool.store.request.FranchiseFeeRequest;
import com.cool.store.request.FranchisePayTypeUpdateRequest;
import com.cool.store.request.xgj.FranchiseFeeCallBackRequest;
import com.cool.store.response.FranchiseFeeResponse;
import com.cool.store.response.bigdata.ApiResponse;

public interface FranchiseFeeService {
    /**
     * 提交加盟费信息
     * @param request
     * @return
     */
    Boolean submitFranchiseFee(FranchiseFeeRequest request);

    Boolean update(FranchiseFeeRequest request);
    /**
     * 查询加盟费信息
     * @param shopId
     * @return
     */
    FranchiseFeeResponse getDetail(Long shopId);

    /**
     * 跳过 Stage
     * @param shopId
     * @return
     */
    Boolean stageSkip(Long shopId);

    Boolean auditFranchiseFee(AuditFranchiseFeeRequest request, LoginUserInfo user);

    ApiResponse<Boolean> changePaymentStatus(FranchiseFeeCallBackRequest request);

    /**
     * 修改付款方式
     * @param request 加盟费支付方式修改Request
     * @return 是否成功
     */
    Boolean updatePayType(FranchisePayTypeUpdateRequest request);
}
