DefaultSettingsCreator.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System.Linq;
  2. using Abp.Localization;
  3. using WePlatform.Configuration;
  4. using WePlatform.EF;
  5. using IwbZero.Authorization.Base.SystemInfo;
  6. namespace WePlatform.SeedData
  7. {
  8. public class DefaultSettingsCreator
  9. {
  10. private readonly WePlatformDbContext _context;
  11. public DefaultSettingsCreator(WePlatformDbContext context)
  12. {
  13. _context = context;
  14. }
  15. public void Create()
  16. {
  17. _context.TruncateTable("[dbo].[Sys_Settings]");
  18. AddSettingIfNotExists("默认语言", LocalizationSettingNames.DefaultLanguage, IwbConsts.DefaultLanguage, "默认语言", SystemSettingTypeDefinition.System);
  19. AddSettingIfNotExists("登陆页面背景路径", IwbSettingNames.LoginPagePath, IwbConsts.LoginHomeImagePath, "登陆页面背景的基础路径", SystemSettingTypeDefinition.User);
  20. AddSettingIfNotExists("主页面背景路径", IwbSettingNames.HomePagePath, IwbConsts.LoginHomeImagePath, "主页面背景的基础路径", SystemSettingTypeDefinition.User);
  21. AddSettingIfNotExists("是否开启接受通知", IwbSettingNames.ReceiveNotifications, "true", "是否开启接受通知(true:开启、false:禁用)", SystemSettingTypeDefinition.User);
  22. AddSettingIfNotExists("是否多语言", IwbSettingNames.MultiLanguages, MultiLanguagesDefinition.Multi, "是:Y;否:N");
  23. AddSettingIfNotExists("系统平台名称", IwbSettingNames.AdminSystemName, "智慧应急演练培训平台");
  24. //AddSettingIfNotExists("平台版本", IwbSettingNames.AdminSystemVersion, "1.0.0");
  25. AddSettingIfNotExists("文件路径", IwbSettingNames.DownloadPath, "Download/AttachFiles", "上传文件默认路径");
  26. AddSettingIfNotExists("文件类型", IwbSettingNames.UploadFileExt, "jpg,png,pdf,xlsx,xls,doc,docx,zip,rar,mp3,mp4", "系统允许上传的文件类型");
  27. AddSettingIfNotExists("单文件文件大小(单位:兆)", IwbSettingNames.UploadFileMaxSize, "10", "系统允许上传的单个文件最大值(最小1M、最大100M、非法值取10M)");
  28. AddSettingIfNotExists("用户默认密码", IwbSettingNames.UserDefaultPassword, "111222", "新创建用户初始密码");
  29. AddSettingIfNotExists("页面底部", IwbSettingNames.HtmlPagesFooter, @"<strong>Copyright © 2019 <a href='#'>JY.Net</a>.</strong> All Rights Reserved.", "页面底部内容");
  30. AddSettingIfNotExists("GUID前缀", IwbSettingNames.WePlatformRecordIdPrefix, @"JY", "系统生成的GUID前缀");
  31. AddSettingIfNotExists("消息服务器IP", IwbSettingNames.MqttServiceIp, "shvber.com", "消息服务器IP");
  32. AddSettingIfNotExists("消息服务器端口", IwbSettingNames.MqttServicePort, "1885", "消息服务器端口");
  33. AddSettingIfNotExists("消息用户注册端口", IwbSettingNames.HttpMqttServicePort, "8201", "消息服务器注册用户端口");
  34. }
  35. private void AddSettingIfNotExists(string displayName, string name, string value, string desc = null, int? type = SystemSettingTypeDefinition.Tenant, int? tenantId = null)
  36. {
  37. // ReSharper disable once ConditionIsAlwaysTrueOrFalse
  38. if (tenantId == null && !IwbConsts.MultiTenancyEnabled)
  39. {
  40. tenantId = 1;
  41. }
  42. if (_context.Settings.Any(s => s.Name == name && s.TenantId == tenantId && s.UserId == null))
  43. {
  44. return;
  45. }
  46. var setting = new SysSetting(tenantId, null, name, value, displayName, type)
  47. {
  48. Description = desc ?? displayName
  49. };
  50. _context.Settings.Add(setting);
  51. _context.SaveChanges();
  52. }
  53. }
  54. }