Exemple #1
0
        public TResult <LoginUser> Login(UserLoginModel userLoginModel)
        {
            var result = new TResult <LoginUser>();
            var code   = HttpContext.Current.Request.Cookies[SessionKey.ManagerUserLoginCode];

            if (code == null || (string.IsNullOrEmpty(code.Value)))
            {
                return(result.FailureResult(null, "验证码已过期,请重新输入验证码!"));
            }
            if (!String.Equals(code.Value, userLoginModel.Code.Trim(), StringComparison.CurrentCultureIgnoreCase))
            {
                return(result.FailureResult(null, "请输入正确的验证码!"));
            }
            var passWord  = Md5HashHelper.HashPassword(userLoginModel.PassWord + SessionKey.CloudUserInfo);
            var adminUser = _otaBusinessUserService.Get(userLoginModel.UserName, passWord);

            if (adminUser == null)
            {
                return(result.FailureResult(null, "用户名或密码不正确!"));
            }
            //adminUser.LastLoginTime = DateTime.Now;
            //_otaBusinessUserService.Update(adminUser);
            var businesss = _otaBusinessService.Get(adminUser.OtaBusinessId);
            var userInfo  = new LoginUser
            {
                Id            = adminUser.Id,
                OtaBusinessId = adminUser.OtaBusinessId,
                UserName      = adminUser.UserName,
                RealName      = businesss.FullName
            };

            HttpContext.Current.Session[SessionKey.ManagerUserInfo] = userInfo;
            return(result.SuccessResult(userInfo, "登陆成功"));
        }
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public TResult <EnterpriseUser> Login(EnterpriseUserLoginModel UserModel)
        {
            var result = new TResult <EnterpriseUser>();

            if (string.IsNullOrEmpty(UserModel.UserName) || string.IsNullOrEmpty(UserModel.PassWord))
            {
                return(result.FailureResult(null, "用户名和密码不能为空!"));
            }

            if (string.IsNullOrEmpty(UserModel.Code))
            {
                return(result.FailureResult(null, "请输入验证码!"));
            }
            var code = HttpContext.Current.Request.Cookies[SessionKey.ManagerUserLoginCode];

            if (code == null || (string.IsNullOrEmpty(code.Value)))
            {
                return(result.FailureResult(null, "验证码已过期,请重新输入验证码!"));
            }
            if (!String.Equals(code.Value, UserModel.Code.Trim(), StringComparison.CurrentCultureIgnoreCase))
            {
                return(result.FailureResult(null, "请输入正确的验证码!"));
            }
            var password = Md5HashHelper.HashPassword(UserModel.PassWord);
            //当前景区下未停用的售票员
            var model = Get(UserModel.UserName, password);

            if (model != null)
            {
                //var tbl_Scenic = Repository.First<Tbl_Scenic>(a => a.ScenicId == model.ScenicId);
                //UserInfoDTO dto = new UserInfoDTO(model, (int)SystemType.Sale, tbl_Scenic.ScenicName);
                //model.LastLoginTime = DateTime.Now;
                //Repository.Update(model);
                var userInfo = new EnterpriseUser
                {
                    UserId   = model.EnterpriseUserId,
                    UserName = model.UserName,
                    RealName = model.RealName,
                    ScenicId = model.ScenicId
                };
                //设置Session
                HttpContext.Current.Session[SessionKey.UserInfo] = userInfo;

                //设置登录信息cookie 1天有效
                HttpCookie hc = new HttpCookie(SessionKey.SaleUserLoginCookie);
                hc.Value = DesHelper.Encrypt(model.UserName + "|" + model.PassWord, SessionKey.ManagerUserLoginCookieKey);
                //设置cookie信息在第二天凌晨过期
                //(用户每天都需要输入密码登录一次,而且不会出现,在某一天中间某一刻时间,突然cookie过期)
                hc.Expires = DateTime.Now.AddDays(1);
                HttpContext.Current.Response.Cookies.Add(hc);

                return(result.SuccessResult(userInfo, "登录成功"));
            }
            return(result.FailureResult(null, "用户名或密码错误"));
        }
