Ejemplo n.º 1
0
        private void Refresh()
        {
            _timeText.text = DateTime.Now.AddDays(1).ToString("MM-dd");
            AssetsSaveData   assetsData = AssetsManager.Instance.assetsData;
            BankCardSaveData bankData   = AssetsManager.Instance.curUseBankCard;

            _payWay = AssetsManager.Instance.curPayway;
            if (_payWay == PaywayType.YuEBao || _payWay == PaywayType.None || _payWay == PaywayType.Ant)
            {
                _payWay = PaywayType.Balance;
            }
            if (_payWay == PaywayType.Balance && assetsData.balance <= 0 && bankData != null)
            {
                _payWay = PaywayType.BankCard;
            }
            switch (_payWay)
            {
            case PaywayType.Balance:
                _icon.sprite   = Utils.GetBalanceSprite();
                _bankName.text = ContentHelper.Read(ContentHelper.BalanceText);
                _tips.text     = assetsData.balance > 0 ? string.Format(ContentHelper.Read(ContentHelper.BalanceMaxTransfer), assetsData.balance):
                                 ContentHelper.Read(ContentHelper.AssetsNotEnough);
                break;

            case PaywayType.BankCard:
                _icon.sprite   = AssetsManager.Instance.GetBankSprite(bankData.bankName);
                _bankName.text = Utils.FormatPaywayStr(PaywayType.BankCard, bankData.cardId);
                _tips.text     = string.Format(ContentHelper.Read(ContentHelper.BankCardMaxTransfer), GameDefine.BankCardMaxTransfer);
                break;
            }
        }
Ejemplo n.º 2
0
 public override void SetData(object o)
 {
     base.SetData(o);
     _data = o as TransactionSaveData;
     _headRoot.SetActive(_data.iconType == TransactionIconType.UserHead);
     _bankIcon.gameObject.SetActive(_data.iconType == TransactionIconType.BankCard);
     if (_data.iconType == TransactionIconType.UserHead)
     {
         HeadSpriteUtils.Instance.SetHead(_headIcon, _data.accountId);
         _accData = XMLSaver.saveData.GetAccountData(_data.accountId);
         if (string.IsNullOrEmpty(_accData.nickname))
         {
             _nameText.text = _accData.nickname + "(" + Utils.FormatStringForSecrecy(_accData.realName, FInputType.Name) + ")";
         }
         else
         {
             _nameText.text = _accData.realName + "(" + Utils.FormatStringForSecrecy(_accData.realName, FInputType.Name) + ")";
         }
         _idText.text = Utils.FormatStringForSecrecy(_accData.phoneNumber, FInputType.PhoneNumber);
     }
     else
     {
         _cardData        = XMLSaver.saveData.GetBankCardData(_data.cardId);
         _bankIcon.sprite = AssetsManager.Instance.GetBankSprite(_cardData.bankName);
         _nameText.text   = _cardData.realName;
         _idText.text     = _cardData.bankName.Replace(ContentHelper.Read(ContentHelper.SavingCardText), "")
                            + "(" + _data.cardId.Substring(_data.cardId.Length - 4, 4) + ")";
     }
 }
