예제 #1
0
 private void SetUserInfo(string sGetSql, SqlParameter[] paramsGet, SnsUser snsUser)
 {
     using (SqlDataReader aReader = SqlHelper.ExecuteReader(config.connectionString, CommandType.Text, sGetSql, paramsGet))
     {
         if (aReader.Read())
         {
             snsUser.UserId = Convert.ToInt32(aReader["UserId"]);
             snsUser.PassportId = Convert.ToString(aReader["PassportID"]);
             snsUser.RegTime = Convert.ToDateTime(aReader["RegTime"]);
             snsUser.RetailID = Convert.ToString(aReader["RetailID"]);
             snsUser.RetailUser = Convert.ToString(aReader["RetailUser"]);
             snsUser.Mobile = Convert.ToString(aReader["Mobile"]);
             snsUser.Mail = Convert.ToString(aReader["Mail"]);
             snsUser.RealName = Convert.ToString(aReader["RealName"]);
             snsUser.IDCards = Convert.ToString(aReader["IDCards"]);
             snsUser.ActiveCode = Convert.ToString(aReader["ActiveCode"]);
             snsUser.SendActiveDate = ToDate(Convert.ToString(aReader["SendActiveDate"]));
             snsUser.ActiveDate = ToDate(Convert.ToString(aReader["ActiveDate"]));
             snsUser.WeixinCode = Convert.ToString(aReader["WeixinCode"]);
         }
     }
 }
예제 #2
0
 /// <summary>
 /// 补全用户信息
 /// </summary>
 /// <param name="pid"></param>
 /// <param name="snsuser"></param>
 /// <returns></returns>
 public static int ChangeUserInfo(string pid, SnsUser snsuser)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser();
     return snsCenterUser.ChangeUserInfo(pid, snsuser);
 }
예제 #3
0
        internal int ChangeUserInfo(string pid, SnsUser snsuser)
        {
            try
            {
                string sInsertSql = string.Empty;
                List<SqlParameter> paramsUpdate = new List<SqlParameter>();
                paramsUpdate.Add(SqlParamHelper.MakeInParam("@PassportId", SqlDbType.VarChar, 0, pid));

                sInsertSql = "update SnsUserInfo set PassportId=@PassportId";
                if (!string.IsNullOrEmpty(snsuser.Mobile))
                {
                    sInsertSql += ", Mobile=@Mobile";
                    paramsUpdate.Add(SqlParamHelper.MakeInParam("@Mobile", SqlDbType.VarChar, 0, snsuser.Mobile));
                }
                if (!string.IsNullOrEmpty(snsuser.Mail))
                {
                    sInsertSql += ", Mail=@Mail";
                    paramsUpdate.Add(SqlParamHelper.MakeInParam("@Mail", SqlDbType.VarChar, 0, snsuser.Mail));
                }
                if (!string.IsNullOrEmpty(snsuser.RealName))
                {
                    sInsertSql += ", RealName=@RealName";
                    paramsUpdate.Add(SqlParamHelper.MakeInParam("@RealName", SqlDbType.VarChar, 0, snsuser.RealName));
                }
                if (!string.IsNullOrEmpty(snsuser.IDCards))
                {
                    sInsertSql += ", IDCards=@IDCards";
                    paramsUpdate.Add(SqlParamHelper.MakeInParam("@IDCards", SqlDbType.VarChar, 0, snsuser.IDCards));
                }
                if (!string.IsNullOrEmpty(snsuser.ActiveCode))
                {
                    sInsertSql += ", ActiveCode=@ActiveCode";
                    paramsUpdate.Add(SqlParamHelper.MakeInParam("@ActiveCode", SqlDbType.VarChar, 0, snsuser.ActiveCode));
                }
                if (snsuser.SendActiveDate > DateTime.MinValue)
                {
                    sInsertSql += ", SendActiveDate=@SendActiveDate";
                    paramsUpdate.Add(SqlParamHelper.MakeInParam("@SendActiveDate", SqlDbType.DateTime, 0, snsuser.SendActiveDate));
                }
                if (snsuser.ActiveDate > DateTime.MinValue)
                {
                    sInsertSql += ", ActiveDate=@ActiveDate";
                    paramsUpdate.Add(SqlParamHelper.MakeInParam("@ActiveDate", SqlDbType.DateTime, 0, snsuser.ActiveDate));
                }
                if (!string.IsNullOrEmpty(snsuser.WeixinCode))
                {
                    sInsertSql += ", WeixinCode=@WeixinCode";
                    paramsUpdate.Add(SqlParamHelper.MakeInParam("@WeixinCode", SqlDbType.VarChar, 0, snsuser.WeixinCode));
                }
                sInsertSql += " where PassportId=@PassportId";

                return SqlHelper.ExecuteNonQuery(config.connectionString, CommandType.Text, sInsertSql, paramsUpdate.ToArray());
            }
            catch (Exception ex)
            {
                _Logger.SaveLog(ex);
                return 0;
            }
        }
