package org.springblade.modules.member.service;


import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.member.dto.MemberDTO;
import org.springblade.modules.member.entity.MemberEntity;

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

/**
 * 服务类
 *
 * @author Chill
 */
public interface IMemberInfoService extends BaseService<MemberEntity> {


	String getRandomName();

	String getRandomAvatar();

	MemberEntity addMember(String fromProductCode, String tenantId);


	//TODO chenjs 以下方法是遗留方法，以后再改造

	/**
	 * 判断手机号码是否存在
	 *
	 * @param phone
	 * @return
	 */
	Boolean getMemPhone(String phone);

	/**
	 * @param memberInfoDTO
	 * @return
	 */
	MemberEntity setMemberInfoEntity(MemberDTO memberInfoDTO);

	/**
	 * 根据日期获取会员生日列表
	 *
	 * @param dateType
	 * @return
	 */
	List<MemberEntity> getBirMemByDate(String dateType);

	/**
	 * 根据手机号码获取会员信息
	 *
	 * @param phone
	 * @return
	 */
	MemberEntity getMemberInfoByPhone(String phone);

	/**
	 * 会员增长量
	 * @param includeDel
	 * @return
	 */
	BigDecimal averageDailyIncrease(Boolean includeDel);
}
