Exemplo n.º 1
0
        public ApiMessage ChargeBack()
        {
            ApiMessage message = new ApiMessage();
            try
            {
                this.IniRequest();
                SortedDictionary<string, string> sArray = GetRequestParameters();
                ChargeBridge bridge = new ChargeBridge();
                ChargeResult result = bridge.ChargeCallBack(sArray);
                message.Message = result.Message;
                message.Status = "OK";
                if (result.Status!=  ChargeStatus.SUCCEED)
                {
                    message.Status = "ERROR";
                }
            }
            catch (KMBitException kex)
            {
                message.Status = "ERROR";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status = "ERROR";
                message.Message = "未知错误";
            }

            return message;
        }
Exemplo n.º 2
0
        /// <summary>
        /// This method is only applied to platform direct charge
        /// </summary>
        /// <param name="orderId"></param>
        public ChargeResult ProcessOrderAfterPaid(int paymentId, string tradeNo, string buyerAccount)
        {
            ChargeResult result = new ChargeResult();

            using (chargebitEntities db = new chargebitEntities())
            {
                Payment_history payment = (from p in db.Payment_history where p.Id == paymentId select p).FirstOrDefault <Payment_history>();
                if (payment == null)
                {
                    result.Status  = ChargeStatus.FAILED;
                    result.Message = string.Format("编号为:{0}的支付编号不存在", paymentId);
                    return(result);
                }
                payment.Pay_time       = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                payment.PaymentAccount = buyerAccount != null?buyerAccount:"";
                payment.PaymentTradeId = tradeNo != null ? tradeNo : "";
                db.SaveChanges();
                //前台用户直充网络支付成功之后,提交订单到资源充值
                if (payment.PayType == 0)
                {
                    if (payment.ChargeOrderId <= 0)
                    {
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = string.Format("编号为:{0}的支付编号没有相关充值订单", paymentId);
                        return(result);
                    }

                    Charge_Order corder = (from o in db.Charge_Order where o.Id == payment.ChargeOrderId select o).FirstOrDefault <Charge_Order>();
                    corder.Payed = true;
                    db.SaveChanges();

                    ChargeOrder order = new ChargeOrder()
                    {
                        Payed = true, ChargeType = corder.Charge_type, AgencyId = corder.Agent_Id, Id = corder.Id, Province = corder.Province, City = corder.City, MobileSP = corder.MobileSP, MobileNumber = corder.Phone_number, OutId = "", ResourceId = 0, ResourceTaocanId = corder.Resource_taocan_id, RouteId = corder.RuoteId, CreatedTime = corder.Created_time
                    };
                    ChargeBridge cb = new ChargeBridge();
                    result = cb.Charge(order);
                }
            }

            return(result);
        }