예제 #4
0
 internal SnsUser GetUserInfo(string passportId)
 {
     SnsUser snsUser = new SnsUser();
     string sGetSql = "select top 1 [UserId],[PassportID],[PassportPwd],[DeviceID],[RegType],[RegTime],[RetailID],[RetailUser],[Mobile],[Mail],[PwdType],[RealName],[IDCards],[ActiveCode],[SendActiveDate],[ActiveDate],WeixinCode from SnsUserInfo where PassportId=@PassportId";
     List<SqlParameter> listTmp = new List<SqlParameter>();
     listTmp.Add(SqlParamHelper.MakeInParam("@PassportId", SqlDbType.VarChar, 0, passportId));
     SqlParameter[] paramsGet = listTmp.ToArray();
     SetUserInfo(sGetSql, paramsGet, snsUser);
     return snsUser;
 }
예제 #5
0
        private void SetUserInfo(Action<CommandFilter> match, SnsUser snsUser)
        {
            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);
            command.OrderBy = "USERID ASC";
            command.Columns = "UserId,PassportID,PassportPwd,DeviceID,RegType,RegTime,RetailID,RetailUser,Mobile,Mail,PwdType,RealName,IDCards,ActiveCode,SendActiveDate,ActiveDate,WeixinCode";
            command.Filter = ConnectManager.Provider.CreateCommandFilter();
            match(command.Filter);
            command.Parser();

            using (var aReader = ConnectManager.Provider.ExecuteReader(CommandType.Text, command.Sql, command.Parameters))
            {
                if (aReader.Read())
                {
                    snsUser.UserId = Convert.ToInt32(aReader["UserId"]);
                    snsUser.IMEI = Convert.ToString(aReader["DeviceID"]);
                    snsUser.PassportId = Convert.ToString(aReader["PassportID"]);
                    snsUser.Password = Convert.ToString(aReader["PassportPwd"]);
                    snsUser.RegTime = Convert.ToDateTime(aReader["RegTime"]);
                    snsUser.RetailID = Convert.ToString(aReader["RetailID"]);
                    snsUser.RetailUser = Convert.ToString(aReader["RetailUser"]);
                    snsUser.Mobile = Convert.ToString(aReader["Mobile"]);
                    snsUser.Mail = Convert.ToString(aReader["Mail"]);
                    snsUser.RealName = Convert.ToString(aReader["RealName"]);
                    snsUser.IDCards = Convert.ToString(aReader["IDCards"]);
                    snsUser.ActiveCode = Convert.ToString(aReader["ActiveCode"]);
                    snsUser.SendActiveDate = ToDate(Convert.ToString(aReader["SendActiveDate"]));
                    snsUser.ActiveDate = ToDate(Convert.ToString(aReader["ActiveDate"]));
                    snsUser.WeixinCode = Convert.ToString(aReader["WeixinCode"]);
                    snsUser.PwdType = (PwdType)Enum.ToObject(typeof(PwdType), Convert.ToInt32(aReader["PwdType"]));
                    RegType regType = (RegType)Enum.ToObject(typeof(RegType), Convert.ToInt32(aReader["RegType"]));
                    if (regType == RegType.Other && regType != RegType.Other)
                    {
                        //渠道登陆的用户允许更换包登陆
                        regType = string.IsNullOrEmpty(snsUser.IMEI) ? RegType.Normal : regType;
                    }
                    snsUser.RegType = regType;
                }
            }
        }
