コード例 #1
0
        public BusinessBaseViewModel <string> Update(UpdateSystemMenuRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel == null)
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.Id <= 0)
            {
                res.ErrorMessage = "Id不能为空";
                return(res);
            }
            if (requestModel.MenuName.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "菜单名称不能为空";
                return(res);
            }
            if (requestModel.Level <= 0)
            {
                res.ErrorMessage = "菜单层级不能为空";
                return(res);
            }
            if (requestModel.MenuSort <= 0)
            {
                res.ErrorMessage = "菜单排序不能为空";
                return(res);
            }

            var menuEntity = _systemMenuRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (menuEntity == null)
            {
                res.ErrorMessage = "菜单不存在或已删除";
                return(res);
            }

            menuEntity.Level        = requestModel.Level;
            menuEntity.MenuButtonId = requestModel.MenuButtonId;
            menuEntity.MenuDesc     = requestModel.MenuDesc;
            menuEntity.MenuIcon     = requestModel.MenuIcon;
            menuEntity.MenuName     = requestModel.MenuName;
            menuEntity.MenuSort     = requestModel.MenuSort;
            menuEntity.MenuUrl      = requestModel.MenuUrl;
            menuEntity.ParentId     = requestModel.ParentId;
            menuEntity.ModifyTime   = DateTime.Now;

            _systemMenuRepository.Update(menuEntity);
            _systemMenuRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #2
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Update(UpdateSystemStaffRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel == null)
            {
                res.Status = ResponseStatus.ParameterError;
                return(res);
            }
            if (requestModel.NickName.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "呢称不能为空";
                res.Status       = ResponseStatus.ParameterError;
                return(res);
            }
            var entity = _staffRepostory.FirstOrDefault(x => x.Id == requestModel.Id);

            if (entity.IsNull())
            {
                res.ErrorMessage = "当前用户不存在或已被删除";
                return(res);
            }

            entity.Eamil      = requestModel.Eamil;
            entity.Mobile     = requestModel.Mobile;
            entity.Tel        = requestModel.Tel;
            entity.SectionId  = requestModel.SectionId;
            entity.NickName   = requestModel.NickName;
            entity.ModifyTime = DateTime.Now;


            var roleList = new List <SystemStaffRole>();

            requestModel.RoleId.ForEach(m =>
            {
                roleList.Add(new SystemStaffRole()
                {
                    RoleId  = m,
                    StaffId = entity.Id
                });
            });

            _staffRepostory.Update(entity);
            _systemStaffRoleRepository.SqlExecute("delete s_SystemStaffRole where StaffId = @StaffId", new[] { new SqlParameter("StaffId", entity.Id) });
            _systemStaffRoleRepository.Insert(roleList);
            _systemStaffRoleRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #3
0
        private void CompressFileMap(Bitmap srcBitMap, string filePath, long level)
        {
            BusinessBaseViewModel <FileUploadViewModel> businessBaseViewModel = new BusinessBaseViewModel <FileUploadViewModel>()
            {
                Status = ResponseStatus.Fail
            };
            Stream s = new FileStream(filePath, FileMode.Create);

            Compress(srcBitMap, s, level);
            s.Close();
            return;
        }
コード例 #4
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Update(UpdateSystemSectionRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel == null)
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.Name.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "部门名称不能为空";
                return(res);
            }
            if (requestModel.Id <= 0)
            {
                res.ErrorMessage = "部门Id不能为空";
                return(res);
            }
            var entity = _systemSectionRepository.FirstOrDefault(x => x.Id != requestModel.Id && x.Name == requestModel.Name && x.ParentId == requestModel.ParentId);

            if (entity != null)
            {
                res.ErrorMessage = "部门名称已存在,不能重复添加";
                return(res);
            }

            entity = _systemSectionRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (entity == null)
            {
                res.ErrorMessage = "部门不存在或已被删除";
                return(res);
            }

            entity.Name       = requestModel.Name;
            entity.Person     = requestModel.Person;
            entity.Enabled    = requestModel.Enabled;
            entity.Sort       = requestModel.Sort;
            entity.ModifyTime = DateTime.Now;
            entity.Remark     = requestModel.Remark;


            _systemSectionRepository.Update(entity);
            _systemSectionRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #5
0
        /// <summary>
        /// 验证签名
        /// </summary>
        /// <param name="ticket"></param>
        /// <param name="dictionary"></param>
        /// <returns></returns>
        private BusinessBaseViewModel <string> ValidateSignature(string ticket, Dictionary <string, object> dictionary)
        {
            BusinessBaseViewModel <string> response = new BusinessBaseViewModel <string> {
                Status = ResponseStatus.Fail
            };
            string appSecret = string.Empty;

            if (string.IsNullOrEmpty(ticket))
            {
                if (!dictionary.ContainsKey("AppId"))
                {
                    response.Status = ResponseStatus.ParameterError;
                    return(response);
                }
                var appModel = new AuthenticationDataHelper().GetApplocationAuthorModel(dictionary["AppId"].ToString());
                appSecret = appModel.AppSecret;
            }
            else
            {
                var ticketModel = AuthenticationHelper.GetDecryptTicket(ticket);//  new AuthenticationDataHelper().GetApplocationAuthorModel(ticket);
                appSecret = ticketModel.AppSecret;
            }
            if (!dictionary.ContainsKey(signKey))
            {
                response.Status = ResponseStatus.UnSignatureParamsError;
                return(response);
            }

            string signature = dictionary[signKey].ToString();

            dictionary.Remove(signKey);
            //验证签名
            string codesign = AuthenticationHelper.GetAuthenticationCode(dictionary, appSecret);

            if (!signature.Equals(codesign, StringComparison.CurrentCultureIgnoreCase))
            {
                bool flag = HttpContext.Current.Request.Url.Host.Equals("localhost", StringComparison.CurrentCultureIgnoreCase);

                response.Status       = ResponseStatus.UnSignatureError;
                response.BusinessData = flag ? codesign : "";
                return(response);
            }
            //验证时效性
            if (!dictionary.ContainsKey("Timestamp"))
            {
                response.Status = ResponseStatus.UnTimeSpanFromatError;
                return(response);
            }
            response.Status = AuthenticationHelper.CheckTimeStamp(dictionary["Timestamp"].ToString());

            return(response);
        }
コード例 #6
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Update(UpdateSystemRoleRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel == null)
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.RoleName.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "角色名称不能为空";
                return(res);
            }
            if (requestModel.Id <= 0)
            {
                res.ErrorMessage = "角色Id不能为空";
                return(res);
            }
            var entity = _systemRoleRepository.FirstOrDefault(x => x.Id != requestModel.Id && x.RoleName == requestModel.RoleName);

            if (entity != null)
            {
                res.ErrorMessage = "角色名称已存在,不能重复添加";
                return(res);
            }

            entity = _systemRoleRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (entity == null)
            {
                res.ErrorMessage = "角色不存在或已删除";
                return(res);
            }

            entity.RoleName   = requestModel.RoleName;
            entity.RoleCode   = requestModel.RoleCode;
            entity.Enabled    = requestModel.Enabled;
            entity.RoleDesc   = requestModel.RoleDesc;
            entity.Sort       = requestModel.Sort;
            entity.ModifyTime = DateTime.Now;

            _systemRoleRepository.Update(entity);
            _systemRoleRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #7
0
        public BusinessBaseViewModel <FileUploadViewModel> UploadFileByNetworkFile(UploadFileNetworkFileParamModel paramModel)
        {
            BusinessBaseViewModel <FileUploadViewModel> viewModel = new BusinessBaseViewModel <FileUploadViewModel>()
            {
                Status = ResponseStatus.Fail
            };

            if (paramModel.FileUrl.IsNullOrWhiteSpace())
            {
                viewModel.ErrorMessage = "图片URL不能为空";
                return(viewModel);
            }
            return(SaveUploadFileByNetworkFile(paramModel.FileUrl, paramModel.Extpath, paramModel.FileExt));
        }
コード例 #8
0
        public BusinessBaseViewModel <FileUploadViewModel> UploadFileBase64(UploadFileBase64ParamModel paramModel)
        {
            BusinessBaseViewModel <FileUploadViewModel> viewModel = new BusinessBaseViewModel <FileUploadViewModel>()
            {
                Status = ResponseStatus.Fail
            };

            if (paramModel.base64str.IsNullOrWhiteSpace())
            {
                viewModel.ErrorMessage = "未收到任何文件数据";
                return(viewModel);
            }
            return(SaveFileBase64(paramModel.base64str, paramModel.extpath, paramModel.fileExtName));
        }
コード例 #9
0
        /// <summary>
        /// 密码重置
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Reset(ResetSystemStaffRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel.Id <= 0)
            {
                res.ErrorMessage = "Id不能为空";
                res.Status       = ResponseStatus.ParameterError;
                return(res);
            }
            if (requestModel.OldLoginPwd.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "旧密码不能为空";
                res.Status       = ResponseStatus.ParameterError;
                return(res);
            }
            if (requestModel.NewLoginPwd.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "新密码不能为空";
                res.Status       = ResponseStatus.ParameterError;
                return(res);
            }

            var entity = _staffRepostory.FirstOrDefault(x => x.Id == requestModel.Id);

            if (entity.IsNull())
            {
                res.ErrorMessage = "当前用户不存在或已被删除";
                return(res);
            }
            var old = (requestModel.OldLoginPwd + entity.MaskCode).ToMd5();

            if (entity.LoginPwd.Equals(old, StringComparison.CurrentCultureIgnoreCase))
            {
                res.ErrorMessage = "旧密码不对";
                return(res);
            }
            entity.LoginPwd = (requestModel.NewLoginPwd + entity.MaskCode).ToMd5();

            _staffRepostory.Update(entity, "LoginPwd");
            _staffRepostory.SaveChanges();

            res.Status       = ResponseStatus.Success;
            res.BusinessData = "密码重置成功!";
            return(res);
        }
コード例 #10
0
        /// <summary>
        /// 逻辑删除
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Remove(RemoveSystemStaffRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            var config = _staffRepostory.FirstOrDefault(x => x.Id == requestModel.Id);

            config.Status = (int)SystemStaffStatus.Del;
            _staffRepostory.Update(config);
            _staffRepostory.SaveChanges();
            res.Status       = ResponseStatus.Success;
            res.BusinessData = "操作成功!";
            return(res);
        }
コード例 #11
0
        /// <summary>
        /// 退出登录
        /// </summary>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Logout()
        {
            var response = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            var token = CookieHelper.GetCookieValue(TianYuConsts.SystemLoginCookieName);

            if (!token.IsNullOrWhiteSpace())
            {
                CookieHelper.RemoveCookie(TianYuConsts.SystemLoginCookieName);
                CacheHelper.Remove(TianYuConsts.GetSessionIdCacheKey(token));
            }
            response.Status = ResponseStatus.Success;
            return(response);
        }
コード例 #12
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Update(UpdateSystemDictionaryRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel.IsNull())
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.Name.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "字典名称不能为空";
                return(res);
            }
            var entity = _systemDictionaryRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (entity == null)
            {
                res.ErrorMessage = "字典不存在或已被删除";
                return(res);
            }
            var entity2 = _systemDictionaryRepository.FirstOrDefault(x => x.Id != requestModel.Id && x.ParentId == requestModel.ParentId &&
                                                                     x.Name == requestModel.Name);

            if (entity2 != null)
            {
                res.ErrorMessage = $"字典名称[{requestModel.Name}]已存在,不能重复添加";
                return(res);
            }

            entity.Name       = requestModel.Name;
            entity.Value      = requestModel.Value;
            entity.Sort       = requestModel.Sort;
            entity.Remark     = requestModel.Remark;
            entity.ModifyTime = DateTime.Now;

            _systemDictionaryRepository.Update(entity, "Name", "Value", "Sort", "Remark", "ModifyTime");
            _systemDictionaryRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #13
0
        /// <summary>
        /// 查询明细
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <QueryDetailSystemDictionaryResponseModel> QueryDetail(QueryDetailSystemDictionaryRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <QueryDetailSystemDictionaryResponseModel>()
            {
                Status = ResponseStatus.Fail
            };

            var entity = _systemDictionaryRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (entity == null)
            {
                res.ErrorMessage = "数据不存在或已被删除";
                return(res);
            }
            res.BusinessData = entity.MapTo <QueryDetailSystemDictionaryResponseModel>();
            res.Status       = ResponseStatus.Success;
            return(res);
        }
コード例 #14
0
        /// <summary>
        /// 查询明细
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <QueryDetailSystemRoleResponseModel> QueryDetail(QueryDetailSystemRoleRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <QueryDetailSystemRoleResponseModel>()
            {
                Status = ResponseStatus.Fail
            };

            var entity = _systemRoleRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (!entity.IsNull())
            {
                res.BusinessData = entity.MapTo <QueryDetailSystemRoleResponseModel>();
            }


            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #15
0
        public BusinessBaseViewModel <QueryDetailSystemMenuResponseModel> QueryDetail(QueryDetailSystemMenuRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <QueryDetailSystemMenuResponseModel>()
            {
                Status = ResponseStatus.Fail
            };

            var menuEntity = _systemMenuRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (menuEntity == null)
            {
                res.ErrorMessage = "菜单不存在或已删除";
                return(res);
            }
            var entity = menuEntity.MapTo <QueryDetailSystemMenuResponseModel>();

            var parentMenu = _systemMenuRepository.FirstOrDefault(x => x.Id == entity.ParentId);

            if (parentMenu != null)
            {
                entity.ParentName = parentMenu.MenuName;
            }
            else if (entity.ParentId == -1)
            {
                entity.ParentName = "顶级";
            }

            if (!entity.MenuUrl.IsNullOrWhiteSpace())
            {
                entity.ButtonList = _systemActionButtonRepository.Find(x => x.Enabled == true).MapToList <SystemButton>();

                if (!entity.MenuButtonId.IsNullOrWhiteSpace())
                {
                    var bids = entity.MenuButtonId.ToSplitArray(',').ToList();
                    entity.ButtonList.Where(x => bids.Contains(x.Id.ToString())).ToList().ForEach(m =>
                    {
                        m.Checked = true;
                    });
                }
            }
            res.BusinessData = entity;
            res.Status       = ResponseStatus.Success;
            return(res);
        }
コード例 #16
0
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="requestModel"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> UpdatePwd(UpdatePwdSystemStaffRequestModel requestModel, int id)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel == null)
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.OldLoginPwd.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "旧密码不能为空";
                return(res);
            }
            if (requestModel.NewLoginPwd.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "新密码不能为空";
                return(res);
            }
            var staffEntity = _staffRepostory.FirstOrDefault(x => x.Id == id);

            if (staffEntity != null)
            {
                if (staffEntity.LoginPwd.Equals((requestModel.OldLoginPwd + staffEntity.MaskCode).ToMd5(), StringComparison.InvariantCultureIgnoreCase))
                {
                    staffEntity.LoginPwd = (requestModel.NewLoginPwd + staffEntity.MaskCode).ToMd5();

                    _staffRepostory.Update(staffEntity, "LoginPwd");
                    _staffRepostory.SaveChanges();
                    res.Status = ResponseStatus.Success;
                }
                else
                {
                    res.ErrorMessage = "旧密码错误";
                    return(res);
                }
            }

            return(res);
        }
