IHHomeModel.swift 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  1. //
  2. // IHHomeModel.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/6.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import SwiftyJSON
  10. //处理下拉列表数据
  11. class DropDownData {
  12. var id : String?
  13. @objc var name : String?
  14. var pid : String? //父类id
  15. var level :String? // 层级
  16. var number : String? //房间号
  17. // func collationString() -> String?{
  18. // return self.name
  19. // }
  20. }
  21. /// 国家、省份、城市 酒店下拉等,统一使用这个模型
  22. struct DropDown_result {
  23. var code : HttpApiStatus?
  24. var msg : String?
  25. var list: [DropDownData]?
  26. }
  27. class DropDown_Info: NSObject {
  28. var result : DropDown_result?
  29. var isSuccess : Bool
  30. var status : HttpApiStatus?
  31. init(result:DropDown_result?, isSuccess:Bool, status:HttpApiStatus?) {
  32. self.result = result; self.isSuccess = isSuccess; self.status = status
  33. }
  34. static func fromJSON(_ json:JSON) -> DropDown_Info? {
  35. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  36. let msg = json["msg"].stringValue
  37. let data = json["data"]
  38. let list = data["list"]
  39. var mList = [DropDownData]()
  40. guard let citylist = list.array else { return nil }
  41. for vJSON in citylist {
  42. var cityData = DropDownData()
  43. cityData.name = vJSON["name"].stringValue
  44. cityData.id = vJSON["id"].stringValue
  45. cityData.number = vJSON["number"].stringValue
  46. mList.append(cityData)
  47. }
  48. var isSuccess = false
  49. if code == .Success {
  50. isSuccess = true
  51. }
  52. let result = DropDown_result(code: code, msg: msg, list: mList)
  53. return DropDown_Info(result: result, isSuccess: isSuccess, status: code)
  54. }
  55. }
  56. //homedata
  57. struct HomeData {
  58. var deviceCount : String? // 设备总数
  59. var lightCount : String? //普通灯控数
  60. var cicLightCount :String? // 策略灯控数
  61. var sensorCount:String? // 气象站数
  62. var airPurCount :String? // 空气净化器数
  63. var alarmCount:String? //故障数
  64. var netCount:String? //网关数
  65. var classroomLightCount : String? //教室灯数
  66. var blackboardLightCount : String? //黑板灯数
  67. var curtainDeviceCount : String? //窗帘数
  68. var panelDeviceCount : String? //面板数
  69. }
  70. /// 国家、省份、城市,统一使用这个模型
  71. struct HomeData_result {
  72. var code : HttpApiStatus?
  73. var msg : String?
  74. var data: HomeData?
  75. }
  76. class HomeData_Info: NSObject {
  77. var result : HomeData_result?
  78. var isSuccess : Bool
  79. var status : HttpApiStatus?
  80. init(result:HomeData_result?, isSuccess:Bool, status:HttpApiStatus?) {
  81. self.result = result; self.isSuccess = isSuccess; self.status = status
  82. }
  83. static func fromJSON(_ json:JSON) -> HomeData_Info? {
  84. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  85. let msg = json["msg"].stringValue
  86. let data = json["data"]
  87. let deviceCount = data["deviceCount"].stringValue
  88. let lightCount = data["lightCount"].stringValue
  89. let cicLightCount = data["cicLightCount"].stringValue
  90. let sensorCount = data["sensorCount"].stringValue
  91. let airPurCount = data["airPurCount"].stringValue
  92. let alarmCount = data["alarmCount"].stringValue
  93. let netCount = data["netCount"].stringValue
  94. let classRoomLightCount = data["classroomLightCount"].stringValue
  95. let blackboardLightCount = data["blackboardLightCount"].stringValue
  96. let curtainDeviceCount = data["curtainDeviceCount"].stringValue
  97. let panelDeviceCount = data["panelDeviceCount"].stringValue
  98. var isSuccess = false
  99. if code == .Success {
  100. isSuccess = true
  101. }
  102. let homeData = HomeData(deviceCount: deviceCount, lightCount: lightCount, cicLightCount: cicLightCount, sensorCount: sensorCount, airPurCount: airPurCount, alarmCount: alarmCount,netCount: netCount, classroomLightCount: classRoomLightCount, blackboardLightCount: blackboardLightCount, curtainDeviceCount: curtainDeviceCount, panelDeviceCount: panelDeviceCount)
  103. let result = HomeData_result(code: code, msg: msg, data: homeData)
  104. return HomeData_Info(result: result, isSuccess: isSuccess, status: code)
  105. }
  106. }
  107. struct HotelViewData {
  108. var id :String? // 酒店id
  109. var name :String? // 酒店名称
  110. var deviceCount : String? // 设备总数
  111. var lightCount : String? //普通灯控数
  112. var cicLightCount :String? // 策略灯控数
  113. var sensorCount:String? // 气象站数
  114. var airPurCount :String? // 空气净化器数
  115. var alarmCount:String? //故障数
  116. var classroomLightCount : String? //教室灯数
  117. var blackboardLightCount : String? //黑板灯数
  118. var curtainDeviceCount : String? //窗帘数
  119. var panelDeviceCount : String? //面板数
  120. var netCount : String? //网关数
  121. var type : String? //0 酒店,1 学校
  122. }
  123. struct HotelView_result {
  124. var code : HttpApiStatus?
  125. var msg : String?
  126. var list: [HotelViewData]?
  127. }
  128. class HotelView_Info: NSObject {
  129. var result : HotelView_result?
  130. var isSuccess : Bool
  131. var status : HttpApiStatus?
  132. init(result:HotelView_result?, isSuccess:Bool, status:HttpApiStatus?) {
  133. self.result = result; self.isSuccess = isSuccess; self.status = status
  134. }
  135. static func fromJSON(_ json:JSON) -> HotelView_Info? {
  136. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  137. let msg = json["msg"].stringValue
  138. let data = json["data"]
  139. let list = data["list"]
  140. var mList = [HotelViewData]()
  141. guard let viewlist = list.array else { return nil }
  142. for vJSON in viewlist {
  143. var viewData = HotelViewData()
  144. viewData.id = vJSON["id"].stringValue
  145. viewData.name = vJSON["name"].stringValue
  146. viewData.deviceCount = vJSON["deviceCount"].stringValue
  147. viewData.lightCount = vJSON["lightCount"].stringValue
  148. viewData.cicLightCount = vJSON["cicLightCount"].stringValue
  149. viewData.sensorCount = vJSON["sensorCount"].stringValue
  150. viewData.airPurCount = vJSON["airPurCount"].stringValue
  151. viewData.alarmCount = vJSON["alarmCount"].stringValue
  152. viewData.classroomLightCount = vJSON["classroomLightCount"].stringValue
  153. viewData.blackboardLightCount = vJSON["blackboardLightCount"].stringValue
  154. viewData.panelDeviceCount = vJSON["panelDeviceCount"].stringValue
  155. viewData.curtainDeviceCount = vJSON["curtainDeviceCount"].stringValue
  156. viewData.netCount = vJSON["netCount"].stringValue
  157. viewData.type = vJSON["type"].stringValue
  158. mList.append(viewData)
  159. }
  160. var isSuccess = false
  161. if code == .Success {
  162. isSuccess = true
  163. }
  164. let result = HotelView_result(code: code, msg: msg, list: mList)
  165. return HotelView_Info(result: result, isSuccess: isSuccess, status: code)
  166. }
  167. }
  168. ///酒店地图数据
  169. struct HotelMapData {
  170. var id : String?//酒店id
  171. var name : String?//酒店名称
  172. var longitude : String? //经度
  173. var latitude :String? // 纬度
  174. var roomCount :String? //房间数
  175. var deviceCount:String?// 设备总数
  176. var lightCount:String? //普通灯控数
  177. var cicLightCount:String?//策略灯控数
  178. var sensorCount:String? //气象站数
  179. var airPurCount:String? //空气净化器数
  180. var aqi:String?//aqi值
  181. var location:String? // 酒店位置信息
  182. var countryId:String?
  183. var proId:String?
  184. var cityId:String?
  185. var avatar:String? //酒店头像地址
  186. }
  187. ///
  188. struct HotelMap_result {
  189. var code : HttpApiStatus?
  190. var msg : String?
  191. var list: [HotelMapData]?
  192. }
  193. class HotelMap_Info: NSObject {
  194. var result : HotelMap_result?
  195. var isSuccess : Bool
  196. var status : HttpApiStatus?
  197. init(result:HotelMap_result?, isSuccess:Bool, status:HttpApiStatus?) {
  198. self.result = result; self.isSuccess = isSuccess; self.status = status
  199. }
  200. static func fromJSON(_ json:JSON) -> HotelMap_Info? {
  201. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  202. let msg = json["msg"].stringValue
  203. let data = json["data"]
  204. let list = data["list"]
  205. var mList = [HotelMapData]()
  206. guard let hotellist = list.array else { return nil }
  207. for vJSON in hotellist {
  208. var hotelData = HotelMapData()
  209. hotelData.name = vJSON["name"].stringValue
  210. hotelData.id = vJSON["id"].stringValue
  211. hotelData.latitude = vJSON["latitude"].stringValue
  212. hotelData.longitude = vJSON["longitude"].stringValue
  213. hotelData.roomCount = vJSON["roomCount"].stringValue
  214. hotelData.deviceCount = vJSON["deviceCount"].stringValue
  215. hotelData.lightCount = vJSON["lightCount"].stringValue
  216. hotelData.cicLightCount = vJSON["cicLightCount"].stringValue
  217. hotelData.sensorCount = vJSON["sensorCount"].stringValue
  218. hotelData.airPurCount = vJSON["airPurCount"].stringValue
  219. hotelData.aqi = vJSON["aqi"].stringValue
  220. hotelData.location = vJSON["location"].stringValue
  221. hotelData.countryId = vJSON["countryId"].stringValue
  222. hotelData.proId = vJSON["proId"].stringValue
  223. hotelData.cityId = vJSON["cityId"].stringValue
  224. hotelData.avatar = vJSON["avatar"].stringValue
  225. mList.append(hotelData)
  226. }
  227. var isSuccess = false
  228. if code == .Success {
  229. isSuccess = true
  230. }
  231. let result = HotelMap_result(code: code, msg: msg, list: mList)
  232. return HotelMap_Info(result: result, isSuccess: isSuccess, status: code)
  233. }
  234. }
  235. struct Hotel_weather_result {
  236. var code : HttpApiStatus?
  237. var msg : String?
  238. var cond_txt:String? // 实况天气状况代码
  239. var cond_code :String? //实况天气状况描述
  240. var averageAir:String? //空气指数
  241. var airStatus:String?//空气等级
  242. }
  243. class Hotel_weather_Info: NSObject {
  244. var result : Hotel_weather_result?
  245. var isSuccess : Bool
  246. var status : HttpApiStatus?
  247. init(result:Hotel_weather_result?, isSuccess:Bool, status:HttpApiStatus?) {
  248. self.result = result; self.isSuccess = isSuccess; self.status = status
  249. }
  250. static func fromJSON(_ json:JSON) -> Hotel_weather_Info? {
  251. var result = Hotel_weather_result()
  252. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  253. result.msg = json["msg"].stringValue
  254. let data = json["data"]
  255. result.cond_txt = data["cond_txt"].stringValue
  256. result.cond_code = data["cond_code"].stringValue
  257. result.averageAir = data["averageAir"].stringValue
  258. result.airStatus = data["airStatus"].stringValue
  259. result.code = code
  260. var isSuccess = false
  261. if code == .Success {
  262. isSuccess = true
  263. }
  264. return Hotel_weather_Info(result: result, isSuccess: isSuccess, status: code)
  265. }
  266. }
  267. struct Home_alarm_result {
  268. var code : HttpApiStatus?
  269. var msg : String?
  270. var alarmTotalCount:String?
  271. var alarmFixed :String? //已处理的故障
  272. var alarmAbnormality:String? //未处理的故障
  273. var alarmTimeout:String? //超时故障数
  274. }
  275. class Home_alarm_info_Info: NSObject {
  276. var result : Home_alarm_result?
  277. var isSuccess : Bool
  278. var status : HttpApiStatus?
  279. init(result:Home_alarm_result?, isSuccess:Bool, status:HttpApiStatus?) {
  280. self.result = result; self.isSuccess = isSuccess; self.status = status
  281. }
  282. static func fromJSON(_ json:JSON) -> Home_alarm_info_Info? {
  283. var result = Home_alarm_result()
  284. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  285. result.msg = json["msg"].stringValue
  286. let data = json["data"]
  287. result.alarmTotalCount = data["alarmTotalCount"].stringValue
  288. result.alarmFixed = data["alarmFixed"].stringValue
  289. result.alarmAbnormality = data["alarmAbnormality"].stringValue
  290. result.alarmTimeout = data["alarmTimeout"].stringValue
  291. result.code = code
  292. var isSuccess = false
  293. if code == .Success {
  294. isSuccess = true
  295. }
  296. return Home_alarm_info_Info(result: result, isSuccess: isSuccess, status: code)
  297. }
  298. }
  299. struct Home_room_env_status {
  300. var code : HttpApiStatus?
  301. var msg : String?
  302. var dataList:[String]?//空气质量数据列表
  303. var timeList:[String]?//时间列表
  304. var averageAir:String?//当前空气质量
  305. var level :String? //当前空气质量等级
  306. var temperature:String? //温度
  307. var humidity:String? //湿度
  308. var HCHO:String? //HCHO 甲醛
  309. var PM25:String? //pm2.5
  310. var CO2:String? //CO2
  311. var TVOC:String? //TVOC
  312. }
  313. class Home_room_env_status_Info: NSObject {
  314. var result : Home_room_env_status?
  315. var isSuccess : Bool
  316. var status : HttpApiStatus?
  317. init(result:Home_room_env_status?, isSuccess:Bool, status:HttpApiStatus?) {
  318. self.result = result; self.isSuccess = isSuccess; self.status = status
  319. }
  320. static func fromJSON(_ json:JSON) -> Home_room_env_status_Info? {
  321. var result = Home_room_env_status()
  322. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  323. result.msg = json["msg"].stringValue
  324. let data = json["data"]
  325. var datalist = [String]()
  326. let _datalist = data["dataList"].arrayValue
  327. for data in _datalist {
  328. let dataStr = data.stringValue
  329. datalist.append(dataStr)
  330. }
  331. result.dataList = datalist
  332. var timeList = [String]()
  333. let _timeList = data["timeList"].arrayValue
  334. for time in _timeList {
  335. let timeStr = time.stringValue
  336. timeList.append(timeStr)
  337. }
  338. result.timeList = timeList
  339. result.averageAir = data["averageAir"].stringValue
  340. result.level = data["level"].stringValue
  341. result.temperature = data["temperature"].stringValue
  342. result.humidity = data["humidity"].stringValue
  343. result.HCHO = data["HCHO"].stringValue
  344. result.PM25 = data["PM25"].stringValue
  345. result.CO2 = data["CO2"].stringValue
  346. result.TVOC = data["TVOC"].stringValue
  347. result.code = code
  348. var isSuccess = false
  349. if code == .Success {
  350. isSuccess = true
  351. }
  352. return Home_room_env_status_Info(result: result, isSuccess: isSuccess, status: code)
  353. }
  354. }