Esempio n. 1
0
        public string DeleteShopping(string idStr, string token)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                string key      = string.Concat(user.UserName, "SetShopping");
                var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);
                if (!string.IsNullOrEmpty(idStr) && uComList != null && uComList.Count > 0)
                {
                    List <int> idList = new List <int>(idStr.Split(',').Select(x => int.Parse(x)));
                    foreach (var id in idList)  //移除购物车商品
                    {
                        var item = uComList.Find(o => o.CommodityId == id);
                        if (item != null)
                        {
                            uComList.Remove(item);
                        }
                    }
                    CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList);
                }
                return(JsonUtil.Serialize(uComList));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Esempio n. 2
0
 public string UpdateUserInfo(string token, string nickname, string sex, string uImg)
 {
     if (!string.IsNullOrEmpty(token))
     {
         var userModel = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null);
         if (userModel != null)
         {
             string sql = "UPDATE Users SET Nickname=?nickname,Sex=?sex,UserImg=?userImg where Uid=?uid";
             Dictionary <string, object> p = new Dictionary <string, object>();
             p["nickname"] = nickname;
             p["sex"]      = sex;
             p["userImg"]  = uImg;
             p["uid"]      = userModel.Uid;
             int rowNum = DbUtil.Master.ExecuteNonQuery(sql, p);
             if (rowNum > 0)
             {
                 userModel.Nickname = nickname;
                 userModel.Sex      = sex;
                 userModel.UserImg  = uImg;
                 string key = string.Concat(token); //统一cache Key
                 CacheHelp.Set(key, DateTimeOffset.Now.AddDays(7), userModel);
                 ReturnModel re = new ReturnModel();
                 re.state = true;
                 return(JsonUtil.Serialize(re));
             }
         }
     }
     return(string.Empty);
 }
Esempio n. 3
0
        public string Login(string userName, string pwd)
        {
            string sql = "select * from Users where UserName=?userName and Pwd=?pwd and State=0 ";
            Dictionary <string, object> p = new Dictionary <string, object>();

            p["userName"] = userName;
            p["pwd"]      = pwd;
            UserModel user = DbUtil.Master.Query <UserModel>(sql, p);

            if (user != null)
            {
                string key = CryptoUtil.GetRandomAesKey();
                user.key = key;
                user.Pwd = string.Empty;
                string Token     = CryptoUtil.AesEncryptHex(user.UserName + uKey, key);
                string uloginKey = user.UserName + uKey;
                var    oldToken  = CacheHelp.Get <string>(uloginKey, DateTimeOffset.Now.AddDays(7), () => null);
                if (!string.IsNullOrEmpty(oldToken))
                {
                    CacheHelp.Set(oldToken, DateTimeOffset.Now.AddDays(7), null);
                }
                CacheHelp.Set(uloginKey, DateTimeOffset.Now.AddDays(7), Token);
                CacheHelp.Set(Token, DateTimeOffset.Now.AddDays(7), user);
                List <object> u = new List <object>();
                u.Add(new
                {
                    token = Token,
                });
                return(JsonUtil.Serialize(u));
            }
            return(string.Empty);
        }
Esempio n. 4
0
        public string SetShoppingCount(string token, int shpId, int spCount)
        {
            string key      = string.Concat(token, "SetShopping");
            var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);

            if (uComList == null)
            {
                uComList = new List <CommodityModel>();
            }
            var um = uComList.Find(o => o.CommodityId == shpId);

            if (um == null)
            {
                CommodityModel cm = GetComInfo(shpId);
                if (cm != null)
                {
                    cm.SpCount = spCount;
                    uComList.Add(cm);
                }
            }
            else
            {
                um.SpCount = spCount;
            }
            var         state = CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList);
            ReturnModel re    = new ReturnModel();

            if (state)
            {
                re.state  = true;
                re.rcount = uComList.Count;
            }
            return(JsonUtil.Serialize(re));
        }