Exemplo n.º 3
0
        public APIChargeResult Charge(int agentId,int routeId,string mobile,string spname,string province,string city,string callBackUrl,string client_order_id)
        {
            if(string.IsNullOrEmpty(mobile))
            {
                throw new KMBitException("手机号码不能为空");
            }
            if (string.IsNullOrEmpty(spname))
            {
                throw new KMBitException("手机号归属运行商不能为空");
            }
            if (string.IsNullOrEmpty(province))
            {
                throw new KMBitException("手机号归属省份不能为空");
            }
            //if (string.IsNullOrEmpty(city))
            //{
            //    throw new KMBitException("手机号归属城市不能为空");
            //}
            ChargeResult result = null;
            ChargeBridge cb = new ChargeBridge();
            ChargeOrder order = new ChargeOrder()
            {
                ClientOrderId = client_order_id,
                Payed = false,
                OperateUserId = 0,
                AgencyId = agentId,
                Id = 0,
                Province = province,
                City = city!=null? city:"",
                MobileNumber = mobile,
                MobileSP=spname,
                OutOrderId = "",
                ResourceId = 0,
                ResourceTaocanId = 0,
                RouteId = routeId,
                CreatedTime = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now),
                CallbackUrl = callBackUrl
            };
            chargebitEntities db = null;
            OrderManagement orderMgt = new OrderManagement();
            try
            {
                db = new chargebitEntities();
                Users agent = (from u in db.Users where u.Id == agentId select u).FirstOrDefault<Users>();
                if(agent==null)
                {
                    throw new KMBitException(string.Format("编号为{0}的代理商不存在",agentId));
                }
                if(!agent.Enabled)
                {
                    throw new KMBitException(string.Format("代理商{0}已经被关闭禁用",agent.Name));
                }
                //verify mobile sp
                Agent_route route = (from r in db.Agent_route where r.Id == routeId && r.User_id == agentId select r).FirstOrDefault<Agent_route>();
                if(route==null)
                {
                    throw new KMBitException(string.Format("代理商 {1} 编号为{0}的路由不存在", routeId,agent.Name));
                }
                if(!route.Enabled)
                {
                    throw new KMBitException(string.Format("代理商 {1} 编号为{0}的路由已经被关闭", routeId, agent.Name));
                }
                Resource_taocan taocan = (from t in db.Resource_taocan where t.Id==route.Resource_taocan_id select t).FirstOrDefault<Resource_taocan>();
                int spId = (from sp in db.Sp where sp.Name.Contains(spname.Trim()) select sp.Id).FirstOrDefault<int>();
                if(spId==0)
                {
                    throw new KMBitException("手机运营商的值必须是-中国移动,中国联通或者中国电信");
                }
                int provinceId = (from area in db.Area where area.Name.Contains(province) select area.Id).FirstOrDefault<int>();
                if(provinceId==0)
                {
                    throw new KMBitException("手机号码归属省份值不正确,例如 河南,海南,江苏,请以此种格式传入");
                }
                if(taocan.NumberProvinceId>0 && provinceId>0)
                {
                    if(provinceId!=taocan.NumberProvinceId)
                    {
                        throw new KMBitException(string.Format("当前路由不能充{0}-{1}的手机号码",spname,province));
                    }
                }
                order = orderMgt.GenerateOrder(order);
                //result = cb.Charge(order);
                if(order.Id>0)
                {
                    result = new ChargeResult();
                    result.Status = ChargeStatus.SUCCEED;
                    result.Message = "充值信息已提交到充值系统";
                }
            }
            catch(KMBitException kex)
            {
                throw kex;
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                result = new ChargeResult();
                result.Status = ChargeStatus.FAILED;
                result.Message = "未知错误,请联系平台管理员";
            }

            APIChargeResult apiResult = new APIChargeResult();
            //apiResult.Message = result.Message;
            apiResult.OrderId = order.Id;
            switch (result.Status)
            {
                case ChargeStatus.SUCCEED:
                    apiResult.Status = ChargeStatus.SUCCEED.ToString();
                    apiResult.Message = result.Message;
                    break;
                case ChargeStatus.FAILED:
                    apiResult.Status = ChargeStatus.FAILED.ToString();
                    break;
                case ChargeStatus.ONPROGRESS:
                    apiResult.Status = ChargeStatus.SUCCEED.ToString();
                    break;
                case ChargeStatus.PENDIND:
                    apiResult.Status = ChargeStatus.SUCCEED.ToString();
                    break;
            }

            return apiResult;
        }
