package com.hzs.bonus.achieve.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.achieve.CuMemberAchieve;
import com.hzs.common.domain.sale.order.SaOrder;

/**
 * 会员业绩记录 服务类
 */
public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {

    /**
     * 创建每月的会员业绩记录表
     *
     * @param date 日期
     */
    String createCuMemberAchieve(String date);

    /**
     * 创建每年的业绩统计年表，用于放月表
     *
     * @param tableName 表名
     */
    void createCuMemberMonthTable(String tableName);

    /*
     * 更新会员业绩表 每月月统计报表
     **/
    void mergeCuMemberMonth(Integer day, String date);

    /**
     * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表
     * 根据昨天结算表数据更新今天结算表的业绩数据
     *
     * @param sourceTable 来源表，记录10天跟月表一摸一样的滚动表数据
     * @param targetTable 目标表 记录10天跟月表一摸一样的滚动表数据
     */
    void updateCuMemberExpandSettleAchieveByBeforeDay(String sourceTable, String targetTable);

    /*
     *  退单回退业绩
     **/
    Boolean chargeBackSaOrder(SaOrder saOrder);

}
