Beispiel #1
0
        public IActionResult UpdateOptionName([FromBody] FromUpdateSysOption model)
        {
            string code         = "000000";
            var    sysOption    = AutoMapperExt.MapTo <Sys_Option>(model);
            var    optionEntity = _sysOptionService.GetEntityById(sysOption.Id);

            if (optionEntity != null)
            {
                //修改其他字段
                if (optionEntity.GroupKey != sysOption.GroupKey)
                {
                    if (_sysOptionService.IsAny(p => p.GroupKey == sysOption.GroupKey && p.Levels > 1))
                    {
                        return(ReturnJson("100021"));
                    }
                }
                if (!_sysOptionService.UpdateColumns(p => new { p.GroupKey, p.GroupName, p.IsHide, p.Remark }, sysOption))
                {
                    return(ReturnJson("000001"));
                }
            }
            else
            {
                code = "100020";
            }
            return(ReturnJson(code));
        }
Beispiel #2
0
        public IActionResult UpdateOption([FromBody] FromAddSysOption model)
        {
            string code         = "000000";
            var    sysOption    = AutoMapperExt.MapTo <Sys_Option>(model);
            var    optionEntity = _sysOptionService.GetEntityById(sysOption.Id);

            if (optionEntity != null)
            {
                if (_sysOptionService.IsAny(p => p.GroupKey == sysOption.GroupKey && p.EnumCode == sysOption.EnumCode))
                {
                    return(ReturnJson("100021"));
                }
                if (optionEntity.Orders != optionEntity.Orders)
                {
                    //修改排序
                    Task.Run(() =>
                    {
                        _sysOptionService.UpdateOptionOrders(optionEntity.Orders, sysOption);
                    });
                }
                //修改其他字段
                if (!_sysOptionService.UpdateColumns(p => new { p.EnumCode, p.EnumLabel, p.EnumName, p.IsHide, p.Remark }, sysOption))
                {
                    return(ReturnJson("000001"));
                }
            }
            else
            {
                code = "100020";
            }
            return(ReturnJson(code));
        }
Beispiel #3
0
        public IActionResult AddOption([FromBody] FromAddSysOption model)
        {
            string code      = "000000";
            var    sysOption = AutoMapperExt.MapTo <Sys_Option>(model);

            sysOption.CrtDate = DateTime.Now;

            if (sysOption.Levels == 1)
            {
                if (_sysOptionService.IsAny(p => p.GroupKey == sysOption.GroupKey))
                {
                    return(ReturnJson("100021"));
                }
                if (_sysOptionService.Insert(sysOption) <= 0)
                {
                    return(ReturnJson("000011"));
                }
            }
            else
            {
                if (_sysOptionService.IsAny(p => p.GroupKey == sysOption.GroupKey && p.EnumCode == sysOption.EnumCode))
                {
                    return(ReturnJson("100021"));
                }
                if (!_sysOptionService.AddOption(sysOption))
                {
                    return(ReturnJson("000011"));
                }
            }

            return(ReturnJson(code));
        }
        //测试 AutoMapper
        public IActionResult AutoMapperIndex()
        {
            var model = new Areas {
                Code = "1", ParentCode = "0", Level = 1, Name = "1", Remark = "1"
            };
            var mapper = AutoMapperExt.MapTo <AreasDto>(model);

            return(Content(JsonHelper.Instance.Serialize(mapper)));
        }
Beispiel #5
0
        /// <summary>
        /// 加载当前登录用户可访问的一个部门及子部门全部用户
        /// </summary>
        public TableData Load(QueryUserListReq request)
        {
            var loginUser = _auth.GetCurrentUser();

            string cascadeId = ".0.";

            if (!string.IsNullOrEmpty(request.orgId))
            {
                var org = loginUser.Orgs.SingleOrDefault(u => u.Id == request.orgId);
                cascadeId = org.CascadeId;
            }

            IQueryable <User> query = UnitWork.Find <User>(null);

            if (!string.IsNullOrEmpty(request.key))
            {
                query = UnitWork.Find <User>(u => u.Name.Contains(request.key) || u.Account.Contains(request.key));
            }

            var ids     = loginUser.Orgs.Where(u => u.CascadeId.Contains(cascadeId)).Select(u => u.Id).ToArray();
            var userIds = _revelanceApp.Get(Define.USERORG, false, ids);

            var users = query.Where(u => userIds.Contains(u.Id))
                        .OrderBy(u => u.Name)
                        .Skip((request.page - 1) * request.limit)
                        .Take(request.limit)
                        .ToList();

            var records = query.Count(u => userIds.Contains(u.Id));


            var userviews = new List <UserView>();

            foreach (var user in users)
            {
                UserView uv   = AutoMapperExt.MapTo <UserView>(user);
                var      orgs = LoadByUser(user.Id);
                uv.Organizations   = string.Join(",", orgs.Select(u => u.Name).ToList());
                uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList());
                userviews.Add(uv);
            }

            return(new TableData
            {
                count = records,
                data = userviews,
            });
        }
