package cn.com.ctop.kuaishou.modules.report.mapper;

import cn.com.ctop.kuaishou.modules.report.entity.KuaishouOperationReport;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Set;

/**
 * 运营绩效
 *
 * @author jeecg-boot
 * 2022-09-20
 * @version V1.0
 */
public interface KuaishouOperationReportMapper extends BaseMapper<KuaishouOperationReport> {

    List<JSONObject> getKsMonthlyOnJobOperatorsCharge(@Param("userIds") List<JSONObject> onJobUserIds,
                                                      @Param("startDate1") Integer startDate1, @Param("endDate1") Integer endDate1,
                                                      @Param("startDate2") Integer startDate2, @Param("endDate2") Integer endDate2,
                                                      @Param("startDate3") Integer startDate3, @Param("endDate3") Integer endDate3);

    List<JSONObject> getTtMonthlyOnJobOperatorsCharge(@Param("userIds") List<JSONObject> onJobUserIds,
                                                      @Param("startDate1") Integer startDate1, @Param("endDate1") Integer endDate1,
                                                      @Param("startDate2") Integer startDate2, @Param("endDate2") Integer endDate2,
                                                      @Param("startDate3") Integer startDate3, @Param("endDate3") Integer endDate3);

    Set<JSONObject> getKsQuarterlyOnJobOperatorsCharge(@Param("userIds") List<String> userIds, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);

    List<String> getManagers(@Param("userId") String userId, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);

    BigDecimal getManageChargeCommission(@Param("userIds") List<String> userIds, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);

    Set<JSONObject> getTtQuarterlyOnJobOperatorsCharge(@Param("userIds") List<String> userIds, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);

    BigDecimal getTtManageChargeCommission(@Param("userIds") List<String> userIds, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);

    List<String> getTtManagers(@Param("userId") String userId, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
}
