IHUserModel.swift 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. //
  2. // IHUserModel.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/23.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import SwiftyJSON
  10. //操作
  11. struct Permission_Result {
  12. var code : HttpApiStatus?
  13. var msg : String?
  14. var rootNodes :[IHTreeTableViewNode]?
  15. var airPurifierAuth:String?
  16. var sensorAuth:String?
  17. var lightAuth:String?
  18. var cirLight:String?
  19. }
  20. class Permission_Info: NSObject {
  21. var result : Permission_Result?
  22. var isSuccess : Bool
  23. var status : HttpApiStatus?
  24. init(result:Permission_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  25. self.result = result; self.isSuccess = isSuccess; self.status = status
  26. }
  27. static func fromJSON(_ json:JSON) -> Permission_Info? {
  28. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  29. let msg = json["msg"].stringValue
  30. var result = Permission_Result()
  31. result.msg = msg
  32. result.code = code
  33. let data = json["data"]
  34. result.airPurifierAuth = data["airPurifierAuth"].stringValue
  35. result.sensorAuth = data["sensorAuth"].stringValue
  36. result.lightAuth = data["lightAuth"].stringValue
  37. result.cirLight = data["cirLight"].stringValue
  38. let list = data["list"]
  39. guard let datalist = list.array else { return nil }
  40. let rootNodes = Permission_Info.getRootNodes(datalist)
  41. result.rootNodes = rootNodes
  42. var isSuccess = false
  43. if code == .Success {
  44. isSuccess = true
  45. }
  46. return Permission_Info(result: result, isSuccess: isSuccess, status: code)
  47. }
  48. private static func getRootNodes(_ datalist:[JSON]) -> [IHTreeTableViewNode] {
  49. var rootNodes = [IHTreeTableViewNode]()
  50. for i in 0..<datalist.count {
  51. let build = datalist[i]
  52. let name = build["name"].stringValue
  53. let id = build["id"].stringValue
  54. let deviceCount = build["deviceCount"].stringValue
  55. let buildList = build["buildList"]
  56. let buildNode = IHTreeTableViewNode(nodeID: id, nodeName: name, deviceCount: deviceCount, isExpand: false)
  57. rootNodes.append(buildNode!) // 根节点
  58. guard let aBuildList = buildList.array else { break }
  59. if aBuildList.count != 0 {
  60. for j in 0..<aBuildList.count {
  61. let floor = aBuildList[j]
  62. let bname = floor["name"].stringValue
  63. let bid = floor["id"].stringValue
  64. let bdeviceCount = floor["deviceCount"].stringValue
  65. let floorList = floor["floorList"]
  66. let hotelId = floor["hotelId"].stringValue
  67. let floorNode = IHTreeTableViewNode(nodeID: bid, nodeName: bname, deviceCount: bdeviceCount, isExpand: false)
  68. if hotelId == id{
  69. log.debug("绑定父子关系")
  70. //绑定父子关系
  71. buildNode?.addChildNode(childNode: floorNode!)
  72. }
  73. // rootNodes.append(floorNode!)
  74. guard let aFloorList = floorList.array else { break }
  75. if aFloorList.count != 0{
  76. for k in 0..<aFloorList.count {
  77. let room = aFloorList[k]
  78. let fname = room["name"].stringValue
  79. let fid = room["id"].stringValue
  80. let fdeviceCount = room["deviceCount"].stringValue
  81. let roomList = room["roomList"]
  82. let floorId = room["buildId"].stringValue
  83. let roomNode = IHTreeTableViewNode(nodeID: fid, nodeName: fname, deviceCount: fdeviceCount, isExpand: false)
  84. if floorId == bid {
  85. floorNode?.addChildNode(childNode: roomNode!)
  86. }
  87. log.debug("roomList.count \(roomList.count)")
  88. // rootNodes.append(roomNode!)
  89. guard let aRoomList = roomList.array else { break }
  90. if aRoomList.count != 0 {
  91. for l in 0..<aRoomList.count {
  92. let mRoom = aRoomList[l]
  93. let rname = mRoom["number"].stringValue
  94. let rid = mRoom["id"].stringValue
  95. let rdeviceCount = mRoom["deviceCount"].stringValue
  96. let floorId = mRoom["floorId"].stringValue
  97. let aloneNode = IHTreeTableViewNode(nodeID: rid, nodeName: rname, deviceCount: rdeviceCount, isExpand: false)
  98. if floorId == fid {
  99. roomNode?.addChildNode(childNode: aloneNode!)
  100. }
  101. // rootNodes.append(aloneNode!)
  102. }
  103. }
  104. }
  105. }
  106. }
  107. }
  108. }
  109. return rootNodes
  110. }
  111. }
  112. struct LogData {
  113. var id : String? // ///日志id
  114. var name :String? //操作类型
  115. var activites:String?
  116. var floor :String? // 楼层数
  117. var room :String? // 房间编号
  118. var time:String? // 日志更新时间
  119. var description:String? //日志描述信息
  120. var operaType:String? //操作类型(1 添加,2 删除,3 编辑,4 指令)
  121. var userId :String? //用户id
  122. }
  123. //操作
  124. struct Log_Result {
  125. var code : HttpApiStatus?
  126. var msg : String?
  127. var list :[LogData]?
  128. var total:Int?
  129. }
  130. class Log_Info: NSObject {
  131. var result : Log_Result?
  132. var isSuccess : Bool
  133. var status : HttpApiStatus?
  134. init(result:Log_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  135. self.result = result; self.isSuccess = isSuccess; self.status = status
  136. }
  137. static func fromJSON(_ json:JSON) -> Log_Info? {
  138. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  139. let msg = json["msg"].stringValue
  140. var result = Log_Result()
  141. result.msg = msg
  142. result.code = code
  143. let data = json["data"]
  144. result.total = data["total"].intValue
  145. var _loglist = [LogData]()
  146. let list = data["list"]
  147. guard let datalist = list.array else { return nil }
  148. for vJSON in datalist {
  149. let id = vJSON["id"].stringValue
  150. let name = vJSON["name"].stringValue
  151. let activites = vJSON["activites"].stringValue
  152. let floor = vJSON["floor"].stringValue
  153. let room = vJSON["room"].stringValue
  154. let _time = vJSON["time"].stringValue
  155. let time = _time.replacingOccurrences(of: "-", with: "/")
  156. let description = vJSON["description"].stringValue
  157. let operaType = vJSON["operaType"].stringValue
  158. let uerId = vJSON["userid"].stringValue
  159. let log = LogData(id: id, name: name, activites: activites, floor: floor, room: room, time: time, description: description, operaType: operaType,userId: uerId)
  160. _loglist.append(log)
  161. }
  162. result.list = _loglist
  163. var isSuccess = false
  164. if code == .Success {
  165. isSuccess = true
  166. }
  167. return Log_Info(result: result, isSuccess: isSuccess, status: code)
  168. }
  169. }
  170. struct RoomCount_Result {
  171. var code : HttpApiStatus?
  172. var msg : String?
  173. var count:String?
  174. }
  175. class RoomCount_Info: NSObject {
  176. var result : RoomCount_Result?
  177. var isSuccess : Bool
  178. var status : HttpApiStatus?
  179. init(result:RoomCount_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  180. self.result = result; self.isSuccess = isSuccess; self.status = status
  181. }
  182. static func fromJSON(_ json:JSON) -> RoomCount_Info? {
  183. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  184. let msg = json["msg"].stringValue
  185. var result = RoomCount_Result()
  186. result.msg = msg
  187. result.code = code
  188. let data = json["data"]
  189. result.count = data["count"].stringValue
  190. var isSuccess = false
  191. if code == .Success {
  192. isSuccess = true
  193. }
  194. return RoomCount_Info(result: result, isSuccess: isSuccess, status: code)
  195. }
  196. }
  197. struct Upload_Result {
  198. var code : HttpApiStatus?
  199. var msg : String?
  200. var path:String?
  201. }
  202. class Upload_Info: NSObject {
  203. var result : Upload_Result?
  204. var isSuccess : Bool
  205. var status : HttpApiStatus?
  206. init(result:Upload_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  207. self.result = result; self.isSuccess = isSuccess; self.status = status
  208. }
  209. static func fromJSON(_ json:JSON) -> Upload_Info? {
  210. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  211. let msg = json["msg"].stringValue
  212. var result = Upload_Result()
  213. result.msg = msg
  214. result.code = code
  215. let data = json["data"]
  216. result.path = data["path"].stringValue
  217. var isSuccess = false
  218. if code == .Success {
  219. isSuccess = true
  220. }
  221. return Upload_Info(result: result, isSuccess: isSuccess, status: code)
  222. }
  223. }