Beispiel #6
0
        public IActionResult AddRole([FromBody] FromAddRole model)
        {
            string code = "000000";
            var    role = AutoMapperExt.MapTo <Sys_AdminRole>(model);

            if (!_sysAdminRoleService.IsAny(p => p.RoleName == role.RoleName))
            {
                role.CrtDate = DateTime.Now;
                role.UserId  = GetJwtIEntity().UserId;
                role.Id      = _sysAdminRoleService.Insert(role, true);

                if (role.Id > 0 && model.MenuList.Count > 0)
                {
                    //异步执行角色权限配置
                    Task.Run(() =>
                    {
                        var perList = new List <Sys_AdminPermission>();
                        foreach (var item in model.MenuList)
                        {
                            var perModel         = new Sys_AdminPermission();
                            perModel.BtnJson     = item.BtnJson;
                            perModel.CrtDate     = role.CrtDate;
                            perModel.MenuId      = item.MenuId;
                            perModel.RoleId      = role.Id;
                            perModel.UserId      = role.UserId;
                            perModel.Type        = item.Type;
                            perModel.CheckStatus = item.CheckStatus;
                            perList.Add(perModel);
                        }
                        _sysAdminPermissionService.InsertList(perList);
                    });
                }
                else if (role.Id == 0)
                {
                    code = "000001";
                }
            }
            else
            {
                code = "100006";
            }

            return(ReturnJson(code));
        }
        /// <summary>
        /// 获取流程发起信息
        /// </summary>
        /// <param name="startInfo"></param>
        /// <returns></returns>
        public (ResponseModel ResultInfo, ProcessStartInfo ProStartInfo) GetProcessStartInfo(ProcessStartArgs startInfo)
        {
            //获取发起Model数据
            var processStartInfo = AutoMapperExt.MapTo <ProcessStartInfo>(startInfo);
            var resultInfo       = new ResponseModel();

            if (!string.IsNullOrWhiteSpace(startInfo.bizId))
            {
                var proStartLogInfo = _interfaceLogService.GetProcessStartLogInfo(startInfo.processCode, startInfo.bizId);
                if (proStartLogInfo != null)
                {
                    processStartInfo.K2ID = proStartLogInfo.K2ID;

                    //如果流程已作废,则重新生成表单数
                    if (!_formInstanceSevice.IsProcessDeleteByBizId(startInfo.bizId))
                    {
                        resultInfo.Message = "该bizId对应的流程已发起,请勿重复发起";
                        return(resultInfo, processStartInfo);
                    }
                }
            }

            processStartInfo.SplitProcessCode = startInfo.processCode;
            //processStartInfo.SplitProcessCode = GetSplitProcessCode(startInfo);//TODO:获取流程编码
            if (!string.IsNullOrWhiteSpace(processStartInfo.SplitProcessCode))
            {
                //根据流程编码获取流程信息
                var processSetInfo = _processSetService.GetPRC_Config_ProcessSetByCode(processStartInfo.SplitProcessCode);
                if (processSetInfo == null)
                {
                    resultInfo.Message = string.Format("processCode:{0}不存在;", processStartInfo.SplitProcessCode);
                    return(resultInfo, processStartInfo);
                }

                if (string.IsNullOrWhiteSpace(processStartInfo.K2ID))
                {
                    processStartInfo.K2ID = _processSetService.GetSerialNumberByProcessCode(processStartInfo.SplitProcessCode);//生成K2ID
                }
            }

            return(resultInfo, processStartInfo);
        }
