Ejemplo n.º 1
0
        private void GenerateQR(Guid esrId, Guid memberId)
        {
            try
            {
                string dir = Server.MapPath("~/ExchangeQR/");
                ExchangeServiceRecord esr = _exchangeServiceRecordBLL.GetESRById(esrId);
                string sourceString       = "http://jcb.ybtx88.com/Pay/ConsumeExchangeService?esrId=" + esrId.ToString();
                string qrPath             = QRCodeCreator.Create(sourceString, dir);
                esr.QRPath = qrPath;

                ExchangeServiceQR qr = new ExchangeServiceQR();
                qr.Id                = Guid.NewGuid();
                qr.CreatedTime       = DateTime.Now;
                qr.DeletedTime       = DateTime.MinValue.AddHours(8);
                qr.ExchangeServiceId = esr.Id;
                qr.IsDeleted         = false;
                qr.MemberId          = memberId;
                qr.QRPath            = qrPath;

                _exchangeServiceQRBLL.Add(qr);

                _exchangeServiceRecordBLL.Update(esr);
            }
            catch (Exception ex)
            {
                LogHelper.Log.Write(ex.Message);
                LogHelper.Log.Write(ex.StackTrace);
                throw;
            }
        }
Ejemplo n.º 2
0
        public ActionResult ConsumeExchangeService(Guid esrId, string password)
        {
            if (esrId == null)
            {
                return(Json("True", JsonRequestBehavior.AllowGet));
            }
            if (string.IsNullOrEmpty(password))
            {
                return(Json("False", JsonRequestBehavior.AllowGet));
            }

            // 获取消费密码
            ServiceConsumePassword scp = _serviceConsumePasswordBLL.GetServicePassword();

            if (scp.Password == password)
            {
                ExchangeServiceRecord esr = _exchangeServiceRecordBLL.GetESRById(esrId);
                esr.IsUse = true;

                if (_exchangeServiceRecordBLL.Update(esr))
                {
                    return(Json("True", JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json("False", JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json("False", JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 3
0
        public ActionResult MyExchangeServiceQR(Guid ExchangeServiceRecordId)
        {
            ExchangeServiceQR qr = _exchangeServiceQRBLL.GetExchangeServiceQRById(ExchangeServiceRecordId);

            ExchangeServiceRecord esr = _exchangeServiceRecordBLL.GetESRById(ExchangeServiceRecordId);

            ViewBag.ServiceName = _exchangeServiceBLL.GetNoDeletedExchangeServiceById(esr.ExchangeSerivceId).Name;
            ViewBag.CreateTime  = esr.CreatedTime;

            return(View(qr));
        }
Ejemplo n.º 4
0
        public ActionResult ConsumeExchangeService(Guid esrId)
        {
            if (esrId == null)
            {
                return(RedirectToAction("Error"));
            }
            ExchangeServiceRecord esr = _exchangeServiceRecordBLL.GetESRById(esrId);
            ExchangeServiceModel  esm = new ExchangeServiceModel();

            esm.MemberName          = _memberBLL.GetMemberById(esr.MemberId).NickeName;
            esm.ExchangeServiceId   = esr.Id;
            esm.ExchangeServiceName = _exchangeServiceBLL.GetNoDeletedExchangeServiceById(esr.ExchangeSerivceId).Name;

            return(View(esm));
        }
Ejemplo n.º 5
0
        public ActionResult Exchange(string exchangeCode)
        {
            // 先判断传递进来的 兑换商品的编号是否为空
            if (string.IsNullOrEmpty(exchangeCode))
            {
                // 为空 就返回 Fasle
                return(Json("False", JsonRequestBehavior.AllowGet));
            }

            // 再获取当前用户的对象
            Member member = _memberBLL.GetMemberByOpenId(System.Web.HttpContext.Current.Session["member"].ToString());

            // 对象的空值判断
            if (member == null)
            {
                return(Json("False", JsonRequestBehavior.AllowGet));
            }
            ExchangeService es = _exchangeServiceBLL.GetNoDeletedExchangeServiceByCode(exchangeCode);

            if (es == null)
            {
                return(Json("False", JsonRequestBehavior.AllowGet));
            }

            if (es.Credit >= member.Credit)
            {
                return(Json("False", JsonRequestBehavior.AllowGet));
            }

            // 构造兑换服务记录
            ExchangeServiceRecord esr = new ExchangeServiceRecord();

            esr.Id                = Guid.NewGuid();
            esr.IsDeleted         = false;
            esr.IsUse             = false;
            esr.MemberId          = member.Id;
            esr.CreatedTime       = DateTime.Now;
            esr.Credit            = es.Credit;
            esr.DeletedTime       = DateTime.MinValue.AddHours(8);
            esr.ExchangeSerivceId = es.Id;

            // 兑换服务的二维码 先空出来 因为要异步生成二维码
            // 等生成之后再 补充
            esr.QRPath = "hehe";

            if (_exchangeServiceRecordBLL.Add(esr))
            {
                // 如果添加兑换服务成功  则 扣除当前积分
                ConsumeCreditDel conDel        = new ConsumeCreditDel(ConsumeCredit);
                IAsyncResult     consumeResult = conDel.BeginInvoke(member.Id, esr.Credit, CreditCallBackMethod, null);

                // 如果兑换服务记录表更新成功 则 异步生成二维码
                GenerateQRDel del    = new GenerateQRDel(GenerateQR);
                IAsyncResult  result = del.BeginInvoke(esr.Id, member.Id, CallBackMethod, null);
            }
            else
            {
                return(Json("False", JsonRequestBehavior.AllowGet));
            }

            return(Json("True", JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 6
0
 public bool Update(ExchangeServiceRecord esr)
 {
     return(_exchangeServiceRecordDAL.Update(esr));
 }
Ejemplo n.º 7
0
 public bool Add(ExchangeServiceRecord esr)
 {
     return(_exchangeServiceRecordDAL.Insert(esr));
 }