예제 #6
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="password"></param>
        /// <param name="deviceID"></param>
        /// <param name="openId"></param>
        /// <returns>0:失败, 1:成功 2:已绑定</returns>
        public static int RegisterWeixin(string pid, string password, string deviceID, string openId)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, deviceID);

            if (snsCenterUser.GetUserId() > 0)
            {
                if (string.IsNullOrEmpty(snsCenterUser.WeixinCode))
                {
                    SnsUser snsuser = new SnsUser() { PassportId = pid, WeixinCode = openId };
                    return snsCenterUser.ChangeUserInfo(pid, snsuser) > 0 ? 1 : 0;
                }
                return 2;
            }
            return 0;
        }
예제 #7
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="retailID"></param>
 /// <param name="retailUser"></param>
 /// <returns></returns>
 public SnsUser GetUserInfo(string retailID, string retailUser)
 {
     SnsUser snsUser = new SnsUser();
     SetUserInfo(f =>
     {
         f.Condition = string.Format("{0} AND {1}", f.FormatExpression("RetailID"), f.FormatExpression("RetailUser"));
         f.AddParam("RetailID", retailID);
         f.AddParam("RetailUser", retailUser);
     }, snsUser);
     return snsUser;
 }
예제 #8
0
 /// <summary>
 /// 通过微信号
 /// </summary>
 /// <param name="openId"></param>
 /// <returns></returns>
 public SnsUser GetUserByWeixin(string openId)
 {
     SnsUser snsUser = new SnsUser();
     SetUserInfo(f =>
     {
         f.Condition = f.FormatExpression("WeixinCode");
         f.AddParam("WeixinCode", openId);
     }, snsUser);
     return snsUser;
 }
예제 #9
0
        internal int ChangeUserInfo(string pid, SnsUser snsuser)
        {
            try
            {
                var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Modify);
                if (!string.IsNullOrEmpty(snsuser.Mobile))
                {
                    command.AddParameter("Mobile", snsuser.Mobile);
                }
                if (!string.IsNullOrEmpty(snsuser.Mail))
                {
                    command.AddParameter("Mail", snsuser.Mail);
                }
                if (!string.IsNullOrEmpty(snsuser.RealName))
                {
                    command.AddParameter("RealName", snsuser.RealName);
                }
                if (!string.IsNullOrEmpty(snsuser.IDCards))
                {
                    command.AddParameter("IDCards", snsuser.IDCards);
                }
                if (!string.IsNullOrEmpty(snsuser.ActiveCode))
                {
                    command.AddParameter("ActiveCode", snsuser.ActiveCode);
                }
                if (snsuser.SendActiveDate > DateTime.MinValue)
                {
                    command.AddParameter("SendActiveDate", snsuser.SendActiveDate);
                }
                if (snsuser.ActiveDate > DateTime.MinValue)
                {
                    command.AddParameter("ActiveDate", snsuser.ActiveDate);
                }
                if (!string.IsNullOrEmpty(snsuser.WeixinCode))
                {
                    command.AddParameter("WeixinCode", snsuser.WeixinCode);
                }
                command.Filter = ConnectManager.Provider.CreateCommandFilter();
                command.Filter.Condition = command.Filter.FormatExpression("PassportID");
                command.Filter.AddParam("PassportID", pid);
                command.Parser();

                return ConnectManager.Provider.ExecuteQuery(CommandType.Text, command.Sql, command.Parameters);
            }
            catch (Exception ex)
            {
                _Logger.SaveLog(ex);
                return 0;
            }
        }
예제 #10
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="passportId"></param>
 /// <returns></returns>
 public SnsUser GetUserInfo(string passportId)
 {
     SnsUser snsUser = new SnsUser();
     SetUserInfo(f =>
     {
         f.Condition = f.FormatExpression("PassportId");
         f.AddParam("PassportId", passportId);
     }, snsUser);
     return snsUser;
 }
예제 #11
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="snsUser"></param>
        /// <returns></returns>
        public bool ValidatePassport(SnsUser snsUser)
        {
            string password = _PassportPwd;

            if (snsUser.RegType == RegType.Normal)
            {
                if (snsUser.PwdType == PwdType.MD5)
                {
                    password = PasswordEncryptMd5(_PassportPwd);
                }
                return snsUser.PassportId == _PassportId && snsUser.Password == password;
            }

            if (snsUser.RegType == RegType.Guest)
            {
                if (snsUser.PwdType == PwdType.MD5)
                {
                    if (password.Length != 32)
                    {
                        //判断是否已经MD5加密
                        password = PasswordEncryptMd5(_PassportPwd);
                    }
                }
                return snsUser.PassportId == _PassportId &&
                    snsUser.Password == password &&
                    snsUser.IMEI == _imei;
            }

            return snsUser.RetailID == RetailID &&
                   snsUser.RetailUser == RetailUser;
        }