Beispiel #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="option"></param>
        /// <returns></returns>
        public async Task <Page <OperateLogDto> > PagerAsync(OperateLogOption option)
        {
            var predicate = PredicateBuilder.True <OperateLog>();

            if (option.StartDateTime != null && option.StartDateTime.HasValue)
            {
                predicate = predicate.And(o => o.CreateTime >= option.StartDateTime.Value);
            }
            if (option.EndDateTime != null && option.EndDateTime.HasValue)
            {
                predicate = predicate.And(o => o.CreateTime <= option.EndDateTime.Value);
            }
            if (!string.IsNullOrWhiteSpace(option.Tag))
            {
                predicate = predicate.And(o => o.Tag == option.Tag);
            }
            List <OperateLogDto> data = new List <OperateLogDto>();
            int total = await OperateLogRep.GetCountAsync(predicate);

            if (total > 0)
            {
                IEnumerable <OperateLog> result = (await OperateLogRep.Find(option.PageIndex, option.Limit, option.OrderBy, predicate).ToListAsync());
                data = AutoMapperExt.MapToList <OperateLog, OperateLogDto>(result.ToList());
                if (data != null && data.Count > 0)
                {
                    var list     = data.Select(o => o.OperatorId).ToList();
                    var userlist = await UserRep.Find(o => list.Contains(o.Id)).ToListAsync();

                    int i = 0;
                    foreach (var item in data)
                    {
                        long oid   = item.OperatorId;
                        var  uname = userlist.Where(o => o.Id == oid).FirstOrDefault();
                        data[i].OperatorName = uname?.RealName ?? "";
                        i++;
                    }
                }
            }
            return(new Page <OperateLogDto>(total, data));
        }
Beispiel #9
0
        public IActionResult AddMenuBtn([FromBody] FromAddMenuBtn model)
        {
            string code    = "000000";
            var    menuBtn = AutoMapperExt.MapTo <Sys_AdminMenuBtn>(model);

            if (menuBtn.Id == 0)
            {
                if (_sysAdminMenuBtnService.Insert(menuBtn) < 1)
                {
                    return(ReturnJson("000011"));
                }
            }
            else
            {
                //修改
                if (!_sysAdminMenuBtnService.UpdateIgnoreColumns(p => new { p.MenuId }, menuBtn, true))
                {
                    return(ReturnJson("000013"));
                }
            }
            return(ReturnJson(code));
        }
Beispiel #10
0
        public IActionResult UpdateUserRole([FromBody] FromUpdateSysUser model)
        {
            string code       = "000000";
            var    userEntity = _sysUserService.GetUserById(model.UserId);

            if (userEntity != null)
            {
                try
                {
                    var now = DateTime.Now;
                    //异步更新用户角色相关
                    Task.Run(() =>
                    {
                        var user        = AutoMapperExt.MapTo <Sys_User>(model);
                        user.Id         = model.UserId;
                        user.ModifyDate = now;
                        if (string.IsNullOrEmpty(model.Password))
                        {
                            _sysUserService.UpdateColumns(p => new { p.UserName, p.RealName, p.Email, p.HeadImgUrl, p.Mobile, p.Sex, p.ModifyDate }, user, true);
                        }
                        else
                        {
                            user.Password = Encrypt.EncryptPsw(model.Password);
                            _sysUserService.UpdateColumns(p => new { p.UserName, p.RealName, p.Password, p.Email, p.HeadImgUrl, p.Mobile, p.Sex, p.ModifyDate }, user, true);
                        }
                    });
                    //异步更新图片状态
                    if (userEntity.HeadImgUrl != model.HeadImgUrl)
                    {
                        _sysUploadService.UpdateUploadStatusAsync(UploadTypeEnum.image, model.HeadImgUrl, UploadStatusEnum.使用中);
                        if (!string.IsNullOrEmpty(userEntity.HeadImgUrl))
                        {
                            _sysUploadService.UpdateUploadStatusAsync(UploadTypeEnum.image, userEntity.HeadImgUrl, UploadStatusEnum.可删除);
                        }
                    }
                    //异步添加用户角色权限
                    if (model.RoleList.Where(p => p.Status == (int)RoleMenuStatus.add).Count() > 0 && model.UserId > 0)
                    {
                        Task.Run(() =>
                        {
                            var perList  = new List <Sys_UserRole>();
                            var menuList = model.RoleList.Where(p => p.Status == (int)RoleMenuStatus.add);

                            foreach (var item in menuList)
                            {
                                var perModel    = new Sys_UserRole();
                                perModel.RoleId = item.RoleId;
                                perModel.UserId = model.UserId;
                                perList.Add(perModel);
                            }
                            _sysUserService.InsertList(perList);
                        });
                    }
                    //异步删除用户角色权限
                    if (model.RoleList.Where(p => p.Status == (int)RoleMenuStatus.delete).Count() > 0 && model.UserId > 0)
                    {
                        Task.Run(() =>
                        {
                            var perList = model.RoleList.Where(p => p.Status == (int)RoleMenuStatus.delete).Select(p => p.UserRoleId).ToArray();
                            _sysUserService.DeleteByIdArray(perList);
                        });
                    }
                }
                catch (Exception ex)
                {
                    _log.LogError(ex.ToString());
                    code = "000100";
                }
            }
            else
            {
                code = "100007";
            }
            return(ReturnJson(code));
        }
