Пример #1
0
 public bool SaveOrUpdate(Base_User data)
 {
     try
     {
         CommonDao.SaveOrUpdate(data);
         return true;
     }
     catch (Exception e)
     {
         Log.Error("用户数据编辑", e);
         return false;
     }
 }
Пример #2
0
        public ActionResult <AjaxResult> SaveData(Base_User theData, string newPwd, string roleIdsJson)
        {
            AjaxResult res;

            if (!newPwd.IsNullOrEmpty())
            {
                theData.Password = newPwd.ToMD5String();
            }
            var roleIds = roleIdsJson?.ToList <string>() ?? new List <string>();

            if (theData.Id.IsNullOrEmpty())
            {
                theData.InitEntity();

                res = _userBus.AddData(theData, roleIds);
            }
            else
            {
                res = _userBus.UpdateData(theData, roleIds);
            }

            return(JsonContent(res.ToJson()));
        }
        public async Task PressTest()
        {
            Base_User base_User = new Base_User
            {
                Id           = Guid.NewGuid().ToString(),
                Birthday     = DateTime.Now,
                CreateTime   = DateTime.Now,
                CreatorId    = Guid.NewGuid().ToString(),
                DepartmentId = Guid.NewGuid().ToString(),
                Password     = Guid.NewGuid().ToString(),
                RealName     = Guid.NewGuid().ToString(),
                Sex          = Sex.Man,
                UserName     = Guid.NewGuid().ToString()
            };

            await _repository.InsertAsync(base_User);

            await _repository.UpdateAsync(base_User);

            await _repository.GetIQueryable <Base_User>().Where(x => x.Id == base_User.Id).FirstOrDefaultAsync();

            await _repository.DeleteAsync(base_User);
        }
Пример #4
0
        static void Main(string[] args)
        {
            //IRepository db1 = DbFactory.GetRepository("oracle", DatabaseType.Oracle);
            //IRepository db2 = DbFactory.GetRepository("oracle2", DatabaseType.Oracle);
            //var list = db1.GetList<Base_User>();
            //var list2 = db2.GetList<Base_User>();
            var db = DbFactory.GetRepository();

            db.HandleSqlLog = Console.WriteLine;
            string tableName  = "Base_User1";
            var    typeConfig = TypeBuilderHelper.GetConfig(typeof(Base_User));

            typeConfig.FullName = tableName;
            typeConfig.Attributes[0].ConstructorArgs[0] = tableName;
            var type       = TypeBuilderHelper.BuildType(typeConfig);
            var type2      = TypeBuilderHelper.BuildType(typeConfig);
            var properties = type.GetProperties();

            Console.WriteLine(type == type2);
            Base_User base_User = new Base_User
            {
                Id       = GuidHelper.GenerateKey(),
                UserId   = GuidHelper.GenerateKey(),
                UserName = GuidHelper.GenerateKey()
            };
            Base_User base_User2 = new Base_User
            {
                Id       = GuidHelper.GenerateKey(),
                UserId   = GuidHelper.GenerateKey(),
                UserName = GuidHelper.GenerateKey()
            };

            db.Insert(base_User.ToJson().ToObject(type));
            db.Insert(base_User2.ChangeType(type2));
            Console.WriteLine("完成");
            Console.ReadLine();
        }
Пример #5
0
        /// <summary>
        /// 私有方法,获取当前用户的方法数据
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        private List <Base_Menu> getMyCategories(Base_User user)
        {
            var list = _BaseMenusService.getAll();

            if (user == null)
            {
                return(null);
            }
            if (user.IsAdmin)
            {
                return(list);
            }

            //获取权限数据
            var userRoles = _BaseUserRoleService.getAll();

            if (userRoles == null || !userRoles.Any())
            {
                return(null);
            }
            var roleIds        = userRoles.Where(o => o.UserId == user.Id).Select(x => x.RoleId).Distinct().ToList();
            var permissionList = _BaseRolePermissionService.getAll();

            if (permissionList == null || !permissionList.Any())
            {
                return(null);
            }
            var categoryIds = permissionList.Where(o => roleIds.Contains(o.RoleId)).Select(x => x.MenuId).Distinct().ToList();

            if (!categoryIds.Any())
            {
                return(null);
            }
            list = list.Where(o => categoryIds.Contains(o.Id)).ToList();
            return(list);
        }
        public ActionResult SaveData(Base_SysNavigation theData)
        {
            string msg = string.Empty;

            if (theData.Id.IsNullOrEmpty())
            {
                Base_User base_User = CurrentUserHelper.GetCurrentUserInfo();
                _base_SysNavigationBusiness.AddData(theData, base_User);
                msg = "添加成功!";
            }
            else
            {
                _base_SysNavigationBusiness.UpdateData(theData);
                msg = "修改成功!";
            }

            return(Ok(new AjaxResult
            {
                Success = true,
                Msg = msg,
                Data = null,
                ErrorCode = 0
            }));
        }
Пример #7
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="theData">保存的数据</param>
        public ActionResult SaveData(Base_User theData, string Pwd, string RoleIdList)
        {
            if (!Pwd.IsNullOrEmpty())
            {
                theData.Password = Pwd.ToMD5String();
            }
            var roleIdList = RoleIdList.ToList <string>();

            if (theData.Id.IsNullOrEmpty())
            {
                theData.Id     = Guid.NewGuid().ToSequentialGuid();
                theData.UserId = Guid.NewGuid().ToSequentialGuid();

                _base_UserBusiness.AddData(theData);
            }
            else
            {
                _base_UserBusiness.UpdateData(theData);
            }

            _base_UserBusiness.SetUserRole(theData.UserId, roleIdList);

            return(Success());
        }
