AutofacRegister.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using Autofac;
  2. using OASystem.API.OAMethodLib.DeepSeekAPI;
  3. using OASystem.Domain.Dtos.Business;
  4. using OASystem.Domain.Dtos.Groups;
  5. using OASystem.Domain.Dtos.KiMi;
  6. namespace OASystem.API.OAMethodLib
  7. {
  8. public class AutofacRegister : Autofac.Module
  9. {
  10. protected override void Load(ContainerBuilder builder)
  11. {
  12. //OASystem.Infrastructure中所有以Repository结尾的文件都会被注入到项目
  13. var assemblyServices = Assembly.Load("OASystem.Infrastructure");
  14. builder.RegisterAssemblyTypes(assemblyServices).Where(a => a.Name.EndsWith("Repository")).AsSelf();
  15. #region 团组流程管控配置
  16. GroupsConfig _groupsConfig = new GroupsConfig();
  17. _groupsConfig.AutoCreate = int.Parse(AppSettingsHelper.Get(GroupsConfig.KEY, "AutoCreate"));
  18. _groupsConfig.Leader = int.Parse(AppSettingsHelper.Get(GroupsConfig.KEY, "Leader"));
  19. _groupsConfig.ExBeginDays = int.Parse(AppSettingsHelper.Get(GroupsConfig.KEY, "ExBeginDays"));
  20. _groupsConfig.ExEndDays = int.Parse(AppSettingsHelper.Get(GroupsConfig.KEY, "ExEndDays"));
  21. _groupsConfig.DefaultUser = int.Parse(AppSettingsHelper.Get(GroupsConfig.KEY, "DefaultUser"));
  22. _groupsConfig.Boss = int.Parse(AppSettingsHelper.Get(GroupsConfig.KEY, "Boss"));
  23. _groupsConfig.FilterUser = AppSettingsHelper.Get(GroupsConfig.KEY, "FilterUser");
  24. builder.RegisterInstance<GroupsConfig>(_groupsConfig);
  25. #endregion
  26. builder.RegisterInstance(AppSettingsHelper.GetSection("KiMiSetting").Get<KiMiSetting>() ?? new KiMiSetting
  27. {
  28. BaseUrl = AppSettingsHelper.Get("KiMiSetting:BaseUrl"),
  29. Key = AppSettingsHelper.Get("KiMiSetting:Key"),
  30. Model = AppSettingsHelper.Get("KiMiSetting:Model")
  31. })
  32. .As<KiMiSetting>()
  33. .SingleInstance();
  34. builder.RegisterInstance(AppSettingsHelper.GetSection("DeepSeek").Get<DeepSeek>() ?? new DeepSeek
  35. {
  36. BaseAddress = AppSettingsHelper.Get("DeepSeek:BaseAddress"),
  37. ApiKey = AppSettingsHelper.Get("DeepSeek:ApiKey")
  38. })
  39. .As<DeepSeek>()
  40. .SingleInstance();
  41. #region 团组结束通知短信
  42. DeleReminderConfig _deleReminderConfig = new DeleReminderConfig();
  43. _deleReminderConfig.Test = AppSettingsHelper.Get(DeleReminderConfig.KEY, "Test");
  44. _deleReminderConfig.PhoneNumber = AppSettingsHelper.Get(DeleReminderConfig.KEY, "PhoneNumber");
  45. builder.RegisterInstance<DeleReminderConfig>(_deleReminderConfig);
  46. #endregion
  47. }
  48. }
  49. }