package com.cpop.jambox.business.service;

import com.cpop.jambox.business.bo.CardTemplateUnionBo;
import com.cpop.jambox.business.entity.CardTemplate;
import com.cpop.jambox.business.vo.CardTemplateInfoVo;
import com.cpop.jambox.business.vo.LearnNowPayLaterPlanDetailVo;
import com.cpop.jambox.business.vo.LearnNowPayLaterPlanVo;
import com.mybatisflex.core.row.Row;
import com.mybatisflex.core.service.IService;

/**
 * 果酱-课卡模板 服务层。
 *
 * @author DB
 * @since 2023-09-27
 */
public interface CardTemplateService extends IService<CardTemplate> {

    /**
     * @descriptions 旧品牌信息
     * @author DB
     * @date 2023/11/13 12:39
     * @param oldTemplateId 旧模板id
     * @param brandId 品牌id
     * @return: com.cpop.jambox.business.entity.CardTemplate
     */
    Row getOldTemplateInfo(String oldTemplateId, String brandId);

    /**
     * 添加课卡模板(整合)
     * @author DB
     * @since 2024/1/16
     * @param bo 请求参数
     * @return String 旧模板id
     */
    void insertCardTemplateUnion(CardTemplateUnionBo bo);

    /**
     * 修改课卡模板(整合)
     * @author DB
     * @since 2024/1/18
     * @param bo 请求参数
     */
    void updateCardTemplateUnion(CardTemplateUnionBo bo);

    /**
     * 获取支付分计划
     * @author DB
     * @since 2024/1/18
     * @param oldTemplateId 旧模板id
     * @param isMonth 是否月付
     * @return LearnNowPayLaterPlanDetailVo
     */
    LearnNowPayLaterPlanVo getWxPayScorePlan(String oldTemplateId,String templateId, Boolean isMonth);

    /**
     * 获取模板信息
     * @author DB
     * @since 2024/1/22
     * @param id 主键
     */
    CardTemplateInfoVo getCardTemplateInfo(String id,String oldTemplateId);
}