Esempio n. 5
0
        public string Register(string uName, string pwd, string sex, string nickname, string entName, string phones, string entPhone, string entAddres)
        {
            var isok = ckUnameSql(uName);

            if (!isok)
            {
                #region
                string sql = "INSERT INTO Users (UserName,Pwd,Nickname,Sex,EntName,Phones,EntPhone,EntAddres) VALUES (?userName,?pwd,?nickname,?sex,?entName,?phones,?entPhone,?entAddres)";
                Dictionary <string, object> p = new Dictionary <string, object>();
                p["userName"]  = uName;
                p["pwd"]       = pwd;
                p["nickname"]  = nickname;
                p["sex"]       = sex;
                p["entName"]   = entName;
                p["phones"]    = phones;
                p["entPhone"]  = entPhone;
                p["entAddres"] = entAddres;
                var row = DbUtil.Master.ExecuteNonQuery(sql, p);
                if (row > 0)
                {
                    UserModel user = new UserModel();
                    string    key  = CryptoUtil.GetRandomAesKey();
                    user.key      = key;
                    user.UserName = uName;
                    user.Pwd      = string.Empty;
                    string Token     = CryptoUtil.AesEncryptHex(user.UserName + uKey, key);
                    string uloginKey = user.UserName + uKey;
                    var    oldToken  = CacheHelp.Get <string>(uloginKey, DateTimeOffset.Now.AddDays(7), () => null);
                    if (!string.IsNullOrEmpty(oldToken))
                    {
                        CacheHelp.Set(oldToken, DateTimeOffset.Now.AddDays(7), null);
                    }
                    CacheHelp.Set(uloginKey, DateTimeOffset.Now.AddDays(7), Token);
                    CacheHelp.Set(Token, DateTimeOffset.Now.AddDays(7), user);
                    List <object> u = new List <object>();
                    u.Add(new
                    {
                        token = Token,
                    });
                    return(JsonUtil.Serialize(u));
                }
                else
                {
                    object obj = new { msg = false };
                    return(JsonUtil.Serialize(obj));
                }
                #endregion
            }
            else
            {
                object obj = new { msg = isok };
                return(JsonUtil.Serialize(obj));
            }
        }
Esempio n. 6
0
        public string DeleteAllShopping(string token)
        {
            string key      = string.Concat(token, "SetShopping");
            var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);

            if (uComList != null && uComList.Count > 0)
            {
                uComList.Clear();
            }
            CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList);
            return(JsonUtil.Serialize(uComList));
        }
Esempio n. 7
0
        public ActionResult <string> ExeAction(string Action, Object PostData)
        {
            Model.Action = Action;
            var           context     = _accessor.HttpContext;
            var           tokenHeader = context.Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
            TokenModelJWT tokenModel  = JwtHelper.SerializeJWT(tokenHeader);

            if (new DateTimeOffset(DateTime.Now.AddMinutes(5)).ToUnixTimeSeconds() > tokenModel.Exp)
            {
                //需要更新Token
                Model.uptoken = JwtHelper.CreateJWT(tokenModel.UserName, "Admin");
            }
            JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(tokenModel.UserName) as JH_Auth_UserB.UserInfo;
            if (UserInfo == null)
            {
                UserInfo = new JH_Auth_UserB().GetUserInfo(10334, tokenModel.UserName);
                CacheHelp.Set(tokenModel.UserName, UserInfo);
            }
            try
            {
                JObject JsonData = JObject.FromObject(PostData);
                string  P1       = JsonData["P1"] == null ? "" : JsonData["P1"].ToString();
                string  P2       = JsonData["P2"] == null ? "" : JsonData["P2"].ToString();


                // 1.Load(命名空间名称),GetType(命名空间.类名)
                Type type = Assembly.Load("QJY.API").GetType("QJY.API." + Action.Split('_')[0].ToUpper() + "Manage");
                //2.GetMethod(需要调用的方法名称)
                MethodInfo method = type.GetMethod(Action.Split('_')[1].ToUpper());
                // 3.调用的实例化方法(非静态方法)需要创建类型的一个实例
                object obj = Activator.CreateInstance(type);
                //4.方法需要传入的参数
                object[] parameters = new object[] { JsonData, Model, P1, P2, UserInfo };
                method.Invoke(obj, parameters);
                new JH_Auth_LogB().InsertLog(Model.Action, "--调用接口", "", UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, "");
            }
            catch (Exception ex)
            {
                Model.ErrorMsg = Action + "接口调用失败,请检查日志";
                Model.Result   = ex.ToString();
                new JH_Auth_LogB().InsertLog(Action, Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), tokenModel.UserName, "", 0, "");
            }

            return(ControHelp.CovJson(Model));
        }