コード例 #17
0
 /// <summary>
 /// 跳转错误页面
 /// </summary>
 /// <param name="response">响应对象</param>
 /// <returns></returns>
 public ActionResult GoErrorPage <T>(BusinessBaseViewModel <T> response)
 {
     if (this.Request.IsAjaxRequest())
     {
         return(Content(response.ToJsonString()));
     }
     else
     {
         //if (response.Status == ResponseStatus.UnLoginIn || response.Status == ResponseStatus.SessionIdError)
         //{
         //    string returnUrl = Convert.ToBase64String(Encoding.UTF8.GetBytes(HttpContext.Request.Url.ToString()));
         //    return RedirectToAction("Login", "Home", new { area = "", returnUrl });
         //}
         //else
         //{
         return(GoErrorPage(response.ErrorMessage));
         //}
     }
 }
コード例 #18
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Remove(RemoveSystemDictionaryRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel.IsNull())
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }

            _systemDictionaryRepository.SqlExecute("delete s_SystemDictionary where Id = @Id or ParentId = @Id", new[] { new SqlParameter("Id", requestModel.Id) });
            _systemDictionaryRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #19
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Insert(AddSystemRoleRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel == null)
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.RoleName.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "角色名称不能为空";
                return(res);
            }

            var entity = _systemRoleRepository.FirstOrDefault(x => x.RoleName == requestModel.RoleName);

            if (entity != null)
            {
                res.ErrorMessage = "角色名称已存在,不能重复添加";
                return(res);
            }

            var model = new SystemRole()
            {
                RoleName   = requestModel.RoleName,
                RoleCode   = requestModel.RoleCode,
                Enabled    = requestModel.Enabled,
                RoleDesc   = requestModel.RoleDesc,
                Sort       = requestModel.Sort,
                CreateTime = DateTime.Now,
                ModifyTime = DateTime.Now
            };

            _systemRoleRepository.Insert(model);
            _systemRoleRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #20
0
        /// <summary>
        /// 设置角色权限
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> SetSystemRoleRules(SetSystemRoleRulesRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel == null)
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.RoleId <= 0)
            {
                res.ErrorMessage = "角色Id不能为空";
                return(res);
            }
            var roleRulesList = new List <SystemRoleRules>();

            if (requestModel.list != null)
            {
                foreach (var m in requestModel.list)
                {
                    roleRulesList.Add(new SystemRoleRules()
                    {
                        ButtonId = m.ButtonId,
                        MenuId   = m.MenuId,
                        RoleId   = requestModel.RoleId
                    });
                }
            }

            _systemRoleRulesRepository.SqlExecute("delete s_SystemRoleRules where RoleId = @RoleId", new[] { new SqlParameter("RoleId", requestModel.RoleId) });
            if (roleRulesList.Count > 0)
            {
                _systemRoleRulesRepository.Insert(roleRulesList);
            }
            _systemRoleRulesRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #21
0
        public BusinessBaseViewModel <string> Remove(RemoveSystemMenuRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            var menuEntity = _systemMenuRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (menuEntity == null)
            {
                res.ErrorMessage = "菜单不存在或已删除";
                return(res);
            }
            _systemMenuRepository.SqlExecute("delete s_SystemMenu where MenuCode like @MenuCode", new[] { new SqlParameter("MenuCode", $"{menuEntity.MenuCode}%") });
            _systemMenuRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #22
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessBaseViewModel <string> Insert(AddSystemDictionaryRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel.IsNull())
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.Name.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "字典名称不能为空";
                return(res);
            }
            var entity = _systemDictionaryRepository.FirstOrDefault(x => x.ParentId == requestModel.ParentId && x.Name == requestModel.Name);

            if (entity != null)
            {
                res.ErrorMessage = $"字典名称[{requestModel.Name}]已存在,不能重复添加";
                return(res);
            }
            var model = new SystemDictionary()
            {
                Name       = requestModel.Name,
                Value      = requestModel.Value,
                ParentId   = requestModel.ParentId,
                Sort       = requestModel.Sort,
                Remark     = requestModel.Remark,
                CreateTime = DateTime.Now,
                ModifyTime = DateTime.Now
            };

            _systemDictionaryRepository.Insert(model);
            _systemDictionaryRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #23
0
        public BusinessBaseViewModel <string> Enabled(EnabledSystemMenuRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            var menuEntity = _systemMenuRepository.FirstOrDefault(x => x.Id == requestModel.Id);

            if (menuEntity == null)
            {
                res.ErrorMessage = "菜单不存在或已删除";
                return(res);
            }
            menuEntity.Enabled = requestModel.Enabled;

            _systemMenuRepository.Delete(menuEntity);
            _systemMenuRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #24
0
        /// <summary>
        ///查询角色权限
        /// </summary>
        /// <returns></returns>
        public BusinessBaseViewModel <IList <QuerySystemRoleRulesResponseModel> > Query(QuerySystemRoleRulesRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <IList <QuerySystemRoleRulesResponseModel> >()
            {
                Status = ResponseStatus.Fail
            };

            var filter = PredicateBuilder.True <SystemRoleRules>();

            if (requestModel.RoleId.HasValue)
            {
                filter = filter.And(x => x.RoleId == requestModel.RoleId);
            }

            var query = _systemRoleRulesRepository.Find(filter);

            if (query.Any())
            {
                res.BusinessData = query.MapToList <QuerySystemRoleRulesResponseModel>();
            }
            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #25
0
        private BusinessBaseViewModel <FileUploadViewModel> SaveFile(HttpPostedFile postedFile, string extPath)
        {
            BusinessBaseViewModel <FileUploadViewModel> viewModel = new BusinessBaseViewModel <FileUploadViewModel>()
            {
                Status = ResponseStatus.Fail
            };

            if (extPath.IsNullOrWhiteSpace())
            {
                extPath = DateTime.Now.ToString("yyyy/MM/dd");
            }
            string rootPath    = ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadRootPath);
            string fileExtName = ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadExtName).ToLower();
            string fileExt     = postedFile.FileName.Substring(postedFile.FileName.LastIndexOf('.')).ToLower();

            if (!fileExtName.ToSplitArray('|').Any(t => t == fileExt))
            {
                viewModel.ErrorMessage = "不允许上传的文件类型" + fileExt;
                return(viewModel);
            }

            string fileName = string.Format("{0}{1}{2}", DateTime.Now.ToString("yyMMddHHmmssfff"), random.Next(999999).ToString().PadLeft(6, 'a'), fileExt);
            string filepath = Path.Combine(rootPath, extPath);

            if (!Directory.Exists(filepath))
            {
                Directory.CreateDirectory(filepath);
            }
            //如果是图片,则保存原图,原图路径
            string orgFilepath = null;

            if (fileExt == ".bmp" || fileExt == ".jpg" || fileExt == ".jpeg" || fileExt == ".png")
            {
                orgFilepath = Path.Combine(rootPath, extPath + "/OrgFile");
                if (!Directory.Exists(orgFilepath))
                {
                    Directory.CreateDirectory(orgFilepath);
                }
            }

            viewModel.BusinessData = new FileUploadViewModel()
            {
                UploadResult = new List <FileUploadItemViewModel>()
                {
                    new FileUploadItemViewModel()
                    {
                        FileSize       = postedFile.ContentLength,
                        SourceFileName = postedFile.FileName,
                        ServerFilePath = Path.Combine(extPath, fileName).Replace("\\", "/"),
                        IsSuccess      = false,
                        FileUrl        = string.Format("{0}/{1}", ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadRootUrl).TrimEnd('/'), Path.Combine(extPath, fileName).Replace("\\", "/").TrimStart('/'))
                    }
                }
            };
            try
            {
                string fileSave = Path.Combine(filepath, fileName);
                postedFile.SaveAs(fileSave);
                //如果是图片
                if (orgFilepath != null)
                {
                    string orgFileSave = Path.Combine(orgFilepath, fileName); //原图路径
                    postedFile.SaveAs(orgFileSave);                           //原图
                    //压缩图片
                    try
                    {
                        Bitmap       map    = new Bitmap(fileSave);
                        MemoryStream stream = new MemoryStream();
                        map.Save(stream, ImageFormat.Jpeg);
                        CompressFileMap(map, fileSave, 50);
                    }
                    catch (Exception ex)
                    {
                        LogHelper.LogError("文件上传错误", ex.ToJsonString());
                    }
                }

                viewModel.Status = ResponseStatus.Success;
                viewModel.BusinessData.UploadResult.First().IsSuccess = true;
            }
            catch (Exception ex)
            {
                LogHelper.LogError(string.Format("请求:{0}", "/FilteUpload/SaveFile"),
                                   string.Format("异常信息:{0}", ex.ToString()));
                viewModel.ErrorMessage = "上传文件写入失败:" + ex.Message;
            }
            return(viewModel);
        }