Пример #8
0
 protected void DotNetCustomCalDotNetack_CustomCalDotNetack(object sender, Controls.CustomCalDotNetack.DotNetCustomCalDotNetack.CustomCalDotNetackEventArgs e)
 {
     string args = Request["fguid"];
     List = new List<Base_User>();
     if (string.IsNullOrEmpty(args))
     {
         List.Add(new Base_User { Fguid = User.Userid, Password = ctlNewPassword.Text });
     }
     else
     {
         string[] fguids = args.Split(',');
         Base_User data;
         foreach (var item in fguids)
         {
             data = new Base_User();
             data.Fguid = item;
             data.Password = ctlNewPassword.Text;
             List.Add(data);
         }
     }
     _presenter = new PasswordPresenter(this);
     bool result = _presenter.ChangePassword();
     DotNetCustomCalDotNetack.CalDotNetackResult.Result = result.ToString();
 }
Пример #9
0
        /// <summary>
        /// 人脸搜索
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public Result <int> SearchUserFace(SignFaceAI model)
        {
            BasicDataContext    basedb    = new BasicDataContext();
            BusinessDataContext busdb     = new BusinessDataContext();
            Result <int>        resultObj = new Result <int>();

            resultObj.Data = -1;
            try
            {
                //查询用户是否注册人脸信息
                var userFaceList = DataOperateBusiness <EPM_AIUserFace> .Get(busdb).GetList(t => t.UserId == model.UserId);

                if (!userFaceList.Any())
                {
                    throw new Exception("您还没有注册人脸识别信息!");
                }
                else
                {
                    var    imageType   = "BASE64";
                    var    groupIdList = "group1";
                    string control     = "LOW";
                    model.Image = model.Image.Substring(model.Image.IndexOf(",") + 1);      //将‘,’以前的多余字符串删除
                    var options = new Dictionary <string, object> {
                        { "quality_control", control },
                        { "liveness_control", control },
                        { "user_id", model.UserId.ToString() }
                    };
                    //签到表
                    Epm_SignInformation modelSign = new Epm_SignInformation();
                    //人脸日志表
                    EPM_FaceOperateLog faceLog   = new EPM_FaceOperateLog();
                    Base_User          userModel = DataOperateBasic <Base_User> .Get(basedb).GetModel(model.UserId.Value);

                    List <Epm_ProjectCompany> proComList = DataOperateBusiness <Epm_ProjectCompany> .Get(busdb).GetList(t => t.ProjectId == model.ProjectId && (t.PMId == model.UserId || t.LinkManId == model.UserId || t.SafeManId == model.UserId)).ToList();

                    string type = "";
                    if (proComList.Any())
                    {
                        type = string.Join(",", proComList.Select(t => t.Type));
                    }

                    modelSign.userId         = model.UserId;
                    modelSign.userName       = userModel.UserName;
                    modelSign.projectId      = model.ProjectId;
                    modelSign.projectName    = model.ProjectName;
                    modelSign.Latitude       = model.Latitude;
                    modelSign.Longitude      = model.Longitude;
                    modelSign.gasstationName = model.OilStationName;
                    modelSign.jobInfo        = userModel.Post ?? "";
                    modelSign.type           = type;
                    modelSign.picStrength    = model.Image;
                    modelSign.SignTime       = DateTime.Now;

                    //日志
                    var requestJson = new
                    {
                        imageType = imageType,
                        groupId   = groupIdList,
                        options   = new
                        {
                            quality_control  = control,
                            liveness_control = control,
                            user_id          = model.UserId
                        }
                    };
                    faceLog.ModelId     = modelSign.Id;
                    faceLog.APIType     = FaceOperate.Search.ToString();
                    faceLog.RequestJson = requestJson.ToString();

                    JObject result = new JObject();
                    Face    client = GetFacaClient();
                    try
                    {
                        // 带参数调用人脸识别
                        result = client.Search(model.Image, imageType, groupIdList, options);
                    }
                    catch (Exception)
                    {
                        modelSign.SignResult = SignRes.Other.ToString();
                    }
                    if (result["error_code"].ToString() == "0" && result["error_msg"].ToString() == "SUCCESS")
                    {
                        var result_list = Newtonsoft.Json.JsonConvert.DeserializeObject(result["result"].ToString()) as JObject;
                        var user_list   = result_list["user_list"];
                        var Obj         = JArray.Parse(user_list.ToString());
                        foreach (var item in Obj)
                        {
                            //80分以上可以判断为同一人,此分值对应万分之一误识率
                            var score = Convert.ToInt32(item["score"]);
                            if (score > 80)
                            {
                                modelSign.SignResult = SignRes.Success.ToString();
                                faceLog.IsSuccess    = true;
                                resultObj.Data       = 1;
                                resultObj.Flag       = EResultFlag.Success;
                            }
                            else
                            {
                                modelSign.SignResult = SignRes.NoFace.ToString();
                                faceLog.IsSuccess    = false;
                            }
                        }
                    }
                    else
                    {
                        modelSign.SignResult = SignRes.Fail.ToString();
                    }

                    faceLog.ResponseJson = result.ToString();
                    faceLog = SetCurrentUser(faceLog);

                    DataOperateBusiness <EPM_FaceOperateLog> .Get(busdb).Add(faceLog);

                    var rows = DataOperateBusiness <Epm_SignInformation> .Get(busdb).Add(modelSign);

                    if (rows > 0)
                    {
                        resultObj.Flag = EResultFlag.Success;
                    }
                }
            }
            catch (Exception ex)
            {
                resultObj.Data      = -1;
                resultObj.Flag      = EResultFlag.Failure;
                resultObj.Exception = new ExceptionEx(ex, "SearchUserFace");
            }
            finally
            {
                if (basedb.Database.Connection.State != ConnectionState.Closed)
                {
                    basedb.Database.Connection.Close();
                    basedb.Database.Connection.Dispose();
                }
                if (busdb.Database.Connection.State != ConnectionState.Closed)
                {
                    busdb.Database.Connection.Close();
                    busdb.Database.Connection.Dispose();
                }
            }
            return(resultObj);
        }
