IHHomeService.swift 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. //
  2. // IHHomeService.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/9.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import SwiftyJSON
  10. class IHHomeService: NSObject {
  11. static let share : IHHomeService = IHHomeService()
  12. ///国家列表
  13. lazy var countryList: [DropDownData] = {
  14. let contrylist = [DropDownData]()
  15. return contrylist
  16. }()
  17. //省份列表
  18. lazy var provinceList: [DropDownData] = {
  19. let provinceList = [DropDownData]()
  20. return provinceList
  21. }()
  22. //城市列表
  23. lazy var cityList: [DropDownData] = {
  24. let cityList = [DropDownData]()
  25. return cityList
  26. }()
  27. //酒店下拉列表
  28. lazy var hotelList: [DropDownData] = {
  29. let hotelList = [DropDownData]()
  30. return hotelList
  31. }()
  32. //酒店概览列表
  33. lazy var hotelViewlList: [HotelViewData] = {
  34. let hotelViewlList = [HotelViewData]()
  35. return hotelViewlList
  36. }()
  37. ///获取国家列表
  38. func getContryList(requestSuccess:@escaping ([DropDownData])->Void,requestFail:@escaping (()->Void)){
  39. let username = AppShare.username
  40. let client_key = AppShare.client_key
  41. let os = AppShare.os
  42. let version = AppShare.version
  43. let token = AppShare.token
  44. g_area_country_listHttpRequest(username, client_key: client_key, os: os, version: version, token: token, success: { (json) -> (Void) in
  45. self.countryList.removeAll()
  46. let mCountryInfo = DropDown_Info.fromJSON(json)
  47. let result = mCountryInfo?.result
  48. guard let list = result?.list else { return}
  49. for country in list{
  50. let mdata =
  51. self.countryList.append(country)
  52. }
  53. requestSuccess(self.countryList)
  54. }, fail: requestFail)
  55. }
  56. ///获取省份列表
  57. func getProvinceList(_ countryId:String?,requestSuccess:@escaping ([DropDownData])->Void,requestFail:@escaping (()->Void)){
  58. let username = AppShare.username
  59. let client_key = AppShare.client_key
  60. let os = AppShare.os
  61. let version = AppShare.version
  62. let token = AppShare.token
  63. g_area_province_listHttpRequest(username, client_key: client_key, os: os, version: version, token: token, countryId: countryId, success: { (json) -> (Void) in
  64. self.provinceList.removeAll()
  65. let mProvinceInfo = DropDown_Info.fromJSON(json)
  66. let result = mProvinceInfo?.result
  67. guard let list = result?.list else { return}
  68. for country in list{
  69. self.provinceList.append(country)
  70. }
  71. requestSuccess(self.provinceList)
  72. }, fail: requestFail)
  73. }
  74. //获取城市列表
  75. func getCityeList(_ provinceId:String?,requestSuccess:@escaping ([DropDownData])->Void,requestFail:@escaping (()->Void)){
  76. let username = AppShare.username
  77. let client_key = AppShare.client_key
  78. let os = AppShare.os
  79. let version = AppShare.version
  80. let token = AppShare.token
  81. g_area_city_listHttpRequest(username, client_key: client_key, os: os, version: version, token: token, provinceId: provinceId, success: { (json) -> (Void) in
  82. self.cityList.removeAll()
  83. let mCityInfo = DropDown_Info.fromJSON(json)
  84. let result = mCityInfo?.result
  85. guard let list = result?.list else { return}
  86. for city in list{
  87. self.cityList.append(city)
  88. }
  89. requestSuccess(self.cityList)
  90. }, fail: requestFail)
  91. }
  92. ///获取酒店下拉列表
  93. func getHotelList(_ cityId:String?,requestSuccess:@escaping ([DropDownData])->Void,requestFail:@escaping (()->Void)){
  94. let username = AppShare.username
  95. let client_key = AppShare.client_key
  96. let os = AppShare.os
  97. let version = AppShare.version
  98. let token = AppShare.token
  99. g_area_hotel_listHttpRequest(username, client_key: client_key, os: os, version: version, token: token, cityId: cityId, success: { (json) -> (Void) in
  100. self.hotelList.removeAll()
  101. let mCityInfo = DropDown_Info.fromJSON(json)
  102. let result = mCityInfo?.result
  103. guard let list = result?.list else { return}
  104. for hotel in list{
  105. self.hotelList.append(hotel)
  106. }
  107. requestSuccess(self.hotelList)
  108. }, fail: requestFail)
  109. }
  110. //获取首页数据
  111. func getHomeData(hotelId:String?,requestSuccess:@escaping (HomeData)->Void,requestFail:@escaping (()->Void) ) {
  112. let username = AppShare.username
  113. let client_key = AppShare.client_key
  114. let os = AppShare.os
  115. let version = AppShare.version
  116. let token = AppShare.token
  117. g_home_dataHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, success: { (json) -> (Void) in
  118. let mHomedataInfo = HomeData_Info.fromJSON(json)
  119. guard let result = mHomedataInfo?.result else {return}
  120. guard let data = result.data else {return}
  121. if let deviceCount = data.deviceCount,
  122. let lightCount = data.lightCount,
  123. let cicLightCount = data.cicLightCount,
  124. let sensorCount = data.sensorCount,
  125. let airPurCount = data.airPurCount,
  126. let alarmCount = data.alarmCount,
  127. let netCount = data.netCount,
  128. let classroomLightCount = data.classroomLightCount,
  129. let blackboardLightCount = data.blackboardLightCount,
  130. let curtainDeviceCount = data.curtainDeviceCount,
  131. let panelDeviceCount = data.panelDeviceCount{
  132. //设备总数 : deviceCount +netCount
  133. let total = (deviceCount.int)! + (netCount.int)!
  134. let homedata = HomeData(deviceCount: "\(total)", lightCount: lightCount, cicLightCount: cicLightCount, sensorCount: sensorCount, airPurCount: airPurCount, alarmCount: alarmCount,netCount: netCount,classroomLightCount: classroomLightCount,blackboardLightCount: blackboardLightCount,curtainDeviceCount: curtainDeviceCount,panelDeviceCount: panelDeviceCount)
  135. requestSuccess(homedata)
  136. }
  137. }, fail: requestFail)
  138. }
  139. ///获取首页概览列表
  140. func getHotelviewData(hotelId:String?, requestSuccess:@escaping ([HotelViewData])->Void,requestFail:@escaping (()->Void)) {
  141. let username = AppShare.username
  142. let client_key = AppShare.client_key
  143. let os = AppShare.os
  144. let version = AppShare.version
  145. let token = AppShare.token
  146. g_home_hotel_viewHttpRequest(username, client_key: client_key, os: os, version: version,token:token, hotelId: nil, success: { (json) -> (Void) in
  147. self.hotelViewlList.removeAll()
  148. let mHotelViewInfo = HotelView_Info.fromJSON(json)
  149. let result = mHotelViewInfo?.result
  150. guard let list = result?.list else { return}
  151. for hotel in list{
  152. if let id = hotel.id,let name = hotel.name,let deviceCount = hotel.deviceCount,let lightCount = hotel.lightCount, let cicLightCount = hotel.cicLightCount,let sensorCount = hotel.sensorCount,let airPurCount = hotel.airPurCount,let alarmCount = hotel.alarmCount ,let classroomLightCount = hotel.classroomLightCount,let blackboardLightCount = hotel.blackboardLightCount,let curtainDeviceCount = hotel.curtainDeviceCount,
  153. let panelDeviceCount = hotel.panelDeviceCount,let netCount = hotel.netCount,let type = hotel.type{
  154. let aHotel = HotelViewData(id: id, name: name, deviceCount: deviceCount, lightCount: lightCount, cicLightCount: cicLightCount, sensorCount: sensorCount, airPurCount: airPurCount, alarmCount: alarmCount,classroomLightCount: classroomLightCount,blackboardLightCount: blackboardLightCount,curtainDeviceCount: curtainDeviceCount,panelDeviceCount: panelDeviceCount,netCount: netCount,type: type)
  155. self.hotelViewlList.append(aHotel)
  156. }
  157. }
  158. requestSuccess(self.hotelViewlList)
  159. }, fail: requestFail)
  160. }
  161. func getHotelWeather(_ hotelId:String,requestSuccess:@escaping (String,String,String,String)->Void,requestFail:@escaping (()->Void)) {
  162. let username = AppShare.username
  163. let client_key = AppShare.client_key
  164. let os = AppShare.os
  165. let version = AppShare.version
  166. let token = AppShare.token
  167. g_home_get_hotel_weatherHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, success: { (json) -> (Void) in
  168. let weatherInfo = Hotel_weather_Info.fromJSON(json)
  169. let result = weatherInfo?.result
  170. let cond_code = result?.cond_code ?? "999"
  171. let cond_txt = result?.cond_txt ?? ""
  172. let averageAir = result?.averageAir ?? "0"
  173. let level = result?.airStatus ?? "Good"
  174. requestSuccess(cond_code,cond_txt,averageAir,level)
  175. }) { () -> (Void) in
  176. requestFail()
  177. }
  178. }
  179. func getRoomEnvStatus(_ hotelId:String,requestSuccess:@escaping (Home_room_env_status)->Void) {
  180. let username = AppShare.username
  181. let client_key = AppShare.client_key
  182. let os = AppShare.os
  183. let version = AppShare.version
  184. let token = AppShare.token
  185. g_home_room_env_statusHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, success: { (json) -> (Void) in
  186. let info = Home_room_env_status_Info.fromJSON(json)
  187. let result = info?.result
  188. if result?.code == .Success{
  189. requestSuccess(result!)
  190. }
  191. }) { () -> (Void) in
  192. }
  193. }
  194. //获取故障数量角标
  195. func getAlarmCountBadgeNumber(_ hotelId:String?,requestSuccess:@escaping (String)->Void) {
  196. let username = AppShare.username
  197. let client_key = AppShare.client_key
  198. let os = AppShare.os
  199. let version = AppShare.version
  200. let token = AppShare.token
  201. g_home_alarm_infoHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, success: { (json) -> (Void) in
  202. let info = Home_alarm_info_Info.fromJSON(json)
  203. let result = info?.result
  204. if result?.code == .Success{
  205. let badgeNumber = Int(result!.alarmAbnormality!) //未处理数
  206. requestSuccess("\(badgeNumber!)")
  207. }
  208. }) { () -> (Void) in
  209. }
  210. }
  211. }