Exemple #3
0
        /// <summary>
        /// 渠道订单下发结果通知--OTA订单
        /// </summary>
        /// <param name="item"></param>
        private void UpdateIssuedLineForOTA(XJ_ProductItem item)
        {
            string timeStamp        = DateTime.Now.GetTimeStamp();
            var    sign             = Md5HashHelper.HashPassword(_merCode + _key + timeStamp);
            var    update           = _orderIssuedsSoapClient.UpdateIssuedLine(_merCode, item.OrderNo, item.CodeStr, sign, timeStamp, "", "", 4);
            var    resultDataUpdate = JsonHelper.JsonToObject <ResultData>(update);

            if (resultDataUpdate.IsTrue && resultDataUpdate.ResultCode == "200")
            {
                //成功
            }
            Console.Write("\n渠道订单下发结果通知--OTA订单:" + (resultDataUpdate.IsTrue == true ? "成功" : "失败"));
        }
Exemple #4
0
        public TResult Update(UserUpdateModel model)
        {
            var result    = new TResult();
            var passWord  = Md5HashHelper.HashPassword(model.PassWord + SessionKey.CloudUserInfo);
            var adminUser = _otaBusinessUserService.Get(model.UserName, passWord);

            if (adminUser == null)
            {
                return(result.FailureResult("旧密码不正确"));
            }
            adminUser.PassWord = Md5HashHelper.HashPassword(model.NowPassWord + SessionKey.CloudUserInfo);
            _otaBusinessUserService.Update(adminUser);
            return(result.SuccessResult());
        }
        ///// <summary>
        ///// 门票入园核销
        ///// </summary>
        //public void TicketConsumeLine()
        //{
        //    var _terminalNo = "L20170713031920";
        //    var ticketConsumes = _ticketConsumeService.GetList();
        //    foreach (var row in ticketConsumes)
        //    {
        //        string timeStamp = DateTime.Now.GetTimeStamp();
        //        var sign = Md5HashHelper.HashPassword(_merCode + _key + timeStamp);

        //        var ticket = _ticketService.Get(row.TicketId);
        //        var ticketJson = new List<TicketJson>();


        //        if (ticket == null)
        //        {
        //            continue;
        //        }
        //        ticketJson.Add(new TicketJson
        //        {
        //            ProductCode = ticket.Code,
        //            CodeStr = row.BarCode,
        //            TicketCount = "1"
        //        });

        //        var ticketJsonStr = JsonHelper.ObjectToJson(ticketJson);
        //        var result = _client.TicketConsumeLine(_merCode, row.OtaOrderNo, ticketJsonStr, timeStamp, sign);
        //        var resultData = JsonHelper.JsonToObject<ResultData>(result);
        //        if (resultData.IsTrue && resultData.ResultCode == "200")
        //        {
        //            //成功
        //            _ticketConsumeService.Update(row);
        //        }
        //    }
        //}


        public void TicketConsumeLine()
        {
            var ticketConsumes            = _ticketConsumeService.GetList();
            List <Tbl_TicketConsume> list = new List <Tbl_TicketConsume>();
            int count = 0;
            int sum   = 0;

            foreach (var row in ticketConsumes)
            {
                sum++;
                count++;
                list.Add(row);
                if (count == 1 || sum == ticketConsumes.Count)
                {
                    string timeStamp = DateTime.Now.GetTimeStamp();
                    var    sign      = Md5HashHelper.HashPassword(_merCode + _key + timeStamp);

                    var ticketIds  = list.Select(a => a.TicketId).Distinct().ToList();
                    var tickets    = _ticketService.GetList(ticketIds);
                    var ticketJson = new List <TicketJson>();
                    foreach (var item in list)
                    {
                        var ticket = tickets.FirstOrDefault(a => a.TicketId == item.TicketId);
                        if (ticket == null)
                        {
                            continue;
                        }
                        ticketJson.Add(new TicketJson
                        {
                            ProductCode = ticket.Code,
                            CodeStr     = item.BarCode,
                            TicketCount = "1"
                        });
                    }

                    var ticketJsonStr = JsonHelper.ObjectToJson(ticketJson);
                    var result        = _client.TicketConsumeLine(_merCode, _terminalNo, ticketJsonStr, timeStamp, sign);
                    var resultData    = JsonHelper.JsonToObject <ResultData>(result);
                    if (resultData.IsTrue && resultData.ResultCode == "200")
                    {
                        //成功
                        _ticketConsumeService.Update(list);
                    }
                    Console.Write("\n门票入园核销:" + (resultData.IsTrue == true ? "成功" : "失败") + "  订单号:" + row.OrderNo);
                    count = 0;
                    list  = new List <Tbl_TicketConsume>();
                }
            }
        }
