public HttpResponseMessage CommandEQM(string EqmUID, int Command) { var response = new MyHttpResponseMessage(); response.apiNumber = "C052_EQMController_CommandEQM"; var msg = ""; try { var EqmU = eqm.eqm_EquipmentSugar.GetById(EqmUID); if (EqmU == null) { response.SetContent(HttpStatus.error, "设备不存在", "", ResponseType.josn); return(response); } var project = dict.dict_ProjectListSQLSugar.GetById(EqmU.ProjectCode); if (project == null) { response.SetContent(HttpStatus.error, "项目不存在!", project, ResponseType.josn); return(response); } var sysManager = new ORM.SqlSugar.BLL.sysManager(); var model = sysManager.AliConfigSQLSugar.GetById(1); PubManager pum = new PubManager(model.AccessKey, model.SecretKey); var rmsg = ""; var pupstr = "{\"method\":\"thing.service.property.set\",\"id\":\"222857295\",\"params\":{\"Command\":\"" + Command + "_1\"},\"version\":\"1.0.0\"}"; var presut = pum.Pub(project.ProductKey, EqmU.DeviceName, pupstr, out rmsg); if (presut) { response.SetContent(HttpStatus.ok, "指令下发成功", "", ResponseType.josn); return(response); } else { response.SetContent(HttpStatus.error, "与硬件通讯失败", rmsg, ResponseType.josn); } } catch (Exception ex) { msg = "ERROR"; AddErrorLog(LogEnum.eqm, ex.Message, ex.StackTrace); response.SetContent(HttpStatus.error, ex.Message, msg, ResponseType.josn); } return(response); }
public HttpResponseMessage SendSms(string mobile) { var response = new MyHttpResponseMessage(); response.apiNumber = "C021_SysController_SendSms"; try { ORM.SqlSugar.BLL.sysManager sysManager = new ORM.SqlSugar.BLL.sysManager(); var model = sysManager.AliConfigSQLSugar.GetById(1); var instance = SMSManager.GetInstance(model.DyAccessKeyId, model.DyAccessKeySecret); var msgCode = JVS_ADM.Common.Utils.Number(5); var result = instance.SmsSendMesaage(mobile, "{\"code\":\"" + msgCode + "\"}", "SMS_147196393"); if (result) { if (dicRegCode.Keys.Contains(mobile)) { dicRegCode[mobile] = msgCode; } else { dicRegCode.Add(mobile, msgCode); } response.SetContent(HttpStatus.ok, "发送成功", "", ResponseType.josn); } else { response.SetContent(HttpStatus.error, "发送失败", "", ResponseType.josn); } } catch (Exception ex) { AddErrorLog(LogEnum.sys, ex.Message, ex.StackTrace); response.SetContent(HttpStatus.error, ex.Message, null, ResponseType.josn); } return(response); }
public HttpResponseMessage OpenMaintainEQM(string MemberCode, int Switch, string EqmUID, string MaintainProductCode, bool Discharge) { var response = new MyHttpResponseMessage(); response.apiNumber = "A049_EQMController_OpenMaintainEQM"; var msg = ""; try { var EqmU = eqm.eqm_EquipmentSugar.GetById(EqmUID); if (EqmU == null) { response.SetContent(HttpStatus.error, "设备不存在", "", ResponseType.josn); return(response); } var exit_model = eqm.eqm_ExchangeListSugar.GetSingle(p => p.EqmUID == EqmUID && p.Status != 3 && p.Status != 9 && p.OverdueTime > DateTime.Now); if (exit_model != null) { response.SetContent(HttpStatus.error, "设备正在使用中,请等待", exit_model.OverdueTime, ResponseType.josn); return(response); } var pd = new pdMannager(); var project = dict.dict_ProjectListSQLSugar.GetById(EqmU.ProjectCode); if (project == null) { response.SetContent(HttpStatus.error, "项目不存在!", project, ResponseType.josn); return(response); } var _switch = eqm.eqm_PartitionSwitchSugar.GetSingle(p => p.EqmUID == EqmUID && p.PartitionWallID == Switch); if (_switch == null) { response.SetContent(HttpStatus.error, "该电池单元不可用!", project, ResponseType.josn); return(response); } if (!string.IsNullOrEmpty(MaintainProductCode)) { var count = eqm.eqm_PartitionSwitchSugar.Count(p => p.ProductCode == MaintainProductCode); if (count > 0) { response.SetContent(HttpStatus.error, "该电池已在设备中!", project, ResponseType.josn); return(response); } var product = pd.pd_ProductListSugar.GetById(MaintainProductCode); if (product == null) { response.SetContent(HttpStatus.error, "电池不存在!", product, ResponseType.josn); return(response); } if (product.ProductType != _switch.ProductType) { response.SetContent(HttpStatus.error, "该单元不能放这个电池!", project, ResponseType.josn); return(response); } var scount = mb.mb_StockLSugar.Count(p => p.Qty > 0 && p.ProductCode == MaintainProductCode); if (scount > 0) { response.SetContent(HttpStatus.error, "这个电池已在会员使用中!", project, ResponseType.josn); return(response); } } var or_head = new ORM.SqlSugar.Model.eqm.eqm_ExchangeList(); var ExRef = "Exchange" + JVS_ADM.Common.Utils.GetRamCode(); if (Discharge) { ExRef = "Discharge" + JVS_ADM.Common.Utils.GetRamCode(); } or_head.ExRef = ExRef; or_head.ExTime = DateTime.Now; or_head.MemberCode = MemberCode; or_head.OverdueTime = DateTime.Now.AddMinutes(1); or_head.Status = 0; or_head.ShopID = EqmU.ShopID; or_head.EqmUID = EqmU.EqmUID; or_head.ProductCode = MaintainProductCode; or_head.OldProductCode = ""; or_head.Switch = Switch; var result = db.SqlServerClient.Ado.UseTran(() => { var sysManager = new ORM.SqlSugar.BLL.sysManager(); var model = sysManager.AliConfigSQLSugar.GetById(1); PubManager pum = new PubManager(model.AccessKey, model.SecretKey); var rmsg = ""; Random rd = new Random(); var pupstr = "{\"method\":\"thing.service.property.set\",\"id\":\"222940092\",\"params\":{\"MaintainLast\":\"" + ExRef + "_" + Switch + "_1\"},\"version\":\"1.0.0\"}"; if (Discharge) { pupstr = "{\"method\":\"thing.service.property.set\",\"id\":\"222940092\",\"params\":{\"Discharge\":\"" + ExRef + "_" + Switch + "_1\"},\"version\":\"1.0.0\"}"; } var presut = pum.Pub(project.ProductKey, EqmU.DeviceName, pupstr, out rmsg); if (presut) { eqm.eqm_ExchangeListSugar.Insert(or_head); } else { response.SetContent(HttpStatus.error, "与硬件通讯失败", or_head, ResponseType.josn); } }); if (result.IsSuccess) { response.SetContent(HttpStatus.ok, "操作成功", or_head, ResponseType.josn); return(response); } else { response.SetContent(HttpStatus.error, result.ErrorMessage, or_head, ResponseType.josn); } } catch (Exception ex) { msg = "ERROR"; AddErrorLog(LogEnum.eqm, ex.Message, ex.StackTrace); response.SetContent(HttpStatus.error, ex.Message, msg, ResponseType.josn); } return(response); }
public HttpResponseMessage OpenEQM(string MemberCode, string EqmUID, string OldProductCode, decimal UnitPrice, decimal Qty, decimal PayAmount, decimal DiscountedAmt) { var response = new MyHttpResponseMessage(); response.apiNumber = "C045_EQMController_OpenEQM"; var msg = ""; try { var member = mb.mb_BaseInfoSQLSugar.GetById(MemberCode); if (member == null || member.ExpirationDate == null || member.ExpirationDate < DateTime.Now) { response.SetContent(HttpStatus.error, "您还不是VIP会员!", "chongqian", ResponseType.josn); return(response); } var EqmU = eqm.eqm_EquipmentSugar.GetById(EqmUID); if (EqmU == null) { response.SetContent(HttpStatus.error, "设备不存在", "", ResponseType.josn); return(response); } var exit_model = order.order_HeaderSugar.GetSingle(p => p.EqmUID == EqmUID && p.Status != 3 && p.Status != 9 && p.OverdueTime > DateTime.Now); if (exit_model != null) { response.SetContent(HttpStatus.error, "设备正在使用中,请稍后重试", exit_model.OverdueTime, ResponseType.josn); return(response); } var productOld = pd.pd_ProductListSugar.GetById(OldProductCode); if (productOld == null) { response.SetContent(HttpStatus.error, "电池代码无效!", productOld, ResponseType.josn); return(response); } var project = dict.dict_ProjectListSQLSugar.GetById(EqmU.ProjectCode); if (project == null) { response.SetContent(HttpStatus.error, "项目不存在!", project, ResponseType.josn); return(response); } if (productOld == null) { response.SetContent(HttpStatus.error, "电池不存在!", productOld, ResponseType.josn); return(response); } var list = pd.pd_ProductTypeSugar.GetList(p => p.ProjectCode == "cabinet"); var ProductType = pd.GetSaleCardType(list, productOld.ProductType.ToInt32()); var vipCount = mb.mb_Assets.Count(p => p.MemberCode == MemberCode && p.ProductType == ProductType && p.ExpiryDate > DateTime.Now); if (vipCount <= 0) { response.SetContent(HttpStatus.error, "您还没开通VIP会员或是会员已过期!", project, ResponseType.josn); return(response); } var count = eqm.eqm_PartitionSwitchSugar.Count(p => p.EqmUID == EqmUID && p.ProductType == productOld.ProductType && p.Switch == 1); if (count <= 0) { response.SetContent(HttpStatus.error, "没有可用的单元,请稍后重试!", project, ResponseType.josn); return(response); } var or_head = new ORM.SqlSugar.Model.order.order_Header(); var or_List = new ORM.SqlSugar.Model.order.order_List(); var OrderRef = "Battery" + JVS_ADM.Common.Utils.GetRamCode(); or_head.OrderRef = OrderRef; or_head.OrderTime = DateTime.Now; or_head.ProjectCode = EqmU.ProjectCode; or_head.MemberCode = MemberCode; or_head.TotalAmount = UnitPrice * Qty; or_head.PayAmount = PayAmount; or_head.DiscountedAmt = DiscountedAmt; or_head.mbAddressID = 0; or_head.OverdueTime = DateTime.Now.AddMinutes(1); or_head.Status = 0; or_head.ShopID = EqmU.ShopID; or_head.EqmUID = EqmU.EqmUID; or_head.Para1 = 0; or_head.Msg = productOld.ProductType.ToString() + "类型的电池"; or_List.OrderRef = OrderRef; or_List.ProductCode = ""; or_List.MemberCode = MemberCode; or_List.Qty = Qty; or_List.CreditsNo = 0; or_List.OldProductCode = OldProductCode; var Reservelist = order.order_ReservedSugar.GetList(p => p.MemberCode == MemberCode && p.EvaluateTime > DateTime.Now && p.Status == 1); var result = db.SqlServerClient.Ado.UseTran(() => { var sysManager = new ORM.SqlSugar.BLL.sysManager(); var model = sysManager.AliConfigSQLSugar.GetById(1); PubManager pum = new PubManager(model.AccessKey, model.SecretKey); var rmsg = ""; Random rd = new Random(); var pupstr = "{\"method\":\"thing.service.property.set\",\"id\":\"222857295\",\"params\":{\"SwitchLast\":\"" + OrderRef + "_" + productOld.ProductType + "\"},\"version\":\"1.0.0\"}"; var presut = pum.Pub(project.ProductKey, EqmU.DeviceName, pupstr, out rmsg); if (presut) { order.order_HeaderSugar.Insert(or_head); order.order_ListSugar.Insert(or_List); foreach (var item in Reservelist) { item.Status = 3; order.order_ReservedSugar.Update(item); } } else { response.SetContent(HttpStatus.error, "与硬件通讯失败", or_head, ResponseType.josn); } }); if (result.IsSuccess) { response.SetContent(HttpStatus.ok, "操作成功", or_head, ResponseType.josn); } else { response.SetContent(HttpStatus.error, result.ErrorMessage, or_head, ResponseType.josn); } } catch (Exception ex) { msg = "ERROR"; AddErrorLog(LogEnum.eqm, ex.Message, ex.StackTrace); response.SetContent(HttpStatus.error, ex.Message, msg, ResponseType.josn); } return(response); }
public HttpResponseMessage RegisterDevice(string productKey, string deviceName) { var response = new MyHttpResponseMessage(); response.apiNumber = "S001_IoTController_RegisterDevice"; var msg = ""; try { if (string.IsNullOrEmpty(productKey) || string.IsNullOrEmpty(deviceName)) { response.SetContent(HttpStatus.error, "参数不齐", "ERROR", ResponseType.text); return(response); } ORM.SqlSugar.BLL.sysManager sysManager = new ORM.SqlSugar.BLL.sysManager(); var model = sysManager.AliConfigSQLSugar.GetById(1); if (model == null) { response.SetContent(HttpStatus.error, "没有阿里的配置信息", "ERROR", ResponseType.text); return(response); } var lotManager = new DeviceManager(model.AccessKey, model.SecretKey); var project = dm.dict_ProjectListSQLSugar.GetSingle(p => p.ProductKey == productKey); if (project == null) { response.SetContent(HttpStatus.error, "没有找到ProductKey:" + productKey + "的项目", "ERROR_没有找到ProductKey", ResponseType.text); return(response); } var exit = eqm.eqm_EquipmentSugar.Count(p => p.DeviceName == deviceName); if (exit > 0) { response.SetContent(HttpStatus.error, "已存在deviceName:" + deviceName + "的设备", "ERROR_已存在", ResponseType.text); return(response); } var equipment = new ORM.SqlSugar.Model.eqm.eqm_Equipment(); equipment.EqmUID = project.ProjectCode + "_" + Guid.NewGuid().ToString(); equipment.CorpCode = "35003"; equipment.DeviceName = deviceName; equipment.OnLine = false; equipment.ProjectCode = project.ProjectCode; equipment.ShopID = 1; equipment.RegisterDate = DateTime.Now; equipment.DeviceSecret = ""; equipment.EquipmentName = project.ProjectName; var result = lotManager.RegisterDevice(productKey, deviceName, out msg); if (result) { equipment.DeviceSecret = msg; result = eqm.eqm_EquipmentSugar.Insert(equipment); if (result) { response.SetContent(HttpStatus.ok, "设置成功", "OK_" + msg + "", ResponseType.text); return(response); } else { lotManager.DeleteDevice(productKey, deviceName, out msg); response.SetContent(HttpStatus.error, "设置端服务失败", "ERROR_设置端服务失败", ResponseType.text); return(response); } } else { response.SetContent(HttpStatus.error, "设置失败", "ERROR_" + msg + "", ResponseType.text); return(response); } } catch (Exception ex) { msg = "ERROR_" + ex.Message + ""; AddErrorLog(LogEnum.sys, ex.Message, ex.StackTrace); response.SetContent(HttpStatus.error, ex.Message, msg, ResponseType.text); } return(response); }