Esempio n. 8
0
        public string DeleteAllShopping(string token)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                string key      = string.Concat(user.UserName, "SetShopping");
                var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);
                if (uComList != null && uComList.Count > 0)
                {
                    uComList.Clear();
                }
                CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList);
                return(JsonUtil.Serialize(uComList));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Esempio n. 9
0
        public string GetOrder(long orderId, string token, int orderType)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                string sql = "SELECT * FROM OrderList WHERE OrderId=?orderId";
                Dictionary <string, object> p = new Dictionary <string, object>();
                p["orderId"] = orderId;
                var orderList = DbUtil.Master.Query <OrderListModel>(sql, p);
                //调起支付
                string key     = CryptoUtil.GetRandomAesKey();
                string wapSpId = CryptoUtil.AesEncryptHex(orderId.ToString(), key);
                CacheHelp.Set(wapSpId, DateTimeOffset.Now.AddDays(1), orderId.ToString());
                return(wapPay(orderList, orderId, 0, wapSpId));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Esempio n. 10
0
        public ActionResult <string> ExeAction(string Action, Object PostData)
        {
            Model.Action = Action;
            var           context     = _accessor.HttpContext;
            var           tokenHeader = context.Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
            TokenModelJWT tokenModel  = JwtHelper.SerializeJWT(tokenHeader);

            if (new DateTimeOffset(DateTime.Now.AddMinutes(5)).ToUnixTimeSeconds() > tokenModel.Exp)
            {
                //需要更新Token
                Model.uptoken = JwtHelper.CreateJWT(tokenModel.UserName, "Admin");
            }
            JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(tokenModel.UserName) as JH_Auth_UserB.UserInfo;
            if (UserInfo == null)
            {
                UserInfo = new JH_Auth_UserB().GetUserInfo(10334, tokenModel.UserName);
                CacheHelp.Set(tokenModel.UserName, UserInfo);
            }
            try
            {
                JObject JsonData = JObject.FromObject(PostData);
                string  P1       = JsonData["P1"] == null ? "" : JsonData["P1"].ToString();
                string  P2       = JsonData["P2"] == null ? "" : JsonData["P2"].ToString();

                //Dictionary<string, string> results3 = JsonConvert.DeserializeObject<Dictionary<string, string>>(PostData.ToString());
                var function = Activator.CreateInstance(typeof(AuthManage)) as AuthManage;
                var method   = function.GetType().GetMethod(Action.ToUpper());
                method.Invoke(function, new object[] { JsonData, Model, P1, P2, UserInfo });
                new JH_Auth_LogB().InsertLog(Model.Action, "--调用接口", "", UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, "");
            }
            catch (Exception ex)
            {
                Model.ErrorMsg = Action + "接口调用失败,请检查日志";
                Model.Result   = ex.ToString();
                new JH_Auth_LogB().InsertLog(Action, Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), tokenModel.UserName, "", 0, "");
            }

            return(ControHelp.CovJson(Model));
        }
Esempio n. 11
0
        public string Login(string userName, string pwd)
        {
            string token = string.Empty;
            string sql   = "select * from Users where UserName=?userName and Pwd=?pwd and State=0 ";
            Dictionary <string, object> p = new Dictionary <string, object>();

            p["userName"] = userName;
            p["pwd"]      = pwd;
            UserModel user = DbUtil.Master.Query <UserModel>(sql, p);

            if (user != null)
            {
                string key = string.Concat(user.UserName, user.Uid); //统一cache Key
                CacheHelp.Set(key, DateTimeOffset.Now.AddDays(7), user);
                List <object> u = new List <object>();
                u.Add(new
                {
                    token = key,
                });
                token = JsonUtil.Serialize(u);
            }
            return(token);
        }
