Ejemplo n.º 1
0
        public async Task <BaseResponse> AddUserAsync(string Account, string GroupId, UserAddViewModel req)
        {
            var user = await _user.Find(a => a.Account == req.Account).FirstOrDefaultAsync();

            if (user != null)
            {
                return(new BaseResponse {
                    Success = false, Message = "已存在相同的账号"
                });
            }
            try
            {
                var um = _mapper.Map <UserModel>(req);
                um.Salt     = EncryptData.CreateRandom();
                um.Password = EncryptData.EncryptPassword(req.Password, um.Salt);
                um.Status   = UserStatus.Valid;
                um.Create   = Account;
                um.GroupId  = GroupId;
                await _user.AddAsync(um);

                _log.LogInformation($"添加标示为{um.Id}的用户成功");
                return(new HandleResponse <int> {
                    Success = true, Message = "添加用户成功", Key = um.Id
                });
            }
            catch (Exception ex)
            {
                _log.LogError($"添加用户失败,失败原因:{ex.Message}->{ex.StackTrace}->{ex.InnerException}");
                return(new BaseResponse {
                    Success = false, Message = "添加用户失败,请联系管理员"
                });
            }
        }
Ejemplo n.º 2
0
        public async Task <BaseResponse> AddGroupAsync(GroupAddViewModel req, string account)
        {
            //创建一个租户,连带创建该组织的一个账号,一个管理员角色
            BaseResponse rm = new BaseResponse();

            try
            {
                var gm = _mapper.Map <GroupModel>(req);
                gm.Id     = EncryptData.CreateUUID();
                gm.Create = account;
                string    salt     = EncryptData.CreateRandom();
                string    password = EncryptData.EncryptPassword(req.Password, salt);
                UserModel um       = new UserModel()
                {
                    Account    = req.Account,
                    Password   = password,
                    Salt       = salt,
                    CreateTime = DateTime.Now,
                    GroupId    = gm.Id,
                    //IsAdmin = true,
                    Status = Model.UserStatus.Valid,
                    Create = account
                };
                await _group.Add(gm, um);

                rm.Success = true;
                rm.Message = "添加组织成功";
                _log.LogInformation($"{account}添加组织{gm.GroupName}成功");
            }
            catch (Exception ex)
            {
                rm.Success = false;
                rm.Message = "添加组织失败,请联系管理员";// + ex.Message;
                _log.LogError($"{account}添加组织{req.Name}失败,失败原因:{ex.Message}->{ex.StackTrace}->{ex.InnerException}");
            }
            return(rm);
        }
Ejemplo n.º 3
0
        //用户注册
        public RegisterUserViewModel ReginsterUser(RegisterUserViewModel ruvm)
        {
            RegisterUserViewModel ruvmr = new RegisterUserViewModel();

            // return ruvmr;
            if (CheckUserAccount(ruvm.Account))
            {
                ruvmr.Success = false;
                ruvmr.Message = "此用户名已存在";
            }
            else
            {
                string strSalt = EncryptData.CreateRandom(4);
                ruvm.Password = EncryptData.EncryptPassword(ruvm.Password, strSalt);
                UserModel um = new UserModel()
                {
                    Account  = ruvm.Account,
                    Password = ruvm.Password,
                    UserName = ruvm.RealName,
                    Salt     = strSalt,
                    Valide   = 0
                };
                try
                {
                    ur.Add(um);
                    ruvmr.Success = true;
                    ruvmr.Message = "注册用户成功";
                }
                catch (Exception ex)
                {
                    ruvmr.Success = false;
                    ruvmr.Message = ex.Message;
                }
            }
            return(ruvmr);
        }
Ejemplo n.º 4
0
        public async Task <BaseResponse> UserRegisterAsync(UserRegisterViewModel req)
        {
            BaseResponse rm = new BaseResponse();

            try
            {
                var um = _mapper.Map <UserModel>(req);
                um.Salt     = EncryptData.CreateRandom();
                um.Password = EncryptData.EncryptPassword(req.Password, um.Salt);
                um.Status   = UserStatus.InActive;
                um.Create   = req.Account;
                await _user.AddAsync(um);

                rm.Success = true;
                rm.Message = "用户注册成功,请等待管理员审核";
            }
            catch (Exception ex)
            {
                rm.Success = false;
                rm.Message = "注册用户失败,请联系管理员";
                _log.LogError($"{req.Account}注册失败,失败原因{ex.InnerException + ex.Message}");
            }
            return(rm);
        }
