package cn.pluss.platform.openAccount;

import cn.pluss.platform.api.Result;
import cn.pluss.platform.entity.*;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 用户开户奖励明细 服务类
 * </p>
 *
 * @author crystal
 * @since 2022-06-14
 */
public interface OpenAccountRecordService extends IService<OpenAccountRecord> {

    /**
     * 旧版设备订单开户奖操作
     * TODO 苹果更新后 旧版的将会弃用
     * @param order
     * @param merchant
     * @param info
     * @return
     */
    void operatAccountOpen(DeviceMerchantBuy order, MerchantBaseInfo merchant, DeviceOrderInfo info);

    /**
     * 新版订单开户奖操作
     * @param order
     * @param merchant
     */
    void operatAccountOpen(MercOrderDetail order, MerchantBaseInfo merchant);

    /**
     * 处理退款
     * @param orderNumber
     */
    Result refund(String orderNumber);

    /**
     * 删除开户奖
     * @param orderNumber
     */
    void removeOpenAccount(String orderNumber);

    Result countData(OpenAccountRecord condition);
}
