Esempio n. 1
0
        public ActionResult CheckDzero()
        {
            string tradeNo = TQuery.GetString("tradeNo");
            respModel <respCheckDzeroModel> result = new respModel <respCheckDzeroModel>();

            if (string.IsNullOrEmpty(tradeNo))
            {
                result.backState = -100;
                result.message   = "";
            }
            else
            {
                result = MiShuaDepository.CheckDzero(Convert.ToInt32(tradeNo), Utility.Const.Logic.Platform.系统);
            }

            return(View(result));
        }
Esempio n. 2
0
        private bool WithDrawHandle()
        {
            bool flag = false;

            if (listViewPayRecord != null && listViewPayRecord.Count > 0)
            {
                while (listViewPayRecord.Count > 0)
                {
                    var item = listViewPayRecord[0];

                    Logic.ChannelType Channel = (Logic.ChannelType)item.ChannelType;
                    ResultModel       result  = new ResultModel();
                    result.backState = -100;
                    string msg = "";
                    switch (Channel)
                    {
                    case Logic.ChannelType.易宝:
                        msg = "支付失败";
                        var yeepayResult = YeepayDepository.TradeReviceQuery(item.RequestId.ToString(), (int)Logic.Platform.系统);
                        if (yeepayResult.backState == 0 && yeepayResult.tradeReceives.Count > 0 && yeepayResult.tradeReceives[0].status == "SUCCESS")
                        {
                            result.backState = 0;
                            msg = "支付成功";
                        }
                        break;

                    case Logic.ChannelType.荣邦科技积分:
                    case Logic.ChannelType.荣邦3:
                        msg = "支付失败";
                        var masgettResult = MasgetDepository.PaymentjournalGet(item.RequestId, (int)Logic.Platform.系统, Channel);
                        if (masgettResult.backState == 0 && masgettResult.data.respcode == 2)
                        {
                            result.backState = 0;
                            msg = "支付成功";
                        }
                        break;

                    case Logic.ChannelType.荣邦科技无积分:
                        break;

                    case Logic.ChannelType.腾付通:
                        var TengResult = TengDepository.PayDebitQuery(item.RequestId, (int)Logic.Platform.系统);
                        if (TengResult.backState == 0 && TengResult.status == "3")
                        {
                            result.backState = 0;
                            msg = "支付成功";
                        }
                        else
                        {
                            msg = TengResult.respMsg;
                        }
                        break;

                    case Logic.ChannelType.米刷:
                        var mishuaResult = MiShuaDepository.CheckDzero(item.RequestId, Logic.Platform.系统);
                        if (mishuaResult.backState == 0 && mishuaResult.Data.status == "00" && mishuaResult.Data.qfStatus == "SUCCESS")
                        {
                            result.backState = 0;
                            msg = "支付成功";
                        }
                        break;

                    default:
                        break;
                    }
                    bool f = false;
                    //Logs.WriteLog($"处理数据:{JsonConvert.SerializeObject(result)}", "d:\\Log\\自动处理", "资金队列");
                    //处理数据
                    f = payRecordDao.UpdateState(item.ID, result.backState == 0 ? 10 : -1, msg);
                    if (f)
                    {
                        //交易成功回调
                        UsersDepository.NoticeSuccess(item.ID, item.UserId);

                        int num = Convert.ToInt32(_tbxWithDrawSuccess.Text);
                        num++;
                        _tbxWithDrawSuccess.Text = num.ToString();
                    }
                    else
                    {
                        int num = Convert.ToInt32(_tbxWithDrawFail.Text);
                        num++;
                        _tbxWithDrawFail.Text = num.ToString();
                    }


                    listViewPayRecord.Remove(item);
                    Thread.Sleep(ConfigInfo.theadTime);
                }
            }
            else
            {
                //两小时前的数据被处理
                listViewPayRecord = viewPayRecordDao.GetQuery(10, " State not in(10,-1) and DATEDIFF(HOUR,CTime,GETDATE())>2  ", null, "order by id asc");
                if (listViewPayRecord != null && listViewPayRecord.Count > 0)
                {
                    return(WithDrawHandle());
                }
            }
            return(flag);
        }