Exemplo n.º 4
0
        public ChargeResult MarketingCharge(BMarketOrderCharge orderCharge)
        {
            logger.Info("MarketingCharge");
            ChargeResult result = new ChargeResult();

            if (orderCharge == null)
            {
                result.Status  = ChargeStatus.FAILED;
                result.Message = "参数不正确";
                return(result);
            }
            if (orderCharge.AgentId == 0 || orderCharge.CustomerId == 0 || orderCharge.ActivityId == 0)
            {
                result.Status  = ChargeStatus.FAILED;
                result.Message = "参数不正确";
                return(result);
            }
            if (string.IsNullOrEmpty(orderCharge.SPName))
            {
                result.Status  = ChargeStatus.FAILED;
                result.Message = "参数不正确";
                return(result);
            }
            if (string.IsNullOrEmpty(orderCharge.Phone))
            {
                result.Status  = ChargeStatus.FAILED;
                result.Message = "参数不正确";
                return(result);
            }
            int sp = 0;

            if (orderCharge.SPName.Contains("联通"))
            {
                sp = 3;
            }
            else if (orderCharge.SPName.Contains("移动"))
            {
                sp = 1;
            }
            else if (orderCharge.SPName.Contains("电信"))
            {
                sp = 2;
            }
            chargebitEntities         db      = new chargebitEntities();
            Marketing_Activity_Taocan mtaocan = null;
            Marketing_Orders          mOrder  = null;

            try
            {
                Marketing_Activities activity = (from a in db.Marketing_Activities where a.Id == orderCharge.ActivityId select a).FirstOrDefault <Marketing_Activities>();
                if (activity == null)
                {
                    result.Status  = ChargeStatus.FAILED;
                    result.Message = "参数不正确";
                    return(result);
                }
                if (activity.CustomerId != orderCharge.CustomerId)
                {
                    result.Status  = ChargeStatus.FAILED;
                    result.Message = "参数不正确";
                    return(result);
                }
                if (activity.AgentId != orderCharge.AgentId)
                {
                    result.Status  = ChargeStatus.FAILED;
                    result.Message = "参数不正确";
                    return(result);
                }
                //非直接扫码活动,必须传入特定的marketing order id
                if (activity.ScanType != 1 && orderCharge.ActivityOrderId == 0)
                {
                    result.Status  = ChargeStatus.FAILED;
                    result.Message = "参数不正确";
                    return(result);
                }
                ChargeOrder order = new ChargeOrder()
                {
                    AgencyId     = orderCharge.AgentId,
                    ChargeType   = 1,
                    City         = orderCharge.City,
                    CreatedTime  = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now),
                    IsMarket     = true,
                    MacAddress   = orderCharge.OpenId,
                    MobileNumber = orderCharge.Phone,
                    MobileSP     = orderCharge.SPName,
                    Payed        = true,
                    Province     = orderCharge.Province,
                };

                //direct scan
                if (activity.ScanType == 1 && orderCharge.ActivityOrderId <= 0)
                {
                    //判断是否还有可用marketing order

                    List <Marketing_Activity_Taocan> rTaocans = (from mt in db.Marketing_Activity_Taocan
                                                                 join t in db.Resource_taocan on mt.ResourceTaocanId equals t.Id
                                                                 where mt.ActivityId == orderCharge.ActivityId && t.Sp_id == sp
                                                                 select mt).ToList <Marketing_Activity_Taocan>();

                    if (rTaocans.Count == 0)
                    {
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = "本次活动" + orderCharge.SPName + "不能扫码充值";
                        return(result);
                    }

                    mtaocan = rTaocans[0];
                    mOrder  = (from o in db.Marketing_Orders where o.ActivityId == orderCharge.ActivityId && o.Sent == false && o.Used == false && o.ActivityTaocanId == mtaocan.Id select o).FirstOrDefault <Marketing_Orders>();
                    if (mOrder == null)
                    {
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = "本次活动的流量充值额度已经全部被扫完,尽请期待下次活动";
                        return(result);
                    }
                    if (mOrder.Used)
                    {
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = "本次活动的流量充值额度已经全部被扫完,尽请期待下次活动";
                        return(result);
                    }
                    mOrder.Used = true;
                    mOrder.Sent = true;
                    //db.SaveChanges();
                    order.MarketOrderId    = mOrder.Id;
                    order.ResourceTaocanId = mtaocan.ResourceTaocanId;
                }//weichat push
                else if (activity.ScanType == 2 && orderCharge.ActivityOrderId > 0)
                {
                    mOrder = (from o in db.Marketing_Orders where o.Id == orderCharge.ActivityOrderId select o).FirstOrDefault <Marketing_Orders>();
                    if (mOrder == null)
                    {
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = "参数有误";
                        return(result);
                    }
                    if (mOrder.Used)
                    {
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = "本次活动的流量充值额度已经全部被扫完,尽请期待下次活动";
                        return(result);
                    }
                    mtaocan = (from mt in db.Marketing_Activity_Taocan where mt.Id == mOrder.ActivityTaocanId select mt).FirstOrDefault <Marketing_Activity_Taocan>();
                    if (mtaocan == null)
                    {
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = "参数有误";
                        return(result);
                    }
                    Resource_taocan rT = (from r in db.Resource_taocan where r.Id == mtaocan.ResourceTaocanId select r).FirstOrDefault <Resource_taocan>();
                    if (rT == null)
                    {
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = "参数有误";
                        return(result);
                    }
                    if (rT.Sp_id != sp)
                    {
                        string tmpSPName = "";
                        if (rT.Sp_id == 1)
                        {
                            tmpSPName = "中国移动";
                        }
                        else if (rT.Sp_id == 2)
                        {
                            tmpSPName = "中国电信";
                        }
                        else if (rT.Sp_id == 3)
                        {
                            tmpSPName = "中国联通";
                        }
                        result.Status  = ChargeStatus.FAILED;
                        result.Message = string.Format("此二维码链接不能充值{0}的手机号码的流量,只能充值{1}的号码的流量", orderCharge.SPName, tmpSPName);
                        return(result);
                    }
                    order.ResourceTaocanId = mtaocan.ResourceTaocanId;
                    order.MarketOrderId    = orderCharge.ActivityOrderId;
                    mOrder.Used            = true;
                    mOrder.Sent            = true;
                }
                else if (activity.ScanType == 1 && orderCharge.ActivityOrderId > 0)
                {
                    result.Status  = ChargeStatus.FAILED;
                    result.Message = "参数有误";
                    return(result);
                }
                else if (activity.ScanType == 2 && orderCharge.ActivityOrderId <= 0)
                {
                    result.Status  = ChargeStatus.FAILED;
                    result.Message = "参数有误";
                    return(result);
                }

                OrderManagement orderMgr = new OrderManagement(CurrentLoginUser);
                order = orderMgr.GenerateOrder(order);
                ChargeBridge chargeBridge = new ChargeBridge();
                if (order.Id > 0)
                {
                    db.SaveChanges();
                    result = chargeBridge.Charge(order);
                    if (result.Status == ChargeStatus.FAILED)
                    {
                        //Rollback, the order cannot be used next time
                        mOrder.UsedTime = 0;
                        mOrder.Used     = false;
                        if (activity.ScanType == 1)
                        {
                            mOrder.Sent = false;
                        }

                        db.SaveChanges();
                    }
                    else
                    {
                        mOrder.UsedTime = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                    }
                    db.SaveChanges();
                }
            }
            catch (KMBitException kex)
            {
                logger.Warn(kex);
                result.Status  = ChargeStatus.FAILED;
                result.Message = kex.Message;
                if (mOrder != null)
                {
                    mOrder.Used = false;
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                logger.Fatal(ex);
                result.Status  = ChargeStatus.FAILED;
                result.Message = "系统错误,稍后再试";
                if (mOrder != null)
                {
                    mOrder.Used = false;
                    db.SaveChanges();
                }
            }
            finally
            {
                if (db != null)
                {
                    db.Dispose();
                }
            }
            logger.Info("Finished MarketingCharge");
            return(result);
        }
