package com.hzs.report.member.service;

import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt;
import com.hzs.report.member.param.CuMemberUmbrellaParam;
import com.hzs.report.member.vo.CuMemberUmbrellaBalanceVO;
import com.hzs.report.member.vo.UmbrellaBelowPushVO;
import com.hzs.report.report.vo.DeptMemberNumberVO;

import java.util.List;

/**
 * @description: 会员查询的服务
 * @author: sui q
 * @time: 2023/8/26 09:37
 * @classname: IMemberService
 * @package_name: com.hzs.report.member.service
 * version 1.0.0
 */
public interface IMemberService {
    /**
     * @description: 查询伞下账户余额
     * @author: zhang jing
     * @date: 2023/8/25 15:29
     * @param: [umbrellaBalanceVO]
     * @return: java.util.List<com.hzs.member.base.vo.CuMemberUmbrellaBalanceVO>
     **/
    List<CuMemberUmbrellaBalanceVO> selectUmbrellaLowerBalance(CuMemberUmbrellaBalanceVO umbrellaBalanceVO);

    /*
     * @description: 会员安置反查
     * @author: sui q
     * @date: 2023/8/28 15:03
     * @param: null null
     **/
    List<CuMemberAchieveExt> queryPlaceCuMemberAchieveExt(CuMemberUmbrellaParam cuMemberUmbrellaParam);

    /*
     * @description: 会员推荐反查
     * @author: sui q
     * @date: 2023/8/28 15:03
     * @param: null null
     **/
    List<CuMemberAchieveExt> queryParentCuMemberAchieveExt(CuMemberUmbrellaParam cuMemberUmbrellaParam);

    /**
     * @description: 统计分析-伞下直推
     * @author: zhang jing
     * @date: 2023/6/13 9:59
     * @param: [memberId]
     * @return: java.util.List<com.hzs.common.domain.member.ext.CuMemberExt>
     **/
    List<UmbrellaBelowPushVO> queryUmbrellaBelowPush(UmbrellaBelowPushVO umbrellaBelowPushVO);

    /**
     * @description: 查询会员订单消费业绩
     * @author: zhang jing
     * @date: 2023/9/12 10:41
     * @param: [umbrellaBelowPushVO]
     * @return: java.util.List<com.hzs.report.member.vo.UmbrellaBelowPushVO>
     **/
    List<UmbrellaBelowPushVO> queryOrderExpend(UmbrellaBelowPushVO umbrellaBelowPushVO);

    /**
     * @description: 统计分析-伞下直推会员信息
     * @author: zhang jing
     * @date: 2023/6/13 13:44
     * @param: [pkId]
     * @return: java.util.List<com.hzs.member.statis.vo.UmbrellaBelowPushVO>
     **/
    UmbrellaBelowPushVO queryUmbrellaBelowInfo(Long pkId);

    /**
     * 查询会员左右区人数
     *
     * @param pkMember
     * @return
     */
    List<DeptMemberNumberVO> selectByDeptNumberPlace(Long pkMember);


}
