package com.ssm.manage.service;

import com.github.pagehelper.PageInfo;
import com.ssm.core.service.BaseService;
import com.ssm.manage.entity.MemberList;
import com.ssm.manage.entity.SmsException;
import com.ssm.manage.entity.StoreMemberList;
import com.ssm.manage.entity.StoreMemberListUpdate;
import com.ssm.manage.extendEntity.StoreDaily;
import com.ssm.manage.query.MemberRequest;
import com.ssm.manage.query.StoreDailyRequest;
import com.ssm.manage.response.MemberResponse;

import java.util.List;

public interface SsmStoreMemberService extends BaseService<StoreMemberList> {
    PageInfo<StoreMemberList> selectPage(MemberRequest memberRequest);
    PageInfo<StoreMemberListUpdate> memberUpdatePage(MemberRequest memberRequest);
    PageInfo<StoreMemberList> selectPageassign(MemberRequest memberRequest);

    //门店会员基本信息修改
    int updateStoreMember(MemberRequest memberRequest,String phone) throws SmsException;
    int updateMobile(MemberRequest memberRequest,String phone) throws SmsException;
    //支付密码修改
    int upcashPassword(MemberRequest memberRequest) throws SmsException;

    //重置密码
    int passwordReset(MemberRequest memberRequest) throws SmsException;
    int CashpasswordReset(MemberRequest memberRequest) throws SmsException;

    int updateState(MemberRequest memberRequest,String phone) throws SmsException;

    //门店会员信息添加
    int addStoreMember(MemberRequest memberRequestm, String phone) throws SmsException;

    //会员分派
    int assignStoreMember(MemberRequest memberRequest);

    List<StoreMemberList> listByStaff(MemberRequest memberRequest);

    MemberResponse selectOne(MemberRequest memberRequest) throws SmsException;

    boolean checkCashWord(MemberRequest memberRequest) throws SmsException;

    int changePhoneToUpdateState(MemberRequest memberRequest,String phone) throws SmsException;

    int start(MemberRequest memberRequest,String phone) throws SmsException;


    int updatePhone(MemberRequest memberRequest, String phone) throws SmsException;

    int bothOperation(List<MemberRequest> list, String phone) throws SmsException;

    List<StoreMemberList> selectList(MemberRequest memberRequest);
    List<StoreMemberList> selectList(List<Long> memberIds);
    List<StoreMemberList> selectListNew(MemberRequest memberRequest);

    StoreDaily selectDayRecord(StoreDailyRequest storeDailyRequest);

    List<StoreMemberList> insertBatch(List<StoreMemberList> list, Long storeId, String storeName, String phone) throws SmsException;

    int resetClass(MemberRequest memberRequest,String phone) throws SmsException;
    int emptyClass(MemberRequest memberRequest,String phone) throws SmsException;
}
