//---------------------------------------------------- /// <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); }
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); }
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); }
public bool UpdateByID(M_QQIM_User model) { return(DBCenter.UpdateByID(model, model.ID)); }
public int Insert(M_QQIM_User model) { return(DBCenter.Insert(model)); }