Пример #1
0
        /// <summary>
        /// 账户充值
        /// author:白尚德
        /// </summary>
        /// <param name="fuserId"></param>
        /// <param name="forderId"></param>
        /// <param name="amount"></param>
        /// <param name="description"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public bool Recharge_php(long fuserId, string forderId, double amount, string description, string key)
        {
            PHPRequest Request = new PHPRequest
            {
                AppKey = _options.Value.AppKey,
                Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(new RechargePhpRequest()
                {
                    amount      = amount,
                    forderId    = forderId,
                    fuserId     = fuserId.ToString(),
                    description = description,
                    rateKey     = key,
                }))
            };

            Request.Sign = _sys.Sha512Encode($"{Request.AppKey}{_options.Value.AppSecret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strUrl  = string.Format(_options.Value.Url, "v1", "recharge");
            string strJson = JsonHelper.SerializeObject(Request);

            _log.Info($"账户充值请求参数_php{strJson}");
            var response = JsonHelper.DeserializeJsonToObject <PHPResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));

            _log.Info($"账户充值返回值_php{JsonHelper.SerializeObject(response)}" + Request.RequestId);
            return(response.Code == "0");
        }
Пример #2
0
        /// <summary>
        /// 根据兑出订单号查询订单状态
        /// author:白尚德
        /// </summary>
        /// <param name="forderId">第三方订单号</param>
        /// <returns></returns>
        public CostStatusResult CostStatus_php(string forderId)
        {
            CostStatusResult   result     = null;
            CostStatusResponse costStatus = new CostStatusResponse
            {
                forderId = forderId
            };
            PHPRequest Request = new PHPRequest();

            Request.AppKey = _options.Value.AppKey;
            Request.Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(costStatus));
            Request.Sign   = _sys.Sha512Encode($"{Request.AppKey}{_options.Value.AppSecret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strJson = JsonHelper.SerializeObject(Request);

            _log.Info($"根据兑出订单号查询订单状态_php请求参数{strJson}");
            string strUrl   = string.Format(_options.Value.Url, "v1", "costStatus");
            var    response = JsonHelper.DeserializeJsonToObject <PHPResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));

            _log.Info($"根据兑出订单号查询订单状态_php返回值{JsonHelper.SerializeObject(response)}");
            result = JsonHelper.DeserializeJsonToObject <CostStatusResult>(_sys.Base64Decode(response.Data));

            if (result.code == 0)
            {
                result.code    = 0;
                result.message = "成功";
            }
            else
            {
                result = null;
            }
            return(result);
        }
Пример #3
0
        /// <summary>
        /// 赠币
        /// author:白尚德
        /// </summary>
        /// <returns></returns>
        public async Task <bool> GiveCurrencyAsync_php(GiveCurrencyDto giveCurrency)
        {
            PHPRequest Request = new PHPRequest
            {
                AppKey = _options.Value.AppKey,
                Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(giveCurrency))
            };

            Request.Sign = _sys.Sha512Encode($"{Request.AppKey}{_options.Value.AppSecret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strJson = JsonHelper.SerializeObject(Request);
            string strUrl  = string.Format(_options.Value.Url, "v1", "gift");

            _log.Info($"用户赠币请求参数_php{strJson}");
            var response = JsonHelper.DeserializeJsonToObject <PHPResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));
            var result   = JsonHelper.DeserializeJsonToObject <CostStatusResult>(_sys.Base64Decode(response.Data));

            _log.Info($"用户赠币返回值_php{JsonHelper.SerializeObject(response)}");
            if (result.code == 0)
            {
                GiveCurrencyLogDto giveCurrencyLogDto = new GiveCurrencyLogDto
                {
                    CreateTime = DateTime.Now,
                    Key        = giveCurrency.key,
                    Order      = giveCurrency.forderId,
                    UserId     = long.Parse(giveCurrency.fuserId)
                };
                var entity = _mapper.Map <GiveCurrencyLogDto, GiveCurrencyLogEntity>(giveCurrencyLogDto);
                _context.giveCurrencyLog.Add(entity);
                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
Пример #4
0
        /// <summary>
        /// 查询用户余额
        /// author:白尚德
        /// </summary>
        /// <param name="userId"></param>
        /// <returns>余额,可兑出</returns>
        public UserBalanceDto AcquireBalance_php(long userId)
        {
            BalanceReuqest Balance = new BalanceReuqest
            {
                FuserId = userId.ToString()
            };
            PHPRequest Request = new PHPRequest();

            Request.AppKey = _options.Value.AppKey;
            Request.Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(Balance));
            Request.Sign   = _sys.Sha512Encode($"{Request.AppKey}{_options.Value.AppSecret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strUrl  = string.Format(_options.Value.Url, "v1", "balance");
            string strJson = JsonHelper.SerializeObject(Request);

            _log.Info($"查询用户余额请求参数_php{strJson}");
            var response = JsonHelper.DeserializeJsonToObject <PHPResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));

            _log.Info($"查询用户余额返回值_php{ JsonHelper.SerializeObject(response)}");
            if (response.Code == "0")
            {
                var vResult = JsonHelper.DeserializeJsonToObject <UserBalanceDto>(_sys.Base64Decode(response.Data));
                return(vResult);
            }
            return(null);
        }
