Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }