public string DelDevice(int appId, string deviceId) { var rst = new ReturnResult <bool>(); var api = new DeviceApi(); var delRst = api.DelDevice(appId, deviceId); if (delRst.Status == "NoContent") { rst.Result = true; rst.Message = "删除成功"; var bll = new UserDeviceBll(); var del = bll.Delete(new UserDevice() { DeviceId = deviceId }); } else { rst.Message = "删除失败"; } return(JsonHelper.Instance.Serialize(rst)); }
public string RegDevice(RegDeviceRequest model) { var rst = new ReturnResult <RegDeviceResult>(); var api = new DeviceApi(); var apiRst = api.RegDevice(model); if (apiRst.Result && !string.IsNullOrEmpty(apiRst.Data.deviceId)) { //根据设备型号查找profile var bll = new ProfileBll(); var profileRst = bll.GetOneByModel(new Profile() { Model = model.model }); if (profileRst.Result) { var profile = profileRst.Data; //修改设备 var updateRst = api.UpdateDevice(model.appId, apiRst.Data.deviceId, model.name, profile, "CoAP"); if (updateRst.Result && updateRst.Status == "NoContent") { rst.Result = true; rst.Data = apiRst.Data; rst.Message = "注册成功"; } else { rst.Message = "注册失败"; } } else { rst.Message = "设备型号不存在"; } //插入用户设备表 var device = new UserDevice() { DeviceId = apiRst.Data.deviceId, DeviceName = model.name, VerifyCode = model.verifyCode, NodeId = model.nodeId, ProfileId = profileRst.Data?.Id, UserId = model.userId }; var addDeviceRst = new UserDeviceBll().AddOrUpdate(device); if (addDeviceRst.Result) { rst.Result = true; rst.Message = "注册成功"; } } else { rst.Message = "注册失败"; } return(JsonHelper.Instance.Serialize(rst)); }
public string GetListByUserId(UserDevice model) { var rst = new ReturnResult <List <UserDevice> >(); var bll = new UserDeviceBll(); rst = bll.GetList(model); return(JsonHelper.Instance.Serialize(rst)); }
public string Del(UserDevice model) { var rst = new ReturnResult <bool>(); var bll = new UserDeviceBll(); rst = bll.Delete(model); return(JsonHelper.Instance.Serialize(rst)); }
public string Add(UserDevice model) { var rst = new ReturnResult <bool>(); var bll = new UserDeviceBll(); if (model.Id == 0) { rst = bll.Add(model); } else { rst = bll.Update(model); } return(JsonHelper.Instance.Serialize(rst)); }
public SubscibeModule() { //添加设备 Post("/deviceAdded", (x) => { try { StreamReader readStream = new StreamReader(Request.Body, Encoding.UTF8); string data = readStream.ReadToEnd(); HandleLog.WriteLog("收到数据:" + data + Environment.NewLine); if (!string.IsNullOrEmpty(data)) { //打印 var result = JsonHelper.Instance.Deserialize <DeviceResult <object> >(data); HandleLog.WriteLog("事件类型:" + result.notifyType); HandleLog.WriteLog("设备Id:" + result.deviceId); HandleLog.WriteLog("NodeId:" + result.deviceInfo.nodeId); } } catch (Exception ex) { HandleLog.WriteLog(ex.Message); } return("{ code: 200 }"); }); //设备数据变化 Post("/deviceDataChanged", (x) => { try { StreamReader readStream = new StreamReader(Request.Body, Encoding.UTF8); string data = readStream.ReadToEnd(); HandleLog.WriteLog("收到数据:" + data + Environment.NewLine); if (!string.IsNullOrEmpty(data)) { var result = JsonHelper.Instance.Deserialize <ResponseResult <object> >(data); HandleLog.WriteLog("事件类型:" + result.notifyType); HandleLog.WriteLog("设备Id:" + result.deviceId); //查询数据库的解析dll 反射创建解析类的实例 var protocolRst = new ProtocolBll().GetOneByDeviceId(result.deviceId); if (protocolRst.Result) { //IParseClass clsInterface = new NBIOT.ParseAlarm.ParseClass(); var protocol = protocolRst.Data; ReflectionLesson refl = new ReflectionLesson(protocol.FullDllPath, protocol.DllName, "ParseClass"); //直接使用反射调用方法 IParseClass clsInterface = refl.ReflectionClass(); clsInterface.DeviceDataChanged(result); } } } catch (Exception ex) { HandleLog.WriteLog(ex.Message); } return("{ code: 200 }"); }); //删除设备 Post("/deviceDeleted", (x) => { try { StreamReader readStream = new StreamReader(Request.Body, Encoding.UTF8); string data = readStream.ReadToEnd(); HandleLog.WriteLog("收到数据:" + data + Environment.NewLine); if (!string.IsNullOrEmpty(data)) { var result = JsonHelper.Instance.Deserialize <DeviceResult <object> >(data); HandleLog.WriteLog("事件类型:" + result.notifyType); HandleLog.WriteLog("设备Id:" + result.deviceId); UserDeviceBll deviceBll = new UserDeviceBll(); var deviceModel = new UserDevice { DeviceId = result.deviceId }; var delRst = deviceBll.Delete(deviceModel); HandleLog.WriteLog("删除结果:" + delRst.Message); } } catch (Exception ex) { HandleLog.WriteLog(ex.Message); } return("{ code: 200 }"); }); Post("/commandRsp", (x) => { try { StreamReader readStream = new StreamReader(Request.Body, Encoding.UTF8); string data = readStream.ReadToEnd(); HandleLog.WriteLog("收到数据:" + data + Environment.NewLine); if (!string.IsNullOrEmpty(data)) { var result = JsonHelper.Instance.Deserialize <CommandResult <object> >(data); HandleLog.WriteLog("事件类型:commandRsp"); HandleLog.WriteLog("设备Id:" + result.deviceId); HandleLog.WriteLog("命令Id:" + result.commandId); IParseClass clsInterface = new NBIOT.ParseAlarm.ParseClass(); clsInterface.CommandRsp(result); } } catch (Exception ex) { HandleLog.WriteLog(ex.Message); } return("{ code: 200 }"); }); }