コード例 #26
0
        /// <summary>
        /// 保存根据网络图片上传文件(下载网络图片,并保存到文件站点)
        /// </summary>
        /// <param name="fileUrl">网络图片URL</param>
        /// <param name="extpath">扩展参数</param>
        /// <param name="fileExt">扩展名(如:.jpg)</param>
        /// <returns></returns>
        private BusinessBaseViewModel <FileUploadViewModel> SaveUploadFileByNetworkFile(string fileUrl, string extpath, string fileExt)
        {
            BusinessBaseViewModel <FileUploadViewModel> viewModel = new BusinessBaseViewModel <FileUploadViewModel>()
            {
                Status = ResponseStatus.Fail
            };

            if (fileExt.IsNullOrWhiteSpace())
            {
                fileExt = ".jpg";
            }
            if (!fileExt.StartsWith("."))
            {
                fileExt = "." + fileExt;
            }

            if (extpath.IsNullOrWhiteSpace())
            {
                extpath = DateTime.Now.ToString("yyyy/MM/dd");
            }

            string rootPath          = ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadRootPath);
            string fileExtNameConfig = ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadExtName).ToLower();

            string fileName = string.Format("{0}{1}{2}", DateTime.Now.ToString("yyMMddHHmmssfff"), random.Next(999999).ToString().PadLeft(6, 'a'), fileExt);
            string filepath = Path.Combine(rootPath, extpath);

            if (!Directory.Exists(filepath))
            {
                Directory.CreateDirectory(filepath);
            }

            viewModel.BusinessData = new FileUploadViewModel()
            {
                UploadResult = new List <FileUploadItemViewModel>()
                {
                    new FileUploadItemViewModel()
                    {
                        FileSize       = 0,
                        SourceFileName = fileName,
                        ServerFilePath = Path.Combine(extpath, fileName).Replace("\\", "/"),
                        IsSuccess      = false,
                        FileUrl        = string.Format("{0}/{1}", ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadRootUrl).TrimEnd('/'), Path.Combine(extpath, fileName).Replace("\\", "/").TrimStart('/'))
                    }
                }
            };
            try
            {
                string fileSave = Path.Combine(filepath, fileName);

                WebClient client = new WebClient();
                client.DownloadFile(fileUrl, fileSave);
                viewModel.Status = ResponseStatus.Success;
                viewModel.BusinessData.UploadResult.First().IsSuccess = true;
            }
            catch (Exception ex)
            {
                LogHelper.LogError(string.Format("请求:{0}", "/FilteUpload/SaveUploadFileByNetworkFile"),
                                   string.Format("异常信息:{0}", ex.ToString()));
                viewModel.ErrorMessage = "上传文件写入失败:" + ex.Message;
            }
            return(viewModel);
        }
コード例 #27
0
        public BusinessBaseViewModel <FileUploadViewModel> QrCodeEncoder(QrcodeEncoderRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <FileUploadViewModel>()
            {
                BusinessData = new FileUploadViewModel()
            };

            if (requestModel.LogoFilePath.IsNullOrWhiteSpace())
            {
                requestModel.LogoFilePath = ConfigHelper.GetAppsettingValue(TianYuConsts.LogoImagePath);
            }

            if (requestModel.FileName.IsNullOrWhiteSpace())
            {
                requestModel.FileName = requestModel.Content.ToMd5();
            }
            if (requestModel.FileName.IndexOf('.') > 0)
            {
                requestModel.FileName = requestModel.FileName.Substring(0, requestModel.FileName.LastIndexOf('.'));
            }
            string rootPath     = ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadRootPath);
            string subPath      = Path.Combine("QrCode", string.Format("{0}.jpg", requestModel.FileName));
            string saveFilePath = Path.Combine(rootPath, subPath);

            if (!Directory.Exists(Path.Combine(rootPath, "QrCode")))
            {
                Directory.CreateDirectory(Path.Combine(rootPath, "QrCode"));
            }
            if (!File.Exists(saveFilePath))
            {
                try
                {
                    if (requestModel.IsLogo)
                    {
                        requestModel.LogoFilePath = Path.Combine(rootPath, requestModel.LogoFilePath);
                    }
                    else
                    {
                        requestModel.LogoFilePath = string.Empty;
                    }

                    //生成二维码
                    QrCodeHelper.Encoder(requestModel.Content, saveFilePath, requestModel.LogoFilePath);
                }
                catch (Exception ex)
                {
                    LogHelper.LogError("FileController", ex.ToString());
                    res.Status       = ResponseStatus.BusinessError;
                    res.ErrorMessage = ex.Message;
                    return(res);
                }
            }
            //已经存在则不再生成
            res.BusinessData.UploadResult = new List <FileUploadItemViewModel>()
            {
                new FileUploadItemViewModel()
                {
                    IsSuccess      = true,
                    FileUrl        = subPath.ToImageUrl(),
                    ServerFilePath = subPath
                }
            };
            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #28
