123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- //
- // IHUserModel.swift
- // Inhealth
- //
- // Created by weclouds on 2019/12/23.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- import SwiftyJSON
- //操作
- struct Permission_Result {
- var code : HttpApiStatus?
- var msg : String?
- var rootNodes :[IHTreeTableViewNode]?
- var airPurifierAuth:String?
- var sensorAuth:String?
- var lightAuth:String?
- var cirLight:String?
- }
- class Permission_Info: NSObject {
- var result : Permission_Result?
- var isSuccess : Bool
- var status : HttpApiStatus?
-
- init(result:Permission_Result?, isSuccess:Bool, status:HttpApiStatus?) {
- self.result = result; self.isSuccess = isSuccess; self.status = status
- }
-
- static func fromJSON(_ json:JSON) -> Permission_Info? {
- let code = HttpApiStatus(rawValue: json["code"].stringValue)
- let msg = json["msg"].stringValue
- var result = Permission_Result()
- result.msg = msg
- result.code = code
- let data = json["data"]
- result.airPurifierAuth = data["airPurifierAuth"].stringValue
- result.sensorAuth = data["sensorAuth"].stringValue
- result.lightAuth = data["lightAuth"].stringValue
- result.cirLight = data["cirLight"].stringValue
- let list = data["list"]
- guard let datalist = list.array else { return nil }
- let rootNodes = Permission_Info.getRootNodes(datalist)
- result.rootNodes = rootNodes
- var isSuccess = false
- if code == .Success {
- isSuccess = true
- }
- return Permission_Info(result: result, isSuccess: isSuccess, status: code)
- }
-
- private static func getRootNodes(_ datalist:[JSON]) -> [IHTreeTableViewNode] {
- var rootNodes = [IHTreeTableViewNode]()
- for i in 0..<datalist.count {
- let build = datalist[i]
- let name = build["name"].stringValue
- let id = build["id"].stringValue
- let deviceCount = build["deviceCount"].stringValue
- let buildList = build["buildList"]
- let buildNode = IHTreeTableViewNode(nodeID: id, nodeName: name, deviceCount: deviceCount, isExpand: false)
- rootNodes.append(buildNode!) // 根节点
-
- guard let aBuildList = buildList.array else { break }
- if aBuildList.count != 0 {
- for j in 0..<aBuildList.count {
- let floor = aBuildList[j]
- let bname = floor["name"].stringValue
- let bid = floor["id"].stringValue
- let bdeviceCount = floor["deviceCount"].stringValue
- let floorList = floor["floorList"]
- let hotelId = floor["hotelId"].stringValue
- let floorNode = IHTreeTableViewNode(nodeID: bid, nodeName: bname, deviceCount: bdeviceCount, isExpand: false)
-
- if hotelId == id{
- log.debug("绑定父子关系")
- //绑定父子关系
- buildNode?.addChildNode(childNode: floorNode!)
-
- }
-
- // rootNodes.append(floorNode!)
- guard let aFloorList = floorList.array else { break }
- if aFloorList.count != 0{
- for k in 0..<aFloorList.count {
- let room = aFloorList[k]
- let fname = room["name"].stringValue
- let fid = room["id"].stringValue
- let fdeviceCount = room["deviceCount"].stringValue
- let roomList = room["roomList"]
- let floorId = room["buildId"].stringValue
- let roomNode = IHTreeTableViewNode(nodeID: fid, nodeName: fname, deviceCount: fdeviceCount, isExpand: false)
- if floorId == bid {
- floorNode?.addChildNode(childNode: roomNode!)
-
- }
- log.debug("roomList.count \(roomList.count)")
- // rootNodes.append(roomNode!)
- guard let aRoomList = roomList.array else { break }
- if aRoomList.count != 0 {
- for l in 0..<aRoomList.count {
- let mRoom = aRoomList[l]
- let rname = mRoom["number"].stringValue
- let rid = mRoom["id"].stringValue
- let rdeviceCount = mRoom["deviceCount"].stringValue
- let floorId = mRoom["floorId"].stringValue
- let aloneNode = IHTreeTableViewNode(nodeID: rid, nodeName: rname, deviceCount: rdeviceCount, isExpand: false)
- if floorId == fid {
- roomNode?.addChildNode(childNode: aloneNode!)
-
- }
- // rootNodes.append(aloneNode!)
- }
- }
- }
- }
- }
- }
- }
- return rootNodes
- }
- }
- struct LogData {
- var id : String? // ///日志id
- var name :String? //操作类型
- var activites:String?
- var floor :String? // 楼层数
- var room :String? // 房间编号
- var time:String? // 日志更新时间
- var description:String? //日志描述信息
- var operaType:String? //操作类型(1 添加,2 删除,3 编辑,4 指令)
- var userId :String? //用户id
- }
- //操作
- struct Log_Result {
- var code : HttpApiStatus?
- var msg : String?
- var list :[LogData]?
- var total:Int?
- }
- class Log_Info: NSObject {
- var result : Log_Result?
- var isSuccess : Bool
- var status : HttpApiStatus?
-
- init(result:Log_Result?, isSuccess:Bool, status:HttpApiStatus?) {
- self.result = result; self.isSuccess = isSuccess; self.status = status
- }
-
- static func fromJSON(_ json:JSON) -> Log_Info? {
- let code = HttpApiStatus(rawValue: json["code"].stringValue)
- let msg = json["msg"].stringValue
- var result = Log_Result()
- result.msg = msg
- result.code = code
- let data = json["data"]
- result.total = data["total"].intValue
- var _loglist = [LogData]()
- let list = data["list"]
- guard let datalist = list.array else { return nil }
- for vJSON in datalist {
-
- let id = vJSON["id"].stringValue
- let name = vJSON["name"].stringValue
- let activites = vJSON["activites"].stringValue
- let floor = vJSON["floor"].stringValue
- let room = vJSON["room"].stringValue
- let _time = vJSON["time"].stringValue
- let time = _time.replacingOccurrences(of: "-", with: "/")
-
- let description = vJSON["description"].stringValue
- let operaType = vJSON["operaType"].stringValue
- let uerId = vJSON["userid"].stringValue
- let log = LogData(id: id, name: name, activites: activites, floor: floor, room: room, time: time, description: description, operaType: operaType,userId: uerId)
- _loglist.append(log)
- }
- result.list = _loglist
- var isSuccess = false
- if code == .Success {
- isSuccess = true
- }
- return Log_Info(result: result, isSuccess: isSuccess, status: code)
- }
- }
- struct RoomCount_Result {
- var code : HttpApiStatus?
- var msg : String?
- var count:String?
- }
- class RoomCount_Info: NSObject {
- var result : RoomCount_Result?
- var isSuccess : Bool
- var status : HttpApiStatus?
-
- init(result:RoomCount_Result?, isSuccess:Bool, status:HttpApiStatus?) {
- self.result = result; self.isSuccess = isSuccess; self.status = status
- }
-
- static func fromJSON(_ json:JSON) -> RoomCount_Info? {
- let code = HttpApiStatus(rawValue: json["code"].stringValue)
- let msg = json["msg"].stringValue
- var result = RoomCount_Result()
- result.msg = msg
- result.code = code
- let data = json["data"]
- result.count = data["count"].stringValue
- var isSuccess = false
- if code == .Success {
- isSuccess = true
- }
- return RoomCount_Info(result: result, isSuccess: isSuccess, status: code)
- }
- }
- struct Upload_Result {
- var code : HttpApiStatus?
- var msg : String?
- var path:String?
- }
- class Upload_Info: NSObject {
- var result : Upload_Result?
- var isSuccess : Bool
- var status : HttpApiStatus?
-
- init(result:Upload_Result?, isSuccess:Bool, status:HttpApiStatus?) {
- self.result = result; self.isSuccess = isSuccess; self.status = status
- }
-
- static func fromJSON(_ json:JSON) -> Upload_Info? {
- let code = HttpApiStatus(rawValue: json["code"].stringValue)
- let msg = json["msg"].stringValue
- var result = Upload_Result()
- result.msg = msg
- result.code = code
- let data = json["data"]
- result.path = data["path"].stringValue
- var isSuccess = false
- if code == .Success {
- isSuccess = true
- }
- return Upload_Info(result: result, isSuccess: isSuccess, status: code)
- }
- }
|