Esempio n. 12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="spId"></param>
        /// <param name="spCount"></param>
        /// <param name="token"></param>
        /// <param name="isSC">是否来自于购物车</param>
        /// <returns></returns>
        public string WapPay(string spId, string spCount, string token, int isSC, int cityId, int exId, string exName,
                             string addres, string consignee, string phone, int isInvoice, int payid, string payName, string ramrk,
                             string invoicePayable, string businessName, string taxpayerNumber, string billContactPhone, string billContactEmail, string billContent, int IsSample)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                OrderListModel        orderList = new OrderListModel();
                long                  orderId   = 0;
                var                   idList    = spId.Split(',').Select(x => int.Parse(x)).ToList();
                var                   spcList   = spCount.Split(',').Select(x => int.Parse(x)).ToList();
                List <CommodityModel> comDtl    = new List <CommodityModel>();
                #region 获取基础数据
                if (isSC == 1)
                {
                    //获取购物车信息
                    var comStr = CommodityService.Instance.GetShoppingInId(token, spId);
                    comDtl = JsonUtil.Deserialize <List <CommodityModel> >(comStr);
                }
                else
                {
                    var data = CommodityService.Instance.GetCommodityInfo(Convert.ToInt32(spId));
                    comDtl.Add(JsonUtil.Deserialize <CommodityModel>(data));
                }
                #endregion
                //生成订单
                List <OrderDtlModel> oderDtl = new List <OrderDtlModel>();
                double orderAmount           = 0;
                #region 订单明细
                int weight = 0; //订单重量
                foreach (var cm in comDtl)
                {
                    int           cIndex = idList.FindIndex(o => o == cm.CommodityId);
                    OrderDtlModel dtl    = new OrderDtlModel();
                    dtl.CommodityId        = cm.CommodityId;
                    dtl.CommodityName      = cm.CommodityName;
                    dtl.CommodityGeneral   = cm.CommodityGeneral;
                    dtl.CommodityPrice     = cm.CommodityPrice;
                    dtl.CommodityUnitName  = cm.UnitIdName;
                    dtl.CommoditySpec      = cm.CommoditySpec;
                    dtl.CommodityBrandId   = cm.CommodityBrandId;
                    dtl.CommodityBrandName = cm.BrandName;
                    dtl.CommodityFamilyId  = cm.CommodityFamilyId;
                    dtl.CommodityImg       = cm.CommodityImg;
                    dtl.CommodityIndex     = cm.CommodityIndex;
                    dtl.CommodityCode      = cm.CommodityCode;
                    dtl.CommodityRH        = cm.CommodityRH;
                    dtl.CommodityRM        = cm.CommodityRM;
                    dtl.CommodityFL        = cm.CommodityFL;
                    dtl.UserId             = user.Uid;
                    dtl.CommNumber         = spcList[cIndex];
                    dtl.OriginalTotalPrice = spcList[cIndex] * (cm.CommodityPrice * cm.CommoditySpec);
                    orderAmount            = orderAmount + spcList[cIndex] * (cm.CommodityPrice * cm.CommoditySpec);
                    weight = weight + cm.CommoditySpec * dtl.CommNumber;
                    oderDtl.Add(dtl);
                }
                #endregion
                orderList.OrdrList   = oderDtl;
                orderList.OrderPrice = orderAmount;
                orderList.IsSample   = IsSample;
                //计算运费
                string cityStr  = CityExLogisticsAmountService.Instance.GetCityExLogisticsAmount(cityId, exId);
                var    cityData = JsonUtil.Deserialize <CityExLogisticsAmountModel>(cityStr);
                if (IsSample == 1)
                {
                    orderList.OrderAmount = 0;
                    orderList.NameExpress = string.Empty;
                }
                else
                {
                    orderList.Weight        = weight;
                    orderList.ExpressAmount = cityData.Amount * weight;
                    orderList.OrderAmount   = orderList.OrderPrice + orderList.ExpressAmount;
                    orderList.NameExpress   = exName;
                }
                orderList.ReceivingAddress  = addres;
                orderList.Consignee         = consignee;
                orderList.Telephone         = phone;
                orderList.IsInvoice         = isInvoice;
                orderList.PaymentMethod     = payid;
                orderList.PaymentMethodName = payName;
                orderList.Remarks           = ramrk;
                //保存发票抬头信息
                #region 发票
                OrderInvoiceModel invoice = new OrderInvoiceModel();
                invoice.InvoicePayable   = invoicePayable;
                invoice.BusinessName     = businessName;
                invoice.TaxpayerNumber   = taxpayerNumber;
                invoice.BillContactPhone = billContactPhone;
                invoice.BillContactEmail = billContactEmail;
                invoice.BillContent      = billContent;
                invoice.UserId           = user.Uid;
                invoice.InvoiceAmount    = orderList.OrderAmount;
                #endregion
                InsertOrderList(orderList, user.Uid, invoice, ref orderId);
                if (isSC == 1)
                {
                    //删除购物车
                    CommodityService.Instance.DeleteShopping(spId, token);
                }
                string key     = CryptoUtil.GetRandomAesKey();
                string wapSpId = CryptoUtil.AesEncryptHex(orderId.ToString(), key);
                CacheHelp.Set(wapSpId, DateTimeOffset.Now.AddDays(1), orderId.ToString());
                return(wapPay(orderList, orderId, IsSample, wapSpId));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Esempio n. 13
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            context.Response.AddHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE"); //支持的http 动作
            context.Response.AddHeader("Access-Control-Allow-Headers", "Accept, Origin, Content-type,authorization");
            context.Response.AddHeader("Access-Control-Allow-Credentials", "true");
            context.Response.AddHeader("pragma", "no-cache");
            context.Response.AddHeader("cache-control", "");
            context.Response.CacheControl = "no-cache";
            string strAction = context.Request["Action"] ?? "";
            string P1        = context.Request["P1"] ?? "";
            string P2        = context.Request["P2"] ?? "";
            string P3        = context.Request["P3"] ?? "";
            string UserName  = context.Request["UserName"] ?? "";
            string wxopenid  = context.Request["wxopenid"] ?? "";

            string szhlcode = context.Request["szhlcode"] ?? "";

            if (context.Request.Cookies["szhlcode"] != null)
            {
                szhlcode = context.Request.Cookies["szhlcode"].Value;//防止szhlcode在Url里传输会出现把+弄丢得情况
            }

            //string szhlcode = context.Request["szhlcode"] ?? "";


            string authcode = context.Request.Headers["Authorization"] ?? "";

            string     strIP      = CommonHelp.getIP(context); //用户IP
            int        intTimeOut = 60;                        //用户超时间隔时间即szhlcode失效时间
            Msg_Result Model      = new Msg_Result()
            {
                Action = strAction.ToUpper(), ErrorMsg = ""
            };

            if (!string.IsNullOrEmpty(strAction))
            {
                try
                {
                    string strCheckString = "";// new CommonHelp().checkconetst(context);
                    if (strCheckString != "")
                    {
                        Model.ErrorMsg = strAction + "有敏感字符串";
                        new JH_Auth_LogB().InsertLog(strAction, Model.ErrorMsg, strCheckString, UserName, "", 0, strIP);
                    }
                    else
                    {
                        #region 必须登录执行接口
                        Model.ErrorMsg = "";

                        var    bl   = true;
                        string ishc = "";
                        var    acs  = Model.Action.Split('_');
                        if (Model.Action.IndexOf("_") > 0)
                        {
                            if (acs[0].ToUpper() == "Commanage".ToUpper())
                            {
                                bl = false;
                                var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper());
                                Model.Action = acs[1];
                                container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), new JH_Auth_UserB.UserInfo());
                                int    cid = 0;
                                string un  = string.Empty;
                                if (Model.Result4 != null)
                                {
                                    JH_Auth_User UserInfo = Model.Result4;
                                    cid = UserInfo.ComId.Value;
                                    un  = UserInfo.UserRealName;
                                }
                            }
                        }
                        if (bl)
                        {
                            if (wxopenid != "")//如果存在TOKEN,根据TOKEN找到用户信息,并根据权限执行具体ACTION
                            {
                                //通过Code获取用户名,然后执行接口方法
                                var                    container  = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper());
                                UserCatche             UserCatche = CacheHelp.Get(wxopenid) as UserCatche;
                                JH_Auth_UserB.UserInfo UserInfo   = new JH_Auth_UserB.UserInfo();
                                if (UserCatche != null && UserCatche.CatcheTime.AddMinutes(10) > DateTime.Now)
                                {
                                    UserInfo = UserCatche.User;
                                    ishc     = "MOB缓存--";
                                }
                                else
                                {
                                    UserInfo = new JH_Auth_UserB().GetUserInfoByWxopenid(wxopenid);
                                    ishc     = "MOB数据库--";
                                    CacheHelp.Remove(wxopenid);//超时清理缓存
                                }
                                if (UserInfo != null && UserInfo.User != null)
                                {
                                    Model.Action = Model.Action.Substring(acs[0].Length + 1);
                                    container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), UserInfo);
                                    new JH_Auth_LogB().InsertLog(Model.Action, ishc + "调用小程序接口", context.Request.Url.AbsoluteUri, UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, strIP);

                                    CacheHelp.Set(wxopenid, new UserCatche()
                                    {
                                        User = UserInfo, CatcheTime = DateTime.Now
                                    });
                                }
                                else
                                {
                                    Model.ErrorMsg = "NOSESSIONCODE";
                                }
                            }
                            else if (szhlcode != "")
                            {
                                //通过Code获取用户名,然后执行接口方法
                                var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper());

                                JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(szhlcode) as JH_Auth_UserB.UserInfo;
                                ishc = "缓存--";

                                if (UserInfo == null)
                                {
                                    UserInfo = new JH_Auth_UserB().GetUserInfo(szhlcode);
                                    ishc     = "数据库--";
                                }
                                if (UserInfo != null && UserInfo.User != null)
                                {
                                    if (UserInfo.User.logindate == null)
                                    {
                                        UserInfo.User.logindate = DateTime.Now;
                                    }
                                    TimeSpan ts = new TimeSpan(UserInfo.User.logindate.Value.Ticks).Subtract(new TimeSpan(DateTime.Now.Ticks)).Duration();
                                    if (ts.TotalMinutes > intTimeOut)  // 超过五分钟了,超时了哦;
                                    {
                                        UserInfo.User.pccode = "";
                                        new JH_Auth_UserB().Update(UserInfo.User); //清除PCCode
                                        Model.ErrorMsg = "WXTIMEOUT";
                                        CacheHelp.Remove(szhlcode);                //超时清理缓存
                                    }
                                    else
                                    {
                                        Model.Action = Model.Action.Substring(acs[0].Length + 1);
                                        container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), UserInfo);
                                        new JH_Auth_LogB().InsertLog(Model.Action, ishc + "--调用接口", context.Request.Url.AbsoluteUri, UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, strIP);
                                        new JH_Auth_UserB().UpdateloginDate(UserInfo.User.ComId.Value, UserInfo.User.UserName); //更新用户最近的操作时间
                                        CacheHelp.Set(szhlcode, UserInfo);                                                      //生成缓存
                                    }
                                }
                                else
                                {
                                    Model.ErrorMsg = "NOSESSIONCODE";
                                }
                            }
                            else
                            {
                                Model.ErrorMsg = "NOSESSIONCODE";
                            }
                        }
                        #endregion
                    }
                }
                catch (Exception ex)
                {
                    Model.ErrorMsg = strAction + "接口调用失败,请检查日志";
                    Model.Result   = ex.ToString();
                    new JH_Auth_LogB().InsertLog(strAction, P1 + "$" + P2 + Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), UserName, "", 0, strIP);
                }
            }
            string jsonpcallback = context.Request["jsonpcallback"] ?? "";
            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
            timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
            string Result = JsonConvert.SerializeObject(Model, Formatting.Indented, timeConverter).Replace("null", "\"\"");
            if (jsonpcallback != "")
            {
                Result = jsonpcallback + "(" + Result + ")";//支持跨域
            }
            context.Response.Write(Result);
        }