Exemplo n.º 5
0
        public ChargeResult MarketingCharge(BMarketOrderCharge orderCharge)
        {
            logger.Info("MarketingCharge");
            ChargeResult result = new ChargeResult();
            if (orderCharge == null)
            {
                result.Status = ChargeStatus.FAILED;
                result.Message = "参数不正确";
                return result;
            }
            if (orderCharge.AgentId == 0 || orderCharge.CustomerId == 0 || orderCharge.ActivityId == 0)
            {
                result.Status = ChargeStatus.FAILED;
                result.Message = "参数不正确";
                return result;
            }
            if (string.IsNullOrEmpty(orderCharge.SPName))
            {
                result.Status = ChargeStatus.FAILED;
                result.Message = "参数不正确";
                return result;
            }
            if (string.IsNullOrEmpty(orderCharge.Phone))
            {
                result.Status = ChargeStatus.FAILED;
                result.Message = "参数不正确";
                return result;
            }
            int sp = 0;
            if (orderCharge.SPName.Contains("联通"))
            {
                sp = 3;
            }
            else if (orderCharge.SPName.Contains("移动"))
            {
                sp = 1;
            }
            else if (orderCharge.SPName.Contains("电信"))
            {
                sp = 2;
            }
            chargebitEntities db = new chargebitEntities();
            Marketing_Activity_Taocan mtaocan = null;
            Marketing_Orders mOrder = null;
            try
            {
                Marketing_Activities activity = (from a in db.Marketing_Activities where a.Id==orderCharge.ActivityId select a).FirstOrDefault<Marketing_Activities>();
                if(activity==null)
                {
                    result.Status = ChargeStatus.FAILED;
                    result.Message = "参数不正确";
                    return result;
                }
                if(activity.CustomerId!=orderCharge.CustomerId)
                {
                    result.Status = ChargeStatus.FAILED;
                    result.Message = "参数不正确";
                    return result;
                }
                if (activity.AgentId != orderCharge.AgentId)
                {
                    result.Status = ChargeStatus.FAILED;
                    result.Message = "参数不正确";
                    return result;
                }
                //非直接扫码活动,必须传入特定的marketing order id
                if(activity.ScanType!=1 && orderCharge.ActivityOrderId==0)
                {
                    result.Status = ChargeStatus.FAILED;
                    result.Message = "参数不正确";
                    return result;
                }
                ChargeOrder order = new ChargeOrder()
                {
                    AgencyId = orderCharge.AgentId,
                    ChargeType = 1,
                    City = orderCharge.City,
                    CreatedTime = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now),
                    IsMarket = true,
                    MacAddress = orderCharge.OpenId,
                    MobileNumber = orderCharge.Phone,
                    MobileSP = orderCharge.SPName,
                    Payed = true,
                    Province = orderCharge.Province,

                };

                //direct scan
                if (activity.ScanType==1 && orderCharge.ActivityOrderId<=0)
                {
                    //判断是否还有可用marketing order

                    List<Marketing_Activity_Taocan> rTaocans = (from mt in db.Marketing_Activity_Taocan
                                                                join t in db.Resource_taocan on mt.ResourceTaocanId equals t.Id
                                                                where mt.ActivityId == orderCharge.ActivityId && t.Sp_id == sp
                                                                select mt).ToList<Marketing_Activity_Taocan>();

                    if (rTaocans.Count==0)
                    {
                        result.Status = ChargeStatus.FAILED;
                        result.Message = "本次活动" + orderCharge.SPName + "不能扫码充值";
                        return result;
                    }

                    mtaocan = rTaocans[0];
                    mOrder = (from o in db.Marketing_Orders where o.ActivityId== orderCharge.ActivityId && o.Sent==false && o.Used==false && o.ActivityTaocanId== mtaocan.Id select o).FirstOrDefault<Marketing_Orders>();
                    if(mOrder==null)
                    {
                        result.Status = ChargeStatus.FAILED;
                        result.Message = "本次活动的流量充值额度已经全部被扫完,尽请期待下次活动";
                        return result;
                    }
                    if(mOrder.Used)
                    {
                        result.Status = ChargeStatus.FAILED;
                        result.Message = "本次活动的流量充值额度已经全部被扫完,尽请期待下次活动";
                        return result;
                    }
                    mOrder.Used = true;
                    mOrder.Sent = true;
                    //db.SaveChanges();
                    order.MarketOrderId = mOrder.Id;
                    order.ResourceTaocanId = mtaocan.ResourceTaocanId;
                }//weichat push
                else if(activity.ScanType==2 && orderCharge.ActivityOrderId>0)
                {
                    mOrder = (from o in db.Marketing_Orders where o.Id==orderCharge.ActivityOrderId select o).FirstOrDefault<Marketing_Orders>();
                    if (mOrder == null)
                    {
                        result.Status = ChargeStatus.FAILED;
                        result.Message = "参数有误";
                        return result;
                    }
                    if(mOrder.Used)
                    {
                        result.Status = ChargeStatus.FAILED;
                        result.Message = "本次活动的流量充值额度已经全部被扫完,尽请期待下次活动";
                        return result;
                    }
                    mtaocan = (from mt in db.Marketing_Activity_Taocan where mt.Id==mOrder.ActivityTaocanId select mt).FirstOrDefault<Marketing_Activity_Taocan>();
                    if(mtaocan == null)
                    {
                        result.Status = ChargeStatus.FAILED;
                        result.Message = "参数有误";
                        return result;
                    }
                    Resource_taocan rT = (from r in db.Resource_taocan where r.Id == mtaocan.ResourceTaocanId select r).FirstOrDefault<Resource_taocan>();
                    if(rT==null)
                    {
                        result.Status = ChargeStatus.FAILED;
                        result.Message = "参数有误";
                        return result;
                    }
                    if(rT.Sp_id!=sp)
                    {
                        string tmpSPName = "";
                        if(rT.Sp_id==1)
                        {
                            tmpSPName = "中国移动";
                        }else if(rT.Sp_id==2)
                        {
                            tmpSPName = "中国电信";
                        }
                        else if (rT.Sp_id == 3)
                        {
                            tmpSPName = "中国联通";
                        }
                        result.Status = ChargeStatus.FAILED;
                        result.Message = string.Format("此二维码链接不能充值{0}的手机号码的流量,只能充值{1}的号码的流量",orderCharge.SPName,tmpSPName);
                        return result;
                    }
                    order.ResourceTaocanId = mtaocan.ResourceTaocanId;
                    order.MarketOrderId = orderCharge.ActivityOrderId;
                    mOrder.Used = true;
                    mOrder.Sent = true;
                }else if(activity.ScanType==1 && orderCharge.ActivityOrderId>0)
                {
                    result.Status = ChargeStatus.FAILED;
                    result.Message = "参数有误";
                    return result;
                }
                else if(activity.ScanType==2 && orderCharge.ActivityOrderId<=0)
                {
                    result.Status = ChargeStatus.FAILED;
                    result.Message = "参数有误";
                    return result;
                }

                OrderManagement orderMgr = new OrderManagement(CurrentLoginUser);
                order=orderMgr.GenerateOrder(order);
                ChargeBridge chargeBridge = new ChargeBridge();
                if(order.Id>0)
                {
                    db.SaveChanges();
                    result=chargeBridge.Charge(order);
                    if(result.Status== ChargeStatus.FAILED)
                    {
                        //Rollback, the order cannot be used next time
                        mOrder.UsedTime = 0;
                        mOrder.Used = false;
                        if(activity.ScanType==1)
                        {
                            mOrder.Sent = false;
                        }

                        db.SaveChanges();
                    }else
                    {
                        mOrder.UsedTime = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                    }
                    db.SaveChanges();
                }
            }
            catch (KMBitException kex)
            {
                logger.Warn(kex);
                result.Status = ChargeStatus.FAILED;
                result.Message = kex.Message;
                if(mOrder!=null)
                {
                    mOrder.Used = false;
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                logger.Fatal(ex);
                result.Status = ChargeStatus.FAILED;
                result.Message = "系统错误,稍后再试";
                if (mOrder != null)
                {
                    mOrder.Used = false;
                    db.SaveChanges();
                }
            }
            finally
            {
                if(db!=null)
                {
                    db.Dispose();
                }
            }
            logger.Info("Finished MarketingCharge");
            return result;
        }