Пример #10
0
        //获取登录数据
        public Base_User Select(Base_User user)
        {
            Base_User list = helper.GetLoginData <Base_User>(user.User_Name, user.User_Pwd).FirstOrDefault();

            return(list);
        }
Пример #11
0
 public int Delete(Base_User user)
 {
     return(helper.SingerAndBatchDeleteTable("Dele_Table", "Base_User", "User_ID", user.User_ID.ToString()));
 }
Пример #12
0
        //创建用户
        public int Add(Base_User user)
        {
            int h = helper.InsertData(user);

            return(h);
        }
Пример #13
0
 //查询登录
 public Base_User Select(Base_User user)
 {
     return(login.Select(user));
 }
Пример #14
0
 /// <summary>
 /// 添加用户
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public Result <int> AddUser(Base_User model, List <Base_Files> fileList)
 {
     return(base.Channel.AddUser(model, fileList));
 }
Пример #15
0
        /// <summary>
        ///  根据用户名获取用户信息
        /// </summary>
        /// <param name="UserName"></param>
        /// <returns></returns>
        public Base_User getUserInfoByUserName(string UserName)
        {
            Base_User getSingle = dbSqlClent.Queryable <Base_User>().Where(model => model.UserId == UserName).Single();

            return(getSingle);
        }
Пример #16
0
 //授权添加
 public int Add(Base_User user)
 {
     return(login.Add(user));
 }
Пример #17
0
        /// <summary>
        /// 登录验证
        /// </summary>
        /// <param name="username">用户名</param>
        /// <returns></returns>
        public UserEntity CheckLogin(string username)
        {
            var user = Base_User.SingleOrDefault("where (Account=@0 or Mobile=@0 or Email=@0)", username);

            return(EntityConvertTools.CopyToModel <Base_User, UserEntity>(user, null));
        }
Пример #18
0
        /// <summary>
        /// 用户实体
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <returns></returns>
        public UserEntity GetEntity(string keyValue)
        {
            var user = Base_User.SingleOrDefault("where UserId=@0", keyValue);

            return(EntityConvertTools.CopyToModel <Base_User, UserEntity>(user, null));
        }
Пример #19
0
        public static void init()
        {
            var db = CreateDBInstance.GetInstance();

            var updateObj = new Base_User()
            {
                Id = 1, UserId = "lxsh", DepartmentID = "0", Birthday = Convert.ToDateTime("2017-05-21 09:56:12.610")
            };
            var updateObjs = new List <Base_User>()
            {
                updateObj, new Base_User()
                {
                    Id = 2, UserId = "sun", DepartmentID = "0"
                }
            }.ToArray();
            //update reutrn Update Count
            var t1 = db.Updateable(updateObj).ExecuteCommand();

            //Only  update  Name
            updateObj = new Base_User()
            {
                Id = 1, UserId = "admin", Sex = 1, RealName = "李飞", DepartmentID = "10", Birthday = Convert.ToDateTime("2018-05-21 09:56:12.610")
            };
            var t3   = db.Updateable(updateObj).UpdateColumns(it => new { it.Sex, it.RealName }).ExecuteCommand();
            var t3_1 = db.Updateable(updateObj).UpdateColumns(it => it == "DepartmentID").ExecuteCommand();


            //Ignore  Name and TestId
            var t4 = db.Updateable(updateObj).IgnoreColumns(it => new { it.UserName, it.Id }).ExecuteCommand();

            //Ignore  Name and TestId
            var t5 = db.Updateable(updateObj).IgnoreColumns(it => it == "UserName" || it == "Id").With(SqlWith.UpdLock).ExecuteCommand();


            ////Use Lock
            //var t6 = db.Updateable(updateObj).With(SqlWith.UpdLock).ExecuteCommand();

            ////update List<T>
            //var t7 = db.Updateable(updateObjs).ExecuteCommand();

            ////Re Set Value
            //var t8 = db.Updateable(updateObj)
            //    .ReSetValue(it => it.Name == (it.Name + 1)).ExecuteCommand();

            ////Where By Expression
            //var t9 = db.Updateable(updateObj).Where(it => it.Id == 1).ExecuteCommand();

            ////Update By Expression  Where By Expression
            //var t10 = db.Updateable<Student>()
            //    .UpdateColumns(it => new Student() { Name = "a", CreateTime = DateTime.Now })
            //    .Where(it => it.Id == 11).ExecuteCommand();

            ////Rename
            //db.Updateable<School>().AS("Student").UpdateColumns(it => new School() { Name = "jack" }).Where(it => it.Id == 1).ExecuteCommand();
            ////Update Student set Name='jack' Where Id=1

            ////Column is null no update
            //db.Updateable(updateObj).Where(true).ExecuteCommand();

            ////sql
            //db.Updateable(updateObj).Where("id=@x", new { x = "1" }).ExecuteCommand();
            //db.Updateable(updateObj).Where("id", "=", 1).ExecuteCommand();
            //var t12 = db.Updateable<School>().AS("Student").UpdateColumns(it => new School() { Name = "jack" }).Where(it => it.Id == 1).ExecuteCommandAsync();
            //t12.Wait();

            ////update one columns
            //var count = db.Updateable<Student>().UpdateColumns(it => it.SchoolId == it.SchoolId).Where(it => it.Id == it.Id + 1).ExecuteCommand();


            ////update one columns
            //var count2 = db.Updateable<Student>().UpdateColumns(it => it.SchoolId == it.SchoolId + 1).Where(it => it.Id == it.Id + 1).ExecuteCommand();

            //var dt = new Dictionary<string, object>();
            //dt.Add("id", 1);
            //dt.Add("name", null);
            //dt.Add("createTime", DateTime.Now);
            //var t66 = db.Updateable(dt).AS("student").With(SqlWith.UpdLock).ExecuteCommand();
        }