Exemple #6
0
        /// <summary>
        /// 同步旅行社订单
        /// </summary>
        public void SynchronizingOrder()
        {
            string timeStamp = DateTime.Now.GetTimeStamp();
            var    sign      = Md5HashHelper.HashPassword(_merCode + _key + timeStamp);
            //订单类型(4 - OTA订单, 5 - 旅行社订单)
            var order      = _orderIssuedsSoapClient.GetOrderIssuedLine(_merCode, timeStamp, sign, "", "", 5);
            var resultData = JsonHelper.JsonToObject <ResultData>(order);

            if (resultData.IsTrue && resultData.ResultCode == "200")
            {
                var orderModel = JsonConvert.DeserializeObject <List <OrderModel> >(resultData.ResultJson);

                var orderList       = orderModel.Where(a => a.AuditState == (int)OrderAuditState.Audited || a.AuditState == (int)OrderAuditState.OrderCancellation).Take(200).OrderByDescending(a => a.CreateTime).ToList();
                var channelCodeList = orderList.Select(a => a.ChannelCode).Distinct().ToList();
                var businessList    = _otaBusinessService.GetList(channelCodeList, 2);
                foreach (var row in orderList)
                {
                    //判断分销商是否存在
                    var business = businessList.FirstOrDefault(a => a.Code == row.ChannelCode);
                    if (business == null)
                    {
                        continue;
                    }
                    var productCodeList = row.OrderItems.Select(a => a.ProductCode).Distinct().ToList();
                    var tickets         = _ticketService.GetListByBusiness(productCodeList);
                    //判断产品是否存在
                    if (tickets.Count != productCodeList.Count)
                    {
                        continue;
                    }
                    XJ_Order orderInfo = PopulateOrder(row, business, tickets);
                    if (row.AuditState == (int)OrderAuditState.Audited)
                    {
                        AuditedAction(row, tickets, orderInfo);
                    }
                    if (row.AuditState == (int)OrderAuditState.OrderCancellation)
                    {
                        OrderCancellationAction(row, orderInfo);
                    }
                }
            }
        }
Exemple #7
0
        /// <summary>
        /// 同步OTA订单
        /// </summary>
        public void SynchronizingOtaOrder()
        {
            XJ_OrderIssuedsSoapClient client = new XJ_OrderIssuedsSoapClient();
            string timeStamp = DateTime.Now.GetTimeStamp();
            var    sign      = Md5HashHelper.HashPassword(_merCode + _key + timeStamp);
            //订单类型(4 - OTA订单, 5 - 旅行社订单)
            var order      = client.GetOrderIssuedLine(_merCode, timeStamp, sign, "", "", 4);
            var resultData = JsonHelper.JsonToObject <ResultData>(order);

            if (resultData.IsTrue && resultData.ResultCode == "200")
            {
                var orderModel      = JsonConvert.DeserializeObject <List <OtaOrderModel> >(resultData.ResultJson);
                var orderList       = orderModel.Take(200).OrderByDescending(a => a.CreateTime).ToList();
                var channelCodeList = orderList.Select(a => a.ChannelCode).Distinct().ToList();
                var businessList    = _otaBusinessService.GetList(channelCodeList, 1);
                var productCodeList = orderList.Select(a => a.ProductCode).Distinct().ToList();
                var tickets         = _ticketService.GetListByBusiness(productCodeList);

                foreach (var row in orderList)
                {
                    //判断分销商是否存在
                    var business = businessList.FirstOrDefault(a => a.Code == row.ChannelCode);
                    if (business == null)
                    {
                        continue;
                    }
                    var ticket = tickets.FirstOrDefault(a => a.Code == row.ProductCode);
                    //判断产品是否存在
                    if (ticket == null)
                    {
                        continue;
                    }

                    XJ_Order orderInfo = PopulateOTAOrder(row, business, ticket);
                    OrderOtaAction(tickets, row, orderInfo);
                }
            }
        }