123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- //
- // IHEquipmentService.swift
- // Inhealth
- //
- // Created by weclouds on 2020/1/13.
- // Copyright © 2020 weclouds. All rights reserved.
- //
- import UIKit
- import PKHUD
- class IHEquipmentService: NSObject {
- static let share = IHEquipmentService()
-
- lazy var lightList: [LightData] = {
- let lightList = [LightData]()
- return lightList
- }()
-
- lazy var sensorList: [SensorData] = {
- let sensorList = [SensorData]()
- return sensorList
- }()
-
- lazy var purifierList: [PurifierData] = {
- let purifierData = [PurifierData]()
- return purifierData
- }()
- //一栋楼的所有楼层
- private var areaFloorInfo_callBack : ((AreaFloor_Result_Info)->Void)?
- //楼层里的所有房间
- private var floorRoomInfo_callBack : ((FloorRoom_Result_Info)->Void)?
-
- //获取所有的楼层
- func getAreaFloorNav(buildId : String?,areaFloorInfo_callBack : @escaping (AreaFloor_Result_Info)->Void) {
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- g_area_floor_navHttpRequest(username, client_key: client_key, os: os, version: version, token: token, buildId: buildId, success: { (json) -> (Void) in
- let info = AreaFloor_Result_Info.fromJSON(json)
- areaFloorInfo_callBack(info!)
- }) { () -> (Void) in
-
- }
- }
-
- //楼层里的房间
- func getFloorRoom(floorId : String,floorRoomInfo_callBack : @escaping (FloorRoom_Result_Info)->Void) {
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- g_room_room_navHttpRequest(username, client_key: client_key, os: os, version: version, token: token, floorId: floorId, success: { (json) -> (Void) in
- let info = FloorRoom_Result_Info.fromJSON(json)
- floorRoomInfo_callBack(info!)
- }) { () -> (Void) in
-
- }
- }
-
- func getLightListData(hotelId: String?,buildId:String?,roomId:String?,page:Int,type:String,keywords:String?,requestSuccess:@escaping ([LightData])->Void,requestFail:@escaping (()->Void)) {
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- let count = 20
- log.debug("getLightListData")
- g_lamp_light_listHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, buildId: buildId, roomId: roomId, page: page, count: count, type: type, keywords: keywords, success: { (json) -> (Void) in
- if page == 1{
- self.lightList.removeAll()
- }
-
- let mLightlistInfo = Light_list_Info.fromJSON(json)
- let result = mLightlistInfo?.result
- guard let list = result?.list else { return}
- if page == 1 {
- self.lightList = list
- }else{
- let total = (result?.total)!
- if self.lightList.count < Int(total)! {
- self.lightList += list
- }
- }
-
- requestSuccess(self.lightList)
- }, fail: requestFail)
- }
-
-
-
- func getSensorListData(hotelId: String?,buildId:String?,roomId:String?,page:Int,keywords:String?,requestSuccess:@escaping ([SensorData])->Void,requestFail:@escaping (()->Void)) {
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- let count = 20
- g_sensor_sensor_listHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, buildId: buildId, roomId: roomId, page: page, count: count, keywords: keywords, success: { (json) -> (Void) in
- if page == 1{
- self.sensorList.removeAll()
- }
-
- let mSensorInfo = Sensor_list_Info.fromJSON(json)
- let result = mSensorInfo?.result
- guard let list = result?.list else { return}
- if page == 1 {
- self.sensorList = list
- }else{
- let total = (result?.total)!
- if self.sensorList.count < Int(total)! {
- self.sensorList += list
- }
- }
-
- requestSuccess(self.sensorList)
- }) { () -> (Void) in
- requestFail()
- }
-
- }
-
- func getPurifierListData(hotelId: String?,buildId:String?,roomId:String?,page:Int,keywords:String?,requestSuccess:@escaping ([PurifierData])->Void,requestFail:@escaping (()->Void)) {
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- let count = 20
- g_purifier_purifier_listHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, buildId: buildId, roomId: roomId, page: page, count: count, keywords: keywords, success: { (json) -> (Void) in
- if page == 1{
- self.purifierList.removeAll()
- }
- let mPurifierInfo = Purifier_list_Info.fromJSON(json)
- let result = mPurifierInfo?.result
- guard let list = result?.list else { return}
- if page == 1 {
- self.purifierList = list
- }else{
- let total = (result?.total)!
- if self.purifierList.count < Int(total)! {
- self.purifierList += list
- }
- }
-
- requestSuccess(self.purifierList)
- }) { () -> (Void) in
- requestFail()
- }
- }
-
- func deleteEquimemnt(_ devType:String,devId:String,requestSuccess:@escaping (Bool)->Void) {
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- if devType == "1" || devType == "2" {
- let url = moyaBase + "lamp/del_light"
- let parameter :NSDictionary = ["username":username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "lightId":devId]
- //connectHandle 链接成功 回掉·;; completehandle 设置成功回调
- IHWebSocketManager.shareInstance().contectToSokect(url, parameter: parameter) { (isSuccess) in
- requestSuccess(isSuccess)
- }
- }else if devType == "3"{
- g_sensor_del_sensorHttpRequest(username, client_key: client_key, os: os, version: version, token: token, sensorId: devId, success: { (json) -> (Void) in
-
- let info = Operation_Info.fromJSON(json)
- let result = info?.result
- let msg = result?.msg
- self.showHUD(msg ?? "")
- if info?.status == .Success {
- requestSuccess(true)
- }else{
- requestSuccess(false)
- }
- }) { () -> (Void) in
- requestSuccess(false)
- }
- }else if devType == "4"{
- let url = moyaBase + "purifier/del_purifier"
- let parameter :NSDictionary = ["username":username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token,
- "purifierId":devId]
- //connectHandle 链接成功 回掉·;; completehandle 设置成功回调
- IHWebSocketManager.shareInstance().contectToSokect(url, parameter: parameter) { (isSuccess) in
- requestSuccess(isSuccess)
- }
- }
- }
- private func showHUD(_ message: String) {
- HUD.flash(.label(message), delay: 0.5) { _ in
- print("License Obtained.")
- }
- }
-
- //学校删除设备
- func delSchoolDevice(lightId : String,compelete:@escaping (_ respone: String?, _ code : String?) -> Void){
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- IHWebSocketManager.shareInstance().schoolDeviceOpation(isSchool: true) { (isSuccess, responeStr,code) in
- if isSuccess == 2 {
- log.debug("websocket返回的数据")
- compelete(responeStr, code)
-
- }else{
- g_school_del_lightHttpRequest(username, client_key: client_key, os: os, version: version, token: token, lightId: lightId, clientId: responeStr, success: { (json) -> (Void) in
- log.debug("删除学校设备:\(json)")
- }) { () -> (Void) in
-
- }
- }
- }
- }
-
- //获取学校的所有设备
- func getSchoolDevList(hotelId: String?,buildId:String?,floorId:String?,roomId:String?,page:Int,type:String,keywords:String?,requestSuccess:@escaping ([DevData])->Void,requestFail:@escaping (()->Void)) {
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- let count = 20
- g_school_listHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, buildId: buildId,floorId:floorId, roomId: roomId, page: page, count: count, type: type, keywords: keywords, success: { (json) -> (Void) in
-
- let deviceList = [DevData]()
- let mDevListInfo = Dev_list_Info.fromJSON(json)
- let result = mDevListInfo?.result
- let list = result?.list
- requestSuccess(list ?? deviceList)
-
- }, fail: requestFail)
- }
-
- //查看当前hotel是学校还是酒店
- func getSchoolOrHotelInfo(hotelId : String,requestSuccess:@escaping (String)->Void,requestFail:@escaping (()->Void)) {
- let username = AppShare.username
- let client_key = AppShare.client_key
- let os = AppShare.os
- let token = AppShare.token
- let version = AppShare.version
- g_area_hotel_infoHttpRequest(username, client_key: client_key, os: os, version: version, token: token, hotelId: hotelId, success: { (json) -> (Void) in
- let code = HttpApiStatus(rawValue:
- json["code"].stringValue)
- let msg = json["msg"].stringValue
- let data = json["data"]
- guard let dic = data.dictionary else {return}
- let type = dic["type"]?.stringValue
- requestSuccess(type ?? "0")
- log.debug("--是学校还是酒店--\(json)")
- }, fail: {})
- }
- }
|