Ejemplo n.º 5
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new HXCloudContext(serviceProvider.GetRequiredService <DbContextOptions <HXCloudContext> >()))
            {
                if (context.Groups.Any())
                {
                    return;
                }
                //添加种子文件
                #region 示例代码

                /*
                 * context.Movie.AddRange(
                 *  new Movie
                 *  {
                 *      Title = "When Harry Met Sally",
                 *      ReleaseDate = DateTime.Parse("1989-2-12"),
                 *      Genre = "Romantic Comedy",
                 *      Price = 7.99M
                 *  },
                 *  new Movie
                 *  {
                 *      Title = "Ghostbusters ",
                 *      ReleaseDate = DateTime.Parse("1984-3-13"),
                 *      Genre = "Comedy",
                 *      Price = 8.99M
                 *  },
                 *
                 *  new Movie
                 *  {
                 *      Title = "Ghostbusters 2",
                 *      ReleaseDate = DateTime.Parse("1986-2-23"),
                 *      Genre = "Comedy",
                 *      Price = 9.99M
                 *  },
                 *
                 *  new Movie
                 *  {
                 *      Title = "Rio Bravo",
                 *      ReleaseDate = DateTime.Parse("1959-4-15"),
                 *      Genre = "Western",
                 *      Price = 3.99M
                 *  }
                 *  );
                 */
                #endregion
                #region 添加组织
                context.Groups.Add(new GroupModel()
                {
                    GroupCode = "hx", GroupName = "合续", Id = groupid, Create = "test"
                });
                #endregion
                #region 添加角色
                var role = new RoleModel
                {
                    //Id = 1,
                    RoleName    = "Admin",
                    GroupId     = groupid,
                    Description = "租户管理员",
                    IsAdmin     = true
                };
                context.Roles.Add(role);
                #endregion
                #region 添加部门
                var dParent = new DepartmentModel
                {
                    DepartmentName = "合续环境",
                    GroupId        = groupid,
                    Description    = "合续环境公司",
                    Level          = 1,
                    DepartmentType = DepartmentType.Normal
                };
                var dChild = new DepartmentModel
                {
                    DepartmentName = "岗位",
                    GroupId        = groupid,
                    Description    = "合续环境公司",
                    Level          = 2,
                    DepartmentType = DepartmentType.Station,
                    PathId         = dParent.Id.ToString(),
                    PathName       = "合续环境",
                    Parent         = dParent
                };
                context.Departments.AddRange(dParent, dChild);
                #endregion
                #region 添加主管理员
                string salt     = EncryptData.CreateRandom();
                string password = EncryptData.EncryptPassword("hx123456", salt);
                var    user     = new UserModel
                {
                    Account  = "hx0001",
                    Password = password,
                    GroupId  = groupid,
                    Status   = HXCloud.Model.UserStatus.Valid,
                    UserName = "******",
                    Salt     = salt,
                    Picture  = "/Images/default.jpg"
                               //Id = 1
                };
                context.Users.Add(user);
                context.UserRoles.Add(new UserRoleModel {
                    User = user, Role = role
                });
                context.UserDepartments.Add(new UserDepartmentModel {
                    User = user, Department = dChild
                });
                #endregion


#if DEBUG
                #region 添加默认数据定义
                context.DataDefineLibray.AddRange(
                    new DataDefineLibraryModel
                {
                    //Id = 1,
                    DataKey      = "011241",
                    DataName     = "污水提升泵1#停止时间当前值",
                    Unit         = "[\"Time\",\"m\"]",
                    DataType     = "string",
                    DefaultValue = "",
                    Format       = "{\"step\":1}",
                    Model        = 0,
                    Create       = "hx0001",
                    CreateTime   = DateTime.Now
                },
                    new DataDefineLibraryModel
                {
                    //Id = 2,
                    DataKey      = "011111",
                    DataName     = "污水提升泵1#手动启动",
                    Unit         = "[\" - \"]",
                    DataType     = "boolean",
                    DefaultValue = "",
                    Format       = "{\"0\":0,\"1\":1}",
                    Model        = 0,
                    Create       = "hx0001",
                    CreateTime   = DateTime.Now
                },
                    new DataDefineLibraryModel
                {
                    //Id = 3,
                    DataKey      = "011221",
                    DataName     = "污水提升泵1#运行时间当前值",
                    Unit         = "[\"Time\",\"m\"]",
                    DataType     = "string",
                    DefaultValue = "",
                    Format       = "{\"step\":1}",
                    Model        = 0,
                    Create       = "hx0001",
                    CreateTime   = DateTime.Now
                },
                    new DataDefineLibraryModel
                {
                    //Id = 4,
                    DataKey      = "021521",
                    DataName     = "污水提升泵1#变频器频率当前值",
                    Unit         = "[\"frequency\",\"HZ\"]",
                    DataType     = "string",
                    DefaultValue = "",
                    Format       = "{\"step\":100}",
                    Model        = 0,
                    Create       = "hx0001",
                    CreateTime   = DateTime.Now
                }
                    );
                #endregion
#endif

                context.SaveChanges();
            }
        }