Пример #20
0
        /// <summary>
        /// 执行登录
        /// </summary>
        /// <param name="user"></param>
        /// <param name="pwd">OCeSdjE6K7zhDnoxh07rqg==,是111111的aes加密结果,DF57306D30FED672是平台111111加密结果</param>
        /// <param name="type"></param>
        /// <param name="token">登录成功输出token</param>
        /// <returns></returns>
        private bool login(string user, string pwd, int sys, out string token)
        {
            //移动端过来的密码先通过通用解密,再通过c#加密
            pwd   = APIAESTool.AesDecrypt(pwd);
            pwd   = DesTool.DesEncrypt(pwd);
            token = "";

            #region 调用基础平台验证用户账号密码
            if (IsOpenHbLogin == "1")
            {
                string         url     = LoginUrl + "?RequestParam={%22Param%22:{%22envRoot%22:{%22Product%22:%22BIM%22},%22paramRoot%22:{%22UserName%22:%22" + user + "%22,%22UserPass%22:%22" + pwd + "%22}}}";
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                request.Method      = "GET";
                request.ContentType = "multipart/form-data";

                string responseStr = string.Empty;
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
                    responseStr = reader.ReadToEnd().ToString();
                    reader.Close();

                    LoginResult result = null;
                    if (!string.IsNullOrEmpty(responseStr))
                    {
                        result = JsonConvert.DeserializeObject <LoginResult>(responseStr);//将文件信息json字符
                    }

                    if (result == null || result.errorCode != "0")
                    {
                        return(false);
                    }
                }
            }
            #endregion

            //获取数据库用户信息
            Result <UserView> login = new Result <UserView>();
            using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx("")))
            {
                login = proxy.Login(user, pwd, IsOpenHbLogin);
            }
            if (login.Flag == 0 && login.Data != null)
            {
                string tempToken = sys == 1 ? login.Data.AndroidToken : login.Data.IosToken;//模拟用户数据库中的token
                //先去数据库查询该用户是否有token,没有则生成token
                if (!string.IsNullOrEmpty(tempToken))
                {
                    DateTime expiryTime = sys == 1 ? login.Data.AndroidTokenTime.Value : login.Data.IosTokenTime.Value;//模拟用户数据库中的token过期时间
                    //如果用户有token,检查是否在有效期
                    if (DateTime.Now <= expiryTime)
                    {
                        token = tempToken;
                    }
                }
                //无token或不在有效期则生成新token
                if (string.IsNullOrEmpty(token))
                {
                    token = CreateToken(sys);
                }

                using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(login.Data)))
                {
                    Result <Base_User> baseUser = proxy.GetUserModel(login.Data.UserId);
                    Base_User          u        = baseUser.Data;
                    if (sys == 1)
                    {
                        u.AndroidToken     = token;
                        u.AndroidTokenTime = DateTime.Now.AddDays(7);
                    }
                    else
                    {
                        u.IosToken     = token;
                        u.IosTokenTime = DateTime.Now.AddDays(7);
                    }
                    var xxx = proxy.UpdateUser(u);
                }
                //TODO:因目前的token只是一个验证凭据,本身不附带业务信息,所以加密需求不强,但一定要使用https连接;如后期有扩展token需求,需要做加密或签名操作
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #21
0
        /// <summary>
        /// 登录验证
        /// </summary>
        /// <param name="Account">账户</param>
        /// <param name="Password">密码</param>
        /// <returns></returns>
        public ActionResult CheckLogin(string Account, string Password, string Token)
        {
            string Msg = "";

            try
            {
                IPScanerHelper objScan   = new IPScanerHelper();
                string         IPAddress = NetHelper.GetIPAddress();
                objScan.IP       = IPAddress;
                objScan.DataPath = Server.MapPath("~/Resource/IPScaner/QQWry.Dat");
                string IPAddressName = objScan.IPLocation();
                string outmsg        = "";
                VerifyIPAddress(Account, IPAddress, IPAddressName, Token);
                //系统管理
                if (Account == ConfigHelper.AppSettings("CurrentUserName"))
                {
                    if (ConfigHelper.AppSettings("CurrentPassword") == Password)
                    {
                        IManageUser imanageuser = new IManageUser();
                        imanageuser.UserId        = "System";
                        imanageuser.Account       = "System";
                        imanageuser.UserName      = "******";
                        imanageuser.Gender        = "男";
                        imanageuser.InnerUser     = 1;
                        imanageuser.Code          = "System";
                        imanageuser.LogTime       = DateTime.Now;
                        imanageuser.CompanyId     = "系统";
                        imanageuser.DepartmentId  = "系统";
                        imanageuser.IPAddress     = IPAddress;
                        imanageuser.IPAddressName = IPAddressName;
                        imanageuser.IsSystem      = true;
                        ManageProvider.Provider.AddCurrent(imanageuser);
                        //对在线人数全局变量进行加1处理
                        HttpContext rq = System.Web.HttpContext.Current;
                        rq.Application["OnLineCount"] = (int)rq.Application["OnLineCount"] + 1;
                        Msg = "3";//验证成功
                        Base_SysLogBll.Instance.WriteLog(Account, OperationType.Login, "1", "登陆成功、IP所在城市:" + IPAddressName);
                    }
                    else
                    {
                        return(Content("4"));
                    }
                }
                else
                {
                    Base_User base_user = base_userbll.UserLogin(Account, Password, out outmsg);
                    switch (outmsg)
                    {
                    case "-1":          //账户不存在
                        Msg = "-1";
                        Base_SysLogBll.Instance.WriteLog(Account, OperationType.Login, "-1", "账户不存在、IP所在城市:" + IPAddressName);
                        break;

                    case "lock":        //账户锁定
                        Msg = "2";
                        Base_SysLogBll.Instance.WriteLog(Account, OperationType.Login, "-1", "账户锁定、IP所在城市:" + IPAddressName);
                        break;

                    case "error":       //密码错误
                        Msg = "4";
                        Base_SysLogBll.Instance.WriteLog(Account, OperationType.Login, "-1", "密码错误、IP所在城市:" + IPAddressName);
                        break;

                    case "succeed":     //验证成功
                        IManageUser imanageuser = new IManageUser();
                        imanageuser.UserId        = base_user.UserId;
                        imanageuser.InnerUser     = base_user.InnerUser ?? 1;
                        imanageuser.Account       = base_user.Account;
                        imanageuser.UserName      = base_user.RealName;
                        imanageuser.Gender        = base_user.Gender;
                        imanageuser.Password      = base_user.Password;
                        imanageuser.Code          = base_user.Code;
                        imanageuser.Secretkey     = base_user.Secretkey;
                        imanageuser.LogTime       = DateTime.Now;
                        imanageuser.CompanyId     = base_user.CompanyId;
                        imanageuser.DepartmentId  = base_user.DepartmentId;
                        imanageuser.ObjectId      = base_objectuserrelationbll.GetObjectId(imanageuser.UserId);
                        imanageuser.IPAddress     = IPAddress;
                        imanageuser.IPAddressName = IPAddressName;
                        imanageuser.IsSystem      = false;
                        ManageProvider.Provider.AddCurrent(imanageuser);
                        //对在线人数全局变量进行加1处理
                        HttpContext rq = System.Web.HttpContext.Current;
                        rq.Application["OnLineCount"] = (int)rq.Application["OnLineCount"] + 1;
                        Msg = "3";    //验证成功
                        Base_SysLogBll.Instance.WriteLog(Account, OperationType.Login, "1", "登陆成功、IP所在城市:" + IPAddressName);
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Msg = ex.Message;
            }
            return(Content(Msg));
        }
Пример #22
0
        // POST: /Login/
        public JsonResult Login(JObject data)
        {
            string UserCode = data.Value <string>("user_code");
            string Password = data.Value <string>("password");
            string IP       = data.Value <string>("ip");
            string City     = data.Value <string>("city");

            data["user_code"] = UserCode;
            data["password"]  = Md5Util.MD5(Password);
            data["LoginIP"]   = IP;
            data["LoginCity"] = City;

            AppConnectionString = ConfigurationManager.ConnectionStrings["app"].ConnectionString;
            DataSet dt = base.RunProcedureDataSet(data, "vdp_sys_Login", "app");
            //if (dt.Rows.Count > 0)
            var ResultID  = dt.Tables[0].Rows[0]["result_id"];
            var ResultMsg = (string)dt.Tables[0].Rows[0]["result_msg"];

            //var loginResult = Base_UserService.Instance.Login(UserCode, Md5Util.MD5(Password), IP, City);
            if (ResultID.ToString() == "0")
            {
                ////登录成功后,查询当前用户数据
                //var user = Base_UserService.Instance.GetEntity(ParamQuery.Instance()
                //                .AndWhere("UserCode", UserCode).AndWhere("Password", Md5Util.MD5(Password))
                //                .AndWhere("Enabled", 1).AndWhere("IsAudit", 1));
                //user.DepartmentCode = "";

                //调用框架中的登录机制
                Base_User b = new Base_User();
                b.city         = "";// (string)dt.Rows[0]["city"];
                b.RealName     = (string)dt.Tables[1].Rows[0]["real_name"];
                b.DepartmentID = (int)dt.Tables[1].Rows[0]["department_id"];
                b.UserId       = (int)dt.Tables[1].Rows[0]["id"];
                b.UserCode     = (String)dt.Tables[1].Rows[0]["user_code"];

                b.RoleIDs        = (string)dt.Tables[1].Rows[0]["role_ids"];
                b.DepartmentCode = ((int)dt.Tables[1].Rows[0]["department_id"]).ToString();
                var loginer = new BaseLoginer
                {
                    UserId   = (int)dt.Tables[1].Rows[0]["id"],           //. user.UserId,
                    UserCode = (string)dt.Tables[1].Rows[0]["user_code"], // user.UserCode,
                    //  Password = (string)dt.Tables[1].Rows[0]["Password"],// user.Password,
                    UserName = (string)dt.Tables[1].Rows[0]["real_name"], // user.RealName,
                    RoleIDs  = (string)dt.Tables[1].Rows[0]["role_ids"],
                    //  DepartmentCode =((int)dt.Tables[1].Rows[0]["DepartmentID"]).ToString(),
                    Data    = b,
                    IsAdmin = false// user.UserType == 1  //根据用户UserType判断。用户类型:0=未定义 1=超级管理员 2=普通用户 3=其他
                };


                Session["logininfo"] = "";


                //读取配置登录默认失效时长:小时
                var effectiveHours = Convert.ToInt32(60 * ConfigUtil.GetConfigDecimal("LoginEffectiveHours"));


                //执行web登录
                FormsAuth.SignIn(loginer.UserId.ToString(), loginer, effectiveHours);
                LogHelper.Write("登录成功!用户:" + loginer.UserName + ",账号:" + UserCode + ",密码:---");
                //设置服务基类中,当前登录用户信息
                //this.CurrentBaseLoginer = loginer;
                //登陆后处理
                //更新用户登陆次数及时间(存储过程登录,数据库已经处理)
                //添加登录日志
                string userinfo = string.Format("用户姓名:{0},用户编号:{1},登录账号:{2},登录密码:{3}",
                                                loginer.UserName, loginer.UserId, loginer.UserCode, "---" /*loginer.Password*/);
                // Base_SysLogService.Instance.AddLoginLog(userinfo, IP, City);
                //更新其它业务
            }
            else
            {
                LogHelper.Write("登录失败!账号:" + UserCode + ",密码:" + Password + "。原因:" + ResultMsg);
            }
            return(Json(new { s = ResultID, message = ResultMsg }, JsonRequestBehavior.DenyGet));
        }
Пример #23
0
 public int DeleteUser(Base_User user)
 {
     user.DeleteMark = 1;
     return(dbUtil._myDb.Update(user));
 }
Пример #24
0
        /// <summary>
        /// 保存用户表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="userEntity">用户实体</param>
        /// <returns></returns>
        public string SaveForm(string keyValue, UserEntity userEntity)
        {
            try
            {
                using (var tran = QSDMS_SQLDB.GetInstance().GetTransaction())
                {
                    #region 基本信息
                    if (!string.IsNullOrEmpty(keyValue))
                    {
                        userEntity.Modify(keyValue);
                        userEntity.Password = null;
                        Base_User model = Base_User.SingleOrDefault("where UserId=@0", keyValue);
                        model        = EntityConvertTools.CopyToModel <UserEntity, Base_User>(userEntity, model);
                        model.UserId = keyValue;
                        model.Update();
                    }
                    else
                    {
                        userEntity.Create();
                        keyValue               = userEntity.UserId;
                        userEntity.Secretkey   = Md5Helper.MD5(CommonHelper.CreateNo(), 16).ToLower();
                        userEntity.Password    = Md5Helper.MD5(DESEncrypt.Encrypt(userEntity.Password, userEntity.Secretkey).ToLower(), 32).ToLower();
                        userEntity.EnabledMark = 1;
                        userEntity.DeleteMark  = 0;
                        Base_User model = EntityConvertTools.CopyToModel <UserEntity, Base_User>(userEntity, null);
                        model.Insert();
                    }
                    #endregion

                    #region 默认添加 角色、岗位、职位
                    Base_UserRelation.Delete("where UserId=@0 and IsDefault=1", userEntity.UserId);
                    List <UserRelationEntity> userRelationEntitys = new List <UserRelationEntity>();
                    //角色 这里多个角色逻辑处理
                    //if (!string.IsNullOrEmpty(userEntity.RoleId))
                    //{
                    //    userRelationEntitys.Add(new UserRelationEntity
                    //    {
                    //        Category = (int)QSDMS.Model.Enums.UserCategoryEnum.角色,
                    //        UserRelationId = Guid.NewGuid().ToString(),
                    //        UserId = userEntity.UserId,
                    //        ObjectId = userEntity.RoleId,
                    //        CreateDate = DateTime.Now,
                    //        CreateUserId = OperatorProvider.Provider.Current().UserId,
                    //        CreateUserName = OperatorProvider.Provider.Current().UserName,
                    //        IsDefault = 1,
                    //    });
                    //}
                    //一个用户多个角色
                    if (!string.IsNullOrEmpty(userEntity.RoleId))
                    {
                        Base_UserRole.Delete("where UserId=@0", userEntity.UserId);
                        string[] roles = userEntity.RoleId.Split(',');
                        for (int i = 0; i < roles.Length; i++)
                        {
                            //用户角色表
                            string roleid   = roles[i];
                            var    userrole = new UserRoleEntity();
                            userrole.UserRoleId = Util.Util.NewUpperGuid();
                            userrole.UserId     = userEntity.UserId;
                            userrole.RoleId     = roleid.Split('|')[0];
                            userrole.RoleName   = roleid.Split('|')[1];
                            Base_UserRole model = EntityConvertTools.CopyToModel <UserRoleEntity, Base_UserRole>(userrole, null);
                            model.Insert();

                            //用户关系表
                            userRelationEntitys.Add(new UserRelationEntity
                            {
                                Category       = (int)QSDMS.Model.Enums.UserCategoryEnum.角色,
                                UserRelationId = Guid.NewGuid().ToString(),
                                UserId         = userEntity.UserId,
                                ObjectId       = userrole.RoleId,
                                CreateDate     = DateTime.Now,
                                CreateUserId   = OperatorProvider.Provider.Current().UserId,
                                CreateUserName = OperatorProvider.Provider.Current().UserName,
                                IsDefault      = 1,
                            });
                        }
                    }
                    //岗位
                    if (!string.IsNullOrEmpty(userEntity.DutyId))
                    {
                        userRelationEntitys.Add(new UserRelationEntity
                        {
                            Category       = (int)QSDMS.Model.Enums.UserCategoryEnum.岗位,
                            UserRelationId = Guid.NewGuid().ToString(),
                            UserId         = userEntity.UserId,
                            ObjectId       = userEntity.DutyId,
                            CreateDate     = DateTime.Now,
                            CreateUserId   = OperatorProvider.Provider.Current().UserId,
                            CreateUserName = OperatorProvider.Provider.Current().UserName,
                            IsDefault      = 1,
                        });
                    }
                    //职位
                    if (!string.IsNullOrEmpty(userEntity.PostId))
                    {
                        userRelationEntitys.Add(new UserRelationEntity
                        {
                            Category       = (int)QSDMS.Model.Enums.UserCategoryEnum.职位,
                            UserRelationId = Guid.NewGuid().ToString(),
                            UserId         = userEntity.UserId,
                            ObjectId       = userEntity.PostId,
                            CreateDate     = DateTime.Now,
                            CreateUserId   = OperatorProvider.Provider.Current().UserId,
                            CreateUserName = OperatorProvider.Provider.Current().UserName,
                            IsDefault      = 1,
                        });
                    }
                    //插入用户关系表
                    foreach (UserRelationEntity userRelationItem in userRelationEntitys)
                    {
                        Base_UserRelation model = EntityConvertTools.CopyToModel <UserRelationEntity, Base_UserRelation>(userRelationItem, null);
                        model.Insert();
                    }
                    #endregion

                    Base_UserAuthorize.Delete("where UserId=@0", userEntity.UserId);
                    //插入用户对应数据权限
                    if (!string.IsNullOrEmpty(userEntity.AuthorizeDataId))
                    {
                        string[] uthorizeDatas = userEntity.AuthorizeDataId.Split(',');
                        for (int i = 0; i < uthorizeDatas.Length; i++)
                        {
                            string objectid      = uthorizeDatas[i];
                            var    userAuthorize = new UserAuthorizeEntity();
                            userAuthorize.UserAuthorizeId = Util.Util.NewUpperGuid();
                            userAuthorize.UserId          = userEntity.UserId;
                            userAuthorize.ObjectId        = objectid.Split('|')[0];
                            userAuthorize.ObjectName      = objectid.Split('|')[1];
                            Base_UserAuthorize model = EntityConvertTools.CopyToModel <UserAuthorizeEntity, Base_UserAuthorize>(userAuthorize, null);
                            model.Insert();
                        }
                    }

                    tran.Complete();
                }
                return(keyValue);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #25
0
 public int Delete(Base_User user)
 {
     return(login.Delete(user));
 }
Пример #26
0
        /// <summary>
        /// 获得单前模块的单据编号如果没有定义规则就返回空
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="moduleId">模块ID</param>
        /// <returns>单据号</returns>
        public string GetBillCode(string userId, string moduleId)
        {
            IDatabase     database    = DataFactory.Database();
            DbTransaction isOpenTrans = database.BeginTrans();
            //获得模板ID
            string        billCode      = "";//单据号
            Base_User     base_user     = database.FindEntity <Base_User>(userId);
            Base_CodeRule base_coderule = Repository().FindEntity("ModuleId", moduleId);

            try
            {
                int nowSerious = 0;
                //取得流水号种子
                List <Base_CodeRuleSerious> base_coderuleseriouslist = database.FindList <Base_CodeRuleSerious>("CodeRuleId", base_coderule.CodeRuleId);
                //取得最大种子
                Base_CodeRuleSerious maxCodeRuleSerious = base_coderuleseriouslist.Find(delegate(Base_CodeRuleSerious p) { return(p.ValueType == "0" && p.UserId == null); });
                if (!string.IsNullOrEmpty(base_coderule.CodeRuleId))
                {
                    List <Base_CodeRuleDetail> base_coderuledetailList = database.FindList <Base_CodeRuleDetail>("CodeRuleId", base_coderule.CodeRuleId);
                    foreach (Base_CodeRuleDetail base_coderuledetail in base_coderuledetailList)
                    {
                        switch (base_coderuledetail.FullName)
                        {
                        //自定义项
                        case "0":
                            billCode = billCode + base_coderuledetail.FormatStr;
                            break;

                        //日期
                        case "1":
                            //日期字符串类型
                            billCode = billCode + DateTime.Now.ToString(base_coderuledetail.FormatStr);
                            //处理自动更新流水号
                            if (base_coderuledetail.AutoReset == 1)
                            {
                                //判断是否有流水号
                                if (maxCodeRuleSerious != null)
                                {
                                    //当上次更新时间跟本次日期不一致时重置流水号种子
                                    if (maxCodeRuleSerious.LastUpdateDate != DateTime.Now.ToString(base_coderuledetail.FormatStr))
                                    {
                                        maxCodeRuleSerious.LastUpdateDate = DateTime.Now.ToString(base_coderuledetail.FormatStr); //更新最后更新时间
                                        maxCodeRuleSerious.NowValue       = 1;                                                    //重置种子
                                        database.Update <Base_CodeRuleSerious>(maxCodeRuleSerious, isOpenTrans);
                                        //重置种子以后删除掉之前用户占用了的种子。
                                        StringBuilder deleteSql = new StringBuilder(string.Format("delete Base_CodeRuleSerious where CodeRuleId='{0} AND UserId IS NOT NULL '", base_coderule.CodeRuleId));
                                        database.ExecuteBySql(deleteSql, isOpenTrans);
                                    }
                                }
                            }
                            break;

                        //流水号
                        case "2":
                            //查找当前用户是否已有之前未用掉的种子
                            Base_CodeRuleSerious base_coderuleserious = base_coderuleseriouslist.Find(delegate(Base_CodeRuleSerious p) { return(p.UserId == userId && p.Enabled == 1); });
                            //如果没有就取当前最大的种子
                            if (base_coderuleserious == null)
                            {
                                //取得系统最大的种子
                                int maxSerious = (int)maxCodeRuleSerious.NowValue;
                                nowSerious           = maxSerious;
                                base_coderuleserious = new Base_CodeRuleSerious();
                                base_coderuleserious.Create();
                                base_coderuleserious.NowValue   = maxSerious;
                                base_coderuleserious.UserId     = userId;
                                base_coderuleserious.ValueType  = "1";
                                base_coderuleserious.Enabled    = 1;
                                base_coderuleserious.CodeRuleId = base_coderule.CodeRuleId;
                                database.Insert <Base_CodeRuleSerious>(base_coderuleserious, isOpenTrans);
                                //处理种子更新
                                maxCodeRuleSerious.NowValue += 1;    //种子自增
                                database.Update <Base_CodeRuleSerious>(maxCodeRuleSerious, isOpenTrans);
                            }
                            else
                            {
                                nowSerious = (int)base_coderuleserious.NowValue;
                            }
                            string seriousStr = new string('0', (int)(base_coderuledetail.FLength)) + nowSerious.ToString();
                            seriousStr = seriousStr.Substring(seriousStr.Length - (int)(base_coderuledetail.FLength));
                            billCode   = billCode + seriousStr;
                            break;

                        //部门
                        case "3":

                            Base_Department base_department = database.FindEntity <Base_Department>(base_user.DepartmentId);
                            billCode = billCode + base_coderuledetail.FormatStr;
                            if (base_coderuledetail.FormatStr == "code")
                            {
                                billCode = billCode + base_department.Code;
                            }
                            else
                            {
                                billCode = billCode + base_department.FullName;
                            }
                            break;

                        //公司
                        case "4":
                            Base_Company base_company = database.FindEntity <Base_Company>(base_user.CompanyId);
                            if (base_coderuledetail.FormatStr == "code")
                            {
                                billCode = billCode + base_company.Code;
                            }
                            else
                            {
                                billCode = billCode + base_company.FullName;
                            }
                            break;

                        //用户
                        case "5":
                            if (base_coderuledetail.FormatStr == "code")
                            {
                                billCode = billCode + base_user.Code;
                            }
                            else
                            {
                                billCode = billCode + base_user.Account;
                            }
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Base_SysLogBll.Instance.WriteLog("", OperationType.Other, "-1", string.Format("{0}在获取{1}单据编码时错误:", base_user.RealName, base_coderule.FullName) + ex.Message);
                database.Rollback();
                return(billCode);
            }
            database.Commit();
            return(billCode);
        }
Пример #27
0
 public int AddUser(Base_User user)
 {
     return(dbUtil._myDb.Insert(user));
 }
Пример #28
0
        public ActionResult SubmitUserForm(string KeyValue, Ho_PartnerUser model, string BuildFormJson)
        {
            IDatabase     database    = DataFactory.Database();
            DbTransaction isOpenTrans = database.BeginTrans();

            try
            {
                string Message = KeyValue == "" ? "新增成功。" : "编辑成功。";
                if (!string.IsNullOrEmpty(KeyValue))
                {
                    var userList = database.FindList <Base_User>(" and Account = '" + model.Account + "'");
                    if (model.UserRole == "运营商")//选择了运营商才添加
                    {
                        if (userList.Count < 1)
                        {
                            //如果添加运营商,则要往后台用户表添加一个帐号
                            var user = new Base_User()
                            {
                                Account      = model.Account,
                                Password     = "******",
                                RealName     = model.Name,
                                Mobile       = model.Account,
                                SortCode     = CommonHelper.GetInt(BaseFactory.BaseHelper().GetSortCode <Base_User>("SortCode")),
                                InnerUser    = 3,
                                DepartmentId = "运营商",
                                CompanyId    = KeyValue, //把用户编号记录
                                Code         = "bd548d5b-1783-4582-9007-bb5c87803679"
                            };
                            user.Create();
                            user.Password = model.Password;
                            database.Insert(user, isOpenTrans);
                            //权限分配-复制上级权限-bd548d5b-1783-4582-9007-bb5c87803679(此用户不能删除)
                            CopyUserRight("bd548d5b-1783-4582-9007-bb5c87803679", user.UserId, isOpenTrans);
                        }
                        else
                        {
                            //修改后台用户信息
                            userList[0].Account    = model.Account;
                            userList[0].RealName   = model.Name;
                            userList[0].ModifyDate = DateTime.Now;
                            database.Update(userList[0]);
                        }
                    }
                    else
                    {
                        if (userList.Count > 0)
                        {
                            //删除已有后台用户
                            database.Delete <Base_User>(userList[0].UserId);
                        }
                    }
                    model.Modify(KeyValue);

                    var IsOk = database.Update(model, isOpenTrans);
                    Base_SysLogBll.Instance.WriteLog(KeyValue, OperationType.Update, IsOk > 0 ? "成功" : "失败", "用户" + Message);
                }
                else //新建
                {
                    //检测手机号和身份证号的唯一性
                    var accountIsMobile = database.FindEntityByWhere <Ho_PartnerUser>(" and Account='" + model.Account + "'");
                    if (accountIsMobile != null && accountIsMobile.Number != null)
                    {
                        return(Content(new JsonMessage {
                            Success = false, Code = "1", Message = "手机号码已存在"
                        }.ToString()));
                    }
                    if (!string.IsNullOrEmpty(model.CardCode))
                    {
                        var accountIsCardCode = database.FindEntityByWhere <Ho_PartnerUser>(" and CardCode='" + model.CardCode + "'");
                        if (accountIsCardCode != null && accountIsCardCode.Number != null)
                        {
                            return(Content(new JsonMessage {
                                Success = false, Code = "1", Message = "身份证号码已存在"
                            }.ToString()));
                        }
                    }
                    model.Password = PasswordHash.CreateHash(model.Password);
                    model.Create();
                    var IsOk = database.Insert(model, isOpenTrans);
                    if (model.UserRole == "运营商")//选择了运营商才添加
                    {
                        //如果添加运营商,则要往后台用户表添加一个帐号
                        var user = new Base_User()
                        {
                            Account      = model.Account,
                            Password     = model.Password,
                            RealName     = model.Name,
                            Mobile       = model.Account,
                            SortCode     = CommonHelper.GetInt(BaseFactory.BaseHelper().GetSortCode <Base_User>("SortCode")),
                            InnerUser    = 3,
                            DepartmentId = "运营商",
                            CompanyId    = model.Number,
                            Code         = "bd548d5b-1783-4582-9007-bb5c87803679"
                        };
                        user.Create();
                        database.Insert(user, isOpenTrans);
                        //权限分配-复制上级权限-bd548d5b-1783-4582-9007-bb5c87803679(此用户不能删除)
                        CopyUserRight("bd548d5b-1783-4582-9007-bb5c87803679", user.UserId, isOpenTrans);
                    }
                    Base_SysLogBll.Instance.WriteLog(KeyValue, OperationType.Update, IsOk > 0 ? "成功" : "失败", "用户" + Message);
                }
                database.Commit();
                return(Content(new JsonMessage {
                    Success = true, Code = "1", Message = Message
                }.ToString()));
            }
            catch (Exception ex)
            {
                database.Rollback();
                return(Content(new JsonMessage {
                    Success = false, Code = "-1", Message = "操作失败:" + ex.Message
                }.ToString()));
            }
        }
Пример #29
0
 public int UpdateUser(Base_User user)
 {
     return(dbUtil._myDb.Update(user));
 }