Beispiel #11
0
        public IActionResult AddSysUser([FromBody] FromAddSysUser model)
        {
            string code = "000000";
            var    user = AutoMapperExt.MapTo <Sys_User>(model);

            user.Password = Encrypt.EncryptPsw(user.Password);

            Log_Admin logAdmin = new Log_Admin();

            var now = DateTime.Now;

            if (_sysUserService.IsAny(p => p.UserName == user.UserName))
            {
                return(ReturnJson("100001"));
            }
            else
            {
                user.LastIp      = HttpContextExtension.GetIp(HttpContext);
                user.LastLogDate = now;
                user.CrtUser     = GetJwtIEntity().Name;
                user.CrtDate     = now;
                user.Id          = _sysUserService.Insert(user, false);

                if (user.Id > 0 && !string.IsNullOrEmpty(user.HeadImgUrl))
                {
                    //更改图片状态
                    _sysUploadService.UpdateUploadStatusAsync(UploadTypeEnum.image, user.HeadImgUrl, UploadStatusEnum.使用中);
                }

                if (user.Id > 0 && model.RoleList.Count > 0)
                {
                    //异步执行角色权限配置
                    Task.Run(() =>
                    {
                        var perList = new List <Sys_UserRole>();
                        foreach (var item in model.RoleList)
                        {
                            var perModel    = new Sys_UserRole();
                            perModel.RoleId = item.RoleId;
                            perModel.UserId = user.Id;
                            perList.Add(perModel);
                        }
                        _sysUserService.InsertList(perList);
                    });
                }
                else if (user.Id == 0)
                {
                    code = "000001";
                }

                logAdmin.Remark = "账号:" + user.UserName + "注册成功";

                logAdmin.TypeId = (int)EnumLogAdminType.add_sysUser;//添加用户时的类型Id
            }

            logAdmin.OtherId     = user.Id.ToString();
            logAdmin.CrtUserId   = GetJwtIEntity().UserId;
            logAdmin.CrtUserName = GetJwtIEntity().Name;
            _logAdmin.LogAdmin(logAdmin, HttpContext);
            return(ReturnJson(code));
        }
Beispiel #12
0
        public IActionResult AddMenu([FromBody] FromAddMenu model)
        {
            var       sysAdminMenu = AutoMapperExt.MapTo <Sys_AdminMenu>(model);
            string    code         = "000000";
            Log_Admin logAdmin     = new Log_Admin();

            if (sysAdminMenu.Id == 0)
            {
                //新增
                var maxMenu = _sysAdminMenuService.GetEntity(p => p.Pid == sysAdminMenu.Pid, p => p.Id, true);
                if (maxMenu == null)
                {
                    var parentMenu = _sysAdminMenuService.GetEntityById(sysAdminMenu.Pid);
                    if (parentMenu != null)
                    {
                        sysAdminMenu.Orders = 1;
                        sysAdminMenu.Level  = parentMenu.Level + 1;
                    }
                    else
                    {
                        return(ReturnJson("100004"));
                    }
                }
                else
                {
                    sysAdminMenu.Orders = maxMenu.Orders + 1;
                    sysAdminMenu.Level  = maxMenu.Level;
                }
                sysAdminMenu.CrtUser = GetJwtIEntity().Name;
                sysAdminMenu.CrtDate = DateTime.Now;
                logAdmin.OtherId     = _sysAdminMenuService.Insert(sysAdminMenu).ToString();
            }
            else
            {
                var adminMenu = _sysAdminMenuService.GetEntityById(sysAdminMenu.Id);
                if (adminMenu != null)
                {
                    if (adminMenu.Orders != sysAdminMenu.Orders)
                    {
                        //修改排序
                        bool reuslt = _sysAdminMenuService.UpdateMenuOrders(sysAdminMenu.Orders, adminMenu);
                        if (!reuslt)
                        {
                            code = "000001";
                        }
                    }
                    //修改其他字段
                    if (!_sysAdminMenuService.UpdateColumns(p => new { p.Tag, p.Icon, p.IsShow, p.MenuName, p.Url }, sysAdminMenu))
                    {
                        return(ReturnJson("000001"));
                    }

                    logAdmin.OtherId = sysAdminMenu.Id.ToString();
                }
                else
                {
                    code = "100005";
                }
            }

            logAdmin.CrtUserId   = GetJwtIEntity().UserId;
            logAdmin.CrtUserName = GetJwtIEntity().Name;
            _logAdmin.LogAdmin(logAdmin, HttpContext);
            return(ReturnJson(code));
        }