Esempio n. 1
0
        public JsonResult ApplayRefund(int id)
        {
            if (CurrentUser == null)
            {
                return(Json(new { Mess = "系统超时,请刷新界面重试" }));
            }
            var models = Smart.Instance.AlipayQRCodeBizService.GetAllDomain(QueryCondition.Instance.AddEqual("Id", id.ToString()).AddEqual("RowState", "1"));

            if (models.Count != 1)
            {
                return(Json(new { Mess = "数据不存在,请刷新界面重试" }));
            }

            var modelQRCode = models[0];
            var result      = Smart.Instance.AlipayQRCodeBizService.CheckApplayRefund(id);

            // -1--已经存在申请记录
            // -2 --没有原始支付记录
            // -3--已经存在退款记录
            // 0--验证通过
            // -10系统异常
            if (result == 0)
            {
                var sceneryNameList = Smart.Instance.SceneryBizService.GetAllDomain(QueryCondition.Instance.AddEqual("Scenery", "SceneryName", modelQRCode.SceneryName).AddEqual("Scenery", "RowState", "1"));
                if (sceneryNameList.Count != 1)
                {
                    return(Json(new { Mess = "景区名称不存在" }));
                }

                var body = Newtonsoft.Json.JsonConvert.DeserializeObject <VisualSmart.Domain.Alipay.Precreate.PrecreateRequest>(modelQRCode.RequestJson);
                SceneryOrderRefundDomain model = new SceneryOrderRefundDomain();
                model.Creater        = CurrentUser.Name;
                model.CreateTime     = DateTime.Now;
                model.ApprovalStatus = 0;
                model.BatchNumber    = modelQRCode.BatchNumber;
                model.PlayDate       = modelQRCode.CreateTime;
                model.RowState       = 1;
                model.SceneryName    = modelQRCode.SceneryName;
                model.SceneryRate    = modelQRCode.SceneryRate;
                model.SceneryTCId    = Convert.ToInt32(sceneryNameList[0].SceneryTCId);
                model.SerialId       = "";
                model.Total          = Convert.ToDecimal(body.total_amount);
                Smart.Instance.SceneryOrderRefundBizService.Add(model);
                return(Json(new { Mess = "success" }));
            }

            if (result == -1)
            {
                return(Json(new { Mess = "已经存在申请记录,不能申请!" }));
            }
            if (result == -2)
            {
                return(Json(new { Mess = "没有原始支付记录,不能申请!" }));
            }
            if (result == -3)
            {
                return(Json(new { Mess = "已经存在退款记录,不能申请!" }));
            }
            if (result == -10)
            {
                return(Json(new { Mess = "系统异常!" }));
            }
            return(Json(new { Mess = "" }));
        }
        public ActionResult Index(SceneryOrderRefundDomain model, int isExcel = 0, int page = 1)
        {
            //审批状态
            var ApprovalStatusItems = new List <SelectListItem>
            {
                new SelectListItem {
                    Text = "全部", Value = "-1"
                },
                new SelectListItem {
                    Text = "未审核", Value = "0"
                },
                new SelectListItem {
                    Text = "已审核", Value = "1"
                },
                new SelectListItem {
                    Text = "已取消", Value = "2"
                },
                new SelectListItem {
                    Text = "未审核+已审核", Value = "3"
                }
            };

            ViewBag.ApprovalStatusItems = ApprovalStatusItems;
            Hashtable hsWhere = new Hashtable();
            var       query   = QueryCondition.Instance;

            if (!string.IsNullOrEmpty(model.SceneryName))
            {
                query.AddEqual("SceneryName", model.SceneryName);
            }
            if (!string.IsNullOrEmpty(model.BatchNumber))
            {
                query.AddLike("BatchNumber", model.BatchNumber);
            }
            if (!string.IsNullOrEmpty(model.SerialId))
            {
                query.AddLike("SerialId", model.SerialId);
            }
            if (model.ApprovalStatus != -1 && model.ApprovalStatus != 3)
            {
                query.AddEqual("ApprovalStatus", model.ApprovalStatus.ToString());
            }
            if (model.ApprovalStatus == 3)
            {
                hsWhere.Add("ApprovalStatus", "3");
            }
            if (!string.IsNullOrEmpty(model.PlayDateTo))
            {
                query.AddSmaller("PlayDate", Convert.ToDateTime(model.PlayDateTo).AddDays(1).ToString("yyyy-MM-dd"));
            }
            else
            {
                query.AddEqualSmaller("PlayDate", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"));
                model.PlayDateTo = DateTime.Now.ToString("yyyy-MM-dd");
            }
            if (!string.IsNullOrEmpty(model.PlayDateFrom))
            {
                query.AddEqualLarger("PlayDate", model.PlayDateFrom);
            }
            else
            {
                query.AddEqualLarger("PlayDate", DateTime.Now.ToString("yyyy-MM-dd"));
                model.PlayDateFrom = DateTime.Now.ToString("yyyy-MM-dd");
            }
            if (isExcel == 1)
            {
                OutExcelToList(Smart.Instance.SceneryOrderRefundBizService.GetAllDomain(query, hsWhere));
            }
            query.SetPager(page, 10);
            var refundList = Smart.Instance.SceneryOrderRefundBizService.GetAllDomain(query, hsWhere);

            ViewBag.Page       = query.GetPager();
            ViewBag.RefundList = refundList;
            return(View(model));
        }
Esempio n. 3
0
        public JsonResult ApplayRefund(int id)
        {
            if (CurrentUser == null)
            {
                return(Json(new { Mess = "系统超时,请刷新界面重试" }));
            }
            var models = Smart.Instance.WeChatQRCodeBizService.GetAllDomain(QueryCondition.Instance.AddEqual("Id", id.ToString()).AddEqual("RowState", "1"));

            if (models.Count != 1)
            {
                return(Json(new { Mess = "数据不存在,请刷新界面重试" }));
            }

            var modelQRCode = models[0];
            var result      = Smart.Instance.WeChatQRCodeBizService.CheckApplayRefund(id);

            // -1--已经存在申请记录
            // -2 --没有原始支付记录
            // -3--已经存在退款记录
            // 0--验证通过
            // -10系统异常
            if (result == 0)
            {
                var sceneryNameList = Smart.Instance.SceneryBizService.GetAllDomain(QueryCondition.Instance.AddEqual("Scenery", "SceneryName", modelQRCode.SceneryName).AddEqual("Scenery", "RowState", "1"));
                if (sceneryNameList.Count != 1)
                {
                    return(Json(new { Mess = "景区名称不存在" }));
                }
                //解析XML
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(modelQRCode.RequestJson);
                var     xml       = xmlDoc.SelectSingleNode("xml");
                decimal total_fee = Convert.ToDecimal(xml.SelectSingleNode("total_fee").InnerText);

                SceneryOrderRefundDomain model = new SceneryOrderRefundDomain();
                model.Creater        = CurrentUser.Name;
                model.CreateTime     = DateTime.Now;
                model.ApprovalStatus = 0;
                model.BatchNumber    = modelQRCode.BatchNumber;
                model.PlayDate       = modelQRCode.CreateTime;
                model.RowState       = 1;
                model.SceneryName    = modelQRCode.SceneryName;
                model.SceneryRate    = modelQRCode.SceneryRate;
                model.SceneryTCId    = Convert.ToInt32(sceneryNameList[0].SceneryTCId);
                model.SerialId       = "";
                model.Total          = total_fee / 100;
                model.PayType        = 1;
                Smart.Instance.SceneryOrderRefundBizService.Add(model);
                return(Json(new { Mess = "success" }));
            }

            if (result == -1)
            {
                return(Json(new { Mess = "已经存在申请记录,不能申请!" }));
            }
            if (result == -2)
            {
                return(Json(new { Mess = "没有原始支付记录,不能申请!" }));
            }
            if (result == -3)
            {
                return(Json(new { Mess = "已经存在退款记录,不能申请!" }));
            }
            if (result == -10)
            {
                return(Json(new { Mess = "系统异常!" }));
            }
            return(Json(new { Mess = "" }));
        }