/// <summary> /// 获取用户开门钥匙 /// </summary> /// UserID 用户手机号 /// CommID 小区编号 /// <returns></returns> public string GetUserKeys(DataRow row) { if (!row.Table.Columns.Contains("UserID") || string.IsNullOrEmpty(row["UserID"].ToString())) { return(JSONHelper.FromString(false, "用户ID不能为空")); } if (!row.Table.Columns.Contains("CommID") || string.IsNullOrEmpty(row["CommID"].ToString())) { return(JSONHelper.FromString(false, "小区ID不能为空")); } string userId = row["UserID"].ToString(); string commId = row["CommID"].ToString(); using (IDbConnection conn = new SqlConnection(AppGlobal.GetConnectionString("EntranceConnectionString"))) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("@UserID", userId); parameters.Add("@CommID", commId); DataTable dt = conn.ExecuteReader(@"SELECT * FROM Tb_HSPR_Key WHERE UserID=@UserID AND CommID=@CommID", parameters).ToDataSet().Tables[0]; return(JSONHelper.FromString(dt)); } }
/// <summary> /// 注册用户微信共众号 RegisterUser_WeiXin /// </summary> /// <param name="Row"></param> /// OpenId 必填 /// <returns></returns> private string RegisterUser_WeiXin_hnc(DataRow Row) { if (!Row.Table.Columns.Contains("OpenId") || string.IsNullOrEmpty(Row["OpenId"].ToString())) { return(JSONHelper.FromString(false, "请使用微信客户端打开")); } string OpenId = Row["OpenId"].ToString(); //微信公众号注册,默认密码为123456 //针对某些公众号系统不需要设置密码的问题(例如华南城) string Pwd; if (!Row.Table.Columns.Contains("Pwd") || string.IsNullOrEmpty(Row["Pwd"].ToString())) { Pwd = "123456"; } else { Pwd = Row["Pwd"].ToString(); } if (!Row.Table.Columns.Contains("Mobile") || string.IsNullOrEmpty(Row["Mobile"].ToString())) { return(JSONHelper.FromString(false, "手机号不能为空")); } string Mobile = Row["Mobile"].ToString(); //查询系统中是否存在该openid DataTable dTable = new DbHelperSQLP(PubConstant.UnifiedContionString.ToString()).Query("SELECT * FROM Tb_User_WeiXin as w JOIN Tb_User as u on w.UserId = u.id where w.WeChatToken = '" + Row["OpenId"].ToString() + "'").Tables[0]; if (null != dTable && dTable.Rows.Count > 0) { //如果系统中已存在该openid,直接返回注册成功 return(JSONHelper.FromString(true, "注册成功")); } //默认姓名为空 string Name = ""; //默认邮箱为空 string Email = ""; //默认QQ为空 string QQ = ""; //默认QQ登录为空 string QQToken = ""; //默认微信登录为空 string WeChatToken = ""; //默认昵称为手机号 string NickName = Mobile; //默认用户头像为空 string UserPic = ""; //默认性别为女 int Sex = 1; if (Row.Table.Columns.Contains("Name") && string.IsNullOrEmpty(Row["Name"].ToString())) { Name = Row["Name"].ToString(); } if (Row.Table.Columns.Contains("Email") && string.IsNullOrEmpty(Row["Email"].ToString())) { Email = Row["Email"].ToString(); } if (Row.Table.Columns.Contains("QQ") && string.IsNullOrEmpty(Row["QQ"].ToString())) { QQ = Row["QQ"].ToString(); } if (Row.Table.Columns.Contains("QQToken") && string.IsNullOrEmpty(Row["QQToken"].ToString())) { QQToken = Row["QQToken"].ToString(); } if (Row.Table.Columns.Contains("WeChatToken") && string.IsNullOrEmpty(Row["WeChatToken"].ToString())) { WeChatToken = Row["WeChatToken"].ToString(); } if (Row.Table.Columns.Contains("NickName") && !string.IsNullOrEmpty(Row["NickName"].ToString())) { NickName = Row["NickName"].ToString(); } if (Row.Table.Columns.Contains("UserPic") && !string.IsNullOrEmpty(Row["UserPic"].ToString())) { UserPic = Row["UserPic"].ToString(); } if (Row.Table.Columns.Contains("Sex") && !string.IsNullOrEmpty(Row["Sex"].ToString())) { Sex = AppGlobal.StrToInt(Row["Sex"].ToString()); } // 如果不存在该用户才新增,否则只增加绑定关系 string UserId; DataTable dt = new DbHelperSQLP(PubConstant.UnifiedContionString.ToString()).Query("SELECT * FROM Tb_User WHERE Mobile = '" + Mobile + "'").Tables[0]; if (null == dt || dt.Rows.Count == 0) { UserId = Guid.NewGuid().ToString(); MobileSoft.Model.Unified.Tb_User User = new MobileSoft.Model.Unified.Tb_User(); User.Id = UserId; User.Name = Name; User.Mobile = Mobile; User.QQ = QQ; User.QQToken = QQToken; User.WeChatNum = WeChatToken; User.WeChatToken = WeChatToken; User.Pwd = Pwd; User.NickName = NickName; User.Email = Email; User.UserPic = UserPic; User.Sex = Sex; User.RegDate = DateTime.Now; //新增用户 new MobileSoft.BLL.Unified.Bll_Tb_User().Add(User); } else { UserId = dt.Rows[0]["Id"].ToString(); } //新增openid int result = new DbHelperSQLP(PubConstant.UnifiedContionString.ToString()).ExecuteSql("insert into Tb_User_WeiXin(UserId,WeChatToken) values('" + UserId + "','" + Row["OpenId"] + "')"); if (result == 0) { return(JSONHelper.FromString(false, "注册失败,请重试")); } try { string erpString = AppGlobal.GetConnectionString("HNC_HM_ConnectionString"); // 查询业主 using (IDbConnection conn = new SqlConnection(erpString)) { IEnumerable <dynamic> resultSet = conn.Query(string.Format(@"SELECT a.CustID,a.CustName,a.CommID,b.RoomID,c.RoomSign FROM Tb_HSPR_Customer as a JOIN Tb_HSPR_CustomerLive AS b ON a.CustID = b.CustID JOIN Tb_HSPR_Room AS c ON b.RoomID = c.RoomID WHERE (b.LiveType=1 OR b.LiveType=2) AND isnull(IsDelLive,0)= 0 AND a.MobilePhone LIKE '%{0}%'", Mobile)); // 业主存在,自动绑定房屋 if (resultSet.Count() > 0) { foreach (dynamic item in resultSet) { Tb_Community tb_Community = getTbCommunity(item.CommID + ""); if (null == tb_Community) { continue; } using (IDbConnection conn2 = new SqlConnection(PubConstant.UnifiedContionString)) { conn2.Execute(@"INSERT INTO Tb_User_Relation(Id, UserId, CommunityId, CustId, RoomId, RegDate, CustName, RoomSign, CustMobile) VALUES(newid(), @UserId, @CommunityId, @CustID, @RoomID, getdate(), @CustName, @RoomSign, @Mobile)", new { UserId = UserId, CommunityId = tb_Community.Id, CustID = item.CustID, RoomID = item.RoomID, CustName = item.CustName, RoomSign = item.RoomSign, Mobile = Mobile }); } } return(JSONHelper.FromString(true, "注册成功,已自动绑定房屋")); } return(JSONHelper.FromString(true, "注册成功")); } } catch (Exception ex) { return(JSONHelper.FromString(true, "注册成功,但自动绑定失败(" + ex.Message + ")")); } }
/// <summary> /// 创建分享钥匙记录 /// </summary> /// <param name="row"></param> /// <returns></returns> public string CreateShareKey(DataRow row) { if (!row.Table.Columns.Contains("UserID") || string.IsNullOrEmpty(row["UserID"].ToString())) { return(JSONHelper.FromString(false, "用户ID不能为空")); } string UserID = row["UserID"].ToString(); if (!row.Table.Columns.Contains("KID") || string.IsNullOrEmpty(row["KID"].ToString())) { return(JSONHelper.FromString(false, "钥匙ID不能为空")); } string Kid = row["KID"].ToString(); if (!row.Table.Columns.Contains("expireTime") || string.IsNullOrEmpty(row["expireTime"].ToString())) { return(JSONHelper.FromString(false, "有效期不能为空")); } string InviteUserName = string.Empty; if (row.Table.Columns.Contains("InviteUserName")) { InviteUserName = row["InviteUserName"].ToString(); } string InviteUserMobile = string.Empty; if (row.Table.Columns.Contains("InviteUserMobile")) { InviteUserMobile = row["InviteUserMobile"].ToString(); } DateTime expireTime = DateTime.ParseExact(row["expireTime"].ToString(), "yyyyMMddHHmmss", CultureInfo.CurrentCulture); if (!row.Table.Columns.Contains("CommID") || string.IsNullOrEmpty(row["CommID"].ToString())) { return(JSONHelper.FromString(false, "小区ID不能为空")); } string CommID = row["CommID"].ToString(); string useDefaultUrl = ""; if (row.Table.Columns.Contains("UseDefaultUrl") && !string.IsNullOrEmpty(row["UseDefaultUrl"].ToString())) { useDefaultUrl = row["UseDefaultUrl"].ToString(); if (useDefaultUrl == "1") { useDefaultUrl = ConfigurationManager.AppSettings["MiaoDouWeChatShareUrl"]; } } IDbConnection conn = new SqlConnection(AppGlobal.GetConnectionString("EntranceConnectionString")); DynamicParameters param = new DynamicParameters(); param.Add("ID", null, DbType.String, ParameterDirection.Output, 36); param.Add("Uid", UserID, DbType.String); param.Add("Kid", Kid, DbType.String); param.Add("InviteUserName", InviteUserName, DbType.String); param.Add("InviteUserMobile", InviteUserMobile, DbType.String); param.Add("CreateTime", DateTime.Now, DbType.DateTime); param.Add("ExpireTime", expireTime, DbType.DateTime); int ret = conn.Execute("Tb_HSPR_Visitor_Record_Add", param, null, null, CommandType.StoredProcedure); string id = param.Get <string>("ID"); if (ret > 0) { return("{\"Result\":\"true\", \"data\": \"" + useDefaultUrl + id + "\"}"); } return("{\"Result\":\"false\", \"data\": \"分享失败\"}"); }