Ejemplo n.º 3
0
    /// <summary>
    /// 添加一个银行卡数据
    /// </summary>
    public BankCardSaveData AddBankCardData(int accountId, string cardId)
    {
        int existAccountIndex = -1;

        for (int i = 0; i < bankCardList.Count; i++)
        {
            if (bankCardList[i].accountId == accountId && bankCardList[i].cardId == cardId)
            {
                existAccountIndex = i;
            }
        }
        if (existAccountIndex >= 0)
        {
            return(bankCardList[existAccountIndex]);
        }
        BankCardSaveData data = new BankCardSaveData();

        data.accountId = accountId;
        data.cardId    = cardId;
        data.realName  = GetAccountData(accountId).realName;
        data.bankName  = StaticDataBankCard.GetCardNameById(cardId);
        bankCardList.Add(data);
        if (GetBankCardDataList(accountId).Count == 1)
        {
            curUseCardList.Add(data);
        }
        return(data);
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 获取最近转账银行卡
    /// </summary>
    public List <BankCardSaveData> GetRecentTransCardList()
    {
        List <TransactionSaveData> dataList = assetsData.transactionList;
        List <BankCardSaveData>    result   = new List <BankCardSaveData>();

        for (int i = dataList.Count - 1; i >= 0; i--)
        {
            if (dataList[i].iconType == TransactionIconType.BankCard)
            {
                bool addFlag = true;
                for (int j = 0; j < result.Count; j++)
                {
                    if (result[j].cardId == dataList[i].cardId)
                    {
                        addFlag = false;
                        break;
                    }
                }
                if (!addFlag)
                {
                    continue;
                }
                BankCardSaveData cardData = XMLSaver.saveData.GetBankCardData(dataList[i].cardId);
                result.Add(cardData);
                if (result.Count == 3)
                {
                    break;
                }
            }
        }
        return(result);
    }
Ejemplo n.º 5
0
        public void OnClickOk()
        {
            double money        = double.Parse(_moneyInput.text);
            double serviceMoney = Utils.GetBankServiceAmount(money);

            if (money + serviceMoney > AssetsManager.Instance.assetsData.balance)
            {
                ShowNotice(ContentHelper.Read(ContentHelper.CashExceed));
            }
            else
            {
                UIManager.Instance.Push(new InputAndCheckPaywordContext(() => {
                    BankCardSaveData data = AssetsManager.Instance.curUseBankCard;
                    AssetsManager.Instance.assetsData.balance -= (money + serviceMoney);
                    data.money += money;
                    TransactionSaveData actionData = new TransactionSaveData();
                    actionData.timeStr             = DateTime.Now.ToString();
                    actionData.streamType          = TransactionStreamType.NoChange;
                    actionData.remarkStr           = ContentHelper.Read(ContentHelper.OtherText);
                    actionData.money     = money;
                    actionData.detailStr = ContentHelper.Read(ContentHelper.YuECash);
                    actionData.iconType  = TransactionIconType.BankCard;
                    actionData.payway    = PaywayType.BankCard;
                    actionData.cardId    = data.cardId;
                    AssetsManager.Instance.AddTransactionData(actionData);
                    UIManager.Instance.Pop();
                    UIManager.Instance.Push(new BalanceCashSuccContext(Utils.FormatPaywayStr(PaywayType.BankCard, data.cardId), money));
                }));
            }
        }
Ejemplo n.º 6
0
 public override void SetData(object o)
 {
     base.SetData(o);
     _data            = o as BankCardSaveData;
     _cardName.text   = _data.bankName.Replace(ContentHelper.Read(ContentHelper.SavingCardText), "");
     _lastNumber.text = string.Format(ContentHelper.Read(ContentHelper.CardLastNum), _data.cardId.Substring(_data.cardId.Length - 4, 4));
 }
Ejemplo n.º 7
0
        public void OnClickConfirm()
        {
            AssetsSaveData   data     = AssetsManager.Instance.assetsData;
            BankCardSaveData bankCard = AssetsManager.Instance.curUseBankCard;
            double           amount   = 0;

            double.TryParse(_moneyInput.text, out amount);
            if (amount > data.yuEBao)
            {
                ShowNotice(ContentHelper.Read(ContentHelper.AssetsNotEnough));
            }
            else
            {
                UIManager.Instance.Push(new InputAndCheckPaywordContext(() =>
                {
                    data.yuEBao    -= amount;
                    bankCard.money += amount;
                    TransactionSaveData actionData = new TransactionSaveData();
                    actionData.iconType            = TransactionIconType.BankCard;
                    actionData.payway     = PaywayType.BankCard;
                    actionData.cardId     = bankCard.cardId;
                    actionData.streamType = TransactionStreamType.NoChange;
                    actionData.remarkStr  = ContentHelper.Read(ContentHelper.FinanceText);
                    actionData.timeStr    = DateTime.Now.ToString();
                    actionData.detailStr  = ContentHelper.Read(ContentHelper.YuEBaoText) + "-" + ContentHelper.Read(ContentHelper.OutToCard);
                    AssetsManager.Instance.AddTransactionData(actionData);
                    UIManager.Instance.Pop();
                    string str = string.Format(ContentHelper.Read(ContentHelper.YuEBaoToCardSucc), amount.ToString("0.00"),
                                               Utils.FormatPaywayStr(PaywayType.BankCard, bankCard.cardId));
                    UIManager.Instance.Push(new YuEBaoOutSuccContext(str));
                }));
            }
        }
Ejemplo n.º 8
0
 public override void Init()
 {
     base.Init();
     _accData  = null;
     _cardData = null;
     _btn      = GetComponent <Button>();
     _btn.onClick.AddListener(OnClickBtn);
 }
Ejemplo n.º 9
0
    public static ResultType TryPay(double money, PaywayType way, string cardId = "")
    {
        ResultType     result = ResultType.Failed;
        AssetsSaveData data   = AssetsManager.Instance.assetsData;

        switch (way)
        {
        case PaywayType.Balance:
            if (data.balance >= money)
            {
                data.balance -= money;
                result        = ResultType.Success;
            }
            break;

        case PaywayType.YuEBao:
            if (data.yuEBao >= money)
            {
                data.yuEBao -= money;
                result       = ResultType.Success;
            }
            break;

        case PaywayType.BankCard:
            if (string.IsNullOrEmpty(cardId))
            {
                BankCardSaveData cardData = XMLSaver.saveData.GetCurUseCard(GameManager.Instance.curUserId);
                if (cardData.money >= money)
                {
                    cardData.money -= money;
                    result          = ResultType.Success;
                }
            }
            else
            {
                BankCardSaveData cardData = XMLSaver.saveData.GetBankCardData(cardId);
                if (cardData != null && cardData.money >= money)
                {
                    cardData.money -= money;
                    result          = ResultType.Success;
                }
            }
            break;

        case PaywayType.Ant:
            if (data.antPay >= money)
            {
                data.antPay -= money;
                result       = ResultType.Success;
            }
            break;

        default:
            Debug.LogError(string.Format("try use pay way {0}, but not handle this way", way));
            break;
        }
        return(result);
    }
Ejemplo n.º 10
0
 public override void SetData(object o)
 {
     base.SetData(o);
     data             = o as BankCardSaveData;
     _bankIcon.sprite = AssetsManager.Instance.GetBankSprite(data.bankName);
     _realName.text   = data.realName;
     _bankName.text   = data.cardId.Substring(0, 6) + "***" + data.cardId.Substring(data.cardId.Length - 4, 4) +
                        data.bankName.Replace(ContentHelper.Read(ContentHelper.SavingCardText), "");
 }
Ejemplo n.º 11
0
        private void Refresh()
        {
            BankCardSaveData data = AssetsManager.Instance.curUseBankCard;

            _cardIcon.sprite   = AssetsManager.Instance.GetBankSprite(data.bankName);
            _cardText.text     = Utils.FormatPaywayStr(PaywayType.BankCard, data.cardId);
            _maxMoneyText.text = string.Format(ContentHelper.Read(ContentHelper.MaxCanToCard), AssetsManager.Instance.assetsData.yuEBao);
            _fastWaySelectedObj.SetActive(_toCardTimeType == ToCardTimeType.Fast);
            _normalWaySelectedobj.SetActive(_toCardTimeType == ToCardTimeType.Normal);
        }
Ejemplo n.º 12
0
        private void Refresh()
        {
            BankCardSaveData data = AssetsManager.Instance.curUseBankCard;

            _moneyInput.text = "";
            _icon.sprite     = AssetsManager.Instance.GetBankSprite(data.bankName);
            _bankName.text   = data.bankName.Replace(ContentHelper.Read(ContentHelper.SavingCardText), "");
            _lastCardId.text = string.Format(ContentHelper.Read(ContentHelper.CardLastNum), data.cardId.Substring(data.cardId.Length - 4, 4));
            _tips.text       = string.Format(ContentHelper.Read(ContentHelper.CanUseBalance), AssetsManager.Instance.assetsData.balance.ToString("0.00"));
            _allBtn.gameObject.SetActive(AssetsManager.Instance.assetsData.balance > 0.2);
        }
Ejemplo n.º 13
0
        private void Refresh()
        {
            BankCardSaveData data = XMLSaver.saveData.GetBankCardData(_context.cardId);

            _nameText.text   = _context.name;
            _cardText.text   = Utils.FormatPaywayStr(PaywayType.BankCard, _context.cardId);
            _serviceAmount   = Utils.GetBankServiceAmount(_context.amount);
            _totalMoney      = _context.amount + _serviceAmount;
            _moneyText.text  = _totalMoney.ToString() + ContentHelper.Read(ContentHelper.RMBText);
            _detailText.text = string.Format(ContentHelper.Read(ContentHelper.TransferToCardDetail), _context.amount, _serviceAmount);
            _bankIcon.sprite = AssetsManager.Instance.GetBankSprite(data.bankName);
            _bankIcon.rectTransform.anchoredPosition3D = new Vector3(-_cardText.preferredWidth / 2 - 20,
                                                                     _cardText.transform.localPosition.y, _cardText.transform.localPosition.z);
        }
Ejemplo n.º 14
0
 private void TransToBankCard() //转到银行卡
 {
     if (_canPayFlag)
     {
         BankCardSaveData data = XMLSaver.saveData.GetBankCardData(_context.cardId);
         if (data == null)
         {
             ShowNotice(ContentHelper.Read(ContentHelper.CardNotSupport));
             return;
         }
         UIManager.Instance.Push(new InputAndCheckPaywordContext(() =>
         {
             ResultType result = Utils.TryPay(_amount, _payway);
             if (result == ResultType.Success)
             {
                 data.money                    += _amount;
                 string receiverStr             = "(" + Utils.FormatPaywayStr(PaywayType.BankCard, _context.cardId) + ")";
                 receiverStr                    = data.realName + receiverStr;
                 TransactionSaveData actionData = new TransactionSaveData();
                 if (data.realName == GameManager.Instance.accountData.realName)
                 {
                     actionData.streamType = TransactionStreamType.NoChange;
                 }
                 else
                 {
                     actionData.streamType = TransactionStreamType.Expend;
                 }
                 actionData.timeStr   = DateTime.Now.ToString();
                 actionData.money     = _amount;
                 actionData.remarkStr = ContentHelper.Read(ContentHelper.OtherText);
                 actionData.detailStr = ContentHelper.Read(ContentHelper.TransToCardText) + data.realName;
                 actionData.iconType  = TransactionIconType.BankCard;
                 actionData.payway    = PaywayType.BankCard;
                 actionData.cardId    = data.cardId;
                 AssetsManager.Instance.AddTransactionData(actionData);
                 UIManager.Instance.Push(new TransferSuccContext(_amount, _paywayStr, receiverStr, _context.transRemark));
             }
             else
             {
                 ShowNotice(ContentHelper.Read(ContentHelper.AssetsNotEnough));
                 UIManager.Instance.Push(new SelectPayWayContext(_amount, SpendType.TransferToBalance));
             }
         }));
     }
     else
     {
         UIManager.Instance.Push(new SelectPayWayContext(_amount, SpendType.TransferToBankCard));
     }
 }
Ejemplo n.º 15
0
 public void Set(int id)
 {
     this._id         = id;
     curPayway        = PaywayType.None;
     assetsData       = XMLSaver.saveData.GetAssetsData(id);
     bankCardsData    = XMLSaver.saveData.GetBankCardDataList(id);
     curUseBankCard   = XMLSaver.saveData.GetCurUseCard(id);
     _defaultCardIcon = Resources.Load <Sprite>(GameDefine.DefaultBankSprite);
     if (curUseBankCard != null)
     {
         curUseCardId = curUseBankCard.cardId;
     }
     RecalculationOfflineProfit();
     CheckAutoRepayAntOffline();
 }
Ejemplo n.º 16
0
    /// <summary>
    /// 设置当前默认使用的银行卡
    /// </summary>
    public BankCardSaveData SetCurUseCard(string cardId)
    {
        BankCardSaveData data = GetBankCardData(cardId);

        if (data != null)
        {
            if (curUseBankCard != null)
            {
                curUseBankCard = data;
            }
            else
            {
                XMLSaver.saveData.curUseCardList.Add(data);
            }
            return(data);
        }
        else
        {
            return(null);
        }
    }
Ejemplo n.º 17
0
        public void OnClickNextBtn()
        {
            string           cardId   = _cardField.text.Replace(" ", "");
            BankCardSaveData cardData = XMLSaver.saveData.GetBankCardData(cardId);

            if (cardData != null)
            {
                if (cardData.realName != _nameField.text)
                {
                    ShowNotice(ContentHelper.Read(ContentHelper.NameNotMatchCard));
                }
                else
                {
                    UIManager.Instance.Push(new TransferToBankCardConfirmContext(double.Parse(_moneyField.text),
                                                                                 _nameField.text, cardId));
                }
            }
            else
            {
                ShowNotice(ContentHelper.Read(ContentHelper.CardNotSupport));
            }
        }
Ejemplo n.º 18
0
    public void Refresh()
    {
        _selectBtn = GetComponent <Button>();
        _selectBtn.interactable = _data.isCanUse || _data.isAddCard;
        bool selectFlag = false;

        if (!_data.isAddCard && _data.isCanUse)
        {
            if (_data.payway == AssetsManager.Instance.curPayway)
            {
                selectFlag = true;
                if (_data.payway == PaywayType.BankCard)
                {
                    selectFlag = _data.cardId == AssetsManager.Instance.curUseBankCard.cardId;
                }
            }
        }
        _selectedObj.SetActive(selectFlag);
        _addCardRoot.SetActive(_data.isAddCard);
        _canUseRoot.SetActive(!_data.isAddCard && _data.isCanUse);
        _notEnoughRoot.SetActive(!_data.isAddCard && !_data.isCanUse);
        _icon.gameObject.SetActive(!_data.isAddCard);

        if (_data.payway == PaywayType.BankCard)
        {
            BankCardSaveData data = AssetsManager.Instance.GetBankCardData(_data.cardId);
            _payWayText.text = Utils.FormatPaywayStr(_data.payway, _data.cardId);
            _icon.sprite     = AssetsManager.Instance.GetBankSprite(data.bankName);
        }
        else if (_data.payway == PaywayType.Balance)
        {
            _payWayText.text = Utils.FormatPaywayStr(_data.payway) + "(" + ContentHelper.Read(ContentHelper.RemainText) +
                               ":" + AssetsManager.Instance.assetsData.balance.ToString("0.00") + ")";
            _icon.sprite = Utils.GetBalanceSprite();
        }
        else if (_data.payway == PaywayType.YuEBao)
        {
            _payWayText.text = Utils.FormatPaywayStr(_data.payway) + "(" + ContentHelper.Read(ContentHelper.RemainText) +
                               ":" + AssetsManager.Instance.assetsData.yuEBao.ToString("0.00") + ")";
            _icon.sprite = Utils.GetYuEBaoSprite();
        }
        else if (_data.payway == PaywayType.Ant)
        {
            _payWayText.text = Utils.FormatPaywayStr(_data.payway) + "(" + ContentHelper.Read(ContentHelper.CanUseText) +
                               ":" + AssetsManager.Instance.assetsData.antPay.ToString("0.00") + ")";
            _icon.sprite = Utils.GetAntSprite();
        }
        if (!_data.isCanUse)
        {
            _notEnoughTitleText.text = _payWayText.text;
            _notEnoughText.text      = ContentHelper.Read(ContentHelper.MoneyNotEnough);
            if (_data.payway == PaywayType.YuEBao && (_data.spendType == SpendType.ToSelfAssets || _data.spendType == SpendType.ToSelfYuEBao))
            {
                _notEnoughText.text = ContentHelper.Read(ContentHelper.PaywayNotSupport);
            }
            else if (_data.payway == PaywayType.Balance && _data.spendType == SpendType.ToSelfAssets)
            {
                _notEnoughText.text = ContentHelper.Read(ContentHelper.PaywayNotSupport);
            }
        }
    }
Ejemplo n.º 19
0
 public BankCardDetailContext(BankCardSaveData data) : base(UIType.BankCardDetail)
 {
     this.data = data;
 }
Ejemplo n.º 20
0
 public TransferToBankCardContext(BankCardSaveData data) : base(UIType.TransferToBankCard)
 {
     this.data = data;
 }
Ejemplo n.º 21
0
 /// <summary>
 /// 刷新银行卡列表
 /// </summary>
 public void UpdateCardsList()
 {
     bankCardsData  = XMLSaver.saveData.GetBankCardDataList(_id);
     curUseBankCard = XMLSaver.saveData.GetCurUseCard(_id);
 }
Ejemplo n.º 22
0
        public void OnClickConfirm()
        {
            if (string.IsNullOrEmpty(_moneyInput.text))
            {
                return;
            }
            double         amount     = double.Parse(_moneyInput.text);
            AssetsSaveData assetsData = AssetsManager.Instance.assetsData;

            if (_payWay == PaywayType.Balance)
            {
                if (assetsData.balance < amount)
                {
                    ShowNotice(ContentHelper.Read(ContentHelper.AssetsNotEnough));
                    _moneyInput.text = "";
                }
                else
                {
                    UIManager.Instance.Push(new InputAndCheckPaywordContext(() =>
                    {
                        assetsData.balance            -= amount;
                        assetsData.yuEBao             += amount;
                        TransactionSaveData actionData = new TransactionSaveData();
                        actionData.iconType            = TransactionIconType.YuEBao;
                        actionData.payway              = PaywayType.Balance;
                        actionData.streamType          = TransactionStreamType.NoChange;
                        actionData.remarkStr           = ContentHelper.Read(ContentHelper.FinanceText);
                        actionData.timeStr             = DateTime.Now.ToString();
                        actionData.detailStr           = ContentHelper.Read(ContentHelper.YuEBaoText) + "-" + ContentHelper.Read(ContentHelper.SingleTrunIn);
                        AssetsManager.Instance.AddTransactionData(actionData);
                        UIManager.Instance.Pop();
                        string payStr = Utils.FormatPaywayStr(PaywayType.Balance);
                        UIManager.Instance.Push(new YuEBaoInSuccContext(amount, payStr));
                    }));
                }
            }
            else if (_payWay == PaywayType.BankCard)
            {
                BankCardSaveData bankData = AssetsManager.Instance.curUseBankCard;
                if (GameDefine.BankCardMaxTransfer < amount)
                {
                    ShowNotice(ContentHelper.Read(ContentHelper.ExceedOnceMaxMoney));
                }
                else if (bankData.money < amount)
                {
                    ShowNotice(ContentHelper.Read(ContentHelper.AssetsNotEnough));
                    _moneyInput.text = "";
                }
                else
                {
                    UIManager.Instance.Push(new InputAndCheckPaywordContext(() =>
                    {
                        bankData.money    -= amount;
                        assetsData.yuEBao += amount;
                        UIManager.Instance.Pop();
                        string payStr = Utils.FormatPaywayStr(PaywayType.BankCard, bankData.cardId);
                        UIManager.Instance.Push(new YuEBaoInSuccContext(amount, payStr));
                    }));
                }
            }
        }