public object getMemberSaveMoney(Dictionary <string, object> dicParas) { try { string errMsg = string.Empty; string xcGameDBName = string.Empty; string state = "0";//设备状态 string stateName = string.Empty; string password = string.Empty; XCGameMemberTokenModel memberTokenKeyModel = (XCGameMemberTokenModel)(dicParas[Constant.XCGameMemberTokenModel]); if (memberTokenKeyModel == null) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "会员令牌不存在")); } string MobileToken = dicParas.ContainsKey("mobileToken") ? dicParas["mobileToken"].ToString() : string.Empty; if (MobileToken == "") { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "手机令牌不能为空")); } string terminalNo = dicParas.ContainsKey("deviceToken") ? dicParas["deviceToken"].ToString() : string.Empty; IDeviceService deviceService = BLLContainer.Resolve <IDeviceService>(); var deviceModel = deviceService.GetModels(p => p.TerminalNo.Equals(terminalNo, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <t_device>(); if (deviceModel == null) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "终端号不存在")); } string DeviceStoreID = deviceModel.StoreId; string StoreID = memberTokenKeyModel.StoreId; StoreBusiness store = new StoreBusiness(); if (!store.IsEffectiveStore(memberTokenKeyModel.StoreId, out xcGameDBName, out password, out errMsg)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg)); } if (DeviceStoreID != StoreID) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "当前设备无效")); } if (DeviceStateBusiness.ExistDeviceState(deviceModel.StoreId, deviceModel.DeviceId)) { state = DeviceStateBusiness.GetDeviceState(deviceModel.StoreId, deviceModel.DeviceId); } if (state != "1") { stateName = DeviceStateBusiness.GetStateName(state); return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, stateName)); } return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.T, "")); } catch (Exception e) { throw e; } }
public object storeInfoByTerminalNo(Dictionary <string, object> dicParas) { try { string terminalNo = dicParas.ContainsKey("deviceToken") ? dicParas["deviceToken"].ToString() : string.Empty; IDeviceService deviceService = BLLContainer.Resolve <IDeviceService>(); var deviceModel = deviceService.GetModels(p => p.TerminalNo.Equals(terminalNo, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <t_device>(); if (deviceModel == null) { NoSignKeyResponseModel responseModel = new NoSignKeyResponseModel(Return_Code.T, "", Result_Code.F, "终端号不存在"); return(responseModel); } else { IStoreService storeService = BLLContainer.Resolve <IStoreService>(); var storeModel = storeService.GetModels(p => p.id.ToString().Equals(deviceModel.StoreId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <t_store>(); if (storeModel == null) { NoSignKeyResponseModel responseModel = new NoSignKeyResponseModel(Return_Code.T, "", Result_Code.F, "终端号对应的门店不存在"); return(responseModel); } else { //获取设备缓存状态 string state = "0"; string stateName = string.Empty; if (DeviceStateBusiness.ExistDeviceState(deviceModel.StoreId, deviceModel.DeviceId)) { state = DeviceStateBusiness.GetDeviceState(deviceModel.StoreId, deviceModel.DeviceId); } stateName = DeviceStateBusiness.GetStateName(state); TerminalStoreReponseModel model = new TerminalStoreReponseModel(storeModel.id.ToString(), storeModel.companyname, deviceModel.DeviceName, deviceModel.DeviceType, state, stateName); NoSignKeyResponseModel <TerminalStoreReponseModel> responseModel = new NoSignKeyResponseModel <TerminalStoreReponseModel>(model); return(responseModel); } } } catch (Exception e) { throw e; } }
/// <summary> /// 验证雷达设备状态 /// </summary> /// <param name="deviceStoreType">设备门店类型</param> /// <param name="storeId">门店Id</param> /// <param name="deviceId">设备Id</param> /// <param name="errMsg">错误消息</param> /// <returns></returns> public static bool checkRadarDeviceState(XCGameManaDeviceStoreType deviceStoreType, string storeId, string deviceId, out string errMsg) { string state = string.Empty; string stateName = string.Empty; errMsg = string.Empty; if (deviceStoreType == XCGameManaDeviceStoreType.Store) { if (DeviceStateBusiness.ExistDeviceState(storeId, deviceId)) { state = DeviceStateBusiness.GetDeviceState(storeId, deviceId); } if (state != "1") { stateName = DeviceStateBusiness.GetStateName(state); errMsg = stateName; return(false); } return(true); } else if (deviceStoreType == XCGameManaDeviceStoreType.Merch) { if (DeviceStateBusiness.ExistDeviceState(storeId, deviceId)) { state = DeviceStateBusiness.GetDeviceState(storeId, deviceId); } if (state != "1") { stateName = DeviceStateBusiness.GetStateName(state); errMsg = stateName; return(false); } return(true); } else { return(false); } }
public object updateDeviceState(Dictionary <string, object> dicParas) { string storeId = dicParas.ContainsKey("storeId") ? dicParas["storeId"].ToString() : string.Empty; string deviceId = dicParas.ContainsKey("deviceId") ? dicParas["deviceId"].ToString() : string.Empty; string token = dicParas.ContainsKey("token") ? dicParas["token"].ToString() : string.Empty; string state = dicParas.ContainsKey("state") ? dicParas["state"].ToString() : string.Empty; string dbName = string.Empty; string password = string.Empty; string errMsg = string.Empty; StoreBusiness storeBusiness = new StoreBusiness(); if (!storeBusiness.IsEffectiveStore(storeId, out dbName, out password, out errMsg)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店不存在")); } DeviceBusiness deviceBusiness = new DeviceBusiness(); if (!deviceBusiness.IsEffectiveStoreDevice(dbName, deviceId, out errMsg)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店不存在")); } //验证MD5 string md5token = Utils.MD5(storeId + deviceId + password); if (!token.Equals(md5token)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "token不正确")); } //设置设备状态 DeviceStateBusiness.SetDeviceState(storeId, deviceId, state); return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.T, "")); }
public object saveCoins(Dictionary <string, object> dicParas) { try { string state = string.Empty; string stateName = string.Empty; string xcGameDBName = string.Empty; string errMsg = string.Empty; string storePassword = string.Empty; string terminalNo = dicParas.ContainsKey("deviceToken") ? dicParas["deviceToken"].ToString() : string.Empty; XCGameMemberTokenModel memberTokenModel = (XCGameMemberTokenModel)(dicParas[Constant.XCGameMemberTokenModel]); MobileTokenModel mobileTokenModel = (MobileTokenModel)(dicParas[Constant.MobileTokenModel]); //根据终端号查询终端号是否存在 XCCloudService.BLL.IBLL.XCGameManager.IDeviceService deviceService = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGameManager.IDeviceService>(); var deviceModel = deviceService.GetModels(p => p.TerminalNo.Equals(terminalNo, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <XCCloudService.Model.XCGameManager.t_device>(); if (deviceModel == null) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "终端号不存在")); } StoreBusiness store = new StoreBusiness(); if (!store.IsEffectiveStore(deviceModel.StoreId, out xcGameDBName, out storePassword, out errMsg)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg)); } if (!deviceModel.StoreId.Equals(memberTokenModel.StoreId)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "会员令牌对应门店和设备不一致")); } //判断设备状态是否为启用状态 XCCloudService.BLL.IBLL.XCGame.IDeviceService ids = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IDeviceService>(xcGameDBName); var menlist = ids.GetModels(p => p.MCUID.Equals(deviceModel.DeviceId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <XCCloudService.Model.XCGame.t_device>(); if (menlist == null) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "设备不存在")); } if (menlist.state != "启用") { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "设备未启用")); } //验证缓存设备状态 if (DeviceStateBusiness.ExistDeviceState(deviceModel.StoreId, deviceModel.DeviceId)) { state = DeviceStateBusiness.GetDeviceState(deviceModel.StoreId, deviceModel.DeviceId); } if (state != "1") { stateName = DeviceStateBusiness.GetStateName(state); return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, stateName)); } //请求雷达处理存币 string action = ((int)(DevieControlTypeEnum.存币)).ToString(); string sn = UDPSocketAnswerBusiness.GetSN(); string orderId = System.Guid.NewGuid().ToString("N"); DeviceControlRequestDataModel deviceControlModel = new DeviceControlRequestDataModel(deviceModel.StoreId, mobileTokenModel.Mobile, memberTokenModel.ICCardId, menlist.segment, menlist.MCUID, action, 0, sn, orderId, storePassword, 0, ""); MPOrderBusiness.AddTCPAnswerOrder(orderId, mobileTokenModel.Mobile, 0, action, memberTokenModel.ICCardId, deviceModel.StoreId); IconOutLockBusiness.AddByNoTimeLimit(mobileTokenModel.Mobile); if (!DataFactory.SendDataToRadar(deviceControlModel, out errMsg)) { ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.F, "", Result_Code.T, errMsg); } //设置推送消息的缓存结构 string form_id = dicParas.ContainsKey("form_id") ? dicParas["form_id"].ToString() : string.Empty; SAppMessageMana.SetMemberCoinsMsgCacheData(SAppMessageType.MemberCoinsOperationNotify, orderId, form_id, mobileTokenModel.Mobile, null, out errMsg); return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.T, "")); } catch (Exception e) { throw e; } }