package com.ym.userinfo.module.contract

import com.ym.library.module.WithdrawEntity
import com.ym.modulecommon.module.UserInfoEntity
import com.ym.userinfo.module.entity.LotteryEntity

/**
 *Craeted by ${junqi.li}
 *Craeted by 2020/8/26
 */
class UserContract {
    interface View {

        fun setWithdrawDataSuccess(datas: List<WithdrawEntity>)
        fun setWithdrawDataFailure()

        fun setGuessMusicLotterySuccess(datas: List<LotteryEntity>)
        fun setGuessMusicLotteryFailure()

        fun setLotteryConfigSuccess(datas: List<WithdrawEntity>)
        fun setLotteryConfigFailure()


        fun setUserGold(data: UserInfoEntity)
        fun setUserGoldFailure()

        fun wxBindSuccess(data: UserInfoEntity)
        fun wxBindFailure(errorMsg: String?)

        fun wxWithdrawSuccess(data: WithdrawEntity)
        fun wxWithdrawFailure(errorMsg: String)

        fun coin2cashSuccess(data: WithdrawEntity)
        fun coin2cashFailure(errorMsg: String)

        fun userMindSuccess(data: UserInfoEntity)
        fun userMindFailure()

        fun coin2cashCheckSuccess(data: WithdrawEntity)
        fun coin2cashCheckFailure(errorMsg: String)

        fun userWxWithdrawLotterySuccess(data: WithdrawEntity)
        fun userWxWithdrawLotteryFailure(errorMsg: String)
    }

    interface Presenter {
        fun requestWithdrawList()
        fun requestGuessMusicLottery()
        fun requestLotteryConfig(sessionId: String)
        fun requestUserGold()
        fun requestIsWxBind()
        fun requestWxWithdraw(wdId: Int)
        fun requestCoin2cash(sId: String)
        fun requestUserMind()
        fun requestCoin2cashCheck()
        fun requestUserWxWithdrawLottery(sessionId: String)

    }
}