Exemplo n.º 6
0
        public ActionResult Charge(AgentChargeModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ChargeBridge cb = new ChargeBridge();
                    ChargeOrder order = new ChargeOrder() { Payed = false, OperateUserId = 0, AgencyId = User.Identity.GetUserId<int>(), Id = 0, Province = model.Province, City = model.City, MobileSP =model.SPName, MobileNumber = model.Mobile, OutOrderId = "", ResourceId = 0, ResourceTaocanId = model.ResourceTaocanId, RouteId = model.RouteId, CreatedTime = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now) };

                    OrderManagement orderMgt = new OrderManagement();
                    order = orderMgt.GenerateOrder(order);
                    //ChargeResult result = cb.Charge(order);
                    ViewBag.Message = "成功提交到充值系统,等待充值,可以到流量充值查询里查看充值状态...";                    
                }
                catch (KMBitException ex)
                {
                    ViewBag.Message = ex.Message;
                }finally
                {
                    model = new AgentChargeModel();
                }
            }

            return View(model);
        }
Exemplo n.º 7
0
        public ActionResult ImportProduct(int resourceId)
        {
            if (resourceId <= 0)
            {
                ViewBag.Message = "落地资源编号不正确";
                return View("Error");
            }

            resourceMgt = new ResourceManagement(User.Identity.GetUserId<int>());
            if (!resourceMgt.CurrentLoginUser.Permission.CONFIGURE_RESOURCE)
            {
                ViewBag.Message = "没有权限配置落地资源接口信息";
                return View("Error");
            }

            try
            {
                ChargeBridge bridge = new ChargeBridge();
                bridge.ImportResourceProducts(resourceId,User.Identity.GetUserId<int>());
                return Redirect("/Admin/ViewResourceTaoCan?resourceId=" + resourceId);
            }
            catch(KMBitException ex)
            {

                ViewBag.Message = ex.Message;
                return View("Error");
            }
        }
