Пример #1
0
        public static SmsOrderModel ConverToViewModel(this bx_sms_order smsOrder)
        {
            SmsOrderModel vm = new SmsOrderModel();

            if (smsOrder != null)
            {
                vm = new SmsOrderModel
                {
                    Id                = smsOrder.Id,
                    AgentId           = smsOrder.AgentId,
                    RechargeAmount    = smsOrder.RechargeAmount,
                    PayType           = smsOrder.PayType,
                    OrderStatus       = smsOrder.OrderStatus,
                    Deleted           = smsOrder.Deleted,
                    CreateTime        = smsOrder.CreateTime,
                    SmsQuantity       = smsOrder.SmsQuantity,
                    PayDateTime       = smsOrder.PayDateTime,
                    OrderNum          = smsOrder.OrderNum,
                    ThirdPartOrderNum = smsOrder.ThirdPartOrderNum
                }
            }
            ;
            return(vm);
        }
    }
Пример #2
0
        /// <summary>
        /// 根据OrderNum获取对象
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        public bx_sms_order Find(string orderNum)
        {
            bx_sms_order smsOrder = new bx_sms_order();

            try
            {
                smsOrder = DataContextFactory.GetDataContext().bx_sms_order.FirstOrDefault(x => x.OrderNum == orderNum);
            }
            catch (Exception ex)
            {
                logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
            }
            return(smsOrder);
        }
Пример #3
0
        public int Update(bx_sms_order bxSmsOrder)
        {
            int count = 0;

            try
            {
                DataContextFactory.GetDataContext().bx_sms_order.AddOrUpdate(bxSmsOrder);
                count = DataContextFactory.GetDataContext().SaveChanges();
            }
            catch (Exception ex)
            {
                logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
            }
            return(count);
        }
Пример #4
0
        public bx_sms_order Add(bx_sms_order bxSmsOrder)
        {
            bx_sms_order model = new bx_sms_order();

            try
            {
                model = DataContextFactory.GetDataContext().bx_sms_order.Add(bxSmsOrder);
                DataContextFactory.GetDataContext().SaveChanges();
            }
            catch (Exception ex)
            {
                logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
            }

            return(model);
        }
        /// <summary>
        /// 创建短信充值订单
        /// </summary>
        /// <param name="request"></param>
        /// <param name="pairs"></param>
        /// <returns></returns>
        public GetSmsOrderResponse SmsCreateOrder(SmsCreateOrderRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var response = new GetSmsOrderResponse();
            //参数校验
            bx_agent agentModel = _agentRepository.GetAgent(request.Agent);

            if (agentModel == null)
            {
                response.Status = HttpStatusCode.Forbidden;
                return(response);
            }
            if (!ValidateReqest(pairs, agentModel.SecretKey, request.SecCode))
            {
                response.Status = HttpStatusCode.Forbidden;
                return(response);
            }

            //创建订单对象
            bx_sms_order item = new bx_sms_order();

            Random rand = new Random();

            item.OrderNum = DateTime.Now.ToString("yyyyMMddhhmmss") + rand.Next(0, 9).ToString() + rand.Next(0, 9).ToString();
            //item.AgentId = request.CurAgent;
            item.RechargeAmount = request.Amount;
            item.SmsQuantity    = request.Quantity;
            item.CreateTime     = DateTime.Now;
            item.PayType        = request.PayType;
            item.OrderStatus    = 1;//下单成功
            //实现创建订单方法
            int orderId = CreateOrder(request.CurAgent, request.Method, request.Agent, item);

            //bx_sms_order smsOrder = _smsOrderRepository.Add(item);
            if (orderId > 0)
            {
                response.Status   = HttpStatusCode.OK;
                item.Id           = orderId;
                response.SmsOrder = item;
                logInfo.Info("创建短信充值订单成功,订单信息:" + request.ToJson());
            }
            else
            {
                response.Status = HttpStatusCode.ExpectationFailed;
                logError.Info("创建订单失败,订单信息:" + request.ToJson());
            }
            return(response);
        }
        /// <summary>
        /// 短信充值下单
        /// </summary>
        /// <param name="curAgent"></param>
        /// <param name="method"></param>
        /// <param name="topAgent"></param>
        /// <param name="bxSmsOrder"></param>
        /// <returns></returns>
        public int CreateOrder(int curAgent, int method, int topAgent, bx_sms_order bxSmsOrder)
        {
            //bool isCreat = false;//true为创建订单
            //bool isByTopAgent = IsPayByTopAgent(curAgent);//true为走顶级代理人账户
            int creatAgent = 0;//以哪个代理人id创建

            creatAgent = curAgent;
            //当前代理人是顶级代理人可以充值
            //if (curAgent == topAgent)
            //{
            //    isCreat = true;
            //    creatAgent = topAgent;
            //}
            //else
            //{
            //    //当前代理人不是顶级代理人
            //    //如果不走顶级代理人账户:就给当前账户充值
            //    if (!isByTopAgent)
            //    {
            //        isCreat = true;
            //        creatAgent = curAgent;
            //    }
            //}
            //if (isCreat&&((creatAgent != 0)))
            //{
            int smsAccount = CreateAccount(curAgent, method, topAgent);

            if (smsAccount == 0)
            {
                return(0);
            }
            else
            {
                //创建订单
                bxSmsOrder.AgentId = creatAgent;
                bx_sms_order smsOrder = _smsOrderRepository.Add(bxSmsOrder);
                return(smsOrder.Id);
            }
            //}
            //return 0;
        }