0
        private BusinessBaseViewModel <FileUploadViewModel> SaveFileBase64(string base64str, string extPath, string fileExtName = "")
        {
            BusinessBaseViewModel <FileUploadViewModel> viewModel = new BusinessBaseViewModel <FileUploadViewModel>()
            {
                Status = ResponseStatus.Fail
            };

            if (extPath.IsNullOrWhiteSpace())
            {
                extPath = DateTime.Now.ToString("yyyy/MM/dd");
            }
            string rootPath          = ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadRootPath);
            string fileExtNameConfig = ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadExtName).ToLower();
            string fileExt           = fileExtName.IsNullOrWhiteSpace() ? ".jpg" : string.Format(".{0}", fileExtName.TrimStart('.'));

            if (!fileExtNameConfig.ToSplitArray('|').Any(t => t == fileExt))
            {
                viewModel.ErrorMessage = "不允许上传的文件类型" + fileExt;
                return(viewModel);
            }

            string fileName = string.Format("{0}{1}{2}", DateTime.Now.ToString("yyMMddHHmmssfff"), random.Next(999999).ToString().PadLeft(6, 'a'), fileExt);
            string filepath = Path.Combine(rootPath, extPath);

            if (!Directory.Exists(filepath))
            {
                Directory.CreateDirectory(filepath);
            }

            string orgFilepath = Path.Combine(rootPath, extPath + "/OrgFile");

            if (!Directory.Exists(orgFilepath))
            {
                Directory.CreateDirectory(orgFilepath);
            }

            viewModel.BusinessData = new FileUploadViewModel()
            {
                UploadResult = new List <FileUploadItemViewModel>()
                {
                    new FileUploadItemViewModel()
                    {
                        FileSize       = 0,
                        SourceFileName = fileName,
                        ServerFilePath = Path.Combine(extPath, fileName).Replace("\\", "/"),
                        IsSuccess      = false,
                        FileUrl        = string.Format("{0}/{1}", ConfigHelper.GetAppsettingValue(TianYuConsts.SystemFileUploadRootUrl).TrimEnd('/'), Path.Combine(extPath, fileName).Replace("\\", "/").TrimStart('/'))
                    }
                }
            };
            try
            {
                string       fileSave    = Path.Combine(filepath, fileName);    //压缩图
                string       orgFileSave = Path.Combine(orgFilepath, fileName); //原图
                byte[]       bit         = Convert.FromBase64String(base64str);
                MemoryStream ms          = new MemoryStream(bit);
                Bitmap       bmp         = new Bitmap(ms);
                bmp.Save(fileSave);
                bmp.Save(orgFileSave);
                try
                {
                    //                  Bitmap bitmap = new Bitmap(bmp.Width,bmp.Height);
                    CompressFileMap(bmp, fileSave, 40);
                }
                catch
                {
                }
                viewModel.Status = ResponseStatus.Success;
                viewModel.BusinessData.UploadResult.First().IsSuccess = true;
                viewModel.BusinessData.UploadResult.First().FileSize  = bit.Length;
            }
            catch (Exception ex)
            {
                LogHelper.LogError(string.Format("请求:{0}", "/FilteUpload/SaveFile"),
                                   string.Format("异常信息:{0}", ex.ToString()));
                viewModel.ErrorMessage = "上传文件写入失败:" + ex.Message;
            }
            return(viewModel);
        }