예제 #12
0
        private void SetUserInfo(Action<CommandFilter> match, SnsUser snsUser) {
            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);
            command.OrderBy = "USERID ASC";
            command.Columns = "UserId,PassportId,Password,DeviceId,RegType,RegTime,RetailId,RetailUser,Mobile,Mail,PwdType,RealName,IdCards,ActiveCode,SendActiveDate,ActiveDate,WeixinCode";
            command.Filter = ConnectManager.Provider.CreateCommandFilter();
            match(command.Filter);
            command.Parser();

            using (var reader = ConnectManager.Provider.ExecuteReader(CommandType.Text, command.Sql, command.Parameters)) {
                if (reader.Read()) {
                    snsUser.UserId = Convert.ToInt32(reader["UserId"]);
                    snsUser.DeviceId = Convert.ToString(reader["DeviceId"]);
                    snsUser.PassportId = Convert.ToString(reader["PassportId"]);
                    snsUser.Password = Convert.ToString(reader["Password"]);
                    snsUser.RegTime = Convert.ToDateTime(reader["RegTime"]);
                    snsUser.RetailId = Convert.ToString(reader["RetailId"]);
                    snsUser.RetailUser = Convert.ToString(reader["RetailUser"]);
                    snsUser.Mobile = Convert.ToString(reader["Mobile"]);
                    snsUser.Mail = Convert.ToString(reader["Mail"]);
                    snsUser.RealName = Convert.ToString(reader["RealName"]);
                    snsUser.IdCards = Convert.ToString(reader["IdCards"]);
                    snsUser.ActiveCode = Convert.ToString(reader["ActiveCode"]);
                    snsUser.SendActiveDate = ToDate(Convert.ToString(reader["SendActiveDate"]));
                    snsUser.ActiveDate = ToDate(Convert.ToString(reader["ActiveDate"]));
                    snsUser.WeixinCode = Convert.ToString(reader["WeixinCode"]);
                    snsUser.PwdType = (PwdType)Enum.ToObject(typeof(PwdType), Convert.ToInt32(reader["PwdType"]));
                    snsUser.RegType = (RegType)Enum.ToObject(typeof(RegType), Convert.ToInt32(reader["RegType"]));
                }
            }
        }
예제 #13
0
 /// <summary>
 /// 是否有绑定DeviceId
 /// </summary>
 /// <returns></returns>
 public SnsUser GetUserByDeviceId(string imei) {
     SnsUser snsUser = new SnsUser();
     if (string.IsNullOrEmpty(imei)) {
         return snsUser;
     }
     SetUserInfo(f => {
         f.Condition = string.Format("RegType = 1 AND {0}", f.FormatExpression("DeviceId")); //Guest
         f.AddParam("DeviceId", imei);
     }, snsUser);
     return snsUser;
 }
예제 #14
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="snsUser"></param>
        /// <returns></returns>
        public bool ValidatePassport(SnsUser snsUser) {
            string pwd = password;

            if (snsUser.RegType == RegType.Normal) {
                if (snsUser.PwdType == PwdType.MD5) {
                    pwd = PasswordEncryptMd5(pwd);
                }
                return snsUser.PassportId == passportId && snsUser.Password == pwd;
            }

            if (snsUser.RegType == RegType.Guest) {
                if (snsUser.PwdType == PwdType.MD5) {
                    //判断是否已经MD5加密
                    pwd = PasswordEncryptMd5(pwd);
                }
                return snsUser.PassportId == passportId &&
                    snsUser.Password == pwd;
            }

            return snsUser.RetailId == RetailId &&
                   snsUser.RetailUser == RetailUser;
        }
예제 #15
0
파일: SnsManager.cs 프로젝트: volfmath/Scut
        /// <summary>
        /// 补全用户信息
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="snsuser"></param>
        /// <returns></returns>
        public static int ChangeUserInfo(string pid, SnsUser snsuser)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser();

            return(snsCenterUser.ChangeUserInfo(pid, snsuser));
        }