Beispiel #1
0
        /// <summary>
        /// 订单退款
        /// </summary>
        /// <param name="context"></param>
        private void refund(HttpContext context)
        {
            string aoid     = PayRequest.GetFormString("aoid");
            string errorMsg = "";

            if (string.IsNullOrWhiteSpace(aoid))
            {
                errorMsg = "XorPay平台订单号不能为空";
            }
            float price = PayRequest.GetFormFloat("price", 0f);

            if (price <= 0f)
            {
                errorMsg = "退款金额必须大于0";
            }
            if (!string.IsNullOrWhiteSpace(errorMsg))
            {
                context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
                {
                    status = 0,
                    msg    = errorMsg
                }));
                return;
            }
            string data_info = "";

            try
            {
                string strInfo = PayCore.Refund(aoid, price);
                if (!string.IsNullOrWhiteSpace(strInfo))
                {
                    statusInfo info = JsonHelper.JSONToObject <statusInfo>(strInfo);
                    if (info != null)
                    {
                        data_info = PayCore.GetDictValue(PayModel.refundStatusDict, info.status);
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex.Message);
                context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
                {
                    status = 0,
                    msg    = ex.Message
                }));
                return;
            }
            context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
            {
                status = 1,
                msg    = "请求成功",
                data   = data_info
            }));
        }
Beispiel #2
0
        /// <summary>
        /// 获取订单支付状态
        /// </summary>
        /// <param name="context"></param>
        private void queryOrerNo(HttpContext context)
        {
            string order_no = PayRequest.GetQueryString("order_no");

            if (string.IsNullOrWhiteSpace(order_no))
            {
                context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
                {
                    status = 0,
                    msg    = "订单号不能为空"
                }));
                return;
            }
            string aoid = Orders.GetAoidByOrderNo(order_no);

            if (!string.IsNullOrWhiteSpace(aoid))
            {
                try
                {
                    string strInfo = PayRequest.SendRequest($"https://xorpay.com/api/query/{aoid}", "", "GET", "UTF-8");
                    if (!string.IsNullOrWhiteSpace(strInfo))
                    {
                        statusInfo info = JsonHelper.JSONToObject <statusInfo>(strInfo);
                        if (info != null && (info.status == "payed" || info.status == "success"))
                        {
                            context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
                            {
                                status = 1,
                                msg    = "订单已支付"
                            }));
                            return;
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.Error(ex.Message);
                }
            }
            context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
            {
                status = 0,
                msg    = ""
            }));
        }
Beispiel #3
0
        /// <summary>
        /// 订单查询
        /// </summary>
        /// <param name="context"></param>
        private void query(HttpContext context)
        {
            string aoid = PayRequest.GetFormString("aoid");

            if (string.IsNullOrWhiteSpace(aoid))
            {
                context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
                {
                    status = 0,
                    msg    = "XorPay平台订单号不能为空"
                }));
                return;
            }
            string data_info = "";

            try
            {
                string strInfo = PayRequest.SendRequest($"https://xorpay.com/api/query/{aoid}", "", "GET", "UTF-8");
                if (!string.IsNullOrWhiteSpace(strInfo))
                {
                    statusInfo info = JsonHelper.JSONToObject <statusInfo>(strInfo);
                    if (info != null)
                    {
                        data_info = PayCore.GetDictValue(PayModel.queryStatusDict, info.status);
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex.Message);
                context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
                {
                    status = 0,
                    msg    = ex.Message
                }));
                return;
            }
            context.Response.Write(JsonHelper.ObjectToJSON(new JsonData <string>
            {
                status = 1,
                msg    = "请求成功",
                data   = data_info
            }));
        }
Beispiel #4
0
 public virtual void TurnStart()
 {
     for (int statusIdx = characterStatus.Count - 1; statusIdx >= 0; statusIdx--)
     {
         statusInfo status = characterStatus[statusIdx];
         if (status.trigger == statusTrigger.TurnStart)
         {
             status.timeRemaining = status.timeRemaining - 1;
             if (status.timeRemaining <= 0)
             {
                 if (status.status == statusEffects.Defending)
                 {
                     Defense -= status.intensity;
                 }
                 characterStatus.RemoveAt(statusIdx);
             }
         }
     }
 }
Beispiel #5
0
 public virtual void TurnEnd()
 {
     for (int statusIdx = characterStatus.Count - 1; statusIdx >= 0; statusIdx--)
     {
         statusInfo status = characterStatus[statusIdx];
         if (status.trigger == statusTrigger.TurnEnd)
         {
             status.timeRemaining = status.timeRemaining - 1;
             if (status.timeRemaining <= 0)
             {
                 if (status.status == statusEffects.Stunned)
                 {
                     Paralyzed = false;
                     animator.SetTrigger("StunEnd");
                 }
                 if (status.status == statusEffects.Pushable)
                 {
                     Pushable = false;
                 }
                 characterStatus.RemoveAt(statusIdx);
             }
         }
     }
 }