/// <summary> /// 绑定设备之前先验证设备是符合绑定的条件 /// </summary> /// <param name="user"></param> /// <param name="imei"></param> /// <returns></returns> public static Device preBindDevice(User user, string ip = "1.1.1.1") { Device _d = DeviceLogic.GetDeviceByUserId(user.Id); //验证设备是否存在 if (!string.IsNullOrWhiteSpace(user.IMEI) && _d == null) { //需先调用设备接口验证 DeviceCheckModel dcm = DeviceData.CheckDevice(user.IMEI, user.APIUserId ?? 0); if (dcm.State != 0 && dcm.State != 1105) { // res.State = State.Falid; string msg = dcm.Message; //res.Message = msg; // SaveUserLog(, LogLevel.Error, user.LoginName, "preBindDevice", "绑定该设备"); LogQueueInfo queue = new LogQueueInfo(); queue.IsSaveDB = true; queue.DbLog = new WebLog { Content = user.LoginName + "绑定设备失败:" + msg, Created = DateTime.Now, UserId = user.Id, UserName = user.LoginName, LogName = msg, LogLevel = (int)LogLevel.Sensitive, ClientIp = ip, Method = "preBindDevice" }; HWebQueue.LogQueue.Enqueue(queue); // return Json(res); return(null); } else { //添加设备表 Device d = new Device { UserId = 0, IconId = 3, Created = DateTime.Now, Imei = user.IMEI, Status = (int)Status.Normal, APIDeviceId = dcm.DeviceId, APIDeviceModel = dcm.Model }; DeviceLogic.SaveDevice(d); // SaveUserLog(AuthUser.LoginName + "为" + user.LoginName + "绑定设备:" + user.IMEI, LogLevel.Error, AuthUser.LoginName, "AjaxEditUser", "绑定设备"); return(d); } } return(null); }
/// <summary> /// 添加设备 /// </summary> /// <param name="imei"></param> /// <returns></returns> public JsonResult AjaxAddDevice(string imei) { BaseResult res = new BaseResult(); Device _d = DeviceLogic.GetDeviceByImei(imei); //验证设备是否存在 if (_d == null) { //需先调用设备接口验证 DeviceCheckModel dcm = DeviceData.CheckDevice(imei, 1); if (dcm.State != 0 && dcm.State != 1105) { // res.State = State.Falid; string msg = dcm.Message; res.Message = msg; res.State = State.Falid; //res.Message = msg; SaveUserLog(AuthUser.LoginName + "添加设备失败:" + msg, LogLevel.Error, AuthUser.LoginName, "AjaxAddDevice", "添加设备"); // return Json(res);; } else { //添加设备表 Device d = new Device { UserId = 0, IconId = 3, Created = DateTime.Now, Imei = imei, Status = (int)Status.Normal, APIDeviceId = dcm.DeviceId, APIDeviceModel = dcm.Model }; DeviceLogic.SaveDevice(d); SaveUserLog(AuthUser.LoginName + "添加了设备:" + imei, LogLevel.Info, AuthUser.LoginName, "AjaxAddDevice", "添加设备"); res.State = State.Success; res.Message = "添加成功"; //return Json(res); } } else { res.State = State.DeviceIn; res.Message = "设备已存在"; } return(Json(res)); }
/// <summary> /// 绑定设备之前先验证设备是符合绑定的条件 /// </summary> /// <param name="user"></param> /// <param name="imei"></param> /// <returns></returns> Device preBindDevice(User user) { Device _d = DeviceLogic.GetDeviceByUserId(user.Id); //验证设备是否存在 if (!string.IsNullOrWhiteSpace(user.IMEI) && _d == null) { //需先调用设备接口验证 DeviceCheckModel dcm = DeviceData.CheckDevice(user.IMEI, user.APIUserId ?? 0); if (dcm.State != 0 && dcm.State != 1105) { // res.State = State.Falid; string msg = dcm.Message; //res.Message = msg; SaveUserLog(AuthUser.LoginName + "绑定设备失败:" + msg, LogLevel.Error, AuthUser.LoginName, "preBindDevice", "绑定该设备"); // return Json(res); return(null); } else { //添加设备表 Device d = new Device { UserId = 0, IconId = 3, Created = DateTime.Now, Imei = user.IMEI, Status = (int)Status.Normal, APIDeviceId = dcm.DeviceId, APIDeviceModel = dcm.Model }; DeviceLogic.SaveDevice(d); // SaveUserLog(AuthUser.LoginName + "为" + user.LoginName + "绑定设备:" + user.IMEI, LogLevel.Error, AuthUser.LoginName, "AjaxEditUser", "绑定设备"); return(d); } } return(null); }
/// <summary> /// 提交用户设备绑定,解绑 /// </summary> /// <param name="imei"></param> /// <param name="type"></param> /// <param name="loginName"></param> /// <returns></returns> public JsonResult AjaxSubUD(string imei, int type, string loginName) { BaseResult res = new BaseResult(); //解绑 if (type == 1) { Device d = DeviceLogic.GetDeviceByImei(imei); if (d == null) { res.State = State.NotFind; res.Message = "该设备不存在!"; return(Json(res)); } User user = UserLogic.GetUserById(d.UserId); if (user != null) { BaseModel bm = DeviceData.UnBind(d.Imei); if (bm.State == 0) { d.UserId = 0; DeviceLogic.SaveDevice(d); SaveUserLog(AuthUser.LoginName + "将设备:" + d.Imei + ",从用户" + user.LoginName + "中解绑了。", LogLevel.Sensitive, AuthUser.LoginName, "AjaxSubUD", "解绑设备"); res.State = State.Success; res.Message = "解绑成功!"; } else { res.State = State.Falid; res.Message = "解绑失败:" + bm.Message; } } } //绑定 else if (type == 2) { User user = UserLogic.GetUser(loginName); if (user == null) { res.State = State.NotFind; res.Message = "用户不存在!"; return(Json(res)); } user.IMEI = imei; //准备绑定设备 Device d = preBindDevice(user); if (d != null) { BaseModel bm = DeviceData.BindDevice(d.APIDeviceId.Value, user.APIUserId.Value); if (bm.State != 0) { res.State = State.Falid; res.Message = "绑定失败:" + bm.Message; return(Json(res)); } d.UserId = user.Id; DeviceLogic.SaveDevice(d); SaveUserLog(AuthUser.LoginName + "将设备:" + d.Imei + "绑定到了用户" + loginName, LogLevel.Sensitive, AuthUser.LoginName, "AjaxSubUD", "删除设备"); res.State = 0; res.Message = "绑定成功!"; } else { res.State = State.Falid; res.Message = "设备验证失败"; } } else if (type == 3) { if (AuthUser.UserTypeId == 2 || AuthUser.UserTypeId == 1) { Device _d = DeviceLogic.GetDeviceByImei(imei); DeviceLogic.DelDevice(_d.Id); res.State = State.Success; res.Message = "删除设备成功!"; SaveUserLog(AuthUser.LoginName + "删除了设备:" + imei, LogLevel.Sensitive, AuthUser.LoginName, "AjaxSubUD", "删除设备"); } else { res.State = State.Falid; res.Message = "暂无删除设备的权限"; SaveUserLog(AuthUser.LoginName + "删除设备失败:" + imei, LogLevel.Sensitive, AuthUser.LoginName, "AjaxSubUD", "删除设备"); } } return(Json(res)); }
/// <summary> /// 注册提交 /// </summary> /// <param name="param"></param> /// <returns></returns> public JsonResult AjaxRegister(RegisterParam param) { BaseResult res = new BaseResult(); bool isRegister = true;//是否注册成功 //检查用户是否存在 if (UserLogic.ExistsLoginName(param.LoginName)) { res.State = State.ExistsLoginName; res.Message = "用户名已存在!"; isRegister = false; } else if (UserLogic.ExistsPhoneNum(param.Phone)) { res.State = State.NumIsRegister; res.Message = "手机号码已被注册!"; isRegister = false; } if (isRegister) { //先去设备平台注册 RegisterModel rm = UserData.Register(param.LoginName, param.Pwd, param.Phone, param.IMEI); if (rm.User == null) {//注册失败直接返回 res.State = State.Falid; res.Message = rm.Message; isRegister = false; return(Json(res)); } User _u = new User(); _u.UserName = param.LoginName; _u.LoginName = param.LoginName; _u.Pwd = Encryption.AESEncrypt(param.Pwd); _u.RegisterTime = DateTime.Now; _u.PhoneNum = param.Phone; _u.Status = (int)Status.Normal; _u.HeadImgId = ConstVal.DefaultHeadImgId; _u.UserTypeId = 4;//居民 _u.APIUserId = rm.User.UserId; _u.UserInfo = ""; _u.Sex = 1; int i = UserLogic.SaveUser(_u); if (i > 0) { res.State = State.Success; res.Message = "注册成功!"; if (!string.IsNullOrWhiteSpace(param.IMEI)) { //检查设备 DeviceCheckModel dcm = DeviceData.CheckDevice(param.IMEI, _u.APIUserId ?? 0); //添加设备表 Device d = new Device { UserId = _u.Id, IconId = 3, Created = DateTime.Now, Imei = param.IMEI, Status = (int)Status.Normal, APIDeviceId = dcm.DeviceId, APIDeviceModel = dcm.Model }; DeviceLogic.SaveDevice(d); } } else { res.State = State.Falid; res.Message = "注册失败!"; isRegister = false; } } //记录操作日志 SaveUserLog("注册账号" + (isRegister ? "成功" : "失败") + ":" + res.Message, LogLevel.Info, param.LoginName, "AjaxRegister", "注册账号"); return(Json(res)); }