Пример #5
0
        /// <summary>
        /// 账户退款
        /// author:白尚德
        /// </summary>
        /// <param name="refund"></param>
        /// <returns></returns>
        public async Task <bool> Refund_php(RefundDto refund)
        {
            PHPRequest Request = new PHPRequest
            {
                AppKey = _options.Value.AppKey,
                Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(refund))
            };

            Request.Sign = _sys.Sha512Encode($"{Request.AppKey}{_options.Value.AppSecret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strJson = JsonHelper.SerializeObject(Request);
            string strUrl  = string.Format(_options.Value.Url, "v1", "refund");

            _log.Info($"账户退款请求参数_php{strJson}");
            var response = JsonHelper.DeserializeJsonToObject <PHPResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));

            _log.Info($"账户退款返回值_php{JsonHelper.SerializeObject(response)}");
            var result = JsonHelper.DeserializeJsonToObject <CostStatusResult>(_sys.Base64Decode(response.Data));

            if (result.code == 0)
            {
                var entity = await _context.Exchange.FirstOrDefaultAsync(m => m.OrderId == refund.forderId);

                if (entity == null)
                {
                    return(false); //订单不存在
                }
                entity.Status = 1; //退款
                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
Пример #6
0
 private IEnumerator request()
 {
     while (true)
     {
         if (m_requests.Count > 0)
         {
             foreach (PhPRequestData req in m_requests)
             {
                 PHPRequest php = gameObject.AddComponent <PHPRequest>();
                 php.Requre(req);
             }
         }
         yield return(new WaitForSeconds(m_requestDelay));
     }
 }
Пример #7
0
        /// <summary>
        /// 海峡竞技消费PHP
        /// </summary>
        /// <param name="consume"></param>
        /// <returns></returns>
        public async Task <bool> Consume_php(ConsumeDto consume)
        {
            ConsumePhpDto consumephp = new ConsumePhpDto
            {
                GameKey     = _phpoptions.Value.gameKey,
                GameSetId   = consume.forderId,
                OrderId     = consume.forderId,
                UserId      = consume.fuserId,
                Amount      = consume.amount,
                OperateTime = Convert.ToInt64(DateTime.Now.ToOADate()),
                Description = consume.description
            };
            PHPRequest Request = new PHPRequest();

            Request.AppKey = _phpoptions.Value.appKey;
            Request.Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(consumephp));
            Request.Sign   = _sys.Sha512Encode($"{Request.AppKey}{_phpoptions.Value.secret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strJson = JsonHelper.SerializeObject(Request);
            string strUrl  = string.Format(_phpoptions.Value.url, "v1", "haixiaBet");

            _log.Info($" 海峡竞技消费PHP请求参数{strJson}");
            var response = JsonHelper.DeserializeJsonToObject <PHPResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));
            var result   = JsonHelper.DeserializeJsonToObject <CostStatusResult>(_sys.Base64Decode(response.Data));

            _log.Info($" 海峡竞技消费PHP返回值{JsonHelper.SerializeObject(response)}");
            if (result.code == 0)
            {
                UserExchangeDto temp = new UserExchangeDto
                {
                    Amount     = consume.amount,
                    CreateTime = DateTime.Now,
                    Name       = consume.description,
                    OrderId    = consume.forderId,
                    UserId     = long.Parse(consume.fuserId),
                    Price      = consume.amount,
                    Quantity   = 1,
                    Status     = 0 //0正常,1退款
                };
                var entity = _mapper.Map <UserExchangeDto, UserExchangeEntity>(temp);
                _context.Exchange.Add(entity);
                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
Пример #8
0
        /// <summary>
        /// 查询用户流水
        /// author:白尚德
        /// </summary>
        /// <param name="userId">用户id</param>
        /// <param name="type">1000 全部、1001 收入、1002 支出、1010 中奖、1012 充值、1014 退款、1016 兑换、1017 投注</param>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">页面大小</param>
        /// <returns></returns>
        public FundList AcquireFund_php(long userId, int type, int pageIndex, int pageSize)
        {
            PHPFundRequest Fund = new PHPFundRequest
            {
                fuserId = userId.ToString(),
                type    = type
            };
            PHPRequest Request = new PHPRequest();

            Request.Page = new Models.PHPRequest.pagerequest
            {
                PageIndex = pageIndex == 0 ? 1 : pageIndex,
                PageSize  = pageSize == 0 ? 20 : pageSize,
            };
            Request.AppKey = _options.Value.AppKey;
            Request.Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(Fund));
            Request.Sign   = _sys.Sha512Encode($"{Request.AppKey}{_options.Value.AppSecret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strUrl  = string.Format(_options.Value.Url, "v1", "accountRecord");
            string strJson = JsonHelper.SerializeObject(Request);

            _log.Info($"查询用户流水_php请求参数{strJson}");
            var response = JsonHelper.DeserializeJsonToObject <PHPResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));

            _log.Info($"查询用户流水_php返回值{ JsonHelper.SerializeObject(response)}");
            var vResult = JsonHelper.DeserializeJsonToObject <FundList>(_sys.Base64Decode(response.Data));

            if (vResult != null)
            {
                vResult.Page = new PageInfo()
                {
                    Count      = response.Page.Count,
                    PageIndex  = response.Page.PageIndex,
                    PageSize   = response.Page.PageSize,
                    PageTotal  = response.Page.PageTotal,
                    Totaltotal = response.Page.Totaltotal,
                };
            }

            return(vResult);
        }
