예제 #1
0
        //----------------------------------------------------
        /// <summary>
        /// 根据用户信息,返回有效的签名,再使用签名完成登录
        /// </summary>
        public M_QQIM_User GetSignByUser(M_UserInfo mu)
        {
            //为空时提交会死循环
            if (mu == null || mu.IsNull || string.IsNullOrEmpty(mu.UserName))
            {
                throw new Exception("用户信息为空,无法生成IM签名");
            }
            M_QQIM_User model = SelModelByUid(mu.UserID);

            if (model == null)
            {
                string identity = "zl" + function.GetRandomString(10);
                string nick     = string.IsNullOrEmpty(mu.HoneyName) ? mu.UserName : mu.HoneyName;
                string face     = string.IsNullOrEmpty(mu.UserFace) ? "" : SiteConfig.SiteInfo.SiteUrl + mu.UserFace;
                string result   = Account_Import(identity, nick, face);
                if (Account_Import_IsOK(result))
                {
                    model             = new M_QQIM_User();
                    model.UserID      = mu.UserID;
                    model.IM_Identity = identity;
                    model.Sign        = new C_QQIM_Sign().GetUserSign(model.IM_Identity);
                    model.SignDate    = DateTime.Now;
                    model.ID          = Insert(model);
                }
                else
                {
                    ZLLog.L("IM导入用户失败,原因:" + result);
                }
            }
            else if ((DateTime.Now - model.SignDate).TotalDays > 178)
            {
                model.Sign = new C_QQIM_Sign().GetUserSign(model.IM_Identity); UpdateByID(model);
            }
            return(model);
        }
예제 #2
0
        public M_QQIM_User GetModelFromReader(DbDataReader rdr)
        {
            M_QQIM_User model = new M_QQIM_User();

            model.ID          = ConvertToInt(rdr["ID"]);
            model.UserID      = ConvertToInt(rdr["UserID"]);
            model.IM_Identity = ConverToStr(rdr["IM_Identity"]);
            model.Sign        = ConverToStr(rdr["Sign"]);
            model.SignDate    = ConvertToDate(rdr["SignDate"]);
            model.CDate       = ConvertToDate(rdr["CDate"]);
            rdr.Close();
            return(model);
        }
예제 #3
0
        public override SqlParameter[] GetParameters()
        {
            M_QQIM_User model = this;

            SqlParameter[] sp = GetSP();
            if (model.SignDate <= DateTime.MinValue)
            {
                model.SignDate = DateTime.Now;
            }
            if (model.CDate <= DateTime.MinValue)
            {
                model.CDate = DateTime.Now;
            }
            sp[0].Value = model.ID;
            sp[1].Value = model.UserID;
            sp[2].Value = model.IM_Identity;
            sp[3].Value = model.Sign;
            sp[4].Value = model.SignDate;
            sp[5].Value = model.CDate;
            return(sp);
        }
예제 #4
0
 public bool UpdateByID(M_QQIM_User model)
 {
     return(DBCenter.UpdateByID(model, model.ID));
 }
예제 #5
0
 public int Insert(M_QQIM_User model)
 {
     return(DBCenter.Insert(model));
 }