package com.platform.yijia.service;


import com.platform.yijia.pojo.CustomerCardSetting;
import com.platform.yijia.pojo.CustomerCardUseRecord;
import com.platform.yijia.pojo.CustomerElectronicCard;

import java.util.List;

public interface ElectronicMembershipCardService {
    //获取用户储蓄卡列表
    List<CustomerElectronicCard> getElectronicCardList(CustomerElectronicCard customerElectronicCard);

    //获取用要充值电子会员卡的信息
    CustomerElectronicCard getElectronicCardInfo(CustomerElectronicCard customerElectronicCard);

    //更新电子会员卡信息
    void updateElectronicCardInfo(CustomerElectronicCard customerElectronicCard);

    //新增电子会员卡充值使用记录
    void insetCardUseRecordRecharge(CustomerCardUseRecord customerCardUseRecord);

    //新增电子会员卡消费使用记录
    void insetCardUseRecordConsumption(CustomerCardUseRecord customerCardUseRecord);

    //获取用户储蓄卡的使用记录
    List<CustomerCardUseRecord> getCardUseRecordList(CustomerCardUseRecord customerCardUseRecord);

    //根据订单号查询电子会员卡的充值记录信息
    CustomerCardUseRecord getCardRecordByOrderNo(CustomerCardUseRecord customerCardUseRecord);

    //根据unionId和油站更新客户余额
    void updateElectronicCardInfoByUnionId(CustomerElectronicCard customerElectronicCard);

    //根据订单号更新用户充值记录的状态
    void updateCardRecordStatusByOrderNo(CustomerCardUseRecord customerCardUseRecord);

    //查询油站电子会员卡（储蓄卡）充值设置规则
    List<CustomerCardSetting> getCardRechargeSettingList(CustomerCardSetting customerCardSetting);

    //查询油站的会员卡启用标识 （1、启动 2，停用)
    String getStationCardEnabledFlag(Integer stationId);

    //根据unionId和油站ID获取用户用要充值电子会员卡(储蓄卡)信息
    CustomerElectronicCard getElectronicCardInfoByUnionId(CustomerElectronicCard customerElectronicCard);

    //插入电子会员卡
    void insetElectronicCard(CustomerElectronicCard customerElectronicCard);

    //根据小程序用户openId查询客户电子会员卡信息-
    CustomerElectronicCard getElectronicCardInfoByMinaOpenId(CustomerElectronicCard customerElectronicCard);

}