コード例 #29
0
        public BusinessBaseViewModel <string> Insert(AddSystemMenuRequestModel requestModel)
        {
            var res = new BusinessBaseViewModel <string>()
            {
                Status = ResponseStatus.Fail
            };

            if (requestModel == null)
            {
                res.ErrorMessage = "参数错误";
                return(res);
            }
            if (requestModel.MenuName.IsNullOrWhiteSpace())
            {
                res.ErrorMessage = "菜单名称不能为空";
                return(res);
            }
            if (requestModel.Level <= 0)
            {
                res.ErrorMessage = "菜单层级不能为空";
                return(res);
            }
            var menuCode = 1001;

            var query = _systemMenuRepository.Find(x => x.ParentCode == requestModel.ParentCode);

            if (query.Any())
            {
                var maxCode = query.Max(x => x.MenuCode);

                menuCode = maxCode + 1;
            }
            else
            {
                menuCode = requestModel.ParentCode * 100 + 1;
            }
            //菜单导行
            var pageTitle = "";

            if (!requestModel.MenuUrl.IsNullOrWhiteSpace() && requestModel.Level != 1)
            {
                var len  = requestModel.Level - 2;
                var code = new int[len + 1];
                code[len] = requestModel.ParentCode;

                var num = 1;
                for (var i = 0; i < len; i++)
                {
                    num     = num * 100;
                    code[i] = requestModel.ParentCode / num;
                }

                var queryMenuName = _systemMenuRepository.Find(x => code.Contains(x.MenuCode)).OrderBy(x => x.Level).Select(x => x.MenuName).ToList();

                if (queryMenuName.Any())
                {
                    pageTitle = string.Join("-", queryMenuName) + "-" + requestModel.MenuName;
                }
            }

            var model = new SystemMenu()
            {
                MenuCode     = menuCode,
                Level        = requestModel.Level,
                MenuDesc     = requestModel.MenuDesc,
                MenuIcon     = requestModel.MenuIcon,
                MenuName     = requestModel.MenuName,
                MenuSort     = requestModel.MenuSort,
                MenuUrl      = requestModel.MenuUrl,
                PageTitle    = pageTitle,
                ParentId     = requestModel.ParentId,
                ParentCode   = requestModel.ParentCode,
                MenuButtonId = requestModel.MenuButtonId,
                Enabled      = requestModel.Enabled,
                CreateTime   = DateTime.Now,
                ModifyTime   = DateTime.Now
            };

            _systemMenuRepository.Insert(model);
            _systemMenuRepository.SaveChanges();

            res.Status = ResponseStatus.Success;
            return(res);
        }
コード例 #30
0
        public BusinessBaseViewModel <int> AddOrUpsert(MQBusinessAddOrUpsertRequest request)
        {
            var errMsg   = string.Empty;
            var insertId = 0;
            var res      = new BusinessBaseViewModel <int>()
            {
                Status = ResponseStatus.Fail
            };

            #region 验证
            if (string.IsNullOrWhiteSpace(request.ApiUrl))
            {
                errMsg = "地址不能为空";
                goto error;
            }

            if (string.IsNullOrWhiteSpace(request.BusinessName))
            {
                errMsg = "任务名称不能为空";
                goto error;
            }
            if (string.IsNullOrWhiteSpace(request.QueueName))
            {
                errMsg = "队列名称不能为空";
                goto error;
            }
            #endregion

            #region add or upsert

            if (request.Id > 0)
            {
                //upsert
                var model = _mQBusinessConfigRepository.Find().FirstOrDefault(x => x.Id == request.Id);
                if (model != null)
                {
                    model.ApiUrl            = request.ApiUrl;
                    model.BusinessName      = request.BusinessName;
                    model.ExceptionNumber   = request.ExceptionNumber;
                    model.Exchange          = request.Exchange;
                    model.IsProperties      = request.IsProperties;
                    model.IsSaveFailMessage = request.IsSaveFailMessage;
                    model.Status            = request.Status;
                    model.MqMessageType     = request.MqMessageType;
                    model.QueueName         = request.QueueName;
                    model.RoutingKey        = request.RoutingKey;
                    model.TimeInterval      = request.TimeInterval;
                    _mQBusinessConfigRepository.Update(model);
                    goto success;
                }
            }
            else
            {
                //add
                var model = new MQBusinessConfig()
                {
                    BusinessName      = request.BusinessName,
                    ApiUrl            = request.ApiUrl,
                    CreateTime        = DateTime.Now,
                    ExceptionNumber   = request.ExceptionNumber,
                    Status            = (int)request.Status,
                    Exchange          = request.Exchange,
                    TimeInterval      = request.TimeInterval,
                    RoutingKey        = request.RoutingKey,
                    QueueName         = request.QueueName,
                    MqMessageType     = request.MqMessageType,
                    IsSaveFailMessage = request.IsSaveFailMessage,
                    IsProperties      = request.IsProperties
                };
                insertId = _mQBusinessConfigRepository.Insert(model);
                goto success;
            }


            #endregion

success:
            try
            {
                _mQBusinessConfigRepository.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex.InnerException;
            }

            res.ErrorMessage = errMsg;
            res.Status       = ResponseStatus.Success;
            res.BusinessData = insertId;
            return(res);

error:
            res.ErrorMessage = errMsg;
            return(res);
        }