/// <summary> /// 保存用户数据 /// </summary> /// <param name="type"></param> /// <param name="medWeChatUsers"></param> /// <returns></returns> public int SaveWeChatUsers(int type, MED_WECHAT_USERS medWeChatUsers) { int result = 0; try { if (type == 0) { //保证GUID 唯一 do//先执行一次,再判断。 { medWeChatUsers.ID = Guid.NewGuid().ToString(); medWeChatUsers.CREATE_DATE = DateTime.Now; }while (dapper.Set <MED_WECHAT_USERS>().Single(d => d.ID == medWeChatUsers.ID) != null); //根据医院 ID 、用户ID判断是否存在 if (dapper.Set <MED_WECHAT_USERS>().Single(d => d.HOSPITAL_ID == medWeChatUsers.HOSPITAL_ID && d.USER_JOB_ID == medWeChatUsers.USER_JOB_ID) != null) { result = 2; } else { result = dapper.Set <MED_WECHAT_USERS>().Insert(medWeChatUsers) ? 1 : 0; } } else { result = dapper.Set <MED_WECHAT_USERS>().Update(medWeChatUsers) > 0 ? 1 : 0; } dapper.SaveChanges(); } catch (Exception ex) { Logger.Error("保存微信用户数据SaveWeChatUsers:", ex); } return(result); }
/// <summary> /// 获取用户权限 /// </summary> /// <param name="userCheckList"></param> /// <returns></returns> public dynamic GetWeChatUserPermissions(object userCheckList) { List <MED_WECHAT_PERMISSIONS> permissionList = new List <MED_WECHAT_PERMISSIONS>(); try { string objUserValue = JsonConvert.SerializeObject(GetWeChatUsers("")); List <MED_WECHAT_USERS> weChatUsers = JsonConvert.DeserializeObject <List <MED_WECHAT_USERS> >(objUserValue); string objPermissionValue = JsonConvert.SerializeObject(GetWeChatPermissions("")); List <MED_WECHAT_PERMISSIONS> weChatUserPermissions = JsonConvert.DeserializeObject <List <MED_WECHAT_PERMISSIONS> >(objPermissionValue); if (userCheckList != null) { string[] userList = JsonConvert.DeserializeObject <string[]>(userCheckList.ToString()); foreach (var item in userList) { MED_WECHAT_USERS weChatUser = weChatUsers.Find(t => t.USER_JOB_ID == item); if (weChatUser != null) { MED_WECHAT_PERMISSIONS weChatUserPermission = weChatUserPermissions.Find(t => t.PERMISSION_ID == weChatUser.PERMISSION_ID); permissionList.Add(weChatUserPermission); } } } } catch (Exception ex) { Logger.Error("获取用户权限GetWeChatUserPermissions:", ex); } return(permissionList); }
/// <summary> /// 保存用户openid数据 /// </summary> /// <param name="UserId">GUID</param> /// <param name="OpenId"></param> /// <param name="Type">1 绑定 2 解绑 </param> /// <returns></returns> /// 返回值 0绑定失败 1绑定成功 2用户已经被绑定 3解绑成功 4解绑失败 5解绑失败(非同一用户) -10其它未知情况 public int BindUserOpenId(string UserId, string OpenId, string Type) { int result = 0; MED_WECHAT_USERS userExist = dapper.Set <MED_WECHAT_USERS>().Single(d => d.ID == UserId); //根据用户ID判断是否存在 if (userExist != null) //用户存在 { if (string.IsNullOrEmpty(userExist.OPEN_ID)) //先判断该用户是否已经绑定过--未绑定 { if (Type == "1") //绑定 { userExist.OPEN_ID = OpenId; int count = dapper.Set <MED_WECHAT_USERS>().Update(userExist) > 0 ? 1 : 0; dapper.SaveChanges(); if (count == 1) { result = 1; Logger.Error("1绑定成功BindUserOpenId:", new Exception("绑定用户{" + UserId + "}|{" + OpenId + "}成功!")); } else { result = 0; Logger.Error("0绑定失败BindUserOpenId:", new Exception("绑定用户{" + UserId + "}|{" + OpenId + "}失败,请重新绑定!")); } } } else//先判断该用户是否已经绑定过--已绑定 { if (userExist.OPEN_ID.Trim().Equals(OpenId.Trim()))//判断非同一用户--同一用户 { if (Type == "1")//绑定 { result = 2; Logger.Error("2用户已经被绑定BindUserOpenId:", new Exception("绑定用户{" + UserId + "}|{" + OpenId + "}失败,该用户已绑定,请先解绑!")); } else if (Type == "2")//解绑 { userExist.OPEN_ID = ""; int count = dapper.Set <MED_WECHAT_USERS>().Update(userExist) > 0 ? 1 : 0; dapper.SaveChanges(); if (count == 1) { result = 3; Logger.Error("3解绑成功BindUserOpenId:", new Exception("绑定用户{" + UserId + "}|{" + OpenId + "}成功!")); } else { result = 4; Logger.Error("4解绑失败BindUserOpenId:", new Exception("绑定用户{" + UserId + "}|{" + OpenId + "}失败,请重新解绑!")); } } } else//判断非同一用户--非同一用户 { result = 5; Logger.Error("5解绑失败(非同一用户)BindUserOpenId:", new Exception("解绑用户{" + UserId + "}|{" + OpenId + "}失败,非同一用户,请找到对应用户解绑!")); } } } else//用户不存在 { result = 0; Logger.Error("0绑定失败BindUserOpenId:", new Exception("该用户{" + UserId + "}|{" + OpenId + "}不存在,请先创建该用户!")); } return(result); }
/// <summary> /// 保存用户数据 /// </summary> /// <param name="userCheckList"></param> /// <param name="roleCheckList"></param> /// <param name="menuCheckList"></param> /// <returns></returns> public int SaveWeChatUsersPermission(object userCheckList, object roleCheckList, object menuCheckList) { int result = 0; try { string objValue = JsonConvert.SerializeObject(GetWeChatUsers("")); List <MED_WECHAT_USERS> weChatUsersList = JsonConvert.DeserializeObject <List <MED_WECHAT_USERS> >(objValue); string[] userList = JsonConvert.DeserializeObject <string[]>(userCheckList.ToString()); string[] roleList = JsonConvert.DeserializeObject <string[]>(roleCheckList.ToString()); string[] menuList = JsonConvert.DeserializeObject <string[]>(menuCheckList.ToString()); string objPermissionValue = JsonConvert.SerializeObject(GetWeChatPermissions("")); List <MED_WECHAT_PERMISSIONS> weChatPermissionsList = JsonConvert.DeserializeObject <List <MED_WECHAT_PERMISSIONS> >(objPermissionValue); foreach (string userStr in userList) { MED_WECHAT_USERS weChatUser = weChatUsersList.Find(t => t.USER_JOB_ID == userStr); if (weChatUser != null) { MED_WECHAT_PERMISSIONS weChatPermission = weChatPermissionsList.Find(t => t.PERMISSION_ID == weChatUser.PERMISSION_ID); if (weChatPermission != null) { // 已有权限 weChatPermission.ROLE_NAME = JsonConvert.SerializeObject(roleList); weChatPermission.PLAT_NAME = "麻醉微信公众号"; weChatPermission.PERMISSION_NAME = JsonConvert.SerializeObject(menuList); result = dapper.Set <MED_WECHAT_PERMISSIONS>().Update(weChatPermission) > 0 ? 1 : 0; } else { // 还没有建立权限 MED_WECHAT_PERMISSIONS weChatPermissionInsert = new MED_WECHAT_PERMISSIONS(); //保证GUID 唯一 do//先执行一次,再判断。 { weChatPermissionInsert.PERMISSION_ID = Guid.NewGuid().ToString(); }while (dapper.Set <MED_WECHAT_PERMISSIONS>().Single(d => d.PERMISSION_ID == weChatPermissionInsert.PERMISSION_ID) != null); weChatPermissionInsert.ROLE_NAME = JsonConvert.SerializeObject(roleList); weChatPermissionInsert.PLAT_NAME = "麻醉微信公众号"; weChatPermissionInsert.PERMISSION_NAME = JsonConvert.SerializeObject(menuList); int count = dapper.Set <MED_WECHAT_PERMISSIONS>().Insert(weChatPermissionInsert) ? 1 : 0; if (count == 1) { //更新用户表 权限ID weChatUser.PERMISSION_ID = weChatPermissionInsert.PERMISSION_ID; result = dapper.Set <MED_WECHAT_USERS>().Update(weChatUser) > 0 ? 1 : 0; } } } } dapper.SaveChanges(); } catch (Exception ex) { Logger.Error("保存用户数据SaveWeChatUsersPermission:", ex); } return(result); }