Exemplo n.º 8
0
        public ActionResult Charge(ChargeModel model)
        {
            BaseManagement baseMgt = new BaseManagement(User.Identity.GetUserId<int>());
            if (!baseMgt.CurrentLoginUser.Permission.CHARGE_BYTE)
            {
                ViewBag.Message = "没有权限充值流量";
                return View("Error");
            }
           
            if (ModelState.IsValid)
            {
                ChargeBridge cb = new ChargeBridge();
                ChargeOrder order = new ChargeOrder() { ChargeType=2, Payed=true, OperateUserId=User.Identity.GetUserId<int>(), AgencyId = 0, Id = 0, Province=model.Province,City=model.City, MobileSP = model.SPName, MobileNumber = model.Mobile, OutOrderId = "", ResourceId = 0, ResourceTaocanId = model.ResourceTaocanId, RouteId = 0, CreatedTime = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now) };
              
                OrderManagement orderMgt = new OrderManagement();
                try
                {
                    order = orderMgt.GenerateOrder(order);
                    ViewBag.Message = "成功提交到充值系统,等待充值,可以到流量充值查询里查看充值状态...";
                }
                catch(KMBitException kex)
                {
                    ViewBag.Message = kex.Message;
                }
                catch(Exception ex)
                {
                    ViewBag.Message = ex.Message;
                }
                           
                //ChargeResult result = cb.Charge(order);
                
            }

            return View();
        }