Пример #9
0
        /// <summary>
        /// 商品兑换
        /// author:白尚德
        /// </summary>
        /// <param name="exchange"></param>
        /// <returns></returns>
        public async Task <bool> Exchange_php(ExchangeDto exchange)
        {
            PHPRequest Request = new PHPRequest
            {
                AppKey = _options.Value.AppKey,
                Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(exchange))
            };

            Request.Sign = _sys.Sha512Encode($"{Request.AppKey}{_options.Value.AppSecret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strJson = JsonHelper.SerializeObject(Request);
            string strUrl  = string.Format(_options.Value.Url, "v1", "exchange");

            _log.Info($"商品兑换请求参数_php{strJson}");
            var response = JsonHelper.DeserializeJsonToObject <PHPResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));
            var result   = JsonHelper.DeserializeJsonToObject <CostStatusResult>(_sys.Base64Decode(response.Data));

            _log.Info($"商品兑换返回值_php{JsonHelper.SerializeObject(response)}");
            if (result.code == 0)
            {
                UserExchangeDto temp = new UserExchangeDto
                {
                    Amount     = exchange.Amount,
                    CreateTime = DateTime.Now,
                    Name       = exchange.Name,
                    OrderId    = exchange.ForderId,
                    UserId     = long.Parse(exchange.FuserId),
                    Price      = exchange.Price,
                    Quantity   = exchange.Quantity,
                    Status     = 0 //0正常,1退款
                };
                var entity = _mapper.Map <UserExchangeDto, UserExchangeEntity>(temp);
                _context.Exchange.Add(entity);
                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
Пример #10
0
        /// <summary>
        /// 海峡竞技从php获取订单状态
        /// </summary>
        /// <param name="forderId"></param>
        /// <returns></returns>
        public CostStatusResult CostOrderStatus_php(string forderId)
        {
            CostStatusResult result = new CostStatusResult();
            //CostorderStatusPhpResult statusResult = null;
            CostOrderStatusPhpResponse costStatus = new CostOrderStatusPhpResponse
            {
                type      = (int)1,
                gameKey   = _phpoptions.Value.gameKey,
                gameSetId = forderId,
                orderId   = forderId
            };
            PHPRequest Request = new PHPRequest();

            Request.AppKey = _phpoptions.Value.appKey;
            Request.Data   = _sys.Base64Encode(Encoding.UTF8, JsonHelper.SerializeObject(costStatus));
            Request.Sign   = _sys.Sha512Encode($"{Request.AppKey}{_phpoptions.Value.secret}{Request.Data}{Request.Nonce}{Request.Timestamp}");
            string strJson = JsonHelper.SerializeObject(Request);

            _log.Info($"根据兑出订单号查询订单状态请求参数{strJson}");
            string strUrl   = string.Format(_phpoptions.Value.url, "v1", "gameFind");
            var    response = JsonHelper.DeserializeJsonToObject <ZhangYuResponse>(_sys.PostJsonData(strUrl, strJson, Encoding.UTF8));

            // statusResult = JsonHelper.DeserializeJsonToObject<CostorderStatusPhpResult>(response);

            _log.Info($"根据兑出订单号查询订单状态返回值{JsonHelper.SerializeObject(response)}");
            //statusResult = JsonHelper.DeserializeJsonToObject<CostorderStatusPhpResult>(_sys.Base64Decode(response.Data));
            if (response.Code == "0")
            {
                result.code    = 0;
                result.message = "成功";
            }
            else
            {
                result = null;
            }
            return(result);
        }
Пример #11
0
    private void onRequestOnly(PhPRequestData _data)
    {
        PHPRequest php = gameObject.AddComponent <PHPRequest>();

        php.Requre(_data);
    }