ChannelConfigurationManager.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. using Microsoft.Extensions.Options;
  2. using XF.Domain.Dependency;
  3. namespace DataSharing
  4. {
  5. /// <summary>
  6. /// 获取系统配置
  7. /// </summary>
  8. public class ChannelConfigurationManager : IChannelConfigurationManager, IScopeDependency
  9. {
  10. private readonly IOptionsSnapshot<ChannelConfiguration> _channelOption;
  11. /// <summary>
  12. ///
  13. /// </summary>
  14. /// <param name="channelOption"></param>
  15. public ChannelConfigurationManager(IOptionsSnapshot<ChannelConfiguration> channelOption)
  16. {
  17. _channelOption = channelOption;
  18. }
  19. /// <summary>
  20. /// 获取服务名称
  21. /// </summary>
  22. /// <returns></returns>
  23. public string GetConfigurationProcessingServices()
  24. {
  25. return _channelOption.Value.ProcessingServices;
  26. }
  27. /// <summary>
  28. /// 业务系统附件上传配置
  29. /// </summary>
  30. /// <returns></returns>
  31. public ConfigurationBusinessFile GetConfigurationBusinessFile()
  32. {
  33. return _channelOption.Value.BusinessFile;
  34. }
  35. /// <summary>
  36. /// 写入工单数据
  37. /// </summary>
  38. /// <returns></returns>
  39. public ConfigurationHotlineClient GetConfigurationHotlineClient()
  40. {
  41. return _channelOption.Value.HotlineClient;
  42. }
  43. /// <summary>
  44. /// 省12345配置
  45. /// </summary>
  46. /// <returns></returns>
  47. public ConfigurationProvince GetConfigurationProvince()
  48. {
  49. return _channelOption.Value.Province;
  50. }
  51. }
  52. /// <summary>
  53. /// 获取地市系统配置
  54. /// </summary>
  55. public interface ISharingConfigurationManager
  56. {
  57. /// <summary>
  58. /// 判断是否是指定市州
  59. /// </summary>
  60. /// <param name="cityCode"></param>
  61. /// <returns></returns>
  62. bool IsCity(string cityCode);
  63. /// <summary>
  64. /// 获取市州编码
  65. /// </summary>
  66. /// <returns></returns>
  67. string GetCityCode();
  68. /// <summary>
  69. /// 获取市州名称
  70. /// </summary>
  71. /// <returns></returns>
  72. string GetCityName();
  73. /// <summary>
  74. /// 获取热线名称
  75. /// </summary>
  76. /// <returns></returns>
  77. string GetHotlineName();
  78. /// <summary>
  79. ///获取省12345平台部门Code
  80. /// </summary>
  81. /// <returns></returns>
  82. string GetProvinceOrgCode();
  83. /// <summary>
  84. /// 获取省12345交办部门Code
  85. /// </summary>
  86. /// <returns></returns>
  87. string GetProvinceAssignmentOrgCode();
  88. /// <summary>
  89. ///获取 110部门Code
  90. /// </summary>
  91. /// <returns></returns>
  92. string GetPoliceOrgCode();
  93. /// <summary>
  94. /// 获取宜宾配置
  95. /// </summary>
  96. /// <returns></returns>
  97. CityYiBinConfig GetYiBinConfig();
  98. /// <summary>
  99. /// 获取自贡配置
  100. /// </summary>
  101. /// <returns></returns>
  102. CityZiGongConfig GetZiGongConfig();
  103. }
  104. /// <summary>
  105. /// 获取地市系统配置
  106. /// </summary>
  107. public class SharingConfigurationManager : ISharingConfigurationManager, IScopeDependency
  108. {
  109. private readonly IOptionsSnapshot<SharingConfiguration> _sharingOption;
  110. /// <summary>
  111. ///
  112. /// </summary>
  113. /// <param name="sharingOption"></param>
  114. public SharingConfigurationManager(IOptionsSnapshot<SharingConfiguration> sharingOption)
  115. {
  116. _sharingOption = sharingOption;
  117. }
  118. /// <summary>
  119. ///
  120. /// </summary>
  121. /// <param name="cityCode"></param>
  122. /// <returns></returns>
  123. public bool IsCity(string cityCode) =>
  124. _sharingOption.Value.CityCode.Equals(cityCode, StringComparison.OrdinalIgnoreCase);
  125. /// <summary>
  126. ///
  127. /// </summary>
  128. /// <returns></returns>
  129. public string GetCityCode() => _sharingOption.Value.CityCode;
  130. /// <summary>
  131. ///
  132. /// </summary>
  133. /// <returns></returns>
  134. public string GetCityName() => _sharingOption.Value.CityName;
  135. /// <summary>
  136. ///
  137. /// </summary>
  138. /// <returns></returns>
  139. public string GetHotlineName()=> _sharingOption.Value.HotlineName;
  140. /// <summary>
  141. ///
  142. /// </summary>
  143. /// <returns></returns>
  144. public string GetProvinceOrgCode() => _sharingOption.Value.ProvinceOrgCode;
  145. /// <summary>
  146. ///
  147. /// </summary>
  148. /// <returns></returns>
  149. public string GetProvinceAssignmentOrgCode() => _sharingOption.Value.ProvinceAssignmentOrgCode;
  150. /// <summary>
  151. ///
  152. /// </summary>
  153. /// <returns></returns>
  154. public string GetPoliceOrgCode() => _sharingOption.Value.PoliceOrgCode;
  155. /// <summary>
  156. ///
  157. /// </summary>
  158. /// <returns></returns>
  159. public CityYiBinConfig GetYiBinConfig() => _sharingOption.Value.CityYiBin;
  160. /// <summary>
  161. ///
  162. /// </summary>
  163. /// <returns></returns>
  164. public CityZiGongConfig GetZiGongConfig() => _sharingOption.Value.CityZiGong;
  165. }
  166. }